Signature

繞過數字簽名的方法?

  • August 7, 2014

**場景:**我必須保護將在實體之間交換的某些文件的完整性 $ A $ , $ B $ , $ C $ . 實體 $ A $ 創建文件(例如配置)並將其發送到 $ B $ 和 $ C $ . 實體 $ A $ 和 $ B $ 被認為是可信但實體 $ C $ 是半可信的(預設情況下它是可信的,但我們假設它可能會在某些時候受到損害)。之間的溝通渠道 $ A \leftrightarrow B \leftrightarrow C $ 被認為是安全的(例如 VPN)。

現在,我顯然不能依賴 HMAC,因為我必須與可能受到威脅的人分享一個秘密 $ C $ . 但我寧願避免為此目的實施 PKI 和數字簽名。有什麼方法可以繞過 PKI 來保護我的文件的完整性?

正如 owlstead 在評論中所寫,您不需要真正的公鑰基礎設施來為此使用公鑰簽名。您可以讓 A 創建一個密鑰對,然後在任何通信開始之前提前將公鑰分發給 B 和 C。

對稱設置也不復雜。您需要兩個秘密,一個在 A 和 B 之間,一個在 A 和 C 之間。使用任一密鑰計算每個文件的兩個 MAC。B可以驗證一個,C可以驗證另一個。即使 E 從 C 獲得修改文件的密鑰,他們也只能計算修改消息的 MAC 之一。

引用自:https://crypto.stackexchange.com/questions/18504