SSL四次握手

SSL類似于TCP的三次握手,在HTTP鏈接建立之前進(jìn)行四次握手,從而客戶度和服務(wù)端溝通好HTTP傳輸時(shí)對(duì)稱加密的密鑰,大致過程如下圖:


image.png

1、客戶端請(qǐng)求建立SSL鏈接,并向服務(wù)端發(fā)送一個(gè)隨機(jī)數(shù)–Client random和客戶端支持的加密方法,比如RSA公鑰加密,此時(shí)是明文傳輸。

2、服務(wù)端回復(fù)一種客戶端支持的加密方法、一個(gè)隨機(jī)數(shù)–Server random、授信的服務(wù)器證書和非對(duì)稱加密的公鑰。

3、客戶端收到服務(wù)端的回復(fù)后利用服務(wù)端的公鑰,加上新的隨機(jī)數(shù)–Premaster secret 通過服務(wù)端下發(fā)的公鑰及加密方法進(jìn)行加密,發(fā)送給服務(wù)器。

4、服務(wù)端收到客戶端的回復(fù),利用已知的加解密方式進(jìn)行解密,同時(shí)利用Client random、Server random和Premaster secret通過一定的算法生成HTTP鏈接數(shù)據(jù)傳輸?shù)膶?duì)稱加密key – session key。

此后的HTTP鏈接數(shù)據(jù)傳輸即通過對(duì)稱加密方式進(jìn)行加密傳輸。

再來看看非對(duì)稱加密,非對(duì)稱加密有兩個(gè)密鑰,公鑰和私鑰,公鑰公開,私鑰私有。
非對(duì)稱加密的例子
加密:
A想要傳輸信息給B,那么B首先生成公鑰和私鑰,公鑰發(fā)送給A,私鑰保留,A收到B的公鑰之后,將信息利用公鑰加密,然后傳輸給B,B通過私鑰解密。
防止篡改:
B想要給A發(fā)送一個(gè)證明,那么B首先生成公鑰和私鑰,利用私鑰加密證明生成加密文件,然后將證明和加密文件以及公鑰一同發(fā)送給A,A收到之后,利用公鑰將加密文件解密,然后對(duì)比證明,如果相同,則可以認(rèn)為證明沒有被篡改過。

[1]http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

[2]http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 互聯(lián)網(wǎng)的通信安全,建立在SSL/TLS協(xié)議之上。 本文簡(jiǎn)要介紹SSL/TLS協(xié)議的運(yùn)行機(jī)制。文章的重點(diǎn)是設(shè)計(jì)思想和...
    拉肚閱讀 2,996評(píng)論 0 6
  • 一、作用 不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文傳播,帶來了三大風(fēng)險(xiǎn)。 (1)竊聽風(fēng)險(xiǎn)...
    XLsn0w閱讀 11,058評(píng)論 2 44
  • 目錄 準(zhǔn)備 分析2.1. 三次握手2.2. 創(chuàng)建 HTTP 代理(非必要)2.3. TLS/SSL 握手2.4. ...
    RunAlgorithm閱讀 39,034評(píng)論 12 117
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • 原文地址 http://blog.csdn.net/u012409247/article/details/4985...
    0fbf551ff6fb閱讀 3,690評(píng)論 0 13

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