it-swarm-eu.dev

Was ist die Verwendung von Cross-Signing-Zertifikaten in X.509?

Welche Verwendung haben in der X.509-Architektur Cross-Signing-Zertifikate aus anderen Hierarchien?

Erweitert es nur das Vertrauen?


Aus der Antwort gehe ich also davon aus, dass wenn CA3 von CA2 (aus einer anderen Hierarchie) und CA1 (einem übergeordneten Element in seiner eigenen Hierarchie) kreuzsigniert ist, dessen privater Schlüssel zum Verschlüsseln des Authentifizierungs-Hashs im CA3-Zertifikat verwendet wird.

24
zcqwevb

Es geht darum, das Vertrauen zu erweitern, ja. Wenn Sie sowohl CA1 als auch CA2 vertrauen und ein Zertifikat von beiden signiert ist, haben Sie ein sehr hohes Maß an Vertrauen, da zwei Seaparate-Entitäten, denen Sie vertrauen, das Zertifikat überprüft haben.

Es hat den zusätzlichen Vorteil, dass die Überprüfung des Vertrauens einfacher wird, z. B. in Situationen, in denen Kunden Kunden haben, die CA1 oder CA2 vertrauen (aber nicht beiden). In einem solchen Fall können Sie ein Zertifikat unterzeichnen, dem beide vertrauen. Auf diese Weise können mehr Clients das Vertrauen überprüfen, ohne separate Zertifikate für verschiedene Zertifizierungsstellen verteilen zu müssen.

Ein weiterer Bonus ist in Situationen, in denen der private Schlüssel einer Zertifizierungsstelle durchgesickert ist. Angenommen, der Schlüssel von CA1 ist undicht und Ihr Zertifikat ist von CA1 und CA2 signiert. Nach dem Leck gibt CA1 einen Widerruf für seinen öffentlichen Schlüssel aus, und Sie können nichts mehr vertrauen, was von CA1 ausgegeben wurde. Da Ihr Zertifikat jedoch auch mit CA2 signiert ist, kann jeder Client, der CA2 vertraut, weiterhin ein gewisses Maß an Vertrauen in Ihr Zertifikat aufrechterhalten.

29
Polynomial

Die X.509-Spezifikationen unterstützen nur eine Signatur. Aus dem RFC über sie:

   Certificate  ::=  SEQUENCE  {
        tbsCertificate       TBSCertificate,
        signatureAlgorithm   AlgorithmIdentifier,
        signatureValue       BIT STRING  }

Um mehrere Signaturwerte zu unterstützen, müssten Sie etwas wie "Signaturwert SEQUENCE OF BIT STRING" ausführen und auch einige andere Änderungen vornehmen.

Wenn Sie ein X.509-Zertifikat haben, das von mehreren Zertifizierungsstellen signiert wurde, würde ich es gerne sehen und ein wenig nachprüfen!

9
compcert

Das verwendete Schema Let's Encrypt erfordert keine zwei Signaturen in einem einzigen Zertifikat. Soweit ich es verstehe, sieht es so aus:

This-CA Root

  • Zwischenzertifikat A (öffentlicher Schlüssel X, signiert von CA Root)

Andere CA-Root

  • Zwischenzertifikat A (öffentlicher Schlüssel X (gleich!), Signiert von Other-CA Root)

In diesem Fall gibt es zwei Instanzen desselben Zwischenzertifikats A: eine von Ihrem eigenen CA-Stamm signiert, die andere von einer anderen CA signiert. Sie haben denselben RSA-Schlüssel und alle Felder sind bis auf die Signatur gleich (eine Signatur pro Instanz der Zwischenzertifizierungsstelle). Der Client (wie der Browser) wird mit einer Zertifikatkette bedient, die nur eine Instanz des Zwischenzertifikats enthält, nicht beide, und führt zu einem von zwei Roots. Dies ist möglicherweise der einzige kompatible Weg zum "Cross-Sign".

1
Myke B