通訊使用明文(不加密),內容可能被竊聽(ssl提供報文加密機制)
不驗證通訊方的身份,因此有可能遭遇偽裝(ssl的證書機制,需要客戶端和服務端擁有相同的公鑰證書)
無法驗證報文的完整性,所以有可能已遭篡改(ssl數字簽名機制)
https本質上是將http通訊介面部分使用ssl和tls協議替代,即原本http和tcp層直接通訊,現在變為http先和ssl層通訊,然後ssl和tcp層通訊。
1、通訊使用明文(不加密),可能被竊聽
http本身不具備加密功能,所以無法做到對通訊整體(使用http協議通訊的請求和響應的內容)進行加密,也就是說http報文使用明文方式傳送
.tcp/ip是可能被竊聽的網路
.加密處理防止被竊聽
(1)通訊加密
http協議沒有加密機制,但可以通過和ssl(安全套接層)或tls(安全層傳輸協議)的組合使用,加密http的通訊內容。
用ssl建立安全通訊線路後,就可以在這條線路上進行http通訊了。
(2)內容加密 (報文主體)
客戶端和服務端 對稱加密
2、不驗證通訊方的身份就可能遭遇偽裝
http協議中的請求和響應不會對通訊方進行確認,存在「伺服器是否就是傳送請求中uri真正指定的主機,返回的響應是否真的返回到實際提出請求的客戶端」等問題。
隱患如下
(1)偽裝web伺服器
(2)偽裝客戶端
(3)無法確定正在通訊的對方是否具備訪問許可權。因此某些web伺服器上儲存著重要的資訊,只想發個特定使用者通訊的許可權。
(4) 無法判定請求來自何方、出自誰手
(5) 即使是無意義的請求也會照單全收。無法阻止海量請求下的dos攻擊(拒絕服務攻擊)
查明對手的證書
ssl不僅提供加密處理,而且還使用了一種被稱為證書的手段。
3、無法驗證報文的完整性,可能已遭篡改
1、https是身披ssl外殼的http
2、互相交換金鑰的公開金鑰加密技術
對稱加密(共享金鑰加密)
非對稱加密(公開金鑰加密)
https 使用混合加密機制
https採用共享金鑰加密和公開金鑰加密兩者並用的混合加密機制。充分利用兩者各自的優勢,在交換金鑰環節使用公開金鑰加密方式,之後建立通訊交換報文階段則使用共享金鑰加密方式。
3、證明公開金鑰正確性的證書
4、https的安全通訊機制
步驟1 客戶端通過傳送client hello報文開始ssl通訊。報文中包含客戶端支援的ssl的指定版本、加密元件列表(所使用的加密演算法及金鑰長度等)。
步驟2 伺服器可進行ssl通訊時,會以server hello報文作為應答。和客戶端一樣,在報文中包含ssl版本和元件。伺服器的加密元件內容是從接收到的客戶端加密元件內篩選出來的。
步驟3 之後伺服器傳送certificate報文,報文中包含公開金鑰證書
步驟4 最後伺服器傳送server hello done報文通知客戶端,最初階段的ssl握手協商部分結束
步驟5 ssl第一次握手結束之後,客戶端以client key exchange 報文作為會應。報文中包含通訊加密中使用的一種被稱為pre-master secret的隨機密碼串。該報文已用步驟3中的公開金鑰進行加密
步驟6
HTTP 確保Web安全的HTTPS
一.http的缺點 1.通訊使用明文 不加密 內容有可能會被竊聽 網際網路上任意角落都有可能存在通訊內容被竊聽的風險 1.1通訊的加密 http協議中沒有加密機制,但可以通過和ssl secue socket layer安全套接層 或tls transport layer security 安全傳輸...
確保Web安全的HTTPS
http主要又如下幾點不足 http 加密 認證 完整性保護 https https並非是應用層的一種新協議,只是http通訊介面部分用ssl secure socket layer 和tls transport layer security 協議代替而已。https其實就是身披ssl協議這層外殼的...
確保Web安全的HTTPS
證明身份 無法證明報文的完整性 證明公開金鑰正確性地證書 按tcp ip協議族的工作機制,通訊內容在所有的通訊線路上都有可能遭到窺視.為防止竊聽並保護資訊,有如下幾種加密方式 通訊加密 http協議沒有加密機制,但可以通過ssl或tls的組合使用,加密http通訊內容.與ssl組合使用的http被稱...