https提供安全的web通訊

https提供安全的web通訊
1.原理部分:
1)瞭解加密算法:
加密算法的分類:對稱加密和非對稱加密
a.對稱加密:加密和解密使用同一個密鑰,優點是速度快,缺點是密鑰的共享困難。典型的對稱加密算法有
DES/AES/RC5/3DES等。
b.非對稱加密:生成一個祕密對(公鑰和私鑰),加密過程中可以是私鑰加密公鑰解密;也可以是公鑰加密私鑰解密;一般
情況下私鑰由服務器保存,公鑰共享給客戶端,採用公加私解的方式。它的特徵是不論你得到公鑰還是私鑰都是無法逆推密
鑰對的另一半,這保證了密鑰的安全性。缺點是加密速度極慢,不適合加密數據量大的流量。典型的非對稱加密算法有
RSA/DSA.
如何選擇加密算法?
如果選擇對稱加密,密碼的共享(傳輸)過程不安全;如果選擇非對稱加密,加密速度慢。
一個完美的解決方案:
用對稱加密的密鑰用於加密數據,用戶非對稱加密來保護對稱加密的密鑰,實現又快又安全的數據加密。保證了數據的私密
性。

2)證書服務器:CA
在上述方案中還存在這樣一個問題:如何確認公鑰是由真正的密鑰對擁有者所共享(傳輸)的。解決該問題的方案是證書認
證,CA服務器提供證書認證服務。
證書認證的過程:
a.服務器生成密鑰對(公鑰和私鑰)和認證請求,
b.CA服務器根據認證請求爲服務器頒發根證書,
c.服務器獲取根證書並共享給客戶機,客戶導入根證書.
d.通訊過程中,客戶機依據根證書確認公鑰的合法性.
證書服務器分爲:公共證書服務器(如微軟、google等)和企業自建的私有證書服務器(openssl實現)。證書認證服務器提
供了數據的不和否認性。

3)數字簽名:HASH
在上述的方案中,依然還存在一個問題:無法判斷數據在傳輸過程中的完整性(是否被篡改過)。
典型的HASH算法:MD5,SHA1,SHA256,SHA512等。

服務器使用HASH算法對所需傳輸的數據進行hash計算的出一串數字,並將這串數字公佈,數據從服務器上傳輸到客戶機後,
客戶機使用相同的hash算法計算hash值,如果和服務器公佈的數字簽名一致,則數據沒有被篡改,反之亦然。這樣就保證了
數據的完整性。

4)瞭解https的工作原理:
https(Hypertext Transfer Protocol over Secure Socket Layer),即http下加入了SSL,端口默認爲443.
SSL:安全套接字層,是netscape公司設計的主要用於安全傳輸。
https通訊過程:
a.客戶端請求https鏈接(通過https://實現),服務端返回證書(攜帶了公鑰、證書的頒發機構、選擇一組加密算法和HASH算法等信息)給客戶端。
b.客戶端收到證書後:驗證證書的合法性,生成隨機密碼(使用協商好的對稱加密算法)並使用公鑰加密,使用約定的HASH計算握手消息並使用隨機密碼對消息進行加密。
c.客戶端將由公鑰加密的隨機密碼和由隨機密碼加密過的HASH數字簽名發給服務器。
d.服務器(網站)收到隨機密碼和數字簽名後:用私鑰解密得到隨機密碼,用隨機密碼解密得到數字簽名,用數字簽名驗證握手消息的完整性。並使用隨機密碼加密一段握手消息發給客戶端(瀏覽器)。
e.瀏覽器解密握手並計算握手hash,確保數據的完整性。之後的通信數據使用隨機密碼進行加密(對稱算法)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章