# PDFを保護 パスワードと、必要なら操作の制限を設定

保護するために、先にウェブサイトへ渡す必要はありません。

> ブラウザでPDFにパスワードを設定し、印刷やコピーを制限できます。標準はAES-256で、アップロードは不要です。ダウンロード前に完成したファイルを開き直し、保護を確かめます。

このページは、ブラウザの中だけで動く対話型のツールです（https://abox.tools/ja/protect-pdf/）。渡したものが送信されることはありません。以下は、このページがツールについて言葉で説明している内容のすべてです。使うには、このアドレスを開いてください。

## 書類が**アップロードされることはありません**。サーバーが存在しないからです。

このアドレスから配信したコードが、選んだ書類を端末のメモリで開き、暗号化して書き出します。アップロード機能も受け取るサーバーもありません。ファイルも入力したパスワードもタブから出ません。

- ✗ アップロードなし
- ✗ アカウント不要
- ✓ オフラインで動作
- ✓ ソース公開
- ✓ ファイルは端末の中だけ

## PDFにパスワードや操作の制限を付ける手順

1. **PDFを選びます。** 書類は1つずつ、ブラウザがディスクから直接読みます。開くためのパスワードがすでにある場合は解除ツールを案内します。制限だけなら受け付け、下の指定で置き換えます。
2. **開くためのパスワードを2回入力します。** 内容を読める人を決める保護です。忘れたパスワードをここで復元することはできません。2つの入力が一致するとボタンが使えます。誰でも開ける書類に制限だけを付けるなら、両方空欄にします。
3. **必要な操作の制限を選びます。** 印刷、文字や画像のコピー、書類の変更です。リーダーに守るよう求める依頼で、暗号による禁止ではありません。所有者パスワードで解除できます。空欄なら開くためのパスワードを兼用し、どちらもなければランダムな値を使って破棄します。空のパスワードでは解除できなくなります。
4. **保護し、確認結果を読みます。** 新しい鍵で暗号化して書き出し、完成したファイルを2回開き直します。パスワードなしでは開けず、指定したパスワードでは同じページ数で開けることを確かめます。失敗した場合は伝え、ダウンロードを提供しません。

## 詳しい解説

[PDFにパスワードを付ける方法と、その保護の意味](https://abox.tools/ja/guides/protect-a-pdf/): PDFを開くパスワードは実際の鍵で、印刷制限は操作への要請です。それぞれの意味、暗号化方式の選び方、オンラインツールへアップロードする問題、パスワードを忘れた場合を説明します。

## 箱の中のほかのツール

- [PDF透かしツール](https://abox.tools/ja/watermark-pdf/): 送り先を記したスキャンなら、別の場所で使われたことが見えます。
- [PDFの黒塗り](https://abox.tools/ja/redact-pdf/): 文字はファイルから消され、そのあとファイルを検索して確かめます。
- [PDFをCSVに](https://abox.tools/ja/pdf-to-csv/): PDFの表を見つけ、表計算で開ける行に変換します。
- [画像→PDF変換ツール](https://abox.tools/ja/images-to-pdf/): 手元の画像を、1つの書類にまとめます。

## よくある質問

### パスワード付きPDFは安全ですか？

標準のPDF 2.0方式のAES-256には近道がなく、強さはパスワードに左右されます。ただしすべてのパスワード付きPDFがこの方式ではありません。1994年の総当たりで探せる40ビット鍵から現在の方式まで5世代あり、リーダーは同じ言葉で表示します。このページは最も強い方式を標準にし、もう1つの方式の違いも説明します。

### パスワードと操作の制限の違いは何ですか？

PDFには2つのパスワードがあります。*利用者*パスワードがなければ開けません。*所有者*パスワードは印刷、コピー、編集の*制限*を解除しますが、制限は依頼です。誰でも開ける書類には復号に必要な情報があり、リーダーは権限欄を無視できます。[PDF保護解除ツール](https://abox.tools/ja/unlock-pdf/)もその1つです。希望を伝えるなら制限、確実に開封を防ぐならパスワードを設定してください。

### パスワードを忘れたらどうなりますか？

書類を読めなくなります。`src/shared/pdf-crypt.js`には推測のループがなく、標準の強い方式に対して誠実に復元を約束できるツールもありません。2回入力するのはそのためです。元のファイルは変更しないので、必ず残してください。

### AES-256とAES-128のどちらを選びますか？

2010年より前のリーダーが必要な場合以外はAES-256です。PDF 2.0方式で、Acrobat X以降、ブラウザ、電話、現在のリーダーに対応します。AES-128は2005年の方式で古いリーダーにも対応しますが、1994年の鍵生成によりパスワードを推測しやすくなります。相手のリーダーが不明なら256を選びます。

### すでに保護されたPDFも使えますか？

パスワードなしで開けて制限だけがある場合は、今回の指定で置き換えます。開くためのパスワードがある場合は、同じブラウザの[PDF保護解除ツール](https://abox.tools/ja/unlock-pdf/)で解除したコピーを戻してください。PDFでは2つの保護を重ねられないので、変更は解除してから設定する作業です。

### 書類の見た目は変わりますか？

変わりません。描画命令、フォント、画像をそのまま暗号化し、描き直しや再圧縮や再配置はしません。文字の選択、スキャンの解像度、配置も保ちます。古いオブジェクトを除く分だけ小さく、暗号化で各ストリームに16バイト加わる分だけ大きくなることがあります。

### 署名付き書類はどうなりますか？

電子署名は無効になります。正確なバイト列を対象とするので、どのプログラムでも変更すれば無効になります。署名を検出したら結果で伝えます。保護と署名の両方が必要なら、まず保護し、そのコピーに署名してください。

### 書類やパスワードは送信されますか？

いいえ。書類はブラウザで読み、暗号化し、書き、パスワードからの鍵生成もタブで行います。サーバーはなく、`Content-Security-Policy`の接続先にこのサイト自身のものはありません。通信を切って使うことでも確認できます。保護する書類を先に渡さずに済むことが、このツールの目的です。

### 保護が付いたことをどう確かめますか？

端末で完成したファイルを2回開き直して確認します。パスワードなしでは拒否し、指定したパスワードで同じページ数と制限を読み取る必要があります。失敗したらダウンロードは提供しません。保存後にリーダーで開いてパスワードを求められることや、文書のプロパティで権限も確認できます。

### 容量制限や料金はありますか？

ツール自体には制限を設けていません。処理中は書類をメモリに保持するため、限界は端末によります。ノートパソコンは数百MBなら通常扱えますが、それを大きく超えると難しくなります。無料で、アカウント、ログイン、お試し期間はありません。広告で運営していますが、書類の情報は広告に渡しません。

### オフラインでも動きますか？

はい。一度開いて通信を切っても動きます。書類を別の場所へ送って暗号化するツールなら止まるので、何も送信しないことの確認になります。

## この主張を確かめる方法

- **アップロードしたら目的を失うツールです。** パスワードを付けたい書類は、他人に渡したくない書類です。オンラインの保護ツールは、保護前の原本と選んだパスワードを、保存方針の見えないサーバーへ渡すよう求めます。このページではブラウザで読み、タブで鍵を生成し、メモリに暗号化したコピーを書きます。`Content-Security-Policy`の接続先に、このサイト自身のものはありません。通信を切っても動くことが簡単な証明になります。
- **パスワードは保護、操作の制限は依頼です。** *開くためのパスワード*から生成した鍵で内容を暗号化します。パスワード自体はファイルに書かず、持たない人は読めません。*操作の制限*は違います。パスワードなしで開ける書類には復号に必要な情報が入っていて、印刷などを止めるのはリーダーが守る権限欄です。Adobeが最初から説明しているように、リーダーは無視できます。このサイトの[PDF保護解除ツール](https://abox.tools/ja/unlock-pdf/)もその1つです。希望を伝えるには役立ち、多くのリーダーは守りますが、内容を閉ざす保護ではありません。
- **標準は現在のAES-256方式です。** PDFの暗号化には5世代あり、リーダーはすべて同じ「パスワード保護」と表示します。標準はPDF 2.0のパスワードハッシュを使うAES-256です。計算の費用を高くした、現在も強いと評価される方式ですが、強さはパスワードによります。1994年の鍵生成を使うAES-128を選ぶ理由は、2010年より前のリーダーで開く必要がある場合です。その違いを選択欄で説明します。
- **忘れると戻れないので、2回入力します。** このサイトにパスワードを推測する機能はありません。強い方式で保護してパスワードを忘れれば、書類は読めなくなります。そこで開くためのパスワードを2回入力し、一致させます。元のファイルは変更しないので、必ず残してください。
- **渡す前に、完成したファイルをここで開き直します。** ダウンロードするバイトを、このサイトのPDFツールが共通で使うリーダーへ2回渡します。パスワードなしでは拒否し、指定したパスワードでは開けて、ページ数と制限が指定どおりである必要があります。どちらかの確認に失敗したら、失敗を伝え、ダウンロードは提供しません。
- **ページを描き直し、再圧縮、再配置はしません。** 変えるのは書類を包む暗号化です。各ページの描画命令、埋め込みフォント、画像は元のまま暗号化します。パスワードを持つ人は文字の選択や検索ができ、スキャンの解像度や配置も変わりません。書き直しに伴い、過去の編集で残った古いオブジェクトのコピーだけは引き継ぎません。
- **電子署名は残せず、見つけた場合は伝えます。** 電子署名はファイルの正確なバイト列を対象とするので、書き直すと無効になります。このツールは新しいファイルを作るため、結果に署名はありません。署名を見つけたら結果で警告し、元の署名付きファイルはそのままです。両方必要なら、保護した後で署名してください。
- **すでに開封を防ぐ書類は、先に解除します。** 開くためのパスワードがある書類には、重ねてパスワードを付けません。[PDF保護解除ツール](https://abox.tools/ja/unlock-pdf/)へのリンクを表示し、同じブラウザで解除したコピーを戻して新しい保護を付けます。誰でも開けて制限だけのある書類は受け付け、今回の指定で置き換えることを伝えます。
- **Googleが読み込むものと、渡されないもの。** 広告と計測のスクリプトはGoogleから読み込みます。ファイル、ページ、名前、サイズ、ページ数、パスワード、保護方式は渡しません。PDFを読み、暗号化し、書くコードはすべてこのサイト自身から配信され、リポジトリで公開されています。
- **寄付ボタンが読み込むものと、渡されないもの。** ヘッダーの「Buy me a coffee」ボタンはcdnjs.buymeacoffee.comのスクリプトが描き、Google Fontsの文字を使います。訪問を報告する機能のないリンクで、利用者や書類の情報は渡しません。クリックするまで何も起こらず、移動先は別のサイトです。
- **オフラインでも動きます。** 通信を切ってもすべての機能が動きます。書類を別の場所へ送って暗号化するツールなら止まるので、簡単な証明になります。

**自分で確かめてください。**以上のどれも、鵜呑みにする必要はありません。このページは、リポジトリにあるテンプレートと設定から、誰でも読んで実行できるビルドスクリプトが生成しています。その結果は`dist`ブランチに置いてあるので、配信されているものと、ソースをビルドした結果とを差分で比べられます。 https://github.com/A-Box-of-Tools/website

まず読むとよいのは、Content-Security-Policyについては`config/site.toml`、パスワードから文書の鍵と/Encrypt辞書を作る`src/shared/pdf-crypt.js`、暗号処理の`src/shared/aes.js`をご覧ください。どちらにも通信機能はなく、読み込み・書き出し処理にもありません。
