MuPDFのAES-256暗号化PDF、実効鍵空間はわずか9ビットだった

The case of the 9 bit AES key

PDFのAES-256暗号化はランダムなファイル鍵を使うが、その乱数生成に問題があることが判明。MuPDFは時刻をシードにしたdrand48系生成器を使い、鍵に影響する状態は9ビットのみ。512通りの総当たりでパスワードなしに復号できる。Foxitはタイムスタンプのハッシュを鍵にしており、これも容易に突破可能。OpenPDFやiTextも脆弱な乱数源を用いている。MuPDFでは修正済みだが、既存ファイルは影響を受ける。

タイムスタンプが512秒異なるだけで、まったく同じバイト列が生成される。
  1. tptacek

    「1.28.5より前のMuPDFはdrand48ファミリーの実装を使っている」ええ、なるほど、つまり彼らは事実上まともな暗号化をしていないってことだ。鍵空間のビット数が本質ではない。鍵が暗号学的にランダムではない、ただそれだけのことだ。

  2. jburgess777

    DMCAは、鍵の発見がいかに容易であっても、暗号化されたコンテンツへのアクセスを依然として違法にしているのだろうか? https://www.law.cornell.edu/uscode/text/17/1201

    新しいLLMモデルの所有者たちは、これを無効化したいと思うだろうか、それとも無制限のモデルがいかに危険かを示すために利用したいと思うだろうか?

  3. NelsonMinar

    ソフトウェアエンジニアはどうかしているのか、なぜこんなにも愚かで初歩的なミスを繰り返すのか。時々、プログラミングにはライセンスと定期的な試験が必要なのではないかと思う。

  4. ubutler

    自前のRNGを実装する際のルール第1条:やめなさい。

    ルール第2条? どうかやめてください。

  5. JonChesterfield

    素晴らしい。

この日のほかの記事

2026-10-28