Public-Key
會話密鑰如何比公鑰更安全?
來自GNU Privacy Guard (GnuPG)的網站:
如果攻擊者可以解密會話密鑰,它只會對讀取使用該會話密鑰加密的一條消息有用。攻擊者必須重新開始並解密另一個會話密鑰才能讀取任何其他消息。
據我了解,如果攻擊者能夠解密通過公鑰加密的會話密鑰,那麼攻擊者實際上擁有相應的私鑰對。
因此,解密由公鑰加密的任何進一步的會話密鑰並不困難。
會話密鑰如何使這更加安全?我只能將其視為冗餘安全性。
據我了解,如果攻擊者能夠解密通過公鑰加密的會話密鑰,那麼攻擊者實際上擁有相應的私鑰對。
實際上是的,但是僅針對那條消息。請注意,會話密鑰是獨立選擇的,因此洩漏一個不允許您猜測任何其他密鑰。公鑰加密也是獨立隨機的,防止從已知明文有效恢復。然後,一旦您考慮多條消息,洩漏會話密鑰的嚴格子集就沒有洩漏一次私鑰那麼強大。
如果您正在尋找有時可以恢復會話密鑰但無法恢復私鑰的情況,請考慮以下情況:
假設您在具有弱 RNG 的舊版本 Debian 上執行。進一步假設您想向執行 Debian 的現代副本的其他人發送消息,該人也在該現代副本上生成了他們的私鑰。現在由於 RNG 錯誤,您不小心選擇了一個弱會話密鑰並對其進行加密。然後,您發送一條消息,該消息被對手觀察到,知道您執行的是舊的 Debian,並利用錯誤的 RNG 輸出暴力破解會話密鑰。現在你的消息已經洩露了,但是使用好的 RNG 的其他方沒有消息洩露。
如果這是“牽強附會”,請將上述解釋中的 Debian RNG 錯誤替換為 Spectre 側通道洩漏會話密鑰。