寫一篇最好懂的https講解
- 掌握它的整體工作流程、它為什么能夠保證網(wǎng)絡(luò)通信的安全
- 先搞清兩個(gè)概念:對(duì)稱加密與非對(duì)稱加密。對(duì)稱加密,加解密使用同個(gè)密鑰;特點(diǎn):加解密效率高,密鑰被竊有風(fēng)險(xiǎn);代表:AES、DES。非對(duì)稱加密,使用公鑰進(jìn)行加密的數(shù)據(jù),使用私鑰才能解密;特點(diǎn):安全性高,不用擔(dān)心被破解,加密效率較差;代表:RSA、ElGamal
- http傳輸面臨的風(fēng)險(xiǎn):
- 容易在傳輸過程中被監(jiān)聽、竊取、篡改,導(dǎo)致客戶端與服務(wù)端收發(fā)內(nèi)容不一致;
- 若使用對(duì)稱加密,沒有時(shí)機(jī)能安全地商定密鑰;
- 若首次使用非對(duì)稱加密商定密鑰,隨后用對(duì)稱加密傳輸,需要應(yīng)對(duì)公鑰被替換的問題;
- 引入CA機(jī)構(gòu),給各個(gè)網(wǎng)站辦法證書(包含公鑰與輔助校驗(yàn)信息,如域名);
事前:
網(wǎng)站方,將公鑰+輔助校驗(yàn)信息,提供給CA機(jī)構(gòu)生成證書,通過CA私鑰加密得到加密后數(shù)據(jù),交給網(wǎng)站方配置到服務(wù)器。
請(qǐng)求中:
網(wǎng)站方,將保存的CA加密數(shù)據(jù)發(fā)送給客戶端,讓它用CA公鑰進(jìn)行解密,成功則得到證書(含公鑰與輔助校驗(yàn)信息)
操作系統(tǒng):
會(huì)將主流CA機(jī)構(gòu)公鑰內(nèi)置,不用額外獲取,解密時(shí)遍歷系統(tǒng)中的CA公鑰,又一個(gè)能正常解密則為合法
另外:
證書中包含的域名與瀏覽器正請(qǐng)求的域名不同也會(huì)觸發(fā)異常