天天看點

【圖解HTTP】——確定Web安全的HTTPSHTTPS小結

文章目錄

  • HTTPS
    • 【1】HTTP缺點
    • 【2】TCP/IP可能被竊聽
    • 【3】加密防止竊聽
        • 通信加密
        • 内容加密
    • 【4】不驗證通信身份
        • 查明對方證書确認身份zhnegshu
    • 【5】無法驗證封包完整性
  • 小結
    • 【6】HTTPS = HTTP +加密+認證+完整性保護
    • 【7】HTTPS是身披SSL的HTTP
    • 【8】SSL的加密技術——公開密鑰加密
        • 共享密鑰和公開密鑰
    • 【9】HTTPS采用混合加密方法
        • 證明公開密鑰的證書
        • EV SSL證書
        • 用戶端證書
    • 【10】HTTPS完整通信
    • 【11】為什麼不一直使用HTTPS

HTTPS

  • HTTPS = HTTP + SSL(安全套接層)

【1】HTTP缺點

  • 通信使用明文(不加密),内容可能會被竊聽‘
  • 不驗證通信方身份,可能遭遇僞裝
  • 無法驗證封包完整性,可能遭遇篡改

【2】TCP/IP可能被竊聽

【圖解HTTP】——確定Web安全的HTTPSHTTPS小結
  • 竊聽:隻需要收集網際網路上流動的資料包(幀)——抓包

【3】加密防止竊聽

通信加密

  • 通過SSL(Secure Socket Layer 安全套接層) 或者TCL(Transport Security 安全傳輸協定),對HTTP通信加密。
  • 利用SSL建立一條安全通信線路——HTTPS(HTTP Secure 超文本安全傳輸協定)
    【圖解HTTP】——確定Web安全的HTTPSHTTPS小結

内容加密

【圖解HTTP】——確定Web安全的HTTPSHTTPS小結
由于不是對整個通信過程的加密,是以依然存在很大風險

【4】不驗證通信身份

【圖解HTTP】——確定Web安全的HTTPSHTTPS小結
  • 任何人都可以發起請求,并且伺服器都會傳回響應
  • 隐患:

(1)遭遇僞裝的伺服器

(2)遭遇僞裝的用戶端

(3)無法判定請求的來源

(4)無法确定通信對方是否具備通路權限

(5)既使是無意義的請求也會照單全收,無法組織海量請求下的Dos攻擊

查明對方證書确認身份zhnegshu

  • HTTP協定不能确認身份,但SSL可以,SSL協定不僅提供了加密手段還提供了證書手段
  • 證書:是由值得信任的第三方機構頒發,用于證明client和server的身份
    【圖解HTTP】——確定Web安全的HTTPSHTTPS小結

【5】無法驗證封包完整性

【圖解HTTP】——確定Web安全的HTTPSHTTPS小結
  • 遭遇中間人攻擊(man-in-the-middle attack MITM)
    【圖解HTTP】——確定Web安全的HTTPSHTTPS小結
  • SSL提供了摘要功能

小結

HTTP的四個缺點,都可以由SSL來解決

(1)不加密問題——SSL通信加密,先履歷安全通道

(2)不驗證身份問題——SSL通過證書手段

(3)不驗證封包完整性——SSL通過摘要功能

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

【圖解HTTP】——確定Web安全的HTTPSHTTPS小結
HTTPS是一種安全技術手段:http:// ——> https://

【7】HTTPS是身披SSL的HTTP

【圖解HTTP】——確定Web安全的HTTPSHTTPS小結
  • HTTP先跟SSL通信,SSL再與TCP建立連接配接
  • SSL是獨立于HTTP協定存在的,其他運作在應用層的協定都可以與SSL結合
SSL是目前全世界應用最廣泛的網絡安全技術

【8】SSL的加密技術——公開密鑰加密

  • 近代的加密方法:

加密算法公開

密鑰保密

  • 加密和解密都需要密鑰,不能讓攻擊者得到密鑰

共享密鑰和公開密鑰

  • 共享密鑰加密:加密解密都使用同一個密鑰,發送資訊時密鑰也要發送給對方去解密
    【圖解HTTP】——確定Web安全的HTTPSHTTPS小結
    【圖解HTTP】——確定Web安全的HTTPSHTTPS小結
  • 公開密鑰加密

2個密鑰:私有密鑰和公開密鑰

發送方使用公開密鑰

接收方使用私有密鑰

【圖解HTTP】——確定Web安全的HTTPSHTTPS小結

公開密鑰和私有密鑰是一套密鑰(實際存在很多套),發送方使用公開密鑰加密資訊後,也要告訴接收方是哪一套的,這樣接收方就利用對應的私有密鑰解密

共享密鑰由于發送加密資訊時也需要發送密鑰,是以被截取之後啥用也沒有

【9】HTTPS采用混合加密方法

  • 共享加密方法:速度快,安全性差
  • 公開加密方法:速度慢,安全性高
  • HTTPS:交換密鑰階段采用公開密鑰加密方法,之後建立通信交換封包階段采用共享密鑰加密方法
    【圖解HTTP】——確定Web安全的HTTPSHTTPS小結
  • 交換公開密鑰階段:讓server擁有私有密鑰過程

證明公開密鑰的證書

如何确定使用的公開密鑰就是對應伺服器發行的那套

  • 利用公開密鑰證書(數字認證機構頒布)

EV SSL證書

  • 證明營運企業真實存在

用戶端證書

  • 例如:網上銀行采用了用戶端證書,使用者除了輸入ID、密碼還會要求用戶端證書确認使用者是否是從特定的終端通路的網銀

【10】HTTPS完整通信

【圖解HTTP】——確定Web安全的HTTPSHTTPS小結
【圖解HTTP】——確定Web安全的HTTPSHTTPS小結

【11】為什麼不一直使用HTTPS

  • 加密通信消耗更多記憶體和CPU
  • 節約購買證書的成本
  • 敏感資訊才使用HTTPS

繼續閱讀