PDFファイルに、PDFパスワードロック解除ソフトが使用できない程の

強力なPASSロックをかけたいのですが、どの様な方法がありますでしょうか?

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/02/15 04:58:18
  • 終了:2011/02/17 01:23:56

ベストアンサー

id:JULY No.3

JULY回答回数966ベストアンサー獲得回数2472011/02/16 10:14:56

ポイント50pt

pretaroe さんが書いている、40 bit or 128 bit というのは、PDF のバージョンにもよって違うのですが、Adobe Reader 9.0 以降で扱える PDF ファイルであれば、256 bit の AES が扱えます。

Adobe Acrobat 9 Standard * パスワードによる文書の保護

で、ちょっと誤解されやすいのですが、「パスワード」がそのまま、暗号化の「鍵」ではありません。40 bit RC4 の PDF ファイルに関して、パスワードから実際の暗号鍵をどうやって生成するかが、下記のページ(英語)で解説されていました。

http://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encrypt...

「The encryption key is generated as follows:」と書かれた後に、5つのステップが書かれています。私もちゃんと理解している訳では無いですが、最後は MD5 を使ったハッシュ値の最初の 5 バイト(= 40bit)を暗号化の鍵として使っているようです。

で、これを解読する側としては、

  • そもそも、暗号化方式自体の欠陥を付く。
  • 鍵を総当りで調べる。

のいずれかで、一般的なパスワード解除のソフトは後者の戦略を取ります。前者の場合は、欠陥といっても、いきなり解読出来る欠陥ではなく、本来、40bit = 1,099,511,627,776 通りの鍵を試す必要があるのが、その数を減らす事ができるケースが数学的にある、というものが多いです。

で、40 bit の鍵長であれば、前述のように 1,099,511,627,776 通りの鍵を試せば必ず解けます。問題は、これだけの鍵を全て試すのに、どのくらいの時間がかかるか、です。40 bit RC4 に関してはかなり昔に数時間で解かれているので、安全に使えないと思って差し支え無いです。

暗号の解読

上記ページの最後に、RSA 社が主催した解読コンテストで3時間半で解けた、という話があるのですが、リンク先は既に無くなっていて、その頃の記事を探したのですが、残念ながら見つける事が出来ませんでした。

じゃぁ、128 bit ならどうなのか、というと、一瞬「3倍程度じゃ」と思う人が多いと思いますが、128 bit の鍵長の場合、2128通り = 340,282,366,920,938,463,463,374,607,431,768,211,456 通りになります。40 bit と 128 bit では、309,485,009,821,345,068,724,781,056 倍違います。仮に、40bit が 1 秒で解けても、およそ 9,813,705,283,528,192,184 年かかります。

こうなると、まともに 128 bit の鍵を全部調べるのは、現実的に不可能と言わざるを得ません。

そこで、この鍵の素になるパスワードに関して、「人間が付けそうなパスワードを試す」という事になります。

短いパスワードをしらみ潰しに試したり、小文字アルファベットのみ、とか、辞書に載っている単語、とか、そのちょっとした変形、とかを試します。

つまり、この逆を行くと、協力なパスワードというのがどんな物か、という事が分かります。結論は、良く言われるように、

  • 十分な長さのパスワード。
  • 大文字小文字、数字、記号を含める。
  • 単語、及び、その変形(逆さまのスペルにする、とか、記号を一文字足す、など)は避ける。

であれば大丈夫、ということになります。この辺の話は、PDF ファイルに限った話ではありません。手前味噌ですが、Windows のパスワードに関する話をダイアリーに書いた事がありますので、参考になれば幸いです。

Windows のパスワード強度 理論編 - JULYの日記

ただ、3つめの項目はなかなか難しいです。昔は日本語のローマ字表記は大丈夫、などと言われたのですが、今はそういったものも含めた攻撃用の辞書が作られているので、自信がない場合は、パスワード生成ソフトを使うのも一つの手です。私が個人的に使っているのは、KeePass という、本来はパスワード管理ソフトなのですが、パスワード生成機能も付いています。

KeePass Password Safe

ただ、パスワード生成ソフトが、そもそも信頼できるか、という問題もあるので、すぐに飛びつかず、信頼出来そうな情報を確認してから使うようにして下さい。

で、まとめると、

  • 互換性を重視した 40bit RC4 の暗号化は使わない。
  • パスワードは、一般に言われる「十分な長さ」「英数記号・大文字小文字」「ランダムな文字列」を満たすようにする。

という事になります。

で、じゃぁ、具体的にどうするのか、という話ですが、使っている PDF 作成ソフトに依存する話になってしまいます。Adobe Acrobat であれば、先に紹介したページに

「Acrobat 3 およびそれ以降」オプションを選択すると、低レベルの暗号化(40-bit RC4)が使用されます。その他のオプションを選択すると、高レベルの暗号化(128-bit RC4 または AES)が使用されます。「Acrobat 6.0 およびそれ以降」を選択すると、検索用のメタデータが有効になります。「Acrobat 9.0 およびそれ以降」を選択すると、256-bit キーサイズの AES 暗号化アルゴリズムを使用して文書が暗号化されます。

と書かれています。私が使っている CutePDF だと、出力する PDF のバージョンを、選択できる一番新しいバージョンの 1.7 にして出力すると、128bit RC4 になりました。

id:at-mark351

詳しくお教え下さり、ありがとうございます。

たいへんよく理解ができました。感謝です^^

2011/02/17 01:21:53

その他の回答(2件)

id:pretaroe No.1

pretaroe回答回数531ベストアンサー獲得回数752011/02/15 07:21:58

ポイント15pt

http://web-marketing.zako.org/web-tools/password-pdf-files.html

http://www7a.biglobe.ne.jp/~kzworks/wikis_1186669646463.html

どのソフトを使っても、PDFは、40ビットと128ビットでしか暗号化できません。

128ビットで暗号をかけてパスワード長は64文字以上であればまず大丈夫でしょう。

パスワードの文字長が短い場合は、すぐに解読されてしまいます。

id:at-mark351

40ビットと128ビットですか・・・初めて知りました。

128ビットに設定するにはどうしたらよいのでしょうか?

2011/02/16 03:18:09
id:achipu No.2

achipu回答回数382ベストアンサー獲得回数32011/02/15 11:24:08

ポイント15pt

辞書にのっている単語や誕生日等を使わず

8文字以上の大文字・小文字・数字の入り混じったパスワードを設定するといった具合に

やぶられにくいパスワードを設定することで対策するのがベターかと思います。

以下なども参考になるでしょうか

id:at-mark351

沢山のリンクありがとうございます。

ですがPDFパスロックの情報が一つもなかったので残念です。

2011/02/16 03:21:48
id:JULY No.3

JULY回答回数966ベストアンサー獲得回数2472011/02/16 10:14:56ここでベストアンサー

ポイント50pt

pretaroe さんが書いている、40 bit or 128 bit というのは、PDF のバージョンにもよって違うのですが、Adobe Reader 9.0 以降で扱える PDF ファイルであれば、256 bit の AES が扱えます。

Adobe Acrobat 9 Standard * パスワードによる文書の保護

で、ちょっと誤解されやすいのですが、「パスワード」がそのまま、暗号化の「鍵」ではありません。40 bit RC4 の PDF ファイルに関して、パスワードから実際の暗号鍵をどうやって生成するかが、下記のページ(英語)で解説されていました。

http://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encrypt...

「The encryption key is generated as follows:」と書かれた後に、5つのステップが書かれています。私もちゃんと理解している訳では無いですが、最後は MD5 を使ったハッシュ値の最初の 5 バイト(= 40bit)を暗号化の鍵として使っているようです。

で、これを解読する側としては、

  • そもそも、暗号化方式自体の欠陥を付く。
  • 鍵を総当りで調べる。

のいずれかで、一般的なパスワード解除のソフトは後者の戦略を取ります。前者の場合は、欠陥といっても、いきなり解読出来る欠陥ではなく、本来、40bit = 1,099,511,627,776 通りの鍵を試す必要があるのが、その数を減らす事ができるケースが数学的にある、というものが多いです。

で、40 bit の鍵長であれば、前述のように 1,099,511,627,776 通りの鍵を試せば必ず解けます。問題は、これだけの鍵を全て試すのに、どのくらいの時間がかかるか、です。40 bit RC4 に関してはかなり昔に数時間で解かれているので、安全に使えないと思って差し支え無いです。

暗号の解読

上記ページの最後に、RSA 社が主催した解読コンテストで3時間半で解けた、という話があるのですが、リンク先は既に無くなっていて、その頃の記事を探したのですが、残念ながら見つける事が出来ませんでした。

じゃぁ、128 bit ならどうなのか、というと、一瞬「3倍程度じゃ」と思う人が多いと思いますが、128 bit の鍵長の場合、2128通り = 340,282,366,920,938,463,463,374,607,431,768,211,456 通りになります。40 bit と 128 bit では、309,485,009,821,345,068,724,781,056 倍違います。仮に、40bit が 1 秒で解けても、およそ 9,813,705,283,528,192,184 年かかります。

こうなると、まともに 128 bit の鍵を全部調べるのは、現実的に不可能と言わざるを得ません。

そこで、この鍵の素になるパスワードに関して、「人間が付けそうなパスワードを試す」という事になります。

短いパスワードをしらみ潰しに試したり、小文字アルファベットのみ、とか、辞書に載っている単語、とか、そのちょっとした変形、とかを試します。

つまり、この逆を行くと、協力なパスワードというのがどんな物か、という事が分かります。結論は、良く言われるように、

  • 十分な長さのパスワード。
  • 大文字小文字、数字、記号を含める。
  • 単語、及び、その変形(逆さまのスペルにする、とか、記号を一文字足す、など)は避ける。

であれば大丈夫、ということになります。この辺の話は、PDF ファイルに限った話ではありません。手前味噌ですが、Windows のパスワードに関する話をダイアリーに書いた事がありますので、参考になれば幸いです。

Windows のパスワード強度 理論編 - JULYの日記

ただ、3つめの項目はなかなか難しいです。昔は日本語のローマ字表記は大丈夫、などと言われたのですが、今はそういったものも含めた攻撃用の辞書が作られているので、自信がない場合は、パスワード生成ソフトを使うのも一つの手です。私が個人的に使っているのは、KeePass という、本来はパスワード管理ソフトなのですが、パスワード生成機能も付いています。

KeePass Password Safe

ただ、パスワード生成ソフトが、そもそも信頼できるか、という問題もあるので、すぐに飛びつかず、信頼出来そうな情報を確認してから使うようにして下さい。

で、まとめると、

  • 互換性を重視した 40bit RC4 の暗号化は使わない。
  • パスワードは、一般に言われる「十分な長さ」「英数記号・大文字小文字」「ランダムな文字列」を満たすようにする。

という事になります。

で、じゃぁ、具体的にどうするのか、という話ですが、使っている PDF 作成ソフトに依存する話になってしまいます。Adobe Acrobat であれば、先に紹介したページに

「Acrobat 3 およびそれ以降」オプションを選択すると、低レベルの暗号化(40-bit RC4)が使用されます。その他のオプションを選択すると、高レベルの暗号化(128-bit RC4 または AES)が使用されます。「Acrobat 6.0 およびそれ以降」を選択すると、検索用のメタデータが有効になります。「Acrobat 9.0 およびそれ以降」を選択すると、256-bit キーサイズの AES 暗号化アルゴリズムを使用して文書が暗号化されます。

と書かれています。私が使っている CutePDF だと、出力する PDF のバージョンを、選択できる一番新しいバージョンの 1.7 にして出力すると、128bit RC4 になりました。

id:at-mark351

詳しくお教え下さり、ありがとうございます。

たいへんよく理解ができました。感謝です^^

2011/02/17 01:21:53

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません