圖解SSL/TLS協議

jopen 8年前發布 | 10K 次閱讀 網絡技術

一、SSL協議的握手過程

開始加密通信之前,客戶端和服務器首先必須建立連接和交換參數,這個過程叫做握手(handshake)。

假定客戶端叫做愛麗絲,服務器叫做鮑勃,整個握手過程可以用下圖說明。

握手階段分成五步。

第一步,愛麗絲給出協議版本號、一個客戶端生成的隨機數(Client random),以及客戶端支持的加密方法。

第二步,鮑勃確認雙方使用的加密方法,并給出數字證書、以及一個服務器生成的隨機數(Server random)。

第三步,愛麗絲確認數字證書有效,然后生成一個新的隨機數(Premaster secret),并使用數字證書中的公鑰,加密這個隨機數,發給鮑勃。

第四步,鮑勃使用自己的私鑰,獲取愛麗絲發來的隨機數(即Premaster secret)。

第五步,愛麗絲和鮑勃根據約定的加密方法,使用前面的三個隨機數,生成"對話密鑰"(session key),用來加密接下來的整個對話過程。

上面的五步,畫成一張圖,就是下面這樣。

大圖:http://image.beekka.com/blog/2014/bg2014092003.png


二、私鑰的作用

握手階段有三點需要注意。

(1)生成對話密鑰一共需要三個隨機數。

(2)握手之后的對話使用"對話密鑰"加密(對稱加密),服務器的公鑰和私鑰只用于加密和解密"對話密鑰"(非對稱加密),無其他作用。

(3)服務器公鑰放在服務器的數字證書之中。

從上面第二點可知,整個對話過程中(握手階段和其后的對話),服務器的公鑰和私鑰只需要用到一次。

轉載:http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

=============END=============

來自: http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!