日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[信息安全] 3.HTTPS工作流程

發布時間:2023/12/4 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [信息安全] 3.HTTPS工作流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0. 簡單回顧

在前面兩篇博客中介紹了密碼相關的一些基本工具,包括(對稱密碼,公鑰密碼,密碼散列函數,混合密碼系統,消息認證碼碼,數字簽名,偽隨機數,數字證書)這幾個。其中它們之間也是互相依賴的,我們來簡單的梳理一下它們的依賴關系。

  • 對稱密碼:無。

  • 公鑰密碼:無。

  • 密碼散列函數:無。

  • 偽隨機數:可以利用密碼散列函數來實現,也可以不使用。

  • 混合密碼系統:對稱密碼 + 公鑰密碼 + 密碼散列函數。

  • 消息認證碼:密碼散列函數 + 對稱密碼。

  • 數字簽名:密碼散列函數 + 公鑰密碼。

  • 數字證書:公鑰密碼 + 數字簽名。

  • 這篇要介紹的HTTPS,則把以上這些全都派上場了。

    1. HTTPS 簡史

    在早期HTTP誕生的這幾年間,1990年~·1994年,HTTP作為一個應用層協議,它是這樣工作的:

    后來網景公司開發了SSL(Secure Sockets Layer)技術,然后它就變成了這樣的HTTP,也就是HTTPS了:

    后來爆發了與IE的世紀大戰,網景敗北,SSL移交給了IETF(Internat Engineering Task Force)互聯網工程任務組,標準化之后變成了現在的TLS,現在一般會把它們兩個放在一起稱為SSL/TLS。本篇并不關注SSL/TLS具體是如何工作的,只是抽象的解釋下HTTPS的一個工作流程。

    2. HTTPS 工作流程

  • Client發起一個HTTPS(https:/demo.linianhui.dev)的請求,根據RFC2818的規定,Client知道需要連接Server的443(默認)端口。

  • Server把事先配置好的公鑰證書public key certificate)返回給客戶端。

  • Client驗證公鑰證書:比如是否在有效期內,證書的用途是不是匹配Client請求的站點,是不是在CRL吊銷列表里面,它的上一級證書是否有效,這是一個遞歸的過程,直到驗證到根證書(操作系統內置的Root證書或者Client內置的Root證書)。如果驗證通過則繼續,不通過則顯示警告信息。

  • Client使用偽隨機數生成器生成加密所使用的會話密鑰,然后用證書的公鑰加密這個會話密鑰,發給Server。

  • Server使用自己的私鑰private?key)解密這個消息,得到會話密鑰。至此,Client和Server雙方都持有了相同的會話密鑰

  • Server使用會話密鑰加密“明文內容A”,發送給Client。

  • Client使用會話密鑰解密響應的密文,得到“明文內容A”。

  • Client再次發起HTTPS的請求,使用會話密鑰加密請求的“明文內容B”,然后Server使用會話密鑰解密密文,得到“明文內容B”。

  • 簡單總結下,HTTPS是使用了證書的一個混合密碼系統,其中證書的作用在于傳遞會話密鑰,以及驗證網站的真實性;而HTTPS真正的加密操作是由對稱密碼這個工具負責的(有興趣的可以找找每個步驟中都用到了密碼工具箱中的那些工具)。在windows系統中,可以配置一個名為?SSLKEYLOGFILE?的環境變量,Chrome和Firefox在訪問HTTPS站點的時候,會把第4步生成的會話密鑰以及其他附屬信息,寫入到這個文件中:

    比如下圖:

    具體的格式可以參考MDN的一個說明https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format。

    以上只是一個抽象的HTTPS的一個工作流程,實際上SSL/TLS所做的工作遠不止這這些,更詳細的解釋請參考這篇文章:http://www.infoq.com/cn/articles/HTTPS-Connection-Jeff-Moser。

    如有錯誤之處,歡迎指正!

    3. 參考

    SSL/TLS:https://en.wikipedia.org/wiki/Transport_Layer_Security

    IETF:https://en.wikipedia.org/wiki/Internet_Engineering_Task_Force

    HTTPS:https://en.wikipedia.org/wiki/HTTPS

    HTTPS 連接最初的若干毫秒:http://www.infoq.com/cn/articles/HTTPS-Connection-Jeff-Moser

    HTTPS on Stack Overflow: The End of a Long Road:https://nickcraver.com/blog/2017/05/22/https-on-stack-overflow/

    SSL/TLS部署最佳實踐:https://github.com/ssllabs/research/wiki/SSL-and-TLS-Deployment-Best-Practices

    HTTP Over TLS:https://tools.ietf.org/html/rfc2818

    SSLKEYLOGFILE:https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format

    原文地址:http://www.cnblogs.com/linianhui/p/security-https-workflow.html


    .NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的[信息安全] 3.HTTPS工作流程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。