https概念
1)客戶端發起https請求
客戶端或者瀏覽器向伺服器傳送https請求
2)伺服器本身儲存私鑰和證書
利用相應命令在服務端本地生成私鑰檔案;
利用私鑰檔案生成證書請求檔案,向證書頒發機構申請證書。
也可以利用私鑰檔案,生成自簽發證書,但不會通過客戶端合法性驗證。
3)伺服器將公鑰返回給客戶端
https的伺服器端都有一套證書,可以自己生成,可以向授信公司或者組織申請花錢購買,區別就是不花錢瀏覽會彈出來警告,新增信任或者例外就可以了。
4)瀏覽器接收到伺服器公鑰
瀏覽器收到公鑰後會對公鑰進行一系列的驗證,如:頒發機構,過期時間等等。
認證失敗會有警告,比如上面說的我們自己生成的證書。
成功的話,會生成乙個隨機值作為對稱加密的金鑰稍後還會提及到。
用伺服器返回的公鑰對這個隨機值進行加密。
5)客戶端公鑰加密隨機值傳輸
客戶端會利用隨機產生的值作為對稱加密金鑰,然後利用從服務端獲取的公鑰將對稱金鑰加密,傳輸給服務端。
6)伺服器獲取對稱加密演算法解密資料
伺服器利用私鑰解密客戶端公鑰加密的資料,獲得隨機值資訊,利用隨機值作為對稱加密金鑰,加密服務端響應給客戶端的資料資訊。
7)伺服器傳輸加密響應報文資料
伺服器利用隨機值作為對稱加密金鑰,加密http響應報文資訊,並傳輸給客戶端。
8)客戶端解密資料完成訪問
客戶端利用隨機值作為對稱加密金鑰解密響應報文資料,獲取http響應報文資料資訊。
完成https訪問**流程
Https協議原理
對稱加密 加密和解密同用乙個金鑰 非對稱加密 公開金鑰加密使用一對非對稱的金鑰。一把叫做私有金鑰,另一把叫做公開金鑰 使用公開金鑰加密方式,傳送密文的一方使用對方的公開金鑰進行加密處理,對方收到被加密的資訊後,再使用自己的私有金鑰進行解密 tls ssl 其利用非對稱加密實現身份認證和金鑰協商,對稱...
HTTPS協議互動過程
在https協議中,第一步a作為客戶端去獲取b作為 的公鑰 b public key 怎麼獲取?如果我們認為網路不可信,那麼我們就需要找乙個可信的中間人,第三方權威機構g,由它來證明,我們 b返回客戶端a的公鑰 b public key 的確來自於b,中間沒有被其他人篡改。這意味著 b不能直接返回自...
HTTPS協議原理透析
3 加密鏈結建立的核心基礎是ssl tls的握手過程,這個過程要比tcp協議建立鏈結的3次握手過程複雜一些。參考了wikipedia中描述的過程自己大概整理了一下這個握手過程,大概是下面這個樣子的 4 從上面的這個過程可以總結一下這個安全鏈結建立的過程 client和server通訊為了保證安全性,...