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秒異なるだけで、まったく同じバイト列が生成される。
HNでの議論
53- tptacek
「1.28.5より前のMuPDFはdrand48ファミリーの実装を使っている」ええ、なるほど、つまり彼らは事実上まともな暗号化をしていないってことだ。鍵空間のビット数が本質ではない。鍵が暗号学的にランダムではない、ただそれだけのことだ。
- jburgess777
DMCAは、鍵の発見がいかに容易であっても、暗号化されたコンテンツへのアクセスを依然として違法にしているのだろうか? https://www.law.cornell.edu/uscode/text/17/1201
新しいLLMモデルの所有者たちは、これを無効化したいと思うだろうか、それとも無制限のモデルがいかに危険かを示すために利用したいと思うだろうか?
- NelsonMinar
ソフトウェアエンジニアはどうかしているのか、なぜこんなにも愚かで初歩的なミスを繰り返すのか。時々、プログラミングにはライセンスと定期的な試験が必要なのではないかと思う。
- ubutler
自前のRNGを実装する際のルール第1条:やめなさい。
ルール第2条? どうかやめてください。
- JonChesterfield
素晴らしい。