0

TCP サーバーがあり、cms/pkcs#7 を使用して、クライアントとサーバーの間で渡されるメッセージを保護しています。最初のセッションの一部として、クライアントの公開鍵をサーバーに渡すのは普通のことでしょうか? その公開鍵として、セッションの開始時に、最初の clp コマンドは、サーバーがクライアントについて知る必要があるその他の重要な詳細とともに、鍵を渡します。パブリックなので、暗号化する必要はありません。パブリックです。

クライアント/サーバー通信は、ssl/tls で保護されています。

ありがとう。ボブ。

4

1 に答える 1

1

SSL/TLS を信頼していませんか?それとも、なぜセキュリティで保護されたチャネル内で再度暗号化するのですか? これは、サーバーがメッセージを他のノードに渡し、それが別の場所で復号化され、それによってエンドツーエンドのセキュリティが作成される場合にのみ意味があります。

いずれにせよ、クライアントに公開鍵だけをサーバーに渡させるべきではありません。代わりに、サーバーに証明書を渡す必要があります。サーバーは、証明書に含まれる公開鍵と一致する秘密鍵で作成された署名に基づいてクライアントを認証する必要があります。また、サーバーは証明書自体をチェックする必要があります (信頼できる CA からのものか、チェーン検証で署名を行うかなど)。

可能であれば、SSL/TLS 相互認証 (クライアント証明書認証) を使用して、SSL/TLS レイヤーでこれらすべてを行う必要があります。それができない場合は、クライアントとその公開鍵を認証するための安全なアプリケーション層プロトコルを設計してください。そうしないと、他のクライアントになりすます可能性があります。

于 2012-04-20T14:30:06.043 に答える