web-dev-qa-db-ja.com

メールボックスにすばやくアクセスして検索しながら、メールボックスを暗号化して保存する良い方法はありますか?

私はそれが可能かどうか疑問に思っています:

  1. システム管理者(つまり、root)がメールボックスを見ることができない方法でメールボックスを保存します
  2. 有効な資格情報を持つユーザーは、それを表示し、できればhttpアクセスを介してすばやく検索することができます。

私は私ができることを知っています:

  • パーティションレベルで暗号化しますが、システム管理者がその中のファイルを見るのを禁止することはありません。
  • GPGシステムを使用して電子メールを暗号化しますが、メールボックス全体(つまり、このメールボックス内の過去および将来の電子メール)に適用できるかどうか、またどのように適用できるかはわかりません。
  • Roundcubeのようなオープンソースのウェブメールを介してメールボックスへのアクセスを許可しますが、彼が暗号化されたメールボックスにアクセスできるかどうか、またどのようにアクセスできるかわかりません

これが可能かどうか知っていますか?

4
Coren

これは不可能です。rootは常にすべてのデータにアクセスできます。暗号化しても、アクセスのために復号化するとすぐに、rootはデータをスヌープし、資格情報もスヌープできます。ローカルルートから何かを保護することはできません。

管理者がRustを使用していないマシンにファイルを保存できますが、ファイルを暗号化して署名する必要があります。これは、信頼できるマシンでのみ検索できることを意味します。電子メールと検索インデックスは信頼できないマシンに保存できますが、検索は信頼できるマシンで行う必要があります。検索を可能にする暗号化の形式については 進行中の研究 がありますが、これは困難です(検索可能と暗号化は基本的に矛盾しています)—使用可能なソフトウェアがあれば、すぐに期待しないでください。

理論的には、サーバー上のすべての受信メールを、電子メールユーザーからの公開鍵で暗号化できるはずだと思います。次に、この電子メールユーザーは、ローカルマシンのサーバーから電子メールを取得するときに、秘密鍵を使用して電子メールを復号化できます。

受信メールは受信時に傍受される可能性があり、もちろん実際の送信者のサーバーに電子メールが保存されているため、まだ完全ではありません。ただし、2つの点で何もないよりはましです。 1)ルートが常にすべてのトラフィックを監視していない場合、ルートはすでに受信および保存されているメッセージを復号化できません。 2)連絡先にpgpや暗号化を使用させることなく、自分のサーバーでこれを使用できるため、連絡先にわかりやすくなっています。それは、ルートを覗くだけのほとんどの悪用、オフラインおよびホットバックアップから保護します。積極的な盗聴に反対するだけではありません(したがって、厳密には政府の証拠ではありませんが、それでもなお強化されています)。

理論的にはそうですが、どうすればいいのかわかりません。フォルダ全体を暗号化すると、電子メールサーバーが個別のメッセージを送信できない可能性があります。一部のサーバーが、送信メッセージだけでなく、受信メッセージにpgpを適用できるようにする場合は便利です。回避策は、暗号化されたフォルダーを再同期して、ローカルセットアップから実際のメールを取得するか、1つのプライベートメールサーバーを暗号化してプライベートメールサーバーに送信する(ただし送信しない)他の2メールサーバーソリューションです。

0
planck