Schlüsselmanagement Flashcards
Entropie
Misst die Ungewissheit des Angreifers über den Schlüssel
max: n-Bit Entropie bei n-Bit Schlüssel wenn echt zufällig
min: 0-Bit Entropie wenn Schlüssel bekannt
Entropie - englische Sprache
n-Byte Passwort hat 1,5n Bit Entropie 24 Zeichen (=24 Byte) PW -> 36Bit Entropie
Zufallszahlengeneratoren
Echter Zufallszahlengenerator
Kryptographischer Zufallszahlengenerator
Statistischer Zufallszahlengenerator
Echter Zufallszahlengenerator
Holt sich Zufallszahlen aus zufälligen Prozessen der Umgebung, zB Geigerzähler. Teuer, oft nicht verfügbar.
Kryptographischer Zufallszahlengenerator Allgemein
Erzeugt aus möglichst schwer vorhersagbarem Startinput (Rauschen der Soundkarte, uninitialisierter RAM) pseudozufälliges Output. Sicher gegen intelligente Angreifer.
Statistischer Zufallszahlengenerator
Erzeugt aus mehr oder weniger zufälligem Input (zB Systemzeit) eine Sequenz, die statistischen Zufallskriterien genügt. Nicht sicher gegen intelligente Angreifer).
Kryptographischer Zufallszahlengenerator Aufbau
Init ( Liefert Zufallsmaterial für Initialisierung)
Refresh (verhindert, dass der innere Zustand irgendwann zyklisch wird)
Next ( kryptographisch starke Updatefunktion -> Hash oder Blockchiffre)
Inner State (innerer Zustand, möglichst groß, da Geburtstagsparadoxon gilt)
Output ( unumkehrbar, damit nichts über den inneren Zustand gelernt werden kann -> Hash oder Blockchiffre)
Key Establishment
- key agreement (beide bestimmen Schlüssel)
- key transmission (einer bestimmt Schlüssel)
DH - Probleme
DH löst das Problem der Geheimhaltung, nicht aber das der Authentifikation. Man-in-the-middle möglich!
DH - key exchange
geg: p und g (öffentlich)
Alice: zieht a, berechnet g^a mod p und sendet an Bob
Bob: zieht b, berechnet g^b mod p und sendet an Alice
(g^a)^b mod p = (g^b)^a mod p = k
Beide haben denselben Schlüssel errechnet.
DH - Sicherheit
Aus f(a) a bestimmen erfordert Lösen des diskreten Logarithmus. Bekannt schwierig.
Aus f(a) und f(b) etwas über k ableiten erfordert brechen der DH-Assumption. Vermutlich schwierig.
Es gibt disklog-Verfahren, die effizienter sind als BruteForce, daher muss p groß sein (>=1024 Bit)
Vorteile public key Krypto
- Schlüsseltausch ohne geschützten Kanal
- weniger Schlüssel: alle benutzen Bobs public key
RSA - Schlüsselerzeugung
- Wähle zwei große Primzahlen p und q
- Berechne n=p*q
- Berechne phi(n) = (p-1)*(q-1)
- Wähle beliebiges e€{2,…,phi(n-1)} mit ggT(e,phi(n))=1
- Berechne d mit e*d=1 mod phi(n)
public key: (e,n)
private key: d
RSA - Ver/Entschlüsselung
c = m^e mod n m = c^d mod n
RSA - Sicherheit
Sicherheit von RSA hängt mit Faktorisierungsproblem zusammen. Wenn man Zahlen in ihre Primfaktoren zerlegen kann, kann man RSA knacken.
-> zerlege n in p und q, bestimme phi(n), berechne d
Man kann jedes public-key-System knacken, wenn man einen Verdacht hat, was die Nachricht sein könnte.
Trial Encryption möglich!
Es existieren Angriffe, die effizienter sind als BruteForce. Schlüssellänge != Sicherheitsniveau, daher >=1024 Bit