プラットフォーム上のすべてのユーザーにエンドツーエンドの暗号化を提供するフレームワークが必要です。私のプラットフォームには 2 種類のユーザーがいます。
- 賢明なデータを公開するもの(一連のユーザーを呼び出します
P
) - 賢明なデータを受け取りたい人(一連のユーザーを呼び出します
R
)
ユーザーp
は、データP
内の誰が利用できるかを決定できるR
必要があります (もちろん、プラットフォーム プロバイダーとしての私がデータを利用できるようにすることはできません)。したがって、私はすべてのユーザーR
が鍵のペアを取得し、p
何かを公開するたびにR
、ホワイトリストに登録されているユーザーのすべての公開鍵でデータを暗号化する必要があると考えました。これは理論的なレベルでは確かに聞こえますが、これを実装すると多くの問題が発生すると思います。
- ホワイトリストに登録されたユーザーごとに、すべての暗号化されたデータ レコードをデータベースに保存する必要が
R
あり、保存のオーバーヘッドが非常に大きくなります。 p
ホワイトリストへの変更を追跡する必要があります- ...
しかし、主な問題は次のとおりです。ユーザーに鍵のペアを提供するための安定したソリューションはありますか? 私が見つけた唯一のアプローチは、初期の開発モードにあると思われるWeb Cryptoでした。
私が思いついたアイデア:
- 暗号化された秘密鍵自体をサーバーに保存し、標準認証後に提供することはできないのでしょうか? (おそらく、配信用に別の暗号化レイヤーを追加することによって)
- これは最適なアプローチではありませんが、他に方法がない場合: ユーザーに追加のソフトウェアをインストールさせることで、確実な解決策が得られるでしょうか?