我們常常在使用網(wǎng)上銀行時(shí)看到的連接都是以“https”開(kāi)始的,那么這個(gè)https是什么呢?這其實(shí)是表示目前連接使用了SSL進(jìn)行加密,能保證客戶(hù)端到服務(wù)器端的通信都在被保護起來(lái),那么瀏覽器是如果實(shí)現的呢?下面讓我們來(lái)介紹一下SSL基本的實(shí)現方法。
首先我們有兩種基本的加解密算法類(lèi)型:對稱(chēng)加密,非對稱(chēng)加密(公私鑰加密),現在介紹一下這兩種加密算法的特點(diǎn):
對稱(chēng)加密:密鑰只有一個(gè),加密解密為同一個(gè)密碼,且加解密速度快,典型的對稱(chēng)加密算法有DES、AES等,示意圖如下:

非對稱(chēng)加密:密鑰成對出現(且根據公鑰無(wú)法推知私鑰,根據私鑰也無(wú)法推知公鑰),加密解密使用不同密鑰(公鑰加密需要私鑰解密,私鑰加密需要公鑰解密),相對對稱(chēng)加密速度較慢,典型的非對稱(chēng)加密算法有RSA、DSA等,示意圖如下:

根據上面的兩種加密方法,現在我們就可以設計一種無(wú)法讓他人在互聯(lián)網(wǎng)上知道你的通訊信息的加密方法:
在服務(wù)器端存在一個(gè)公鑰及私鑰
客戶(hù)端從服務(wù)器取得這個(gè)公鑰
客戶(hù)端產(chǎn)生一個(gè)隨機的密鑰
客戶(hù)端通過(guò)公鑰對密鑰加密(非對稱(chēng)加密)
客戶(hù)端發(fā)送到服務(wù)器端
服務(wù)器端接受這個(gè)密鑰并且以后的服務(wù)器端和客戶(hù)端的數據全部通過(guò)這個(gè)密鑰加密(對稱(chēng)加密)
HTTPS通信過(guò)程的時(shí)序圖如下:

正如上圖所示,我們能保證下面幾點(diǎn):
客戶(hù)端產(chǎn)生的密鑰只有客戶(hù)端和服務(wù)器端能得到
加密的數據只有客戶(hù)端和服務(wù)器端才能得到明文
客戶(hù)端到服務(wù)端的通信是安全的
當然實(shí)際的SSL實(shí)現算法復雜的多,并有數據校驗、身份驗證等功能,如果需要更多了角請參看RFC2246及RFC4346文檔。
聯(lián)系客服