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