第7章 確定Web安全的HTTPS
1.http的缺點
-通信使用明文(不加密),内容可能會被竊聽
-不驗證通信方身份,是以有可能遭遇僞裝
-無法證明封包的完整性,是以有可能已遭篡改
2.通信使用明文可能會被竊聽
由于HTTP本身不具備加密的功能,是以無法做到對通信整體進行加密。
3.TCP/IP是可能被竊聽的網絡
按TCP/IP協定族的工作機制,通信内容在所有的通信線路上都有可能遭到窺視。
4.加密處理防止被竊聽
-通信的加密
HTTP協定中沒有加密機制,但可以通過和SSL(Secure Socket Layer,安全套接層)或TLS(Transport Layer Security,安全層傳輸協定)的組合使用,加密HTTP的通信内容。
-内容的加密
把HTTP封包裡所含的内容進行加密處理。
由于不同于SSL或TLS将整個通信線路加密處理,是以内容仍有被篡改的風險。
5.不驗證通信方的身份就可能遭遇僞裝
HTTP協定中的請求和響應不會對通信方進行确認
6.任何人都可能發起請求
隐患:
-無法确定是否是僞裝的Web伺服器
-無法确定是否是僞裝的用戶端
-無法确定正在通信的對方是否具備通路權限
-無法判定請求是來自何方、出自誰手
-即使是無意義的請求也會照單全收。無法阻止海量請求下的DoS攻擊(Denial of Service,拒絕服務攻擊)
7.查明對手的證書
隻要能夠确認通信方(伺服器或用戶端)持有的證書,即可判斷通信方的真實意圖。
8.無法證明封包完整性,可能已遭篡改
若無法證明資訊完整性,也就意味着無法判斷資訊是否準确
9.接收到的内容可能有誤
請求或響應在傳輸途中,遭攻擊者攔截并篡改内容的攻擊稱為中間人攻擊(Man-in-the-Middle attack,MITM)
10.如何防止篡改
常用的是MD5和SHA-1等散列值校驗的方法
11.HTTP+加密+認證+完整性保護 = HTTPS
12.HTTPS是身披SSL外殼的HTTP
HTTPS并非是應用層的一種新協定。隻是HTTP通信接口部分用SSL和TLS協定代替而已
13.SSL采用一種公開密鑰加密的加密處理方式
14.HTTPS采用共享密鑰加密和公開密鑰加密兩者并用的混合加密機制。
15.公開密鑰加密方式存在一些問題,就是無法證明公開密鑰本身就是貨真價實的公開密鑰。
為了解決這個問題,可以使用由數字證書認證機構(CA,Certificate Authority)和其相關相關頒發的公開密鑰證書。
16.可證明組織真實性的EV SSL證書
EV SSL證書是基于國際标準的認證指導方針頒發的證書。
17.由自認證機構頒發的證書稱為自簽名證書
在網際網路上不可作為證書使用。
18.HTTPS也存在一些問題,當使用SSL時,處理速度會變慢。
-通信慢
-處理慢(大量消耗CPU及記憶體等資源)