欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于HTTPS的加密流程詳解

 更新時間:2023年07月17日 08:31:45   作者:M??? ??.  
這篇文章主要介紹了關(guān)于HTTPS的加密流程詳解,http是為了解決http存在的問題而在http基礎(chǔ)上加入了SSL/TSL,在HTTP/2中TCP三次握手后會進(jìn)入SSL/TSL握手,當(dāng)SSL/TSL建立鏈接后,才會進(jìn)行報(bào)文的傳輸,需要的朋友可以參考下

HTTPS加密

HTTPS的混合加密

我們知道加密方式有三種

  • 對稱加密
  • 非對稱加密
  • 混合加密

HTTPS采用的就是對稱加密和非對稱加密的混合加密方法。

  • 混合加密解決了信息的機(jī)密性,防止數(shù)據(jù)被竊聽
  • 摘要算法實(shí)現(xiàn)了數(shù)據(jù)的完成性,防止了數(shù)據(jù)被篡改
  • 數(shù)字證書提供了身份驗(yàn)證,防止了被冒充風(fēng)險(xiǎn)

在通信建立前采用非對稱加密的方式交換「會話秘鑰」,后續(xù)就不再使用非對稱加密。

在通信過程中全部使用對稱加密的「會話秘鑰」的方式加密明文數(shù)據(jù)。

采用「混合加密」的方式的原因:

  • 對稱加密只使用一個密鑰,運(yùn)算速度快,密鑰必須保密,無法做到安全的密鑰交換。
  • 非對稱加密使用兩個密鑰:公鑰和私鑰,公鑰可以任意分發(fā)而私鑰保密,解決了密鑰交換問題但速度慢。

HTTPS  是如何建立連接的?

SSL/TLS 協(xié)議基本流程:

  • 客戶端向服務(wù)器索要并驗(yàn)證服務(wù)器的公鑰。
  • 雙方協(xié)商生產(chǎn)「會話秘鑰」。
  • 雙方采用「會話秘鑰」進(jìn)行加密通信。

前兩步也就是 SSL/TLS 的建立過程,也就是握手階段。

SSL/TLS 的「握手階段」涉及四次通信,可見下圖:

SSL/TLS 協(xié)議建立的詳細(xì)流程:

1. ClientHello

首先,由客戶端向服務(wù)器發(fā)起加密通信請求,也就是 ClientHello 請求。

在這一步,客戶端主要向服務(wù)器發(fā)送以下信息:

(1)客戶端支持的 SSL/TLS 協(xié)議版本,如 TLS 1.2 版本。

(2)客戶端生產(chǎn)的隨機(jī)數(shù)(Client Random),后面用于生產(chǎn)「會話秘鑰」。

(3)客戶端支持的密碼套件列表,如 RSA 加密算法。

2. SeverHello

服務(wù)器收到客戶端請求后,向客戶端發(fā)出響應(yīng),也就是 SeverHello。服務(wù)器回應(yīng)的內(nèi)容有如下內(nèi)容:

(1)確認(rèn) SSL/ TLS 協(xié)議版本,如果瀏覽器不支持,則關(guān)閉加密通信。

(2)服務(wù)器生產(chǎn)的隨機(jī)數(shù)(Server Random),后面用于生產(chǎn)「會話秘鑰」。

(3)確認(rèn)的密碼套件列表,如 RSA 加密算法。

(4)服務(wù)器的數(shù)字證書。

3.客戶端回應(yīng)

客戶端收到服務(wù)器的回應(yīng)之后,首先通過瀏覽器或者操作系統(tǒng)中的 CA 公鑰,確認(rèn)服務(wù)器的數(shù)字證書的真實(shí)性。

如果證書沒有問題,客戶端會從數(shù)字證書中取出服務(wù)器的公鑰,然后使用它加密報(bào)文,向服務(wù)器發(fā)送如下信息:

(1)一個隨機(jī)數(shù)(pre-master key)。該隨機(jī)數(shù)會被服務(wù)器公鑰加密。

(2)加密通信算法改變通知,表示隨后的信息都將用「會話秘鑰」加密通信。

(3)客戶端握手結(jié)束通知,表示客戶端的握手階段已經(jīng)結(jié)束。這一項(xiàng)同時把之前所有內(nèi)容的發(fā)生的數(shù)據(jù)做個摘要,用來供服務(wù)端校驗(yàn)。

上面第一項(xiàng)的隨機(jī)數(shù)是整個握手階段的第三個隨機(jī)數(shù),這樣服務(wù)器和客戶端就同時有三個隨機(jī)數(shù),接著就用雙方協(xié)商的加密算法,各自生成本次通信的「會話秘鑰」。

4. 服務(wù)器的最后回應(yīng)

服務(wù)器收到客戶端的第三個隨機(jī)數(shù)(pre-master key)之后,通過協(xié)商的加密算法,計(jì)算出本次通信的「會話秘鑰」。然后,向客戶端發(fā)生最后的信息:

(1)加密通信算法改變通知,表示隨后的信息都將用「會話秘鑰」加密通信。

(2)服務(wù)器握手結(jié)束通知,表示服務(wù)器的握手階段已經(jīng)結(jié)束。這一項(xiàng)同時把之前所有內(nèi)容的發(fā)生的數(shù)據(jù)做個摘要,用來供客戶端校驗(yàn)。

至此,整個 SSL/TLS 的握手階段全部結(jié)束。接下來,客戶端與服務(wù)器進(jìn)入加密通信,就完全是使用普通的 HTTP 協(xié)議,只不過用「會話秘鑰」加密內(nèi)容。

到此這篇關(guān)于關(guān)于HTTPS的加密流程詳解的文章就介紹到這了,更多相關(guān)HTTPS的加密流程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • windows下Idea使用git clone failed. Could not read from remote repository.

    windows下Idea使用git clone failed. Could not read from remote r

    這篇文章主要介紹了windows下Idea使用git clone failed. Could not read from remote repository.,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Sublime?Text?4怎么安裝使用

    Sublime?Text?4怎么安裝使用

    這篇文章主要介紹了Sublime?Text?4怎么安裝使用,下載對應(yīng)的安裝包,將該exe文件復(fù)制到對應(yīng)的sublime?text的安裝目錄下(與sublime_text.exe同級),右鍵管理員運(yùn)行即可,需要的朋友跟隨小編一起看看吧
    2022-01-01
  • VScode敲代碼時自動導(dǎo)入包的解決方案

    VScode敲代碼時自動導(dǎo)入包的解決方案

    這篇文章主要介紹了VScode敲代碼時自動導(dǎo)入包的解決方案,文中通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vscode具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 網(wǎng)站被等惡意鏡像的解決、反制措施詳細(xì)教程

    網(wǎng)站被等惡意鏡像的解決、反制措施詳細(xì)教程

    這篇文章主要介紹了網(wǎng)站被等惡意鏡像的解決、反制措施詳細(xì)教程,需要的朋友可以參考下
    2016-10-10
  • Scratch3.0初始化加載七牛云上的sbs文件的方法

    Scratch3.0初始化加載七牛云上的sbs文件的方法

    今天通過本文給大家介紹Scratch3.0初始化加載七牛云上的sbs文件的實(shí)例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-08-08
  • 老生常談Session和Cookie之間區(qū)別與聯(lián)系(必看篇)

    老生常談Session和Cookie之間區(qū)別與聯(lián)系(必看篇)

    下面小編就為大家分享一篇老生常談Session和Cookie之間區(qū)別與聯(lián)系,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • vs2019生成dll并調(diào)用的實(shí)現(xiàn)示例

    vs2019生成dll并調(diào)用的實(shí)現(xiàn)示例

    這篇文章主要介紹了vs2019生成dll并調(diào)用的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 在Visual Studio中使用GIT進(jìn)行源碼管理

    在Visual Studio中使用GIT進(jìn)行源碼管理

    這篇文章介紹了在Visual Studio中使用GIT進(jìn)行源碼管理的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • HTTP協(xié)議入門_動力節(jié)點(diǎn)Java學(xué)院整理

    HTTP協(xié)議入門_動力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了HTTP協(xié)議入門的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 使用git?config?--global設(shè)置用戶名和郵件問題

    使用git?config?--global設(shè)置用戶名和郵件問題

    這篇文章主要介紹了使用git?config?--global設(shè)置用戶名和郵件問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評論