Public-Key-Zertifikat
In einer Public-Key-Infrastruktur dient ein Zertifikat dem Nachweis, dass ein öffentlicher Schlüssel eines asymmetrischen Verschlüsselungsverfahrens zu einer angegebenen Person, Institution oder Maschine gehört. Dadurch können Authentizität, Vertraulichkeit und Integrität von Daten gegenüber Dritten garantiert werden.
Übersicht
Um sicherzugehen, dass vertrauliche Daten nicht von Unbefugten gelesen werden können, reicht es nicht aus, sie zu verschlüsseln. Man braucht zusätzlich eine Garantie, dass sie auch tatsächlich von demjenigen verschlüsselt wurden, von dem sie zu stammen scheinen.
Ebenso ist eine elektronische Unterschrift (digitale Signatur) nutzlos, solange man sich nicht sicher sein kann, von wem sie erstellt wurde.
Um zu garantieren, dass ein öffentlicher Schlüssel auch zu einer bestimmten Person gehört, stellt eine vertrauenswürdige Stelle ein Zertifikat aus.
Man kann sich also ein Zertifikat wie einen Personalausweis in digitaler Form vorstellen: Beim Personalausweis garantiert die vertrauenswürdige Stelle "Staat", dass die Unterschrift, die sich auf dem Ausweis befindet, auch tatsächlich zu der Person gehört, deren Stammdaten und Passbild sich auf dem Ausweis befinden.
Im Gegensatz zum Personalausweis werden Zertifikate aber von vielen verschiedenen Zertifizierungstellen (z.B. RegTP, Verisign, Trustcenter, u.a.) und in vielen verschiedenen Qualitätsstufen ausgegeben. Es ist Sache des Benutzers zu entscheiden, ob er dem Herausgeber des Zertifikates vertraut.
Ein Zertifikat enthält Informationen über den Namen des Inhabers, dessen öffentlichen Schlüssel, eine Seriennummer, eine Gültigkeitsdauer und den Namen der Zertifizierungsstelle. Diese Daten sind in der Regel mit dem privaten Schlüssel der Zertifizierungsstelle signiert und können somit mit dem öffentlichen Schlüssel der Zertifizierungsstelle überprüft werden. Zertifikate für Schlüssel, die nicht mehr sicher sind, können über eine so genannte Certificate Revocation List gesperrt werden.
Um die Echtheit des Zertifikates zu garantieren, wird dem Zertifikat eine digitale Signatur einer vertrauenswürdigen Organisation oder Instanz (z.B. eine Behörde) aufgeprägt. Durch dessen Signatur kann die Integrität und Echtheit des Zertifikates nachgewiesen werden. Da auch der öffentliche Schlüssel einer Zertifizierungsstelle schließlich mittels eines Zertifikats überprüfbar sein muss, ergibt sich die Notwendigkeit einer obersten Zertifizierungsinstanz. In Deutschland übernimmt die Regulierungsbehörde für Telekommunikation und Post (RegTP) diese Aufgabe. Die RegTP führt eine Liste aller akkreditierten Zertifizierungsdiensteanbieter.
Beispiel
Text-Darstellung eines X.509v3-Zertifikats (eigentlich sind Zertifikate gemäß ASN.1 kodiert):
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
Austellung eines Zertifikates
Ein Zertifikat wird von einer Zertifizierungsstelle ausgestellt. Diese ist oftmals Teil eines Trust-Centers. Je nach Qualitätsanforderung an das Zertifikat verläuft der Ausstellungsprozess auf folgende Weise:
1. Der Interessent muss sich bei der Registration Authority (RA) persönlich registrieren. An diesem Punkt gibt es die größten Qualitätsunterschiede zwischen Zertifikaten. Für manche Zertifkate ist es erforderlich, dass der Interessent persönlich erscheint und seinen Personalausweis vorlegt. Bei anderen wiederum reicht die Angabe einer gültigen E-Mail-Adresse. Je nach Qualität des Registrierungsprozesses variiert natürlich auch die Aussagekraft eines Zertifkates. Wurde ein Zertifikat aufgrund einer höchstpersönlichen Registrierung erzeugt, kann es z.B. für die Erstellung einer qualifizierten elektronischen Signatur nach dem Signaturgesetz (SiG) benutzt werden. Wurde nur die E-Mail-Adresse des Inhabers bestätigt, kann es zumindest für den authentischen E-Mail-Verkehr dienen.
2. Wurde die Registrierung abgeschlossen, erzeugt die Key Authority (KA) ein Schlüsselpaar, bestehend aus privatem und öffentlichem Schlüssel. Theoretisch ist es auch möglich, dass der Benutzer bereits ein Schlüsselpaar erzeugt hat und um die Zertifizierung seines öffentlichen Schlüssels bittet.
3. Das Zertifikat wird ausgestellt, indem die vertrauenswürdige Zertifizierungsstelle den öffentlichen Schlüssel des Benutzers digital signiert. Damit bestätigt sie, dass der Benutzer tatsächlich Eigentümer des dazu passenden privaten Schlüssels ist.
4. Das Schlüsselpaar wird an den Benutzer ausgeliefert (z.B. auf einer Chipkarte per Post) und das Zertifikat veröffentlicht.
PGP-Zertifikate
Die Verschlüsselungssoftware PGP nutzt ebenfalls Zertifikate - allerdings haben sie hier eine etwas andere Bedeutung: Ein PGP-Zertifkat wird nicht von einer vertrauenswürdigen Stelle erzeugt, sondern von normalen PGP-Benutzern. Glaubt ein Benutzer daran, dass ein öffentlicher Schlüssel tatsächlich zu der Person gehört, die ihn veröffentlicht, so erstellt er ein Zertifikat, indem er diesen öffentlichen Schlüssel signiert. Andere Benutzer können aufgrund dieses Zertifikates entscheiden, ob sie auch darauf vertrauen wollen, dass der Schlüssel zum angegebenen Benutzer gehört oder nicht. Je mehr Zertifikate an einem Schlüssel hängen, desto sicherer kann man sich sein, dass dieser Schlüssel tatsächlich dem angegebenen Eigentümer gehört.
Probleme
Zertifikate werden von vielen Stellen ausgegeben. Damit ein Zertifikat als gültig betrachtet wird, muss man der Zertifizierungsstelle vertrauen. In Webbrowsern sind aus diesem Grund schon viele Zertifizierungsstellen als vertrauenwürdig eingestuft. (z.B. im Internet-Explorer: Auf "Extras" klicken, dann auf "Internetoptionen", "Inhalte", "Zertifikate", "vertrauenwürdige Stammzertifizierungsstellen") Allerdings sind dies oft Firmen, von denen man als Benutzer noch nie etwas gehört hat, geschweige denn ihnen vertraut. Natürlich gründet sich das Vertrauen in diese Stellen darin, dass es ihr Geschäft ist, sorgsam mit Zertifikaten umzugehen. Dennoch ist es so, dass der Webbrowser oder das Mailprogramm automatisch einer Liste von unbekannten Stellen vertraut, ohne das der Benutzer Informationen darüber hat, wo sich diese Firmen befinden, nach welchen Regeln sie Zertifikate erstellen oder wie die Registrierung abläuft.
Fazit: Man gründet sein Vertrauen in digitale Unterschriften implizit auf unbekannte Stellen.
Ein zweites Problem ist, dass dem Zertifikat selbst nur schwer anzusehen ist, unter welchen Qualitätsansprüchen die Registrierung zustande gekommen ist.
Abschreckendes Beispiel ist die Ausstellung von Micorosoft-Zertifikaten durch Verisign an Personen, die sich fälschlicherweise als Microsoft-Mitarbeiter ausgegeben hatten. Mit diesen Zertifikaten hatten die Betrüger nun eine vertrauenswürdige Garantie, dass sie zur Firma Microsoft gehören.
Es wäre also möglich gewesen,
- authentische Mails im Namen von Microsoft zu verschicken
- signierten Programmcode im Namen von Microsoft ausführen zu lassen
- uvm.
Obwohl diese Zertifikate sofort zurückgezogen wurden, nachdem der Fehler bemerkt wurde, ist dieser Fall ein Zeichen dafür, dass man sich nicht immer auf die Vertrauenswürdigkeit von Zertifizierungsstellen verlassen kann. Obendrein sind viele Browser so eingestellt, dass sie nicht ständig überprüfen, ob Zertifikate zurückgezogen wurden. In diesen Fällen wäre die Sperrung gar nicht bemerkt und die falschen Zertifikate würden immer noch als echt angesehen.
(Wer nachsehen möchte: Im Internet Explorer sind die beiden zurückgezogenen Zertifikate unter "Extras"->"Internetoptionen"->"Inhalte"->"Zertifikate"->"Nicht vertrauenswürdige Herausgeber" zu sehen. Sie sind mit "Fraudulent, NOT Microsoft" versehen)
Anbieter
kostenlose SSL-Zertifikate für jedermann
- CAcert www.cacert.org
Zertifizierungsdiensteanbieter mit Anbieterakkreditierung
- Authentidate International AG, Düsseldorf (Zeitstempel)
- D-Trust GmbH, Berlin (Zertifikat + Zeitstempel)
- DATEV e.G., Nürnberg (Zertifikat + Zeitstempel)
- Deutsche Post Com GmbH, GF SignTrust, Bonn (Zertifikat + Zeitstempel)
- Deutsche Telekom AG, GF TeleSec, Netphen (Zertifikat + Zeitstempel)
- TC TrustCenter AG, Hamburg (Zertifikat + Zeitstempel)
- weitere Rechtsanwalts-, Steuerberater- oder Wirtschaftsprüferkammern (i.d.R. Zertifikat + Zeitstempel)
(siehe vollständige Liste bei RegTP)
Siehe auch
- Technische Aspekte
- Nutzung/Praxis
- Elektronische Signatur ("elektronische Unterschrift")
Weblinks
- http://www.regtp.de (Zentrale Stelle in Deutschland zur Registrierung als Zertifizierungsdiensteanbieter)
- http://www.signatur.rtr.at/ Aufsichtsstelle für elektronische Signaturen gemäß österreichischem Signaturgesetz
- Gratiszertifikate zu Test- oder Ausbildungszwecken