Herstellen einer SSL-Verbindung nur mit der Stammzertifizierungsstelle im Vertrauensspeicher

608
Keshava

Ich habe eine SSL-Client / Server-Anwendung.

Mein SSL-Client hat nur eine Stammzertifizierungsstelle (nennen wir ihn rootCA1), die in seinem Trust Store konfiguriert ist.
Mein SSL-Server erstellt jedoch ein Zertifikat, das von einer zwischengeschalteten Zertifizierungsstelle signiert wird (nennen wir es interCA1).
Das Zertifikat der Zwischenzertifizierungsstelle (wir nennen es deviceCert) wird von rootCA1 (dem Client vertraut) signiert. Der SSL-Server erstellt die Zertifikate von interCA1 sowie rootCA1 zusammen mit deviceCert während ssl-hallo.

Openssl lehnt jetzt eine solche Verbindung auf der Clientseite ab.

OpenSL sollte in der Lage sein, die Vertrauenskette durch einen Blick aufzubauen
deviceCert--signed by-->interCA1--signed by-->rootCA1

Da es rootCA1 vertraut, kann die Vertrauenskette in meinem Verständnis gesehen werden.

Warum versagt es also? Warum müssen Zwischen-CAs im Trust Store des Kunden zusammenarbeiten?

0
"Warum ist eine Zwischenzertifizierungsstelle erforderlich?" - Die gesamte Kette muss vertrauenswürdig sein, damit das Zertifikat vertrauenswürdig ist. Das Vertrauen in die Stammzertifizierungsstelle reicht nicht aus. Ramhound vor 6 Jahren 0
Meine Annahme war, da Sie der Stammzertifizierungsstelle vertrauen, können Sie allen Parteien vertrauen, die von einer von der Stammzertifizierungsstelle zertifizierten Partei zertifiziert sind. Vielleicht ist meine Annahme naiv. Keshava vor 6 Jahren 0
@ Keshava: Wenn der Server sowohl Server- als auch Kettenzertifikate bereitstellt, kann der Client die vollständige Vertrauenskette bis zur lokalen Stammzertifizierungsstelle überprüfen. Wenn die Server die Kettenzertifikate nicht bereitstellen, kann der Client die lokale Vertrauenskette nicht erstellen, da er die fehlenden Zertifikate der Kette nicht kennt. Beachten Sie, dass der Server die Stammzertifizierungsstelle nicht im TLS-Handshake bereitstellen sollte und dass die Zertifikate in der richtigen Reihenfolge sein müssen. Steffen Ullrich vor 6 Jahren 0

1 Antwort auf die Frage

-2
Keshava

Ich denke, der Grund für die Konfiguration aller Zertifikate der zwischengeordneten CAs ist folgender.

Nehmen wir für Argumente an, dass nur das Zertifikat der Stammzertifizierungsstelle in der Vertrauenskette vorhanden sein muss.
Der Client kann dann allen von der Stammzertifizierungsstelle signierten Zertifikaten sowie jeder anderen zwischengeschalteten Zertifizierungsstelle vertrauen, deren Zertifikat von der Stammzertifizierungsstelle (oder von einer anderen Zwischenzertifizierungsstelle, die ein von der Stammzertifizierungsstelle signiertes Zertifikat besitzt) signiert wird.

Wenn nun der private Schlüssel der Zwischenzertifizierungsstelle aus irgendeinem Grund gefährdet ist, wäre dies ein Problem.

Durch die Konfiguration der Zwischenzertifizierungsstellen im Vertrauensspeicher erklärt der Client also, dass er den von ihm signierten Zertifikaten vertraut, und sein privater Schlüssel ist nicht gefährdet.

Natürlich gibt es CRLs, aber das ist ein Unterthema