HTTP的缺點:
1卸耘、通信使用明文(不加密)澜搅,內(nèi)容可能會被竊聽
2伍俘、不驗證通信方的身份,因此有可能遭遇偽裝
3勉躺、無法證明報文的完整性癌瘾,所以有可能已遭篡改
1)
通信的加密:HTTP協(xié)議中沒有加密機制,但可以通過和SSL(Secure Socket Layer,安全套接層)或TLS(Transport Layer Security,安全層傳輸協(xié)議)的組合使用饵溅,加密HTTP的通信內(nèi)容
用SSL建立安全通信線路之后妨退,就可以在這條線路進行HTTP通信。
與SSL組合使用的HTTP被稱為HTTPS(HTTP Secure 超文本傳輸安全協(xié)議)或HTTP over SSL蜕企。
內(nèi)容加密:對HTTP協(xié)議傳輸?shù)膬?nèi)容本身加密碧注,由于該方式不同于SSL或TLS將整個通信線路加密處理,所以內(nèi)容仍有被篡改的風(fēng)險
2)
查明對手的證書糖赔,SSL不僅提供加密處理萍丐,而且還使用了一種被稱為證書的手段,證書由值得信賴的第三方機構(gòu)頒發(fā)放典,用以證明服務(wù)器和客戶端是實際存在的逝变。
3)
防止報文被篡改,其中常用的是MD5和SHA-1等散列值校驗方法奋构,以及用來確認文件的數(shù)組簽名方法壳影,但依然無法百分百確認結(jié)果正確
HTTPS加密+認證+完整性保護
HTTPS并非是應(yīng)用層的一種協(xié)議,只是HTTP通信接口部分用SSL和TLS協(xié)議代替而已
HTTPS采用混合加密機制弥臼,采用共享密鑰加密和公開密鑰加密兩者并用的混合加密機制宴咧。
公開密鑰正確性的證書
1、服務(wù)器運營人員向數(shù)字證書認證機構(gòu)提出公開密鑰的申請
2径缅、數(shù)字證書認證機構(gòu)判明申請者的身份之后掺栅,對申請的公開密鑰做數(shù)字簽名,將公開密鑰放入證書
3纳猪、服務(wù)器會將數(shù)字證書認證機構(gòu)頒發(fā)的公鑰證書發(fā)送給客戶端
4氧卧、客戶端使用數(shù)字證書認證機構(gòu)的公開密鑰對證書上的數(shù)字簽名進行驗證
一旦通過驗證,客戶端可以明確兩件事:
1氏堤、認證服務(wù)器的公開密鑰的是真實有效的數(shù)字認證認證機構(gòu)
2沙绝、服務(wù)器的公開密鑰是值得信賴的