Paßphrasen und Pseudozufallszahlen
Paßphrasen: Technik, um sich
”lange“ Schl ¨ussel zu merken.
•Der Schl ¨ussel wird als Hashwert eines langen Satzes definiert.
•Siehe z.B. pgp, gpg.
Pseudozufallszahlen:
•Die Ausgabe einer Hashfunktion sieht sehr zuf ¨allig aus.
•Im Betriebssystem werden regelm ¨aßig Zufallsereignisse
angezapft: Maus, Tastatur, Interrupts, Netzwerk, Festplatten etc.
Ergebnisse werden mit Hashfunktion zusammengemischt: state
=h(state,counter++,new input data).
•Extrahieren von Pseudozufallszahlen:r=h(state,counter++).
Sehr gef ¨ahrlich, wenn Pseudozufallszahlen vorhersehbar. Dann Programmablauf deterministisch und Angreifer kann alles nachrechnen. Daher gen ¨ugend Entropie in Pools sammeln.
3 11. Mai 2004
Zusammenfassung
Bisher symmetrische Kryptographie behandelt.
Verschl ¨usselung - Blockchiffren:
•E:K→S({0,1}b),D:K→S({0,1}b).
•Ideal: F ¨ur zuf ¨alligesk∈K istE(k,·)nicht von zuf ¨allig gew ¨ahlter Funktion ausS({0,1}b)effizient zu unterscheiden.
•Lange Nachrichten: Blockweiser Betrieb (CBC, CTR).
Verschl ¨usselung - Stromchiffren:
•Nachrichtenstrom wird durch⊕mit Schl ¨usselstrom verschl ¨usselt, initialisiert durch Schl ¨usselk∈K.
•Ideal: Schl ¨usselstrom zuf ¨allig (one time pad).
•Abschw ¨achung: Pseudozufallszahlen.
Angestrebte Sicherheit:#K, exhaustive Keysearch.
4 11. Mai 2004
Sicherer Kanal
Wir nehmen an, ein geheimer256Bit Schl ¨usselKsei ausgetauscht.
Um einen sicheren (=verschl ¨usselten und authentifizierten)
Kommunikationskanal zu erhalten, kann man grob wie folgt vorgehen:
F ¨ur jede Kommunikations- und Authentifizierungsrichtung erzeuge man einen eigenen Schl ¨ussel (also insgesamt4).
•Ki←SHA-256(K||”Name der Operation“).
Man verwende AES mit256Bit Schl ¨ussell ¨ange.
Man verwende HMAC mit SHA-256, also f ¨ur 256 Bit Schl ¨usselKj: MAC=SHA-256((Kj⊕opad)||SHA-256((Kj⊕ipad)||m)).
Man verwende eindeutige Nachrichtennummern.
Man verwende den CTR Modus.
1 11. Mai 2004
Sicherer Kanal
Verschl ¨usselt wird die Nachricht zusammen mit dem MAC.
Mit Nachrichtennummern Schl ¨usselstrom f ¨ur CTR erzeugen.
Nachrichtennummer in Authentifizierung eingehen lassen.
Nachrichtennummer in klar im Chiffretext.
Beim Entschl ¨usseln MAC checken. Wenn falsch, dann Authentifizierungsfehler.
Wenn Nachrichtennummer schon einmal erhalten wurde (kleiner ist als ein mitgef ¨uhrter Z ¨ahler), dann Nachrichten-Ordnungsfehler.
Schnellere Alternativen, Verschl ¨usselung und Authentifizierung in einem: OCB (patentgesch ¨utzt), CCM.
2 11. Mai 2004
Public-Key Kryptographie
Zwei Probleme mit der symmetrischen Kryptographie:
•Wie geheime Schl ¨ussel austauschen?
•nLeute haben paarweise verschiedene Schl ¨usselpaare: Also muß jedern(n−1)/2viele geheime Schl ¨ussel speichern. Ist nicht praktikabel.
Diese und weitere Probleme werden durch die Public-Key Kryptographie gel ¨ost.
Jeder Teilnehmer hat einen ¨offentlichen und einen geheimen Schl ¨ussel:
•Zum Verschl ¨usseln wird der ¨offentliche und zum Entschl ¨usseln der geheime Schl ¨ussel verwendet.
•Zum Unterschreiben wird der geheime und zum Verifizieren der
¨offentliche Schl ¨ussel verwendet.
7 11. Mai 2004
Hybridverschl ¨usselung
Public-Key Kryptographie liefert viel neue Funktionalit ¨at.
Public-Key Verschl ¨usselung ist aber auch viel langsamer als symmetrische Verschl ¨usselung.
Daher Hybridverschl ¨usselung:
•Nachricht mit symmetrischen Verfahren verschl ¨usseln.
•Den zugeh ¨origen symmetrischen Schl ¨ussel mit Public-Key Verfahren verschl ¨usseln.
•Alles an Empf ¨anger schicken.
•Der entschl ¨usselt zun ¨achst den symmetrischen Schl ¨ussel, und dann die Nachricht.
8 11. Mai 2004
Zusammenfassung
Hashfunktionen - ohne Schl ¨ussel (MDC):
•h:{0,1}∗→ {0,1}n.
•Ideal: Zufallsfunktion, speziell kollisionsfrei und Einwegfunktion.
•Kurze Nachrichten: Kompressionsfunktion.
•Lange Nachrichten: Iterierung, Merkle-Damgard Konstruktion.
•Angestrebte Sicherheit: ca.2nAufwand f ¨ur Urbilder, ca.2n/2 Aufwand f ¨ur Kollision.
Hashfunktionen - mit geheimem Schl ¨ussel (MAC):
•h:K× {0,1}∗→ {0,1}n.
•Ideal: Zufallsfunktion, niemand kann ohne Schl ¨usselk F ¨alschungen(x,y)mity=hk(x)bestimmen.
•Konstruktion durch Blockchiffre (CBC-MAC) oder Kombination (HMAC).
•Angestrebte Sicherheit: ca.2n/2Aufwand f ¨ur F ¨alschung.
5 11. Mai 2004
Zusammenfassung
Pseudozufallszahlen bzw. -generatoren:
•Durch Blockchiffre im CBC oder CTR Mode.
•Durch Hashfunktionen.
•Ideal: Nicht effizient von echten Zufallszahlen unterscheidbar.
•F ¨ur den seed muß man genug Entropie aus dem System sammeln ...
Man kann zeigen, daß die folgenden Aussagen im wesentlichen
¨aquivalent sind:
•Es gibt Einwegfunktionen.
•Es gibt ideale Pseudozufallsgeneratoren.
•Es gibt ideale Blockchiffren.
6 11. Mai 2004
Einwegfunktionen mit Fallt ¨ur
Sei f :M→Ceine Funktion des endlichen Nachrichten- und ChiffretextraumsMbzw.C.
• f soll eine Einwegfunktion sein.
•Mit Hilfe gewisser zus ¨atzlicher Informationendsoll es leicht sein, Urbilder unter f zu berechnen.
Dann nennt man diese InformationendFallt ¨ur-Informationen und f eine Fallt ¨ur-Einwegfunktion.
Ein injektives f liefert Kryptosystem:
•Verschl ¨usseln durchc←f(m).
•Entschl ¨usseln durchm←f−1(c).
Einwegfunktionen mit Fallt ¨ur basieren auf algorithmischen, zahlentheoretischen Problemen.
11 11. Mai 2004
Halbgruppen
SeiGeine Menge,·:G×G→Gunde∈G. Es gelte
•(a·b)·c=a·(b·c)f ¨ur allea,b,c∈G.
•a·e=e·a=af ¨ur allea∈G.
Dann heißtGein Monoid mit neutralem Elemente.
Gheißt kommutativ (oder abelsch), wenna·b=b·af ¨ur allea,b∈G gilt.
Das Elementbheißt Inverses vonaundainvertierbar inG, wenn a·b=egilt.
Beispiel:
•(Z,·),(Z,+).
•In(Z,·)sind nur1,−1invertierbar. In(Z,+)sind alle Elemente invertierbar:a+ (−a) = 0.
12 11. Mai 2004
Mann-in-der-Mitte Angriffe
Angenommen, Bob will mit Alice kommunizieren und Eve kontrolliert die Verbindung. Dann kann folgendes passieren:
•Bob fragt Alice nach ihrem ¨offentlichen Schl ¨ussel.
•Eve f ¨angt die Nachricht ab und schickt ihren eigenen ¨offentlichen Schl ¨ussel an Bob.
•Bob verschl ¨usselt seine Nachricht damit und schickt sie an Alice.
•Eve f ¨angt die Nachricht ab und entschl ¨usselt. Dann verschl ¨usselt sie die Nachricht mit Alice’s ¨offentlichem Schl ¨ussel und schickt dies an Alice.
•Weder Bob noch Alice sch ¨opfen Verdacht.
Dies ist ein prinzipielles Problem, was auch mit anderen Public-Key Verfahren auftritt.
9 11. Mai 2004
Zertifikate
Also Problem: Wie kann Bob sicher sein, daß ein ¨offentlicher Schl ¨ussel auch Alice geh ¨ort?
L ¨osung: Zertifizierungsbeh ¨orde (Certificate Authority, CA).
Die CA erstellt f ¨ur Alice eine digitale Unterschrift ihres ¨offentlichen Schl ¨ussels und identifizierender Information, z.B. Alice’s email Adresse oder Paßnummer. Bob ¨uberpr ¨uft dann die Unterschrift unter Verwendung des ¨offentlichen Schl ¨ussels der CA.
Woher weiß Bob, daß der ¨offentliche Schl ¨ussel der CA richtig ist?
”Den kennt ja jeder“. Problem ist auf nur wenige ¨offentliche Schl ¨ussel reduziert.
•Manchmal in Browsern fest eingebaut.
F ¨uhrt auf Public Key Infrastructure (PKI) ...
10 11. Mai 2004