KEYnote 28 Deutsch - Ausgabe Herbst 2014 | Page 4

Format eines Zertifikates Prinzipiell kann ein Zertifikat ein beliebiges Format haben. Im Internet werden in der Regel X.509-Zertifikate verwendet. Ein X.509-Zertifikat wird beispielsweise an eine E-Mail-Adresse oder einen DNS-Namen gebunden. Ein Erweiterungs-Feld des X.509-Zertifikats enthält den Verwendungszweck (KeyUsage). Damit kann überprüft werden, ob das Zertifikat überhaupt für einen entsprechenden Zweck eingesetzt werden darf. So muss zum Beispiel ein Wurzelzertifikat die Berechtigung „Certificate Sign“ besitzen. Zertifikate und der private Schlüssel Nicht selten findet man den Satz „Dann unterschreibt man dies mit seinem Zertifikat“. Genaugenommen ist dies falsch. Man unterschreibt mit seinem privaten Schlüssel und legt seinen mit einem Zertifikat beglaubigten öffentlichen Schlüssel bei. Der private Schlüssel ist kein Bestandteil des Zertifikats. Allerdings gibt es Dateiformate, bei denen ein Zertifikat und der zugehörige private Schlüssel in einer Datei transportiert werden. CodeMeter bietet die Möglichkeit, einen privaten Schlüssel sicher in einem ­CmContainer zu speichern. Der private Schlüssel bleibt im CmContainer. Der zu unterschreibende Fingerabdruck wird per CodeMeter-API an den CmContainer geschickt und dort signiert. Im Falle eines CmDongles erfolgt dies im SmartCard-Chip des Dongles. Im Falle einer softwarebasierten CmActLicense erfolgt dies in der CodeMeter Runtime, die als Dienst oder Dämon läuft und gegen Auslesen von Daten und Debuggen entsprechend geschützt ist. Das Zertifikat kann entweder im CmContainer selber, in einem auslesbaren Teil oder als Datei auf dem PC gespeichert werden. Beispielzertifikat Zum Schutz von Software gegen Manipulationen verwendet Wibu-Systems ein eigenes proprietäres und kompaktes Format für Zertifikate. Der Grund dafür ist, dass X.509 sowohl viele Ressourcen benötigt als auch langsam ist. Zwei Dinge, die gerade auf kleinen Embedded Devices nicht vorhanden sind. Auch werden zusätzliche Informationen benötigt, die in X.509 nicht definiert sind. Im Grundprinzip sind der Aufbau und die Sicherheit des WibuSystems-eigenen Formates vergleichbar mit einem X.509-Zertifikat. CodeMeter kann auch Standard-X.509-Zertifikate speichern und ist somit kompatibel mit allen standardkonformen Anwendungen. Es wird lediglich eine PKI Middleware (CSSI) benötigt, die CodeMeter mit den Standardschnittstellen (PKCS#11 / Microsoft CSP) verbindet. Zertifikate sind nicht an bestimmte Verschlüsselungsalgorithmen gebunden. Als Fingerabdruck können beispielsweise MD5, SHA1 oder SHA256 verwendet werden, als Signaturalgorithmus RSA oder ECDSA. Was passiert, wenn ich ein Zertifikat verliere? Wenn man ein Zertifikat verliert, dann passiert gar nichts, da in einem Zertifikat keine geheimen Informationen stehen. Aber es kann fatale Folgen haben, wenn man den privaten Schlüssel zu einem Zertifikat verliert oder wenn jemand diesen Schlüssel unberechtigt in die Hände bekommt. Dann kann diese Person in meinem Namen Dinge unterschreiben und das entsprechende Zertifikat verwenden, um meinen öffentlichen Schlüssel zu beglaubigen. Dies ist einer der Gründe, warum Stuxnet sein Ziel erreicht hat. Softwareanbieter unterschreiben ihre Software, vor allem Treiber, mit ihrem privaten Schlüssel. Durch ein Zertifikat wird von einer vertrauenswürdigen ZertiCertificate Signing Request fizierungsstelle der öffentliche Schlüssel bestätigt. Virenscanner arbeiten anhand eines Punktesystems. Software, die von einem bekannten Hersteller unterschrieben wurde, erhält Bonuspunkte. Bei Stuxnet wurden die privaten Schlüssel von zwei namhaften Anbietern von Treibern gestohlen und der Virus damit unterschrieben. Dies hat dazu geführt, dass der Virus von den Antivirenprogrammen nicht erkannt wurde und sich somit stillschweigend und weit verbreiten konnte. Für einen solchen Fall gibt es Zertifikatssperrlisten (Certificate Revocation List – CRL). Eine Sperrliste enthält die Serien