Wie können Sie eine Partei zwingen, ehrlich zu sein (Protokollregeln befolgen)?
Ich habe einige Mechanismen wie Verpflichtungen, Beweise usw. gesehen, aber sie scheinen einfach nicht das ganze Problem zu lösen. Es scheint mir, dass die Struktur des Protokolldesigns und solche Mechanismen die Aufgabe erfüllen müssen. Hat jemand eine gute Klassifizierung davon?
Bearbeiten
Wenn Sie beim Entwerfen sicherer Protokolle eine Partei zwingen, ehrlich zu sein, ist das Design viel einfacher, obwohl sich diese Durchsetzung auszahlt. Ich habe beim Entwerfen sicherer Protokolle gesehen, dass Designer etwas annehmen, das mir nicht realistisch erscheint, zum Beispiel, dass alle Parteien im schlimmsten Fall ehrlich sind oder dass der Server, der Benutzerdaten verwaltet, ehrlich ist. Aber wenn man sich das Design von Protokollen in strengeren Modellen ansieht, sieht man selten solche Annahmen (zumindest habe ich es nicht gesehen - ich studiere Protokolle meistens überUC-Framework von Canetti, das meiner Meinung nach noch nicht vollständig formalisiert ist). Ich habe mich gefragt, ob es eine gute Klassifizierung gibt, wie Sie eine Partei dazu zwingen können, ehrlich zu sein, oder ob es einen Compiler gibt, der das Eingabeprotokoll in ein Protokoll mit ehrlichen Parteien konvertieren kann.
Jetzt werde ich erklären, warum ich denke, dass dies nur nicht den Job macht, obwohl es irrelevant erscheinen mag. Beim Entwerfen von Protokollen im UC-Framework, das vom idealen / realen Paradigma profitiert, wird jede Kommunikationsverbindung im idealen Modell authentifiziert, was im realen Modell nicht der Fall ist. Daher suchen Protokolldesigner nach alternativen Methoden, um diesen Kanal mithilfe einer PKI-Annahme oder eines CRS (Common Reference String) zu implementieren. Beim Entwerfen von Authentifizierungsprotokollen ist es jedoch falsch, authentifizierte Kanäle anzunehmen. Angenommen, wir entwerfen ein Authentifizierungsprotokoll im UC-Framework. Es gibt einen Angriff, bei dem der Gegner die Identität einer Partei fälscht. Aufgrund der Annahme authentifizierter Links im idealen Modell wird dieser Angriff in diesem Framework jedoch nicht angenommen. Sie können sich beziehenModellierung von Insider-Angriffen auf Protokolle zum Austausch von Gruppenschlüsseln . Sie werden vielleicht bemerken, dass Canetti in seiner wegweisenden Arbeit Universell zusammensetzbare Begriffe von Schlüsselaustausch und sicheren Kanälen einen früheren Sicherheitsbegriff namens SK-Sicherheit erwähnt, der einfach ausreicht, um die Sicherheit von Authentifizierungsprotokollen zu gewährleisten. Er gesteht irgendwie (indem er erklärt, dass dies eine Frage der Technik ist), dass die UC-Definition in diesem Zusammenhang zu restriktiv ist und eine entspannte Variante namens Nicht-Informations-Orakel bietet (was mich verwirrte, weil ich dieses Sicherheitsmodell nirgendwo gesehen habe Ich kann dieses Sicherheitsmuster keinem anderen Sicherheitsmuster zuordnen, wahrscheinlich meinem Unwissen: D).
[Nebenbei bemerkt, Sie können fast jedes Sk-Secure-Protokoll unabhängig von der Simulatorzeit in ein UC-Secure-Protokoll konvertieren lassen. Zum Beispiel können Sie einfach die Signaturen der Nachrichten entfernen und den Simulator die gesamten Interaktionen auf Dummy-Weise simulieren lassen. Siehe Universell Composable Contributory Gruppe Key Exchange für Beweis! Angenommen, dies ist ein Gruppenschlüsselaustauschprotokoll mit polynomiell vielen Parteien. Was wäre die Effizienz des Simulators? Dies ist der Ursprung meiner anderen Frage in diesem Forum .]
Aufgrund des mangelnden Engagements im einfachen Modell (über UC) suchte ich nach anderen Mitteln, um das Protokoll sicher zu machen, indem ich die Notwendigkeit dieser Entspannung einfach umging. Diese Idee ist für mich sehr grundlegend und ist mir in den Sinn gekommen, weil ich gerade das neueste Verpflichtungsschema von Canetti im einfachen Modell studiert habe: Adaptive Härte und zusammensetzbare Sicherheit im einfachen Modell nach Standardannahmen .
Übrigens suche ich keine wissensfreien Beweise, weil aus anderen Gründen, die ich nicht kenne, wenn jemand einen von ihnen in einem gleichzeitigen Protokoll (über UC-Framework) verwendet hat, die anderen das Protokoll als ineffizient bezeichnet haben (möglicherweise) aufgrund des Zurückspulens des Simulators).