はじめてのGPG 〜第1回 GPGってなんだ?〜

こんにちは、水珈琲(@mizucoffee)です。
今回から数回に分けてGPG(及びPGP)について出来るだけ分かりやすく解説していきたいと思います。
注意事項
この記事では、GPG2.2系を使用して解説していきます。
また、コマンドは全てUnix系です。Windowsは異なる可能性があります。
PGPとGPGって何?
PGPとは「Pretty Good Privacy」の略で、公開鍵暗号方式を用いた暗号・署名が出来る仕組みの名前です。
アメリカのネットワーク・アソシエイツ社で開発され、後にPGP社に引き継がれます。その後、シマンテック社に買収されました。
PGPの仕様はRFCに公開され、現在ではOpenPGPという名前で標準化されています。
このOpenGPGに準拠した実装として、オープンソースのGNU Privacy Guard「GPG」が誕生します。

公開鍵暗号方式ってなんだ?という方はこちらの記事を読んでみてください!
ここからは公開鍵暗号方式が分かっている前提で話を進めます。
GPGで出来ること
よく使いそうなものをざっくり上げると
- メールの暗号化
- ファイルの暗号化
- ファイルの署名
といった感じになります。
メールの暗号化

メールを相手の公開鍵で暗号化して送信することが出来ます。送信したメールは相手の秘密鍵でしか復号化出来ないので、安全にメッセージをやり取りすることが出来ます。
メールの暗号化というとS/MIMEという規格が存在します。これはメールの署名・暗号化の為に作られた標準規格です。
S/MIMEはセキュアですが、証明書の入手が難しく個人レベルでの利用が難しくなっています。
しかし、GPGであれば誰でも署名・暗号化出来るので、手軽に安全性を確保することが出来ます。
ファイルの暗号化

GPGの最も標準的な使い方として、ファイルの暗号化があります。
メールへの添付はもちろんですが、最近はクラウドを使ったファイルの共有も増えてきました。
日本の社会ではパスワード付きzipの添付が蔓延していますが、これはほぼ無意味に等しいですし、クラウドも運営会社にデータが筒抜けだという噂があります。
そこでGPGの出番です!
GPGで暗号化して添付・アップロードすれば秘密鍵を持っている受信者以外が開くことは絶対に出来ません。
GPGを使えばセキュリティを自分で確保することが可能です。
ファイルの署名

GPGを使いファイルに署名をすると「このファイルは間違いなく自分が署名した」そして「このファイルは自分が署名してから改ざんされていない」という証明が出来るようになります。
GPGには本人の公開鍵と署名を照らし合わせ、本人が署名したのかを確認する機能があります。
署名にはファイルのハッシュ値を利用しているので、ファイルが改ざんされていないことも同時に証明することが可能です。
まとめ
GPGがどのような存在で、何が出来るかうっすら分かったでしょうか?
次回は具体的な概念を説明していきたいと思います!
Discussion
New Comments
No comments yet. Be the first one!