淺談HTTP與HTTPS(下)

HTTPS

HTTP 的缺點:

HTTP 主要有這些不足,例舉如下
1.通信使用明文(不加密),內容可能會被竊聽
2.不驗證通信方的身份,因此有可能遭遇僞裝
3.無法證明報文的完整性,所以有可能已遭篡改

 

什麼是HTTPS:

HTTP 協議中沒有加密機制,但可以通過和 SSL(Secure Socket Layer,安全套接層)或TLS(Transport Layer Security,安全層傳輸協議)的組合使用,加密 HTTP 的通信內容。用 SSL 建立安全通信線路之後,就可以在這條線路上進行 HTTP通信了。與 SSL 組合使用的 HTTP 被稱爲 HTTPS

 

應對三種缺點的策略:

1.通信內容加密,前提是要求客戶端和服務器同時具備加密和解密機制,有一點必須引起注意,由於該方式不同於 SSL 或 TLS 將整個通信線路加密處理,所以內容仍有被篡改的風險,通信內容加密相當於雙方寄信,給信裝在一個盒子裏面。

2.驗證通信方的身份,防止遭遇僞裝,雖然使用 HTTP 協議無法確定通信方,但如果使用 SSL 則可以。SSL 不僅提供加密處理,而且還使用了一種被稱爲證書的手段,可用於確定方。

3.如何防止篡改,其中常用的是 MD5 和 SHA-1 等散列值校驗的方法,以及用來確認文件的數字簽名方法。

等一會會詳細講解

 

HTTP+ 加密 + 認證 + 完整性保護=HTTPS

經常會在 Web 的登錄頁面和購物結算界面等使用 HTTPS 通信。使用HTTPS 通信時,不再用 http://,而是改用 https://。另外,當瀏覽器訪問 HTTPS 通信有效的 Web 網站時,瀏覽器的地址欄內會出現一個帶鎖的標記。

 

 

通常,HTTP 直接和 TCP 通信。當使用 SSL 時,則演變成先和 SSL 通信,再由 SSL 和 TCP 通信了。簡言之,所謂 HTTPS,其實就是身披SSL 協議這層外殼的 HTTP。

在採用 SSL 後,HTTP 就擁有了 HTTPS 的加密、證書和完整性保護這些功能。可以說 SSL 是當今世界上應用最爲廣泛的網絡安全技術。

 


HTTPS 採用共享密鑰加密和公開密鑰加密兩者並用的混合加密機制。

介紹一下這兩種加密機制:

共享密鑰:密鑰相當於一把鑰匙,相當於寄信時把這把鑰匙也寄過去,但容易中途被攻擊

公開密鑰:使用一對非對稱的密鑰。一把叫做私有密鑰(private key),另一把叫做公開密鑰(public key)。顧名思
義,私有密鑰不能讓其他任何人知道,而公開密鑰則可以隨意發佈,任何人都可以獲得。公開密鑰加密,私有密鑰解密

常理來說,攻擊者就算知道了公開密鑰也很難破解其內容

所以應充分利用兩者各自的優勢,將多種方法組合起來用於通信。在交換密鑰環節使用公開密鑰加密方式,之後的建立通信交
換報文階段則使用共享密鑰加密方式。遺憾的是,公開密鑰加密方式還是存在一些問題的。那就是無法證明公開密鑰本身就是貨真價實的公開密鑰,爲了解決上述問題,可以使用由數字證書認證機構(CA,CertificateAuthority)和其相關機關頒發的公開密鑰證書。

 

數字證書認證機構處於客戶端與服務器雙方都可信賴的第三方機構的立場上。威瑞信(VeriSign)就是其中一家非常有名的數字證書認證
機構。我們來介紹一下數字證書認證機構的業務流程。首先,服務器的運營人員向數字證書認證機構提出公開密鑰的申請。數字證書認證
機構在判明提出申請者的身份之後,會對已申請的公開密鑰做數字簽名,然後分配這個已簽名的公開密鑰,並將該公開密鑰放入公鑰證書
後綁定在一起。服務器會將這份由數字證書認證機構頒發的公鑰證書發送給客戶端,以進行公開密鑰加密方式通信。

接到證書的客戶端可使用數字證書認證機構的公開密鑰,對那張證書上的數字簽名進行驗證,一旦驗證通過,客戶端便可明確兩件事:
一,認證服務器的公開密鑰的是真實有效的數字證書認證機構。

二,服務器的公開密鑰是值得信賴的。

 

證書的一個作用是用來證明作爲通信一方的服務器是否規範,另外一個作用是可確認對方服務器背後運營的企業是否真實存在。擁有該特性的證書就是 EV SSL 證書,持有 EV SSL 證書的 Web 網站的瀏覽器地址欄處的背景色是綠色的,從視覺上就能一眼辨別出。

 

HTTPS 中還可以使用客戶端證書。以客戶端證書進行客戶端認證,證明服務器正在通信的對方始終是預料之內的客戶端,其作
用跟服務器證書如出一轍。想獲取證書時,用戶得自行安裝客戶端證書。但由於客戶端證書是要付費購買的,且每張證書對應到每位用戶也就意味着需支付和用戶數對等的費用

 

HTTPS安全通信大致流程:

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