34
Ihr Führerschein zum Kryptographie- Experten Rüdiger Kügler | Professional Services [email protected] Alvaro Forero | Security Expert [email protected] CodeMeter Speaker 3

CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Embed Size (px)

Citation preview

Page 1: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten

Rüdiger Kügler | Professional [email protected]

Alvaro Forero | Security [email protected]

CodeMeterSpeaker 3

Page 2: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 2

Legendäre Fehler

Verschlüsseltes Geschlecht

Krankenakte mit AES-CTR

Bild mit AES-ECB

04.09.2014

Page 3: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 3

Verschlüsseltes Geschlechtsmerkmal

04.09.2014

Implementierung: Datenfeld mit „0“ aufgefüllt

Verschlüsselt mit AES ohne IV

Fehler Entropie der Daten ist zu gering

IV und Padding mit „0“

Hack Erraten der Feldes

Page 4: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 4

Datenbank Dump (Auszug)

04.09.2014

ID LastName Gender

442225 782B9CAB890DB937C3A48DBD39F426A4 E37CD363DD7C87A09AFF0E3E60E09C82

33273 4A453644D133566ADC04B7A478A5A5AD E37CD363DD7C87A09AFF0E3E60E09C82

483916 77CF3A86923DEB80434F16646DE7DB7F C6A13B37878F5B826F4F8162A1C8D879

137333 F7A846F8F336B511D2B01444BEFBA18B E37CD363DD7C87A09AFF0E3E60E09C82

147607 851DD615E24D586E0F232DD2FFC573A9 C6A13B37878F5B826F4F8162A1C8D879

303044 19B0930C53F45AC14360E2F3A3B04EF7 C6A13B37878F5B826F4F8162A1C8D879

916345 5BEBF00AF658C1256C0821553C35FAC3 E37CD363DD7C87A09AFF0E3E60E09C82

777169 19B0930C53F45AC14360E2F3A3B04EF7 C6A13B37878F5B826F4F8162A1C8D879

154800 19B0930C53F45AC14360E2F3A3B04EF7 C6A13B37878F5B826F4F8162A1C8D879

Page 5: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 5

Verschlüsseltes Geschlechtsmerkmal

04.09.2014

Implementierung: Datenfeld mit „0“ aufgefüllt

Verschlüsselt mit AES ohne IV

Fehler Entropie der Daten ist zu gering

IV und Padding mit „0“

Hack Erraten der Feldes

Sichere LösungVerschlüsselte Daten sind größer als unverschlüsselte Daten: Initialization Vector, Nonce oder Auffüllen mit zufälligen

Daten

Page 6: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 6

Verschlüsselte Krankenakte

04.09.2014

Implementierung Verschlüsselung von xml/docx mit AES-CTR

Fehler Implementierungsfehler: Nonce = „0“

Hack Stehlen der verschlüsselten Datenbank

Eigene Krankenakte besorgen (unverschlüsselt)

Record = MyPlainRecord XOR MyEncRecord XOR EncRecord

EncRecord

MyPlainRecord

MyEncRecord

Record

Page 7: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 7

Verschlüsseltes Bild

04.09.2014

Electronic Codebook Cipher-Block Chaining

ECB erhält die Struktur der Daten.

Page 8: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 8

Kryptographie - Grundlagen

Symmetrische Verschlüsselung

Hash Funktionen

Asymmetrische Verschlüsselung

04.09.2014

Page 9: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 9

Symmetrische Verschlüsselung

Data

EncryptedData

EncryptedData

Data

SharedKey

SharedKey

04.09.2014

Page 10: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 10

Hash

Data

Hash (Digest)

Data

Hash (Digest)

04.09.2014

Page 11: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 11

Hash mit Salt

Data

Hash (Digest)

Data

Hash (Digest)

Salt Salt

04.09.2014

Page 12: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 12

Signaturen

Data

PrivateKey

Hash (Digest)

Signature

Yes / NoPublicKey

Data

Hash (Digest)Signature

Signature

04.09.2014

Page 13: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 13

Asymmetrische Verschlüsselung

Data

EncryptedData

EncryptedData

Data

PublicKey

PrivateKey

04.09.2014

Page 14: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 14

Block Cipher Modes

Electronic Codebook (ECB)

Cipher-Block Chaining (CBC)

Counter (CTR)

04.09.2014

Page 15: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 15

Electronic Codebook (ECB) – Verschlüsselung

04.09.2014

Plaintext

Ciphertext

AESEncryption

Plaintext

Ciphertext

AESEncryption

Plaintext

Ciphertext

AESEncryption

Page 16: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 16

Electronic Codebook (ECB) – Entschlüsselung

04.09.2014

Ciphertext

Plaintext

AESDecryption

Ciphertext

Plaintext

AESDecryption

Ciphertext

Plaintext

AESDecryption

Page 17: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 17

Cipher-Block Chaining (CBC) – Verschlüsselung

04.09.2014

Plaintext

Ciphertext

AESEncryption

IV

Plaintext

Ciphertext

AESEncryption

Plaintext

Ciphertext

AESEncryption

Page 18: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 18

Cipher-Block Chaining (CBC) – Entschlüsselung

04.09.2014

Ciphertext

Plaintext

AESDecryption

IV

Ciphertext

Plaintext

AESDecryption

Ciphertext

Plaintext

AESDecryption

Page 19: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 19

Counter (CTR) – Verschlüsselung

04.09.2014

Plaintext

Ciphertext

AESEncryption

Counter (0)

Nonce

Add

Plaintext

Ciphertext

AESEncryption

Counter (1)

Nonce

Add

Plaintext

Ciphertext

AESEncryption

Counter (2)

Nonce

Add

Page 20: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 20

Counter (CTR) – Entschlüsselung

04.09.2014

Ciphertext

Plaintext

AESEncryption

Counter (0)

Nonce

Add

Ciphertext

Plaintext

AESEncryption

Counter (1)

Nonce

Add

Ciphertext

Plaintext

AESEncryption

Counter (2)

Nonce

Add

Page 21: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 21

CodeMeter API

Verschlüsselung

Signatur

Schlüsselspeicher

04.09.2014

Page 22: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 22

CodeMeter API – Unterstützte Algorithmen

Symmetrische Verschlüsselung: AES 128 bit Asymmetrische Verschlüsselung : ECC 224 bit Signaturen: ECC 224 bit (ECDSA) Hash: SHA 256 Legacy: RSA 2048 bit

04.09.2014

Page 23: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 23

CodeMeter API – Schlüsselquellen

FirmKey mit Schlüsselableitung Direkt (ECB)

Indirekt (ECB, CBC) mit P1363 KDF2

Secret Data / Hidden Data mit Schlüsselableitung Direkt (ECB)

Indirekt (ECB, CBC) mit P1363 KDF2

Secret Data / Hidden Data ohne Schlüsselableitung Direkt (ECB)

04.09.2014

Page 24: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 24

Schlüsselableitung – Firm Key – Direkt

04.09.2014

Plaintext

CmDongle

AES ECBSHA 256

Firm Code

Product Code

Feature Code

Release Data

Encryption Code

Enc. Code Options

Feature Map

Maint. Period

Black Key

Firm Key

Ciphertext

Product Code

Firm Code

Page 25: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 25

Schlüsselableitung – Secret Data / Hidden Data – Direkt

04.09.2014

Plaintext

CmDongle

AES ECBSHA 256

Firm Code

Product Code

Feature Code

Release Data

Encryption Code

Enc. Code Options

Feature Map

Maint. Period

Black Key

Secret Data

Ciphertext

Product Code

Firm Code

Page 26: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 26

Schlüsselableitung – Firm Key – Indirekt (Standard)

04.09.2014

InitKey

Plaintext

CmDongle

AES ECBSHA 256

Firm Code

Product Code

Feature Code

Release Data

Encryption Code

Enc. Code Options

Feature Map

Maint. Period

Black Key

Firm Key

Ciphertext

Product Code

Firm Code

KDF2P1363

AES

Page 27: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 27

Schlüsselableitung – Secret Data / Hidden Data – Indirekt

04.09.2014

InitKey

Plaintext

CmDongle

AES ECBSHA 256

Firm Code

Product Code

Feature Code

Release Data

Encryption Code

Enc. Code Options

Feature Map

Maint. Period

Black Key

Secret Data

Ciphertext

Product Code

Firm Code

KDF2P1363

AES

Page 28: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 28

Ohne Schlüsselableitung – Secret Data / Hidden Data – Direkt

04.09.2014

Plaintext

CmDongle

AES ECB

Firm Code

Product Code

Feature Map

Maint. Period

Black Key

Secret Data

Ciphertext

Page 29: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 29

CodeMeter Anwendungsbeispiele

Challenge Response Check

Bekanntes Shared Secret

Verschlüsselte Kommunikation

04.09.2014

Page 30: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 30

Challenge Response Check

Stellt sicher, dass ein gültiger CmDongle vorhanden ist Private Key im CmDongle (mit Lizenz, für alle Kunden gleich)

Public Key in der Software

Software erzeugt eine Challenge

CmDongle signiert die Challenge

Software überprüft die Response

Verhindert eine Record Playback Attacke auf den CmDongle Verhindert eine Simulation des CmDongles

04.09.2014

Page 31: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 31

Bekanntes Shared Secret

04.09.2014

Sicheres Speichern eines AES-Schlüssels, der auf einem PC verwendet werden kann Speicher des AES-Schlüssels in Secret Data

Verwendung von Secret Data als Schlüssel-Quelle

Einsatzsszenario: Datentransfer zwischen Embedded Device / Cloud und PC

Schlüssel in Embedded Device / Cloud sind bereits sicher

Verwendung des CmDongles am PC

Verhindert das Kompromittieren des Schlüssels am PC

Page 32: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 32

Verschlüsselte Kommunikation

04.09.2014

Übermittlung der Fischfänge an einen zentralenServer (über Satellit)

Anforderungen: Authentisch und Vertraulich Implementierung:

Schlüsselpaar auf dem Server und jedem Schiff

Tagebuch verschlüsselt mit Public Key des Servers

Tagebuch signiert mit Private Key des Schiffs

Ergebnis: Authentisch und Vertraulich 603 4711

Page 33: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 33

Zusammenfassung

04.09.2014

Starten Sie mit der Bedrohungsanalyse Wählen Sie Algorithmus, Schlüssellänge und Modus sorgfältig Wählen Sie den richtigen Platz zum Speichern (Dongle, Software, …) Vermeiden Sie Implementierungsfehler Überprüfen Sie die Implementierung regelmäßig

Wibu Professional Services unterstützt Sie von Analyse bis Implementierung und Überwachung.

Page 34: CodeMeter - Ihr Fuhrschein zum Kryptographie-Experte

Ihr Führerschein zum Kryptographie-Experten 34

Vielen Dank für Ihre Aufmerksamkeit

WIBU-SYSTEMS AG

www.wibu.com

04.09.2014