TOP > PDFのパスワードは32文字
どうして? なんで?
概要
パスワードに関する以下2点をご提案します。
- PDFに設置するパスワードの文字数の制限は32文字までとする。
- 暗号化方式は128bitまでとする。256bitの使用は控える。
上記の理由をこのページでは解説します。
なお、技術的及び専門的な説明は行いません。「実用面」と「当サイトの考え」の話とさせて頂きます。※専門家では無いので。
1. パスワードの文字数は32文字までに制限
現象:
PDFに設置するユーザーパスワード又はオーナーパスワードに33文字以上のパスワードを使用すると、運用時にそれより短い文字数のパスワードで開けてしまうケースが有ります。
例(1):
40文字のパスワード(40bit)を設定したPDFを開いた時にパスワードを入力します。パスワードは後ろの文字を削って短くします。
- 40文字:開く (これは正常)
- 39文字:開く (開いては駄目!)
- ・・・・38~31文字も同上
- 32文字:開く (開いては駄目!)
- 31文字:エラー(これは正常なエラー)
問題点:39文字から32文字の短いパスワードでPDFが開いてしまいます。本来はエラーになり開かない状態にならないといけない。
例(2):
32文字のパスワード(40bit)を設定したPDFを開いた時、パスワードを入力します。パスワードは後ろの文字を削って短くします。
- 32文字:開く (これは正常)
- 31文字:エラー(これは正常なエラー)
- ・・・30文字以下は全てエラー。これは正常なエラーです。
結論:
上記の例(1)と(2)から検証すると、パスワードを32文字までに制限したら「短いパスワードでPDFが開けてしまう」問題は発生しません。
メーカーサポートサイトによっては「PDFのパスワードは32文字まで」 と出しているところも見受けられます。但し理由までは書いてあるところを見つけることは出来ませんでした。
2. 暗号化方式は128bitまで
パスワードの暗号化方式(暗号化レベル、暗号化とも言う)は大きく以下の5種類に別れます。
- 40bit (RC4)
- 128bit (RC4)
- 128bit+AES
- 256bit+AES
- PDF2.0対応の256bit+AES
これに対し、
- 4番目の「256bit+AES」は将来的に廃止予定と言う情報も有るので、再確認が出来るまでは今後の使用を控えた方がいいと思います。
- 5番目の「PDF2.0対応の256bit+AES」は未対応のPDFビュアーやPDFソフトも有るみたいです。実際に有りました。これも問題が無ければ控えたいと思います。
以上を考慮すると使用できるのは1番目、2番目、3番目となります。
よって暗号化方式は「128bitまで」と成ります。
検証方法
実際に動かしてみないと判らないです。でも手動で1文字ずつ確認するのは大変です。そこで今回はVBAプログラムから各種セキュリティ関連のコマンドライン・ツールを起動して検証しました。
もちろん、最終確認は手動でAcrobatアプリ本体を使います。
環境:
- Windows 10 64bit Pro
- Excel 2007
- Qpdf 7.0.0
- Poppler 0.50 ※256bitは未対応
- CPDF 2.2 Build 1
- Adobe Acrobat XI Pro
検証手順:
概要のみです。
- PDFにユーザーパスワードを設定する。
Qpdfを使って行う。 - パスワード付きPDFをpoppler / pdfinfo で動作させる。
この時にパスワードを1つずつ短くして動作するかを確認する。 - 全ての結果をログテキストに集計して出力する。
- 上記結果から問題部分をAcrobatで再検証する。
これより、トップ概要の2点が導き出されました。
参照
かなり古い情報も有りますが、理解はしやすい内容です。
< TOPへ >
サイト管理者のメモ
これ以降はサイト管理者の技術メモです。見る必要は全く無いです。
- 今回の検証ソフトの中で「Poppler 0.50 / pdfinfo.exe 」で256bit暗号化方式を使用したパスワードは「Command Line Error: Incorrect password」エラーで全く扱えませんでした。
>pdfinfo in-pass.pdf -upw ABCDEFGHIJKLMNOPQRSTUVWXYZ12
Command Line Error: Incorrect password
現時点(2017/10/06)でのPoppler 最新バージョンは 0.60.1 。Windows版で公開されているビルド版は 0.50.0(2016/12/26)。機能の問題より、古すぎるのが問題ですネ。
- CPDF 2.2 Build 1 はQpdfで設定したパスワードは開けないのか?
Acrobat XI Pro なら開けるけど・・。
>cpdf BB-abcd.pdf user=abcd -info
Failed to decrypt file: wrong password?
Encryption: 128bit
Permissions: No high-quality print, No assemble, No edit forms, No annotate, No copy, No edit, No print
Linearized: false - ユーザーパスワードとオーナーパスワードが設定されたPDFを開く時に入力するパスワードはどちらでも構わない。オーナーパスワードでも正しければ開くことが出来る。これは仕様みたいです。
< TOPへ >