圖解https傳輸過程及其原理

1.基礎(chǔ)知識

  • SSL:一般情況下,網(wǎng)站使用的都是明文方式傳輸數(shù)據(jù),但是在涉及到一些隱私信息時(如銀行交易),這個時候網(wǎng)站就會跳轉(zhuǎn)到 SSL,SSl的功能就是提供加密數(shù)據(jù)。這樣的話,TCP/IP協(xié)議只要做好的自己的事情,數(shù)據(jù)加密就全權(quán)委托給SSL協(xié)議完成

  • TLS:TLS是對SSL的擴展和優(yōu)化,他可以提供數(shù)據(jù)安全的同時,確保數(shù)據(jù)的完整性

  • HTTPS:超文本傳輸安全協(xié)議。就是http+ssl/tls,可以理解為安全版http

  • 對稱加密:對稱加密又叫做私鑰加密,即信息的發(fā)送方和接收方使用同一個密鑰去加密和解密數(shù)據(jù)

  • 非對稱加密:使用一對密鑰,即公鑰和私鑰,且二者成對出現(xiàn)。私鑰被自己保存,不能對外泄露。公鑰指的是公共的密鑰,任何人都可以獲得該密鑰。用公鑰或私鑰中的任何一個進行加密,用另一個進行解密。

  • 證書認證:個人生成的公鑰和私鑰是不被信任的,只有經(jīng)過CA認證后后才會被認為是可信任的密鑰。目前大多瀏覽器都內(nèi)置了國際知名CA的根證書中心,如果我們的密鑰被CA中心簽名過,那么就是合法的數(shù)字證書。但其CA驗證密鑰過程復(fù)雜,所以很多人使用自簽名的數(shù)字證書

小結(jié):很明顯非對稱加密安全是很高的,因為拿到其中一把鑰匙無法推算出另一把鑰匙,即使有人攔截了加密后的信息,是不可能解密的,甚至就是說加密者自己也無法解密,因為別人沒有密鑰,而加密者自己也僅僅擁有公鑰,非對稱加密使用的是公鑰加密和私鑰解密機制

2.圖解https傳輸過程

網(wǎng)絡(luò)來源.png

一步一步來:
1)客戶端發(fā)起https請求,連接到服務(wù)端的443端口

2)服務(wù)端采用的https有一套數(shù)字證書,這個證書可以自己配置,也可以像證書管理組織申請,證書的本質(zhì)是公鑰(發(fā)給任何人)和私鑰(腹服務(wù)端保留)

3)服務(wù)端將公鑰傳送證書傳遞給客戶端,證書中包含了很多信息,比如證書的頒發(fā)機構(gòu),過期時間,網(wǎng)址,公鑰等

4)客戶端解析證書,由客戶端的TLS完成,首先會驗證公鑰是否有效,比如頒發(fā)機構(gòu),過期時間等。如果有異常,就會彈出警告信息。(這個我們上網(wǎng)應(yīng)該遇到過,一般都是提示說該網(wǎng)站的證書不可信任,是否繼續(xù)啥的balabala,具體的記不清了)。證書沒問題后會隨機生成隨機值(這個很重要,用于對稱加密),然后使用第三步中的證書對這個隨機值進行非對稱加密

5)將證書非對稱加密后的隨機值傳到服務(wù)器

6)服務(wù)器使用私鑰對其進行非對稱解密后,得到客戶端的隨機值,然后把內(nèi)容通過該隨機值進行對稱加密

7)服務(wù)端將對稱加密后的信息發(fā)給客戶端

8)客戶端用之前的生成的隨機值來進行對稱解密,獲取內(nèi)容明文

總結(jié):在傳輸過程中,發(fā)起了兩次請求,用到了對稱加密和非對稱加密

?著作權(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)容