網(wǎng)絡(luò)相關(guān)-HTTPS、對稱加密、非對稱加密


一、HTTPS和HTTP的區(qū)別
HTTPS協(xié)議 = HTTP協(xié)議 + SSL/TLS協(xié)議
SSL的全稱是Secure Sockets Layer,即安全套接層協(xié)議,是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS的全稱是Transport Layer Security,即安全傳輸層協(xié)議。
即HTTPS是安全的HTTP。

二、HTTPS的連接建立流程
HTTPS為了兼顧安全與效率,同時使用了對稱加密和非對稱加密。在傳輸?shù)倪^程中會涉及到三個密鑰:

服務(wù)器端的公鑰和私鑰,用來進行非對稱加密

客戶端生成的隨機密鑰,用來進行對稱加密

如上圖,HTTPS連接過程大致可分為八步:

1、客戶端訪問HTTPS連接。
客戶端會把安全協(xié)議版本號、客戶端支持的加密算法列表、隨機數(shù)C發(fā)給服務(wù)端。

2、服務(wù)端發(fā)送證書給客戶端
服務(wù)端接收密鑰算法配件后,會和自己支持的加密算法列表進行比對,如果不符合,則斷開連接。否則,服務(wù)端會在該算法列表中,選擇一種對稱算法(如AES)、一種公鑰算法(如具有特定秘鑰長度的RSA)和一種MAC算法發(fā)給客戶端。
服務(wù)器端有一個密鑰對,即公鑰和私鑰,是用來進行非對稱加密使用的,服務(wù)器端保存著私鑰,不能將其泄露,公鑰可以發(fā)送給任何人。
在發(fā)送加密算法的同時還會把數(shù)字證書和隨機數(shù)S發(fā)送給客戶端

3、客戶端驗證server證書
會對server公鑰進行檢查,驗證其合法性,如果發(fā)現(xiàn)發(fā)現(xiàn)公鑰有問題,那么HTTPS傳輸就無法繼續(xù)。

4、客戶端組裝會話秘鑰
如果公鑰合格,那么客戶端會用服務(wù)器公鑰來生成一個前主秘鑰(Pre-Master Secret,PMS),并通過該前主秘鑰和隨機數(shù)C、S來組裝成會話秘鑰

5、客戶端將前主秘鑰加密發(fā)送給服務(wù)端
是通過服務(wù)端的公鑰來對前主秘鑰進行非對稱加密,發(fā)送給服務(wù)端

6、服務(wù)端通過私鑰解密得到前主秘鑰
服務(wù)端接收到加密信息后,用私鑰解密得到主秘鑰。

7、服務(wù)端組裝會話秘鑰
服務(wù)端通過前主秘鑰和隨機數(shù)C、S來組裝會話秘鑰。
至此,服務(wù)端和客戶端都已經(jīng)知道了用于此次會話的主秘鑰。

8、數(shù)據(jù)傳輸
客戶端收到服務(wù)器發(fā)送來的密文,用客戶端密鑰對其進行對稱解密,得到服務(wù)器發(fā)送的數(shù)據(jù)。
同理,服務(wù)端收到客戶端發(fā)送來的密文,用服務(wù)端密鑰對其進行對稱解密,得到客戶端發(fā)送的數(shù)據(jù)。

總結(jié):
會話秘鑰 = random S + random C + 前主秘鑰

HTTPS連接建立過程使用非對稱加密,而非對稱加密是很耗時的一種加密方式
后續(xù)通信過程使用對稱加密,減少耗時所帶來的性能損耗
其中,對稱加密加密的是實際的數(shù)據(jù),非對稱加密加密的是對稱加密所需要的客戶端的密鑰。
三、對稱加密和非對稱加密
1、對稱加密
用同一套密鑰來進行加密解密。
對稱加密通常有 DES,IDEA,3DES 加密算法。

2、非對稱加密
用公鑰和私鑰來加解密的算法。
公鑰(Public Key)與私鑰(Private Key)是通過一種算法得到的一個密鑰對(即一個公鑰和一個私鑰),公鑰是密鑰對中公開的部分,私鑰則是非公開的部分,私鑰通常是保存在本地。

用公鑰進行加密,就要用私鑰進行解密;反之,用私鑰加密,就要用公鑰進行解密(數(shù)字簽名)。

由于私鑰是保存在本地的,所以非對稱加密相對與對稱加密是安全的。
但非對稱加密比對稱加密耗時(100倍以上),所以通常要結(jié)合對稱加密來使用。

常見的非對稱加密算法有:RSA、ECC(移動設(shè)備用)、Diffie-Hellman、El Gamal、DSA(數(shù)字簽名用)

而為了確??蛻舳四軌虼_認公鑰就是想要訪問的網(wǎng)站的公鑰,引入了數(shù)字證書的概念,由于證書存在一級一級的簽發(fā)過程,所以就出現(xiàn)了證書鏈,在證書鏈中的頂端的就是根CA

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