Zum Hauptinhalt springen

3. Client-Authentifizierung

Dieses Dokument definiert einen Mechanismus zur Client-Authentifizierung, der nach der Art des beteiligten Client-Zertifikats benannt ist: ECDSA_sign. Der ECDSA_sign-Mechanismus kann mit jedem der in Abschnitt 2 beschriebenen nicht-anonymen ECC-Schlüsselaustauschalgorithmen sowie mit anderen in TLS definierten nicht-anonymen (nicht-ECC) Schlüsselaustauschalgorithmen verwendet werden.

Beachten Sie, dass Client-Zertifikate mit EdDSA-öffentlichen Schlüsseln ebenfalls diesen Mechanismus verwenden.

Ein Server kann eine ECC-basierte Client-Authentifizierung anfordern, indem er diesen Zertifikatstyp in seine CertificateRequest-Nachricht aufnimmt. Ein Client muss prüfen, ob er ein für die vom Server vorgeschlagene Methode geeignetes Zertifikat besitzt und bereit ist, dieses zur Authentifizierung zu verwenden.

Wenn diese Bedingungen nicht erfüllt sind, SOLLTE (SHOULD) der Client eine Client-Certificate-Nachricht senden, die keine Zertifikate enthält. In diesem Fall MUSS der ClientKeyExchange wie in Abschnitt 2 beschrieben gesendet werden, und das CertificateVerify DARF NICHT gesendet werden (MUST NOT). Wenn der Server eine Client-Authentifizierung benötigt, kann er mit einem fatalen Handshake-Failure-Alert antworten.

Wenn der Client ein geeignetes Zertifikat besitzt und bereit ist, es zur Authentifizierung zu verwenden, muss er dieses Zertifikat in der Client-Certificate-Nachricht senden (gemäß Abschnitt 5.6) und den Besitz des privaten Schlüssels nachweisen, der dem zertifizierten Schlüssel entspricht. Der Prozess zur Bestimmung eines geeigneten Zertifikats und zum Nachweis des Besitzes ist für jeden Authentifizierungsmechanismus unterschiedlich und wird im Folgenden beschrieben.

HINWEIS: Es ist einem Server gestattet, ein Client-Zertifikat eines anderen Typs als das des Server-Zertifikats anzufordern (und dem Client zu senden).

3.1. ECDSA_sign

Um diesen Authentifizierungsmechanismus zu verwenden, MUSS der Client ein Zertifikat besitzen, das einen zu ECDSA oder EdDSA fähigen öffentlichen Schlüssel enthält.

Der Client weist den Besitz des privaten Schlüssels, der dem zertifizierten Schlüssel entspricht, nach, indem er eine Signatur in die CertificateVerify-Nachricht aufnimmt, wie in Abschnitt 5.8 beschrieben.