One-Time-Pad

One Time Pads 和“位翻轉”攻擊

  • February 13, 2019

一次性填充和“位翻轉”攻擊的漏洞:

我在這個小組中看到過,顯然網上有(少量)聲音認為那些依賴 OTP 的人本質上是“**業餘愛好者”(或以其他方式無視)“位翻轉”的可能性OTP 中的一個致命缺陷,不應使用它們。鑑於我自己使用 One Time Pads 的專業經驗,我發現這些說法令人驚訝,並且有興趣了解 OTP 裝甲是否存在裂縫,使其成為保護數據保密的不安全系統。

在這些聲明的上下文中, “位翻轉”是指 OTP 消息可以在傳輸過程中被篡改——沒有驗證接收者是否準確地收到了最初發送的消息。但即使是篡改也不意味著攻擊者可以在沒有密鑰的情況下閱讀他們篡改的文本。因此,據我目前所見,這些秘密仍然受到保護。

此外,為了篡改 OTP 加密消息的內容,意味著攻擊者確切地知道“何時”、“何處”、“如何”以及最重要的是“”將消息傳輸給了誰。那些譴責One Time Pads是一個不安全、有缺陷的系統的人對攻擊者如何獲取這些關鍵數據片段的關鍵細節缺乏了解。

這樣的說法是大膽的,它違背了公認的智慧,即 OTP 加密的消息安全且牢不可破的——當然,如果系統執行正確的話。 我在這裡錯過了什麼嗎?

普遍認為 OTP 加密消息是安全且牢不可破的

OTP 加密的消息是安全且牢不可破的,假設該鍵盤是秘密的、統一隨機的、不重複使用的……並且消息不會洩漏!最後一點是“位翻轉”攻擊發揮作用的地方。

想像一下,消息通常是以 ASCII 格式發送的數字,並在解密後由接收方解析;並且上下文告訴對手特定消息是1or 2,即位串00110001or 00110010。使用 OTP(或流密碼),攻擊者可以翻轉密文的第 5位,並知道將明文更改為00111001or 00111010,即字元9or :。現在,如果攻擊者能夠感知接收系統是接受結果作為數字還是拒絕它,那麼機密性就失去了!

更一般地說,當密碼學使用者需要加密以保證機密性時,他們往往還需要完整性和來源的保證。OTP 僅提供機密性,並且在某些非常實際的情況下並非無條件地說明。

但是,可以通過資訊論替代 MAC 或通用雜湊(例如Carter-Wegman )來獲得完整性保證;當 OTP 僅在提供來源保證的兩方之間共享時。這會消耗一些 OTP,但可以管理。它可以幫助減輕上述攻擊(更改的消息將在測試它是十進制之前被拒絕)。

仍然有兩個原因使 OTP 不切實際:

  • 對手很容易發動拒絕服務攻擊,使發送者和接收者不同步(這可以在一定程度上解決,但並非微不足道)
  • 隨機墊必須通過安全的方式提前發送,並且雙方都保密。

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