勵志

勵志人生知識庫

https互動流程

HTTPS的互動流程大致可以分為以下幾個步驟:

客戶端發起HTTPS請求。當用戶在瀏覽器中輸入一個HTTPS網址時,客戶端會向伺服器傳送一個請求,這個請求包括SSL/TLS版本、加密算法、密鑰交換算法、MAC算法等信息,以及一個隨機數。

伺服器回應。伺服器接收到客戶端的請求後,確定本次通信採用的SSL/TLS版本和加密套件,然後選擇一種加密算法和HASH算法,並將攜帶自己公鑰信息的數字證書通過Certificate訊息傳送給客戶端。

客戶端驗證證書並生成密鑰。客戶端收到伺服器的數字證書後,會驗證證書的合法性,包括頒發證書的機構是否合法、證書是否過期、證書中包含的網站地址是否與正在訪問的地址一致等。如果證書驗證通過,客戶端會生成一串隨機數,用於後續進行對稱加密,然後用證書中的公鑰加密這個隨機數。

客戶端傳送密鑰。客戶端使用已互動的握手訊息的Hash值,利用協商好的密鑰和加密套件處理Hash值(計算並添加MAC值、加密等),傳送給SSL伺服器。

伺服器解密密鑰。伺服器利用同樣的方法計算已互動的握手訊息的Hash值,並與Finished訊息的解密結果比較,如果二者相同,且MAC值驗證成功,則證明密鑰和加密套件協商成功。

以上步驟完成後,客戶端和伺服器之間就建立了一個安全的通信管道,可以進行加密通信了。