天天看點

Web和移動安全之​​Web PKI和HTTPS

作者:祺印說信安
Web和移動安全之​​Web PKI和HTTPS

Web PKI和HTTPS

Web PKI和HTTPS協定在現代移動和Web平台中發揮着核心作用,兩者都基于用戶端-伺服器架構。在Web中,Web伺服器或應用程式與浏覽器交換資訊。在移動平台上,應用與後端(Web)伺服器交換資訊。在這兩種情況下,HTTPS應始終用于用戶端和伺服器之間的安全網絡連接配接。為了建立安全的網絡連接配接,使用了Web公鑰基礎結構。使用WebPKI和X.509證書,用戶端和伺服器可以互相進行身份驗證并交換加密密鑰材料以進行進一步加密的資訊傳輸。本KA不會詳細介紹身份驗證過程和密鑰交換程式的工作原理。相反,它概述了特定于Web和移動平台的各個方面。

HTTPS是Web和移動裝置上部署最廣泛的安全網絡協定。它将HTTP覆寫在TLS協定之上,以提供伺服器的身份驗證,以及傳輸中的資料的完整性和機密性。雖然HTTPS提供基于X.509證書的伺服器和用戶端的互相身份驗證,但主要用途是對通路的伺服器進行身份驗證。與TLS類似,HTTPS通過防止中間人攻擊來保護HTTP流量免受竊聽和篡改。由于HTTPS封裝了HTTP流量,是以它可以保護URL、HTTP标頭資訊(包括cookie和HTTP内容)免受攻擊者的攻擊。無論如何,它不會加密用戶端和伺服器的IP位址和端口号。雖然HTTPS可以隐藏用戶端和伺服器交換的資訊,但它允許竊聽者了解使用者通路的網站浏覽器的頂級域,并識别移動應用程式與之通信的後端伺服器。

Web和移動安全之​​Web PKI和HTTPS

Web浏覽器和移動應用程式都通過驗證由證書頒發機構CA簽名的X.509證書來驗證HTTPS伺服器。浏覽器和移動應用程式附帶預安裝的證書頒發機構清單,或依賴于主機作業系統中預安裝的CA清單。現代浏覽器和現代移動平台上的預安裝證書頒發機構清單通常包含數百個CA。要獲得信任,HTTPS伺服器證書需要由一個預安裝的CA簽名。5

現代浏覽器在無法驗證伺服器證書時向使用者顯示警告消息(例如,參見圖4)。警告消息旨在訓示中間人攻擊。但是,警告消息的常見原因是證書無效、為不同主機名頒發的證書、用戶端和伺服器之間的網絡錯誤以及用戶端,例如錯誤配置的時鐘。在大多數情況下,浏覽器使用者可以點選警告消息并通路網站,即使無法驗證伺服器證書。

浏覽器在位址欄中使用彩色訓示器來顯示網站的安全資訊。通過HTTP加載的網站,通過HTTPS加載的網站,通過HTTP連接配接加載其某些内容(例如CSS或JavaScriptfiles)6使用無效證書但使用者單擊警告的網站将顯示為不安全。具有有效證書的HTTPS網站會顯示相應的安全訓示器(例如,參見圖4)。相比之下,移動、非浏覽器應用程式的使用者無法輕松驗證應用程式是否使用具有有效證書的安全HTTPS協定。沒有類似于浏覽器中使用的可視化安全訓示器可用。相反,使用者必須信任應用程式開發人員對HTTPS連接配接采取所有必要的安全措施。

Web和移動安全之​​Web PKI和HTTPS

截至2019年,大多數流行的網站都支援HTTPS,并且從用戶端到Web和移動應用程式中的伺服器的大多數連接配接都使用HTTPS來保護其使用者抵禦中間人攻擊。為了進一步提高HTTPS的采用,鼓勵伺服器營運商對所有連接配接使用HTTPS并部署HTTP嚴格傳輸安全(HSTS)。此外,如果可能的話,浏覽器使用者可以安裝擴充和插件來重寫不安全的HTTPURL,以保護HTTPSURL,移動應用程式架構使HTTPSHTTP連接配接的預設網絡協定。

使用HTTPS可以保護内容免受攻擊者的攻擊,但不會保留中繼資料(例如,使用者通路的網站)。請參閱隐私和線上權利CyBOK知識區[49]以擷取更多資訊,包括隐私浏覽和Tor網絡。

Web和移動安全之​​Web PKI和HTTPS
惡意證書頒發機構和證書透明度 Web PKI 允許每個受信任的根證書頒發機構為任何域頒發證書。雖然這允許網站營運商自由選擇其網站的CA,但過去一些CA出于惡意目的頒發了欺詐性證書。其中一個最突出的例子是DigiNotar CA,它在2011年[50]為包括谷歌Gmail服務在内的多個網站頒發了欺詐性證書。沒有人因這次襲擊而受到指控。然而,DigiNotar于2011年破産。證書透明度被引入到欺詐性證書簽發中。證書透明度提供防篡改的資料結構,并監控參與 CA 的所有證書頒發過程。雖然它不能防止欺詐性證書的簽發,但它提高了被發現的機會。用戶端可以驗證證書透明度提供程式的正确操作,并且應僅連接配接到使用包含簽名證書時間戳的X.509 證書的網站。大多數主要的證書頒發機構和浏覽器供應商都支援證書透明度。

繼續閱讀