自分で電子証明書を作ってPDFを暗号化してみた
ビジネスで使われることも多いPDFファイル。
確かにExcelなどに比べ、PDFは編集しづらいファイルですが、Illustratorなどを使えば簡単に編集できます。
PDFは閲覧したり、編集したりすることを制限するパスワードを設定できますが、結構簡単に破られるそうです。つまり、パスワードだけでは安全と言えないのです。
また、そもそもそのパスワードを相手にどうやって伝えるのか、という昔からの暗号の伝統的問題があります。
パスワードを誰かに盗まれたら、PDFにパスワードをかける意味が低下しますよね..
それらを解決するのが、電子証明書(デジタルID)による暗号化です。
公開鍵を使った暗号化は20世紀に考えられ、今でも有効に使える暗号化方式です。
暗号を受け取る人が暗号を指示する、というのがこの暗号の大きなブレイクスルーでした。
暗号業界ではRSA暗号が有名ですね。
暗号の理論は非常に難解で、複雑な数学が出てきますが、実際に使うのはシステム上難しくないのがポイントで、それゆえ普及しています。
「生卵から玉子焼きを作るのは誰でも簡単だが、玉子焼きから生卵を作るのは事実上不可能」というような数学的理屈を基にしています。
RSA暗号は巨大な素数を掛け合わせ、それを素因数分解するのは難しいということを根拠にしているそうです。
さて、本来公開鍵暗号は一対一のやり取りで使うことができるのですが、それだけだと通信相手が本物なのか証明する術がありません(なりすまし)。
そのため、一般的には、信頼できる第三者機関を間に挟み、相手が本物だと電子証明書を認証してもらいます。
認証してもらうのにはお金がかかります。
ちょっと調べてみたのですが、個人用の簡易認証でも年間3500円くらいするようです。
テストだけならなりすましを心配する必要もありませんし、可能であれば相手からFace to Faceで電子証明書をもらえば安心でしょう。
ということで、PDFの暗号化を電子証明書を用いて行ってみました。
今回はPDFですが、メールなどを暗号化する場合でも理屈は同じだと思います。
必要なもの:
・Windows パソコン (使ったバージョンは10です)
・Adobe Acrobat (使ったバージョンはPro DCです)
流れとしては、自分の電子証明書を作り、それを相手に渡します。
相手はその電子証明書を使って、送るPDFファイルを暗号化します。
暗号化されたファイルは自分しか開くことができません。暗号化した人も開けないのです。
1. 電子証明書を作る(ファイルを受け取る側)
Acrobatで電子証明書を作ります。
Acrobatで適当なファイルを開き、ツール > 保護 > 暗号化 > 証明書による暗号化 > この文章のセキュリティ..「はい」 > 設定を適当に.. 次へ > デジタルIDを追加 > 今すぐデジタルIDを新規作成 次へ > Windows証明書ストア 次へ > 名前とメールアドレスを入力.. 完了
これでWindows証明書ストアに自分の証明書が作られました。
この後はAcrobatを閉じて構いません。
なお、電子証明書はOfficeを使っても作れます。
C:\Program Files (x86)\Microsoft Office\root\Office16\SELFCERT.EXE
などからになります。
2. 電子証明書を送る(ファイルを受け取る側)
コントロールパネル > ネットワークとインターネット > インターネットオプション > コンテンツ > 証明書 > 個人
ここに先ほど作成した証明書が入っているはずです。
エクスポートを選び、次へ > いいえ、秘密キーをエクスポートしません 次へ > DER encoded binary X.509 次へ > 参照で保存する場所とファイル名を入力.. 次へ > 完了
これで相手に送る証明書が作られました。これを相手に送ります。
送る方法は何でもいいです。メールでもいいですし、USBメモリなどに入れて手渡しでもいいです。
*本来は電子証明書を受け取る人(暗号化したファイルを送る人)が、その電子証明書が本当に正しい相手(暗号化したファイルを受け取る人)から来たかどうかをしっかり確認する必要があります。なりすましを防ぐためです。
3. ファイルを暗号化する(ファイルを送る側)
ファイルを受け取る側から受け取った電子証明書を使ってファイルを暗号化します。
Acrobatで送るファイルを開き、ツール > 保護 > 暗号化 > 証明書による暗号化 > この文章のセキュリティ..「はい」 > 設定を適当に.. 次へ > キャンセル > 証明書セキュリティ警告 続行 > 受信者の選択 参照 受け取った電子証明書を選んで 次へ > 完了 > Acrobatのセキュリティ OK > 名前を付けて保存でPDFファイルを保存します
これで完了です。このPDFファイルは暗号化した人も開くことができません。もちろん第三者も開けません。
1の電子証明書を作って、ストアにインストールしている、秘密鍵を持っている人しか開けないのです。
後はこの暗号化したPDFファイルを電子証明書を送った人に送り返します。
如何だったでしょうか、複雑な暗号理論を理解しなくても、スーパーコンピュータを使っても解読が難しいと言われる暗号化したPDFファイルを作成することができました。
ファイルをやり取りする人と電子証明書をお互いに交換しておけば、データを安全にやり取りすることが出来るようになります。
今回はPDFを取り上げましたが、他のファイルやメール、ウェブページも基本的には同じ理屈です。
仕事で安全にファイルをやりたい時にご参考にされて下さい。
最近のコメント