Zertifikatsvalidierung
Grundlegendes zur Validierung digitaler Zertifikate
Während der IKE-Aushandlung validiert der PKI-Daemon auf einer Firewall der SRX-Serie X509-Zertifikate, die von VPN-Peers empfangen wurden. Die durchgeführte Zertifikatsüberprüfung ist in RFC 5280, Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, spezifiziert. Zu den grundlegenden Zertifikats- und Zertifikatskettenvalidierungen gehören die Signatur- und Datumsvalidierung sowie die Widerrufsprüfung. In diesem Thema werden zusätzliche Überprüfungen digitaler Zertifikate beschrieben, die vom PKI-Daemon durchgeführt werden.
- Richtlinienvalidierung
- Validierung der Pfadlänge
- Verwendung von Schlüsseln
- Validierung des definierten Namens des Ausstellers und des Antragstellers
Richtlinienvalidierung
X509-Zertifikate können optionale Richtlinienvalidierungsfelder enthalten. Wenn ein Richtlinienvalidierungsfeld vorhanden ist, wird die Richtlinienvalidierung für die gesamte Zertifikatskette durchgeführt, einschließlich des EE-Zertifikats (End Entity) und der CA-Zertifikate (Intermediate Certificate Authority). Die Richtlinienüberprüfung gilt nicht für das Stammzertifikat. Durch die Richtlinienvalidierung wird sichergestellt, dass die EE- und Zwischenzertifizierungsstellenzertifikate über eine gemeinsame Richtlinie verfügen. Wenn keine gemeinsame Richtlinie für die zu überprüfende Zertifikatkette vorhanden ist, schlägt die Zertifikatüberprüfung fehl.
Vor der Richtlinienüberprüfung muss eine Zertifikatskette erstellt werden, die das selbstsignierte Stammzertifikat, Zwischenzertifizierungsstellenzertifikate und das EE-Zertifikat enthält. Die Richtlinienüberprüfung beginnt mit dem Zwischenzertifikat der Zertifizierungsstelle, das vom selbstsignierten Stammzertifikat ausgestellt wurde, und setzt sich über das EE-Zertifikat fort.
Die folgenden optionalen Zertifikatsfelder werden für die Richtlinienvalidierung verwendet:
policy-oids
requireExplicitPolicy
skipCerts
Diese Felder werden in den folgenden Abschnitten beschrieben.
- Richtlinien-OIDs, die auf Firewalls der SRX-Serie konfiguriert sind
- Keine Richtlinien-OIDs auf Firewalls der SRX-Serie konfiguriert
Richtlinien-OIDs, die auf Firewalls der SRX-Serie konfiguriert sind
In einigen Situationen kann es wünschenswert sein, nur Zertifikate mit bekannten Richtlinienobjektbezeichnern (OIDs) von Peers zu akzeptieren. Diese optionale Konfiguration ermöglicht eine erfolgreiche Zertifikatüberprüfung nur, wenn die vom Peer empfangene Zertifikatskette mindestens eine Richtlinien-OID enthält, die auf der Firewall der SRX-Serie konfiguriert ist.
Auf der Firewall der SRX-Serie werden Richtlinien-OIDs in einer IKE-Richtlinie mit der Konfigurationsanweisung auf der Hierarchieebene [] konfiguriert.policy-oids
edit security ike policy policy-name certificate
Sie können bis zu fünf Richtlinien-OIDs konfigurieren. Damit das Zertifikat eines Peers erfolgreich validiert werden kann, muss die Zertifikatskette des Peers mindestens eine der Richtlinien-OIDs enthalten, die auf der Firewall der SRX-Serie konfiguriert sind. Beachten Sie, dass das Feld in einem Zertifikat optional ist.policy-oids Wenn Sie Richtlinien-OIDs auf der Firewall der SRX-Serie konfigurieren, die Zertifikatskette des Peers jedoch keine Richtlinien-OIDs enthält, schlägt die Zertifikatsüberprüfung fehl.
Keine Richtlinien-OIDs auf Firewalls der SRX-Serie konfiguriert
Wenn auf der Firewall der SRX-Serie keine Richtlinien-OID konfiguriert ist, beginnt die Richtlinienvalidierung, sobald das Feld in der Zertifikatskette gefunden wird.requireExplicitPolicy Ein Zertifikat kann eine oder mehrere Zertifikatrichtlinien-OIDs enthalten. Damit die Richtlinienvalidierung erfolgreich ist, muss eine gemeinsame Richtlinien-OID in der Zertifikatskette vorhanden sein.
Abbildung 1 zeigt eine Zertifikatkette, die aus Zertifikaten für eine Stammzertifizierungsstelle, drei Zwischenzertifizierungsstellen und eine EE besteht. Das Zertifizierungsstellenzertifikat für Int-CA-2 enthält das Feld. Daher beginnt die Richtlinienüberprüfung mit Int-CA-2 und setzt sich bis EE-1 fort.requireExplicitPolicy Das Zertifikat für Int-CA-2 enthält die Richtlinien-OIDs P1, P2 und P3. Das Zertifikat für Int-CA-3 enthält die Richtlinien-OIDs P2, P3 und P4. Das Zertifikat für EE-1 enthält die Richtlinien-OIDs P2 und P5. Da die Richtlinien-OID P2 für die zu überprüfenden Zertifikate gilt, ist die Richtlinienüberprüfung erfolgreich.
Das optionale Feld in einem Zwischenzertifizierungsstellenzertifikat gibt die Anzahl der Zertifikate (einschließlich des aktuellen Zertifizierungsstellenzertifikats) an, die von der Richtlinienüberprüfung ausgeschlossen werden sollen.skipCerts Wenn der Wert 0 ist, beginnt die Richtlinienüberprüfung mit dem aktuellen Zertifikat.skipCerts Wenn der Wert 1 ist, wird das aktuelle Zertifikat von der Richtlinienüberprüfung ausgeschlossen.skipCerts Der Wert des Feldes wird in jedem Zertifikat der Zwischenzertifizierungsstelle überprüft.skipCerts Wenn ein Wert gefunden wird, der niedriger ist als die aktuelle Anzahl der auszuschließenden Zertifikate, wird der niedrigere Wert verwendet.skipCertsskipCerts
Abbildung 2 zeigt eine Zertifikatkette, die aus einer Stammzertifizierungsstelle, vier Zwischenzertifizierungsstellen und einer EE besteht. Der Wert in Int-CA-1 ist 12, wodurch 12 Zertifikate, einschließlich des Zertifikats für Int-CA-1, übersprungen werden.skipCerts Der Wert wird jedoch in jedem Zwischenzertifikat der Zertifizierungsstelle in der Kette überprüft.skipCerts Der Wert in Int-CA-2 ist 2, was niedriger als 12 ist, sodass jetzt 2 Zertifikate übersprungen werden.skipCerts Der Wert in Int-CA-4 ist 5, was größer als 2 ist, sodass der Int-CA-4-Wert ignoriert wird.skipCertsskipCerts
Wenn Richtlinien-OIDs auf der Firewall der SRX-Serie konfiguriert sind, werden die Zertifikatsfelder und ignoriert.requireExplicitPolicyskipCerts
Validierung der Pfadlänge
Die Zertifikatüberprüfung kann eine Zertifikatskette umfassen, die eine Stammzertifizierungsstelle, eine oder mehrere optionale Zwischenzertifizierungsstellen und ein EE-Zertifikat umfasst. Die Anzahl der zwischengeschalteten Zertifizierungsstellen kann je nach Bereitstellungsszenario zunehmen. Die Pfadlängenvalidierung bietet einen Mechanismus zum Begrenzen der Anzahl von Zwischenzertifikaten, die an der Zertifikatüberprüfung beteiligt sind. ist ein optionales Feld in einem X509-Zertifikat.path-length Der Wert von gibt die Anzahl der nicht selbstsignierten Zwischenzertifizierungsstellenzertifikate an, die für die Zertifikatüberprüfung zulässig sind.path-length Das letzte Zertifikat, bei dem es sich in der Regel um das EE-Zertifikat handelt, ist nicht in der Pfadbegrenzung enthalten. Wenn das Stammzertifikat den Wert 0 enthält, sind keine Zwischenzertifikate der Zertifizierungsstelle zulässig.path-length Wenn der Wert 1 ist, kann es 0 oder 1 Zwischenzertifizierungsstellenzertifikate geben.path-length
path-length kann in mehreren Zertifizierungsstellenzertifikaten in der Zertifikatskette vorhanden sein. Die Validierung der Pfadlänge beginnt immer mit dem selbstsignierten Stammzertifikat. Das Pfadlimit wird bei jedem Zwischenzertifikat in der Kette um 1 verringert. Wenn ein Zwischenzertifikat einen Wert enthält, der kleiner als der aktuelle Pfadgrenzwert ist, wird der neue Grenzwert erzwungen.path-length Wenn der Wert jedoch größer als das aktuelle Pfadlimit ist, wird er ignoriert.path-length
Abbildung 3 zeigt eine Zertifikatkette, die aus einer Stammzertifizierungsstelle, vier Zwischenzertifizierungsstellen und einer EE besteht. Der Wert in Stammzertifizierungsstelle ist 10, daher beträgt der anfängliche Pfadgrenzwert für nicht selbstsignierte Zwischenzertifizierungsstellenzertifikate, die für die Zertifikatüberprüfung zulässig sind, 10.path-length Bei Int-CA-1 beträgt der Pfadgrenzwert 10-1 oder 9. Der Wert in Int-CA-1 ist 4, was kleiner als der Pfadgrenzwert von 9 ist, sodass der neue Pfadgrenzwert 4 wird. Bei Int-CA-2 ist die Pfadbegrenzung 4-1 oder 3. Der Wert in Int-CA-2 ist 5 und damit größer als die Pfadgrenze von 3 und wird daher ignoriert.path-lengthpath-length Bei Int-CA-3 ist die Pfadbegrenzung 3-1 oder 2. Der Wert in Int-CA-3 ist 20, was größer als die Pfadgrenze von 2 ist, daher wird er ebenfalls ignoriert.path-length
Verwendung von Schlüsseln
Das Schlüsselverwendungsfeld in einem EE- oder CA-Zertifikat definiert den Zweck des im Zertifikat enthaltenen Schlüssels.
Bei EE-Zertifikaten wird das Zertifikat abgelehnt, wenn das Schlüsselverwendungsfeld vorhanden ist, das Zertifikat jedoch keine oder -Kennzeichnung enthält.digitalSignaturenonrepudiation Wenn das Feld für die Schlüsselverwendung nicht vorhanden ist, wird die Schlüsselverwendung nicht überprüft.
Bei CA-Zertifikaten kann der Schlüssel für die Zertifikats- oder CRL-Signaturüberprüfung verwendet werden. Da der PKI-Daemon sowohl für die Überprüfung des X509-Zertifikats als auch für CRL-Downloads zuständig ist, muss die Schlüsselverwendung vor dem Überprüfen des Zertifikats oder der CRL überprüft werden.
Bei der Überprüfung der Zertifikatsignatur gibt das Flag an, dass ein CA-Zertifikat für die Überprüfung der Zertifikatsignatur verwendet werden kann.keyCertSign Wenn dieses Flag nicht gesetzt ist, wird die Zertifikatsüberprüfung beendet.
In Phase 1 der Verhandlungen zur CRL-Signaturvalidierung überprüfen die Teilnehmer die Zertifikatssperrliste (Certificate Revocation List, CRL), um festzustellen, ob Zertifikate, die während eines IKE-Austauschs erhalten wurden, noch gültig sind. Die Zertifikatsperrliste wird in regelmäßigen Abständen für Zertifizierungsstellenprofile heruntergeladen, die mit der Zertifikatsperrliste als Zertifikatsperrprüfung konfiguriert sind. Heruntergeladene CRL-Dateien müssen überprüft werden, bevor sie auf das Gerät heruntergeladen werden. Einer der Überprüfungsschritte besteht darin, die CRL-Signatur mithilfe eines CA-Zertifikats zu validieren. Die heruntergeladene Zertifikatsperrliste ist mit dem privaten Schlüssel des Zertifizierungsstellenzertifikats signiert und muss mit dem auf dem Gerät gespeicherten öffentlichen Schlüssel des Zertifizierungsstellenzertifikats überprüft werden. Das Feld für die Schlüsselverwendung im Zertifizierungsstellenzertifikat muss das Flag zum Überprüfen der heruntergeladenen Zertifikatsperrliste enthalten.CRLSign Wenn dieses Flag nicht vorhanden ist, wird die Zertifikatsperrliste verworfen.
Validierung des definierten Namens des Ausstellers und des Antragstellers
Die Signaturvalidierung wird sowohl für Zertifikate durchgeführt, die von einem Peer empfangen wurden, als auch für die CRL-Datei, die von einem CA-Server heruntergeladen wurde. Bei der Signaturüberprüfung wird das CA-Zertifikat in einer CA-Datenbank basierend auf dem Distinguished Name (DN) des Ausstellers im Zertifikat oder der zu überprüfenden CRL gesucht.
Abbildung 4 zeigt die Suche nach CA-Zertifikaten basierend auf dem Aussteller-DN an. Im EE-Zertifikat lautet die Aussteller-DN CA-1, bei der es sich um den Antragsteller-DN des Zwischenzertifikats der Zertifizierungsstelle in der Kette handelt. Im Zwischenzertifizierungsstellenzertifikat lautet der Aussteller-DN CA-Root, d. h. der Antragsteller-DN des selbstsignierten Stammzertifizierungsstellenzertifikats in der Kette. In der CRL ist der Aussteller-DN CA-Root, der Antragsteller-DN des selbstsignierten Root-CA-Zertifikats.
Die Suche nach dem Aussteller- oder Betreff-DN muss den folgenden Regeln für Attributwerte entsprechen:
Es wird davon ausgegangen, dass Attributwerte, die in verschiedenen ASN.1-Typen codiert sind (z. B. PrintableString und BMPString), unterschiedliche Zeichenfolgen darstellen.
Bei Attributwerten, die in PrintableString-Typen codiert sind, wird die Groß-/Kleinschreibung nicht beachtet. Diese Attributwerte werden verglichen, nachdem führende und nachfolgende Leerzeichen entfernt und interne Teilzeichenfolgen eines oder mehrerer aufeinanderfolgender Leerzeichen in ein einzelnes Leerzeichen konvertiert wurden.
Bei Attributwerten, die in anderen Typen als PrintableString codiert sind, wird zwischen Groß- und Kleinschreibung unterschieden.
Siehe auch
Beispiel: Validierung eines digitalen Zertifikats durch Konfigurieren von Richtlinien-OIDs auf einer Firewall der SRX-Serie
In einigen Situationen kann es wünschenswert sein, nur Zertifikate mit bekannten Richtlinienobjektbezeichnern (OIDs) von Peers zu akzeptieren. Diese optionale Konfiguration ermöglicht eine erfolgreiche Zertifikatüberprüfung nur, wenn die vom Peer empfangene Zertifikatskette mindestens eine Richtlinien-OID enthält, die auf der Firewall der SRX-Serie konfiguriert ist. In diesem Beispiel wird gezeigt, wie Richtlinien-OIDs in der IKE-Richtlinie auf einer Firewall der SRX-Serie konfiguriert werden.
Sie müssen sicherstellen, dass mindestens eine der Richtlinien-OIDs, die auf der Firewall der SRX-Serie konfiguriert sind, im Zertifikat oder in der Zertifikatskette eines Peers enthalten ist. Beachten Sie, dass das Feld im Zertifikat eines Peers optional ist.policy-oids Wenn Sie Richtlinien-OIDs in einer IKE-Richtlinie konfigurieren und die Zertifikatskette des Peers keine Richtlinien-OIDs enthält, schlägt die Zertifikatüberprüfung für den Peer fehl.
Anforderungen
Bevor Sie beginnen:
Stellen Sie sicher, dass Sie Junos OS Version 12.3X48-D10 oder höher für Firewalls der SRX-Serie verwenden.
Konfigurieren Sie einen IPsec-VPN-Tunnel. Weitere Informationen finden Sie unter Übersicht über die IPsec-VPN mit Autokey-IKE-Konfiguration.IPsec-VPN mit Autokey IKE-Konfigurationsübersicht Die vollständige IKE-VPN-Tunnelkonfiguration der Phasen 1 und 2 wird in diesem Beispiel nicht angezeigt.
Überblick
Dieses Beispiel zeigt eine IKE-Richtlinienkonfiguration, in der die Richtlinien-OIDs 2.16.840.1.101.3.1.48.2 und 5.16.40.1.101.3.1.55.2 angegeben sind. Die IKE-Richtlinie verweist ike_cert_pol auf den IKE-Vorschlag ike_cert_prop, der nicht angezeigt wird. Das lokale Zertifikat auf der Firewall der SRX-Serie lautet lc-igloo-root.
Konfiguration
Verfahren
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, kopieren Sie die Befehle und fügen Sie sie in die CLI auf Hierarchieebene ein, und geben Sie sie dann aus dem Konfigurationsmodus ein .[edit]
commit
set security ike policy ike_cert_pol mode main set security ike policy ike_cert_pol proposals ike_cert_prop set security ike policy ike_cert_pol certificate local-certificate lc-igloo-root set security ike policy ike_cert_pol certificate policy-oids 2.16.840.1.101.3.1.48.2 set security ike policy ike_cert_pol certificate policy-oids 5.16.40.1.101.3.1.55.2
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus imCLI-Benutzerhandbuch.Verwenden des CLI-Editors im Konfigurationsmodushttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html
So konfigurieren Sie Richtlinien-OIDs für die Zertifikatsvalidierung:
Konfigurieren Sie die IKE-Richtlinie:
[edit security ike policy ike_cert_pol] user@host# set mode main user@host# set proposals ike_cert_prop user@host# set certificate local-certificate lc-igloo-root user@host# set certificate policy-oids 2.16.840.1.101.3.1.48.2 user@host# set certificate policy-oids 5.16.40.1.101.3.1.55.2
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den Befehl eingeben.show security ike policy ike_cert_pol
Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
user@host# show security ike policy ike_cert_pol mode main; proposals ike_cert_prop; certificate { local-certificate lc-igloo-root; policy-oids [ 2.16.840.1.101.3.1.48.2 5.16.40.1.101.3.1.55.2 ]; }
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf .commit
Überprüfung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
Verifizieren des CA-Zertifikats
Zweck
Zeigen Sie das auf dem Gerät konfigurierte CA-Zertifikat an.
Was
Geben Sie im Betriebsmodus den Befehl ein.show security pki ca-certificate ca-profile ca-tmp
user@host> show security pki ca-certificate ca-profile ca-tmp detail Certificate identifier: ca-tmp Certificate version: 3 Serial number: 00000047 Issuer: Organization: U.S. Government, Organizational unit: DoD, Organizational unit: Testing, Country: US, Common name: Trust Anchor Subject: Organization: U.S. Government, Organizational unit: Dod, Organizational unit: Testing, Country: US, Common name: CA1-PP.01.03 Subject string: C=US, O=U.S. Government, OU=Dod, OU=Testing, CN=CA1-PP.01.03 Validity: Not before: 01- 1-1998 12:01 UTC Not after: 01- 1-2048 12:01 UTC ?Public key algorithm: rsaEncryption(1024 bits) 30:81:89:02:81:81:00:cb:fd:78:0c:be:87:ac:cd:c0:33:66:a3:18 9e:fd:40:b7:9b:bc:dc:66:ff:08:45:f7:7e:fe:8e:d6:32:f8:5b:75 db:76:f0:4d:21:9a:6e:4f:04:21:4c:7e:08:a1:f9:3d:ac:8b:90:76 44:7b:c4:e9:9b:93:80:2a:64:83:6e:6a:cd:d8:d4:23:dd:ce:cb:3b b5:ea:da:2b:40:8d:ad:a9:4d:97:58:cf:60:af:82:94:30:47:b7:7d 88:c3:76:c0:97:b4:6a:59:7e:f7:86:5d:d8:1f:af:fb:72:f1:b8:5c 2a:35:1e:a7:9e:14:51:d4:19:ae:c7:5c:65:ea:f5:02:03:01:00:01 Signature algorithm: sha1WithRSAEncryption Certificate Policy: Policy Identifier = 2.16.840.1.101.3.1.48.2 Use for key: CRL signing, Certificate signing Fingerprint: e0:b3:2f:2e:a1:c5:ee:ad:af:dd:96:85:f6:78:24:c5:89:ed:39:40 (sha1) f3:47:6e:55:bc:9d:80:39:5a:40:70:8b:10:0e:93:c5 (md5)
Überprüfen der Richtlinien-OID-Validierung
Zweck
Wenn das Zertifikat des Peers erfolgreich validiert wurde, werden IKE- und IPsec-Sicherheitszuordnungen eingerichtet. Wenn die Überprüfung des Peerzertifikats fehlschlägt, wird keine IKE-Sicherheitszuordnung eingerichtet.
Was
Geben Sie im Betriebsmodus die Befehle und ein.show security ike security-associations
show security ipsec security-associations
user@host> show security ike security-associations node0: -------------------------------------------------------------------------- Index State Initiator cookie Responder cookie Mode Remote Address 821765168 UP 88875c981252c1d8 b744ac9c21bde57e IKEv2 192.0.2.2 1106977837 UP 1a09e32d1e6f20f1 e008278091060acb IKEv2 198.51.100.202
user@host> show security ipsec security-associations node0: -------------------------------------------------------------------------- Total active tunnels: 2 ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway <213909506 ESP:aes-cbc-192/sha256 8cb9e40a 1295/ unlim - root 500 192.0.2.2 >213909506 ESP:aes-cbc-192/sha256 8271d2b2 1295/ unlim - root 500 192.0.2.2 <218365954 ESP:aes-cbc-192/sha256 d0153bc0 1726/ unlim - root 1495 198.51.100.202 >218365954 ESP:aes-cbc-192/sha256 97611813 1726/ unlim - root 1495 198.51.100.202
Bedeutung
Der Befehl listet alle aktiven IKE-Phase-1-Sicherheitszuordnungen auf.show security ike security-associations
Wenn keine Sicherheitszuordnungen aufgeführt sind, gab es ein Problem mit der Einrichtung von Phase 1. Prüfen Sie in diesem Fall in den Systemprotokollen, ob die Meldung PKID_CERT_POLICY_CHECK_FAIL ist. Diese Meldung weist darauf hin, dass die Zertifikatskette des Peers keine Richtlinien-OID enthält, die auf der Firewall der SRX-Serie konfiguriert ist. Überprüfen Sie die Werte in der Zertifikatskette des Peers mit den Werten, die in der Firewall der SRX-Serie konfiguriert sind.policy-oids
Es kann auch sein, dass die Zertifikatskette des Peers keine Felder enthält , bei denen es sich um optionale Felder handelt.policy-oids Wenn dies der Fall ist, schlägt die Zertifikatsüberprüfung fehl, wenn Richtlinien-OIDs auf der Firewall der SRX-Serie konfiguriert sind.