SSL握手協(xié)議是什么呢?
當(dāng)前網(wǎng)站應(yīng)用ssl證書變得越來越廣泛,HTTPS網(wǎng)站越來越多。當(dāng)點擊HTTPS鏈接的綠色小鎖,我們可以看見SSL證書的詳細(xì)信息。那ssl證書的認(rèn)證過程是怎樣的呢?
SSL有三個子協(xié)議:握手協(xié)議,記錄協(xié)議和警報協(xié)議。其中握手協(xié)議實現(xiàn)服務(wù)器與客戶端的認(rèn)證與密鑰交換,記錄協(xié)議進(jìn)行數(shù)據(jù)加密并保證數(shù)據(jù)的完整性,警報協(xié)議則規(guī)定了錯誤類型和處理機(jī)制。SSL雙向認(rèn)證的例子:
1.服務(wù)器用RSA生成公鑰和私鑰。
2.把公鑰放在證書里發(fā)送給客戶端,私鑰自己保存。
3.客戶端首先向一個權(quán)威的服務(wù)器檢查證書的合法性,如果證書合法,客戶端產(chǎn)生一段隨機(jī)數(shù),這個隨機(jī)數(shù)就作為通信的密鑰,我們稱之為對稱密鑰,用公鑰加密這段隨機(jī)數(shù),然后發(fā)送到服務(wù)器。
4.服務(wù)器用密鑰解密獲取對稱密鑰,然后,雙方就已對稱密鑰進(jìn)行加密解密通信了。
非對稱的RSA加密性能是非常低的,原因在于尋找大素數(shù)、大數(shù)計算、數(shù)據(jù)分割需要耗費很多的CPU周期,所以一般的HTTPS連接,只在第一次握手時使用非對稱加密,通過握手交換對稱加密密鑰,在之后的通信走對稱加密。