圖解SSL/TLS協議

1、SSL協議的握手過程html

開始加密通訊以前,客戶端和服務器首先必須創建鏈接和交換參數,這個過程叫作握手(handshake)。服務器

假定客戶端叫作愛麗絲,服務器叫作鮑勃,整個握手過程能夠用下圖說明。session

握手階段分紅五步。dom

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

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

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

第四步,鮑勃使用本身的私鑰,獲取愛麗絲髮來的隨機數(即Premaster secret)。blog

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

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

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


2、私鑰的做用

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

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

(2)握手以後的對話使用"對話密鑰"加密(對稱加密),服務器的公鑰和私鑰只用於加密和解密"對話密鑰"(非對稱加密),無其餘做用。

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

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

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

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

相關文章
相關標籤/搜索