伺服器證書:
**向ca機構申請的證書,儲存在伺服器中,當瀏覽器發起請求時,會把伺服器證書傳送給瀏覽器
伺服器證書包含以下資訊:持有者姓名、發證機關(issuer)、有效日期、證書持有人的公鑰、擴充套件資訊、數字簽名(用發證機關的私鑰對前五點資訊簽名)
ca根證書:
瀏覽器中內建了主流ca機構的根證書,根證書中包含ca機構的公鑰,此公鑰和伺服器證書中數字簽名用到的私鑰是一對
它的作用是驗證伺服器中的數字簽名,防止證書內容篡改
流程:
在通過對https的建立過程(ssl建立安全會話的過程)進行了解學習後,對客戶端、伺服器、ca三方在這個過程中的互動做了乙個簡單的圖。因為涉及的東西較多,下面只對建立過程進行乙個整體認識。
另乙個圖
其實客戶端生成隨機數密碼(對稱金鑰/協商金鑰)依賴於隨機數random_c、隨機數random_s、隨機數pre-master。
此外,伺服器還有乙個對對稱金鑰的驗證過程。
根據進一步學習了解,繪製了個比前面「乙個圖」複雜但是更準確點的「另乙個圖」。
伺服器和客戶端的驗證過程其實就是使用hash演算法計算握手資訊,並使用對稱金鑰解密對方發過來的資訊,對兩者進行比較,如果一致則說明己方的對稱金鑰跟對方是一致的,即正確的。
(這裡的握手資訊指的是雙方的通訊資訊/引數,是雙方都存有的資料。)
一開始客戶端和伺服器協商的加密演算法其實是乙個加密套件,其中包括了認證演算法 au (身份驗證)、金鑰交換演算法 keyexchange(金鑰協商)、對稱加密演算法 enc (資訊加密)和資訊摘要 mac(完整性校驗)。
HTTPS請求過程
瀏覽器將自己支援的一套加密演算法給服務端 服務端從中選出一組加密演算法與hash演算法,將自己的身份資訊以證書的形式發回瀏覽器,證書中包括服務端 加密公鑰及證書頒發機構等資訊 瀏覽器收到訊息後作如下操作 如果證書受信任,或者使用者接受不受信任的證書,瀏覽器生成一串隨機數的密碼 對稱秘鑰 使用證書中的...
請描述https的請求過程。
客戶端向伺服器發起https請求,連線到伺服器的443埠 伺服器端有乙個金鑰對,即公鑰 即數字證書 和私鑰,是用來進行非對稱加密使用的,伺服器端儲存著私鑰,不能將其洩露,公鑰可以傳送給任何人 伺服器將自己的公鑰傳送給客戶端 客戶端收到伺服器端的公鑰之後,檢查其合法性,如果發現發現公鑰有問題,那麼ht...
請描述https的請求過程
1 客戶端向伺服器發起https請求,連線到伺服器的443埠 2 伺服器端有乙個金鑰對,即公鑰 即數字證書 和私鑰,是用來進行非對稱加密使用的,伺服器端儲存著私鑰,不能將其洩露,公鑰可以傳送給任何人 3 伺服器將自己的公鑰傳送給客戶端 4 客戶端收到伺服器端的公鑰之後,檢查其合法性,如果發現發現公鑰...