PDF暗号化の仕組み:AES-128が本当に守るもの
PDFを暗号化するとはどういうことか、AES-128はどう動くのか、開封パスワードと権限の違い、そしてパスワード保護がカバーするものとしないもの。
PDFにパスワードをかけると、そのファイルはもう安全だと感じます。でも、そのパスワードは実際に何をしたのでしょうか。PDF暗号化は魔法の言葉のように使われ、ほとんどの人はそれが何をカバーし、どこで止まるのかを知らないままです。ここに、その素朴な説明があります。
「PDFを暗号化する」とはどういう意味か
PDFはオブジェクトの容れ物です。テキスト、画像、フォント、ページのレイアウト。それを暗号化すると、その中身のバイト列が暗号方式(cipher)でかき混ぜられ、それを読み戻す唯一の方法は正しい鍵を使うことになります。暗号化の前にファイルをテキストエディタで開くと、読める内容の文字列を見つけられます。暗号化すると、その同じ領域はノイズに変わります。
あなたが入力するパスワードは、鍵そのものではありません。PDF形式は、あなたのパスワードを鍵導出(key-derivation)の工程に通し、実際の暗号鍵を生み出します。だからこそ、より長く、より推測しにくいパスワードが大切なのです。ファイルは、鍵を生み出すパスワードと同じ強さまでしか破られにくくならないからです。
エンジンはAES-128。そしてそれが正直な数字
reader.meのPDF保護ツールはAES-128で暗号化します。AES-256ではありません。バナーにもっと大きな数字を印刷するより、私たちは本当の数字をお伝えしたいのです。
AESはAdvanced Encryption Standardの略で、各国政府や銀行が何年も前に落ち着いた暗号方式です。128は鍵の長さをビットで表したものです。128ビットの鍵は2^128通りの値を取り得て、それは、現存するどんなハードウェアでも総当たり攻撃が現実的でないほど巨大な数です。AES-256はより長い鍵を使い、人はしばしばそれで「安全性が2倍になる」と思い込みます。そうは働きません。AES-128には実用的な破り方がありません。パスワードで保護されたPDFの弱点が暗号方式であることは、ほとんどありません。弱点はパスワードです。
より深い仕組みが知りたければ、AES暗号化の用語集の項目が、宣伝めいた飾りなしで鍵長とラウンドを順に説明しています。
ですから、6文字の辞書語でロックされたPDFを渡されたとき、AES-256でもそれを救えません。攻撃者は数学を攻撃しません。彼らはパスワードを推測します。AES-128にかけた長いパスフレーズは、AES-256にかけた弱いパスワードに、毎回勝ちます。
開封パスワード vs 権限
PDFのセキュリティには2つの種類があり、それらを混同すると誤った安心感につながります。
開封パスワード(ユーザーパスワードと呼ばれることもあります)が本当のロックです。それがなければ、ファイルはそもそも開きません。中身はディスク上で暗号化されたままで、パスワードが入力されるまで誰も一文字も読めません。これが気にかける価値のある保護です。
権限パスワード(オーナーパスワード)は別物です。ファイルは誰にでも開きますが、印刷・コピー・編集をブロックするよう閲覧ソフトに求めるフラグを携えています。落とし穴は、それらのフラグが壁ではなく要望にすぎないことです。書類は技術的には読める状態で、多くのソフトはその制限を完全に無視します。権限は礼儀の層です。正直な利用者の印刷を思いとどまらせますが、本文を抜き出そうと決意した相手は止められません。
ですから、もし書類を非公開に保つのが目的なら、必要なのは開封パスワードです。それが中身を暗号化します。権限だけでは、それを尊重しないと選んだ何にとっても、ファイルは読める状態のまま残ります。
それが守るもの、そして守らないもの
AES-128によるパスワード保護は、ある特定の仕事をうまくこなします。コピーを手に入れてもパスワードを持たない者にとって、ファイルを役立たずにするのです。メールが間違った相手に転送される、USBメモリが行方不明になる、共有ドライブが開放的すぎる。そのいずれにおいても、暗号化されたPDFは鍵のかかった箱です。それは請求書、契約書、医療記録、本人確認書類のスキャンにとって、本物の保護です。
それが守らないもの。
- すでに開いているファイルは守らない。 誰かがパスワードを入力すれば、中身はメモリ上と画面上で復号されます。スクリーンショットを撮ったり、コピーしたり、保護なしのコピーを保存したりできます。
- ファイルが存在することは隠さない。 場合によっては、その名前、サイズ、メタデータも隠しません。
- 弱いパスワードを直してはくれない。 短い、あるいはありふれたパスワードはオフラインで推測され得て、どんな暗号方式も悪いパスワードを救いません。
- パスワードと一緒に共有されることには耐えられない。 同じスレッドで両方をメールすれば、扉に鍵をかけてその鍵を扉にテープで貼り付けたようなものです。パスワードは電話のような別の経路で送ってください。
そして、もしファイルがすでにロックされた状態であなたの机に届き、あなたがパスワードを持っているなら、PDFのロック解除でローカルにそれを外し、書類を扱いやすくできます。アップロードは一切伴いません。
それはあなたのマシン上で起きる
ここがプライバシー優先のツールにとって大事な部分です。この暗号化のすべてが、あなたのブラウザ内で動きます。あなたのPDFはメモリに読み込まれ、まさにあなたのデバイス上でAES-128によって暗号化され、ダウンロードする新しいロック済みファイルとして書き出されます。サーバーに送られることは決してありません。パスワードもあなたのマシンを離れません。行く先がそもそもないからです。
それこそが肝心な点です。書類を暗号化する最も非公開な方法は、そもそも一度も移動させないことです。それがある場所でロックし、それからロック済みのコピーを、自分の条件で共有してください。