White Paper CodeMeter Certificate Vault DE 2023-09 | Page 8

Microsoft KSP für Windows
Der Microsoft Key Storage Provider ( KSP ) ist im Prinzip eine Datenbank , die Zertifikate und Schlüssel verwaltet , um sie Windows-Applikationen zur Verfügung zu stellen . Dabei kann der Schlüssel isoliert werden . Im Fall des Zusammenspiels mit CodeMeter Certificate Vault werden die Zertifikate aus CodeMeter Certificate Vault ausgelesen und im KSP gespeichert . Der private Schlüssel verbleibt jedoch im CodeMeter Dongle und Schlüsseloperationen werden im CodeMeter Dongle ausgeführt . Um das Umleiten der Schlüsseloperationen kümmert sich der KSP zusammen mit CodeMeter Certificate Vault .
Plattformen und Aufbau
Die PKCS # 11-Library steht für Linux , Windows sowie macOS und die OpenSSL-Library für Linux und Windows zur Verfügung und ist auf x86- und ARM-Systemen mit 32 und 64 Bit lauffähig . Die KSP-Library ist eine reine Microsoft-Lösung .
Der reine CodeMeter Certificate Vault besteht nur aus einer Library . Diese für PKCS # 11 , OpenSSL und KSP gesondert verfügbare Library enthält alle benötigten Komponenten , um auf dem Gerät mit einem Code- Meter-Chip in einem CodeMeter Dongle oder CmASIC zu kommunizieren .
Die Übertragung von Zertifikaten auf den CmDongle erfolgt in der Regel über das bekannte Verfahren einer Signieranfrage und einem signierten Zertifikat . Der Private Key wird im CmDongle erzeugt und verbleibt dort . Alternativ kann ein komplettes Zertifikat inklusive eines zentral erzeugten Schlüsselpaares über die verschlüsselte Update-Datei von CodeMeter in den CodeMeter Dongle geladen werden .
Der CertVaultManager ist unter Windows ein GUI-Tool für die Schnittstelle zwischen CodeMeter Certificate Vault und KSP .
Besondere Fähigkeiten mit CodeMeter Certificate Vault
Wie kommen die Zertifikate , und vor allen Dingen die Schlüssel , in den CodeMeter Dongle ?
Dies ist oft die größte Herausforderung beim Einsatz von Zertifikaten . Im Idealfall erfolgt dieser Prozess so weit automatisiert , dass der Nutzer mit dem Erstellen des Schlüsselpaares und dem folgenden Prozess der Signatur durch eine übergeordnete CA gar nicht in Verbindung kommt . In der Praxis wird hier jedoch auch oft eine Vereinfachung vorgenommen und dem Nutzer oder dem Endgerät ein fertig signiertes Zertifikat inklusive dem Schlüsselpaar übertragen , das dann auf dem System im Filesystem , also in der Regel der Festplatte , abgelegt wird . Dieses Vorgehen bietet dem Angreifer viele Vektoren , an denen dieser den Schlüssel abgreifen kann , um das Zertifikat missbräuchlich zu nutzen . Ist dieses nicht an das Endgerät oder den Nutzer gebunden , so kann der Angreifer die Identität stehlen und sich als eine eigentlich vertrauenswürdige Entität ( also eine Person oder ein Gerät ) ausgeben .
Im Folgenden werden drei verschiedene Wege beschrieben , wie ein neues Gerät erstmalig oder als Update mit einem Zertifikat inklusive Schlüsselpaar ausgestattet werden kann . Der Fokus liegt hier bei der Ausstattung von IoT-Geräten mit Zertifikaten .
Option 1 : Der klassische Lehrbuchweg
Dieser Weg beginnt auf dem Endgerät . Wenn noch kein Zertifikat vorliegt , zum Beispiel auf einem fabrikneuen Endgerät , das in ein bestehendes Kundenumfeld integriert werden soll , so wird zunächst ein Schlüsselpaar erzeugt . Hierbei wird ein zufälliger privater Schlüssel innerhalb des CodeMeter-Chips erzeugt und sicher im geschützten Speicher abgelegt . Aus diesem privaten Schlüssel errechnet sich der öffentliche Schlüssel . Das Endgerät erstellt dann ein mit dem privaten Schlüssel signiertes Zertifikat , das auch Informationen über das Endgerät enthalten kann wie die Seriennummer oder weitere Daten . Das Zertifikat wird dann zusammen mit dem öffentlichen Schlüssel als Certificate Signing Request ( CSR ) an eine CA geschickt . Diese aus Sicht des Netzwerkbetreibers vertrauenswürdige Stelle ( technisch gesehen ist das ein Computer , auf dem auch ein CodeMeter Certificate Vault als Schlüsselspeicher für eine CA laufen kann oder eine beliebige externe CA ) befindet sich im Rechenzentrum des Betreibers . Er nimmt den Request entgegen , prüft automatisch oder mit manueller Freigabe die Authentizität und Richtigkeit und unterschreibt das Zertifikat dann digital . Dieses mit dem privaten Schlüssel der CA signierte Zertifikat wird danach zusammen mit dem Zertifikat der CA zurück auf das Endgerät übertragen und dort gespeichert . Das System ist einsatzbereit .
8