Zero Knowledge:
Transcrição
Zero Knowledge:
Zero Knowledge: Überzeugen ohne etwas zu verraten Jörn Müller-Quade 5. Emmy-Noether-Jahrestreffen Potsdam, 22.07.06 Überzeugen ohne etwas zu verraten Wozu? Überzeugen ohne etwas zu verraten Dass es überhaupt geht, ist erstaunlich, ein wenig wie ein Zaubertrick. Es gibt aber auch Anwendungen! 1. Anwendung: Geldautomat 1. Anwendung: Geldautomat Zur Zeit zeigen wir einem Geldautomaten unseren Magnetstreifen und verraten unser Geheimnis (PIN). Ein gefälschter Automat erfährt also genug, um an unser Geld zu kommen. Das erinnert an Asterix als Legionär. Mein Autoschlüssel ist auch nicht klüger. Überzeugen ohne etwas zu verraten Öffentliches Rätsel von Jörn Müller-Quade Meine geheime Lösung Überzeugen ohne etwas zu verraten Öffentliches Rätsel von Jörn Müller-Quade Meine geheime Lösung Ich beweise, dass ich die Lösung kenne, ohne etwas zu verraten (etwa eine PIN). Überzeugen ohne etwas zu verraten Öffentliches Rätsel von Jörn Müller-Quade Dies löst das Problem der Identifikation, aber wie kann man überzeugen ohne etwas zu verraten? Meine geheime Lösung Ich beweise, dass ich die Lösung kenne, ohne etwas zu verraten (etwa eine PIN) 2. Anwendung: Kopierschutz Musikdateien Beweis, dass die Software unverändert ist. Musikdateien Beweis, dass die Software unverändert ist. Gibt die TPM dabei ihre Identität preis, so kann das Kaufverhalten mitprotokolliert werden. Musikdateien Beweis, dass die Software unverändert ist. Benötigt wird ein Beweis, der nichts verrät, aber wie kann das gehen? Gibt die TPM ihre Identität preis, so kann das Kaufverhalten mit protokolliert werden. 3. Anwendung: Plagiatvermeidung Nicht ernst gemeint, oder? 3. Anwendung: Plagiatvermeidung Nicht ernst gemeint, oder? Ein Mathematiker hat eine neue Formel und will seine Fachkollegen davon überzeugen, fürchtet aber, ein anderer könnte sie veröffentlichen. 3. Anwendung: Plagiatvermeidung Nicht ernst gemeint, oder? Benötigt wird ein Beweis, der nichts verrät, aber wie kann das gehen? Ein Mathematiker hat eine neue Formel und will seine Fachkollegen davon überzeugen, fürchtet aber, ein anderer könnte sie veröffentlichen. Was ist ein Beweis? Eine überzeugende Abfolge elementarer Schlussfolgerungen Pythagoras: A+B=C Pythagoras: A+B=C Pythagoras: A+B=C Pythagoras: A+B=C Pythagoras: A+B=C Pythagoras: A+B=C Pythagoras: A+B=C Überzeugt so ein Beweis? Beweiskalküle Syntax Axiome t: Z (t ) x : Z ( x) Terme: 0, x, x+y x: x = x Formeln: x y : y x 2 x y Ableitungsregeln Modus Ponens: A, A B Generalisierung: W B x : W Maschinenüberprüfbar! Beweiskalküle Syntax Axiome t: Z (t ) x : Z ( x) Terme: 0, x, x+y x: x = x Formeln: x y : y x 2 x y Ableitungsregeln Modus Ponens: A, A B Generalisierung: W B x : W Maschinenüberprüfbar! So könnte man eine Maschine bauen, die alle mathematischen Wahrheiten aufzählt. Für jedes Beweiskalkül gibt es Wahrheiten, die sich in diesem Kalkül nicht beweisen lassen. So könnte man eine Maschine bauen, die alle mathematischen Wahrheiten aufzählt. Für jedes Beweiskalkül gibt es Wahrheiten, die sich in diesem Kalkül nicht beweisen lassen. Wir wollen nur beweisen, was beweisbar ist, aber ohne etwas zu verraten! So könnte man eine Maschine bauen, die alle mathematischen Wahrheiten aufzählt. Beweise sind übertragbar Beweise sind übertragbar Aha Jeder dieser Beweise kann weitergegeben werden und überzeugt jeden. Diese Beweise verraten alles. Beweise sind übertragbar Wie überzeugt man, ohne dass etwas bleibt, was Dritte überzeugt? Aha Jeder dieser Beweise kann weitergegeben werden und überzeugt jeden. Diese Beweise verraten alles. Interaktive Beweise Aha Hä? Eine Interaktion überzeugt den direkten Empfänger, ein Mitschrieb aber nicht mehr unbedingt. Der Pepsi-Test: ein Beweis, dass Pepsi ≠ Cola Fülle Pepsi in zufällige Gläser 0 1 1 0 0 1 0 0 Fülle Cola in die anderen Gläser 0 1 1 0 0 1 0 0 Gib die Gläser dem Beweiser Erkennt dieser, welche Gläser was enthalten, so sind die Getränke wohl unterscheidbar. Pepsi ≠ Cola 0 1 1 0 0 1 0 0 Nun ein Experiment: Gedankenlesen! Ich benötige einen Freiwilligen. Ah, Sabine, Du. Sabine, Denke Dir bitte eine zweistellige Zahl Habe ich, Jörn Es ist die 37. Genau ! Dies gibt das während der Lecture gebotene Experiment nur ungenügend wieder. Wichtig ist jedenfalls, dass die Zuschauer den Verdacht haben, Sabine und Jörn hätten sich vor der Lecture abgesprochen. Sabine ist nun überzeugt, dass Jörn Gedanken lesen kann (es sei denn es war doch Absprache). Im Publikum ist aber niemand überzeugt, da alles wie Absprache aussieht. Dies ist ein Beispiel für einen interaktiven Beweis, der nicht weitergegeben werden kann. Zero-Knowledge-Beweise Korrekt: Ist die Aussage falsch, so überzeugt der Beweis nur mit vernachlässigbarer Wahrscheinlichkeit. Zero Knowledge: Für jeden Prüfer (Sabine) gibt es einen Simulator, der einen Mitschrieb der Kommunikation selber erzeugen kann. Ohne den Beweis zu kennen! Absprache Jörn Sabine Simulator Zero-Knowledge-Beweise Korrekt: Ist die Aussage falsch, so überzeugt der Beweis nur mit vernachlässigbarer Wahrscheinlichkeit. Zero Knowledge: Für jeden Prüfer (Sabine) gibt es einen Simulator, der einen Mitschrieb der Kommunikation selber erzeugen kann. Ohne den Beweis zu kennen! Absprache Shafi Goldwasser, Silvio Micali und Charles Rackoff 1982. Jörn bis es 1985 erschien. Immer wieder abgelehnt, Sabine Simulator Graph-Isomorphismus Ein Graph hat Knoten und Kanten. Ein Graph-Isomorphismus bewegt die Knoten so, dass zwei Graphen gleich werden (die Kanten gehen mit). Graph-Isomorphismus Ein Graph hat Knoten und Kanten. Ein Graph-Isomorphismus bewegt die Knoten so, dass zwei Graphen gleich werden (die Kanten gehen mit). Graph-Isomorphismus Ein Graph hat Knoten und Kanten. Ein Graph-Isomorphismus bewegt die Knoten so, dass Einen Graph-Isomorphismus zu finden, gilt als schwierig. zwei Graphen gleich werden (die Kanten gehen mit). Wie Wollknäulentwirren. Ein ZK-Beweis für Graph-Isomorphismus Allen bekannt: zwei Graphen Geheimnis des Beweisers: ein Graph-Isomorphismus Der Beweiser erzeugt einen zufälligen isomorphen Graphen Der Beweiser gibt den Graphen an den Prüfer Der Prüfer wählt einen Isomorphismus, den er sehen will. Diesen Isomporphismus hat sich der Beweiser gerade ausgedacht Der Beweiser gibt den Isomorphismus bekannt. Und der Andere? Der Andere Ist einfach die Nacheinanderausführung von 1. seinem geheimen Isomorphismus und 2. dem neu ausgedachten. Der Beweiser kann beide Isomorphismen angeben Dieses Spiel wird häufig wiederholt. Korrektheit Kann der Beweiser beide Isomorphismen angeben, so sind beide Graphen tatsächlich isomorph. Kennt er immer nur einen so wird er, bei häufigem Widerholen, erwischt. Zero-Knowledge Weiß der Beweiser vorher welchen Isomorphismus der Prüfer sehen will, so bereitet er genau diesen vor. Anwendung 3: Ernst gemeint? Anwendung 3: Ernst gemeint? Oder: wie Tartaglia fast ZK erfand • Tartaglia (1499-1557) kannte eine Formel zum Lösen von Gleichungen 3. Grades, etwa x3+5x2-2x = 3. • Um das zu beweisen, löste Tartaglia ihm gestellte Gleichungen, verriet aber die Formel nicht. Anwendung 3: Ernst gemeint? Oder: wie Tartaglia fast ZK erfand Später hat Tartaglia Cardano die Formeln „angedeutet“, Cardano hielt die Formeln für geklaut, und er hat sie selber veröffentlicht. Cardanische Formeln Anwendung 3: Ernst gemeint? Oder: wie Tartaglia fast ZK erfand Später hat Tartaglia Cardano des Meineids bezichtigt. Cardano mußte in den Kerker der heiligen Inquisition. Anwendung 3: ernst gemeint? Doch das ist eine andere Geschichte Oder: wie Tartaglia fast ZK erfand und soll ein andermal erzählt werden: „Im Alter, nach seiner Freilassung durch die Inquisition, ging Cardano nach Rom, wo er im Ärztekolleg Aufnahme fand und dort bis zu seinem Tode wirkte. Er brüstete sich damit, dass er seinen eigenen Tod bis auf die Stunde genau voraussagen könne. Als die Stunde seines vorausgesagten Todes gekommen war, musste er peinlich berührt feststellen, dass er sich bester Gesundheit erfreute. Da er seinen eigenen Fehler nicht eingestehen wollte, beging er Selbstmord.“ Wikipedia Später hat Tartaglia Cardano des Meineids verklagt Cardano mußte in den Kerker der heiligen Inquisition. ZK nur für spezielle Probleme? Was geht noch außer Graph-Isomorphismus? Gibt es ZK-Beweise nur für wenige Probleme? Dies wäre genug für Anwendung 1, aber sind die anderen Anwendungen auch möglich? To Do Erfüllbarkeit Beweise sind maschinenüberprüfbar, also gibt es einen Schaltkreis mit einer Lampe, die nur leuchtet, wenn der Beweis korrekt ist. Beweis Erfüllbarkeit Beweise sind maschinenüberprüfbar, also gibt es einen Schaltkreis mit einer Lampe, die nur leuchtet, wenn der Beweis korrekt ist. Beweis Könnten wir für beliebige Schaltkreise ZK beweisen, dass wir eine Eingangsbelegung kennen, die die Lampe leuchten läßt, dann könnten wir jeden Beweis in einen ZK-Beweis überführen. Erfüllbarkeit ist ein NP-Problem NP-Probleme sind Rätsel, deren Lösung einfach zu überprüfen sind. Es gibt Rätsel von einem Typ, dass, wenn man diese lösen kann. man alle NP-Probleme lösen kann. (NP-vollständige Probleme) (Ob P=NP gilt, ist eines der Millionenprobleme) Erfüllbarkeit ist ein NP-Problem NP-Probleme sind Rätsel, deren Lösung einfach zu überprüfen sind. Es gibt Rätsel von einem Typ, dass, wenn man diese Können ein NP-vollständiges lösen kann. manwir allefürNP-Probleme lösen kann. Problem ZK-Beweise führen, dann können (NP-vollständige Probleme) wir alles ZK Beweisen! (Ob P=NP gilt, ist eines der Millionenprobleme) Graph-3-Färbbarkeit ist NP-vollständig Färbe die Knoten mit drei Farben, so dass direkt verbundene Knoten immer ungleiche Farben haben. Eine Graph-3-Färbung Das Geheimnis des Beweisers. Der Beweiser benennt die Farben zufällig um Es bleibt eine 3-Färbung. Der Beweiser verschlüsselt alle Farben Dies wird dem Prüfer gezeigt. Der Prüfer wählt eine Kante Der Beweiser entschlüsselt dort die Knoten. Die Farben müssen ungleich sein Dieses Spiel wird häufig wiederholt. Mit immer neuer Vertauschung der drei Farben. Korrektheit und ZK • Korrekt: Gibt es keine 3-Färbung, so sind immer irgendwo zwei Farben gleich. Bei häufigem Wiederholen wird der Beweiser erwischt. • ZK: Weiß der Beweiser vorher, welche Kante gefragt wird, verschlüsselt er dort zwei zufällige, verschiedene Farben. Korrektheit und ZK • Korrekt: Gibt es keine 3-Färbung, so sind immer irgendwo zwei Farben gleich. Bei häufigem Wiederholen wird Jetzt können wir „alles“ Beweisen, der Beweiser erwischt. ohne etwas zu verraten. wasder machen Kryptographen heute? • ZK: Und Weiß Beweiser vorher, welche Kante gefragt wird, verschlüsselt er dort zwei zufällige, verschiedene Farben. Was machen Kryptographen heute? • Bleiben ZK-Protokolle in größeren Anwendungen sicher? • Sind ZK-Protokolle langfristig sicher? Wie lange hält das? Zusammenfassung Es gibt interaktive Beweise, ähnlich dem Pepsi-Test. Interaktive Beweise können überzeugen, ohne etwas zu verraten (ZK-Beweise). Tartaglia hat ZK-Beweise nicht erfunden. Interessant: ZK in größeren Anwendungen, langfristige Sicherheit. Bildquellen Emmy Noether Logo: DFG Tafel mit Formeln: http://www.fabula.tv/roboter/gross/formeln-big.jpg Zylinder: www.schornsteinfegermeister.de Geldautomat: Jörn Müller-Quade Comic+Autoschlüssel: Jörn Müller-Quade Beatles: http://www.sfondideldesktop.com/Images%2DMusic/Beatles/Beatles%2D0003/ Screenshot von iTunes: Jörn Müller-Quade Notebook: Apple TPM-Chip: Infineon Tartaglia: Public Domain (Wikipedia) Cardano: Public Domain (Wikipedia) Rechenmaschine: http://www.snc.edu/compsci/cs225F04/alu/website/images/pascalina-full.jpg Flächengleiche Dreiecke: www.didisweb.at Hilbert: Public Domain (Wikipedia) Gödel: http://www.math.princeton.edu/~gdoyle/Pictures/etc/godel.jpg Ludolph: Public Domain (Wikipedia) Pepsi Cola: Pepsi Cola Glas: http://www.h-e-d.co.uk/images/shot-glass-drinking.jpg Coca Cola: Coca Cola Optische Täuschung:http://www.softclick.ch/Was_das_Hirn_alles_kann.pps#3 Kerker: http://www.sagen.at/texte/sagen/oesterreich/niederoesterreich/wachau/images/kerker.jpg Schaltkreis: http://www.morphet.org.uk/images/ferro/ferro-log7service/circuit-150-16.gif Glühbirne: http://www.lsr-stmk.gv.at/cms/bilder/17662/80/315/222/bb350edb/gluehbirne.jpg Pflaster: www.sparkasse-saarbruecken.de