X509

X509

X.509 ist ein ITU-T-Standard für eine Public-Key-Infrastruktur und derzeit der wichtigste Standard für digitale Zertifikate. Aktuell ist Version 3 (X.509v3).

Inhaltsverzeichnis

Geschichte

X.509 wurde erstmals 1988 veröffentlicht. Die Entwicklung von X.509 begann in Verbindung mit dem X.500-Standard (der nie vollständig implementiert wurde) und setzt ein striktes hierarchisches System von vertrauenswürdigen Zertifizierungsstellen (engl. certificate authority, kurz CA) voraus, die Zertifikate erteilen können. Dieses Prinzip steht im Gegensatz zum Web-of-Trust-Modell, bei dem jeder ein Zertifikat „unterschreiben“ und damit seine Echtheit beglaubigen kann (siehe z. B.: PGP).

Version 3 von X.509 (X.509v3) beinhaltet die Flexibilität, mit Profilen erweitert zu werden. Das wichtigste Profil entwickelte die IETF im Zusammenhang des PKIX-Standards. Der Begriff „X.509-Zertifikat“ bezieht sich meist auf das IETF-Profil des X.509-v3-Zertifikatstandards wie in RFC 3280 (aktuelle Version: RFC 5280) definiert.

Zertifikate

Ein von einer Zertifizierungsstelle ausgestelltes digitales Zertifikat wird im X.509-System immer an einen „Distinguished Name“ oder einen „Alternative Name“ wie eine E-Mail-Adresse oder einen DNS-Eintrag gebunden.

Nahezu alle Webbrowser beinhalten eine vorkonfigurierte Liste vertrauenswürdiger Zertifizierungsstellen, deren ausgestellten SSL-Zertifikaten der Browser vertraut.

X.509 beinhaltet außerdem einen Standard, Zertifikate seitens der Zertifizierungsstelle wieder ungültig zu machen, indem die Zertifizierungsstelle ungültige Zertifikate in Zertifikatsperrlisten (certificate revocation list, kurz CRL) führt.

Struktur eines X-509-v3-Zertifikats

  • Zertifikat
    • Version
    • Seriennummer
    • Algorithmen-ID
    • Aussteller
    • Gültigkeit
      • von
      • bis
    • Subject
    • Subject Public Key Info
      • Public-Key-Algorithmus
      • Subject Public Key
    • Eindeutige ID des Ausstellers (optional)
    • Eindeutige ID des Inhabers (optional)
    • Erweiterungen
  • Zertifikat-Signaturalgorithmus
  • Zertifikat-Signatur

Herausgeber und Inhaber ID wurden in Version 2 eingeführt, Erweiterungen in Version 3.

Erweiterungen

Erweiterungen oder Extensions sind inzwischen ein sehr wichtiger Bestandteil eines Zertifikates geworden. Erweiterungen haben die folgende Unterstruktur:

  • Erweiterungs-ID
  • Flag (kritisch/unkritisch)
  • Value

Jede Erweiterung hat eine spezifische ID. Die Flags dienen der schrittweisen Einführung einer neuen Erweiterung. So sind neue Erweiterungen zu Beginn als unkritisch markiert. Eine Implementierung, die auf eine unbekannte unkritische Erweiterung trifft, kann diese ignorieren. Wird eine Erweiterung mit der Zeit allerdings nach ausreichendem Testen auf kritisch gesetzt, so muss ein Zertifikat mit unbekannter kritischer Erweiterung als ungültig erachtet werden. Beispiele für Erweiterungen sind

  • KeyUsage: gibt an, für welche Anwendung dieses Zertifikat ausgestellt wurde. Ein CA-Zertifikat muss hier bspw. keyCertSign und CRLsign eingetragen haben
  • BasicConstraints: Transitivitätsvertrauen ist ohne diese Erweiterung unmöglich. Die BasicConstraints bestehen aus
    • CA: gibt an, ob das Zertifikat zu einer CA gehört. In einer Zertifikatskette muss jedes Zertifikat außer das der letzten Instanz (des Users/Servers) als CA markiert sein
    • PathLen: gibt an, wie lang die Zertifikatskette maximal sein darf

Dateinamenserweiterungen für Zertifikate

Übliche Dateinamenserweiterungen für X.509-Zertifikate sind:

  • .CERCER-kodiertes Zertifikat oder Zertifikatsfolgen
  • .CRTDER- oder Base64-kodiertes Zertifikat
  • .DERDER-kodiertes Zertifikat
  • .P12PKCS#12, kann öffentliche Zertifikate und private Schlüssel (Kennwort-geschützt) enthalten.
  • .P7B – Siehe .p7c
  • .P7C – PKCS#7-signierte Datenstruktur ohne Dateninhalt, nur mit Zertifikat(en) oder Zertifikatsperrliste(n)
  • .PEMBase64-kodiertes Zertifikat, umschlossen von „-----BEGIN CERTIFICATE-----“ und „-----END CERTIFICATE-----“
  • .PFX – Siehe .p12

PKCS #7 ist ein Standard zum Signieren und Verschlüsseln von Daten. Da das Zertifikat gebraucht wird, um die signierten Daten zu verifizieren, kann es in der „SignedData“-Struktur untergebracht werden. Eine .p7c-Datei ist der Spezialfall einer Datei, die keine Daten zum Signieren enthält, sondern nur die „SignedData“-Struktur.

PKCS #12 entwickelte sich aus dem PFX(Personal inFormation eXchange)-Standard und wird benutzt, um öffentliche und private Schlüssel in einer gemeinsamen Datei auszutauschen.

Eine .PEM-Datei kann Zertifikate und/oder private Schlüssel enthalten, die von entsprechenden BEGIN/END-Zeilen umschlossen sind.

Beispiel für ein X.509-Zertifikat

Text-Darstellung eines nach X.509v3 (Version 3) aufgebauten digitalen Zertifikats. (Die Struktur basiert auf ASN.1.):

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1 (0x1)
        Signature Algorithm: md5WithRSAEncryption
        Issuer: C=XY, ST=Austria, L=Graz, O=TrustMe Ltd, OU=Certificate Authority, CN=CA/Email=ca@trustme.dom
        Validity
            Not Before: Oct 29 17:39:10 2000 GMT
            Not After : Oct 29 17:39:10 2001 GMT
        Subject: C=DE, ST=Austria, L=Vienna, O=Home, OU=Web Lab, CN=anywhere.com/Email=xyz@anywhere.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:c4:40:4c:6e:14:1b:61:36:84:24:b2:61:c0:b5:
                    d7:e4:7a:a5:4b:94:ef:d9:5e:43:7f:c1:64:80:fd:
                    9f:50:41:6b:70:73:80:48:90:f3:58:bf:f0:4c:b9:
                    90:32:81:59:18:16:3f:19:f4:5f:11:68:36:85:f6:
                    1c:a9:af:fa:a9:a8:7b:44:85:79:b5:f1:20:d3:25:
                    7d:1c:de:68:15:0c:b6:bc:59:46:0a:d8:99:4e:07:
                    50:0a:5d:83:61:d4:db:c9:7d:c3:2e:eb:0a:8f:62:
                    8f:7e:00:e1:37:67:3f:36:d5:04:38:44:44:77:e9:
                    f0:b4:95:f5:f9:34:9f:f8:43
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Alternative Name:
                email:xyz@anywhere.com
            Netscape Comment:
                mod_ssl generated test server certificate
            Netscape Cert Type:
                SSL Server
    Signature Algorithm: md5WithRSAEncryption
        12:ed:f7:b3:5e:a0:93:3f:a0:1d:60:cb:47:19:7d:15:59:9b:
        3b:2c:a8:a3:6a:03:43:d0:85:d3:86:86:2f:e3:aa:79:39:e7:
        82:20:ed:f4:11:85:a3:41:5e:5c:8d:36:a2:71:b6:6a:08:f9:
        cc:1e:da:c4:78:05:75:8f:9b:10:f0:15:f0:9e:67:a0:4e:a1:
        4d:3f:16:4c:9b:19:56:6a:f2:af:89:54:52:4a:06:34:42:0d:
        d5:40:25:6b:b0:c0:a2:03:18:cd:d1:07:20:b6:e5:c5:1e:21:
        44:e7:c5:09:d2:d5:94:9d:6c:13:07:2f:3b:7c:4c:64:90:bf:
        ff:8e

Literatur

X.509 Information technology – Open Systems Interconnection – The Directory: Public-key and attribute certificate frameworks

Siehe auch

Weblinks

  • RFC 3280 (Internet X.509 Public Key Infrastructure, Certificate and CRL Profile) (Obsolet)
  • RFC 5280 (Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile)
  • www.jweck.net – Monitoring von X.509 basierenden Zertifikaten

Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • X509 — ● np. m. ►COP Voir Xx …   Dictionnaire d'informatique francophone

  • Year 2038 problem — The year 2038 problem (also known as Unix Millennium bug , or Y2K38 by analogy to the Y2K problem) may cause some computer software to fail before or in the year 2038. The problem affects all software and systems that store system time as a… …   Wikipedia

  • Ctb — In dieser Liste sind übliche Dateinamenserweiterungen aufgelistet, die in einigen Betriebssystemen (wie zum Beispiel Microsoft Windows) zur Unterscheidung von Dateiformaten verwendet werden. In anderen Betriebssystemen erfolgt die… …   Deutsch Wikipedia

  • Liste der Dateiendungen/C — In dieser Liste sind übliche Dateinamenserweiterungen aufgelistet, die in einigen Betriebssystemen (wie zum Beispiel Microsoft Windows) zur Unterscheidung von Dateiformaten verwendet werden. In anderen Betriebssystemen erfolgt die… …   Deutsch Wikipedia

  • Liste von Dateinamenserweiterungen/C — In dieser Liste sind übliche Dateinamenserweiterungen aufgelistet, die in einigen Betriebssystemen zur Unterscheidung von Dateiformaten verwendet werden. In anderen Betriebssystemen erfolgt die Dateitypenidentifikation hauptsächlich über den… …   Deutsch Wikipedia

  • Carte de Professionnel de Santé — La Carte de Professionnel de Santé (CPS) est une carte à puce utilisée en France afin d assurer la confidentialité de l’accès aux données personnelles dans le cadre des applications de santé communicantes. Elle est délivrée par le GIP CPS… …   Wikipédia en Français

  • Carte des Professionnels de Santé — Carte de Professionnel de Santé La Carte de Professionnel de Santé (CPS) est une carte à puce utilisée en France afin d assurer la confidentialité de l’accès aux données personnelles dans le cadre des applications de santé communicantes. Elle est …   Wikipédia en Français

  • Carte de professionnel de santé — La Carte de Professionnel de Santé (CPS) est une carte à puce utilisée en France afin d assurer la confidentialité de l’accès aux données personnelles dans le cadre des applications de santé communicantes. Elle est délivrée par le GIP ASIP Santé… …   Wikipédia en Français

  • Autorite de certification — Autorité de certification En cryptographie, l Autorité de certification (AC ou CA) a pour mission, après vérification de l identité du demandeur du certificat par une autorité d enregistrement, de signer, émettre et maintenir les certificats… …   Wikipédia en Français

  • Autorité De Certification — En cryptographie, l Autorité de certification (AC ou CA) a pour mission, après vérification de l identité du demandeur du certificat par une autorité d enregistrement, de signer, émettre et maintenir les certificats (CSR : Certificate… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”