保密的定義
我找到了“前向保密”、“未來保密”、“後向保密”和“完美前向保密”等術語,我想知道它們的定義並了解它們之間的區別。我在網上找到了幾個令人困惑的定義,尤其是混淆了前向保密和完美前向保密的含義,或者前向保密和後向保密的含義。謝謝你。
在密碼學中,前向保密 = 完美前向保密,後向保密 = 未來保密。
首先,回憶一些背景。上述術語經常在安全通道建立協議的設置中討論,例如TLS、Signal等。在這樣的協議中,考慮兩方,客戶端和伺服器,嘗試安全地相互通信。伺服器(和客戶端,如果需要客戶端身份驗證)被授予顯示其公鑰的證書,並且伺服器(和客戶端)本身知道相應的私鑰(也稱為長期機密)。他們本質上使用長期秘密和一些隨機性來計算和共享秘密會話密鑰(僅在會話中使用)並基於會話密鑰建立安全通信通道,例如,使用經過身份驗證的加密(與相關數據)方案.
前向保密意味著如果長期秘密(連同當事人目前的會話密鑰和所有其他秘密狀態)被破壞(即,洩露),那麼過去的會話仍然是安全的,即在雙方之間交換的先前消息的機密性客戶端和伺服器不受影響。我認為人們稱之為前向保密是因為他們希望會話中的加密消息是安全的,即使發生“前向”長期密鑰損壞也是如此。TLS是一個通過(臨時) Diffie-Hellman 密鑰交換實現前向保密的範例。
然後,正如您可能猜到的那樣,後向保密保證了前向保密的“相反方向”。換句話說,這種安全性保證了會話中的加密消息應該保持安全,即使發生“後向”長期密鑰損壞也是如此。人們更常稱這種未來保密可能是因為他們想強調即使在某個時刻長期秘密(連同當事人目前的會話密鑰和所有其他秘密狀態)被破壞,未來的消息仍然是安全的(如果以前腐敗的一方不知何故再次變得“乾淨”)。(我同意這些條款是一團糟,因為“未來保密”看起來和聽起來幾乎與“前向保密”相同。它可以在腐敗後很快自我修復。