PGPを使用したXMPP / Jabberメッセージの暗号化

この記事では、GnuPGパッケージを使用してXMPPベースのネットワークを介してメッセージを送信するときに暗号化を使用する方法について詳しく説明します。 Windowsでキーペアを生成し、Psiクライアントにキーをインストールし、署名されたプレゼンスを確認し、暗号化されたメッセージを送信する手順を示します。

やる気



なぜメッセージの暗号化が必要なのでしょうか?

  1. XMPPネットワークは連邦政府であり、誰もが独自のノードを確立できるため、このサーバーの管理者に対する信頼の問題が提起されます。 サーバーが壊れたり、管理者自身がデータをロードしたりする可能性があります。
  2. XMPPは、社内の企業取引所として人気を集めています。 サーバーである可能性があり、インターネットにアクセスできないが、マスクショーを中に入れたParty-vanの到来から免れる人はいない
  3. デジタル署名により、識別の信頼性が向上します。 つまり、現時点では、コンピューターは、あなたのアカウントを壊したり、コンピューターに鍵がなかったことを利用した人ではなく、あなたに鍵を与えた人とまったく同じように座っていることが確実です。




理論のビット





メッセージは公開鍵暗号システムを使用して暗号化されます 。 詳細に触れない場合、暗号化システムの本質は、キーのペアと、1つのキーを使用してメッセージを変換できる特定の手順があり、逆変換が別のキーを使用してのみ実行できることです。 これらのキーの1つはプライベートと呼ばれ、秘密にされますが、もう1つはパブリックと呼ばれ、自由に配布されます。 したがって、公開鍵でメッセージを暗号化することにより、秘密鍵の所有者のみがそれを読み取ることができ、逆に、あなたの鍵で何かに署名することにより、著者は自分の著者としてメッセージの受信者に自信を与えます。

これらの2つの手順を組み合わせると、内容は対応するキーを持つ2人だけに知られます。 これは写真にはっきりと示されています。





近い将来、公開鍵から秘密鍵を復元することは不可能です。



ツール





暗号化システムとして、オープンソースパッケージのGnuPG(逃げないでください。Windiowsでも非常に使いやすいです)とPsiクライアントを使用します。 他のクライアントでも手順は似ていると確信しています。 それにもかかわらず、ほとんどのユーザーはそれを使用しているので、Windowsの実装を採用しました。Unixoids自体がそれを理解すると思います。 * Nixはkgpgを便利なキー管理ツールとして提供しています。



私はあなたがすでにジャバークライアントを持っていると仮定します、それは設定され、ネットワークへの接続があります。



ステップ1、ソフトウェアのダウンロードと秘密鍵と公開鍵の生成



gpg4winソフトウェアパッケージはWindowsユーザー向けに特別に作成されており、GPGでの作業を大幅に促進します。 公式サイトからgpg4win liteをダウンロードし、必要なコンポーネントを選択してインストールします。





インストール後、WinPTキーマネージャーを実行します。 最初の起動時に、ユーティリティはキーペアの作成を提案します。 これは非常に重要なステップです。 キーはインターネット上のパスポートです。名前と住所を注意深く確認してください。パスポートを紛失したり、パスワードを忘れないようにしてください。 秘密鍵を復元することはできなくなり、新しい秘密鍵を生成する必要があります。 各秘密鍵はパスワードで暗号化されます。 これは、誰かがあなたの鍵を所有していても、攻撃者がそれを使用できないようにするために必要です;パスワードなしでは、それは役に立たないのです。 プログラムはキーをバックアップすることが期待されており、これは正しいです。



したがって、キーペアを生成しました。 ここで、WinPTメニューで、[キー]-> [エクスポート...]を選択する必要があります。したがって、次のような内容を含む* .ascファイルを取得します。

-----BEGIN PGP PUBLIC KEY BLOCK-----



Version: GnuPG v1.4.7 (MingW32)



mQGiBEmINMURBACJDeTglDCoq5HQ4bU6yFzqCTfYbCEjkNlMmvJK+5zesKVJhohK

LZ6oiCZaGt5B8rfY1qvJvgIQNvWOsp63lviPSTamndlmlDeTOXbqc21iEE6E9mOS

.....









これは公開鍵であり、メッセージを交換しようとしている友人や同僚に送信できます。 当然、暗号化されたチャネルを介してキーを交換するか、単にCD-R / USBフラッシュドライブにキーをコピーすることが望ましいです。 また、公開キーをWebサイトまたはhabrプロファイルに配置することもできます。 詳細は説明しませんが、鍵交換は非常に楽しい手順です。WebOf Trust鍵署名者をご覧ください



ステップ2、キーをPsiに追加し、連絡先の公開キーをインポートします



そのため、今度はキーを使用する必要があることをPsiに伝える必要があります。 Psiを起動し、アカウント設定に移動して、詳細タブで[openPGPキーを選択]をクリックし、キーを指定します。





キーを選択してネットワークに再接続すると、Psiは秘密キーのパスワードを要求します。







これでネットワークに接続され、ステータスが署名されました。 つまり、あなたの公開鍵を持っている人は、あなたがコンピュータにいることを知っています。



公開鍵を渡し、他の人の公開を得た場合、誰かと鍵を交換したとします。 ここで、キーを特定のアカウントにバインドする必要があります。 これを行うには、WinPTに移動し、キー->インポートに移動してから、適切な人物のキーを持つファイルを選択します。 すべて、公開鍵がシステムにインポートされます。 Psiは起動時にのみキーの状態を読み取るため、新しいキーを追加した後は、Psiを再起動する必要があると言っておく価値があります。 目的の連絡先を右クリックし、「OpenPGPキーの割り当て」を選択して、連絡先にキーを割り当てます。 これで、連絡先の電子署名を確認できます。







緑色で強調表示されている行は、連絡先が正しいキーでネットワークにアクセスし、公開キーを持っていることを意味します。 行が黒の場合、これはクライアントのステータスが署名されているが、キーがないかキーが正しくないことを意味するため、コンピューターの背後にいるのは不明です。



ステップ3 暗号化されたメッセージを交換します



これで必要なのは、新しいチャットウィンドウを開いて、ロックアイコンをクリックすることだけです。 キーが検証され、すべてが正常である場合、システムは会話が暗号化されているというメッセージを表示します。 その後、会話が途中で傍受されることを心配することなく、落ち着いてコミュニケーションできます。







暗号化された形式の最後のメッセージは次のようになります。

< message from ="ivlis_test@jabber.ru/Psi" type ="chat" xml:lang ="ru-RU" to ="ivan@ivlis.com/WorkF53B8E96" id ="aaf8a" >

< body > [: , .] </ body >

< active xmlns ="http://jabber.org/protocol/chatstates" />

< x xmlns ="jabber:x:encrypted" >

hQEOA/CjxWiKTl51EAP9HaQ8nzTtjUECqiO+1lcJRciUJrOLkgFr/KTqjvOmEgvx

rtF4TCCjpBMElbVbjY+yYmV6F8IWMweRlU4olzDFfdbJYO/TGWq+22s3jIvhWI+e

7bfMn7qVcnDD7GsGxU8norUqjKHQmYvwdAwHBDdbf/AD0qqAvb7jK+1X1NXyeioD

/3lxyWobgoiCt165OwZu/G2osiDQlMTtzt/W198tzfpKoJURaUNkwhFJeOp3rgr0

77frKDbIO6IRloyHx1xL3kRZNEBOVJO5AYdflH0Z756wPt+mGpZ29vzbdt40hkwu

rHjnYEDJhj1oJkoRpesIgiPQxmXpbsRGrAcKQr2f4e3d0lgBCkkivC27qPEM0eFO

TQnVww+RGczA+VHRbpXCRvLx4fcle9qSEM0xgdkae7IWJXBQRVEootOqdNJz49G8

FPakyAsBoZ2XvrEqW+r6hXvLYrKGBYO2cI3F

=ysML </ x >

</ message >




* This source code was highlighted with Source Code Highlighter .








次の50年で誰もそれを読むことができないと確信できます。



おわりに





したがって、ご覧のとおり、メッセージのオンザフライでの暗号化は非常に簡単であり、エンドユーザーにとって実質的に変更はなく、システムの信頼性が向上します。 多分これは誰かがxmpp / jabberに切り替えることを奨励するでしょう。



ただし、次のことを常に覚えておく必要があります。

  1. 暗号化はヘッドをキャンセルしません。 キーのパスワードは秘密にしておき、キーロガー、ウイルスなどで実行します。
  2. それは




ご清聴ありがとうございました。おもしろかったと思います。 :)




All Articles