2007-01-11

SSL 流程機制

之前, 需要針對網站做加密的動作. 所以針對網站做SSL加密的動作. 很好奇整個SSL 的機制. 以前上電子商務的課程的時候, 知道有用非對稱Key的觀念. 但是不知道整個SSL 的運作方式. 最近看了Orelly 出的Java Servlet 二版裡頭有說明.

SSL 運作流程
1. server 產生一組publice and private key .
2. client 用https 連接到server.
3. server 用private key 將 public key 做加密動作, 將 有加密跟沒加密的 public key 傳給client.
4. client 用public key 將加密的public key 解開檢查是否一樣. 一樣就是確保public key 是由server 發出的.
5. client 產生一個對稱加密key , 用server public key 做加密動作 , 回傳給server.
6. server 保有client key.
7. server 與client 之間的傳遞全部通過 client key 加密後傳輸.

解釋
1. 為何採用對稱加密key 方式傳遞溝通內容? 非對稱加密key 需要較大的運算才能加解密, 只要先確保對稱加密key 沒有被其他人竊取. 就可以用運算較小的對稱加密方式傳送資料.