Kryptografische Verfahren

  • → Absicherung eines Kommunikationskanals hinsichtlich der Schutzziele (Ann Schlüssel bereits ausgetauscht)

  • Vergleich zu Steganographie

    • Ziel S: Verstecken des Kommunikationskanals

    • Ziel K: Verstecken des Inhalts übermittelter Nachrichten

  • Kerckhoffs' Prinzip: Die Sicherheit eines Verfahrens soll alleine auf der Geheimhaltung eines Schlüssels beruhen

    • → egal ob Verfahren öffentlich, sonst analysierbar

  • Vergleich: digitale Signatur → Unterschrift, SK → Schriftbild, Zertifikat → Personalausweis

  • MitM: Angreifer physikalisch oder logisch zwischen C und S

    • Daten mitlesbar, veränderbar, einbringbar

    • Angriffsziel: C, I

  • DH-Schlüsselaustausch

    • A: wählt a, sendet gamodpg^a mod p (B analog)

    • berechne s=gabs = g^{ab} → gemeinsames Geheimnis s

    • stellt keine Authentizität sicher, zB. aktiver MitM möglich

  • Managementaspekte

    • Parametrisierung (Betriebsmodus + Schlüssellänge) + Pseudozufallszahlengenerator (Entropiequelle)

    • PRNG: normal: gleichförmig, unabhängig, unkorreliert; kryptographisch: nicht prädizierbar

    • Schlüssellänge: Tradeoff zwischen Sicherheit + Benutzbarkeit)

Verschlüsselung

  • Schutzziel: C, moderne Verfahren: NP-schwere Probleme, K als Zeuge, sonst P \neq NP bewiesen

  • One-Time-Pad: T \oplus K = C, Klartextlänge = Schlüssellänge, K nur einmalig, Problem: unhandlich

  • symmetrisch (selber Schlüssel)

    • DES: 64bit Blocks, Substitution & Permutation, 16 Runden, Schlüssellänge: 56 Bit, Erweiterung: 3DS (K = K1 || K2 || K3)

    • AES: ver. Schlüssellängen, effizienter als 3DS

    • Sicherheit basiert auf "Handwerkskunst" (Sicherheit nicht beweisbar), aber hohe Effizienz

  • RSA: N = p q, ϕ(N)=(p1)(q1)\phi(N) = (p - 1) (q - 1), e: 1<e<ϕ(n)ggT(e,ϕ(N)=11 < e < \phi(n) \wedge ggT(e, \phi(N) = 1

    • PK = (N, e), SK = d, C=MemodN,M=CdmodNC = M^e mod N, M = C^d mod N

    • Annahme: geg C,e und N: Ermitteln von M schwer (→ Faktorisieren schwer)

  • El-Gamal: p=2q+1,g2,,p2,a,b1,,p1,AB=gamodpp = 2q + 1, \quad g \in {2, \ldots, p - 2}, a,b \in {1, \ldots, p - 1}, \quad AB = g^a mod p

    • PK = (p, g, A), SK = a, C=AbMmodp,M=(Ba)1CmodpC = A^b M mod p, M = (B^a)^{-1} C mod p

    • Annahme: Diffie-Hellman: gegeben ga,gb,gcg^a, g^b, g^c, schwer ob gc=gabg^c = g^{ab} → Log schwierig

  • meist Kombination in Hybridveschlüsselungen: erst asymm dann symm

Message Authentication Codes (MAC)

  • Schutzziele: A, I

  • Einwegfunktionen

    • f(x) effizient (Polznomialzeit) berechenbar, f1(y)f^{-1}(y) nicht

    • bei Existenz ist PNPP \neq NP

    • Pseudo: Multiplikation großer Primzahlen (da effizienter Alg zur Zerlegung unbekannt) oder kryptographische Hashfunktionen

  • kH: H(m):0,1>0,1kH(m): {0, 1}^* -> {0, 1}^k

    • Effizienz: effizient berechenbar

    • Pre-image Resistenz: geg H(m1)H(m_1) finden von m2m_2 mit H(m1)=H(m2)H(m_1) = H(m_2) schwer

    • 2nd Pre-image Resistenz: geg m1m_1 finden von ^

    • Kollisionsresistenz: finden von m1,m2m_1, m_2 ^

    • CR → 2PIR → PIR

  • Idee: MAC benötigt vorher ausgetauschten symmetrischen Schlüssel

  • HMAC: H(KM)H(MK)H(K||M) || H(M||K), aber H erlauben zus angehängte Daten → bek Kollisionen ausnutzbar

    • H((KO)H(KIM))H((K \oplus O) || H(K \oplus I || M))

  • -: komplexes Schlüsselmanagement, keine Verbindlichkeit

Digitale Signaturen

  • Schutzziel: V

  • "sicherer" als reale "Unterschriften" (realen Welt erwarteter Gewinn gering, Risiko hoch, zeitlicher Aufwand)

  • Verfahren: A nutzt SK, A überträgt M + DS, B überprüft mit PK (nicht mit allen asymm sicher)

  • Bspimplementierung: Text → Hashen → RSA-Verschlüsselung

Challenge-Response-Authentifizierung

  • "Basic Authentication": genutzt von HTTP(S)

    • C schickt Geheimnis P an S

    • Angriffsmöglichkeiten: Abhören, Replay-Attacken, MitM, S angreifen

  • Challenge-Response-Verfahren

    • C schickt Identifier C, S schickt Zufallszahl R, C verschlüsselt R mit KcK_c und schickt Ergebnis, S überprüft

    • Angriffsmöglichkeiten: Abhören, Krypto-Analyse, MitM, S angreifen

  • PK-Kryptographie

    • C schickt Identifier ID, S schickt Zufallszahl R, C signiert R mit PK und schickt Ergebnis, S überprüft mit PK

    • Angriffsmöglichkeiten: Abhören, Krypto-Analyse, MitM

  • Mutual Authentication (MA)

    • S schickt PK, C überprüft PK, C schickt mit PK verschlüsselten Session Key, Rest wie vorher

    • Problem: bei Kompromierung von SK des S, keine C aller bisher übertragener Daten

  • Forward Secrecy

    • MA etabliert Session Key, handle 2. Session Key aus, Daten austauschen, 2. Session Key löschen

    • MA + Session Key für A + I, Session Key für C

Integritätsprüfung

  • Problem: Angreifer kann einzelne Blöcke unbemerkt löschen (→ keine Completeness aber Correctness)

  • neue Probleme: alle Blöcke vorher bekannt (Verfikation + Änderung)

  • Merkle Hash Trees(MHT): berechne Hashes einzelner Blöcke → baumartiges Hashen der Kindknoten → Signieren von Wurzel-Hash

    • → bei Änderung muss Wurzel-Hash erneuert werden (nur log(N) Hashes bekannt)

results matching ""

    No results matching ""