0

必要なもの: LAN ネットワークを介したサーバーとクライアント間の安全な TLS/SSL 通信。認証は一方向認証である必要があります。

SSL 一方向認証

既に行ったこと: Wi-Fi ネットワークを介して通信できるサーバーとクライアントを作成しました。SSLソケットを実装しましたが、認証がありません...動作しません:)

ヘルプが必要な場合:私は TLS/SSL の初心者であり、ネットワーク セキュリティの初心者でもあります。

  1. CA は必須ですか、それとも「エミュレート」できますか? (サーバーに証明書を提供しますよね?)
  2. サーバーは独自の証明書を作成する必要がありますか、それとも (ハードコードされた) 証明書を与える必要がありますか?
  3. クライアントはこの証明書をどのように確認できますか?
4

1 に答える 1

1
  1. CA自体は必須ではありません。CA 署名証明書の代わりに自己署名証明書があります、特定の自己署名証明書がクライアント プログラムによって明示的に信頼されていない限り、ピアの認証 (検証) は失敗します。

  2. サーバー証明書を作成または要求し、その証明書を使用するようにサーバーを構成する必要があります。証明書およびその他の TLS 設定を構成する方法の詳細は、使用しているサーバー ソフトウェアまたは TLS ライブラリによって異なります。

  3. 通常、クライアントには、信頼されたルート CA 証明書のコレクションがあります。エンド エンティティ証明書は、ルート CA によって署名されるか、ルートに至るまで、上位の証明書によって署名された中間CA によって署名されますサーバーは、エンドエンティティ証明書と中間証明書の証明書チェーンを提示しますが、(通常は) ルート証明書は含まれません。

    検証中、クライアントは、信頼するルート CA のいずれかに有効な署名チェーンがあることを検証します。その場合、チェーン内の証明書のいずれも期限切れまたは取り消されていなければ、サーバー証明書が受け入れられ、セッションが続行されます。

    通常、パブリック CA のルート証明書は、ほとんどのブラウザとオペレーティング システムにデフォルトでインストールされ、信頼されています。ただし、パブリック CA を使用する必要はありません。証明書に署名するためのプライベート CA を作成できます。これを行う場合、ルート証明書を信頼するようにクライアントを構成する必要があります (詳細はソフトウェアによって異なります)。

    クライアントがルート CA を信頼し、(チェーンされた) サーバー証明書を提示するようにサーバーを構成している限り、パブリックまたはプライベート CA のどちらを使用しても、すべてが機能するはずです!

于 2015-03-12T10:04:27.573 に答える