Https原理

一、加密算法

對稱加密:加密和解密使用同一個密鑰

非對稱加密:分為私鑰和公鑰,由私鑰加密的數(shù)據(jù)只能由公鑰解密,由公鑰加密的數(shù)據(jù)只能由私鑰解密,且先有的私鑰,公鑰只能由私鑰生成

對比:對稱加密效率更高,非對稱加密安全性更高

二、https原理

1.為啥用https?
http使用明文傳輸,容易被竊取和篡改;
https會對數(shù)據(jù)進行加密,傳輸?shù)氖敲芪模影踩?/p>

2.使用對稱加密?
NO,密鑰很容易被盜取

3.使用非對稱加密?
NO,效率低

4.最佳方案?
??兩者結(jié)合,服務(wù)端持有私鑰,訪問端持有公鑰,隨機生成一個“密鑰”,一方加密,另一方解密,雙方協(xié)商好“密鑰”后,就可以放心進行對稱加密了。

5.訪問端的公鑰怎么來的?
??首先訪問端可能是瀏覽器,也可能是客戶端,瀏覽器不可能事先保存所有網(wǎng)站的公鑰,客戶端也不可能把公鑰寫進代碼,很容易被反編譯拿到,所以這個公鑰應(yīng)該是由服務(wù)器返回的,而且還能動態(tài)更新。

但是服務(wù)器返回的公鑰有被篡改的風(fēng)險,訪問端一旦使用了假的公鑰進行加密,傳輸?shù)臄?shù)據(jù)就能被人以假的私鑰解密。

6.那么如何保證公鑰的正確性?
??訪問端判斷不了公鑰是否正確,因此需要引入第三方來幫助判斷,也就是CA機構(gòu)(數(shù)字證書認證機構(gòu))。具體原理是這樣的:

1、服務(wù)器相關(guān)人員拿著公鑰和money去向CA機構(gòu)申請證書
2、CA機構(gòu)將公鑰、域名、有效期等信息,通過CA機構(gòu)自己的私鑰進行加密,加密后的數(shù)據(jù)就是證書,交給服務(wù)器保管好
3、訪問端向服務(wù)器發(fā)起https連接時,服務(wù)器將證書傳送到訪問端
4、訪問端使用自己內(nèi)置的CA機構(gòu)公鑰(瀏覽器、pc、手機等都會在系統(tǒng)預(yù)置所有CA機構(gòu)的公鑰)對證書進行解密,如果解密成功,就能拿到正確的公鑰,不成功則斷開連接
5、拿到公鑰之后進行協(xié)商密鑰,傳輸數(shù)據(jù)等流程..
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容