網(wǎng)站通知系統(tǒng)推廣公司哪家好
《深入淺出HTTPS??????????》讀書筆記(22):密鑰協(xié)商算法
密鑰的管理和分配是個難題,尤其是生成一個動態(tài)密鑰更難,而密鑰協(xié)商算法就可以解決密鑰分配、存儲、傳輸?shù)葐栴}。
在網(wǎng)絡通信中,為了加密解密數(shù)據(jù),可以采用動態(tài)密鑰,也叫作會話密鑰,這個密鑰有以下一些特點:
◎會話密鑰的作用就是為了加密解密通信數(shù)據(jù)
◎在加密解密通信數(shù)據(jù)之前,客戶端和服務器端需要協(xié)商出會話密鑰
◎會話密鑰的意思就是該密鑰不用存儲,一旦客戶端和服務器端的連接關閉,該密鑰就會消失
【RSA密鑰協(xié)商算法】
◎客戶端初始化連接服務器端,服務器發(fā)送RSA密鑰對的公鑰給客戶端。
◎客戶端生成一個隨機值,這個值必須是隨機的
◎客戶端使用服務器RSA密鑰對的公鑰加密會話密鑰,并發(fā)送給服務器端,由于攻擊者沒有服務器的私鑰,所以無法解密會話密鑰。
◎服務器端用它的私鑰解密出會話密鑰。
◎至此雙方完成連接,接下來服務器端和客戶端可以使用對稱加密算法和會話密鑰加密解密數(shù)據(jù)。
RSA密鑰協(xié)商算法有幾個優(yōu)點:
◎每次連接階段的會話密鑰是不同的,無須存儲到設備中,連接關閉后會話密鑰就會消失。
◎每次連接中的會話密鑰是不同的
◎雖然RSA運算很慢,但由于會話密鑰長度相對很小,計算的是數(shù)據(jù)量并不大,所以性能消耗相對可控。
HTTPS本身也是借鑒了這個方案,只是在設計上更嚴謹。
RSA密鑰協(xié)商算法也有缺點:
◎獲取會話密鑰過程其實并不能稱為協(xié)商,完全是由客戶端決定的,只能稱為密鑰傳輸。
◎最大的問題就是不能提供前向安全性。