zur Übersicht

Digitale Zertifikate

Lesedauer ca. 6 Minuten
16.05.2023

Digitale Zertifikate sind inzwischen Teil unseres Lebens geworden. Wir verwenden sie bei digitalen Signaturen, bei Verschlüsselung von Netzwerkverkehr bspw. bei Nutzung eines Webbrowsers, bei der Verschlüsselung von E-Mails mit S/MIME oder PGP (Pretty Good Privacy) und bei der Verwendung von Chipkarten (Bankkarten, elektronische Personalausweise etc.).


Aber was genau sind digitale Zertifikate und wie funktionieren sie?

Digitale Zertifikate sind elektronische Bescheinigungen, welche die Echtheit von Personen, Firmen, Websites oder Rechnern in der digitalen Welt bestätigen. Sie zertifizieren, dass ein öffentlicher Schlüssel zu einer bestimmten Entität gehört. Herausgegeben werden sie von vertrauenswürdigen Institutionen, den Zertifizierungsstellen – Certification Authority (CA).

Digitale%20Zertifikate_Verwendung


Zu den Aufgaben einer Zertifizierungsstelle (CA) zählen unter anderem:

  • Zertifikatsanträge bearbeiten: Identität der antragstellenden Person prüfen, Zertifikat erzeugen, signieren und ausgeben
  • den eigenen öffentlichen Key bereitstellen
  • eine Liste nicht länger vertrauenswürdiger Zertifikate pflegen und veröffentlichen (CRL = Certificate Revocation List)
  • Betreiben eines OCSP (Online Certificate Status Protocol) Responder Servers

Weiterführende Informationen sowie eine Liste von deutschen Zertifizierungsstellen (CA), die von der EU als vertrauenswürdig eingestuft sind, gibt es hier.


Daten eines Zertifikats

Neben dem Namen des Eigentümers (Einzelperson oder eine andere Entität) enthalten Zertifikate weitere Daten wie bspw.:

  • die Zertifizierungsstelle (CA)
  • die Gültigkeitsdauer (von-bis-Datum)
  • eine Seriennummer
  • den öffentlichen Schlüssel des Eigentümers
  • die Signatur der Zertifizierungsstelle
  • den Verwendungszweck
  • weitere Daten zum Eigentümer

Wenn man in einem Webbrowser auf eine Website mit Zertifikat zugreift (erkennbar am Schloss links neben der URL), kann man sich dort auch alle Daten des Zertifikats anzeigen lassen (Beispiel für https://itsonix.eu). Es besteht auch die Möglichkeit, das Zertifikat zu exportieren.

Daten%20eines%20Zertifikates


Wie funktioniert die Zertifikatsprüfung bei Websites?

  • Im Browser wird eine Website aufgerufen
  • Der Server weist sein Zertifikat und seinen öffentlichen Schlüssel vor
  • Der Browser liest den Aussteller des Zertifikats aus und prüft dessen Vertrauenswürdigkeit
  • Der Browser verfügt intern über eine Positivliste von Zertifizierungsstellen (CA) unter „Vertrauenswürdige Stammzertifizierungsstellen“ und prüft den Aussteller gegen diese Liste
  • Fällt die Überprüfung positiv aus, wird dem Zertifikat Echtheit attestiert
  • Die Gültigkeit des Zertifikats wird geprüft: Das Zertifikat darf nicht abgelaufen oder von der Zertifizierungsstelle vor Ablauf der Gültigkeitsdauer für ungültig erklärt worden sein (CRL)
  • Die Adresse des Webservers wird geprüft: Stimmt die im Zertifikat angegebene Adresse des Webservers mit der im Adressfeld des Browsers eingegebenen Adresse überein?
  • Werden alle diese Bedingungen erfüllt, beginnt der Browser mit dem Server eine SSL-Verbindung aufzubauen

Sind nicht alle Bedingungen erfüllt, weil bspw. das Zertifikat abgelaufen ist oder von einer nicht vertrauenswürdigen Quelle stammt, so wird man im Browser darauf hingewiesen. Über einen Dialog jedoch kann das Zertifikat manuell geprüft und akzeptiert werden. Hier sollte man in der Regel nicht zustimmen und wenn doch, dann gilt es, Vorsicht walten zu lassen und keinesfalls persönliche Daten preiszugeben. Unter Umständen ist man Opfer einer Phishing-Attacke geworden. Die aufgerufene Website stammt also möglicherweise nicht von der Bank, sondern von Hackern.


Was ist unbedingt auszuführen, um ein Zertifikat zu erhalten?

Wer (bspw. als besitzhabende Person einer Website) ein Zertifikat braucht, muss dieses per CSR (Certificate Signing Request) bei einer Zertifizierungsstelle (CA) beantragen. Dazu sind folgende Schritte nötig:

  • ein Schlüsselpaar erzeugen (einen privaten Schlüssel und einen öffentlichen Schlüssel) – der private Schlüssel ist zu schützen und darf keinesfalls nach außen gelangen
  • eine CSR-Datei erstellen; dabei handelt es sich um das elektronische Antragsformular. Es enthält neben der Identität der besitzhabenden Person (Antragsdaten) auch ihren öffentlichen Schlüssel
  • sich um den sogenannten Proof-of-Possession (PoP) kümmern (Besitznachweis für den zugehörigen privaten Schlüssel) – in Form einer Selbstsignatur des Antrags
  • das CSR an die Registrierungsstelle (RA = Registration Authority) zur Prüfung senden
  • die Registrierungsstelle (RA) prüft den Antrag und gibt ihn bei positivem Ausgang an die Zertifizierungsstelle (CA) weiter
  • die Zertifizierungsstelle (CA) stellt der antragstellenden Person ein neues öffentliches Zertifikat aus, indem sie eine entsprechende X.509 Datenstruktur mit ihrem privaten Schlüssel signiert, und sendet es der antragstellenden Person


Was ist eine Zertifikatskette?

Eine Zertifikatskette (auch Zertifizierungspfad) ist eine Folge digitaler Zertifikate. Dabei wird jedes Zertifikat mit dem „höheren“ Zertifikat signiert.

Zertifikatsketten bestehen in der Regel aus drei Zertifikaten:

  • dem eigentlichen SSL-Zertifikat (kurze Gültigkeitsdauer 3 Monate bis 2 Jahre)
  • einem Intermediate-Zertifikat (mittlere Gültigkeitsdauer)
  • dem Root-Zertifikat (lange Gültigkeitsdauer; in der Regel Jahrzehnte)

Zertifikatsketten sind nötig, weil es einerseits sehr aufwendig ist, die Trusted-Root-Zertifikate zu tauschen (z. B. im Betriebssystem oder im Webbrowser), es andererseits leicht möglich sein muss, ein Zertifikat zu widerrufen oder in der Gültigkeit zu beschränken.

Root-Zertifikate (bzw. die Zertifizierungsstelle (CA), die diese aufbewahrt) sind meist besonders geschützt (Zugangsschutz, Mehr-Augen-Prinzip, offline, Selbstzerstörungsmechanismen). Das ist deshalb so wichtig, weil bei einem Verlust des privaten Schlüssels automatisch alle auf diesem Root-Zertifikat basierenden SSL-Zertifikate nicht mehr vertrauenswürdig sind. Der Austausch eines Root-Zertifikats und der Intermediate-Zertifikate erfolgt im Rahmen sogenannter „Schlüsselzeremonien“ und unterliegt strengen Sicherheitsregeln.


Struktur von Zertifikaten

Im Laufe der Jahre haben sich aufgrund unterschiedlicher Anforderungen auch verschiedene Formate von Zertifikaten entwickelt. Die wichtigsten unter ihnen sind:

  • X.509: ist der bekannteste und am weitesten verbreitete Standard für digitale Zertifikate und wird u. a. verwendet für:
    • sichere Kommunikation mit Websites über SSL/TLS
    • Verschlüsselung von E-Mails mit S/MIME
    • VPN
  • ISO 7816: wird für Card Verifiable Certificates (CVC) verwendet, die in Chipkarten eingesetzt werden, um die Identität von Personen oder Organisationen zu verifizieren
  • EMV-Standard: steht für Europay, Mastercard und Visa und ist ein internationaler Standard für Chipkarten, die für den Zahlungsverkehr eingesetzt werden

Beispiel X.509-Zertifikat:

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            aa:e3:69:fc:18:ed:ac:80:5c:f7:22:bc:df:c9:1d:a7
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = US, ST = TX, L = Houston, O = "cPanel, Inc.", CN = "cPanel, Inc. Certification Authority"
        Validity
            Not Before: May  5 00:00:00 2023 GMT
            Not After : Aug  3 23:59:59 2023 GMT
        Subject: CN = itsonix.eu
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:d9:dc:76:cf:d5:87:af:86:20:ea:44:fb:81:02:
                    e4:69:3b:27:eb:85:cc:6a:9d:12:c2:48:f5:06:f5:
                    31:08:93:3b:9d:41:33:99:70:81:91:6c:4c:9e:47:
                    67:84:c7:dd:fc:fc:31:24:e1:db:8d:be:f5:22:6b:
                    4d:ca:5b:d4:6a:72:34:b6:22:4c:2e:03:b6:8b:5e:
                    48:7c:58:9e:9b:59:d4:8e:df:78:58:93:20:19:b9:
                    56:14:96:23:31:01:48:06:38:3b:22:78:c1:56:ff:
                    12:51:61:79:9a:6a:3d:e4:96:6b:8a:5f:72:c7:bd:
                    ac:11:34:2b:6a:3d:64:47:2f:82:83:01:90:2d:f6:
                    20:4d:e2:7e:0d:97:76:f9:e7:83:17:bf:d1:ad:bf:
                    b1:72:f6:c8:00:b6:33:59:37:64:e9:e8:41:69:bb:
                    a4:fd:7b:d4:19:0a:b6:65:a6:18:d5:16:4a:d7:81:
                    18:23:f2:e3:4f:7d:95:f1:e5:50:49:9b:f4:6d:c2:
                    f8:ac:8a:5c:4c:6a:75:a1:96:88:b5:0d:e3:17:81:
                    43:36:56:f4:36:7b:58:56:4d:60:25:db:c2:ed:f2:
                    bf:4e:bc:2c:36:86:da:ea:4c:98:4b:2e:bb:ad:9f:
                    c5:be:8c:11:ec:f2:71:20:2b:5b:f3:5b:ad:50:95:
                    10:c9
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Authority Key Identifier: 
                7E:03:5A:65:41:6B:A7:7E:0A:E1:B8:9D:08:EA:1D:8E:1D:6A:C7:65
            X509v3 Subject Key Identifier: 
                1B:94:0A:12:DA:21:5D:68:70:54:5D:DA:1E:4F:06:6A:2B:AE:FA:15
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Certificate Policies: 
                Policy: 1.3.6.1.4.1.6449.1.2.2.52
                  CPS: https://sectigo.com/CPS
                Policy: 2.23.140.1.2.1
            X509v3 CRL Distribution Points: 
                Full Name:
                  URI:http://crl.comodoca.com/cPanelIncCertificationAuthority.crl
            Authority Information Access: 
                CA Issuers - URI:http://crt.comodoca.com/cPanelIncCertificationAuthority.crt
                OCSP - URI:http://ocsp.comodoca.com
            CT Precertificate SCTs: 
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : AD:F7:BE:FA:7C:FF:10:C8:8B:9D:3D:9C:1E:3E:18:6A:
                                B4:67:29:5D:CF:B1:0C:24:CA:85:86:34:EB:DC:82:8A
                    Timestamp : May  5 18:44:13.208 2023 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:46:02:21:00:C8:13:97:C8:F3:8B:B9:F3:F3:3D:F3:
                                19:2E:75:6C:24:40:37:FD:D5:86:45:AA:AC:59:20:FA:
                                50:C5:91:96:9B:02:21:00:FD:BD:08:7B:48:26:2E:35:
                                85:26:0B:04:8C:75:C6:75:6C:12:8B:63:71:52:78:F8:
                                2B:7B:6D:FB:CC:7F:A7:93
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 7A:32:8C:54:D8:B7:2D:B6:20:EA:38:E0:52:1E:E9:84:
                                16:70:32:13:85:4D:3B:D2:2B:C1:3A:57:A3:52:EB:52
                    Timestamp : May  5 18:44:13.297 2023 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:46:02:21:00:9E:8E:DB:EF:5E:DD:8F:96:E6:41:FE:
                                9F:0D:57:C0:88:F8:59:5C:72:74:E7:5E:CD:CB:C4:9A:
                                21:0F:67:FE:94:02:21:00:AF:06:D0:2A:86:D7:34:8F:
                                92:FF:8E:B1:26:EF:F2:8C:40:57:C5:5D:68:76:2A:72:
                                83:B4:69:8E:E3:E2:BA:FF
            X509v3 Subject Alternative Name: 
                DNS:itsonix.eu, DNS:www.itsonix.eu
    Signature Algorithm: sha256WithRSAEncryption
    Signature Value:
        0c:db:24:3b:77:fe:7c:3b:51:fd:6d:dc:04:07:b5:26:96:e1:
        3b:bd:c2:47:5b:c9:e5:98:c4:58:5d:21:20:20:ba:bc:51:90:
        f4:0f:58:5d:e2:d7:ef:7e:5f:9d:89:71:2e:9d:65:b6:93:57:
        0a:4b:c7:29:16:cb:22:6e:c7:58:94:d0:b6:9d:45:63:2c:14:
        b8:9b:41:97:8e:e9:b3:5f:0c:91:93:26:73:20:04:82:cf:65:
        ca:e6:ad:2c:34:2f:76:6f:8f:c9:62:26:2e:f6:4e:59:de:3f:
        ce:49:b0:f2:ca:29:b9:a4:4b:bb:d9:aa:cb:e1:94:90:40:1d:
        f9:b7:5c:e7:61:d6:1e:44:13:5d:c1:ee:e8:1c:e9:36:bb:19:
        24:0e:1e:1d:f8:bd:42:71:50:d8:8a:3d:2e:77:58:91:bd:fc:
        f9:7e:d1:4d:de:6d:87:41:76:34:70:a2:a5:ee:a4:81:a4:dc:
        77:5b:7e:1c:8b:ce:29:b7:0e:87:c0:9e:7e:1e:af:b1:a2:85:
        70:0b:36:93:81:3c:b2:35:6c:f5:ab:2c:ae:78:97:6b:6d:fb:
        9e:7c:db:22:07:71:e7:7e:12:e0:94:af:63:3b:6a:c8:14:95:
        34:7f:55:7f:13:0b:1e:53:3e:0b:d0:b6:d7:cd:80:d8:97:4e:
        38:ba:1b:68


Fazit

Digitale Zertifikate bilden heutzutage die Grundvoraussetzung, um die Identität und Integrität von Daten und Kommunikationspartnern im digitalen Raum sicherzustellen. Ohne diese Zertifikate wäre es nahezu unmöglich, vertrauenswürdige Beziehungen aufzubauen und sensible Informationen online auszutauschen. Insbesondere in sicherheitskritischen Bereichen wie E-Banking oder E-Commerce sind digitale Zertifikate unabdingbar, um die Sicherheit der Transaktionen und Informationen zu gewährleisten.

Zudem nehmen digitale Zertifikate auch eine wichtige Rolle in vielen neuen und aufstrebenden Technologien und Anwendungen ein (bspw. E-Government, Smart Home, Connected Car). Hierbei geht es auch um die Authentifizierung und Autorisierung von Geräten und Systemen. Digitale Zertifikate ermöglichen es, sichere und zuverlässige Verbindungen herzustellen und Manipulationen und Angriffe zu verhindern.

Insgesamt sind digitale Zertifikate ein unverzichtbarer Bestandteil unserer digitalen Infrastruktur und werden im Zuge des voranschreitenden technologischen Wandels wohl immer wichtiger werden. Ihre Komplexität, unterschiedlichen Formate sowie regelmäßigen Aktualisierungen und Erneuerungen werden auch in Zukunft Herausforderungen bieten.