Zertifikate für Authetizität, Authentifizierung oder beides?

Post on 15-Apr-2017

82 views 0 download

Transcript of Zertifikate für Authetizität, Authentifizierung oder beides?

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 1

Zertifikate für Authentizität,Authentifizierung oder beides?

Wolfgang Völker | Director Product Managementwolfgang.voelker@wibu.com

Rüdiger Kügler | Security Expertruediger.kuegler@wibu.com

ZertifikateSpeaker 3

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 2

Was sind Zertifikate

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 3

Send

er

Verschicken einer signierten Nachricht

Data

Data

Signature

Hashberechnen

Signaturberechnen

PrivateKey

Data

Signature

Hashberechnen

Signaturprüfen

PublicKey

Empf

änge

r

Ja Nein

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 4

Die Herausforderung!

Woher weiß ich, dass der Public Key echt ist?

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 5

Die Lösung

Zertifikate(Public Key Zertifikate, X.509)

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 6

Ein Zertifikat

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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 7

Die nächste Herausforderung!

Woher weiß ich, dass das Zertifikat echt ist?

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 8

Die nächste Lösung

Das Zertifikat ist vom Herausgeber

unterschrieben.(Prüfung mit dem Public Key des Herausgebers)

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 9

Die … Herausforderung!

…?

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 10

Die finale Lösung

Ich kenne bereits ein Stammzertifikat von einer

Zertifzierungsstelle.(Root Certificate / Certificate Authority)

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 11

Beispiele für Stammzertifkate

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 12

Zertifikatshierarchie

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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 13

Selbst signiertes Zertifikat (Selfsigned Certificate)

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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 14

Sperrlisten

CRL (Certificate Revokation List) Beinhaltet ungültige (zurückgezogene) Zertifikate Online Abfrage möglich, Online Certificate Status Protocol (OCSP)

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 15

Anwendungsfälle

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 16

Anwendungsfälle

Server Zertifikate Client Zertifikate E-Mail Zertifikate / VPN Zertifikate OPC UA Zertifikate Authenticode Code Integrität von Software …

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 17

Server-Zertifikate

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 18

So sieht es aus:

Server

ZertifikatAusgestellt für:Allgemeiner Name (CN): www.wibu.deOrganisation (O): WIBU-SYSTEMS AGOrganisationseinheit (OU): HostingSeriennummer: 0003Ausgestellt von:Allgemeiner Name (CN): RootOrganisation (O): WIBU-SYSTEMS AG..Gültig bis: 31.12.2015

Client

Private Key

Client überprüft die Identität des Servers

Stammzertifikat

CN: Root

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 19

Konfiguration des Servers …

SSLEngine onSSLCertificateKeyFile "c:/cert/my_private_key.pem"SSLCertificateFile "c:/cert/the_cert_I_got_from_verisign.crt"

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 21

Client-Zertifikate

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 22

So sieht es aus:

Server

Server-ZertifikatAusgestellt für:Allgemeiner Name (CN): www.wibu.deOrganisation (O): WIBU-SYSTEMS AGOrganisationseinheit (OU): HostingSeriennummer: 0003Ausgestellt von:Allgemeiner Name (CN): RootOrganisation (O): WIBU-SYSTEMS AG..Gültig bis: 31.12.2015

Client

Client-Zertifikat

Ausgestellt für:Allgemeiner Name (CN): Rüdiger KüglerOrganisation (O): WIBU-SYSTEMS AGOrganisationseinheit (OU): Professional ServicesSeriennummer: 0001Ausgestellt von:Allgemeiner Name (CN): RootOrganisation (O): WIBU-SYSTEMS AG..Gültig bis: 31.12.2015

ClientPrivate Key

ServerPrivate Key

Server überprüft die Identität des Clients

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 23

Konfiguration des Servers für Clientzertifikate …

SSLEngine onSSLCertificateKeyFile "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 requireSSLVerifyDepth 10SSLRequire %{SSL_CLIENT_S_DN_CN} eq "user@domain.de"SSLOptions +StdEnvVars

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 27

Speicherorte für Zertifikate und Private Schlüssel

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 29

PKCS#11 / Microsoft CSP

PKCS#11 Microsoft CSP

CmDongle

Internet ExplorerOutlookFirefox OpenVPN Meine

Anwendung

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 30

Beispiel Token: CSSI Middleware

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 31

Authenticode

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 32

Motivation: Die Anwendung

Signierte Anwendung

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 33

Motivation: Der Patch

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 34

Motivation: Die Frage

Läuft die Anwendung noch?

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 35

Die Antwort

Die erschreckende Antwort:

JA

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 37

Ja aber …

Ja, aber …

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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“ !?

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 39

Die Schwachstelle

Eigene Software

WINTRUST.DLL

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 41

Überschreiben zur Laufzeit

...fake[0] := $31;fake[1] := $C0;fake[2] := $C3;lib := LoadLibrary('WINTRUST.DLL');p := GetProcAddress(lib, 'WinVerifyTrust');VirtualProtect(p, 3, PAGE_EXECUTE_READWRITE, old);move(fake, p^, 3);VirtualProtect(p, 3, old, old);...

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 43

Codesignatur mit AxProtector

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 44

Protection Suite

Protection Suite

Automatischer Schutz(IP Protection)

Anti-Debug Methoden

VerwendeteCodeMeter Variante

IndividuelleFunktionsverschlüsselung

Integritätsschutz(Tamper Protection)

Authentizität der Software(Secure Loader / Authenticity)

Java SEJava EE

EmbeddedOperating System

.NETPC (Windows,Linux, OS X)

CodeMeterRuntime

CodeMeterRuntime

CodeMeterRuntime

CodeMeter Embedded

CodeMeter Embedded

IxProtector

AxProtector

AxProtector .NET

AxProtector Java

AxProtector CmE

ExProtector

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 45

Funktionen der Wibu-Systems Protection Suite

Authentizität der Software (Secure Load) Verhindert die Ausführung nicht freigegebener Software

Integritätsschutz (Tamper Protection) Erkennt Veränderungen (im Speicher!) und reagiert

Automatischer Schutz (IP Protection) Schützt gegen Reverse Engineering und Raubkopien

Anti-Debug Methoden Individuelle Funktionsverschlüsselung

Verschlüsselung auf Funktionsebene

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 46

AxProtector

Geschützte AnwendungKompilierte Anwendung

Header

AxEngine(Security Engine + Public Key)

AxProtector

VerschlüsselteCode Section

VerschlüsselteData Section

VerschlüsselteResource Section

Header

Data Section

Resource Section

Code Section

Signatur

Private KeyPublic Key

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 47

Selbstprüfung

Executable

Signature

ÜberprüfeSignatur

(Hash, Public Key, Signature)

Berechne Hash des Executable

Fehler

Ja

Nein

AxEngine(Security Engine + Public Key)

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 48

Überprüfung eines anderen Modules

Executable Dynamic Link Library

AxEngine(Security Engine + Public Key)

Signature

AxEngine(Security Engine + Public Key)

Signature

exe - exe

exe - dll

dll - dll

dll - exe

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 49

AxProtector

[WIBU-SYSTEMS Control File]...

[Commandline]...-cav...

[CheckCodeIntegrity Dlls]Image1 = ShowHex.dll...

Prüfung anderer Module

Selbst-Prüfung

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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?

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 51

Verwendung von Zertifikaten in CodeMeter

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 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

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

03.05.2023 Zertifikate für Authentizität, Authentifizierung oder beides? 54

Vielen Dank für Ihre AufmerksamkeitVielen Dank für Ihre Aufmerksamkeit