柚子快報邀請碼778899分享:04.HTTPS及追加協(xié)議
柚子快報邀請碼778899分享:04.HTTPS及追加協(xié)議
第七章 確保Web安全的HTTPS
HTTP的缺點
通信使用明文(不加密),內容可能會被竊聽 竊聽相同段上的通信并非難事。只需要收集在互聯(lián)網(wǎng)上流動的數(shù)據(jù)包(幀)就行了。對于收集來的數(shù)據(jù)包的解析工作,可交給那些抓包 (Packet Capture)或嗅探器(Sniffer)工具。 防止竊聽保護信息的幾種對策中,最為普及的就是加密技術。加密的對象可以有這么幾個。
通信的加密 通過和SSL(Secure Socket Layer,安全套接層)或TLS(Transport Layer Security,安全層傳輸協(xié)議)的組合使用,加密 HTTP的通信內容。用SSL建立安全通信線路之后,就可以在這條線路上進行HTTP通信了。與SSL組合使用的HTTP被稱為HTTPS。
內容的加密 客戶端需要對HTTP報文進行加密處理后再發(fā)送請求。為了做到有效的內容加密,前提是要求客戶端和服務器同時具備加密和解密機制。
不驗證通信方的身份,因此有可能遭遇偽裝 HTTP協(xié)議的實現(xiàn)本身非常簡單,不論是誰發(fā)送過來的請求都會返回響應,因此不確認通信方,會存在以下各種隱患。
無法確定請求發(fā)送至目標的Web服務器是否是按真實意圖返回響應的那臺服務器。有可能是已偽裝的Web服務器。
無法確定響應返回到的客戶端是否是按真實意圖接收響應的那個客戶端。有可能是已偽裝的客戶端。
無法判定請求是來自何方、出自誰手。
即使是無意義的請求也會照單全收。無法阻止海量請求下的 DoS攻擊(Denial of Service,拒絕服務攻擊)。
雖然使用HTTP協(xié)議無法確定通信方,但如果使用SSL則可以。SSL不僅提供加密處理,而且還使用了一種被稱為證書的手段,可用于確定服務端和客戶端的真實性。
無法證明報文的完整性,所以有可能已遭篡改 由于HTTP協(xié)議無法證明通信的報文完整性,因此,在請求或響應送出之后直到對方接收之前的這段時間內,即使請求或響應的內容遭到 篡改,也沒有辦法獲悉。 比如,從某個Web網(wǎng)站上下載內容,是無法確定客戶端下載的文件和服務器上存放的文件是否前后一致的。文件內容在傳輸途中可能已 經(jīng)被篡改為其他的內容。即使內容真的已改變,作為接收方的客戶端也是覺察不到的。 像這樣,請求或響應在傳輸途中,遭攻擊者攔截并篡改內容的攻擊稱為中間人攻擊(Man-in-the-Middle attack,MITM)。
HTTP+加密+認證+完整性保護=HTTPS
HTTPS并非是應用層的一種新協(xié)議。只是HTTP通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)協(xié)議代替而已。
通常,HTTP直接和TCP通信。當使用SSL時,則演變成先和SSL通信,再由SSL和TCP通信了。簡言之,所謂 HTTPS,其實就是身披SSL
柚子快報邀請碼778899分享:04.HTTPS及追加協(xié)議
相關閱讀
本文內容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。