web-dev-qa-db-ja.com

SSLキー生成はクライアント側、サーバー側、またはその両方ですか?

SSL対称暗号化のセッションキーを生成するのは誰ですか?サーバーが他の部分を生成している間にクライアントが一部を生成するクライアントとサーバーの両方のクライアントですか?

7
user1157

SSLプロトコルのハンドシェイクでは、両側で同じ暗号化キーが生成され、セッションで使用されます。これは通常、次の手順に従って行われます。

  1. クライアントとサーバーはそれぞれランダムな値を生成し、互いに送信します
  2. サーバーは公開鍵をクライアントに送信します
  3. クライアントは両方のランダムな値を使用して「プレマスターシークレット」と呼ばれる値を生成し、サーバーのキーを使用してそれを暗号化してから、サーバーに送信します
  4. これで、クライアントとサーバーの両方が互いのランダムな値と「プレマスターシークレット」を持つため、この情報に基づいて、両方が同じセッションキーを生成し、それを次のメッセージの暗号化に使用できるようになります。

詳細なプロトコルの説明 については、 プロトコルの詳細な説明 を参照してください。

10
StasM