クライアントとサーバーの間に安全な接続を確立し、Web サービスを提供する必要があるアプリケーションを構築しています。両方 (クライアントとサーバー) の信頼性を保証する必要があります。サーバーは、データとファイルにアクセスするためのクライアント認証も処理します。両方を認証するためにEKEのようなアルゴリズムを使用してそれを行うと考えられている場合、これらは以前に共有された秘密に依存しています.
クライアントのパスワードを共有シークレットとして使用することもできますが、クライアントのサインアップ時にそのパスワードを安全に確立する必要があります。この場合、安全なチャネルが必要であり、サーバーを認証します (クライアントは自分がどのサーバーであるかを知る必要があります)。に登録します)。
サーバーの公開鍵で証明書を提供するために CA を使用することは避けたいと思います。これは、たった 1 つの小さなジョブに対して多くの余分なコードが必要であり、CA を信頼する必要があるため、最善の解決策ではないからです。
最終的にこれは、クライアントが (クライアント) 暗号化ファイルをサーバーに送信して共有できるようにすることです。
私が見逃している代替案はありますか?
Tl;Dr 安全なクライアント/サーバー チャネルを確立する方法、サーバーを認証する方法、CA を使用しない方法、公開鍵を知る方法、または以前の方法