Die Aufgaben einer Zertifizierungsstelle (Certificate Authority)

Auf vielen Seiten fällt immer der Begriff der "Zertifizierungsstelle" bzw. "Certificate Authority (CA)". Auf der Seite SSL-Grundlagen können Sie mehr über die Bedeutung von privaten und öffentlichen Schlüsseln lesen. Wenn ich ihnen meinen öffentlichen Schlüssel bereit stelle, damit Sie mir verschlüsselt senden bzw. die Signatur prüfen können, dann müssen Sie natürlich sicher sein, das es tatsächlich "mein" öffentlicher Schlüssel ist und nicht irgend jemand anderes sich als "Frank Carius" ausgibt. Das gleiche gilt, wenn Sie per HTTPS auf die Webseite ihrer Bank oder den VPN-Knoten ihres Unternehmens zugreifen. Auch mein öffentlicher Schlüssel und Informationen über meine Mailadresse, Gültigkeitszeitraum oder die Webadresse müssen als Einheit von jemand anderem beglaubigt werden. Das kann eine hierarchisch organisierte PKI-Struktur sein aber auch eine kleine interne einstufige CA, wenn Sie nur "flüchtige" Zertifikate ohne Key-Recovery-Bedarf ausstellt.

Vertrauen

Eigentlich sollte dieses Wort ganz oben stehen denn bei der Betrachtung einer PKI geht es darum, dass eine übergeordnete Instanz die Integrität eines Zertifikats und des darin enthaltenen Schlüsselmaterials bestätigt. Dazu ist es natürlich wichtig, dass sie nur genau den Stammzertifizierungsstellen vertrauen, denn Sie vertrauen können. Wichtig ist, dass die beglaubigende Stelle natürlich auf ihrem Computer aufgeführt ist. Das erfolgt schon durch die Installation ihres Browsers, der Applikation oder des Betriebssystems. Hier am Beispiel des Internet Explorer, welcher auf die in Windows hinterlegten Zertifikate zugreift:


Stammzertifikate in Internet Explorer 8 / Windows 7

Letztlich obliegt es erst einmal dem Hersteller einer Software, welche Zertifizierungsstellen "vertrauenswürdig" sind und so bekommen Sie mit der Installation von Windows eine kleine Liste mit. Windows XP und höher können dynamisch selbst neue Stammzertifizierungsstellen von Microsoft nachladen, wenn der Computer ins Internet darf.

Zu viele Stammzertifikate sind natürlich auch kontraproduktiv. Nicht nur weil Sie letztlich ganz vielen Stellen vertrauen und da kann schon mal die ein oder andere wieder das Vertrauen entzogen werden. Auch gibt es die ein oder anderen Limits in Feldern, die zum Tragen kommen.

Diese Funktion ist zwar nett aber kann an verschiedenen Stellen erst mal die Funktion verhindern. Oft sehe ich das Problem in Verbindung mit Lync Edge-Server, die Zertifikate zur Identifizierung nutzen und Federation nicht funktioniert. Auch im ISA-Server kann man dies sehen

Andere Programme wie z.B. Firefox oder Thunderbird haben eigene Zertifikatsspeicher mit vertrauenswürdigen Stammzertifizierungsstellen:

 
Stammzertifikate in Firefox 3.5

Die kommerziellen CAs

Auch wenn Windows, Internet Explorer und andere Programme Stammzertifikate mitliefern, so gibt es doch immer wieder Probleme, weil der Server die Root-Updates nicht beziehen kann (Firewall, Versionen etc.) oder auch die Zertifizierungsstellen nicht immer glücklich bei der Namensvergabe sind. Das ist zum Teil auch der Übernahmeschlacht geschuldet (siehe auch CA-Auswahl) bei der eine CA dann gleich mehrere Stammzertifizierungsstellen besitzt (bei Verisign sind es allein 11 RootCAs (stand Mai 2011) zzgl. die Stämme von zugekauften CA's.

Und oft bauen Zertifizierungsstellen neue CAs auf, reichen die Stamm-CAs als "trusted" bei verschiedenen Herstellern (z.B. Microsoft) ein, damit diese verteilt werden. Aber wenn Sie dann ein "altes" Betriebssystem (z.B. Windows 2000, Windows Mobile 5) haben, für die es keine automatischen Stamm-CA-Updates mehr gibt oder Linux-Distributionen diese neuen Zertifikate noch nicht enthalten, dann bekommen die Clients wieder eine Warnung. So passiert, als die Deutsche Telekom ihre CA4 installiert und Zertifikate ausgestellt hat, die aber (noch) nicht vertrauenswürdig waren.

Etwas kniffliger sind Änderungen zu erkennen, wie mit das bei VeriSign aufgefallen ist. Aus einer Zwischenzertifizierungsstelle wurde plötzlich eine Stammzertifizierungsstelle, deren "sichtbarer" Namen aber gleich geblieben ist.

Das gleiche öffentliche Zertifikat sieht je nach installiertem Root-Zertifikat dann einmal so oder so aus.

Wenn der Client als das Zertifikat "VeriSign" schon hat, was im Innern das "VeriSign Class 3 Public primary Certification Authority G5" ist. dann funktioniert auch das "neuere" Zertifikate.

Trau schau wem!

Aufgrund des "Vertrauens" sollten sie nun nicht jeder Aufforderung eines Lieferanten oder Kunden nachkommen, eine RootCA als vertrauenswürdig zu addieren. Dier Administrator einer Zertifizierungsstelle kann natürlich steuern, welche Zertifikate er ausstellt. Er kann seine PKI über entsprechende Vorlagen genaue anpassen, dass Sie z.B. nur SMIME-Zertifikat oder Computerzertifikate ausstellt. Sie, der dieser Zertifizierungsstelle aber vertraut, kann nicht individuell steuern, welche Zertifikate akzeptiert werden. Das ist durchaus zu hinterfragen, wenn ein Kunde Sie zur Installation eines Rool-Zertifikats auffordert. So gesehen auf https://www.aldi-sued.com/cert/ am 22. Jan 2018.

Aldi Süd scheint intern mit einer eigenen PKI zu arbeiten, die Zertifikate für S/MIME ausstellt. Wenn Sie also eine digital signierte Mail eines Mitarbeiters bekommen und so theoretisch ihm auch verschlüsselt senden könnten, dann müssen Sie natürlich der Aldi-PKI vertrauen. Diese könnte aber dann auch Zertifikat für jede andere URL (z.B.: Homebanking) ausstellen. Das muss ja nicht mit Vorsatz passieren.

Wie komme ich zum Zertifikat ?

Damit sie nun Verschlüsseln und signieren können, müssen Sie natürlich ein Zertifikat auf ihrem PC installieren, dass von einer Zertifizierungsstelle ausgestellt sein muss.

  • Selbstzertifikat (SelfSSL, New-ExchangeCertificate)
    Im IIS Ressource Kit gibt es ein Programm SelfSSL, mit welchem Sie einfach ein Zertifikat vom Server für den Server selbst erstellen können. Auch Exchange 2007 und höher erlauben das schnelle Ausstellen eines Selbstzertifikats. Aber das ist nur eine Bastellösung
  • Sie können sich natürlich eine Private CA installieren (Siehe CA installieren) und dann ein Clientzertifikat anfordern. Es soll wohl auch Mailprogramme geben, die von sich aus ein Zertifikat selbst erstellen können. Natürlich "vertraut "erst mal niemand diesem Zertifikat aber für eine Signatur und Verschlüsselung im privaten Bereich kann das schon ausreichend sein. Sie sollten nur vor dem Einsatz dem Kommunikationspartner eben den Public-Key über eine signierte Mail zusenden und dann z.B.: per Telefon oder Fingerprint auf ihrer Webseite oder Briefpaper dem Empfänger die Chance zu Überprüfung geben.
  • Kostenfreies persönliches Zertifikat
    Den Umweg einer eigenen CA können Sie sich sparen, wenn sie einen Dienstleister verwenden, der ihnen kostenfrei ein persönliches Zertifikat ausstellt. Diesen Weg nutzen einige Anbieter wie www.trustcenter.de oder www.thawte.com , um neue Benutzer zu erreichen und ihnen jedes Jahr mit der Aufforderung zur Verlängerung auch ein kommerzielles Zertifikat gegen Geld anzubieten.
    Diese kostenfreien persönlichen Zertifikate reichen auch für eine grundlegende Sicherung aus. Da aber die ausstellende CA quasi nur die Mailadresse prüft, garantiert das Zertifikat auch nur, dass der Besitzer der Mailadresse auch der Sender und Empfänger ist. Aber Sie können natürlich nichts über den Mensch hinter einer Mailadresse herausfinden.
  • Kommerzielles persönliches Zertifikat
    Sie können als Privatperson aber auch ein kommerzielles Zertifikat mit Überprüfung ihrer Identität (z.B. Personalausweis, Auszug aus dem Melderegister, Telefonbucheintrag etc.) gegen Gebühr erhalten. Diese Zertifikate sind dann "besser" und erfüllen teilweise sogar die "qualifizierte Signatur", die Sie für den geschäftlichen Bedarf (z.B. elektronische Unterschrift für das Finanzamt oder Dokumente) benötigen. Als Zusätzlicher Schutz wird das Zertifikat dazu meist auf einer Chipkarte mit PIN gesichert abgelegt.
    So bietet die Sparkassenorganisation S-Trust Zertifikate für 20 Euro/Jahr an.
    Für einen Webserver können sie über einen der vielen Dienstleister sich ein offizielles Zertifikat (gegen Gebühr) kaufen. Das ist natürlich der beste Weg, wenn Sie ihren Server im Internet veröffentlichen.
  • Firmenzertifikat
    Besonders" große" Firmen können natürlich eine eigene CA installieren und diese von einer bekannten Stamm-CA zertifizieren lassen. Allerdings ist dies eher eher kostspielige Angelegenheit, da die Stamm-CA natürlich einen gewissen Sicherheitsstandard dieser Subordinate-CA sicherstellen muss. Schließlich wäre jedes von dieser CA ausgestelltes Zertifikat mit dem Namen der Stamm-CA verbunden. Zum anderen ist auch das Geld hier ein Faktor. Die Firma könnte ja sehr viele Zertifikate ausstellen. Meist möchte der Betreiber der Stamm-CA natürlich daran prozentual teilnehmen.

Sie haben also eine ganze Liste von Optionen zum eigenen Zertifikat zu kommen. Wobei Firmen intern mit einer eigenen CA ganz gut starten könnten oder direkt eine Gateway-Lösung einsetzen. Privatpersonen könnten mit einem persönlichen Zertifikat sehr einfach ausgehende Mails signieren und verschlüsselt empfangen.

Warum die Banken ideale Aussteller für Zertifikate wären!

Sie haben nun gelesen, welche Wege sie haben, um ein Zertifikat zu erhalten. Aber für die Masse der Personen entfallen die Optionen Selbstzertifikat, Firmenzertifikat und Eigenzertifikat. Aber der Weg zum offiziellen Zertifikat ist nicht müssen tauglich, auch wenn er doch ganz einfach ist. (Siehe Clientzertifikat/SMIME). Natürlich gibt es Personen die hier nach dem Staat rufen. Unser Staat könnte ja Zertifikate auf den Personalausweis hinterlegen. Andere sehen die "Krankenversichertenkarte" als Alternative, da sie nicht so lange gültig ist. Ich sehe aber in unsern Hausbanken und vielleicht Kreditkartenunternehmen die idealen Instanzen, um Zertifikate unters Volk zu bringen. Mehrere Faktoren sprechen dafür:

  • Sie sind per Gesetz schon immer verpflichten die Identität zu prüfen
    Die Prüfung kann sogar per Präsenz in der Filiale erfolgen
  • Sie betreiben/Betrieben teilweise schon Zertifizierungsstellen
    Der Verbund der Sparkassen hat einige Zeit mit S-Trust eine PKI betrieben. Aber anscheinend geht man da wohl die in andere Richtung, denn auf https://www.s-trust.de/index.htm war am 27. Feb 2018 zu lesen:
    .
  • Sie haben die Infrastruktur, um Karten auszugeben
    Wer sonst kann so schnell verlorene Karten mit Chip ausstellen, sicher verteilen und mit Informationen versehen
  • Sie haben die Infrastruktur um Karten einzuziehen
    Jeder Geldautomat könnte genutzt werden, um eine "gestohlenes Zertifikat" samt Karte einzuziehen.

Ich verstehe die Passivität an dieser Stelle auch schon daher nicht, weil genau die Banken und Sparkassen sehr schnell auch davon profitieren könnten wie folgende Beispiele zeige:

  • Kontoauszüge/Zahlungsavise per S/MIME Mail
    Die Bank stellt das Zertifikat aus und kann sich gleich eine Kopie des "Public Key" speichern. Nun kann Sie alle Informationen an den Konten per Mail verschlüsselt, so dass diese nur noch der Kunde lesen kann. Erster Service wären Kontoauszüge und Zahlungsavise per Mail. Wäre es nicht wunderbar, wenn jeder einzelne Buchungsvorgang per Mail ge"pushed" wird?.
  • Meldung von Missbrauch
    Theoretisch könnte die Bank diese Meldung sogar so gestalten, dass ich bei einem Missbrauch direkt entweder einen Link anklicken oder darauf antworten kann. Das Leerräumen von Konten könnte so sehr einfach erschwert werden. Vor allem wenn zwischen Mail und Buchung noch ein Zeit vergeht.
  • Kommunikation vom Kunden zur Bank kann signiert/verschlüsselt erfolgen
    Im Moment sperren sich viele Banken per Mail mit dem Kunden zu kommuniziere, weil Sie ja aufgrund fehlender Schutzmechanismen nicht sicherstellen können, dass der Kunde wirklich der ist, der da scheibt. Mit einer Signatur wäre auch das gelöst.
  • Homebanking mit Client Zertifikat
    Heute melde ich mich, wenn ich kein HBCI o.ä. nutze, an der Webseite meiner Bank mit Anmeldename und Kennwort an, um dann in Folge mit TANs (Papierliste, iTan, SmartTAN o.ä.) die Überweisungen zu tätigen. Mit einem Clientzertifikat wäre auch diese Verbindung sehr viel sicherer möglich.

Das ganze muss nicht mal zwingend mit einer Smartcard und einem Leser einher gehen. für den Anfang könnte die Bank mich auffordern, per Homebanking und einer TAN eine Mailadresse zu hinterlegen, für die die Bank dann ein Zertifikat rechnet und mir per Download im geschützten Bereich bereit stellt. (Besser fände natürlich schon, wenn ich einen Request über den Bereich einreichen könnte). Wenn die Bank dann statt des TAN-Generators (ca. 10 Euro) einen Kartenleser verteilt, wäre all das gegessen.

Wohlgemerkt, ich spreche nicht von "qualifizierter Signatur" oder der Signatur von Rechnungen oder Steuererklärungen etc., sondern primär um die Möglichkeit fürs Volk, Mails digital zu signieren und Signaturen zu prüfen. Interessanterweise hatte Bundeskanzler Schröder während seiner Amtszeit auf einer Cebit etwas ähnliches versprochen. Nur wussten die Banken davon wohl nichts.

Weitere Links