Kategorien: Security

CodeMeter Certificate Vault

Digitale Zertifikate im Format x.509 werden immer wichtiger. Die Komplexität der Prozesse für das Management der Zertifikate und das sichere Speichern der Schlüssel ist in den letzten Jahren allerdings nicht kleiner geworden. An dieser Stelle kollidiert die sicherheitstechnische Notwendigkeit bestimmter Prozeduren mit der Usability. CodeMeter Certificate Vault bietet hier eine Lösung an.

CmDongles bestehen im Kern aus einem Secure Element – also einem Smartcard-Chip, der einen sicheren Schlüsselspeicher und einen lesbaren Speicher besitzt. Auf dieses bestehende System setzt CodeMeter Certificate Vault auf und bietet zusätzlich zu der bekannten CodeMeter-API Standardschnittstellen an, um die Lösung in bestehende Anwendungen oder gemäß Kundenanforderungen zu integrieren. CodeMeter Certificate Vault funktioniert als PKCS#11- konformer Token Provider, integriert sich als Key Storage Provider (KSP) in die Microsoft Cryptographic API Next Generation (CNG) und kann zusammen mit der OpenSSL API verwendet werden, um beispielsweise die Schlüssel von TLS-Zertifikaten sicher aufzubewahren und zu verwenden.

Dabei gelangen die Zertifikate und Schlüssel über ein zentrales System wie CodeMeter License Central auf gesicherten Wegen in den CmDongle. Der Anwender muss sich nicht mehr mit der Komplexität von Requests und Updates sowie dem Einspielen der signierten Zertifikate befassen. Die gesamte Verwaltung erfolgt zentral, bei Bedarf auch inklusive der CA.

Nach den Regeln des Lehrbuches erzeugt eine Instanz (Mensch oder Maschine), die ein Zertifikat benötigt, zunächst selbst ein Schlüsselpaar, bestenfalls innerhalb eines Hardware Secure Elements, und schickt dann einen damit signierten Request an seine übergeordnete Zertifizierungsstelle. Dort wird geprüft und dann ein Zertifikat erzeugt, signiert und zurückgeschickt. Der Nachfragende muss dieses Zertifikat dann in den lesbaren Speicher laden. Und immer wenn das Zertifikat abläuft, beginnt dieser Prozess von vorne. Dieser Aufwand zeigt, warum so wenige E-Mails signiert und verschlüsselt werden, warum die Gesundheitskarte ein hochkomplexes Gebilde ist und warum Zertifikate eher ein ungeliebtes Kind außerhalb der Krypto-Szene sind.

Das können wir mit CodeMeter Certificate Vault vereinfachen: Auf Anwenderseite bleiben die Standardschnittstellen wie PKCS#11, KSP und OpenSSL bestehen. Jede Anwendung kann damit standardkonform auf Zertifikate und Schlüssel im CmDongle zugreifen und die kryptographischen Operationen im CmDongle berechnen.

Der gesamte Zertifikatserstellungsprozess läuft innerhalb der zentralen Zertifizierungsstelle wie zum Beispiel der unternehmensinternen IT-Abteilung ab. Diese erzeugt Zertifikate und Schlüsselpaare und überträgt diese in die dezentralen CmDongles der Anwender.

Dieses Vorgehen widerspricht zunächst den Regeln der Kunst in Bezug auf das Zertifikatsmanagement, weil ja die privaten Schlüssel den sicheren Dongle des Anwenders niemals verlassen dürfen. Erzeugt man jedoch die Schlüssel und Zertifikate in einer zentralen, gesicherten Umgebung, so werden diese über das CodeMeter Certificate Vault Admin Tool oder mittels CodeMeter License Central in eine verschlüsselte und nur von einem dedizierten CmDongle zu öffnende Update-Datei (WibuCmRaU) verpackt. Diese Datei überträgt Schlüssel und Zertifikat sicher in den CmDongle. Dort stehen sie den Standardschnittstellen zur Verfügung. Auf demselben Weg können auch Zertifikate erneuert oder gelöscht werden – bei Bedarf alles ohne Zutun des Anwenders. Damit eignet sich das Verfahren sehr gut für remote-gesteuerte Geräte im industriellen Umfeld, IoT Devices oder ganz einfach für die E-Mail-Verschlüsselung oder VPN-Zertifikate im Unternehmensumfeld.

 

KEYnote 37 – Frühjahrsausgabe 2019

Nach oben