前にも書いたけど...

PDF ファイルのパスワード解析をするソフトの紹介記事があった。

PDFファイルのパスワードを簡単に解析できる「PDFCrack」! - 裏技shop DD

この記事自体は、特に問題ないのだが、最後の方に、

動作速度はそれなりといった感じですね。やっぱり6桁以上のパスワードの場合には解析に時間がかかるようです。時間をかけてもいいなら役に立つかもしれませんが、急いでいるときに6桁以上となるとは使えないかもしれないですね。

と書かれている。

この部分を読んで「PDF のパスワードなんて気休め」と思うやつが絶対いると思う。

実際に 6 桁のパスワードでどのくらいかかったのかは分からないが、仮に1時間だとしよう。

パスワードに使える文字が ASCII 文字だとして、じっとキーボードをにらんでも 90 文字以上はある。PDF のパスワードに使える文字種の制限は知らないが、少なめに見て 80 文字(英字 26 × 2、数字 10、記号 18)だとすれば、パスワード長が 7 桁になると、

  • 全パターンのうち、半分のパターンを調べたときに見つかるのが平均的な所要時間だとすると、「6 桁 1 時間」は最悪の場合(つまり、全パターンの最後に見つかる場合)は 2 時間かかる。
  • 7 桁全パターンを調べるまでにかかる所要時間は、2 時間 × 80(文字種の数)で 160 時間。
  • よって、平均で 80 時間

となる。8 桁にすれば、6400 時間(約 267 日)後、9 桁にすれば、512,000 時間(約 58 年)後になる。

パスワード解析ツールは他にも、ZIP ファイル用や、Word や Excel のファイル用があるが、暗号化アルゴリズム自体に問題が無い、かつ、辞書攻撃に弱いような、ありきたりのパスワードでない場合は、決して破られるものでは無い。

まぁ、ZIP の暗号化アルゴリズムには問題があって、古いタイプの ZIP ファイル(といっても、Windows に標準で付いてくる圧縮フォルダは古いタイプだったはず)だと、いろいろ工夫すれば、総当りしなくても解ける可能性があるが、新しいタイプだとまっとうに AES を使えたりするので、そうなると、総当り以外に今のところは手が無い。

総当りは、パスワード長が1桁増えただけで、100 倍近く計算コストが上がる。そのことを知らないと、「PDF のパスワードなんて」と思われるのではないか...。

参考:セキュリティってやっぱり難しいですよね - JULYの日記