有兩種加密方法經常在SSL生態系統中被說起——非對稱加密與對稱加密。瀏覽器
當你瀏覽一個使用SSL證書的網站時,你瀏覽器作的第一件事就是和帶着證書的服務器實行SSL握手。安全
這個SSL握手是瀏覽器查看SSL證書有效性和磋商加密連接細節的關鍵一環。這一過程在幾毫秒的時間裏完成。服務器
瀏覽器肯定證書籤發自可信CA、依舊有效且沒有被撤回後,還要確保有問題的證書是其相應公鑰的合法全部者。性能
你可能據說過公鑰私鑰。公鑰更易識別,常見的有2048位簽名密鑰。數字越大,密鑰越複雜。網站
公鑰私鑰是非對稱加密的典型例子。公鑰負責加密,私鑰負責解密。使用非對稱加密,鏈接方式只有一條路。加密
瀏覽器使用非對稱加密來驗證公私鑰對,以及擴展證書自己。爲此,瀏覽器將使用隨時可用的公鑰來加密一小撮一次性數據。 若是服務器可以解密這個數據並以明文形式發回,那麼它證實了它的私鑰對應於公鑰。spa
至此,瀏覽器和服務器能夠開始他們的加密連接了。3d
在SSL握手期間使用非對稱加密做爲一種驗證方法以後,瀏覽器和服務器協商加密鏈接的條款並交換所謂的會話密鑰。blog
會話密鑰提供了一種在安全會話期間用於通訊的對稱加密形式。 而私鑰一般是2048位(偶爾有4096或1024),會話密鑰每每較小,這也意味着不太安全。it
但不用擔憂,即便在128/256位,會話密鑰仍然須要專用超級計算機工做多年,才能加密可能被破解。 換句話說,會話密鑰仍然很是安全。
究其緣由,大小差別僅僅是速度和性能。 在某些狀況下,2048位密鑰可能更繁瑣。 128/256-bit的強度仍然足夠,可是在加密鏈接期間容許更好的性能,這是一個重要的因素。
使用對稱加密,密鑰能夠執行兩種功能:既能夠加密,也能夠解密。 這使得擁有相應會話密鑰的客戶端和服務器可以安全地進行通訊。 畢竟,沒有正確的鑰匙,沒有人能夠監視這個鏈接,無論第三方,不管多麼複雜 。
會話密鑰在加密鏈接的整個持續時間內保持活動狀態。 在鏈接結束時密鑰被丟棄,而且在下一次訪問時生成新的密鑰。 這很簡單,但至關有效。
如你所見,對稱或非對稱密鑰的運做方式不一樣,一種容許雙方進行加密和解密,另外一種則是單方面通訊。但二者都是SSL的組成部分。非對稱加密有助於在SSL握手期間驗證公鑰/私鑰對的全部權,而對稱加密是在安全鏈接期間用於實際通訊的方法。