我們常常在使用網上銀行時看到的連接都是以“https”開始的,那麼這個https是什麼呢?這其實是表示目前連接使用了SSL進行加密,能保證客戶端到服務器端的通信都在被保護起
來,那麼瀏覽器是如果實現的呢?下面我們介紹一下SSL的基本實現方法。
首先我們有兩種基本的加解密算法類型:對稱加密,非對稱加密(公私鑰加密),現在介紹一下這兩種加密算法的特點:對稱加密:密鑰只有一個,加密解密爲同一個密碼,且加解
密速度快,典型的對稱加密
算法有DES、AES等,示意圖如下:
非對稱加密:密鑰成對出現(且根據公鑰無法推知私鑰,根據私鑰也無法推知公鑰),加密解密使用不同密鑰(公鑰加密需要私鑰解密,私鑰加密需要公鑰解密),相對對稱加密速
度較慢,典型的非對稱加密算法有RSA、DSA等,示意圖如下:
圖2 非對稱加密根據上面的兩種加密方法,現在我們就可以設計一種無法讓他人在互聯網上知道你的通
訊信息的加密方法:
1. 在服務器端存在一個公鑰及私鑰
2. 客戶端從服務器取得這個公鑰3. 客戶端產生一個隨機的密鑰
4. 客戶端通過公鑰對密鑰加密(非對稱加密)
5. 客戶端發送到服務器端
6. 服務器端接受這個密鑰並且以後的服務器端和客戶端的數據全部通過這個密鑰加密(對稱加密)HTTPS通信過程的時序圖如下:
圖3 HTTPS通信時序圖
1. 客戶端產生的密鑰只有客戶端和服務器端能得到
2. 加密的數據只有客戶端和服務器端才能得到明文
3. 客戶端到服務端的通信是安全的