X.509

Aus SSLplus
Wechseln zu: Navigation, Suche

Was bedeutet X.509

X.509 ist eine streng hierarchisch aufgebaute Struktur, die Ihren Ursprung im X.500 Standard hat. In der aktuellen Version X.509v3 stellt sie die Basis für den Standard der bei der Erstellung von Zertifikaten zum Einsatz kommt.

Geschichte

Seinen Ursprung hat X.509 im Jahre 1988, als der Standard mit zusammen mit Empfehlungen für den X.500 Verzeichnis Dienst von CCITT(ITU-I) herausgegeben wurde (X.509v1).

Im Jahr 1993 wurde eine überarbeitete Fassung veröffentlicht, die den Standard um 2 weitere Felder erweiterte (X.509.v2).

RFCs die 1993 veröffentlicht wurden und sich mit Internet Privacy Enhanced Mail (PEM) befassen, enthalten Spezifikationen, die eine Public Key Infrastructure (PKI) entwerfen, die auf X.509 aufbaut. Die beim Versuch der Verabschiedung von RFC1422 gemachten Erfahrungen machten deutlich, dass es notwendig war, die aktuellen Formate X.509v1 und X.509v2 nicht genug Informationen aufnahmen, um für PEM in Frage zu kommen.

In Folge dessen entwickelten ISO/IEC, ITU-T, und ANSI X9 das X.509v3 Zertifikatsformat. Der Standard wurde im Juni 1996 verabschiedet. Zusammen mit dem Standard wurden Erweiterungen herausgegeben, die zusätzliche Subjekt Informationen, Schlüsselattribute, Policy Informationen und Zertifikatspfad-Zusammenhänge enthalten können.

Die Vorgaben des Standards wurden sehr weit gefasst, weshalb es notwendig wurde, geschärfte Profilinformationen für die Verwendung im Internet zu verabschieden.

Dabei gilt momentan für die aktuelle Version X.509v3 die RFC 5280 und das Update mit RFC 6818. Zuvor wurden die Profile in der RFC 3280 mit Updates durch RFC 4325 und RFC 4630 beschrieben.

Gängige Attribute

Ein Zertifikat kann verschiedene Felder enthalten, dabei enthält das Feld tbsCertificate die Informationen zum Inhaber. Die Felder signatureAlgorithm und signatureValue beschreiben den verwendeten Signatur Algorithmus und die digitale Signatur. Gültige Signatur Algorithmen werden in den RFC [3279, 4055 und 4491 genannt. Allerdings schließt die RFC auch nicht aus das andere Algorithmen unterstützt werden könnten.

Kern Attribute

tbsCertificate enthält verschiedene Basis Felder.

  • version: zwingend erforderlich. Standardwert: v1
  • serialNumber: enthält die Seriennummer des Zertifikats
  • signature: Indentifikator des verwendeten Signatur Algorithmus
  • issuer: Distinguished Name des Ausstellers (CA)
  • validity: Datum der Gültigkeit des Zertifkates
  • subject: Subjekt / Betreff des Zertifikates enthält den Distinguished Name des Antragstellers
  • subjectPublicKeyInfo: Informationen zum öffentlichen Schlüssel/public Key des Subjekts
  • issuerUniqueID: eindeutiger Bezeichner der unterzeichnenden Entität

Attribute des Distinguished Names (DN)

Es kommen im Zertifikat mindestens zwei Distinguished Names vor, der des Aussteller (issuer) und der des Beantragenden (subject). Beide Distinguished Names enthalten eine Reihe von Informationen:

  • country: Name oder ISO Kürzel des Landes
  • organization: vollständiger Name der Organisation, so wie beurkundet
  • organizational unit: Abteilungsname, wird bei Ausstellungen für gewöhnlich übergangen
  • distinguished name qualifier: wird genutzt um sonst gleiche DNs eindeutig zu kennzeichnen (X.520)
  • state or province name: Name des Bundeslandes, Bundesstaates oder der Provinz
  • common name: gemeinsamer Name, Commonname (zB www.icertificate.eu)
  • serial number: Seriennummer des Zertifikates

Attribute die implementiert werden soll(t)en

Bis auf Locality finden die Attribute so gut wie keine Anwendung bei herkömmlichen SSL oder SMIME Zertifikaten.

  • locality: Ort
  • title: Dr, Prof, CEO usw.
  • surname: Nachname
  • given name: Vorname
  • initials: Initialen
  • pseudonym: Pseudonym
  • generation qualifier: z.B. "Jr.", "3.", "IV"

Beispiele für den Bezeichner des Subjekts im Zertifikat

Distinguished Name eines EV Zertifikates

subject=/1.3.6.1.4.1.311.60.2.1.3=DE/1.3.6.1.4.1.311.60.2.1.1=Bonn/businessCategory=Private \
Organization/serialNumber=HRB 19595/C=DE/ST=Nordrhein-Westfalen/L=Bonn/O=icertificate GmbH\
/OU=Technik/OU=Terms of use at www.verisign.com/rpa (c)05/CN=icertificate.eu

Distinguished Name eines organisationsvalidierten Zertifikates

subject:/C=DE/ST=NRW/L=Bonn/O=XYZ AG/CN=www.xyz-ag.de

Distinguished Name eines domainvalidierten Zertifikates

subject=/CN=www.dedoba.de

X.509 Erweiterungen

In SSL Zertifikaten finden sich darüber hinaus eine Reihe von Erweiterungen, die die Nutzung des Schlüssels für bestimmte Zwecke beschreiben, oder Anlaufpunkte für die CRL, Zertifikats Policies oder Subject Alternative Names enthalten.

  • X509v3 Basic Constraints: Standard Merkmal CA:FALSE
  • X509v3 Key Usage: Digital Signature, Key Encipherment
  • X509v3 Certificate Policies: zB CPS: https://www.verisign.com/cps
  • X509v3 CRL Distribution Points: URL für Certificate Revocation Lists (CRL)
  • X509v3 Extended Key Usage: zB TLS Web Server Authentication, TLS Web Client Authentication, Netscape Server Gated Crypto
  • X509v3 Authority Key Identifier: Schlüssel Fingerprint der Zertizierungsstelle
  • X509v3 Subject Alternative Name: Server Aliases, für die das Zertifikat ebenfalls gelten soll

Formate