Digitale Zertifikate gehören zu den Meilensteinen der Sicherheitshistorie. Seitdem Zertifikate eingesetzt werden, nutzen Hersteller und Anwender die Vorteile einer verschlüsselten Kommunikation, beispielsweise beim sicheren Mailverkehr, Datei- und Festplattenverschlüsselung oder der sicheren Anmeldung auf lokale Rechner oder Webseiten. Gesetzgeber haben maßgebende Schritte eingeleitet, um den Einsatz von Zertifikaten zu fördern und zu regeln. Trotz ihrer Wirksamkeit scheinen Zertifikate für einige immer noch kryptisch und umständlich zu sein.
Mit Zertifikaten können Software- und Geräte-Hersteller ihre Software auf Echtheit prüfen oder eine Benutzerauthentifizierung aufbauen und auf diese Weise Software-Integrität gewährleisten und Zugangsrechte verwalten.
- Was sind Zertifikate?
* Grundlagen der asymmetrischen Kryptographie
* Wie kann ein Schlüssel als authentisch erkannt werden?
* Selbst signierte Zertifikate
* Root-Zertifikate
* Zertifikatsketten
* Rücknahmelisten
- Übersicht der Anwendungsfälle für Zertifikate
- Anwendungsfall Server-Zertifikat
* Erstellung eines Server-Zertifikates.
* Einrichtung des Servers
- Anwendungsfall Client Zertifikat
* Erstellen Client-Zertifikates
* Einrichtung des Servers
* Speichern des Client-Zertifikates auf dem PC.
* Beispiel mit der CodeMeter License Central
- Speicherorte für Zertifikate
* Als Datei auf einem PC
* Auf einem PC mit der CSSI Middleware
- Zertifikate im Bereich Software Security
* Authenticode
* CodeMeter Universal Firm Code basierend auf Zertifikaten
* Code-Integrität im AxProtector mit Zertifikaten
Egal, ob Sie mit Standardsoftware oder Embedded-Software arbeiten – Zertifikate zählen in beiden Fällen als Bestandteil der Softwaresicherheit.
Unsere Technologie ist so vorbereitet, dass Sie Zertifikate direkt einsetzen können. Die Schutzhardware enthält SmartCard-Chips und die Sicherheitstools zum einfachen Einsatz von Zertifikaten gehören bereits zu unseren Lösungen.
Webinar anschauen:
https://youtu.be/nA-JGAIKqzU
Running code in secure hardware or cloud environments
Zertifikate für Authetizität, Authentifizierung oder beides?
1. Zertifikate für Authentizität,
Authentifizierung oder beides?
Wolfgang Völker | Director Product Management
wolfgang.voelker@wibu.com
Rüdiger Kügler | Security Expert
ruediger.kuegler@wibu.com
Zertifikate
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 1
3. Sender
Verschicken einer signierten Nachricht
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 3
Data
Data
Signature
Hash
berechnen
Signatur
berechnen
Private
Key
Data
Signature
Hash
berechnen
Signatur
prüfen
Public
Key
Empfänger
Ja Nein
6. Ein Zertifikat
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 6
Bestätigt den Eigentümer eines
öffentlichen Schlüssels
Identität:
Person
Organisation
IT-System (z.B. Server)
Unterschrieben vom Aussteller
Attribute
Zertifikat
Issued for:
Common name (CN): Wolfgang Voelker
Company (O): WIBU-SYSTEMS AG
Business unit (OU): WOPS
Serial number: 1be10001000220613…
Public key: 0x15, 0x3c, 0xd0, 0x26, 0xd6, 0x71,
0xfa, 0xae, 0x20, 0xa6, 0x15, 0x58,
0xea, 0x3d, 0xdd, 0x36, 0x89, …
Issued by:
Common name (CN): Root
Company (O): WIBU-SYSTEMS AG
..
Valid until: 31.12.2015
8. Die nächste Lösung
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 8
Das Zertifikat ist vom
Herausgeber
unterschrieben.
(Prüfung mit dem Public Key des Herausgebers)
10. Die finale Lösung
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 10
Ich kenne bereits ein
Stammzertifikat von einer
Zertifzierungsstelle.
(Root Certificate / Certificate Authority)
12. Zertifikatshierarchie
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 12
Stammzertifikat
CN: Root
Zertifikat
CN: Inter 2
Zertifikat
CN: Wolfgang
Zertifikat
CN: Daniel
Zertifikat
CN: Marc
Zertifikat
CN: Christian
Zertifikat
CN: Rüdiger
Zertifikat
CN: Stefan
Zertifikat
CN: Inter 1
Zertifikat
CN: Inter 3
13. Selbst signiertes Zertifikat (Selfsigned Certificate)
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 13
Selbst unterschrieben
Es gibt kein Stammzertifikat
Wird in der Regel nicht akzeptiert
Anwender muss dem Zertifikat
manuell vertrauen
Zertifikat
Ausgestellt für:
Allgemeiner Name (CN): Rüdiger Kügler
Organisation (O): WIBU-SYSTEMS AG
Organisationseinheit (OU): Professional Services
Seriennummer: 1be10001000220613…
Ausgestellt von:
Allgemeiner Name (CN): Rüdiger Kügler
Organisation (O): WIBU-SYSTEMS AG
..
Gültig bis: 31.12.2015
14. Sperrlisten
CRL (Certificate Revokation List)
Beinhaltet ungültige (zurückgezogene) Zertifikate
Online Abfrage möglich, Online Certificate Status Protocol (OCSP)
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 14
18. So sieht es aus:
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 18
Server
Zertifikat
Ausgestellt für:
Allgemeiner Name (CN): www.wibu.de
Organisation (O): WIBU-SYSTEMS AG
Organisationseinheit (OU): Hosting
Seriennummer: 0003
Ausgestellt von:
Allgemeiner Name (CN): Root
Organisation (O): WIBU-SYSTEMS AG
..
Gültig bis: 31.12.2015
Client
Private Key
Client überprüft die
Identität des Servers
Stammzertifikat
CN: Root
19. Konfiguration des Servers …
SSLEngine on
SSLCertificateKeyFile "c:/cert/my_private_key.pem"
SSLCertificateFile "c:/cert/the_cert_I_got_from_verisign.crt"
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 19
20. … Konfiguration des Servers
SSLEngine on
Schaltet SSL ein, Mod SSL muss auch aktiviert sein
SSLCertificateKeyFile „c:/cert/my_private_key.pem“
Der private Schlüssel
SSLCertificateFile „c:/cert/the_cert_I_got_from_verisign.crt“
Das Zertifikat
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 20
22. So sieht es aus:
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 22
Server
Server-Zertifikat
Ausgestellt für:
Allgemeiner Name (CN): www.wibu.de
Organisation (O): WIBU-SYSTEMS AG
Organisationseinheit (OU): Hosting
Seriennummer: 0003
Ausgestellt von:
Allgemeiner Name (CN): Root
Organisation (O): WIBU-SYSTEMS AG
..
Gültig bis: 31.12.2015
Client
Client-Zertifikat
Ausgestellt für:
Allgemeiner Name (CN): Rüdiger Kügler
Organisation (O): WIBU-SYSTEMS AG
Organisationseinheit (OU): Professional Services
Seriennummer: 0001
Ausgestellt von:
Allgemeiner Name (CN): Root
Organisation (O): WIBU-SYSTEMS AG
..
Gültig bis: 31.12.2015
Client
Private Key
Server
Private Key
Server überprüft die
Identität des Clients
23. Konfiguration des Servers für Clientzertifikate …
SSLEngine on
SSLCertificateKeyFile "c:/cert/my_private_key.pem"
SSLCertificateFile "c:/cert/the_cert_I_got_from_verisign.crt"
SSLCACertificateFile "c:/cert/my_own_ca_root_cert.crt"
SSLVerifyClient require
SSLVerifyDepth 10
SSLRequire %{SSL_CLIENT_S_DN_CN} eq "user@domain.de"
SSLOptions +StdEnvVars
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 23
24. … Konfiguration des Servers für Clientzertifikate
SSLCACertificateFile „c:/cert/my_own_ca_root_cert.crt “
Certificate Authority (CA) für Client Zertifikate
SSLVerifyClient require
Client Zertifikat benötigt
SSLRequire %{SSL_CLIENT_S_DN_CN} eq user@domain.de
Beispiel für eine Überprüfung
SSLOptions +StdEnvVars
Durchreichen der Parameter an PHP / Anwendung
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 24
25. Erstellung eines Clientzertifikates (empfohlen)
Client:
Schlüsselpaar erzeugen
Certificate Signing Request (CSR) erzeugen
CSR an CA schicken
CA / Server:
Zertifikat erzeugen
Zertifikat an Client schicken
Client:
Zertifikat einspielen
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 25
26. Erstellung eines Clientzertifikates (einfach)
CA / Server:
Schlüsselpaar erzeugen
Zertifikat erzeugen
Private Key exportieren
Zertifikat + Private Key an Client schicken
Client:
Zertifikat einspielen
Private Key einspielen
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 26
28. Speicherorte für private Schlüssel
Datei auf dem Dateisystem (PEM-Datei mit Schlüssel)
Zertifikatsspeicher
PKCS#11
Microsoft CSP (Crypto Service Provider)
Physikalisch
Auf der Platte
In einem Token
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 28
29. PKCS#11 / Microsoft CSP
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 29
PKCS#11 Microsoft CSP
CmDongle
Internet
Explorer
OutlookFirefox OpenVPN
Meine
Anwendung
30. Beispiel Token: CSSI Middleware
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 30
36. Zusammenfassung
Microsoft Windows startet jede Anwendung
Ohne Signatur
Mit gültiger Signatur
Mit ungültiger Signatur
Bordmittel sind nicht für Kopierschutz / Integritätsschutz geeignet
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 36
37. Ja aber …
Ja, aber …
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 37
38. Überprüfung in der Software
Überprüfung der Signatur
Gültig / ungültig?
Wer hat unterzeichnet?
Wann wurde unterzeichnet?
Reaktion bei Fehlern
Beenden (Verstecken des Calls?)
„Falsch rechnen“ !?
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 38
40. Die Schwachstelle
Bekanntes und dokumentiertes Windows API überprüft die Signatur !?
Angriffe:
Patchen der WINTRUST.DLL
Hooken der Funktion mit Standard-Tools
Überscheiben der Funktion in der Dll zur Laufzeit aus der gepatchten Anwendung
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 40
42. Fazit Authenticode
Zertifikate bieten nur dann eine Sicherheit, wenn die Prüfstelle in einem
vertrauenswürdigem Umfeld läuft.
Authenticode = Schutz des Anwenders vor Viren
Authenticode ≠ Schutz gegen Raubkopien
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 42
50. ExProtector
ExProtector = Schutz von ausführbaren Dateien auf Embedded
Betriebssystemen
Integration der „AxEngine“ als ExEngine in den Loader des
Betriebssystems / Bootloader
Verwendung von Signaturen und Zertifikaten
Rechte-Management: Wer darf welche Anwendungen unterschreiben?
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 50
52. Sicheres Firmware Update
Es gibt ein Wibu-Stammzertifikat
Vom Stammzertifikat werden Produktions-Zertifikate abgeleitet
Jeder CmDongle erhält während der Produktion den öffentlichen
Stammschlüssel
Das Firmware Update wird mit einem Produktions-Zertifikat unterschrieben
Die alte Firmware überprüft das Update (Signatur und Zertifikat), bevor es
die neue Firmware übernimmt
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 52
53. CodeMeter Universal Firm Code
Lizenzen werden vom Hersteller unterschrieben
Lizenzen bestehen aus einem Zertifikat und einem verschlüsselten Teil
Das Lizenzzertifikat kann eine Weitergabe-Berechtigung enthalten
(License Transfer)
Bei der Weitergabe wird das originale Zertifikat mitgegeben und ein neues
Zertifikat des abgebenden CmContainers erstellt
Alles erfolgt transparent im Hintergrund in CodeMeter
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 53
54. Deutschland: +49-721-931720
USA: +1-425-7756900
China: +86-21-55661790
http://www.wibu.com
info@wibu.com
Deutschland: +49-721-931720
USA: +1-425-7756900
China: +86-21-55661790
http://www.wibu.com
info@wibu.com
Vielen Dank für Ihre Aufmerksamkeit
11.07.2016 Zertifikate für Authentizität, Authentifizierung oder beides? 54
Vielen Dank für Ihre Aufmerksamkeit