私は新しいプロジェクトの計画を立てており、ユーザーがファイルをアップロードして暗号化し、ユーザーだけがアクセスできるようにする方法を探していますが、同時に、ユーザーの連絡先にもファイルにアクセスできるようにする必要があります。
もう少し詳しく説明すると:
- ユーザーは Web アプリケーション経由でサーバーにファイルをアップロードします。
- 私(サーバー)はファイルの内容にアクセスできないようにする必要があります。
- ユーザーがファイルを他のユーザーと共有することを決定した場合、そのユーザーの連絡先もファイルにアクセスできる必要があります。
そんなことは可能なのでしょうか?
答え1
簡単に答えると、公開鍵暗号化とは、はい、これは可能です。難しいのは、問題が数学的に難しいからではなく、鍵の管理が難しいからです。
長い答え: ...ここには収まりません。
中程度に短い答え:
各連絡先が、あなたが知らないが相手は知っている秘密鍵と、あなたが知っている公開鍵を持っており、ソフトウェア (JavaScript を含む) をユーザーのコンピューターで実行できる場合、ユーザーのコンピューターでデータを暗号化して、それぞれの秘密鍵を持つ他のユーザーのコンピューターで実行されている同様のプログラムがそのデータにアクセスできるようにすることができますが、ユーザーのコンピューターで実行されているソフトウェアを変更しない限り、そのデータにアクセスすることはできません。
考慮すべき点:
- 暗号的には、これは解決済みの問題です。自分で解決しないでください。
- ほとんどのユーザーは使いやすさを求めています。
- メタデータについては依然として適切な決定を下す必要があります。