Welche interessanten Unterschiede gibt es zwischen Theorie und Praxis der Sicherheit und Kryptographie?
Am interessantesten werden natürlich Beispiele sein, die auf der Grundlage der praktischen Erfahrung neue Wege für die theoretische Forschung aufzeigen :).
Die Antworten könnten beinhalten (sind aber nicht beschränkt auf):
- Beispiele, in denen die Theorie nahe legt, dass etwas möglich ist, aber in der Praxis nie angewendet wird
- Beispiele, bei denen die Theorie besagt, dass etwas sicher ist, das in der Praxis nicht sicher ist
- Beispiele für etwas, das in der Praxis weit verbreitet ist, haben wenig Theorie.
...
Vorbehalt
Wenn Ihre Antwort im Wesentlichen von der Form "Theorie ist asymptotisch, aber die Praxis nicht" ist, sollte entweder die Theorie wirklich zentral sein oder die Antwort sollte spezifische Beispiele enthalten, bei denen die praktischen Erfahrungen an realen Instanzen von den Erwartungen abweichen auf die Theorie.
Ein mir bekanntes Beispiel: die sichere Schaltkreisauswertung. Theoretisch sehr leistungsfähig, aber zu kompliziert, um in der Praxis eingesetzt zu werden, da Sie Ihren Code nehmen, in einen Schaltkreis einwickeln und dann jedes Gate einzeln sicher auswerten müssen.
quelle
Antworten:
Oh Junge, wo soll ich anfangen?
Das große ist definitiv Black Boxes. Krypto-Forscher machen sich Sorgen um Dinge wie das Unbeständigkeitsproblem des Zufalls-Oracle-Modells. Sicherheitsforscher sind am anderen Ende der Welt und möchten, dass alles als Black Box und nicht nur als Hash-Funktion verwendet werden kann. Dies ist eine ständige Spannungsquelle.
Wenn Sie sich die formale Analyse von Sicherheitsprotokollen ansehen, zum Beispiel die BAN-Logik , werden Sie feststellen , dass die symmetrische Verschlüsselung als "ideale Blockverschlüsselung" behandelt wird. Hier gibt es eine subtile Unterscheidung: Die BAN-Logik (und andere Protokollanalysetechniken) erheben keinen Anspruch auf Sicherheitsnachweise. Vielmehr handelt es sich um Techniken zum Auffinden von Fehlern. Daher ist es nicht unbedingt richtig, dass es sich um das ideale Verschlüsselungsmodell handelt. Es ist jedoch empirisch richtig, dass der größte Teil der Sicherheitsanalyse auf das formale Modell beschränkt ist, sodass der Effekt der gleiche ist.
Wir haben noch nicht einmal über Praktizierende gesprochen. Diese Typen haben normalerweise nicht einmal eine Ahnung, dass Krypto-Primitive keine Black Box sein sollen, und ich bezweifle, dass sich dies jemals ändern wird - Jahrzehnte des Versuchs, dies in den Kopf zu schlagen, haben keinen Unterschied gemacht.
Beachten Sie diese Sicherheitshinweise zur Fälschbarkeit von API-Signaturen, um festzustellen, wie schlimm das Problem ist . Der Fehler ist teilweise auf die Längenerweiterungs-Attacke in der Merkle-Damgard-Konstruktion zurückzuführen (was wirklich sehr grundlegend ist) und betrifft Flickr, DivShare, iContact, Mindmeister, Myxer, RememberTheMilk, Scribd, Vimeo, Voxel, Wizehhive und Zoomr. Die Autoren weisen darauf hin, dass dies keine vollständige Liste ist.
Ich denke, die Praktizierenden verdienen den Löwenanteil der Schuld für diesen traurigen Zustand. Andererseits müssen Krypto-Theoretiker vielleicht auch ihre Position überdenken. Ihre Linie war: "Blackboxes sind unmöglich zu bauen; wir werden es nicht einmal versuchen." Zu dem, was ich sage, da klar ist, dass Ihre Konstruktionen sowieso als Blackbox verwendet werden (werden), warum sollten Sie nicht zumindest versuchen, sie so nah wie möglich an Blackboxen zu bringen?
Die Zeitung Merkle-Damgard Revisited ist ein großartiges Beispiel dafür, wovon ich spreche. Sie untersuchen den Sicherheitsbegriff, dass "die Hash-Funktion beliebiger Länge H sich wie ein zufälliges Orakel verhalten muss, wenn der Baustein fester Länge als zufälliges Orakel oder ideale Blockchiffre betrachtet wird." Diese Art der theoretischen Forschung kann in der Praxis von großem Nutzen sein.
Kommen wir nun zu Ihrem Beispiel für die Schaltungsbewertung. Ich bitte Sie, Ihrer Argumentation nicht zuzustimmen. Es ist nicht so, als würdest du eine kompilierte Binärdatei in eine Schaltung verwandeln. Vielmehr würden Sie die Schaltkreisbewertung nur auf die zugrunde liegende Vergleichsfunktion anwenden, was normalerweise recht einfach ist. Fairplay ist eine Implementierung der Schaltkreisbewertung. Ein Kollege von mir, der damit gearbeitet hat, sagt mir, dass es überraschend schnell ist. Es stimmt zwar, dass Effizienz ein Problem bei der Schaltkreisbewertung ist (und ich kenne Fälle aus der Praxis, in denen sie aus diesem Grund abgelehnt wurde), aber es ist alles andere als ein Showstopper.
Der zweite Grund, warum ich mit Ihnen nicht einverstanden bin, ist, dass Sie über einige der typischen realen Szenarien nachdenken, in denen Sie möglicherweise eine vergessene Schaltungsbewertung durchführen möchten - zum Beispiel, wenn zwei Unternehmen überlegen, ob sie fusionieren sollen - die Berechnungskosten beteiligt sind trivial im Vergleich zur Gesamt menschlichen Anstrengung und Budget.
Warum verwendet dann niemand in der Praxis eine generische sichere Funktionsbewertung? Gute Frage. Das bringt mich zu meinem zweiten Unterschied zwischen Theorie und Praxis: Vertrauen existiert tatsächlich in der Praxis! Im paranoiden Modell muss nicht alles getan werden. Die Menge der Probleme, die die Leute tatsächlich mit Krypto lösen wollen, ist viel, viel kleiner als es sich Kryptografen vorstellen.
Ich kenne jemanden, der eine Firma gegründet hat, die versucht, sichere Multiparty-Rechendienste an Unternehmenskunden zu verkaufen. Ratet mal - niemand wollte es. Sie gehen diese Probleme an, indem sie einen Vertrag unterzeichnen, in dem festgelegt wird, was Sie mit den Daten tun und was nicht, und dass Sie die Daten zerstören, nachdem Sie sie für den vorgesehenen Zweck verwendet haben. Meistens funktioniert dies einwandfrei.
Mein letzter Unterschied zwischen Theorie und Praxis betrifft die PKI. Kryptopapiere enthalten häufig einen Satz mit der Aufschrift "Wir nehmen eine PKI an". Leider sind digitale Zertifikate für Endbenutzer (im Gegensatz zu Websites oder Mitarbeitern in einem Unternehmenskontext, in dem es eine natürliche Hierarchie gibt) nie zustande gekommen. In diesem klassischen Artikel wird die Heiterkeit beschrieben, die entsteht, wenn Sie normale Personen zur Verwendung von PGP auffordern. Mir wurde gesagt, dass sich die Software seitdem stark verbessert hat, aber die zugrunde liegenden Design- und Architekturprobleme sowie die menschlichen Einschränkungen unterscheiden sich heutzutage nicht wesentlich.
Ich denke nicht, dass Kryptografen aufgrund des Fehlens einer echten PKI etwas anderes tun sollten, außer sich der Tatsache bewusst zu sein, dass dies die Anwendbarkeit von kryptografischen Protokollen in der Realität einschränkt. Ich habe es reingeworfen, weil ich es zu reparieren versuche.
quelle
Randomwalkers Antwort ist sehr gut. Meine Lieblingslücke zwischen Theorie und Praxis ist das Zufalls-Orakel-Modell. Dies scheint in der Praxis eine sehr sichere Heuristik zu sein (vorausgesetzt, die Leute machen nichts Dummes und machen zumindest eine Längenerweiterung, siehe auch Randomwalkers Antwort), aber wir haben keine positiven theoretischen Ergebnisse darüber. Tatsächlich sind alle theoretischen Ergebnisse zu dieser Heuristik negativ. Ich halte dies für eine großartige Forschungsfrage und hoffe, dass eines Tages einige interessante positive Ergebnisse zu diesem Modell bewiesen werden.
In Bezug auf die Verschleierung wird, soweit ich weiß, selbst in der Praxis, obwohl sie weit verbreitet ist, die Verschleierung nicht als sicher wie die Verschlüsselung angesehen, und es wird nicht als ratsam angesehen, die Verschleierung zu verwenden, um ein langfristiges und sehr sensibles Geheimnis zu verbergen. (Im Gegensatz zur Verschlüsselung mit Zufallsorakeln, mit der die Leute diesbezüglich vollkommen vertraut sind.) In diesem Sinne ist die Lücke zwischen Theorie und Praxis nicht so groß. (Das heißt, die Verschleierung ist ein äußerst interessanter Bereich, den wir weder in der Theorie noch in der Praxis verstehen.)
quelle
Homomorphe Verschlüsselung und sichere Kommunikation zwischen mehreren Parteien sind zwei der großen Entdeckungen der jüngsten Zeit in der Kryptographie, die noch nicht ausreichend untersucht wurden, um sie praktisch umzusetzen: Forschungsanstrengungen wie PROCEED gehen in diese Richtung, um herauszufinden , welche Art von Programmiermodell wir verwenden könnten, um dies zu schreiben Art der Berechnung, sowie Optimierungen an den Kernkryptografiealgorithmen zu finden, die sie in angemessener Zeit ausgeführt werden lassen. Dies ist in der Kryptografie recht häufig der Fall: Wir beginnen mit (vergleichsweise) einfachen Algorithmen, deren Ausführung viel Zeit in Anspruch nimmt, und dann verwenden Kryptografen jahrelang die Mathematik, um die Algorithmen immer weiter zu optimieren.
quelle
Beispiele, in denen die Theorie nahe legt, dass etwas möglich ist, aber in der Praxis nie angewendet wird:
Es ist ziemlich einfach, Beispiele für Dinge zu finden, die theoretisch gelöst sind, aber entweder (1) sind zu ineffizient, um sie in der Praxis anzuwenden, oder (2) es interessiert niemanden. Beispiele: (1) (allgemeine) wissensfreie Beweise, (2) unbestreitbare Signaturen. Wenn Sie sich eine Kryptokonferenz ansehen, fällt wahrscheinlich mindestens die Hälfte der Beiträge in eine dieser Kategorien.
Beispiele, in denen die Theorie nahe legt, dass etwas sicher ist, das in der Praxis nicht sicher ist:
Diese Frage ist etwas vage, daher bin ich mir nicht sicher, ob sie beantwortet wird. Es gibt jedoch zahlreiche Beispiele für nachweislich sichere Schemata, die in der Praxis nicht eingehalten werden, da die Sicherheitsdefinition nicht mit dem Bereitstellungsszenario übereinstimmt. Allein in den letzten Jahren kam es unter anderem zu Angriffen auf (nachweisbare Varianten von) SSH und IPSec.
Beispiele für etwas, das in der Praxis weit verbreitet ist, haben wenig Theorie:
Ich nehme an, Sie meinen in der Kryptowelt, nicht in der allgemeinen Sicherheitswelt. Ein gutes Beispiel sind DSS-Signaturen, für die kein Sicherheitsnachweis vorliegt.
quelle
Es gibt viele kommerzielle Unternehmen, die Lösungen für die binäre Verschleierung anbieten, und es gibt auch mehrere Open-Source-Lösungen. Genaue Methoden zur Verschleierung werden selbstverständlich geheim gehalten; Das in der Industrie vorherrschende Paradigma der Verschleierung ist heuristisch. Die Kenntnis der Algorithmen, mit denen eine Binärdatei in diesem Kontext verschleiert wird, garantiert im Allgemeinen einen gewissen Vorteil bei der Verschleierung. Die Verschleierung in der Industrie wird als "Sicherheit durch Verschleierung" bezeichnet.
Es gibt theoretische Ansätze für das Problem der Verschleierung, die die Bedürfnisse der Industrie formalisieren, sich jedoch auf einen strengeren Begriff der Sicherheit stützen, der auf rechnerischer Unlösbarkeit beruht (stellen Sie sich vor, Sie ersetzen Ganzzahl- und Zeichenkettenäquivalenztests durch Einweg-Funktionsäquivalenztests). Insbesondere wurde die Untersuchung der zusammensetzbaren Punktverschleierung vorangetrieben, um zu versuchen, das für die Industrie interessante Verschleierungsproblem zu lösen. Unglücklicherweise wurde das am weitesten verbreitete theoretische Modell für die Verschleierung, das auf einem Modell basiert, das von manipulationssicherer Hardware inspiriert ist, im Jahr 2001 von Barak et al. In der Veröffentlichung " Über die (Un-) Möglichkeit der Verschleierung von Programmen " als unmöglich eingestuft . (Mehrere andere Modelle haben seitdem ebenfalls Unmöglichkeitsergebnisse erhalten).
Derzeit ist die Theorie der Programmverschleierung in Bewegung und erfordert ein neues (wahrscheinlich weniger restriktives) Modell. Tatsächlich ist das Hauptproblem der Theorie das Fehlen eines vereinbarten Modells (und damit formeller Freiwilliger). Das jüngste Aufkommen von Fully Homomorphic Encryption könnte eine solche Grundlage bieten (dies ist eine reine Spekulation des Autors).
Zur Verdeutlichung entspricht die Verschleierung Ihrem dritten Beispiel: "Beispiele für etwas, das in der Praxis weit verbreitet ist, haben wenig Theorie." Die Verschleierung wird heutzutage in großem Umfang sowohl von der Industrie als auch von jenen mit ruchloseren Zwecken verwendet. Die Verschleierung in der Industrie basiert derzeit trotz aller Versuche nicht auf einer strengen Theorie.
quelle
Es gibt eine signifikante Lücke, selbst wenn es um Grundelemente wie Pseudozufallsgeneratoren geht. Betrachten Sie zum Beispiel Pseudozufallsfunktionen. In der Praxis werden Dinge wie AES verwendet , die sich von theoretischen Kandidaten (Goldreich, Goldwasser, Micali, Naor, Reingold usw.) in mehreren Dimensionen unterscheiden: Erstens sind die Parameter völlig unterschiedlich, z. B. kann AES eine Schlüssellänge haben, die der Eingabelänge entspricht , was in theoretischen Konstruktionen unbekannt ist. Vielleicht noch wichtiger ist, dass AES (und viele andere Blockchiffren) dem sogenannten Substitutions-Permutations-Netzwerk-Paradigma folgen, das sich von der Art der theoretischen Konstruktionen (z. B. den oben genannten) stark unterscheidet.
Ich denke, das Obige ist ein solches Beispiel, siehe zum Beispiel dieses Papier mit Eric Miles (von dem im Wesentlichen diese Antwort genommen wird).
quelle