Grundlagen sicherer Zertifikatsspeicherung
Technisch gesehen handelt es sich bei Zertifikaten zunächst um digitale Daten . Diese werden naturgemäß in einer Datei im Filesystem oder im Arbeitsspeicher des Rechners , mit dem diese genutzt werden , gespeichert . Zertifikate werden normalerweise für ein Schlüsselpaar eines asymmetrischen kryptographischen Verfahrens ausgestellt . Dabei ist der öffentliche Schlüssel des Schlüsselpaars im Zertifikat enthalten . Sein Gegenstück , der zugehörige geheime Schlüssel , jedoch nicht . Dieser liegt in der Regel auf dem Gerät des Zertifikatsinhabers in einer separaten Datei . An genau dieser Stelle ist das System verwundbar , denn der private Schlüssel darf niemals durch jemand anderen genutzt werden als den Zertifikatsinhaber . Liegt dieser Schlüssel jedoch mehr oder weniger gut geschützt auf einem Speichermedium , so ist er dort angreifbar . Selbst wenn der Schlüssel auf einem Speichermedium geschützt abgelegt werden würde , so würde er jedoch zur Ausführung kryptographischer Operationen im Prozessor benötigt und müsste daher seinen geschützten Bereich verlassen , um in den Arbeitsspeicher ( RAM ) geladen werden zu können . Hier ist er wiederum einem potenziellen Angreifer schutzlos ausgeliefert .
Ähnlich einem Gebäude mit einer besonders hochwertigen Schließanlage und manipulationsgeschützen Schlössern ist diese nur dann sicher , wenn der Schlüssel zur Anlage sicher verwahrt wird . Dieses Beispiel verdeutlicht , dass hier das größte Potenzial für Schutzmaßnahmen liegt . Je höher in der Hierarchie eine CA steht , um so höher ist auch das benötigte Schutzniveau für die Schlüssel . Im Bereich von professionellen CAs , die Zertifikate für HTTPS-Kommunikation ( TLS ) im Internet ausstellen , oder im Umfeld von Banken und Großunternehmen kommen hierfür sogenannte Hardware Security Module ( HSM ) zum Einsatz . Das sind geschlossene und gegen Manipulation der Hardware geschützte Systeme . Diese speichern das Zertifikat inklusive dem Schlüssel in einer besonders gesicherten Umgebung . Per Design kann der Schlüssel diesen Bereich nicht verlassen und wird nur innerhalb dieser Enklave genutzt . Auch auf den Prozessor selbst außen kein Zugriff . Es kann nur über eine Schnittstelle von außen ein Auftrag in das System gegeben werden , der intern bearbeitet wird und das Ergebnis über diese Schnittstelle zurückliefert . Die gesamte Kryptographie findet im Inneren statt . Wird das System von außen angegriffen oder auch nur geöffnet , so werden die gespeicherten Schlüssel – obwohl sie schon sicher gespeichert sind – automatisch gelöscht und sind unbrauchbar . Derartige Geräte sind für den Einsatz in Rechenzentren designt und aufgrund ihres Schutzlevels und der Spezialisierung auf möglichst viele und schnelle kryptographische Aufgaben entsprechend teuer .
Auf Seiten des Anwenders werden diese Zertifikate beispielsweise in einem TPM-Modul oder einem anderen Secure Element ( SE ) gespeichert . Während Ersteres eher dem PC-Bereich vorbehalten ist , sind Secure Elements in unterschiedlicher Form verfügbar und nicht über einheitliche Schnittstellen zu verwenden .
Es haben sich unterschiedliche Schnittstellen oder APIs etabliert , die in der Regel zwischen einem sicheren Speicher in einem Secure Element sowie der Anwendung vermitteln . Sehr verbreitet ist hier zum Beispiel der Standard PKCS # 11 aus den Public Key Cryptography Standards . Dieser ist ebenfalls integraler Bestandteil von CodeMeter Certificate Vault . Applikationen , die PKCS # 11 unterstützen , können ohne Weiteres auch den CodeMeter Certificate Vault als sicheren Schlüsselspeicher einbinden . Die PKCS # 11-Schnittstelle abstrahiert dann alle darunterliegenden Prozesse , die mit dem sicheren Speichern und Nutzen des Schlüssels und der Zertifikate anfallen .
Herausforderung im Feld
Das Handling von Zertifikaten kann kompliziert sein , insbesondere wenn manuell eingegriffen werden muss . Im industriellen Umfeld ist das jedoch oft nicht möglich und auch nicht gewünscht . Anlagen sind nicht immer online und müssen autark an unterschiedlichen Standorten laufen . Gleichzeitig müssen die Ausfallzeiten so weit wie möglich minimiert werden . Ein Techniker , der Wartungen und Reparaturen durchführt , soll idealerweise nicht auch noch die Gültigkeit und das Vorhandensein von Zertifikaten prüfen müssen . Trotzdem steigen die Anforderungen an die Sicherheit der Kommunikationswege und der Integrität der Geräte weiter an . CodeMeter Certificate Vault stellt hier die Möglichkeit zur Verfügung , das Zertifikatshandling automatisiert und gleichzeitig sicher zu handhaben .
5