Pgp

你能從記錄的消息歷史中偽造消息嗎?

  • August 15, 2014

讓我們假設 Eve 與 Alice 進行了很多 PGP 對話並記錄了所有這些消息。Bob 還定期與 Alice 與 PGP 通信。

如果 Bob 不在乎沒有 Alice 的簽名,那麼 Eve 是否可以將這些記錄的消息中的任何一個原封不動但沒有簽名發送給 Bob,假裝它來自 Alice?

如果 Bob 不關心檢查簽名(如問題所示),Eve 可以假裝 Alice 向 Bob 發送任何她想要的消息,包括但不限於 Eve 從 Alice 那裡得到的消息;Eve 所需要的只是 Bob 的公鑰(顧名思義,假設 Eve 知道公共知識)和 PGP 的直接使用。

因此,正確的問題是:Eve 是否可以重用她從 Alice 那裡得到的簽名,以便 Bob 得出結論 Eve 發送的消息來自 Alice,即使 Bob 確實關心檢查簽名?

答案是肯定的,如果 Eve 向 Bob 發送一條消息,該消息的內容與 Alice 簽名時的消息內容完全相同。因此,如果 Alice 向 Eve 發送了一條消息,例如“晚上 11 點我們在酒吧見面吧”,Eve 可以冒充 Alice 並將同樣的消息發送給 Bob,Bob 可能會斷定收到了來自 Alice 的邀請,而該邀請確實是給 Eve 的,可能是他預期之外的另一個酒吧,和/或過去的一天。PGP 向 Bob 保證該消息是由 Alice 簽名的,並讓他有機會檢測到日期的變化(對於 PGP 簽名包括“簽名時間戳”)。PGP 不會向 Bob 保證該消息是給他的。

注意:擁有許多記錄消息的歷史只會幫助 Eve,因為她可以選擇更廣泛的消息來發送給 Bob,假裝它們來自 Alice;Eve 不能從過去的消息中剪切和粘貼片段來編寫新消息。

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