PDFパスワード設定

AES-256で閲覧パスワードと権限を設定

1ファイル選択2設定3処理4保存

PDFを選ぶと内容を解析して表示します。

ファイルはこのブラウザ内でのみ処理されます。サーバーにはアップロードされません。

AES-256暗号化で閲覧パスワードと印刷・コピー権限を設定

別のツールで続ける
作業の設定
設定
閲覧パスワードで開いたときに許可する権限

AES-256(リビジョン6)はAdobe Reader 9以降と最新のブラウザ・モバイルのビューアで開けます。非常に古いビューア向けにはAES-128を選んでください。RC4は互換性のためだけに残している脆弱な方式です。権限の制限はビューアが守る約束にすぎないため、パスワードなしで開ける文書は内容を完全には保護できません。

暗号化されたPDFは先にパスワードを解除してください。ページの内容を中心に処理するため、しおり・添付・フォーム・署名の保持は保証されません。原本を保管し、結果をご確認ください。

PDFパスワード設定について

PDFのパスワードには2種類あります。文書を開くための「文書を開くパスワード」(ユーザーパスワード)と、印刷・コピー・編集などの権限設定を変えるための「権限パスワード」(オーナーパスワード)です。このツールは2つのパスワードと許可する権限を受け取り、文書内のすべての文字列とストリームを暗号化して、標準セキュリティハンドラーの /Encrypt 辞書をファイルに書き込みます。

2つのパスワードが守るものの強さはまったく違います。開くパスワードを設定すれば、それなしに内容を復号する方法はありません。開くパスワードを空にして権限だけを制限すると、誰でも開ける必要があるため、復号の鍵も誰でも計算できます。

開くパスワードがなければ、権限制限は「お願い」に近い

PDF仕様の権限フラグ(/P)は32ビットの整数1つで、印刷、高解像度印刷、内容のコピー、内容の変更、注釈・フォームの編集、フォーム入力、アクセシビリティ用の抽出、ページの組み立ての8項目をビットで切り替えます。これを守るのはビューアです。Acrobatはコピー禁止ビットを見てメニューを無効にしますが、仕様に従わないソフトは無視できます。

開くパスワードが空の場合、ビューアは空のパスワードからファイル鍵を計算して文書を開きます。同じ計算は他のソフトにもできるので、鍵を得たあと権限ビットを無視して保存すれば制限は消えます。このサイトのPDFパスワード解除ツールも、そうしたファイルはパスワードなしで解除します。権限制限は「うっかり編集しないで」という目印や社内ルール対応と考え、内容を本当に隠したいなら開くパスワードを設定してください。

AES-256(R6)方式には /Perms 項目があり、権限値をファイル鍵で暗号化してもう一度保存します。/P だけを書き換えると検証で食い違いが分かりますが、これも改ざんの検出であって、権限の強制ではありません。

AES-256・AES-128・RC4 の選び方

このツールはAES-256(既定)、AES-128、RC4 128ビットを選べます。AES-256はPDF 2.0(ISO 32000-2)で唯一非推奨になっていない方式で、/Encrypt 辞書に V=5、R=6 と記録されます。Acrobat X以降、最近のブラウザ内蔵ビューア、macOSのプレビューはおおむね開けます。PDF 2.0はRC4とAES-128を非推奨(deprecated)に分類しています。

RC4は暗号自体に既知の弱点があり、PDFのRC4方式はパスワードから鍵を作る処理がMD5を50回繰り返す程度なので、総当たりが速く進みます。40ビットRC4は鍵が2^40通りしかなく、パスワードに関係なく鍵そのものを総当たりできます。RC4 128ビットは、古い社内システムや機器がAESを開けない場合に限って使ってください。

どの方式でも、ファイルを手に入れた攻撃者にできるのはパスワードの推測です。生年月日6桁のような短い数字は、AES-256でもすぐに破られます。R6の鍵導出はSHA-256/384/512を混ぜて最低64回繰り返しますが、bcryptやArgon2のように意図的に遅く設計された関数ではありません。方式より長さが効きます。

パスワードに使える文字の制約

RC4・AES-128方式はパスワードの先頭32バイトしか使わず、残りは切り捨てます。文字コードもPDFDocEncoding(ラテン文字)が前提なので、日本語のパスワードはビューアによって解釈が変わるおそれがあります。AES-256(R6)はパスワードをUTF-8(SASLprepで正規化)として扱い、127バイトまで使います。日本語や長い文章のパスワードならAES-256を選んでください。

暗号化されないもの

ファイルの構造(オブジェクト番号、相互参照表、ページ構成)は暗号化されません。開くパスワードを設定しても、ファイルサイズやおおよそのページ数は分かります。メタデータの暗号化を切ると、XMPメタデータ(タイトル、作成者など)は平文のまま残り、検索インデックスや文書管理システムが読めます。ファイル名はPDFの外の情報なので、当然暗号化されません。

電子署名済みのPDFを暗号化するとファイル全体を書き直すため、署名は無効になります。署名と暗号化の両方が必要なら、署名ソフトで一緒に処理してください。元のファイルに署名があると、結果画面に署名が無効になるという警告が出ます。

例

取引先に送る見積書:開くパスワード+権限制限

入力
開くパスワード:12文字以上の文章型、権限パスワード:別の長いパスワード、許可:印刷のみ、方式:AES-256
結果
受け取った人は開くパスワードで閲覧・印刷でき、仕様に従うビューアではコピーと編集が無効になります。

開くパスワードはファイルとは別の経路で伝えます。添付ファイルとパスワードを続けて同じ経路で送る、いわゆる「PPAP」は、メールを傍受した人に両方が渡るため効果が薄いとされ、2020年11月に内閣府・内閣官房が廃止しました(パスワード付きZIPの事例ですが、PDFでも同じです)。

社内配布のフォーム:開くパスワードなしで編集だけ禁止

入力
開くパスワード:空、権限パスワード:設定、許可:印刷・フォーム入力
結果
誰でもパスワードなしで開け、一般的なビューアでは本文の編集が止まります。

内容の保護ではなく、うっかり防止です。仕様に従わないツールなら解除できる前提で使ってください。

生年月日6桁パスワードの実際の強さ

入力
候補:YYMMDD形式
結果
100年 × 12か月 × 31日 = 最大37,200通り

R6の鍵導出1回が重くても、数万回の試行は普通のPCですぐ終わります。

使い方

  1. PDFを選びます。すでにパスワード付きのファイルは先に解除してください。
  2. 開くパスワードと権限パスワードを入力し、開くパスワードで開いたときに許可する権限を選びます。
  3. 暗号化方式を選びます。特に理由がなければAES-256のままにします。
  4. 保存したファイルをビューアで開き、パスワードと権限が意図どおりか確かめます。

主な用語

開くパスワード(ユーザーパスワード)
文書を開くためのパスワード。空なら誰でも開けます。
権限パスワード(オーナーパスワード)
権限設定を変更できるパスワード。これで開くとすべての権限が許可されます。
/P 権限フラグ
印刷・コピー・編集などの可否をビットで持つ整数。ビューアが守る方式なので強制力は弱いです。
R6 / AESV3
PDF 2.0のAES-256方式。パスワードをUTF-8で扱い、SHA-2系で鍵を導出します。

よくある質問

権限パスワードだけで安全ですか?

いいえ。開くパスワードがなければファイル鍵は誰でも計算でき、権限制限は簡単に外れます。内容を隠すなら開くパスワードを設定してください。

2つのパスワードを同じにしてもいいですか?

動作はしますが、開ける人が権限パスワードの権利まで持つことになり、制限の意味がなくなります。別々にしてください。

古いソフトで開けません。

AES-256(R6)はAcrobat X(2010年)より古いビューアでは開けない場合があります。まずAES-128を試し、それでも駄目なときだけRC4を使ってください。

開くパスワードを忘れたら復元できますか?

推測以外の方法はなく、長いパスワードなら事実上不可能です。元のファイルを別に保管してください。

関連ガイド

出典

基準日:

プライバシーとデータの扱い