1 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 1 IT Sicherheit Teil 2 Kryptologie WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 2 Literatur • Basiswissen IT-Sicherheit Werner Boguntke W3L • Angewandte Kryptographie Dr. W. Ertel Hanser Verlag
1
WS 201011 Vorlesung IT-Sicherheit
M Harms
1
IT Sicherheit
Teil 2
Kryptologie
WS 201011 Vorlesung IT-Sicherheit
M Harms
2
Literatur
bull Basiswissen IT-Sicherheit Werner Boguntke W3L
bull Angewandte Kryptographie Dr W Ertel Hanser Verlag
2
WS 201011 Vorlesung IT-Sicherheit
M Harms
3
Inhalt
bull Kryptologie= Kryptographie + Kryptoanalyse
bull Motivation Caesars Chiffre
bull Modulare Arithmetik
bull Historische kryptographische Algorithmen
bull Kryptoanalyse
bull Kerckhoffsrsquo Prinzip
bull Moderne kryptographische Algorithmen
WS 201011 Vorlesung IT-Sicherheit
M Harms
4
Nomenklatur
Bezeichnungen
ndash Klartext M (message)
ndash Chiffrierung E (encryption)
ndash Schluumlssel K (key)
ndash Geheimtext C (chiphertext)
ndash Entschluumlsselung D (decryption)
Beispiel C = EK( M )
3
Nomenklatur
Personen der Handlung
bull Alice Bob +Carol Carlos Charlie
bull Eve (= eavesdropper passive Attacke)
bull Mallory Marvin Mallet (= malicious attacker)
bull Trudy (= intruder)
bull Peggy (prover) und Victor (verifier)
bull Trent (trusted entity)
WS 201011 Vorlesung IT-Sicherheit
M Harms
5
WS 201011 Vorlesung IT-Sicherheit
M Harms
6
Nomenklatur
Kryptographische Algorithmen = Berechnungsvorschriften ndash eingeschraumlnkte Algorithmen
muumlssen geheim gehalten werden
ndash starke Algorithmen starke Kryptographie gem Kerkhoffs Prinzip (swu)
muumlssen invertierbar sein D( E(M) ) = M
4
WS 201011 Vorlesung IT-Sicherheit
M Harms
7
Motivation
Chiffre durch Verschiebung im Alphabet Caesars Verschluumlsselung
Zyklische Verschiebung (Rotation) eines Alphabet Rings
= Addition in (endlicher) Menge von Buchstaben
Modulare Arithmetik
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
8
Verschiebechiffre Caesars Code
verschluumlsseln
KLARTEXT
+ DDDDDDDD (D=3)
NODUWHAW
bull Julius Caesar (100-44 v Chr) hat dieses Verfahren bereits verwendet
bull zyklischen Rotation des Alphabets um k Zeichen
bull Schluumlssel zB bdquoDldquo bdquoABCDEFGldquo -gt bdquoDEFGHIJldquo
entschluumlsseln
NODUWHAW
- DDDDDDDD
KLARTEXT
Gra
fik F
H T
rier
5
WS 201011 Vorlesung IT-Sicherheit
M Harms
9
Verschiebechiffre Caesars Code
bdquomonoalphabetische Substitutionldquo jedem Buchstaben eines Textes wird ein anderer eindeutiger Buchstabe zugeordnet z ( z + k ) mod n
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
10
Modulare Arithmetik
Dividiert man eine natuumlrliche Zahl n durch eine andere bleibt ein Rest r 0 1 2 hellip n-1
bull Beispiele 15 4 = 3 Rest 3 oder 15 = 4 middot 3 + 3 15 5 = 3 Rest 0 oder 15 = 5 middot 3
Satz
Seien a b und b gt 0
Dann gibt es eindeutige q r mit
a = qmiddotb + r und r lt b
6
WS 201011 Vorlesung IT-Sicherheit
M Harms
11
Arithmetik auf endlichen Mengen
Kongruenz in der Zahlentheorie
Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben
Beispiel
5 ist kongruent zu 8 modulo 3 denn
5 mod 3 = 2
8 mod 3 = 2
Schreibweise
a b mod m
Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt
bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt
WS 201011 Vorlesung IT-Sicherheit
M Harms
12
Verschiebechiffre Caesars Code
Warum ist die
monoalphabetische Substitution
einfach zu knacken
Gra
fik F
H T
rier
7
WS 201011 Vorlesung IT-Sicherheit
M Harms
13
Kryptoanalyse Verschiebechiffre (Caumlsars Code)
Chiffretest Faust
A 0 497
B 0 187
C 130 398
D 649 487
E 0 1569
F 779 190
G 260 278
H 1169 675
I 519 844
J 130 019
K 909 107
L 779 397
M 0 322
N 0 967
O 390 232
P 130 092
Q 909 004
R 260 673
S 0 667
T 0 630
U 909 405
V 909 064
W 390 186
X 260 004
Y 390 003
Z 130 103
0
2
4
6
8
10
12
14
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Faust
000
500
1000
1500
2000
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
14
Wiederholung Mathematik
Kommutativgesetz bull a + b = b + a
bull a middot b = b middot a
Assoziativgesetz bull a + ( b + c) = (a + b) + c
bull a middot ( b middot c ) = (a middot b) middot c
Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c
8
Arithmetik auf endlichen Mengen
Ring
Addition OK
Multiplikation funktioniert
0 und 1 bei Multiplikation und Addition wie gewohnt
Kommutativer Ring
Multiplikation funktioniert noch besser
Koumlrper
kommutativer Ring plus
Division klappt
WS 201011 Vorlesung IT-Sicherheit
M Harms
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
16
Arithmetik auf endlichen Mengen
Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist
Das heiszligt
ndash bez + gibt es ein neutrales Element 0
ndash sowie zu jedem a ein inverses Element a- und
ndash es gelten das Assoziativ- und Kommutativgesetz
bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
9
WS 201011 Vorlesung IT-Sicherheit
M Harms
17
Arithmetik auf endlichen Mengen
Def
Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist
Def n
der Restklassenring modulo n ist
n (sprich bdquoZ modulo nldquo)
= n
= 01hellipn-1
Satz ( n + middot ) ist ein kommutativer Ring
Def p heiszligt Primzahl
wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist
WS 201011 Vorlesung IT-Sicherheit
M Harms
18
Arithmetik auf endlichen Mengen
Def
Ein Ring (M+middot) heiszligt Koumlrper
ndash wenn (M middot) kommutativ ist und
ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
ndash Null und Eins verschieden sind
10
WS 201011 Vorlesung IT-Sicherheit
M Harms
19
Arithmetik auf endlichen Mengen
Satz Fuumlr den Ring ( n + middot ) gilt
n prim ( n + middot ) ist ein Koumlrper
Satz (Fermat 1608-1665) Sei n eine Primzahl
dann gilt in n fuumlr alle a 0
an-1 = 1 oder a an mod n
bzw a - an ist durch n teilbar
WS 201011 Vorlesung IT-Sicherheit
M Harms
20
Arithmetik auf endlichen Mengen
Funktion f(x) = gx mod p
bull Bsp p=7 Restklassenring
6 =01hellip6
bull 3 und 5 sind bdquoErzeugerldquo von 6 0
x=
1 2 3 4 5 6
g= 1 1 1 1 1 1 1
2 2 4 1 2 4 1
3 3 2 6 4 5 1
4 4 2 1 4 2 1
5 5 4 6 2 3 1
6 6 1 6 1 6 1
11
WS 201011 Vorlesung IT-Sicherheit
M Harms
21
Arithmetik auf endlichen Mengen
Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1
Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt
Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit
amiddota-1 1 mod n
a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden
ggT(ab) = ggT(b a mod b) falls a mod b 0
b falls a mod b = 0
WS 201011 Vorlesung IT-Sicherheit
M Harms
22
Uumlbung Ring vs Koumlrper
Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)
bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
Def Ein Ring (M+middot) heiszligt Koumlrper
bull wenn (M middot) kommutativ ist und
bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
bull Null und Eins verschieden sind
Seien A=0 B=1 hellip und so weiter
Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
2
WS 201011 Vorlesung IT-Sicherheit
M Harms
3
Inhalt
bull Kryptologie= Kryptographie + Kryptoanalyse
bull Motivation Caesars Chiffre
bull Modulare Arithmetik
bull Historische kryptographische Algorithmen
bull Kryptoanalyse
bull Kerckhoffsrsquo Prinzip
bull Moderne kryptographische Algorithmen
WS 201011 Vorlesung IT-Sicherheit
M Harms
4
Nomenklatur
Bezeichnungen
ndash Klartext M (message)
ndash Chiffrierung E (encryption)
ndash Schluumlssel K (key)
ndash Geheimtext C (chiphertext)
ndash Entschluumlsselung D (decryption)
Beispiel C = EK( M )
3
Nomenklatur
Personen der Handlung
bull Alice Bob +Carol Carlos Charlie
bull Eve (= eavesdropper passive Attacke)
bull Mallory Marvin Mallet (= malicious attacker)
bull Trudy (= intruder)
bull Peggy (prover) und Victor (verifier)
bull Trent (trusted entity)
WS 201011 Vorlesung IT-Sicherheit
M Harms
5
WS 201011 Vorlesung IT-Sicherheit
M Harms
6
Nomenklatur
Kryptographische Algorithmen = Berechnungsvorschriften ndash eingeschraumlnkte Algorithmen
muumlssen geheim gehalten werden
ndash starke Algorithmen starke Kryptographie gem Kerkhoffs Prinzip (swu)
muumlssen invertierbar sein D( E(M) ) = M
4
WS 201011 Vorlesung IT-Sicherheit
M Harms
7
Motivation
Chiffre durch Verschiebung im Alphabet Caesars Verschluumlsselung
Zyklische Verschiebung (Rotation) eines Alphabet Rings
= Addition in (endlicher) Menge von Buchstaben
Modulare Arithmetik
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
8
Verschiebechiffre Caesars Code
verschluumlsseln
KLARTEXT
+ DDDDDDDD (D=3)
NODUWHAW
bull Julius Caesar (100-44 v Chr) hat dieses Verfahren bereits verwendet
bull zyklischen Rotation des Alphabets um k Zeichen
bull Schluumlssel zB bdquoDldquo bdquoABCDEFGldquo -gt bdquoDEFGHIJldquo
entschluumlsseln
NODUWHAW
- DDDDDDDD
KLARTEXT
Gra
fik F
H T
rier
5
WS 201011 Vorlesung IT-Sicherheit
M Harms
9
Verschiebechiffre Caesars Code
bdquomonoalphabetische Substitutionldquo jedem Buchstaben eines Textes wird ein anderer eindeutiger Buchstabe zugeordnet z ( z + k ) mod n
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
10
Modulare Arithmetik
Dividiert man eine natuumlrliche Zahl n durch eine andere bleibt ein Rest r 0 1 2 hellip n-1
bull Beispiele 15 4 = 3 Rest 3 oder 15 = 4 middot 3 + 3 15 5 = 3 Rest 0 oder 15 = 5 middot 3
Satz
Seien a b und b gt 0
Dann gibt es eindeutige q r mit
a = qmiddotb + r und r lt b
6
WS 201011 Vorlesung IT-Sicherheit
M Harms
11
Arithmetik auf endlichen Mengen
Kongruenz in der Zahlentheorie
Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben
Beispiel
5 ist kongruent zu 8 modulo 3 denn
5 mod 3 = 2
8 mod 3 = 2
Schreibweise
a b mod m
Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt
bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt
WS 201011 Vorlesung IT-Sicherheit
M Harms
12
Verschiebechiffre Caesars Code
Warum ist die
monoalphabetische Substitution
einfach zu knacken
Gra
fik F
H T
rier
7
WS 201011 Vorlesung IT-Sicherheit
M Harms
13
Kryptoanalyse Verschiebechiffre (Caumlsars Code)
Chiffretest Faust
A 0 497
B 0 187
C 130 398
D 649 487
E 0 1569
F 779 190
G 260 278
H 1169 675
I 519 844
J 130 019
K 909 107
L 779 397
M 0 322
N 0 967
O 390 232
P 130 092
Q 909 004
R 260 673
S 0 667
T 0 630
U 909 405
V 909 064
W 390 186
X 260 004
Y 390 003
Z 130 103
0
2
4
6
8
10
12
14
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Faust
000
500
1000
1500
2000
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
14
Wiederholung Mathematik
Kommutativgesetz bull a + b = b + a
bull a middot b = b middot a
Assoziativgesetz bull a + ( b + c) = (a + b) + c
bull a middot ( b middot c ) = (a middot b) middot c
Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c
8
Arithmetik auf endlichen Mengen
Ring
Addition OK
Multiplikation funktioniert
0 und 1 bei Multiplikation und Addition wie gewohnt
Kommutativer Ring
Multiplikation funktioniert noch besser
Koumlrper
kommutativer Ring plus
Division klappt
WS 201011 Vorlesung IT-Sicherheit
M Harms
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
16
Arithmetik auf endlichen Mengen
Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist
Das heiszligt
ndash bez + gibt es ein neutrales Element 0
ndash sowie zu jedem a ein inverses Element a- und
ndash es gelten das Assoziativ- und Kommutativgesetz
bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
9
WS 201011 Vorlesung IT-Sicherheit
M Harms
17
Arithmetik auf endlichen Mengen
Def
Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist
Def n
der Restklassenring modulo n ist
n (sprich bdquoZ modulo nldquo)
= n
= 01hellipn-1
Satz ( n + middot ) ist ein kommutativer Ring
Def p heiszligt Primzahl
wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist
WS 201011 Vorlesung IT-Sicherheit
M Harms
18
Arithmetik auf endlichen Mengen
Def
Ein Ring (M+middot) heiszligt Koumlrper
ndash wenn (M middot) kommutativ ist und
ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
ndash Null und Eins verschieden sind
10
WS 201011 Vorlesung IT-Sicherheit
M Harms
19
Arithmetik auf endlichen Mengen
Satz Fuumlr den Ring ( n + middot ) gilt
n prim ( n + middot ) ist ein Koumlrper
Satz (Fermat 1608-1665) Sei n eine Primzahl
dann gilt in n fuumlr alle a 0
an-1 = 1 oder a an mod n
bzw a - an ist durch n teilbar
WS 201011 Vorlesung IT-Sicherheit
M Harms
20
Arithmetik auf endlichen Mengen
Funktion f(x) = gx mod p
bull Bsp p=7 Restklassenring
6 =01hellip6
bull 3 und 5 sind bdquoErzeugerldquo von 6 0
x=
1 2 3 4 5 6
g= 1 1 1 1 1 1 1
2 2 4 1 2 4 1
3 3 2 6 4 5 1
4 4 2 1 4 2 1
5 5 4 6 2 3 1
6 6 1 6 1 6 1
11
WS 201011 Vorlesung IT-Sicherheit
M Harms
21
Arithmetik auf endlichen Mengen
Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1
Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt
Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit
amiddota-1 1 mod n
a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden
ggT(ab) = ggT(b a mod b) falls a mod b 0
b falls a mod b = 0
WS 201011 Vorlesung IT-Sicherheit
M Harms
22
Uumlbung Ring vs Koumlrper
Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)
bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
Def Ein Ring (M+middot) heiszligt Koumlrper
bull wenn (M middot) kommutativ ist und
bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
bull Null und Eins verschieden sind
Seien A=0 B=1 hellip und so weiter
Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
3
Nomenklatur
Personen der Handlung
bull Alice Bob +Carol Carlos Charlie
bull Eve (= eavesdropper passive Attacke)
bull Mallory Marvin Mallet (= malicious attacker)
bull Trudy (= intruder)
bull Peggy (prover) und Victor (verifier)
bull Trent (trusted entity)
WS 201011 Vorlesung IT-Sicherheit
M Harms
5
WS 201011 Vorlesung IT-Sicherheit
M Harms
6
Nomenklatur
Kryptographische Algorithmen = Berechnungsvorschriften ndash eingeschraumlnkte Algorithmen
muumlssen geheim gehalten werden
ndash starke Algorithmen starke Kryptographie gem Kerkhoffs Prinzip (swu)
muumlssen invertierbar sein D( E(M) ) = M
4
WS 201011 Vorlesung IT-Sicherheit
M Harms
7
Motivation
Chiffre durch Verschiebung im Alphabet Caesars Verschluumlsselung
Zyklische Verschiebung (Rotation) eines Alphabet Rings
= Addition in (endlicher) Menge von Buchstaben
Modulare Arithmetik
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
8
Verschiebechiffre Caesars Code
verschluumlsseln
KLARTEXT
+ DDDDDDDD (D=3)
NODUWHAW
bull Julius Caesar (100-44 v Chr) hat dieses Verfahren bereits verwendet
bull zyklischen Rotation des Alphabets um k Zeichen
bull Schluumlssel zB bdquoDldquo bdquoABCDEFGldquo -gt bdquoDEFGHIJldquo
entschluumlsseln
NODUWHAW
- DDDDDDDD
KLARTEXT
Gra
fik F
H T
rier
5
WS 201011 Vorlesung IT-Sicherheit
M Harms
9
Verschiebechiffre Caesars Code
bdquomonoalphabetische Substitutionldquo jedem Buchstaben eines Textes wird ein anderer eindeutiger Buchstabe zugeordnet z ( z + k ) mod n
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
10
Modulare Arithmetik
Dividiert man eine natuumlrliche Zahl n durch eine andere bleibt ein Rest r 0 1 2 hellip n-1
bull Beispiele 15 4 = 3 Rest 3 oder 15 = 4 middot 3 + 3 15 5 = 3 Rest 0 oder 15 = 5 middot 3
Satz
Seien a b und b gt 0
Dann gibt es eindeutige q r mit
a = qmiddotb + r und r lt b
6
WS 201011 Vorlesung IT-Sicherheit
M Harms
11
Arithmetik auf endlichen Mengen
Kongruenz in der Zahlentheorie
Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben
Beispiel
5 ist kongruent zu 8 modulo 3 denn
5 mod 3 = 2
8 mod 3 = 2
Schreibweise
a b mod m
Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt
bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt
WS 201011 Vorlesung IT-Sicherheit
M Harms
12
Verschiebechiffre Caesars Code
Warum ist die
monoalphabetische Substitution
einfach zu knacken
Gra
fik F
H T
rier
7
WS 201011 Vorlesung IT-Sicherheit
M Harms
13
Kryptoanalyse Verschiebechiffre (Caumlsars Code)
Chiffretest Faust
A 0 497
B 0 187
C 130 398
D 649 487
E 0 1569
F 779 190
G 260 278
H 1169 675
I 519 844
J 130 019
K 909 107
L 779 397
M 0 322
N 0 967
O 390 232
P 130 092
Q 909 004
R 260 673
S 0 667
T 0 630
U 909 405
V 909 064
W 390 186
X 260 004
Y 390 003
Z 130 103
0
2
4
6
8
10
12
14
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Faust
000
500
1000
1500
2000
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
14
Wiederholung Mathematik
Kommutativgesetz bull a + b = b + a
bull a middot b = b middot a
Assoziativgesetz bull a + ( b + c) = (a + b) + c
bull a middot ( b middot c ) = (a middot b) middot c
Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c
8
Arithmetik auf endlichen Mengen
Ring
Addition OK
Multiplikation funktioniert
0 und 1 bei Multiplikation und Addition wie gewohnt
Kommutativer Ring
Multiplikation funktioniert noch besser
Koumlrper
kommutativer Ring plus
Division klappt
WS 201011 Vorlesung IT-Sicherheit
M Harms
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
16
Arithmetik auf endlichen Mengen
Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist
Das heiszligt
ndash bez + gibt es ein neutrales Element 0
ndash sowie zu jedem a ein inverses Element a- und
ndash es gelten das Assoziativ- und Kommutativgesetz
bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
9
WS 201011 Vorlesung IT-Sicherheit
M Harms
17
Arithmetik auf endlichen Mengen
Def
Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist
Def n
der Restklassenring modulo n ist
n (sprich bdquoZ modulo nldquo)
= n
= 01hellipn-1
Satz ( n + middot ) ist ein kommutativer Ring
Def p heiszligt Primzahl
wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist
WS 201011 Vorlesung IT-Sicherheit
M Harms
18
Arithmetik auf endlichen Mengen
Def
Ein Ring (M+middot) heiszligt Koumlrper
ndash wenn (M middot) kommutativ ist und
ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
ndash Null und Eins verschieden sind
10
WS 201011 Vorlesung IT-Sicherheit
M Harms
19
Arithmetik auf endlichen Mengen
Satz Fuumlr den Ring ( n + middot ) gilt
n prim ( n + middot ) ist ein Koumlrper
Satz (Fermat 1608-1665) Sei n eine Primzahl
dann gilt in n fuumlr alle a 0
an-1 = 1 oder a an mod n
bzw a - an ist durch n teilbar
WS 201011 Vorlesung IT-Sicherheit
M Harms
20
Arithmetik auf endlichen Mengen
Funktion f(x) = gx mod p
bull Bsp p=7 Restklassenring
6 =01hellip6
bull 3 und 5 sind bdquoErzeugerldquo von 6 0
x=
1 2 3 4 5 6
g= 1 1 1 1 1 1 1
2 2 4 1 2 4 1
3 3 2 6 4 5 1
4 4 2 1 4 2 1
5 5 4 6 2 3 1
6 6 1 6 1 6 1
11
WS 201011 Vorlesung IT-Sicherheit
M Harms
21
Arithmetik auf endlichen Mengen
Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1
Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt
Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit
amiddota-1 1 mod n
a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden
ggT(ab) = ggT(b a mod b) falls a mod b 0
b falls a mod b = 0
WS 201011 Vorlesung IT-Sicherheit
M Harms
22
Uumlbung Ring vs Koumlrper
Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)
bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
Def Ein Ring (M+middot) heiszligt Koumlrper
bull wenn (M middot) kommutativ ist und
bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
bull Null und Eins verschieden sind
Seien A=0 B=1 hellip und so weiter
Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
4
WS 201011 Vorlesung IT-Sicherheit
M Harms
7
Motivation
Chiffre durch Verschiebung im Alphabet Caesars Verschluumlsselung
Zyklische Verschiebung (Rotation) eines Alphabet Rings
= Addition in (endlicher) Menge von Buchstaben
Modulare Arithmetik
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
8
Verschiebechiffre Caesars Code
verschluumlsseln
KLARTEXT
+ DDDDDDDD (D=3)
NODUWHAW
bull Julius Caesar (100-44 v Chr) hat dieses Verfahren bereits verwendet
bull zyklischen Rotation des Alphabets um k Zeichen
bull Schluumlssel zB bdquoDldquo bdquoABCDEFGldquo -gt bdquoDEFGHIJldquo
entschluumlsseln
NODUWHAW
- DDDDDDDD
KLARTEXT
Gra
fik F
H T
rier
5
WS 201011 Vorlesung IT-Sicherheit
M Harms
9
Verschiebechiffre Caesars Code
bdquomonoalphabetische Substitutionldquo jedem Buchstaben eines Textes wird ein anderer eindeutiger Buchstabe zugeordnet z ( z + k ) mod n
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
10
Modulare Arithmetik
Dividiert man eine natuumlrliche Zahl n durch eine andere bleibt ein Rest r 0 1 2 hellip n-1
bull Beispiele 15 4 = 3 Rest 3 oder 15 = 4 middot 3 + 3 15 5 = 3 Rest 0 oder 15 = 5 middot 3
Satz
Seien a b und b gt 0
Dann gibt es eindeutige q r mit
a = qmiddotb + r und r lt b
6
WS 201011 Vorlesung IT-Sicherheit
M Harms
11
Arithmetik auf endlichen Mengen
Kongruenz in der Zahlentheorie
Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben
Beispiel
5 ist kongruent zu 8 modulo 3 denn
5 mod 3 = 2
8 mod 3 = 2
Schreibweise
a b mod m
Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt
bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt
WS 201011 Vorlesung IT-Sicherheit
M Harms
12
Verschiebechiffre Caesars Code
Warum ist die
monoalphabetische Substitution
einfach zu knacken
Gra
fik F
H T
rier
7
WS 201011 Vorlesung IT-Sicherheit
M Harms
13
Kryptoanalyse Verschiebechiffre (Caumlsars Code)
Chiffretest Faust
A 0 497
B 0 187
C 130 398
D 649 487
E 0 1569
F 779 190
G 260 278
H 1169 675
I 519 844
J 130 019
K 909 107
L 779 397
M 0 322
N 0 967
O 390 232
P 130 092
Q 909 004
R 260 673
S 0 667
T 0 630
U 909 405
V 909 064
W 390 186
X 260 004
Y 390 003
Z 130 103
0
2
4
6
8
10
12
14
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Faust
000
500
1000
1500
2000
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
14
Wiederholung Mathematik
Kommutativgesetz bull a + b = b + a
bull a middot b = b middot a
Assoziativgesetz bull a + ( b + c) = (a + b) + c
bull a middot ( b middot c ) = (a middot b) middot c
Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c
8
Arithmetik auf endlichen Mengen
Ring
Addition OK
Multiplikation funktioniert
0 und 1 bei Multiplikation und Addition wie gewohnt
Kommutativer Ring
Multiplikation funktioniert noch besser
Koumlrper
kommutativer Ring plus
Division klappt
WS 201011 Vorlesung IT-Sicherheit
M Harms
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
16
Arithmetik auf endlichen Mengen
Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist
Das heiszligt
ndash bez + gibt es ein neutrales Element 0
ndash sowie zu jedem a ein inverses Element a- und
ndash es gelten das Assoziativ- und Kommutativgesetz
bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
9
WS 201011 Vorlesung IT-Sicherheit
M Harms
17
Arithmetik auf endlichen Mengen
Def
Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist
Def n
der Restklassenring modulo n ist
n (sprich bdquoZ modulo nldquo)
= n
= 01hellipn-1
Satz ( n + middot ) ist ein kommutativer Ring
Def p heiszligt Primzahl
wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist
WS 201011 Vorlesung IT-Sicherheit
M Harms
18
Arithmetik auf endlichen Mengen
Def
Ein Ring (M+middot) heiszligt Koumlrper
ndash wenn (M middot) kommutativ ist und
ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
ndash Null und Eins verschieden sind
10
WS 201011 Vorlesung IT-Sicherheit
M Harms
19
Arithmetik auf endlichen Mengen
Satz Fuumlr den Ring ( n + middot ) gilt
n prim ( n + middot ) ist ein Koumlrper
Satz (Fermat 1608-1665) Sei n eine Primzahl
dann gilt in n fuumlr alle a 0
an-1 = 1 oder a an mod n
bzw a - an ist durch n teilbar
WS 201011 Vorlesung IT-Sicherheit
M Harms
20
Arithmetik auf endlichen Mengen
Funktion f(x) = gx mod p
bull Bsp p=7 Restklassenring
6 =01hellip6
bull 3 und 5 sind bdquoErzeugerldquo von 6 0
x=
1 2 3 4 5 6
g= 1 1 1 1 1 1 1
2 2 4 1 2 4 1
3 3 2 6 4 5 1
4 4 2 1 4 2 1
5 5 4 6 2 3 1
6 6 1 6 1 6 1
11
WS 201011 Vorlesung IT-Sicherheit
M Harms
21
Arithmetik auf endlichen Mengen
Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1
Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt
Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit
amiddota-1 1 mod n
a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden
ggT(ab) = ggT(b a mod b) falls a mod b 0
b falls a mod b = 0
WS 201011 Vorlesung IT-Sicherheit
M Harms
22
Uumlbung Ring vs Koumlrper
Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)
bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
Def Ein Ring (M+middot) heiszligt Koumlrper
bull wenn (M middot) kommutativ ist und
bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
bull Null und Eins verschieden sind
Seien A=0 B=1 hellip und so weiter
Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
5
WS 201011 Vorlesung IT-Sicherheit
M Harms
9
Verschiebechiffre Caesars Code
bdquomonoalphabetische Substitutionldquo jedem Buchstaben eines Textes wird ein anderer eindeutiger Buchstabe zugeordnet z ( z + k ) mod n
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
10
Modulare Arithmetik
Dividiert man eine natuumlrliche Zahl n durch eine andere bleibt ein Rest r 0 1 2 hellip n-1
bull Beispiele 15 4 = 3 Rest 3 oder 15 = 4 middot 3 + 3 15 5 = 3 Rest 0 oder 15 = 5 middot 3
Satz
Seien a b und b gt 0
Dann gibt es eindeutige q r mit
a = qmiddotb + r und r lt b
6
WS 201011 Vorlesung IT-Sicherheit
M Harms
11
Arithmetik auf endlichen Mengen
Kongruenz in der Zahlentheorie
Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben
Beispiel
5 ist kongruent zu 8 modulo 3 denn
5 mod 3 = 2
8 mod 3 = 2
Schreibweise
a b mod m
Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt
bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt
WS 201011 Vorlesung IT-Sicherheit
M Harms
12
Verschiebechiffre Caesars Code
Warum ist die
monoalphabetische Substitution
einfach zu knacken
Gra
fik F
H T
rier
7
WS 201011 Vorlesung IT-Sicherheit
M Harms
13
Kryptoanalyse Verschiebechiffre (Caumlsars Code)
Chiffretest Faust
A 0 497
B 0 187
C 130 398
D 649 487
E 0 1569
F 779 190
G 260 278
H 1169 675
I 519 844
J 130 019
K 909 107
L 779 397
M 0 322
N 0 967
O 390 232
P 130 092
Q 909 004
R 260 673
S 0 667
T 0 630
U 909 405
V 909 064
W 390 186
X 260 004
Y 390 003
Z 130 103
0
2
4
6
8
10
12
14
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Faust
000
500
1000
1500
2000
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
14
Wiederholung Mathematik
Kommutativgesetz bull a + b = b + a
bull a middot b = b middot a
Assoziativgesetz bull a + ( b + c) = (a + b) + c
bull a middot ( b middot c ) = (a middot b) middot c
Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c
8
Arithmetik auf endlichen Mengen
Ring
Addition OK
Multiplikation funktioniert
0 und 1 bei Multiplikation und Addition wie gewohnt
Kommutativer Ring
Multiplikation funktioniert noch besser
Koumlrper
kommutativer Ring plus
Division klappt
WS 201011 Vorlesung IT-Sicherheit
M Harms
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
16
Arithmetik auf endlichen Mengen
Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist
Das heiszligt
ndash bez + gibt es ein neutrales Element 0
ndash sowie zu jedem a ein inverses Element a- und
ndash es gelten das Assoziativ- und Kommutativgesetz
bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
9
WS 201011 Vorlesung IT-Sicherheit
M Harms
17
Arithmetik auf endlichen Mengen
Def
Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist
Def n
der Restklassenring modulo n ist
n (sprich bdquoZ modulo nldquo)
= n
= 01hellipn-1
Satz ( n + middot ) ist ein kommutativer Ring
Def p heiszligt Primzahl
wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist
WS 201011 Vorlesung IT-Sicherheit
M Harms
18
Arithmetik auf endlichen Mengen
Def
Ein Ring (M+middot) heiszligt Koumlrper
ndash wenn (M middot) kommutativ ist und
ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
ndash Null und Eins verschieden sind
10
WS 201011 Vorlesung IT-Sicherheit
M Harms
19
Arithmetik auf endlichen Mengen
Satz Fuumlr den Ring ( n + middot ) gilt
n prim ( n + middot ) ist ein Koumlrper
Satz (Fermat 1608-1665) Sei n eine Primzahl
dann gilt in n fuumlr alle a 0
an-1 = 1 oder a an mod n
bzw a - an ist durch n teilbar
WS 201011 Vorlesung IT-Sicherheit
M Harms
20
Arithmetik auf endlichen Mengen
Funktion f(x) = gx mod p
bull Bsp p=7 Restklassenring
6 =01hellip6
bull 3 und 5 sind bdquoErzeugerldquo von 6 0
x=
1 2 3 4 5 6
g= 1 1 1 1 1 1 1
2 2 4 1 2 4 1
3 3 2 6 4 5 1
4 4 2 1 4 2 1
5 5 4 6 2 3 1
6 6 1 6 1 6 1
11
WS 201011 Vorlesung IT-Sicherheit
M Harms
21
Arithmetik auf endlichen Mengen
Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1
Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt
Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit
amiddota-1 1 mod n
a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden
ggT(ab) = ggT(b a mod b) falls a mod b 0
b falls a mod b = 0
WS 201011 Vorlesung IT-Sicherheit
M Harms
22
Uumlbung Ring vs Koumlrper
Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)
bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
Def Ein Ring (M+middot) heiszligt Koumlrper
bull wenn (M middot) kommutativ ist und
bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
bull Null und Eins verschieden sind
Seien A=0 B=1 hellip und so weiter
Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
6
WS 201011 Vorlesung IT-Sicherheit
M Harms
11
Arithmetik auf endlichen Mengen
Kongruenz in der Zahlentheorie
Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben
Beispiel
5 ist kongruent zu 8 modulo 3 denn
5 mod 3 = 2
8 mod 3 = 2
Schreibweise
a b mod m
Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt
bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt
WS 201011 Vorlesung IT-Sicherheit
M Harms
12
Verschiebechiffre Caesars Code
Warum ist die
monoalphabetische Substitution
einfach zu knacken
Gra
fik F
H T
rier
7
WS 201011 Vorlesung IT-Sicherheit
M Harms
13
Kryptoanalyse Verschiebechiffre (Caumlsars Code)
Chiffretest Faust
A 0 497
B 0 187
C 130 398
D 649 487
E 0 1569
F 779 190
G 260 278
H 1169 675
I 519 844
J 130 019
K 909 107
L 779 397
M 0 322
N 0 967
O 390 232
P 130 092
Q 909 004
R 260 673
S 0 667
T 0 630
U 909 405
V 909 064
W 390 186
X 260 004
Y 390 003
Z 130 103
0
2
4
6
8
10
12
14
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Faust
000
500
1000
1500
2000
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
14
Wiederholung Mathematik
Kommutativgesetz bull a + b = b + a
bull a middot b = b middot a
Assoziativgesetz bull a + ( b + c) = (a + b) + c
bull a middot ( b middot c ) = (a middot b) middot c
Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c
8
Arithmetik auf endlichen Mengen
Ring
Addition OK
Multiplikation funktioniert
0 und 1 bei Multiplikation und Addition wie gewohnt
Kommutativer Ring
Multiplikation funktioniert noch besser
Koumlrper
kommutativer Ring plus
Division klappt
WS 201011 Vorlesung IT-Sicherheit
M Harms
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
16
Arithmetik auf endlichen Mengen
Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist
Das heiszligt
ndash bez + gibt es ein neutrales Element 0
ndash sowie zu jedem a ein inverses Element a- und
ndash es gelten das Assoziativ- und Kommutativgesetz
bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
9
WS 201011 Vorlesung IT-Sicherheit
M Harms
17
Arithmetik auf endlichen Mengen
Def
Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist
Def n
der Restklassenring modulo n ist
n (sprich bdquoZ modulo nldquo)
= n
= 01hellipn-1
Satz ( n + middot ) ist ein kommutativer Ring
Def p heiszligt Primzahl
wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist
WS 201011 Vorlesung IT-Sicherheit
M Harms
18
Arithmetik auf endlichen Mengen
Def
Ein Ring (M+middot) heiszligt Koumlrper
ndash wenn (M middot) kommutativ ist und
ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
ndash Null und Eins verschieden sind
10
WS 201011 Vorlesung IT-Sicherheit
M Harms
19
Arithmetik auf endlichen Mengen
Satz Fuumlr den Ring ( n + middot ) gilt
n prim ( n + middot ) ist ein Koumlrper
Satz (Fermat 1608-1665) Sei n eine Primzahl
dann gilt in n fuumlr alle a 0
an-1 = 1 oder a an mod n
bzw a - an ist durch n teilbar
WS 201011 Vorlesung IT-Sicherheit
M Harms
20
Arithmetik auf endlichen Mengen
Funktion f(x) = gx mod p
bull Bsp p=7 Restklassenring
6 =01hellip6
bull 3 und 5 sind bdquoErzeugerldquo von 6 0
x=
1 2 3 4 5 6
g= 1 1 1 1 1 1 1
2 2 4 1 2 4 1
3 3 2 6 4 5 1
4 4 2 1 4 2 1
5 5 4 6 2 3 1
6 6 1 6 1 6 1
11
WS 201011 Vorlesung IT-Sicherheit
M Harms
21
Arithmetik auf endlichen Mengen
Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1
Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt
Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit
amiddota-1 1 mod n
a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden
ggT(ab) = ggT(b a mod b) falls a mod b 0
b falls a mod b = 0
WS 201011 Vorlesung IT-Sicherheit
M Harms
22
Uumlbung Ring vs Koumlrper
Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)
bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
Def Ein Ring (M+middot) heiszligt Koumlrper
bull wenn (M middot) kommutativ ist und
bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
bull Null und Eins verschieden sind
Seien A=0 B=1 hellip und so weiter
Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
7
WS 201011 Vorlesung IT-Sicherheit
M Harms
13
Kryptoanalyse Verschiebechiffre (Caumlsars Code)
Chiffretest Faust
A 0 497
B 0 187
C 130 398
D 649 487
E 0 1569
F 779 190
G 260 278
H 1169 675
I 519 844
J 130 019
K 909 107
L 779 397
M 0 322
N 0 967
O 390 232
P 130 092
Q 909 004
R 260 673
S 0 667
T 0 630
U 909 405
V 909 064
W 390 186
X 260 004
Y 390 003
Z 130 103
0
2
4
6
8
10
12
14
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Faust
000
500
1000
1500
2000
1 3 5 7 9 11 13 15 17 19 21 23 25
Reihe1
Gra
fik F
H T
rier
WS 201011 Vorlesung IT-Sicherheit
M Harms
14
Wiederholung Mathematik
Kommutativgesetz bull a + b = b + a
bull a middot b = b middot a
Assoziativgesetz bull a + ( b + c) = (a + b) + c
bull a middot ( b middot c ) = (a middot b) middot c
Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c
8
Arithmetik auf endlichen Mengen
Ring
Addition OK
Multiplikation funktioniert
0 und 1 bei Multiplikation und Addition wie gewohnt
Kommutativer Ring
Multiplikation funktioniert noch besser
Koumlrper
kommutativer Ring plus
Division klappt
WS 201011 Vorlesung IT-Sicherheit
M Harms
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
16
Arithmetik auf endlichen Mengen
Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist
Das heiszligt
ndash bez + gibt es ein neutrales Element 0
ndash sowie zu jedem a ein inverses Element a- und
ndash es gelten das Assoziativ- und Kommutativgesetz
bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
9
WS 201011 Vorlesung IT-Sicherheit
M Harms
17
Arithmetik auf endlichen Mengen
Def
Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist
Def n
der Restklassenring modulo n ist
n (sprich bdquoZ modulo nldquo)
= n
= 01hellipn-1
Satz ( n + middot ) ist ein kommutativer Ring
Def p heiszligt Primzahl
wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist
WS 201011 Vorlesung IT-Sicherheit
M Harms
18
Arithmetik auf endlichen Mengen
Def
Ein Ring (M+middot) heiszligt Koumlrper
ndash wenn (M middot) kommutativ ist und
ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
ndash Null und Eins verschieden sind
10
WS 201011 Vorlesung IT-Sicherheit
M Harms
19
Arithmetik auf endlichen Mengen
Satz Fuumlr den Ring ( n + middot ) gilt
n prim ( n + middot ) ist ein Koumlrper
Satz (Fermat 1608-1665) Sei n eine Primzahl
dann gilt in n fuumlr alle a 0
an-1 = 1 oder a an mod n
bzw a - an ist durch n teilbar
WS 201011 Vorlesung IT-Sicherheit
M Harms
20
Arithmetik auf endlichen Mengen
Funktion f(x) = gx mod p
bull Bsp p=7 Restklassenring
6 =01hellip6
bull 3 und 5 sind bdquoErzeugerldquo von 6 0
x=
1 2 3 4 5 6
g= 1 1 1 1 1 1 1
2 2 4 1 2 4 1
3 3 2 6 4 5 1
4 4 2 1 4 2 1
5 5 4 6 2 3 1
6 6 1 6 1 6 1
11
WS 201011 Vorlesung IT-Sicherheit
M Harms
21
Arithmetik auf endlichen Mengen
Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1
Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt
Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit
amiddota-1 1 mod n
a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden
ggT(ab) = ggT(b a mod b) falls a mod b 0
b falls a mod b = 0
WS 201011 Vorlesung IT-Sicherheit
M Harms
22
Uumlbung Ring vs Koumlrper
Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)
bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
Def Ein Ring (M+middot) heiszligt Koumlrper
bull wenn (M middot) kommutativ ist und
bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
bull Null und Eins verschieden sind
Seien A=0 B=1 hellip und so weiter
Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
8
Arithmetik auf endlichen Mengen
Ring
Addition OK
Multiplikation funktioniert
0 und 1 bei Multiplikation und Addition wie gewohnt
Kommutativer Ring
Multiplikation funktioniert noch besser
Koumlrper
kommutativer Ring plus
Division klappt
WS 201011 Vorlesung IT-Sicherheit
M Harms
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
16
Arithmetik auf endlichen Mengen
Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist
Das heiszligt
ndash bez + gibt es ein neutrales Element 0
ndash sowie zu jedem a ein inverses Element a- und
ndash es gelten das Assoziativ- und Kommutativgesetz
bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
9
WS 201011 Vorlesung IT-Sicherheit
M Harms
17
Arithmetik auf endlichen Mengen
Def
Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist
Def n
der Restklassenring modulo n ist
n (sprich bdquoZ modulo nldquo)
= n
= 01hellipn-1
Satz ( n + middot ) ist ein kommutativer Ring
Def p heiszligt Primzahl
wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist
WS 201011 Vorlesung IT-Sicherheit
M Harms
18
Arithmetik auf endlichen Mengen
Def
Ein Ring (M+middot) heiszligt Koumlrper
ndash wenn (M middot) kommutativ ist und
ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
ndash Null und Eins verschieden sind
10
WS 201011 Vorlesung IT-Sicherheit
M Harms
19
Arithmetik auf endlichen Mengen
Satz Fuumlr den Ring ( n + middot ) gilt
n prim ( n + middot ) ist ein Koumlrper
Satz (Fermat 1608-1665) Sei n eine Primzahl
dann gilt in n fuumlr alle a 0
an-1 = 1 oder a an mod n
bzw a - an ist durch n teilbar
WS 201011 Vorlesung IT-Sicherheit
M Harms
20
Arithmetik auf endlichen Mengen
Funktion f(x) = gx mod p
bull Bsp p=7 Restklassenring
6 =01hellip6
bull 3 und 5 sind bdquoErzeugerldquo von 6 0
x=
1 2 3 4 5 6
g= 1 1 1 1 1 1 1
2 2 4 1 2 4 1
3 3 2 6 4 5 1
4 4 2 1 4 2 1
5 5 4 6 2 3 1
6 6 1 6 1 6 1
11
WS 201011 Vorlesung IT-Sicherheit
M Harms
21
Arithmetik auf endlichen Mengen
Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1
Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt
Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit
amiddota-1 1 mod n
a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden
ggT(ab) = ggT(b a mod b) falls a mod b 0
b falls a mod b = 0
WS 201011 Vorlesung IT-Sicherheit
M Harms
22
Uumlbung Ring vs Koumlrper
Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)
bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
Def Ein Ring (M+middot) heiszligt Koumlrper
bull wenn (M middot) kommutativ ist und
bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
bull Null und Eins verschieden sind
Seien A=0 B=1 hellip und so weiter
Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
9
WS 201011 Vorlesung IT-Sicherheit
M Harms
17
Arithmetik auf endlichen Mengen
Def
Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist
Def n
der Restklassenring modulo n ist
n (sprich bdquoZ modulo nldquo)
= n
= 01hellipn-1
Satz ( n + middot ) ist ein kommutativer Ring
Def p heiszligt Primzahl
wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist
WS 201011 Vorlesung IT-Sicherheit
M Harms
18
Arithmetik auf endlichen Mengen
Def
Ein Ring (M+middot) heiszligt Koumlrper
ndash wenn (M middot) kommutativ ist und
ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
ndash Null und Eins verschieden sind
10
WS 201011 Vorlesung IT-Sicherheit
M Harms
19
Arithmetik auf endlichen Mengen
Satz Fuumlr den Ring ( n + middot ) gilt
n prim ( n + middot ) ist ein Koumlrper
Satz (Fermat 1608-1665) Sei n eine Primzahl
dann gilt in n fuumlr alle a 0
an-1 = 1 oder a an mod n
bzw a - an ist durch n teilbar
WS 201011 Vorlesung IT-Sicherheit
M Harms
20
Arithmetik auf endlichen Mengen
Funktion f(x) = gx mod p
bull Bsp p=7 Restklassenring
6 =01hellip6
bull 3 und 5 sind bdquoErzeugerldquo von 6 0
x=
1 2 3 4 5 6
g= 1 1 1 1 1 1 1
2 2 4 1 2 4 1
3 3 2 6 4 5 1
4 4 2 1 4 2 1
5 5 4 6 2 3 1
6 6 1 6 1 6 1
11
WS 201011 Vorlesung IT-Sicherheit
M Harms
21
Arithmetik auf endlichen Mengen
Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1
Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt
Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit
amiddota-1 1 mod n
a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden
ggT(ab) = ggT(b a mod b) falls a mod b 0
b falls a mod b = 0
WS 201011 Vorlesung IT-Sicherheit
M Harms
22
Uumlbung Ring vs Koumlrper
Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)
bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
Def Ein Ring (M+middot) heiszligt Koumlrper
bull wenn (M middot) kommutativ ist und
bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
bull Null und Eins verschieden sind
Seien A=0 B=1 hellip und so weiter
Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
10
WS 201011 Vorlesung IT-Sicherheit
M Harms
19
Arithmetik auf endlichen Mengen
Satz Fuumlr den Ring ( n + middot ) gilt
n prim ( n + middot ) ist ein Koumlrper
Satz (Fermat 1608-1665) Sei n eine Primzahl
dann gilt in n fuumlr alle a 0
an-1 = 1 oder a an mod n
bzw a - an ist durch n teilbar
WS 201011 Vorlesung IT-Sicherheit
M Harms
20
Arithmetik auf endlichen Mengen
Funktion f(x) = gx mod p
bull Bsp p=7 Restklassenring
6 =01hellip6
bull 3 und 5 sind bdquoErzeugerldquo von 6 0
x=
1 2 3 4 5 6
g= 1 1 1 1 1 1 1
2 2 4 1 2 4 1
3 3 2 6 4 5 1
4 4 2 1 4 2 1
5 5 4 6 2 3 1
6 6 1 6 1 6 1
11
WS 201011 Vorlesung IT-Sicherheit
M Harms
21
Arithmetik auf endlichen Mengen
Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1
Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt
Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit
amiddota-1 1 mod n
a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden
ggT(ab) = ggT(b a mod b) falls a mod b 0
b falls a mod b = 0
WS 201011 Vorlesung IT-Sicherheit
M Harms
22
Uumlbung Ring vs Koumlrper
Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)
bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
Def Ein Ring (M+middot) heiszligt Koumlrper
bull wenn (M middot) kommutativ ist und
bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
bull Null und Eins verschieden sind
Seien A=0 B=1 hellip und so weiter
Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
11
WS 201011 Vorlesung IT-Sicherheit
M Harms
21
Arithmetik auf endlichen Mengen
Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1
Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt
Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit
amiddota-1 1 mod n
a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden
ggT(ab) = ggT(b a mod b) falls a mod b 0
b falls a mod b = 0
WS 201011 Vorlesung IT-Sicherheit
M Harms
22
Uumlbung Ring vs Koumlrper
Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn
bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)
bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz
bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M
Def Ein Ring (M+middot) heiszligt Koumlrper
bull wenn (M middot) kommutativ ist und
bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und
bull Null und Eins verschieden sind
Seien A=0 B=1 hellip und so weiter
Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
12
WS 201011 Vorlesung IT-Sicherheit
M Harms
23
Beispiele fuumlr Ringe und Koumlrper
Ring
bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip
bull Restklassenring
bull Polynome (kommutativer Ring)
bull Matrix (nicht kommutativ Ring)
bull Ziffernblatt der Uhr
Koumlrper
bull rationale Zahlen
bull primer Restklassenring
bull Felder F wie F23
bull ein Bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
24
Modulare Division
Wie wird eine Division berechnet
x = a b mod m
Antwort
x = amiddotb-1 mod m
Zentrale Frage daher
Wie berechnet man das modular Inverse b-1
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
13
WS 201011 Vorlesung IT-Sicherheit
M Harms
25
Modulare Division Wie bestimmt man das modular Inverse b-1
Ausgangsbasis
bmiddotb-1 1 mod m
Es gibt also ein q mit
bmiddotb-1 = qmiddotm + 1
bmiddotb-1 - qmiddotm = 1
Beacutezout-Identitaumlt
ggT(ab) = smiddota + tmiddotb
also
ggT(b m) = bmiddotb-1 - qmiddotm
erw Euklidischen Algorithmus
ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl
Alle Multiplikatoren qi merken a = qmiddotb + r
ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0
und dann alle Schritte ruumlckwaumlrts
si-1 = ti und ti-1 = si ndash qi ti
WS 201011 Vorlesung IT-Sicherheit
M Harms
26
Modulare Division
bull Beispiel
m 23
x 12
x -1 =
a = qmiddotb + r ggT(ab) = smiddota + tmiddotb
a b q s t
23 12 1 -1 2 1 = -1 23 + 2 12
12 11 1 1 -1
11 1 11 0 1 =s - qt
1 0 1 0
1 = smiddot1 + tmiddot0
x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
14
WS 201011 Vorlesung IT-Sicherheit
M Harms
27
Historische kryptographische
Algorithmen
bull Verschiebechiffre (Caumlsars Code)
bull Vigenegravere Chiffre
bull Enigma
bull One Time Pad
WS 201011 Vorlesung IT-Sicherheit
M Harms
28
Monoalphabetische Substitution
monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet
Verschiebechiffre (Caesar) z ( z + k ) mod n
Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1
Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
15
WS 201011 Vorlesung IT-Sicherheit
M Harms
29
Tauschchiffre (affine Chiffre)
z ( z middot t + k ) mod n
zB t=5 k=7 n=26 und es ist ggT(tn) = 1
0 1 2 3 4 5 6 7 8 9 10 hellip
7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26
7 12 17 22 1 6 11 16 21 0 7 hellip
0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=
WS 201011 Vorlesung IT-Sicherheit
M Harms
30
Vigenegravere Chiffre
bull Polyalphabetischer Chiffre
bull Verschleiert Haumlufigkeiten
bull Sender u Empfaumlnger vereinbaren Schluumlsselwort
bull M=VERTRAULICH
bull K=GEHEIMGEHEI
bull C=CJZYANBQQHQ
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
16
WS 201011 Vorlesung IT-Sicherheit
M Harms
31
Vigenegravere Chiffre -Kryptoanalyse
1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten
bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren
2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben
suchen
bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge
bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen
WS 201011 Vorlesung IT-Sicherheit
M Harms
32
Vigenegravere Chiffre -Kryptoanalyse
bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY
bull XMY Abstand 16 = 2222
bull Wahrscheinliche Keylaumlngen 2 4 8 16
bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
17
WS 201011 Vorlesung IT-Sicherheit
M Harms
33
Enigma
bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine
bull polyalphabetische Substitution
bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)
bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo
WS 201011 Vorlesung IT-Sicherheit
M Harms
34
Enigma ndash Grundprinzip
Quelle Wikimedia Commons
Reflektor
Mittel- Rotor
Re Rotor
li Rotor
x
A
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
18
WS 201011 Vorlesung IT-Sicherheit
M Harms
35
Enigma - Schluumlsselraum
bull Walzenlage
ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen
bull Ringstellung
ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen
bull Walzenstellung
ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen
bull Steckerverbindungen
ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten
Schluumlsselmoumlglichkeiten
120 middot 676 middot 16900 middot 150738274937250 =
206651321783174268000000
entspricht ca 77 bit
WS 201011 Vorlesung IT-Sicherheit
M Harms
36
One-Time-Pad
bull One-Time-Pad (OTP) Einmalverschluumlsselung
bull M VERTRAULICH
bull K PIYXQLTAXRA
z ( m + k ) mod 26
bull C LNQRIMOMGUI
Nicht praktikabel da Schluumlsselaustauschproblem besteht
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
19
WS 201011 Vorlesung IT-Sicherheit
M Harms
37
Kryptoanalyse
Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen
oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren
ndash Parameter
ndash plausible Vermutungen
ndash hellip
geheime Informationen ndash Schluumlssel
WS 201011 Vorlesung IT-Sicherheit
M Harms
38
Kryptoanalyse
Kategorien
bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden
bull Globale Deduktion ndash Aumlquivalenter Algorithmus
bull Lokale Deduktion ndash Nachricht entziffert
bull Informationsdetektion ndash Eingeschraumlnkt entziffert
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
20
WS 201011 Vorlesung IT-Sicherheit
M Harms
39
Kryptoanalyse
Wichtige Methode
bull Haumlufigkeits-Wiederholungsanalyse
bull Brute-Force
bull Woumlrterbuch
bull Seitenkanalanalyse
bull Lineare differentielle Kryptoanalyse
bull Algebraische Analyse
WS 201011 Vorlesung IT-Sicherheit
M Harms
40
Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse
bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20
ndash N ca 10
ndash A D I RS T ca 5 ndash 10
ndash hellip
bull Paarhaumlufigkeit ndash EN ER ca 4
ndash CH TE ca 3
ndash TE DE ND EI IN ES um 2
bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
21
WS 201011 Vorlesung IT-Sicherheit
M Harms
41
Seitenkanalanalyse
Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen
bull Dauer der Verschluumlsselung
bull zeitliche Verlauf des Stromverbrauchs eines Chips
bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen
bull Branch Prediction Analysis
bull Abstrahlung elektromagnetischer Wellen
WS 201011 Vorlesung IT-Sicherheit
M Harms
42
Einschub Wie rechnet man moumlglichst schnell xy
1 wenn n=0
x n = x (x (n-1)2 ) 2 wenn n ungrade
(x n2 ) 2 wenn n grade
binaumlre Exponentiation
zB n = 38 = 100110
xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2
= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2
Programmablauf Q QM QM Q Q 100110
Also statt 38 Multiplikationen nur 7 Multiplikationen
Quadiere
Quadriere und Multiplizieren
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
22
WS 201011 Vorlesung IT-Sicherheit
M Harms
43
BPA bei RSA mit Standard Algorithmus
C = Md (mod N)
Binary Square-and-Multiply Exponentiation Algorithm
Code S = M
for ( int i = 1 i ltn-1 i++)
S = SS mod N
if ( di = 1 )
S = SM mod N
return S
Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert
Sprungbefehle der CPU analysieren
di d
geheimer Schluumlssel d
WS 201011 Vorlesung IT-Sicherheit
M Harms
44
Kryptoanalyse
Angriffsszenarien
bull Ciphertext-Only-Angriff
bull PropableKnown-Plaintext-Angriff
bull Choosen-PlaintextChiphertext-Angriff
bull Man in the middle
bull Kriminalitaumlt (Gewalt Erpressung Bestechung)
Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
23
WS 201011 Vorlesung IT-Sicherheit
M Harms
45
Ciphertext-Only-Angriff
C = Verschluumlsselter Text
P = plaintext (Klartext)
Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
Gesucht
Px k E oder D
WS 201011 Vorlesung IT-Sicherheit
M Harms
46
PropableKnown-Plaintext-Angriff
Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)
und
P1 exakt bekannt oder wahrscheinlich
Gesucht
k Ek oder Dk
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
24
WS 201011 Vorlesung IT-Sicherheit
M Harms
47
Chosen-PlaintextChiphertext-Angriff (CPA)
1 Angreifer kann Nachricht frei bestimmen
2 Angreifer hat Zugriff auf verschluumlsselte Nachricht
zB Opfer Nachricht unterschieben
Informationen zum System ermitteln
Vergleich von verschluumlsselten Nachrichten
Woumlrterbuch Chiffretext Nachricht
WS 201011 Vorlesung IT-Sicherheit
M Harms
48
Man in the middle
bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo
bull Bob bdquoMein Schluumlssel ist XYZldquo
bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo
bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo
bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo
Alice Bob Mallory
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
25
WS 201011 Vorlesung IT-Sicherheit
M Harms
49
Man in the middle
bull Physikalischer Zugriff auf LAN Kabel
bull Betriebssystem Eingriff ndash Treiber
ndash bdquohostsldquo Datei
bull ARP
bull DHCP
bull Router Hacking
bull WLAN Snarfing
bull DNS Cache Poisoning
bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)
WS 201011 Vorlesung IT-Sicherheit
M Harms
50
Kriminalitaumlt in der Kryptoanalyse
bull bdquoSocial Engineeringldquo (zB Phishing)
ndash zwischenmenschliche Beeinflussung
ndash falsche Identitaumlt vortaumluschen
ndash Ausnutzen von Autoritaumltshoumlrigkeit
ndash (privat) Ausspaumlhen
bull Gewalt
bull Erpressung
bull Bestechung
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
26
WS 201011 Vorlesung IT-Sicherheit
M Harms
51
Kerckhoffsrsquo Prinzip (1883)
bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein
bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird
bull der Schluumlssel muss leicht zu merken und auswechselbar sein
bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein
bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein
bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein
bull das Chiffriersystem sollte von Experten gut untersucht sein
Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht
-gt Security by obscurity
WS 201011 Vorlesung IT-Sicherheit
M Harms
52
Grundlagen der Kryptographie
bull Einwegfunktionen
bull Trapdoor-Einwegfunktionen
bull Algorithmen
bull Protokolle
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
27
WS 201011 Vorlesung IT-Sicherheit
M Harms
53
Einschub Binaumlre Arithmetik
ODER (OR)
X Y X v Y
0 0 0
0 1 1
1 0 1
1 1 1
UND (AND)
X Y X Y
0 0 0
0 1 0
1 0 0
1 1 1
ExclODER (XOR)
X Y X Y
0 0 0
0 1 1
1 0 1
1 1 0
A XOR B = (A+B) mod 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
54
Einwegfunktion
= Leicht berechenbar schwer umkehrbar
bull Primfaktorzerlegung
ndash Fundamentalsatz der Arithmetik
ndash Bsp Primfaktorzerlegung von 112
bull Gruppentheorie Diskreter Logarithmus
f(x) = bx mod m
bull Hashfunktionen
ndash MD5 SSH
bull elliptische Kurven
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
28
WS 201011 Vorlesung IT-Sicherheit
M Harms
55
Primfaktorzerlegung
Fundamentalsatz der Arithmetik
Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese
Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig
Primfaktorzerlegung = Faktorisierung
Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden
Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt
WS 201011 Vorlesung IT-Sicherheit
M Harms
56
Primfaktorzerlegung fuumlr n
bull Probedivision bis radic
bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)
bull hellip
Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
29
WS 201011 Vorlesung IT-Sicherheit
M Harms
57
Primzahlentests
bull Sieb des Eratosthenes
bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus
bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen
bull hellip
WS 201011 Vorlesung IT-Sicherheit
M Harms
58
Zufallszahlen
bull Fast alle Schluumlssel werden mit Zufallszahlen generiert
bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall
ndash Zufallszahlen werden berechnet
ndash Pseudozufallszahlen
bull Berechnungsformel Z muss sicher sein
bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben
bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
30
WS 201011 Vorlesung IT-Sicherheit
M Harms
59
Pseudozufallszahlen
bull arithmetische Zufallszahlengeneratoren
z = i middot y0 mod 1
irrationale Zahl y0 ]01[
bull rekursiver arithmetischer Zufallszahlengenerator
z wird rekursiv aus einermehrerer Vorgaumlnger berechnet
WS 201011 Vorlesung IT-Sicherheit
M Harms
60
Pseudozufallszahlen rekursiver arithmetischer Generator
bull Kongruenzgenerator ndash linearer Kongruenzgenerator
zn = (a middot zn-1 + b) mod m
ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m
ndash Blum-Blum-Shub-Generator (BBS)
zn = z2n-1 mod pmiddotq
pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)
bull Inverser Kongruenzgenerator
bull Mersenne-Twister
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
31
WS 201011 Vorlesung IT-Sicherheit
M Harms
61
Satz von Marsaglia
linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m
bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip
Satz
k-Tupel liegen auf maximal
(m middot k)12
Hyperebenen
Inverse Konguenzgeneratoren haben dieses Verhalten nicht
Quelle Wikipedia
zn+1 = 24298zn + 99991mod 199017
WS 201011 Vorlesung IT-Sicherheit
M Harms
62
Einwegfunktion Diskreter Logarithmus
A = logg a wobei A = g a mod p
bull Spezialfall bdquoprime Restklassengruppeldquo
bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3
bull 3sup2 mod 7 = 9 mod 7 = 2
bull 3sup3 mod 7 = 27 mod 7 = 6
bull 35 mod 7 = 81 mod 7 = 4
bull 36 mod 7 = 729 mod 7 = 1
Alle Elemente der Restklassengruppe werden gebildet
3 ist ein Erzeuger des Koumlrpers
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
32
WS 201011 Vorlesung IT-Sicherheit
M Harms
63
Hashfunktion MD5
bull Message Digest Algorithm 5
bull 1991 Ron Rivest (MIT)
bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge
bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3
WS 201011 Vorlesung IT-Sicherheit
M Harms
64
Hashfunktion MD5 4 x Runde
A B C D
+ mod 232
Fk
+ mod 232
Mi
32bit Block
ltltltki
+ mod 232
A B C D
Ki
F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)
Initialisierung 128 bit
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
33
WS 201011 Vorlesung IT-Sicherheit
M Harms
65
Uumlbung MD5 bdquoLightldquo in Java
Entwickle einen MD5 Hash Algorithmus Light in Java
bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1
ndash ki = k1 = const 17
bull Hilfestellung Java Templates bull Experimetieren
ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife
WS 201011 Vorlesung IT-Sicherheit
M Harms
66
Uumlbung MD5 bdquoLightldquo in Java
Algorithmus Experimente
Message MD5L = 4Loop 2Loop 1Loop
Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111
Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111
Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110
Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101
T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111
U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
34
WS 201011 Vorlesung IT-Sicherheit
M Harms
67
Uumlbung MD5 bdquoLightldquo in Java
Sicherheit von MD5-Light Brute Force Attacke
Md5lHash( ) = Md5lHash(bdquoTestldquo)
Zeit fuumlr Attacke
bull Schluumlssellaumlnge 284 = 232 = 4294967296
bull Optimierter Algorithmus auf Core2 25 GHz
ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden
ndash also ca 400000 sec
ca 10000 sec oder knapp 3 h
Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden
Angriffsdauer x 16 (geschaumltzt)
) Siehe Shirazi Java Performance Tuning
WS 201011 Vorlesung IT-Sicherheit
M Harms
68
MD5 in Java
MD5 ist in J2SE integriert
import javamathBigInteger
import javasecurity
MessageDigest md = MessageDigestgetInstance(MD5)
byte[] messageDigest = mddigest(inputgetBytes())
BigInteger number = new BigInteger(1 messageDigest)
String hashtext = numbertoString(16)
Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren
MessageDigest unterstuumltzt
MD2 MD5 SHA-1 SHA-256 SHA-384
SHA-512
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
35
WS 201011 Vorlesung IT-Sicherheit
M Harms
69
Hashfunktion SHA
bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil
ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)
bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash
WS 201011 Vorlesung IT-Sicherheit
M Harms
70
Kryptographie
symmetrisch asymmetrisch
bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )
ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel
ndash Problem Austausch des Schluumlssels auf sicherem Weg
bull Asymmetrisch bull C = EpupKey ( M )
bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel
Entschluumlsselung mit privatem Schluumlssel
ndash Problem oumlffentliche Schluumlssel sicher zuordnen
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
36
WS 201011 Vorlesung IT-Sicherheit
M Harms
71
Kryptographie
Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren
ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch
ndash asymmetrisch (zB RSA) bull PKI
ndash Hybrid
ndash Block-Stromverschluumlsselung
bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und
Zero Knowledge
bull Autorisierung
bull Zertifizierung und Signatur
WS 201011 Vorlesung IT-Sicherheit
M Harms
72
Moderne Block Chiffrierverfahren
bull DES = Data Encryption Standard
bull 1973 von H Feistel im Auftrag von IBM entwickelt
ndash weite Verbreitung
Nachfolger
bull AES
= Advanced Encryption Standard
Einwegfunktionen
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
37
WS 201011 Vorlesung IT-Sicherheit
M Harms
73
Feistel Blockchiffre Feistel Netzwerk
F = Transformationsfunktion
= invertierbare Verknuumlpfung (Umkehrung ①)
bijektiv (umkehrbar)
Projekt bdquoLuciferldquo IBM 1970er Jahre
Verschluumlsselung
M aufteilen in L und R
Li+1 = Ri Ri+1 = Li F(RiKi)
n Runden C = (LnRn)
Entschluumlsselung
M aufteilen in L und R
Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)
n Runden C = (LnRn)
SYMMETRISCH
F
M
K1
L1 R1
F
K2
L2 R2
F
Ki
Li Ri
C
WS 201011 Vorlesung IT-Sicherheit
M Harms
74
Feistel Chiffre
bull Blowfish
bull Camelia
bull CAST
bull DESTriple-DES
bull FEAL
bull MARS
bull TEAXTEA
bull Twofish
bull MISTY1
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
38
WS 201011 Vorlesung IT-Sicherheit
M Harms
75
DES
Algorithmus Eckdaten
bull 64 Bit Schluumlssel ndash symmetrisch ke = kd
ndash sicherer Kanal fuumlr Austausch von k benoumltigt
bull 64 Bit (8 Byte) Bloumlcke m bilden
bull blockweise Verschluumlsselung
DES(mk)
bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit
unterschiedlichen Teilen des Schluumlssels
ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt
WS 201011 Vorlesung IT-Sicherheit
M Harms
76
Klartext Eingangspermutation
L0 R0
DES Runde 1 K1
L1 R1
DES Runde 2 K2
DES Runde 16 K16
hellip
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
39
WS 201011 Vorlesung IT-Sicherheit
M Harms
77
Klartext Eingangspermutation
L0 R0
F K1
K2
K16
Schlusspermutation
L16 R16
Chiffretext
Schluumlssel
DES Algorithmus
L2 R2
F
F
WS 201011 Vorlesung IT-Sicherheit
M Harms
78
Expansionsmutation
P-Box Permutation
Li Ri
48 bit
48 bit
32 bit
32 bit
Ki
Schluumlssel
Kompressions- permutation
Shift Shift F
S-Box Substitutionen
DES ndash Runde i
28 bit 28 bit
Li-1 Ri-1 Schluumlssel
32 bit 32 bit
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
40
WS 201011 Vorlesung IT-Sicherheit
M Harms
79
DES - Expansionsmutation
E F232 F2
48
Aus 4 Byte
werden 6 Byte
E(b1b2b3hellip)
=b32 b1 b2 b3 hellip
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 21 32 1
WS 201011 Vorlesung IT-Sicherheit
M Harms
80
DES S-Box nichtlineare Substitutionsoperation
Anforderungen
bull Vollstaumlndigkeit
Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig
bull Avalanche
Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der
Haumllfte aller Ausgangsbits nach sich
bull Nichtlinearitaumlt
Kein Ausgangsbit ist linear oder affin von einem Eingangsbit
abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein
bull Korrelationsimmunitaumlt
Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine
Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und
umgekehrt
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
41
WS 201011 Vorlesung IT-Sicherheit
M Harms
81
DES S-Box Beispiel
bull statische 6times4-Bit S-Box (S5) von DES
Operation S5 ( 011011 ) 1001
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
82
DES Dechiffrierfunktion
bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden
bull Umkehrfunktion ndash gleicher Algorithmus
ndash jedoch umgekehrte Anwendung der Schluumlssel
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
42
WS 201011 Vorlesung IT-Sicherheit
M Harms
83
DES Sicherheit
bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an
bull Beispiel ndash Ausgang H = 1
ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17
ndash ab DES 3 Runde H ca 30
bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen
WS 201011 Vorlesung IT-Sicherheit
M Harms
84
Uumlbung - DES
Kryptoanalyse
Passwortverschluumlsselung (Web Server) mit DES
bull Beurteile die Gefaumlhrlichkeit von
ndash Ciphertext-Only Angriff
ndash Known-Plaintext Angriff
ndash Choosen-Plaintext Angriff
ndash Man in the middle
bull Welche Seitenkanalangriffe sind zu befuumlrchten
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
43
WS 201011 Vorlesung IT-Sicherheit
M Harms
85
DES Historie
bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus
bull 1977 DES wird veroumlffentlicht
bull 1981 ANSI Standard
bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage
bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt
bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner
WS 201011 Vorlesung IT-Sicherheit
M Harms
86
3DES
bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach
bull Laumlngere Schluumlssel -gt houmlhere Sicherheit
bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel
E D E
Nachricht Chiffretext
k1 k2 k1 k3
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
44
WS 201011 Vorlesung IT-Sicherheit
M Harms
87
DES
bull DES Hardware ndash ca 10 GBit sec
bull 3DES Hardware ndash einige 100 MBit sec
WS 201011 Vorlesung IT-Sicherheit
M Harms
88
Blockchiffre ECB
bull Probleme ndash Austausch eines Blocks wird nicht erkannt
ndash Abschneiden wird nicht erkannt
ndash Mustererkennung
Quelle Wikipedia
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
45
WS 201011 Vorlesung IT-Sicherheit
M Harms
89
ECB Problem mit Bitmustern
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
90
Cipher-block chaining (CBC)
bull Problem Austausch eines Blocks
Quelle Wikipedia
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
46
WS 201011 Vorlesung IT-Sicherheit
M Harms
91
Blockchiffre CFB
bull CFB = Chiffre Feedback Mode
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
92
Blockchiffre OFB
bull OFB = Output Feedback
Quelle Wikipedia bdquoPseudo-One-Time-Padldquo
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
47
WS 201011 Vorlesung IT-Sicherheit
M Harms
93
Zufallszahlen mit DES - CFB
Puffer
DES
Bit Maske
XOR Pseudozufallszahl Zeichenstrom
8
64
64
8
8 8
WS 201011 Vorlesung IT-Sicherheit
M Harms
94
AES
bull NIST (2000) Nachfolger von DES
ndash Ausschreibung
bull Rijndael-Algorithmus ndash offen gelegt
ndash bietet ein sehr hohes Maszlig an Sicherheit
ndash Referenz-Implementierung weniger als 500 Zeilen C-Code
bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
48
WS 201011 Vorlesung IT-Sicherheit
M Harms
95
AES
Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B
ndash 7-Zip RAR
bull PGP und GnuPG
WS 201011 Vorlesung IT-Sicherheit
M Harms
96
AES Runde 1
K0
S0
Klartext 128 bit
Chiffretext 128 bit
Schluumlssel 192 bit
AES Algorithmus
Schluumlsselexpansion
S1
S11
AES Runde 2
AES Runde 12
K2
K11
K12
Si
Si+1
ByteSub
ShiftRow
MixColumn
Ki+1
Si+1
Substitution
Shift Row
Mix Column
Ki+1
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
49
WS 201011 Vorlesung IT-Sicherheit
M Harms
97
AES
bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch
bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten
verschoben
bull Mix Column ndash Block als Feld
ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)
WS 201011 Vorlesung IT-Sicherheit
M Harms
98
AES
bull Rundenzahl variiert mit Schluumlssellaumlnge
bull alle Transformationen sind invertierbar
bull Entschluumlsselung durch ndash Umgekehrten Ablauf
ndash Einsatz der invertierten Operationen
bull AES ist ndash um vielfaches schneller als DES
ndash leicht parallelisierbar
ndash einfach in Hardware zu implementieren
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
50
WS 201011 Vorlesung IT-Sicherheit
M Harms
99
IDEA
bull IDEA =International Data Encryption Algorithm
bull LaiMassey 1990
bull verschluumlsselt 64-Bit-Bloumlcke
bull Schluumlssellaumlnge 128 Bits
bull arbeitet mit 8 (statt 16) Runden
bull verwendet ndash Xor
ndash Addition
ndash Multiplikation
ndash dh keine Permutation oder Substitution
bull Patentiert
WS 201011 Vorlesung IT-Sicherheit
M Harms
100
IDEA - Arbeitsweise
Quelle Wikipedia
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
51
WS 201011 Vorlesung IT-Sicherheit
M Harms
101
Stromchiffre lineare Schieberegister
bull Initialisierung
bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2
bull ist periodisch
sn sn-1 sn-2 s3 s2 s1 hellip
Ruumlckkopplungsfunktion
Ausgabgsbit
LFSR
WS 201011 Vorlesung IT-Sicherheit
M Harms
102
Stromchiffre nichtlineare Schieberegister
bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet
ndash Ausgabebits wird nichtlineare Funktion angewendet
bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n
Speicherstellen angewendet
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
52
WS 201011 Vorlesung IT-Sicherheit
M Harms
103
GSM A51 Algorithmus
pro GSM Frame
bull Initialisierung
ndash Nullen
ndash Sitzungsschluumlssel laden
ndash 64 Taktungen (Mischen)
ndash Framenumber laden
bull 100 Bits verfallen
bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung
ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln
Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt
Takt Bit
Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo
Quelle Wikipedia
WS 201011 Vorlesung IT-Sicherheit
M Harms
104
Asymmetrische Kryptographie
bull Schluumlsselaustauschproblem
bull Diffie Hellmann
bull RSA
bull ElGamal
bull Elliptische Kurven
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
53
WS 201011 Vorlesung IT-Sicherheit
M Harms
105
Merkles Raumltsel (1974)
Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung
Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm
auszutauschen
1 Bob generiert eine Millionen Nachrichten der Form
bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo
Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet
sie an Alice
2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch
um den Klartext zu ermitteln
Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich
3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y
und sendet sie mit der Zahl x an Bob
4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren
kann
Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss
Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen
erwischt
WS 201011 Vorlesung IT-Sicherheit
M Harms
106
Diffie Hellmann Schluumlsselaustausch
bull DiffieHellmannMerkle
(1976 Stanford-Universitaumlt Kalifornien)
Schluumlsselverabredung uumlber unsicheren Kanal
ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab
bull Aufgabenstellung Wenn ein Element g einer Gruppe
und die Werte ga und gb gegeben sind
welchen Wert hat dann gab
bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
54
WS 201011 Vorlesung IT-Sicherheit
M Harms
107
Diffie Hellmann
Alice sucht
ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2
ndash berechnet A = ga mod p
ndash Sendet A g p an Bob
Bob
ndash sucht geheime Zufallszahl b 1 2 hellip p-2
ndash berechnet B = gb mod p
ndash Sendet B an Alice
Bob
ndash berechnet K = Ab mod p
Alice
ndash berechnet K = Ba mod p
KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob
WS 201011 Vorlesung IT-Sicherheit
M Harms
108
Diffie Hellmann Schluumlsselaustausch
bull Problem Man-in-the-middle Attacke
bull zusaumltzlich ndash digitale Signaturen
und
ndash Message Authentication Codes
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
55
WS 201011 Vorlesung IT-Sicherheit
M Harms
109
RSA Schluumlsselsystem
bull Public Key Kpub Private Key Kpriv
C = EKpub (M)
M = DKpriv (C)
bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)
bull RSA um Faktor 1000 langsamer als DESAES
bull RSA praktisch ndash zum Austausch eines Schluumlssels
ndash fuumlr symmetrische (schnelle) Verschluumlsselung
WS 201011 Vorlesung IT-Sicherheit
M Harms
110
RSA
bull Signieren von Nachrichten
bull Sender ndash Hash Wert H(M)
ndash Signieren SigM = EKpriv ( H(M) )
ndash Versenden M SigM
bull Empfaumlnger ndash Hash Wert H(M)
ndash Vergleich mit HSig = DKpub ( SigM )
bull Integritaumlt und Authentizitaumlt garantiert
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
56
WS 201011 Vorlesung IT-Sicherheit
M Harms
111
RSA
vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel
bull Vorgehensweise 3 Zahlen
ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird
ndash Dritte Zahl z
Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
y z 1 mod m oder ggT( z m ) = 1
ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen
ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit
c = ny mod m
ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m
n = cz mod m
bull RSA rechnet in mit sehr groszligen Zahlen
die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)
als Primzahlen angesehen werden koumlnnen
WS 201011 Vorlesung IT-Sicherheit
M Harms
112
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)
ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel
ndash he = 104 + 256 101 = 25960
ndash im = 105 + 256 109 = 28009
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
57
WS 201011 Vorlesung IT-Sicherheit
M Harms
113
RSA
bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q
ndash p = 3 q = 5 x = p q = 3 5 x = 15
bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7
bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)
ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8
ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m
ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7
bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x
ndash einfaches Beispiel b=2
ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8
bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x
ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2
WS 201011 Vorlesung IT-Sicherheit
M Harms
114
Rechentrick fuumlr zB 25959 19 mod 2080
x a+b =x a x b
19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)
x19 = x1 x2 x16 = X0 X1 X4
Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist
X0 = 25959 = 12 2080 + 999 999 mod 2080
X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080
X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080
X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080
X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080
x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119
x19 119 mod 2080
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
58
WS 201011 Vorlesung IT-Sicherheit
M Harms
115
Uumlbung RSA mit JAVA
Programmiere ein Java Programm zur
1 Erstellung von Public und Private Key
2 Verschluumlsseln eines Textes mit dem Public Key
3 Entschluumlsseln des Chiffretextes mit dem Private Key
Zusatzaufgabe
a) Erstellung einer Signierung
b) Pruumlfung einer Signatur
Anleitung
httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml
WS 201011 Vorlesung IT-Sicherheit
M Harms
116
RSA mit Java Generate Keys
KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)
kpginitialize(2048)
KeyPair kp = kpggenKeyPair()
Key publicKey = kpgetPublic()
Key privateKey = kpgetPrivate()
KeyFactory fact = KeyFactorygetInstance(RSA)
RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )
RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )
PrivateKey privKey = factgeneratePrivate( priv )
PublicKey pubKey = factgeneratePublic( pub )
Encrypt Cipher cipher = CiphergetInstance(RSA)
cipherinit(CipherENCRYPT_MODE pubKey)
byte[] cipherData = cipherdoFinal( strggetBytes() )
Decrypt
Cipher cipher = CiphergetInstance( RSA )
cipherinit( CipherDECRYPT_MODE privKey )
byte[] msg = cipherdoFinal( data )
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
59
WS 201011 Vorlesung IT-Sicherheit
M Harms
117
Angriffe aus RSA
Boblsquos Public Key x bull Faktorisierung
ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob
bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann
RSA geknackt werden
bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo
bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim
verschluumlsseln
WS 201011 Vorlesung IT-Sicherheit
M Harms
118
Angriffe auf RSA
bull Seitenkanal bei Binary Square-and-
Multiply Exponentiation Algorithm uumlber
BPA
bull Primfaktorzerlegung fuumlr groszlige Zahlen
ndash mit heute bekannten Verfahren praktisch nicht
durchfuumlhrbar
ndash Es ist nicht bewiesen dass es sich um ein
prinzipiell schwieriges Problem handelt
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
60
WS 201011 Vorlesung IT-Sicherheit
M Harms
119
RSA Faktorisierung
090110 2227 Uhr 232-stellige Zahl faktorisiert
Zahl Dezimal-stellen
Aufwand Status
rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar
512-Bit-Modul 154 8000 MIPS-Jahre 1999
RSA-768 232
20000 MIPS-Jahre Aktueller Rekord
1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)
Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600
WS 201011 Vorlesung IT-Sicherheit
M Harms
120
Angriffe auf RSA
Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen
Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge
ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion
ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem
Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)
bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
61
WS 201011 Vorlesung IT-Sicherheit
M Harms
121
RSA + Padding
bull Problem RSA Formel ist multiplikativ
c = by mod x aymiddotby mod x = (amiddotb)y mod x
Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen
bull Loumlsung bdquoPaddingldquo Verfahren
ndash Konkatenation Klartext oder Hashwert + String R
ndash R hat vorgegebener Struktur (d h mit Redundanz)
ndash dann Verschluumlsselung oder Signatur
ndash R enthaumllt
bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder
bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet
bull Standards PKCS1 oder ISO 9796
bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)
ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst
Kryptographische Herausforderungen
bull RSA Factoring Challenge
ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years
ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892
31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359
bull RSA Secret Key Challenge $10000 pro Key
bull httpwwwmysterytwisterc3org
WS 201011 Vorlesung IT-Sicherheit
M Harms
122
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
62
WS 201011 Vorlesung IT-Sicherheit
M Harms
123
Elliptische Kurven
bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung
bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen
bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)
ndash primen Restklassenring
ndash Bit-Vektoren
WS 201011 Vorlesung IT-Sicherheit
M Harms
124
Elliptische Kurven
bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6
bull Vereinfacht y2 = x3 + ax + b
bull Punkte auf der Kurve sind abelsche Gruppe
dh Sind P und Q zwei Punkte
dann ist R=P+Q auch ein Punkt auf der Kurve
bull Einwegfunktion k und P gegeben dann ist
D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen
aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k
ziehen
ECDL k = logP D
bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
63
WS 201011 Vorlesung IT-Sicherheit
M Harms
125
Elliptische Kurven
Beispiele in R2
Quelle Certicom
WS 201011 Vorlesung IT-Sicherheit
M Harms
126
Elliptische Kurven in Fp
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
64
WS 201011 Vorlesung IT-Sicherheit
M Harms
127
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
WS 201011 Vorlesung IT-Sicherheit
M Harms
128
Uumlbung Elliptische Kurven
Beispiele a=1 b=0
y2 mod p = x3 + x mod p
Quelle Certicom
2P = R s = (3xP
2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
65
WS 201011 Vorlesung IT-Sicherheit
M Harms
129
Elliptische Kurven in F2m
Bsp
bull m=4 also F24
bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)
bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)
bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)
WS 201011 Vorlesung IT-Sicherheit
M Harms
130
Elliptische Kurven in F2m
2P = R s = xP + yP xP
xR = s2 + s + a
yR = xP + (s+1) xR
bull Praktische Applikationen m= 160
bull Erzeuger g geheim halten
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
66
WS 201011 Vorlesung IT-Sicherheit
M Harms
131
Elliptische Kurven in F24
g = (0010)
WS 201011 Vorlesung IT-Sicherheit
M Harms
132
Schluumlsselaustausch
bull Alice und Bob einigen sich zB auf ndash F27 als Feld
ndash P = (1011)
bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo
bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo
bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
67
WS 201011 Vorlesung IT-Sicherheit
M Harms
133
Vergleich DL EKDL
Diskreter Logarithmus Elliptische Kurven DL
Parameter Primzahl p p und Kurvenparameter ab
KoumlrperRing Rest g Punkte auf Kurve
Oumlffentlich ge mod p Punkt R = nP
Geheim Exponent e Faktor n
Groumlszlige von p 1024 bit 160 bit
Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division
WS 201011 Vorlesung IT-Sicherheit
M Harms
134
Zero Knowledge Protokolle
Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo
Tuumlr mit Schloszlig
bdquoChallenge ndash Responseldquo
Alice komm
bitte links raus
Bob
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
68
WS 201011 Vorlesung IT-Sicherheit
M Harms
135
ElGamal Kryptosystem
Taher Elgamal (1985)
bull Beruht auf dem diskreten Logarithmus
Problem (DL)
bull Asymmetrisch (Diffie-Hellmann Idee)
bull Effektiv und effizient
WS 201011 Vorlesung IT-Sicherheit
M Harms
136
ElGamal Kryptosystem
Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat
bull oder q waumlhlen p=2q+1 berechnen und auf
Primzahl pruumlfen
bull Primitivwurzel g (Generator)
bull a 2 hellip p-2 waumlhlen
bull A = ga mod p
bull oumlffentlicher Schluumlssel (pgA)
bull geheimer Schluumlssel a
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
69
WS 201011 Vorlesung IT-Sicherheit
M Harms
137
ElGamal Kryptosystem
Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)
Verschluumlsselung von m
bull b 2 hellip p-2 waumlhlen
bull B = gb mod p und c = Abm mod p
Geheimtext (Bc)
Entschluumlsselung durch Bx c mod p mit x=p-1-a
denn
Bp-1-a c gb(p-1-a) Abm
(gp-1)b ( ga)-b Abm A-b Abm
m mod p
WS 201011 Vorlesung IT-Sicherheit
M Harms
138
Digitale Zertifikate
Zertifizierungsinstanz vertrauenswuumlrdige Organisation
Inhalt des Zertifikats
bull Name des Ausstellers
bull Verfahren Regeln
bull Guumlltigkeitsdatum
bull oumlffentlicher Schluumlssel ndash Eigentuumlmer
ndash Informationen
ndash Geltungsbereich
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
70
WS 201011 Vorlesung IT-Sicherheit
M Harms
139
Digitale Zertifikate
Standards
bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH
bull PGP (RFC 2440)
bull hellip
Deutsches Signaturgesetz
bull Akkreditierte Anbieter von Zertifikaten
WS 201011 Vorlesung IT-Sicherheit
M Harms
140
Digitale elektronische Signatur
10010101
Daten Hash
Hash EPrivK 10100011
Signatur
Zertifikat
Digital signierte
Daten
Erstellung
10100011
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
71
WS 201011 Vorlesung IT-Sicherheit
M Harms
141
Digitale elektronische Signatur
10010101
Daten
Hash
Hash
DPubK
Verifikation
Digital signierte Daten
10100011
10100011
10010101
Hash
Identisch
WS 201011 Vorlesung IT-Sicherheit
M Harms
142
Digitale Wasserzeichen
bull Transparent
bull Robust
bull Kapazitaumlt
bull Sicherheit
bull Performance
zB SegMark
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
72
WS 201011 Vorlesung IT-Sicherheit
M Harms
143
Staganographie
bull ein Auszligenstehender erkennt die Existenz
der uumlbertragenen Information nicht
bull Dritte erkennen nicht dass im Medium
Information enthalten ist
bull Dritte koumlnnen selbst bei Wissen um die
versteckte Information diese nicht
ermitteln
WS 201011 Vorlesung IT-Sicherheit
M Harms
144
Staganographie
Klassisch
bull Geheimtinte doppelter Briefumschlag
Micropunkte Mikrofilm etc Linguistische
Steganographie
Wahrnehmungsschwelle
Computer
bull Audiodatei Bilddatei Video Blog (oumlffentlich
beschreibbare Information im Internet)
Semagramme
RGB 25500
RGB 25411
3 Bits versteckt (pro Pixel moumlglich)
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
73
WS 201011 Vorlesung IT-Sicherheit
M Harms
145
Politische Randbedingungen
bull Zulassung fuumlr Geheimhaltungsstufen
(zB AES)
bull Exportverbot (HW SW)
WS 201011 Vorlesung IT-Sicherheit
M Harms
146
Wiederholung Grundlagen
Was sind ldquopersonenbezogene Datenrdquo
1 Eine Regelung des BDSG
2 Informationen einer natuumlrlichen Person
3 Informationen einer juristischen Person
4 Unterliegen der informationellen
Selbstbestimmung
5 Muumlssen weltweit vertraulich behandelt werden
wenn sie in IT Systemen gespeichert werden
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
74
WS 201011 Vorlesung IT-Sicherheit
M Harms
147
Wiederholung Symm Chiffre
Welcher der genannten Technolgoien
verwenden ausschlieszliglich symmetrische
Verschluumlsselung
1 SSL
2 MD5
3 Caesar Chiffre
4 RSA
5 3DES
WS 201011 Vorlesung IT-Sicherheit
M Harms
148
Wiederholung Krypt Funktionen
Welche der Funktionen wird in der
Kryptographie eingesetzt
1 Natuumlrlicher Logarithmus
2 Diskreter Logarithmus
3 Sinus
4 Kubische Gleichung
5 Affine Enigma Transformation
6 Linearer Kongruenzgenerator
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
75
WS 201011 Vorlesung IT-Sicherheit
M Harms
149
Wiederholung Passwort-Ciffre
Welche der Chiffre sind Stand heute fuumlr
Passwortdateien sinnvoll
1 DES
2 SETI
3 AES
4 RSA
5 SHA
6 MD5
WS 201011 Vorlesung IT-Sicherheit
M Harms
150
Wiederholung diskrete Mathematik
Welche g sind Erzeuger fuumlr die Funktion
f = gx mod m
auf dem primen Restklassenring 3
1 g=1 und g=2
2 g=2
3 g=2 und g=3
4 g=3
5 Erzeuger gibt es fuumlr diese Randbedingungen
nicht
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
76
WS 201011 Vorlesung IT-Sicherheit
M Harms
151
Wiederholung Kryptoanalyse
Welche sind Kryptoanalytische Verfahren
1 Seitenkanalanalyse
2 Seitenfluszliganalyse
3 Haumlufigkeitsanyse
4 Wiederholungsanalyse
5 Paarbildungsanalyse
6 Social Engineering
WS 201011 Vorlesung IT-Sicherheit
M Harms
152
Wiederholung Feistel Chiffre
Was sind Anforderungen an einen Feistel
Chiffre
1 Mindesten 16 Runden im Algorithmus
2 Lawineneffekt
3 1024 Bit Schluumlssellaumlnge
4 Zertifiziert
5 Rijndael Algorithmus
6 Salted Hash kompatibel
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
77
WS 201011 Vorlesung IT-Sicherheit
M Harms
153
Wiederholung RSA
Was Aussagen zu RSA sind korrekt
1 RSA ist mathematisch nachgewiesen nicht
knackbar
2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit
einem PC knacken
3 Ein 1024 Bit Key gilt heute noch als sicher
4 Theoretisch ist RSA mathematisch knackbar
der Beweis wurde nie gefuumlhrt da es viele
Jahre Rechenzeit benoumltigen wuumlrde
WS 201011 Vorlesung IT-Sicherheit
M Harms
154
Wiederholung
Algorithmenvergleich
Was Aussagen sind korrekt
1 RSA ist wesentlich schneller als DES
2 One Time Pad ist sicherer als Vigenere
3 Enigma hatte einen laumlngeren Schluumlssel
als DES
4 ECDL ist bei halber Bit-Zahl von P
immer noch sicherer als RSA
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft
78
WS 201011 Vorlesung IT-Sicherheit
M Harms
155
Wiederholung Elektr Signatur
Was Aussagen sind korrekt
1 Eine qualifizierte Signatur ist fuumlr elektronische
Rechnungen in Deutschland verpflichtend
2 Digitale Signaturen werden mit dem Private
Key erstellt
3 Digitale Signaturen werden mit dem
Public-Key erstellt
4 Digitale Signaturen werden mit einem Hash
Key gepruumlft