https協(xié)議的加密

https的加密過程

明文、密文、密鑰、對稱加密(私鑰)和非對稱加密(一對,公鑰或私鑰)

  • https握手過程
    1、首先服務端有一對密鑰(公鑰和私鑰用于非對稱加密),客戶端發(fā)起經(jīng)過443端口發(fā)起https請求
    2、服務端向客戶端發(fā)送公鑰,客戶端接受到公鑰后會鑒定是否是合法的公鑰,合法后生成一個隨機的客戶端密鑰(用于對稱加密),將該密鑰通過服務端給的公鑰進行加密后發(fā)給服務端
    3、服務端用自己的私鑰進行解密,得到用于對稱加密的客戶端密鑰
    這樣既保護了密鑰,又可以用對稱加密算法來獲取更快的加密解密速度。
TSL層內(nèi)置于應用層和TCP層之間

1、1.2版本是通過1.5個RTT進行連接,通過3個隨機數(shù)和證書建立安全連接
2、1.3版本是通過DH算法,通過1個RTT進行安全連接,是2個隨機數(shù),結(jié)合初始的共有兩個數(shù)計算出私鑰

驗證公鑰合法

https://blog.csdn.net/zysgdhf4253/article/details/80577574
鑒定合法 其中第二步,客戶端需要通過證書來鑒定服務端的公鑰是否合法,因為服務端的公鑰可能是偽造的(公鑰加密 私鑰解密; 私鑰加簽 公鑰驗簽)。

1、頒發(fā)證書(CA)的機構(gòu)默認是可靠的,只有那么少數(shù)幾家,可以理解為他們是根證書,而根證書以及他們的公鑰會被內(nèi)置到操作系統(tǒng),所以每個人的電腦上都有根證書,而下面還有樹形結(jié)構(gòu)的其他被授權(quán)的證書機構(gòu),但是根都是要從這幾家進行頒發(fā)的
2、當你的作為一個服務端需要一個證書,那么就把你的公鑰和host地址發(fā)送到上級的CA機構(gòu),這里假設為一級機構(gòu),它會將你的信息添加到自己的證書上,并用自己的私鑰進行簽名,變成一個新的證書發(fā)送給你,而一級機構(gòu)的證書是由根CA機構(gòu)這樣頒發(fā)的(它的信息被根CA用私鑰進行了簽名)。
3、服務端發(fā)送公鑰給客戶端的時候會攜帶證書,客戶端可以在證書中找到根CA機構(gòu),并在電腦的操作系統(tǒng)中找到根CA是公鑰,對證書驗簽,證明一級機構(gòu)的證書是由根CA證書頒發(fā)的,再用一級機構(gòu)的證書的公鑰給服務器的證書驗簽,證明服務器的證書是由一級機構(gòu)頒發(fā)的,也就證明了服務端的證書是可靠的。

注意:

  • 證書可以自簽名(自己做CA),但是不受信任,因為瀏覽器并沒有內(nèi)置你的證書公鑰
  • 驗證過程可能會出現(xiàn) 證書的盜用的或證書是不受信任的兩種警告
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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