PGP入門ガイド:始めるためのシンプルガイド
PGPを始めるのは思っているよりも簡単です。鍵ペア(公開鍵と秘密鍵)を生成し、通信したい相手と公開鍵を共有し、秘密鍵を使って相手から送られたメッセージを復号します。試すのにソフトウェアのインストールは必要ありません。KeychainPGPのような無料のオンラインPGPツールを使えば、ブラウザから直接5分以内に最初のメッセージを暗号化できます。
暗号化が重要な理由
毎日、何十億ものメッセージがインターネット上を流れています。メール、チャットメッセージ、文書 — そのほとんどが平文で送信されており、傍受した人は誰でも読むことができます。これにはインターネットサービスプロバイダー、公共Wi-Fiのハッカー、さらには政府の監視プログラムも含まれます。
データ漏洩は稀な出来事ではありません。常に起こっています。メッセージが暗号化されていなければ、次の漏洩を待つ読み取り可能なテキストとしてデータベースに保存されています。
暗号化はこの問題を解決します。PGPでメッセージを暗号化すると、読み取り不能な文字列に変換されます。正しい秘密鍵を持つ人だけがそれを解読できます。
PGPとは(簡単な説明)
PGPはPretty Good Privacyの略です。1991年にPhil Zimmermannによって作られ、メッセージやファイルの暗号化における世界標準となりました。
PGPを理解する最も簡単な方法はこうです。投函口のある郵便受けを想像してください。
街角に特別な郵便受けがあると想像してください。誰でも近づいて投函口から手紙を入れることができます。しかし手紙が入ったら、郵便受けの鍵を持っているあなただけがそれを開けることができます。
- 投函口があなたの公開鍵です。プライベートメッセージを送りたい人に渡します。共有しても安全です。
- 郵便受けの鍵があなたの秘密鍵です。絶対に誰とも共有しません。
これが非対称暗号化と呼ばれるもので、一方の鍵がロックし、もう一方がアンロックします。より技術的な詳細については、PGPとはの完全ガイドをお読みください。
知っておくべき主要概念
公開鍵:あなたの住所
公開鍵は郵便の住所のようなものです。自由に配布して、人々があなたにものを送れるようにします。PGPでは、他の人があなただけが読めるメッセージを暗号化できるように公開鍵を共有します。
秘密鍵:あなたのパスワード
秘密鍵は玄関の鍵のようなものです。公開鍵で暗号化されたメッセージを開くことができる唯一のものです。秘密鍵は絶対に誰とも共有しないでください。
暗号化 vs 署名
PGPは2つのことができます:暗号化と署名。
- 暗号化 — 受信者だけが読めるようにメッセージをスクランブルします。受信者の公開鍵で暗号化し、受信者が秘密鍵で復号します。
- 署名 — メッセージがあなたからのもので改ざんされていないことを証明します。自分の秘密鍵で署名し、あなたの公開鍵を持つ誰もが署名を検証できます。
鍵のフィンガープリント
鍵のフィンガープリントは、PGP鍵を一意に識別する短い文字列です。フィンガープリントは公開鍵が想定する人物のものであることを確認するために使用されます。別の信頼できるチャネルでフィンガープリントを比較してください。
ASCII Armor
PGP鍵や暗号化メッセージが-----BEGIN PGP MESSAGE-----で始まるテキストブロックとして表示される場合、それはASCII armorです。これは単にバイナリデータを印刷可能なテキスト文字にエンコードする方法で、メール、チャットウィンドウ、ウェブフォームにコピー&ペーストできるようにするためのものです。
最初のPGPメッセージ
KeychainPGPウェブアプリを使って最初のメッセージを暗号化する手順を見ていきましょう。ブラウザ内で完全に動作する無料のオンラインPGPツールです。
ステップ1:ウェブアプリを開く。keychainpgp.github.ioにアクセスします。アプリはWebAssemblyを介して読み込まれ、PGPエンジンはあなたのコンピューター上でローカルに動作します。
ステップ2:鍵ペアを生成する。「鍵」タブで新しい鍵を作成します。KeychainPGPがモダンなEd25519 + X25519鍵ペアを生成します。
ステップ3:公開鍵をエクスポートして共有する。エクスポート機能を使って、ASCII-armored形式の公開鍵をコピーします。
ステップ4:受信者の公開鍵をインポートする。「鍵」タブで、連絡先の公開鍵ブロックを貼り付けます。
ステップ5:メッセージを書いて暗号化する。「暗号化」タブに移動し、メッセージを入力し、受信者を選択して「クリップボードに暗号化」をクリックします。
ステップ6:暗号化されたメッセージを送信する。暗号化テキストをメール、チャット、またはメッセージングアプリに貼り付けます。
ステップ7:返信を復号する。暗号化されたPGPメッセージブロックをコピーし、「復号」タブに移動し、貼り付けて復号をクリックします。
より詳しいガイドは、PGPの使い方チュートリアルをご覧ください。
よくある初心者の間違い
1. 秘密鍵を共有する。秘密鍵は絶対に誰にも送らないでください。公開鍵だけを共有してください。
2. フィンガープリントを確認しない。別の信頼できるチャネル — 電話、ビデオ通話、対面 — で鍵のフィンガープリントを確認してください。
3. バックアップなしで秘密鍵を紛失する。秘密鍵を紛失すると、その鍵で暗号化されたすべてのメッセージが永久に失われます。安全な場所に秘密鍵をバックアップしてください。
4. 失効証明書をバックアップしない。失効証明書により、鍵が侵害された場合にその鍵がもはや有効でないことを公開宣言できます。
5. 古いまたは弱い鍵を使用する。今日新しい鍵を生成する場合は、モダンなアルゴリズムを使用してください。KeychainPGPはデフォルトでEd25519 + X25519を使用します。
次のステップ
- 完全なガイドを読む:PGPの使い方では署名、検証、鍵管理、高度なトピックをカバーしています。
- PGPとは何かを理解する:より深く知るにはPGPとはをお読みください。
- クリップボード暗号化を学ぶ:クリップボード暗号化でPGPをあらゆるアプリケーションで使う方法を発見しましょう。
- オンラインツールを試す:オンラインPGPツールを開いて練習しましょう。
- デスクトップアプリを入手する:KeychainPGPデスクトップアプリはグローバルショートカット、システムトレイ、クリップボード自動消去を追加します。
よくある質問
PGPは学ぶのが難しいですか?
いいえ。基本概念はシンプルです:共有する公開鍵と、秘密に保つ秘密鍵。KeychainPGPのようなモダンなツールなら、メッセージの暗号化は数クリックで完了します。
PGPを使うにはソフトウェアをインストールする必要がありますか?
必ずしも必要ではありません。KeychainPGPのオンラインPGPツールをブラウザで直接使用できます。WebAssemblyを介してデバイス上で完全に動作します。
PGPで暗号化されたメッセージを解読できますか?
モダンなアルゴリズム(KeychainPGPが使用するEd25519 + X25519など)を使用した場合、現在の技術では暗号化を総当たりで解読するには宇宙の年齢よりも長い時間がかかります。本当のリスクは実用的なもの:秘密鍵の紛失、弱いパスフレーズの使用、デバイス上のマルウェアです。
PGP、GPG、OpenPGPの違いは何ですか?
PGPは1991年に作られたオリジナルのプログラムです。OpenPGPはフォーマットを定義するオープン標準(RFC 4880)です。GPG(GNU Privacy Guard)はOpenPGP標準のフリー実装です。KeychainPGPはRustのSequoia-PGP上に構築された別の実装です。すべて同じ標準に従っているため互換性があります。
公開鍵はどうやって共有しますか?
公開鍵をASCII-armored形式でエクスポートします — -----BEGIN PGP PUBLIC KEY BLOCK-----で始まるテキストブロックです。メールに貼り付けたり、ウェブサイトに公開したり、チャットで共有したり、鍵サーバーにアップロードしたりできます。連絡先とは別のチャネルでフィンガープリントを確認することを忘れないでください。