Kryptografische Protokolle

Ähnliche Dokumente
Kryptografische Protokolle

Kryptographische Protokolle

Kryptographische Protokolle

Digitale Signaturen. Kapitel 10 p. 178

Kryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 10. Signaturen, Diffie-Hellman

Inhalt. Seminar: Codes und Kryptographie

Kryptographie und Komplexität

Blinde Signaturen, geheime Abstimmungen und digitale Münzen

Kryptographische Protokolle

Digitale Signaturen. Proseminar Kryptographie und Datensicherheit SoSe Sandra Niemeyer

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2

Digitale Signaturen. Andreas Spillner. Kryptografie, SS 2018

Einführung in die Kryptographie ,

Elektronische Signaturen

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

3: Zahlentheorie / Primzahlen

Kryptographie und Komplexität

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem

Netzwerksicherheit. Teil 10: Krypto-Währungen. Philipp Hagemeister. Sommersemester 2017 Heinrich-Heine-Universität Düsseldorf

Vorlesung Sicherheit

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

Proseminar Schlüsselaustausch (Diffie - Hellman)

Kryptografische Protokolle

Einführung in die asymmetrische Kryptographie

Vorlesung Sicherheit

Authentikation und digitale Signatur

Vorlesung Sicherheit

VIII. Digitale Signaturen

WS 2013/14. Diskrete Strukturen

Das RSA Kryptosystem

Digitale Unterschriften mit ElGamal

Verteilte Kyroptographie

6: Public-Key Kryptographie (Grundidee)

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren)

Homomorphe Verschlüsselung

die digitale Signatur

Definition Message Authentication Code (MAC) Ein Message Authentication Code (MAC) bzgl. des Nachrichtenraumen M besteht aus den ppt Alg.

3 Public-Key-Kryptosysteme

Vorlesung Sicherheit

Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Übungsleiter: Thomas Agrikola. Stammvorlesung Sicherheit im Sommersemester 2017

Homomorphe Verschlüsselung

Kryptographie und Komplexität

KRYPTOSYSTEME & RSA IM SPEZIELLEN

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Übungsblatt 5. pk = (g, y) und sk = (g, x). ? = y H(t m) t. g s

Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976)

IT-Sicherheit. Jun.-Prof. Dr. Gábor Erdélyi. Siegen, 5. Januar 2015 WS 2015/2016

Ideen und Konzepte der Informatik Kryptographie

Algorithmische Kryptographie

Public Key Kryptographie

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Klausur Hinweise

6.3 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen. die Nachricht erreicht den Empfänger so, wie sie abgeschickt wurde

Kommunikationsalgorithmus RSA

Lösung zur Klausur zu Krypographie Sommersemester 2005

Kryptographie - eine mathematische Einführung

WS 2009/10. Diskrete Strukturen

Das RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel

VI. Public-Key Kryptographie

Digitale Signaturen. Einführung und das Schnorr Signatur Schema. 1 Digitale Signaturen Einführung & das Schnorr Signatur Schema.

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34

Vorlesung Sicherheit

AES und Public-Key-Kryptographie

Betriebssysteme und Sicherheit

Kryptographie und elliptische Kurven - oder: Wie macht man Mathematikern das Leben schwer?

Kryptografische Hashfunktionen

PKI-Outsourcing: Vertrauen ist gut, Kryptografie ist besser

Algorithmen und Datenstrukturen 2

Proseminar/Seminar Kryptographie und Datensicherheit SoSe 2009 Universität Potsdam Jan Jantzen

El Gamal Verschlüsselung und seine Anwendungen

Zertifikate an der RWTH

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Nachklausur Hinweise

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Public-Key-Kryptographie

Modulprüfung (Grundlagen der Informationsverarbeitung und -sicherheit) am um 14:00 15:30 Uhr im HS 1 (Tivoli) Viel Erfolg!

Ideen und Konzepte der Informatik Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn

Kryptographische Anonymisierung bei Verkehrsflussanalysen

Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Angewandte Kryptographie

Literatur. [8-9] ISM WS 2018/19 Teil 8/Asymmetrische Verschlüsselung

PRIMZAHLEN PATRICK WEGENER

IT-Sicherheitsmanagement. Teil 8: Asymmetrische Verschlüsselung

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen

Algorithmische Kryptographie

Digitale Signaturen. GHR-und Chamäleon-Signaturen Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

IT-Sicherheit Kapitel 12 Secure Electronic Transaction

Digitale Signaturen. Sven Tabbert

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Klausur Hinweise

Systemsicherheit 8: Das Internet und Public-Key-Infratrukturen

Vorlesung Sicherheit

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen

Übungen zur Vorlesung Systemsicherheit

Vorlesung 7. Tilman Bauer. 25. September 2007

El. Zahlentheorie I: Der kleine Satz von Fermat

Vorlesung Datensicherheit. Sommersemester 2010

Asymmetrische Verschlüsselungsverfahren

IT-Security. Teil 15: Zufall

Institut für Kryptographie und Sicherheit Jun.-Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester Nachklausur

Kurs 1866 Sicherheit im Internet

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

Transkript:

Kryptografische Protokolle Lerneinheit 6: Elektronisches Geld Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 14.6.2016

Anforderungen an elektronisches Geld Sicherheit: Sowohl das Erstellen von Blüten als auch das Verändern des Wertes von elektronischem Geld muss schwierig sein Wiederholtes Ausgeben: Sogenanntes Double-Spending, also das mehrmalige Ausgeben einer elektronischen Banknote, muss erkennbar sein, oder (noch besser) verhindert werden Anonymität: Die Bank soll keine Möglichkeit haben, Profile über das Kaufverhalten ihrer Kunden zu erstellen Aufwand: Der Einsatz von elektronischem Geld muss praktikabel und kostengünstig sein Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 2 / 26

Teilnehmer am Zahlungsverkehr Ein System zur Abwicklung von elektronischem Zahlungsverkehr besteht aus drei Teilnehmern Die Bank B zertifiziert das Geld. Sie verwaltet und kontrolliert den Mittelfluß Der Händler H bietet Waren an und leitet seine Einnahmen an B zwecks Gutschrift weiter Der Kunde A hebt elektronisches Geld von seinem Konto ab und kauft bei H ein Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 3 / 26

Arten von elektronischem Geld Man unterscheidet zwei Arten von elektronischem Geld Bei Macropayment-Systemen werden größere Summen transferiert Micropayment-Systeme zielen auf Klein- oder Kleinstbeträge ab. Beispiele sind Pay-Per-View Systeme oder Online-Zeitungen Richtlinie: Je mehr Geld transferiert wird, desto höher sind die Sicherheitsanforderungen Aber: Mit zunehmender Sicherheit werden die Systeme komplexer Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 4 / 26

Basismechanismen Verschiedene kryptografische Mechanismen bieten die Grundlage für elektronisches Geld. Die wichtigsten sind die folgenden. Public Key Kryptosysteme wie z.b. RSA werden zur Verschlüsselung und Signierung der Daten eingesetzt Blinde Signatur ermöglicht die Anonymisierung von elektronischen Geldscheinen Selbstauthentisierende Einweg-Ketten erlauben effizientes und kostengünstiges Micropayment Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 5 / 26

Aufbau einer elektronischen Banknote Wert der Geldnote Betrag Banksiegel Seriennummer Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 6 / 26

Seriennummern auf Basis von DSA Zur Generierung der Seriennummer N setzt Alice das DSA Verfahren ein. Im folgenden ist a der geheime und (p A, q A, α, β) der öffentliche DSA-Schlüssel von Alice. Zur Erinnerung: β = α a mod p A Die Erstellung von N erfolgt in zwei Schritten: 1. Alice generiert eine Zufallszahl z Z q A 2. Unter Verwendung einer kryptografischen Hashfunktion h berechnet Alice den Wert N = h(α z, β) Die (Seriennummer der) Banknote N besteht also aus einer (geheimen) Zufallszahl sowie dem öffentlichen DSA-Schlüssel Beachte: Die Zufallszahl z wird bei der Bestellung zur Signierung mittels DSA eingesetzt Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 7 / 26

Elektronische Prägung mittels RSA Die Bank B setzt das RSA System ein. Zur Signierung der 50e-Banknoten wird der Schlüssel (n B, d B, e B ) eingesetzt. n B = pq ist das Produkt zweier Primzahlen p und q. Es gilt: e B d B 1 (mod (p 1)(q 1)). Hieraus folgt: (x e B ) d B x (mod nb ) für alle x Z n. Die Werte n B und d B sind öffentlich zugänglich, e B ist das Geheimnis der Bank Die Signatur von x Z n ist s = x e B mod nb Zur Verifikation des Paars (x, s) überprüft man die Gleichheit von x und s d B mod nb Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 8 / 26

Blinde Signatur (Idee) Alice muss die Banknote N von der Bank signieren lassen, damit sie mit N einkaufen kann Problem: Schickt Alice N an die Bank, dann kann die Bank das Kaufverhalten von Alice analysieren Idee: Maskiere N mit einem Blender b, lasse N b mod n B von der Bank signieren und entferne anschließend b wieder Lösung: Generiere Zufallszahl r mit gcd(r, n B ) = 1 und berechne b = r d B. Dieser Blender läßt sich durch Multiplikation mit r 1 aus der Signatur wieder entfernen, denn: (N r d B ) eb r 1 N eb r r 1 N e B (mod n B ) Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 9 / 26

Blinde Signatur (Ablauf) 2 1 Bank e 50 Alice 3 4 e 50 Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 10 / 26

Protokoll zur Blinden Signatur 1. Alice berechnet die Nummer N der Banknote. 2. Alice generiert eine Zufallszahl r mit gcd(r, n B ) = 1 und sendet den Wert N r d B mod nb an die Bank B. 3. Die Bank signiert diesen Wert mit ihrem geheimen Schlüssel, d.h., sie berechnet (N r d B ) e B mod n B = N eb r mod n B und sendet das Ergebnis an Alice. Von Alices Konto werden 50 e abgebucht. 4. Alice entfernt den Blender durch Multiplikation mit r 1 und erhält eine Banknote N mit gültiger Signatur N e B. Wichtig: Die Bank hat die Banknote signiert, kennt aber deren Nummer nicht! Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 11 / 26

Ablauf des Einkaufs 1 Bestellung 3 Einlösen e 50 e 50 Alice Händler Bank 2 Versand der Ware 4 Gutschrift Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 12 / 26

Einkauf beim Online-Händler H Alice gibt bei dem Online-Händler H eine Bestellung auf. Diese hat das Format (I H, Z, B, N, N e B, γ, δ). Hierbei ist I H eine eindeutige Kennung des Händlers, Z Datum und Uhrzeit der Bestellung, B die Einkaufsliste und N die elektronische Banknote mit Signatur N e B. (γ, δ) ist die DSA-Signatur von SHA1(I H, Z, B, N, N e B ). Als Zufallszahl kommt dasselbe z zum Einsatz, mit dem die Banknote N generiert wurde Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 13 / 26

Überprüfung der Bestellung Unter Einsatz von Alice s öffentlichem DSA-Schlüssel und dem öffentlichen RSA-Schlüssel der Bank überprüft H die Korrektheit der folgenden Punkte: 1. Das Paar (γ, δ) ist eine gültige DSA-Signatur von Alice für SHA1(I H, Z, B, N, N e B ). 2. N e B ist eine gültige RSA-Signatur der Bank B für N. 3. Die Zufallszahl passt zur Banknote, d.h., h(γ, β) = h(α z, β) = N. 4. Der Wert der Banknote reicht zur Bezahlung der Ware. Sind alle Punkte erfüllt, dann sendet H die Ware an Alice. Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 14 / 26

Gutschrift von N bei der Bank Um eine Gutschrift von der Bank zu erhalten, muss H die Banknote N einlösen. Als Sicherheit verlangt die Bank von H die Hinterlegung einer Information über den Geschäftsvorgang, bei dem N erwirtschaftet wurde H berechnet zunächst die Prüfsumme h B = SHA1(I H, Z, B, N, N e B ) und anschließend folgende Nachricht an die Bank: (I H, N, N e B, RSA dh (h B, γ, δ), s H ) Der Wert RSA dh (h B, γ, δ) steht für die RSA-Verschlüsselung von (h B, γ, δ) mit H s geheimen Schlüssel d H. Die Signatur der obigen Nachricht ist s H Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 15 / 26

Arten von Betrügereien Ein Betrug liegt vor, wenn bei der Bank die Banknote N zweimal zwecks Gutschrift eingereicht wird. In diesem Fall gibt es mehrere Möglichkeiten des Betrugs: 1. Der Händler löst das Geld mehrmals ein. 2. Alice gibt das Geld mehrfach aus (Double Spending). 3. Alice und der Händler kooperieren, um die Bank zu betrügen. Die Bank kann alle Arten von Betrügereien aufdecken. Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 16 / 26

Fahnung nach den Betrügern Die Bank fordert die Händler H 1 und H 2 auf, ihre RSA-Verschlüsselungen aufzudecken. Auf diese Weise erlangt sie Zugriff auf die signierten Prüfsummen der beiden Bestellungen: (h 1, γ 1, δ 1 ) und (h 2, γ 2, δ 2 ). Die Bank überprüft, ob (γ 1, δ 1 ) bzw. (γ 2, δ 2 ) eine gültige Signatur von h 1 bzw. h 2 ist. Es gibt nun zwei Möglichkeiten: Im Falle einer ungültigen Signatur ist der jeweilige Händler der Betrüger. Falls beide Signaturen gültig sind, dann ist Alice die Gaunerin. Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 17 / 26

Alice mogelt Angenommen, Alice gibt die Banknote N mehrmals aus. D.h., sie gibt zwei Bestellungen auf: (I 1, Z 1, B 1, N, N e B, γ1, δ 1 ) und (I 2, Z 2, B 2, N, N e B, γ2, δ 2 ) Mit hoher Wahrscheinlichkeit unterscheiden sich die Bestellungen in mindestens einer Komponente, z.b. in den Zeitstempeln Z 1 und Z 2. Dies führt zu verschiedenen Prüfsummen x 1 = SHA1(I 1, Z 1, B 1, N, N e B ) und x 2 = SHA1(I 2, Z 2, B 2, N, N e B ) und somit zu zwei verschiedenen Signaturen δ 1 und δ 2 Dagegen ist γ 1 = γ 2 = γ, denn in diesem Wert ist die Zufallszahl der Banknote N verankert Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 18 / 26

Alice s Betrug fliegt auf Unter Verwendung von x 1, x 2, δ 1, δ 2 und γ läßt sich Alice überführen und ihr geheimer DSA-Schlüssel a offen legen Man berechnet (modulo q A ): δ 1 = (x 1 + aγ)z 1 = x 1 z 1 + aγz 1 δ 2 = (x 2 + aγ)z 1 = x 2 z 1 + aγz 1 Somit: δ 1 δ 2 = (x 1 x 2 )z 1 und z 1 = (δ 1 δ 2 )(x 1 x 2 ) 1 Hieraus berechnet man: a 1 = (δ 1 x 1 z 1 )γ 1 z a 2 = (δ 2 x 2 z 1 )γ 1 z Falls a 1 = a 2 und α a 1 = β, dann ist a 1 der geheime Schlüssel von Alice. Alice ist aufgeflogen Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 19 / 26

Ein entscheidender Nachteil Das Verfahren ist zwar sicher, hat jedoch einen entscheidenden Nachteil: Für jeden Einkauf benötigt Alice eine von der Bank signierte Banknote N, die wertmässig mit dem Betrag der Bestellung übereinstimmt. Hieraus ergeben sich folgende Konsequenzen: Pro Transaktion entstehen Alice Zusatzkosten, da die Bank pro Signatur abkassiert Das Verfahren ist ungeeignet für Geschäfte, die eine kontinuierliche Bezahlung erfordern, beispielsweise Internet-Kino mit minutenweiser Berechnung Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 20 / 26

Selbstauthentisierende Einweg-Kette 1 N 5 1 N 4 1 N 3 1 1 N 1??? N 2 N 0 Geldbörse Zertifikat : "wird zertifiziert von" Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 21 / 26

Konstruktion einer Einweg-Kette (Prinzip) Zur Generierung kommt eine kryptografische Hash-Funktion H zum Einsatz. Reihenfolge der Berechnung H H H H H N 5 N 4 N 3 N 2 N 1 N 0 Signierung N 5 N 4 N 3 N 2 N 1 N 0 Reihenfolge der Freigabe Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 22 / 26

Konstruktion einer Einweg-Kette Zur Konstruktion der Einweg-Kette setzt Alice eine schwach kollisionsresistente Hashfunktion H ein. Die Konstruktion erfolgt in folgenden Schritten: 1. Alice generiert zufällig den Wert N n 2. Anschließend berechnet sie iterativ eine Kette N n 1,..., N 1, N 0, wobei N i = H(N i+1 ) für i = 0,..., n 1 3. Alice legt das Paar (N 0, n) der Bank B zur Signierung vor. Die Bank bestätigt mit dem Zertifikat Z B, dass es sich bei (N 0, n) um eine Einweg-Kette mit n Gliedern handelt. Der Wert eines Kettenglieds ist z.b. 1 Cent Beachte: Eine Kette der Länge 2 20 kann man innerhalb weniger Minuten berechnen. Sie hat immerhin einen Wert von 167772.16 e Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 23 / 26

Einkauf mit Einweg-Ketten Einkauf: Alice sendet die Einweg-Kette (N 0, n) und das Zertifikat Z B an den Händler H. Zur Bezahlung wir die Einweg-Kette nach und nach freigegeben. Angenommen, der aktuelle Freigabewert ist (N i, i). Also hat Alice ein Guthaben von n i Cent. Dann läuft die Abwicklung des nächsten Einkaufs wie folgt ab: 1. Alice bestellt Waren im Wert von im Wert von j Cent. Zu deren Bezahlung sendet sie die Daten (N i+j, i + j) an H. 2. H verifiziert, ob H j (N i+j ) = N i. Falls ja, dann sendet er die Waren an Alice. Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 24 / 26

Einkauf mit Einweg-Ketten (Forts.) 3. H sendet (N i+j, i + j) mit weiteren Daten zum Geschäftsvorgang an die Bank B. Diese überprüft die Gültigkeit der Banknote N i+j und schreibt j Cent auf dem Konto von H gut. Bemerkungen: Der Nachteil dieses Systems ist, dass Alice eine Einweg-Kette pro Händler benötigt. Dieser Nachteil läßt sich durch entsprechende Mechanismen beheben. Das Double Spending von Kettengliedern verhindert man mittels DSA-Signaturen. Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 25 / 26

Abschließende Bemerkungen Elektronisches Geld ist in der Praxis ein etabliertes Zahlungsmittel. Die in der Vorlesung präsentierten Mechanismen findet man unter anderem im Wenbo System von Hewlett-Packard oder in Payword von Ron Rivest. Weitere Systeme für elektronisches Geld sind: Digicash MilliCent MicroMint NetBill... Prof. Dr. C. Karg (HS Aalen) Kryptografische Protokolle Elektronisches Geld 26 / 26