5 - Kryptographie Flashcards
Abkürzung für Klartext
M (plaintext message)
Abkürzung für Chiffrat
C (chifrattext message)
Abkürzung für Verschlüsselungsschlüssel
K(E) (encryption key)
Abkürzung für Entschlüsselungsschlüssel
K(D) (decryption key)
Definition Keyspace
Die möglichen Werte der Schlüssel K(E) und K(D)
Definition Symmetrische Kryptografie
K(E) = K(D) = K
Absender und Empfänger benutzen den gleichen Schlüssel K
Anforderungen an Verschlüsselungsverfahren
- Die Sicherheit eines Verschlüsselungsverfahrens liegt nur an der Geheimhaltung der Schlüssel und nicht an der Geheimhaltung des Algorithmus.
- keine “security through obscurity” sondern weitestgehende Transparenz (Kerckhoff-Prinzip)
- gültige Schlüssel lassen sich halbwegs einfach erzeugen
- Ver- und Entschlüssselungsoperationen sind für alle gültigen Schlüssel effizient durchführbar
Angriffstypen auf Kryptosystem
- Ciphertext-only (basieren nur auf Chiffren C)
- Known-plaintext (basieren auf bekannten Paaren aus Klartext M und Chiffrat C)
- Brute-force (Durchprobieren aller möglichen Schlüssel K(D) aus dem Keyspace)
- Purchase-key (mittels Erpressung, Diebstahl, Bestechung)
Begriff der perfekten Geheimhaltung (perfect secrecy)
Eine Chiffre (cipher) unterliegt perfekter Geheimhaltung, wenn ungeachtet wieviel Chiffretext bekannt ist, aus dem Chiffretext nicht genügend Informationen abgeleitet werden kann, um den Klartext zu bestimmen.
→ Kenntnis des Chiffretextes gewährt keine zusätzlichen Informationen über den Klartext, jeder mögliche Klartext ist gleich wahrscheinlich!
• Voraussetzung: Anzahl der möglichen Schlüssel muss mindestens so groß sein, wie die Anzahl der möglichen Klartexte.
Definition One-Time-Pad
XOR-Chiffre die folgende Bedingungen erfüllt:
- Schlüssellänge gleich Nachrichtenlänge
- Schlüsselbits sind wirklich zufällig (nicht pseudo-zufällig)
- Der Schlüssel wird nur einmal benutzt und dann vernichtet
One-Time-Pad Praxisbeispiel
Geheimdienste und Militär (rotes Telefon USA/UdSSR)
One-Time-Pad Probleme
- schwieriger Schlüsselaustausch
- echtes Zufallsverfahren notwendig
- nicht praktisch für heutige Ansprüche
2 Arten von klassischen Chiffren
- Transpositionschiffren: Veränderung der Reihenfolge der Zeichen
- Substitutionschiffren: Ersetzen der Zeichen
Knacken einer einfachen Substitutions-Chiffre
Einfache Substitution (monoalphabetischer Chiffre): Zuordnung der einzelnen Klartext- Buchstaben zu festen Chiffre-Buchstaben
Klassische Kryptoanalyse einer monoalphabetischen Chiffre:
- Ausbeuten von Verteilungsinformationen der unterliegenden Sprache (unterschiedliche. Häufigkeit der Buchstaben)
- Zuordnung von Verteilung im Chiffre zur Verteilung in der unterliegenden Sprache kann die Substitution verraten
Erklärung Vigenere-Verschlüsselung
Verbreitete polyalphabetische Substitutionschiffre:
- Kombination von einfachen Substitutionschiffren
- Drehungen werden durch ein Wort (Schlüssel) bestimmt
- Häufigkeitsanalyse ist trivial, falls die Periodenlänge geraten werden kann
Erklärung Permutationschiffren
Zeichen werden nicht ersetzt, sondern Reihenfolge geändert (M wird in Reihen mit je z.B. 5 Zeichen geschrieben und dann in Spalten gelesen)
Fazit zu Monoalphabetische Verschlüsselungen & Permutationen
- unsicher (Angriff über Bigramm- Häufigkeiten)
- Moderne Verschlüsselungen: polyalphabetische Substitution
o Kombination aus Substitution & Permutation
o Mehrere Runden
Was macht ein Chiffre sicher?
Verwirrung (Confusion):
- Komplexer Zusammenhang zw. Schlüssel & Chiffretext
- Schwere Ableitbarkeit von Schlüssel aus Klar-/Chiffretext-Paaren
Zerstreuung (Diffusion):
- Komplexer Zusammenhang zw. Schlüssel & Chiffretext
- Schwere Ableitbarkeit von Klartext aus Chiffretext
Erklärung Symmetrische Verschlüsselung
• Ein Schlüssel zum Ver- und Entschlüsseln.
• Dieser Schlüssel muss allen Parteien, die an der sicheren Kommunikation teilnehmen, bekannt sein.
• Problem: Schlüsselaustausch.
• Zwei Kategorien: Blockchiffren,
Stromchiffren
Blockchiffren Beispiele
- 2 Betriebsmodi DES & AES
- ECB: parallel Electronic Code Book ( schneller, weil parallel abgearbeitet, Muster erkennen schwach
- CBC sequentiell (Cipher BlockChain
Erklärung Blockchiffren
Klartext wird in Blöcken (fester Länge: meist 2er-Potenzlänge) verschlüsselt
- Klartexts Größe ≠ Vielfachen der Blockgröße? :
Padding (= letzten Block auffüllen, evtl. mithilfe eines zusätzlichen Blocks)
Erklärung DES
Data Encryption Standart
• Blockchiffre der 64-Bit Blöcke mit 56-Bit-Schlüssel verschlüsselt.
• Entwickelt von IBM als Weiterentwicklung von LUCIFER (1975).
• Vom NBS (National Bureau of Standards, heute NIST) als Verschlüsselungsstandard
erklärt (1977).
• Leicht durch Hardware zu realisieren.
• Vielseitig verwendet (u.a. in UNIX zur Verschlüsselung der Passwörter).
Funktionsweise DES
- Verschlüsselung findet in 16 Runden statt
- Klartext wird in linke und rechte Hälfte von 32-Bits zerlegt
- In jeder Runde wird aus dem 56- Schlüsselbits ein 48-Bit Rundenschlüssel generiert
- mit rechter Hälfte und dem Schlüssel wird eine Funktion f berechnet
- Ausgabe von f wird mit linker Hälfte exklusiv verordert (XOR)
- linke und rechte Hälfte werden vertauscht
Angriffe gegen DES
• DES Challenge Il (1998): Key found in 10 days
• DES Challenge 11-2 (1998): Key found in 56 hours
• DES Challenge II (1999): Key found in 22 hours and 15 minutes
• Wie signifikant sind diese Angriffe? Was ist das entscheidende Ziele dieser Angriffe?
o Brute-Force Angriff auf den Schlüssel
o Brute-Force = Vollständige Suche („Exhaustionsmethode”) nach dem Schlüssel ist
fast immer möglich
o Technologischer Fortschritt: Brute-Force Angriff ist schneller erfolgreich
• Ist der Verschlüsselungsalgorithmus DES nun weitgehend obsolet?
o Nicht der Algorithmus selbst, aber dessen kurze Schlüssellänge.
o Heutzutage ist das Durchprobieren eines 64-Bit Schlüssels > möglich Schlüssel
müssen länger sein.
Sichere DES - Variante
Triple DES
- Verwendung des DES mit 2 oder 3 Schlüsseln zur Vergrößerung des Schlüsselraums
Eigenschaften:
- Rückwärtskompatibel wen K1 = K2 ist (oder K2 = K3)
- Die effektive Schlüssellänge für Triple DES wird mit 112 (=2 * 56) Bit angegeben
Erklärung AES
Advanced Encryption Standart
• Offizieller DES Nachfolger (seit 2002)
• Veröffentlich durch das NIST (National Institute of Standard and Technology)
• Schlüssellängen: 128, 192, oder 256-Bit
• Blockgröße: 128-Bit
• Design (10, 12, oder 14 Runden, je nach Schlüssellänge
o Substitutions-Permutationsnetzwerk (S-Box, P-Box)
§ Grundlegende verwendete Techniken ähnlich zu DES
• Bis heute ungebrochen
Funktionsweise AES
. Arbeitet in Runden (ähnlich zu DES)
- 10 Runden für 128 BIT Schlüssel
- Verarbeitet eine 4x4 byte-Matrix pro Runde
Welche Betriesmodi für Blockchiffren gibt es?
Electronic Code Book (ECB)
Cipher Block Chaining (CBC)
Erklärung ECB
Electronic Code Book (ECB)
• Separate Verschlüsselung jedes Klartextblocks
• Gleiche Klartextblöcke → gleiche Chiffretextblöcke (Gefahr: unerkanntes
Entfernen/Austauschen von Chiffretextblöcken)
• Ermöglicht paralleles Berechnen des Chiffretextes
Erklärung CBC
Cipher Block Chaining (CBC)
• Zuerst XOR (“Veroderung”) von Klartextblock mit vorhergehenden Chiffretextblock, danach Verschlüsselung
• Gleiche Klartextblöcke → unterschiedliche Chiffretextblöcke
o falls mind. 1 Unterschied zuvor aufgetreten ist
o gleiche Nachrichtenanfänge werden bis zum Unterschied gleich verschlüsselt
→ Abhilfe: zufälliger Initialblock
• Verändern, Entfernen oder Ersetzen einzelner Blöcke → falsche Dechiffrierung der
folgenden Blöcke
ECB vs. CBC
- ECB ist schnell, Muster werden erkannt, ggf. unsicherer
* CBC ist langsamer, weil sequentiell, aber sicherer
Prinzip Stromchiffren
• Bitweise Verschlüsselung des Klartextes zu Chiffretext.
• Dieses geschieht im allgemeinen durch Bitweise exklusive Veroderung (XOR) mit
einem Schlüsselstrom.
• Sicherheit basiert auf Güte des Schlüsselstromgenerators.
• Bei periodischen Schlüsselstrom muss die Größe der Periode über der Größe der
zu verschlüsselnden Datenmenge liegen.
- eignen sich besonders für die Verschlüsselung kontinuierlicher Datenströme (z.B. Standleitung zwischen 2 Computern)
Arten von Stromchiffren
Synchrone und Selbstsynchronisierende Stromchiffren
Erklärung Synchrone Stromchiffren
= Schlüsselstromgenerierung unabhängig vom Nachrichtenstrom
Vorteil: Schlüsselstromberechnung kann im Voraus erledigt werden.
Nachteil: Bei Verlust eines Bits bei der Übertragung, ist der gesamte folgende Chiffretext Strom unbrauchbar (fehlerhafte Bits bereiten keine großen Probleme).
Erklärung Selbstsynchronisierende Stromchiffren
- Jedes Schlüsselstrom-Bit ist eine Funktion einer festen Anzahl (n)
vorhergehender Chiffrebits.
• Fehlerhaft übertragene Bits erzeugen bei der Dechiffrierung n falsche Schlüsselstrom-Bits. - Anfällig für Wiedereinspielungen
Erklärung asymmetrische Verschlüsselung
- basieren auf schweren „Einwegproblemen“
* häufig aus dem Gebiet der Mathematik (Faktorisierung, diskreter Logarithmus)
Erklärung Diffie-Hellman
- asymmetrische Verschlüsselung welches das Key-Exchange Problem (Schlüsselaustausch) löst
- basiert auf dem Problem des diskreten Logarithmus
Diskreter Logarithmus
Gegeben_ Werte X, Y und n
Problem: Finde e sodass gilt:
Y = X^e mod n
Funktionsweise Diffie-Hellmann
– Alice und Bob wollen Daten austauschen und müssen sich auf einigen Schlüssel verständigen
- Alice und Bob einigen sich aus eine Basis/Generator um einen Modul (nicht geheim, public): g, n
- Alice: wählt e und berechnet: K(a) = g^e mod n
- Bob: wählt f und berechnet: K(b) = g^f mod n
- Alice und Bob senden sin K(a), K(b)
> > BILD
Erklärung Asymmetrische Chiffren
Verschieden Schlüssel zum Ver- und Entschlüsseln:
- Schlüssel zum verschlüsseln wird veröffentlicht (public key)
- Schlüssel zum Entschlüsseln bleibt geheim (private key)
- Es muss unmöglich (bow. unverhältnismäßig schwer) sein, unter Kenntnis eines Schlüssels, den anderen zu berechnen
Erklärung RSA
weltweiter Quasi-Standard
- Schlüssellänge variabel (nicht unüblich sind 2048-Bit)
- Ermöglicht sowohl Verschlüsselung wie auch Digitale Signatur
- Verwendet unter anderem in:
o PEM(PrivacyEnhancedMail)
o PGP(prettyGoodPrivacy)
Funktionsweise RSA
BILD
Sicherheit RSA
• Ohne Kenntnis von p und q kann der geheime Schlüssel d nur schwer berechnet werden
• Weitere Hürde: Faktorisierung von n in p und q
→ Beschleunigung mithilfe des sog. Zahlensiebs
→ möglich Spezialrechner in Hardware zu bauen
→ Abhilfe: größere Schlüssel
Angriffe gegen RSA
NACHHOLEN
Symmetrische Chiffren Vorteil - Nachteil -Angriff
Vorteil:
- Vergleichbar geringere Komplexität (schneller)
- kleinere Schlüssellänge
Nachteile:
- Speicherung von vielen Schlüsseln (bei n Kommunikationspartnern sind n- 1 verschiedene Schlüssel notwenig)
- sicherer Schlüsselaustausch nötig
Angriff:
- Brute-Force Angriff: erschöpfendes Durchsuchen des Schlüsselraums
Asymmetrische Chiffren Vorteil - Nachteil -Angriff
V
Asymmetrische Chiffren Vorteil - Nachteil -Angriff
Vorteile:
- einfachere Handhabung der Schlüssel
- kein sicherer Kanal zum Austausch nötig
Nachteile:
- Höhere Komplexität
- Größere Schlüssellänge
- Problem der Authentizität der öffentlichen Schlüssel
Angriffe:
- lösen des zugrundeliegenden Problem (Z.B. Faktorisierung des Moduls bei RSA)
Hashfunktionen
?
Erklärung Einweg-Hashfunktionen
Eine Hashfunktion H erzeugt aus einer Nachricht M einen eindeutigen Hashwert h = H (M) mit fester Länge m.
• Zu gegebenen M kann man leicht h berechnen.
• Zu gegebenen h ist es schwer ein M zu berechnen mit H (M) = h.
> Dies impliziert, dass es schwer sein muss zwei verschiedene Texte mit gleichem Hashwert zu finden.
• Auch kleinste Änderungen am Text führen zu (deutlich!) unterschiedlichen Hashwerten (Lawineneffekt):
(gewünschte) Eigenschaften von Hashfunktionen
• Kompression.
• Einfach zu berechnen.
• Resistent gegen Erstes-Urbild-Angriff (First-Preimage-Attack)
o Gegeben h (M) ist es schwer M zu berechnen
• Resistent gegen Zweites-Urbild-Resistent (Second-Preimage-Attack)
o Gegeben h (M) ist es schwer ein M’ zu finden, sodass h(M)==h(M”)
• Kollisionsfrei oder Kollisionsresistent
o Gegeben h() ist es schwer ein M’ und M” zuf inden, sodassh (M’)==h(M”)
o Kollisionsresistenz schließt Resistenz gegen den Zweites-Urbild-Angriff ein.
• Zusätzlich: „Zufälligkeit”
Authentifizierung ohne Verschlüsselung mittels Einweg-Hashfunktion (Alice & Bob)
Alice will Bob überzeugen, dass eine Nachricht 𝑀 von ihr stammt.
Voraussetzung: Alice und Bob teilen ein Geheimnis 𝐺.
Alice bildet 𝐻(𝑀, 𝐺) und sendet das Ergebnis zusammen mit 𝑀 an Bob.
Bob, der 𝐺 kennt, kann ebenfalls 𝐻(𝑀, 𝐺) bilden und und sich somit überzeugen, dass 𝑀 wirklich von Alice gesendet wurde.
Beispiele Einweg-Hashfunktionen
- Message Digest Algorithm, MD5 (Rivest, 1992) Berechnet 128-Bit Hashwert. BROKEN
- Secure Hash Algorithm, SHA1 (NIST, 1994) Berechnet einen Hashwert von 160-Bit.
à “Announcing the first SHA1 collision”. Google Online Security Blog. 2017-02-23 - RIPE-MD 160, Europäische Union Sichere Variante von MD4 Berechnet 128-Bit Hashwert.
- SHA-256 und SHA-512
Anforderungen digitale Signaturen
Authentizität: Der Empfänger kann sich von der Identität des Unterzeichners überzeugen
Fälschungssicherheit: Nur dem Unterzeichner ist es möglich die Signatur zu erzeugen.
Überprüfbarkeit: Im Zweifelsfall kann eine dritte Partei die Signatur verifizieren.
Keine Wiederverwendbarkeit: Die Signatur bezieht sich nur auf das unterzeichnete Dokument
Keine Veränderbarkeit: Nachdem das Dokument unterzeichnet ist kann es nicht mehr verändert werden
Erklärung Digitale Signaturen durch asymmetrische Kryptografie
- Idee: Vertauschung der Rollen der Schlüssel Private key zum Verschlüsseln
Public key zum Entschlüsseln - Jeder kann entschlüsseln, aber nur der Besitzer des private key kann verschlüsseln.
- Impliziter Nachweis über die Identität des Verschlüsselnden
Digitale Signaturen mittels RSA (Alice & Bob)
Alice chiffriert das entsprechende Dokument mit ihrem geheimen Schlüssel. Danach sendet sie das so unterzeichnete Dokument an Bob.
Bob dechiffriert das Dokument mit Alices öffentlichen Schlüssel.
Digitale Signaturen mittels RSA - Erfüllung der Anforderungen an digitale Signaturen
Authentizität > Da Alices öffentlicher Schlüssel den Klartext ergibt, weiß Bob, dass das Dokument von Alice stammt.
Fälschungssicherheit > Nur Alice kennt ihren geheimen Schlüssel.
Überprüfbarkeit > Jeder der Alices öffentlichen Schlüssel kennt, kann die Signatur bestätigen. Alice kann sie nicht zurücknehmen.
Keine Wiederverwendbarkeit > Die Unterschrift bezieht sich nur auf dieses Dokument, andere Dokumente ergeben andere Signaturen.
Keine Veränderbarkeit > Bei Veränderung des Dokuments ergibt die Dechiffrierung mit Alices öffentlichen Schlüssel kein sinnvolles Ergebnis.
Digitale Signaturen – Beispiele für Anwendungsgebiete
- Nachweis der Korrektheit und Authentizität von digitaler Kommunikation
- Nachweis von Server Identität
- Nachweis von Code Autorschaft
• Code-Signing
Wie werden Hashfunktionen in digitalen Signaturen eingesetzt?
Hashfunktionen werden in Verfahren für digitale Signaturen wie folgt eingesetzt
• Zu signierende Nachricht: 𝑀
• Generieren des Hashwerts h(𝑀)
• Signieren von h(𝑀) mithilfe von Signaturalgorithmus 𝑆 und dem privaten Schlüssel des
Absenders 𝑘(priv):
𝑆k(priv)(h(𝑀))
• Versenden von Nachricht M zusammen mit dem signierten Hash 𝑆k(priv)(h(𝑀))
BILD Folie 122
Erklärung Problem: Schlüsselidentität
Asymmetrische Kryptographie befreit vom Zwang des geheimen Schlüsseltransport.
Aber: Woher wissen wir, dass der öffentliche Schlüssel auch tatsächlich zum angegebenen Claim gehört?
BILD Folie 131
Erklärung Schlüssel Fingerprints
2048-Byte Schlüssel können sich Menschen nicht merken
- Fingerprint: Kryptographischer Hashwert des Schlüssels, hexadezimal notiert
> Gut geeignet für manuelle Überprüfung
… aber löst nicht das eigentliche Problem
Erklärung Public Key Infrastruktur (PKI)
- Ohne eine out-of-band Lösung keine Sicherheit über ein unsicheres Medium
- Ansatz: Trusted-Third-Party (TTP)
> Bob vertraut Peter
> Bob hat bereits einen kryptographischen Nachweis über Alices Authentizität
>Alice vertraut Peter
>Peter kann für die Authentizität der jeweiligen öffentlichen Schlüssel vertrauenswürdige
Aussagen fällen
Erklärung PKI: Zertifikate (Certificates)
- Bindet eine Public Key an eine Identität
- Signiert von einer Vertrauenswürdigen dritten Partei (->TTP)
> Signatur über den Hash des Zertifikats - Format: X.509
- Version
- Seriennummer
- Algorithmus-Informationen
- Eindeutiger Name des Ausstellers
- Gültigkeitsdauer
- Eindeutiger Name des Subjekts
- Öffentlicher Schlüssel des Subjekts
Funktionsweise PKI
- Hierarchisches Modell
- Oberste Stufe (root certificate) > Die eigentlich TTP
- Signiert die Schlüssel der nächsten Stufe. > Bzw. stellt die entsprechenden Zertifikate aus
- Mit diesen Schlüsseln können weitere Schlüssel signiert werden.
> Nur valide wenn durch das Zertifikat erlaubt.
Überprüfung von Zertifikaten
- X.509 sind digital signiert
- Überprüfung der Signatur gibt Nachweis der Schlüssel/Owner Beziehung
- Falls der Schlüssel des Unterzeichners nicht bekannt ist > Gehe eine Stufe in der Hierarchie nach oben
Certificate Authorities
- Vertrauen via Geschäftsmodell
> Klare Regeln für die Vergabe des Zertifikats - Auslieferung der Root Certificates über vertrauenswürdige Kanäle
>Teil des Betriebssystems
>Im Browser
Alternative zu Certificate Authorities
Web of Trust:
- Nutzer signieren sich ihre Schlüssel gegenseitig
>Key signing parties - Nutzer entscheidet selbst, wem er wie weit vertraut
- Modell von PGP/GPG
Empfehlung für Schlüssellänge
BILD
Erklärung Kryptographische Protokolle
- Kommunikationsprotokolle die Authentizität, Vertraulichkeit, Integrität und Unleugbarkeit gewährleisten.
- Festgelegt Abfolge zweier oder mehrerer Kommunikationspartner
- Verwenden üblicherweise mehrere kryptographische Algorithmen nebeneinander.