symmetrische Kryptografie
Selber Schlüssel K (k1 = k2) wird zum ver- und entschlüsseln benutzt
Beide Kommunikationspartner kennen gemeinsamen geheimen Schlüssel K
Private-Key-Verfahren (Secret-Key-Verfahren)
symetrische Kryptografie - Vor und Nachteile
Vorteile:
Schnelle, einfach zu implementierende Algorithmen
Nachteile:
Schlüssel muss vor Kommunikation ausgetauscht werden — Austausch der Schlüssel muss gesichert erfolgen
Schlüssel muss bei beiden Partnern geheim bleiben
Gegenüber Dritten kann Urheberschaft nicht nachgewiesen werden
Für jede Geheimnis-Beziehung ist ein eigener Schlüssel erforderlich
Anwendungen:
Übermitteln einer chiffrierten Nachricht
Gewährliestung von Vertraulichkeit, Zugriffsschutz, Authentizität zw. Sender und Empfänger
Beispiele:
Data Encryption Standard DES, Advanced Data Encryption Standard AES, Blockchiffre: International Data Encryption Algorithm IDEA, Blockchiffre: Ron's Code (RC5), Stromchiffre: Ron's Code (RC4), ...
Problem aller symmetrischen Verfahren:
Beide Kommunikationspartner müssen Schlüssel kennen
Schlüssel (d.h. eine Nachricht) muss geheim ausgetauscht werden, bevor Nachrichten geheim ausgetauscht werden können (!?)
Lösungsansatz:
Beide Partner (Alice und Bob) erzeugen Geheimnis, senden aber nur modifizierte Version
Jeder kombiniert sein Geheimnis mit der modifizierten Version des anderen — gemeinsamer Schlüssel
Ergebnis:
Alice und Bob kennen Schlüssel (gab mod p), ohne ihn übertragen zu haben
Angreifer kann aus (ga mod p) und (gb mod p) nicht a und b (und damit auc nicht gab mod p), berechnen wenn p und g groß genug sind (diskreter Logarithmus kann nicht einfach berechnet werden)
Erstmals veröffentlicht 1976 von Whitfield Diffie und Martin Hellman
Ermöglicht erzeugen eines geheimen Schlüssels über nicht-
vertrauliche Kommunikationsverbindung
Aber:
Keine Authentifizierung der Kommunikationspartner
Anfällig für Man-in-the-Middle Angriffe
asymmetrische Kryptoverfahren
öffentlicher Schlüssel und geheimer Schlüssel
Nachricht mit öffentlichem Schlüssel des Empfängers verschlüsselt
Nur Empfänger kann solche Nachrichten mit seinem privaten Schlüssel entschlüsseln
Signatur- und Verifikationsmodus
Sender signiert Nachricht mit seinem eigenen privaten Schlüssel
Jeder kann Nachricht mit öffentlichen Schlüssel des Senders dekodieren
Probleme:
sehr langsam
Idee:
Berechne Hash der Nachricht mit kryptographischer
Hashfunktion
Signiere nur diesen Hash mit dem eigenen privaten Schlüssel
Sende signierten Hash und Originalnachricht
Empfänger entschlüsselt/verifiziert Hash und vergleicht diese mit berechnetem Hash der Nachricht
Nicht-geheimer Schlüsselaustausch
Nur ein Schlüsselpaar pro Person nötig
Nachweis der Urheberschaft
Nachteil:
wesentlich langsamer
Zertifikat notwendig, vertrauenswürdige Dritte, Trusted Third Party, Zertifizierungsinstanzen
Bekannte Verfahren:
RSA (Rivest, Shamir, Adleman)
EC-DSA (Elliptic Curve - Digital Signature Algorithm)
kryptografische Hashfunktionen
Hashfunktion:
Echte Einwegfunktion h, die eine Nachricht m beliebiger Länge auf einen Block fester Länge n (Message Digest, Hash) abbildet
Eigenschaften:
Reproduzierbarkeit (und Bitsensibiltät): m1 = m2 -> h(m1) = h(m2)
Länge(h(m)) = n für alle m
Es existieren mehr m als h(m)
Es muss unterschiedliche Nachrichten mit gleichem Hash geben (Kollision), d.h. formal es existieren m1, m2 mit m1 ≠ m2, h(m1) = h(m2)
Einwegfunktion
Für gegebenes h(m1) soll es praktisch unmöglich sein, eine Nachricht m2 mit h(m2) = h(m1) zu generieren
Verhindert nachträgliches Erzeugen von Fälschungen, die zum Original m1 passen
kollisionsresistent
Verhindert erzeugen von zwei Nachrichten mit gleichem Hash, sichert praktische Eindeutigkeit des Hashes
MD5 (Message-Digest-Algorithm, R. Rivest, 1992: n = 128 Bit)
SHA (NIST/NSA, 1992: n=160 Bit)
Hybride Verfahren
Nachteile bisheriger Verschlüsselungen:
Asymmetrische Verfahren sind sehr, sehr langsam !
Symmetrische Verfahren benötigen einen initialen Schlüsselaustausch
Diffie-Hellman Schlüsselaustausch beinhaltet keine Authentifikation
ist anfällig für Man-in- the-Middle Angriffe
Kann Kombination der Verfahren diese Schwächen überwinden?
Asymmetrische Verschlüsselung (langsam) nur um symmetrischen (Einmal-) Schlüssel zu vereinbaren
Symmetrischer Schlüssel K für die eigentliche Verschlüsselung der Kommunikation/Daten
Frage:
Woher habe ich die Gewissheit, dass der vorgebliche Public Key meines Kommunikationspartners wirklich diesem zuzuordnen ist (und nicht dem Angreifer)?
Lösung:
Vertrauenswürdige Instanzen : Trust Center, Beglaubigung von Public Keys und Credentials durch Digitale Signatur
Pretty Good Privacy
Software zum Verschlüsseln und Unterschreiben (Signieren) von Daten.
Funktionen:
vertraulichen Übermittlung von eMails
Nachweis des Urhebers einer Nachricht über Signaturen
Sicherung von Authentizität und Integrität von eMails oder das Verschlüsseln von Dateien.
Hauptaufgaben:
Signieren von Daten und deren Verschlüsselung und Entschlüsselung
Schlüsselmanagement durch “Chain of Trust”:
Bestätigung von Identitäten und Authentizität zugehöriger Personen über eine Vertrauenskette (und nicht zentrale Trust Center)
Last changed2 years ago