Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Willkommen zur Vorlesung
Modellbasierte Softwaretechniken für sichere Systeme
im Sommersemester 2012 Prof. Dr. Jan Jürjens
TU Dortmund, Fakultät Informatik, Lehrstuhl XIV
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
2. Netzwerksicherheit und Kryptographie
Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Das Internet
Router
Clients Server Mobiler
Teilnehmer Web-
Server Mail- DNS-
Backbone
Internet Service Provider FTP-Server
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Internet-Angriffe: Abhören
A B C
Y
Packet
Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
(Spoofing)
A B Spoof C
Denial–of– Masquerader
X „B“
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Alice
Mallory Bob
Forged connection
Router Router
Router Router
Correct connection
Internet-Angriffe III:
„Man-in-the-Middle“
Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Abwehr: Kryptographie
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Geheimer Schlüssel (Secret Key) K
Geheimer Schlüssel (Secret Key) K Nachricht
(Plaintext) M
Verschlüsselung (Ciphertext) C Verschlüsselung (Encryption)
Entschlüsselung (Decryption)
Symmetrische Verschlüsselung
Beziehungen: C = K(M) und M = K(C)
Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Öffentlicher Schlüssel (Public Key) E
Geheimer Schlüssel (Private Key) D Nachricht
(Plaintext) M
Verschlüsselung (Ciphertext) C
Asymmetrische Verschlüsselung
Beziehungen: C = E(M) und M = D(C)
Verschlüsselung (Encryption) Verschlüsselung (Encryption) Entschlüsselung (Decryption)
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Frage
a) Wenn man bedenkt, dass die Menge der möglichen zu verschlüsselnden Texte sehr klein sein kann (z.B. nur
die Nachrichten “ja” oder “nein”), welches Problem ergibt sich bei einem deterministischen Public-Key-Verfahren ?
Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Kryptographische Algorithmen
Symmetrisch:
• Digital Encryption Standard (DES), 3DES
• Advanced Encryption Standard (AES): Ryndael 2001 Asymmetrisch:
• RSA (Rivest/Shamir/Adleman): Integer-Faktorisierung
• ElGamal: diskreter Logarithmus
• Diffie-Hellman: Sitzungsschlüssel generieren
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Symmetrische Verschlüsselung vs.
Vertraulichkeit
A
{m}K::KB A
{m} KB
Gegen passiven Angreifer: Vertraulichkeit von m…
• bei Versenden von {m}K::K nicht bewahrt,
• bei Versenden von {m}K bewahrt (Annahme: Angreifer bekommt K nicht auf anderem Wege)
(wobei :: Konkatenation, {m}K Verschlüsselung von m mit
Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Hybride Verschlüsselung
Öffentlicher Schlüssel (Public Key) E
Plaintext M Ciphertext
K(M)
Symmetrische Verschlüsselung
Symmetrische Entschlüsselung
Geheimer
Sitzungsschlüssel (Session Key) K
Sitzungsschlüssel K
Verschlüsselter Sitzungsschlüssel E(K)
Verschlüsselter Sitzungsschlüssel E(K) Asymmetrische
Verschlüsselung
Asymmetrische Entschlüsselung
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Hybrid vs. Vertraulichkeit
A B
{K}PubB {m}K
Für symmetrischen Schlüssel K und öffentlichen (asymm.) Schlüssel PubB:
Vertraulichkeit von m nicht bewahrt gegen Angreifer, der Nachrichten löschen und einfügen kann.
Vertraulichkeit von m bewahrt gegen passiven Angreifer.
Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Erzeugung digitaler Signaturen
Plain text M
Nachrichtenauszug (Message Digest) H(M)
Digitale Signatur D(H(M))
Hash-Funktion H
Signatur- Funktion D
Geheimer Schlüssel
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Verifikation digitaler Signaturen
Plain text M
Hash-Funktion H
Message Digest E(S) Message Digest H(M) ?
= Öffentlicher
Schlüssel
Signatur-Extraktions- Funktion E
Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Brute-Force-Angriffe
1011 J 106 J
6 h 0,3 s
1 ms 20 ns
1013
1012 J 107 J
2,4 T 3 s
10 ms 0,2 µs
1012
1013 J 108 J
24 T 32 s
0,1 s 2 µs
100 Mrd
1014 J 109 J
245 T 5,4 min
1 s 20 µs
10 Mrd
1015 J 1010 J
7 J 1 h
13 s 0,2 ms
1 Mrd
1016 J 1011 J
70 J 9 h
2 min 2 ms
100 Mio
1017 J 1012 J
700 J 4 T
21 min 20 ms
10 Mio
1018 J 1013 J
7.000 J 37 T
3,5 h 0,2 s
1.000.000
1019 J 1014 J
70.000 J 1 J
35 h 2 s
100.000
128 112
80 64
56 40
Kosten ($)
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
(A-)Symmetrische Schlüssellängen
Schlüssellänge (in Bits)
1792 112
768 80
512 64
384 56
Asymmetrisch Symmetrisch
Vergleichbare Sicherheit von symmetrischen
und asymmetrischen Schlüssellängen
Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Schlüssellängen
> 128 100 Jahre
Daten der US-Volkszählung
> 128 über 65 Jahre
Geheimdiplomatie
128 über 50 Jahre
personenbezogene Daten
128 über 50 Jahre
Identität von Spionen
128 über 40 Jahre
geheime Daten zur Wasserstoffbombe
112 Jahrzehnte
Wirtschaftsgeheimnisse (Coca Cola)
64 mehrere Jahre
langfristige Geschäftsplanungen
64 Tage / Wochen
Produktankündigungen, Firmen- zusammenschlüsse, Zinssätze
56 – 64 Min. / Stunden
militärtaktische Informationen
Bits (min.) Lebensdauer
Informationsart
[Schneier: Angewandte Kryptographie]
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Der RSA-Signaturalgorithmus D hat die Homomorphie-Eigenschaft, dass:
D(M1::M2)=D(M1)::D(M2)
für alle Nachrichten M1, M2. Wenn man kein Hash verwenden würde – wie könnte dann ein Angreifer den Geldbetrag in der Signatur D
(“Ich schulde Dir 10 EUR.”) auf 100 EUR erhöhen, ohne den Algorithmus brechen zu müssen
(wenn Zeichenketten Konkatenationen von Zeichen sind) ?
Frage
Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
„Side-Channel“-Angriffe
Vertrauliche kryptographische Daten rekonstruieren (z.B. externen Stromverbrauch von Smartcard beobachten)
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Reichweite der Verschlüsselung I
„Link encryption“
- nur direkte Knotenverbindungen verschlüsselt - einfache Konstruktion
- unterstützt durch Controller-Hardware, transparent für Software
- Daten in Netzwerkknoten als Plaintext.
Unter- Knoten
Knoten 1 Knoten 2
offen
geschützt geschützt
Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Reichweite der Verschlüsselung II
„End-to-End-Encryption“
- Daten durchgehend verschlüsselt - komplexer zu implementieren
- intransparent für Software, separate Behandlung von Adressen und Daten
Unter- Knoten
Knoten 1 Knoten 2
geschützt
Modellbasierte Modellbasierte Softwaretechniken für Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Cryptool
Freies Programmpaket zum „Erfahren“ von Kryptographie (www.cryptool.de; B. Esslinger (Deutsche Bank)).
Kryptoverfahren anwenden und analysieren.
Fast alle State-of-the-Art Kryptofunktionen.
• klassische Verfahren (Cäsar,…) und Analysen (Entropie, gleitende Häufigkeit,…)
• moderne (a-)symmetrische Verfahren (3DES, AES, RSA,
…), Analysen
• Signaturen, Zufallszahlen, Hash, MACs,…
Softwaretechniken für sichere Systeme SS 2012 sichere Systeme SS 2012
Zusammenfassung
● Lesson Learned
− Angriffe auf Netzwerke
− symmetrische und asymmetrische Kryptographie
− Signaturen
− Reichweite von Verschlüsselung