メーリングリストで非公開で通信するための最良の方法は何ですか?
リストの各メンバーに他の各メンバーの公開鍵を要求し、それらでそれらのメッセージを暗号化することは、役に立たないという点で扱いにくいです。
一方、パスワードが安全でないことをすべてのメンバーが知っている秘密鍵を1つだけ使用すると、最終的に1人のメンバーがMLを離れるときに非常に問題が発生します。リストの秘密鍵を変更して、以前に暗号化されたすべてのメッセージを読み取れなくする必要があります。
安全なMLが someimplementations あるのを見てきましたが、私の場合はホストされているもの(つまり)を使用する必要がありますMLソフトウェアを選択します)。
何か案は?
秘密が2人または3人以上で知られている場合、それはもはや秘密ではなく、単に控えめです。定義により、メーリングリストの受信者はすべてのメッセージを読むことができるため、trusted(という意味で、彼には裏切る力があります)君は)。これにより、オプションが制限されます。
GnuPGを使用すると、あなたの場合、次のいずれかを実行できます。
GnuPGで通常行われているように、各受信者にキーペアを所有させます。各メッセージは受信者としてすべてのユーザーで暗号化されます(OpenPGP形式はそれをサポートしています。サイズのオーバーヘッド)受信者あたり数百バイトになるため、受信者が数百未満である限り許容されます)。メーリングリストのメンテナは定期的に受信者のリストをメーリングリスト自体に送信するため、すべてのユーザーがすべての受信者の公開鍵を知ることができます。
この方法は、GnuPGが本質的に方法を知っているものに最もよく対応するものです。ただし、いくつかの欠点があります。サイズのオーバーヘッド(受信者の数によって異なります)、送信者の複雑なタスク(すべてのGnuPGインターフェースで数十人の受信者に電子メールを送信できるわけではない)、受信者リストの公開(のすべてのメンバー)リストは他に誰がメンバーであるかを学習します)。
リレーを実行します。ここでも、各受信者がキーペアを所有しています。ただし、メッセージは1人の受信者(メーリングリストのメンテナなど)とともに送信され、その受信者はすべての受信者にメッセージを転送します。メーリングリストのメンテナにメッセージを送信するだけなので、エンドユーザーにとってこれははるかに簡単になります。リレーされた各メッセージは、一度に1人の受信者に対して暗号化できます。これにより、以前の方法の問題が解決されます。
ただし、追加のレイテンシ(各メッセージはメンテナーが処理するのを待つ必要があります)、検閲に対する脆弱性の増加(メンテナーがメッセージをブロックできる)、より複雑な署名(送信者signs彼のメッセージ、メンテナはsignedメッセージを他のすべての人の暗号化内にラップする必要があります。これは file format で許可されていますただし、実装によっては、その処理に問題が発生する場合があります)。また、メンテナ自身が多くの作業を行っているか、メンテナが使用できる場合と使用できない場合があるいくつかの自動化ツールを使用する必要があります。
共通のパスワードを使用します。非対称キーペアを使用する代わりに、すべての受信者が知っているパスワードで対称暗号化を使用します。これは分散型です。サブスクライバーを追加するには、パスワードを与えるだけで十分であり、すべてのサブスクライバーがそれを行うことができます。メーリングリスト自体は、任意のメディア、さらには単一障害点なしモードをサポートする分散システム(たとえば senet )で置き換えることができます。このスキームは、第二次世界大戦中にレジスタンスネットワークで使用されていたものに最もよく似ています(たとえば Radio Londres を参照)。
一般的なパスワードの主な問題は、この回答の冒頭で述べたことです。一般的なパスワードはthat秘密にすることはできません。
混合戦略が可能です。たとえば、サブスクライバーを cells に分割します。各セルのメンバーはお互いを知っています(そしては共通のパスワードを共有するか、少なくとも互いの公開鍵を知っている場合があります)、「隣接する」セル内の2〜3人の公開鍵を知っています。その後、メッセージはセルからセルへと中継され、ネットワークの完全な範囲は誰にもわかりません。そのようなネットワークは、浸透と完全な崩壊に関して歴史的に堅牢であると証明されてきました。 この小説 も参照してください。これはあなたのケースでは少し極端かもしれません-それは本当にあなたのセキュリティモデルに依存します。多分あなたの状況は生命を脅かす説得ではありません。