HTTPS 如何避免加密金鑰被嗅探?

HTTPS 如何避免加密金鑰被嗅探?

當兩台電腦建立 HTTPS 連線時,它們必須解析將使用什麼金鑰,對嗎?

因此,要做到這一點,在某些時候密鑰必須以未加密的方式從一台計算機傳輸到另一台計算機,不是嗎?在那一刻,中間人是否有可能嗅探它並獲取密鑰,然後他就可以用它讀取/寫入加密的資料包?

HTTPS 協定如何避免這種情況?

答案1

SSL 使用兩個金鑰,一個私鑰和一個公鑰。僅發送公鑰,除非您知道私鑰,否則該密鑰沒有任何價值。

每一方都使用另一方的公鑰對其發送的資料進行加密(這有點複雜,但您明白了)。只有接收者能夠(輕鬆)解碼流量。

這意味著流量嗅探並不是什麼大問題,儘管暴力攻擊當然取決於所使用的金鑰大小和演算法。

基於流量攔截和伺服器替換的中間人攻擊風險較高,但通常可以透過使用受信任的憑證授權單位來預防。但是,如果您忽略瀏覽器在伺服器憑證與網站名稱不符或尚未由受信任的權威鏈頒發的警告(例如:自簽名憑證)時顯示的警告,那麼它就會失敗。

答案2

HTTPS/SSL 協定使用私鑰/公鑰來確保安全連線。 http://en.wikipedia.org/wiki/Transport_Layer_Security

相關內容