Kryptographie in der Moderne Sicherheit im Internet
Kryptographie in der Moderne Kryptographie ist die Lehre der Datensicherheit im Allgemeinen Verschlüsselung nur noch kleiner Bestandteil der Kryptographie Kryptographie dient dazu, ein konkretes Sicherheitsproblem zu analysieren und zu lösen (z.b. Einkaufen im Internet, Online- Banking)
Inhalt Kryptographische Protokolle Public Key - Verschlüsselungsverfahren
Kryptographisches Protokoll 1 Protokoll ist ein ständig wiederkehrender gleichartiger Vorgang (z.b. Einkaufen, Geld abheben,...) Viele einfache Vorgänge / Protokolle im täglichen Leben Es ist wünschenswert, viele Vorgänge aus dem Leben auf das Internet zu übertragen (Einkaufen,...) Aber: Es ist gibt sehr viele Probleme
Kryptographisches Protokoll 2 Kryptographisches Protokoll: Sichere Realisierung eines alltäglichen Vorganges im Internet Aufbau von kryptographischen Protokollen nach Bausatzprinzip
Beispiel Online - Banking Bisher: Überweisung in einer Bank Betreten der Bank (Überwachungskameras) Gang zu freiem Schalter (Blickkontakt, Kameras) Überweisungszettel (handschriftlich, Blickkontakt) Überprüfung des Auftrages (Ausweis, ) Man hat kaum eine Möglichkeit zu bescheißen. Die Bank hat auch kaum eine Möglichkeit, irgendetwas zu Ihrem Vorteil zu ändern
Beispiel Online - Banking Wie kann man nun denselben Vorgang im Internet realisieren?
Beispiel Online Banking Einfachste Lösungsmöglichkeit Kunde Überweisungsauftrag Bank Aber: Ist das ganze auch sicher?
Beispiel Online Banking Probleme Empfängt Auftrag vielleicht gar nicht Kunde Provider Hacker Bank Hört mit Verändert Auftrag
Beispiel Online - Banking Problem 1: Jeder in der Leitung kann mithören und erfährt wichtige Daten des Kunden Lösung des Problems: Verschlüsselung der Verbindung zur Bank Hilfsmittel 1: Verschlüsselung Zuhörer Daten (E)ncrypt (D)ecrypt Public Key Private Key
Beispiel Online - Banking Sind nun alle Probleme gelöst? Schlüssel der Bank Kunde E D Gefälschte Bankseite (Hacker) E D Bank Schlüssel des Hackers Kann alles mitlesen und ändern
Beispiel Online - Banking Problem 2: Kein passives aber aktives Mithören Lösung: Authentifizierung des Bankschlüssels mit einer digitalen Unterschrift Vertrauenswürdige Stelle (z.b. VeriSign) Unterschreibt digital (= beglaubigt) Schlüssel Bank 1 Schlüssel Bank 2 Schlüssel Bank 3
Beispiel Online Banking Jetzt kann niemand mehr mithören und sich aktiv reinklinken. Ist nun das Online Banking sicher? Kunde Trojaner Bank Kann alles lesen und ändern
Beispiel Online Banking Trojaner können nicht bekämpft werden Lösung: Teil des Protokoll auf Benutzer auslagern TAN / BEN Verfahren TAN = Transaktions Nummer BEN = Bestätigungs - Nummer
Beispiel TAN / BEN Liste Index TAN BEN 1 670428 526 2 952906 505 3 969304 636 4 996916 650 5 071352 958 6 102367 034 7 443211 920 8 855381 166 9 777871 839
TAN / BEN Verfahren Kunde Kunden - Auftrag Tan - Index Korrekte TAN Auftragsbestätigung mit BEN Bank
Beispiel Auftragsbestätigung Ihre Auftrags Daten: Kontoinhaber: Max Mustermann Empfänger: Versandhaus Konto: 12345678 Betrag: 100,00 Zweck: Bestellung
Public Key - Verfahren Grundidee: Zwei verschiedene Schlüssel Öffentlicher Schlüssel: Für jeden zugänglich Kann nur zum verschlüsseln verwendet werden Privater Schlüssel: Wird geheim gehalten dient zum entschlüsseln
Public Key - Verfahren Aber: Wie funktioniert das? Der Trick: Man verwendet ein schwieriges mathematisches Problem, das man leicht in die eine Richtung berechnen kann, aber nur sehr schwer wieder umkehren kann
Beispiel (Rucksackproblem) Gegeben sind einige Zahlen (= Gewichte) z.b.: 66815,05 75174,34 16787,07 59297,62
Beispiel (Rucksackproblem) Mit diesen Gewichten wird ein Rucksack aufgefüllt 66815,05 * 4 + 75174,34 * 3 + 16787,07 * 2 + 59297,62 * 1 = 585654,98 Sehr einfache Rechnung
Beispiel (Rucksackproblem) Andere Richtung: Das Gewicht des Rucksackes ist vorgegeben z.b.: 66815,05 *? + 75174,34 *? + 16787,07 *? + 59297,62 *? = 985263,32 Offensichtlich nicht so einfach!!!
Beispiel (Rucksackproblem) Das selbe Problem noch einmal, aber mit anderen Zahlen 80001 * 4 + 90010 * 3 + 20100 * 2 + 71000 * 1 = 701234 Schwierigkeit des Rucksackproblems offenbar von gewählten Gewichten abhängig
Beispiel (Rucksackproblem) Jetzt: Alle Gewichte werden jetzt durch 1,19735 geteilt 80001 66815,05 90010 75174,34 20100 16787,07 71000 59297,62
Beispiel (Rucksackproblem) Problem von vorher: 985263,32 Multiplizieren wir diese Zahl doch einmal mit 1,19735 985263,32 * 1,19735 = 1179705,036 9705
Beispiel (Rucksackproblem) Probe: z.b.: 66815,05 * 5 + 75174,34 * 0 + 16787,07 * 7 + 59297,62 * 9 = 985263,32
Public Key - Verfahren Zusammenfassung: Wähle die Zahlen des Problems so aus, daß das Problem einfach zu lösen ist Wandle das einfache Problem in ein schwieriges um Nur wer die Umwandlung (Hintertür) kennt, kann das Problem auch in die andere Richtung lösen