it-swarm.com.de

Ist nicht alle Sicherheit "durch Dunkelheit"?

Ich weiß, dass man sich aus Sicherheitsgründen nicht verlassen auf "Dunkelheit" verlassen sollte. Zum Beispiel ist die Auswahl eines nicht standardmäßigen Ports keine wirkliche Sicherheit, schadet aber normalerweise auch nicht (und kann dazu beitragen, einige der trivialsten Angriffe abzuschwächen).

Hashing und Verschlüsselung basieren auf starker Randomisierung und geheimen Schlüsseln. RSA stützt sich beispielsweise auf die Geheimhaltung von d und im weiteren Sinne auf p, q und ϕ(N). Da diese geheim gehalten werden müssen, ist nicht jede Verschlüsselung (und Hashing, wenn Sie den Randomisierungsvektor kennen) Sicherheit durch Dunkelheit? Wenn nicht, was ist der Unterschied zwischen der Verschleierung der geheimen Sauce und der geheimen Geheimhaltung? Der Grund, warum wir (richtige) Verschlüsselung als sicher bezeichnen, liegt darin, dass die Mathematik unwiderlegbar ist: Es ist rechnerisch schwierig, beispielsweise den Faktor N zu ermitteln, um p und q (as) herauszufinden soweit wir wissen). Das stimmt aber nur, weil p und q nicht bekannt sind. Sie sind im Grunde verdeckt.

Ich habe Die gültige Rolle der Dunkelheit und Ab wann zählt etwas als 'Sicherheit durch Dunkelheit'? gelesen, und meine Frage ist anders, weil ich nicht danach frage wie Dunkelheit gültig ist oder wann im Spektrum ein Schema dunkel wird, sondern ich frage, ob das Verstecken all unserer geheimen Dinge nicht selbst Dunkelheit ist, obwohl wir unsere Sicherheit als definieren durch solche Mechanismen erreicht. Um zu verdeutlichen, was ich meine, scheinen die Antworten der letzteren Frage (übrigens ausgezeichnet) bei "... sie müssen das Passwort immer noch knacken" zu enden - was bedeutet, dass das Passwort vom Angreifer immer noch verdeckt wird.

44
Matt

Siehe diese Antwort .

Der Hauptpunkt ist, dass wir scharf zwischen Dunkelheit und Geheimhaltung unterscheiden. ;; Wenn wir den Unterschied auf eine einzelne Eigenschaft eingrenzen müssen, muss dies Messbarkeit sein. Ist geheim das, was Außenstehenden nicht bekannt ist, und wir wissen wie viel es ist diesen Außenstehenden unbekannt. Beispielsweise ist ein symmetrischer 128-Bit-Schlüssel eine Folge von 128 Bit, so dass alle 2128 Mögliche Sequenzen würden mit gleicher Wahrscheinlichkeit verwendet werden, daher muss der Angreifer, der versucht, einen solchen Schlüssel zu erraten, im Durchschnitt mindestens 2 ausprobieren127 von ihnen, bevor sie den richtigen treffen. Das ist quantitativ. Wir können rechnen, Zahlen hinzufügen und Angriffskosten berechnen.

Gleiches gilt für einen privaten RSA-Schlüssel. Die Mathematik ist komplexer, da die effektivsten bekannten Methoden auf Integer Factorization beruhen und die beteiligten Algorithmen nicht so einfach zu quantifizieren sind wie Brute Force auf einen symmetrischen Schlüssel (es gibt viele Details zu RAM Nutzung und Parallelität oder deren Fehlen). Aber das ist immer noch Geheimhaltung.

Im Gegensatz dazu ist ein obskurer Algorithmus nur "geheim", solange der Angreifer die Algorithmusdetails nicht herausarbeitet, und das hängt von vielen Faktoren ab: Zugänglichkeit zu Hardware, die den Algorithmus implementiert, Fähigkeiten beim Reverse Engineering und Schlauheit. Wir haben keine nützliche Methode, um zu messen, wie klug jemand sein kann. Ein geheimer Algorithmus kann also nicht "geheim" sein. Wir haben einen anderen Begriff dafür, und das ist "dunkel".

Wir wollen Sicherheit durch Geheimhaltung tun, weil Sicherheit Risikomanagement ist: Wir akzeptieren den Aufwand für die Verwendung eines Sicherheitssystems, weil wir messen können, wie viel es uns kostet Verwenden Sie es und wie stark es das Risiko erfolgreicher Angriffe verringert, und wir können dann die Kosten ausgleichen, um eine fundierte Entscheidung zu treffen. Dies funktioniert möglicherweise nur, weil wir das Risiko erfolgreicher Angriffe beziffern können, und dies kann nur unter Geheimhaltung und nicht mit Dunkelheit geschehen.

62
Tom Leek

Ich denke, dass der Begriff "Sicherheit durch Dunkelheit" ziemlich oft missbraucht wird.

Das am häufigsten genannte Zitat, wenn es um Sicherheit durch Dunkelheit geht, ist Kerckhoffs Prinzip .

Es darf nicht geheim sein, und es muss in der Lage sein, ohne Unannehmlichkeiten in die Hände des Feindes zu fallen.

Sicherheit durch Dunkelheit bezieht sich darauf, dass das Design und die Implementierung von beibehalten werden Ein Sicherheitssystem, das sicher ist, indem es die Details vor einem Angreifer verbirgt. Dies ist nicht sehr zuverlässig, da Systeme und Protokolle bei ausreichender Zeit rückentwickelt und zerlegt werden können. Ein System, das darauf angewiesen ist, seine Implementierung zu verbergen, kann nicht von Experten abhängig sein, die es auf Schwachstellen untersuchen. Dies führt wahrscheinlich zu mehr Sicherheitslücken als ein System, das untersucht wurde und dessen Fehler bekannt gemacht und behoben wurden.

Nehmen Sie zum Beispiel RSA. Jeder auf der Welt weiß, wie es funktioniert. Nun, jeder, der die Mathematik gut versteht, ist sowieso involviert. Es ist gut studiert und stützt sich auf schwierige mathematische Probleme. Angesichts dessen, was wir über die Mathematik wissen, ist dies jedoch sicher, vorausgesetzt, die Werte von p und q werden geheim gehalten. Dies ist im Wesentlichen die Konzentration der Arbeit, das System in ein Geheimnis zu zerlegen (und zu schützen), das geschützt werden kann.

Vergleichen Sie dies mit einem Verschlüsselungsalgorithmus, der das Kerckhoffs-Prinzip nicht erfüllt. Anstatt ein öffentlich bekanntes Schema zu verwenden, das einen geheimen Schlüssel verwendet, ist dieser Verschlüsselungsalgorithmus geheim. Jeder, der den Algorithmus kennt, kann alle mit dem Algorithmus verschlüsselten Daten entschlüsseln. Dies ist sehr schwer zu sichern, da es nahezu unmöglich ist, den Algorithmus aus den Händen eines Feindes zu halten. Ein gutes Beispiel hierfür finden Sie in der Enigma-Maschine .

15
user10211

Der entscheidende Unterschied besteht darin, was geheim gehalten wird.

Nehmen Sie als Beispiel RSA. Das Kernprinzip von RSA ist die einfache Mathematik. Jeder mit ein wenig mathematischen Kenntnissen kann herausfinden, wie RSA funktionell funktioniert (die Mathematik ist fast ein halbes Jahrtausend alt). Es erfordert mehr Fantasie und Erfahrung, um herauszufinden, wie Sie dies für die Sicherheit nutzen können, aber es wurde mindestens zweimal unabhängig voneinander durchgeführt (von Rivest, Shamir und Adleman und einige Jahre zuvor von Clifford Cocks ). . Wenn Sie so etwas wie RSA entwerfen und geheim halten, besteht eine gute Chance, dass jemand anderes klug genug ist, es herauszufinden.

Andererseits wird zufällig ein privater Schlüssel generiert. Bei korrekter Ausführung stellt die zufällige Generierung sicher, dass es unmöglich ist, das Geheimnis mit menschlich verfügbarer Rechenleistung zu rekonstruieren. Kein Maß an Klugheit erlaubt es irgendjemandem, eine geheime Folge von zufälligen Bits zu rekonstruieren, da diese Folge keine Struktur hat, die man sich vorstellen kann.

Kryptografische Algorithmen werden aus Klugheit mit weitgehend gemeinsamen Zielen erfunden (einige Daten schützen, den Algorithmus kostengünstig implementieren,…). Es besteht eine gute Chance, dass kluge Leute auf denselben Algorithmus konvergieren. Auf der anderen Seite gibt es viele zufällige Zeichenfolgen mit geheimen Bits, und per Definition werden die Leute nicht mit derselben zufälligen Zeichenfolge kommen¹. Wenn Sie also Ihren eigenen Algorithmus entwerfen, besteht eine gute Chance, dass Ihr Nachbar denselben entwirft. Und wenn Sie Ihren Algorithmus mit Ihrem Kumpel teilen und dann privat mit ihm kommunizieren möchten, benötigen Sie einen neuen Algorithmus. Wenn Sie jedoch einen geheimen Schlüssel generieren, unterscheidet er sich von dem Ihres Nachbarn und Ihres Freundes. Es ist definitiv ein potenzieller Wert, einen zufälligen Schlüssel geheim zu halten, was bei der Geheimhaltung eines Algorithmus nicht der Fall ist.

Ein sekundärer Punkt zum Schlüsselgeheimnis ist, dass es gemessen werden kann. Wenn Sie mit einem guten Zufallsgenerator eine zufällige n-Bit-Zeichenfolge generieren und geheim halten, besteht eine Wahrscheinlichkeit von 1/2 ^ n, dass jemand anderes sie in einem Versuch findet. Wenn Sie einen Algorithmus entwerfen, kann das Risiko, dass jemand anderes es herausfindet, nicht gemessen werden.

Private RSA-Schlüssel sind keine einfache Zufallszeichenfolge - sie haben eine gewisse Struktur und bestehen aus zwei Primzahlen. Die Menge an Entropie - die Anzahl möglicher RSA-Schlüssel einer bestimmten Größe - ist jedoch groß genug, um einen praktisch nicht erratbar zu machen. (Da es praktisch unmöglich ist, RSA-Schlüssel aus einem öffentlichen Schlüssel und einer Reihe von Klartexten und Chiffretexten zu rekonstruieren, können wir dies mathematisch nicht beweisen, aber wir glauben, dass dies der Fall ist, weil viele clevere Leute es versucht haben und versagt haben. Aber das ist es eine andere Geschichte.)

Dies verallgemeinert sich natürlich auf jeden kryptografischen Algorithmus. Halten Sie zufällige Zeichenfolgen geheim. Veröffentlichen Sie clevere Designs.

Das soll nicht heißen, dass alles veröffentlicht werden sollte, außer dem kleinen Teil, der eine zufällige Ansammlung von Bits ist. Kerckhoffs Prinzip sagt das nicht - es heißt, dass die Sicherheit des Designs nicht von der Geheimhaltung des Designs abhängen sollte. Während kryptografische Algorithmen am besten veröffentlicht werden (und Sie sollten etwa ein Jahrzehnt warten, bevor Sie sie verwenden, um festzustellen, ob genügend Personen sie nicht zerstört haben), gibt es andere Sicherheitsmaßnahmen, die am besten geheim gehalten werden, insbesondere Sicherheitsmaßnahmen, für die eine aktive Prüfung erforderlich ist finde es heraus. Beispielsweise können einige Firewall-Regeln in diese Kategorie fallen. Eine Firewall, die keinen Schutz gegen einen Angreifer bietet, der die Regeln kennt, wäre jedoch nutzlos, da sie irgendwann jemand herausfinden wird.

¹ Obwohl dies mathematisch gesehen nicht wahr ist, können Sie buchstäblich darauf wetten.

Bei Sicherheit geht es darum, Geheimnisse zu bewahren, aber gute Sicherheit besteht darin, zu wissen, welche Geheimnisse Sie bewahren können und welche nicht.

Insbesondere basieren die besten Sicherheitsprotokolle auf dem Prinzip, das Geheimnis aus dem Entwurf herauszurechnen, sodass Ihr Geheimnis geheim gehalten werden kann, ohne dass auch das Design geheim gehalten werden muss. Dies ist besonders wichtig, da es bekanntermaßen unmöglich ist, Systemdesigns geheim zu halten. Dies ist der Kern von Kerckhoffs Prinzip , das auf das Design alter militärischer Verschlüsselungsmaschinen zurückgeht.

Mit anderen Worten, wenn Sie Algorithmus ist Ihr Geheimnis, dann hat jeder gesehen, der eine Implementierung Ihres Algorithmus sieht - jeder, der Ihre Hardware hat, jeder, der Ihre Software hat, jeder, der Ihren Dienst nutzt Dein Geheimnis. Der Algorithmus ist ein schrecklicher Ort, an dem Sie Ihre Geheimnisse preisgeben können, da Algorithmen so einfach zu untersuchen sind. Außerdem können in Designs eingebettete Geheimnisse nicht geändert werden, ohne Ihre Implementierung zu ändern. Du steckst für immer mit demselben Geheimnis fest.

Wenn Ihr Computer jedoch nicht geheim gehalten werden muss und Sie Ihr System so konzipiert haben, dass das Geheimnis unabhängig vom Computer ist - ein geheimer Schlüssel oder ein Kennwort -, bleibt Ihr System auch nach der Überprüfung des Geräts sicher von Ihren Feinden, Hackern, Kunden usw. Auf diese Weise können Sie Ihre Aufmerksamkeit darauf richten, nur das Passwort zu schützen, und gleichzeitig sicher sein, dass Ihr System ohne dieses Passwort nicht beschädigt werden kann.

7
tylerl

Sicherheit durch Dunkelheit bezieht sich im Allgemeinen auf Kerchoffs Prinzip , das besagt, dass das System sicher sein muss, auch wenn alles außer dem Schlüssel allgemein bekannt ist. Dies gilt nicht nur für die Kryptographie oder die Erzeugung von Chiffretexten. Es bedeutet auch, dass Sie nicht darauf zählen sollten, dass die Generierung von URLs, Kennwörtern, Hashes, Speicheradressen und sogar der Systemarchitektur geheim ist. Der Grund dafür ist, dass etwas im System geheim sein muss, und die Isolierung des geheimen Teils auf nur eine große Anzahl erleichtert die Verwendung erheblich.

Der Grund für den Schutz des Schlüssels und nicht des Algorithmus ist die größere Wahrscheinlichkeit, dass der Algorithmus durchgesickert ist, eine größere Anzahl möglicher Schlüssel als mögliche Algorithmen und die höheren Kosten eines Lecks. Der Algorithmus ist sehr leicht zu lecken. Angeblich klassifizierte Algorithmen und Hardware-Geheimnisse werden jeden Tag durchgesickert, zum Beispiel durch:

  • Ein Hacker, der Ihren Quellcode stiehlt
  • Bereitstellung Ihres Algorithmus für Pentesting oder Forscher zur Überprüfung.
  • Reverse Engineering Ihres Algorithmus durch jeden, der die Software/Hardware erhält
  • Reverse Engineering Ihres Algorithmus durch jeden, der den Algorithmus ebenfalls verwendet
  • Verärgerte oder böswillige ehemalige Mitarbeiter verlieren den Algorithmus
  • Brute-Force-Raten, da es normalerweise viel einfacher ist, einen unsicheren Algorithmus zu erraten, als einen 256-Bit-Schlüssel zu erraten.

Die Offenlegung Ihres Algorithmus gegenüber Forschern präsentiert einen Catch-22. Sie können nicht behaupten, dass eine geheime Methode sicher ist, ohne sie preiszugeben . Zu diesem Zeitpunkt ist sie nicht mehr geheim oder sicher. Deshalb trennen wir den geheimen Teil unserer Algorithmen. Sie können zeigen, dass die Verwendung Ihrer Methode keinen geheimen Schlüssel preisgibt.

Ein Leck oder ein erneuter Schlüssel ist auch sehr teuer, wenn der Algorithmus Teil des Geheimnisses ist. Um Angreifern immer einen Schritt voraus zu sein, müssen Sie jede Verwendung des Algorithmus neu gestalten und mit etwas ganz Neuem aktualisieren. Möglicherweise müssen Sie das "Geheimnis" sogar alle paar Monate ändern, wenn Sie ein sehr sicheres System betreiben. Es ist viel einfacher, den Schlüssel in einem sicheren Algorithmus zu ersetzen, als den gesamten Algorithmus zu ersetzen, insbesondere wenn es um Hardware, Abwärtskompatibilität oder das Übertragen von Updates an Clients geht .

Die Idee dabei ist, dass jedes sichere System ein Geheimnis hat. Wann immer Sie etwas generieren, von dem Sie nicht möchten, dass ein Hacker es rückgängig machen oder erraten kann, ohne ein Geheimnis zu kennen, ist es eine gute Technik, Folgendes zu tun:

  1. Machen Sie das geheime Wissen leicht zu ändern oder zu ersetzen.
  2. Stellen Sie sicher, dass das Geheimnis selbst schwer aus Ein- und Ausgängen abzuleiten ist
  3. Stellen Sie sicher, dass das Geheimnis so komplex ist, dass es nicht erraten werden kann

Wenn ich eine Box baue, die eine Zahl aufnimmt und eine andere ausspuckt (oder einen Startwert aufnimmt und "zufällige" Werte usw. ausspuckt), dann baut jemand eine identische Box, muss ich jetzt meine Box ändern. Wenn ich auf meiner Box nur eine 256-Bit-Nummer ändern muss, spart mir das viel Zeit und Mühe. Wenn ich diese Boxen verkaufen möchte, muss jede einzelne anders sein. Das Ändern des Algorithmus für jede Box, die Sie verkaufen, anstatt einen zufälligen Schlüssel für jede Box zu ändern, wäre ein lächerlich schlechtes Design.

Schließlich ist es wichtig zu verstehen, dass Sicherheit durch Dunkelheit und "Roll your own Crypto" häufig zusammen gefunden werden. Rollen Sie keine eigene Krypto. Durch heimliches Ändern Ihrer Krypto wird der Gewinn an Geheimhaltung durch einen Sicherheitsverlust beeinträchtigt. Indem Sie Ihre eigene Krypto rollen, machen Sie Ihr System möglicherweise Billionen oder sogar 2 ^ (große Anzahl) Mal billiger zu knacken, und ich garantiere, dass ein Angreifer keine Billionen Vermutungen anstellen wird, um herauszufinden, wie Sie Ihr eigenes System gewürfelt haben.

3
Cody P

Sicherheit durch Dunkelheit bedeutet, dass die Sicherheit davon abhängt, ob der Algorithmus geheim gehalten wird.

Wenn ich mich beispielsweise für die Verwendung von rot13 für meine Verschlüsselung entscheide, hängt die Sicherheit des Systems davon ab, dass ich sicher bin, dass niemand den von mir verwendeten Algorithmus kennt. Schließlich muss ich bestimmen, wie knackbar der Algorithmus ist.

Ein Hauptproblem ist, dass ich dieses System nicht vertreiben kann, da jeder den Algorithmus einfach zurückentwickeln und damit meine Verschlüsselung aufheben kann. Außerdem, wenn der Code kompromittiert ist, ist auch alles andere.

Ein Protokoll, das auf Sicherheit durch Dunkelheit beruht, kann normalerweise auch durch Analyse der Ausgabe geknackt werden. (Natürlich kann man Algorithmen entwickeln, die dafür nicht anfällig sind. Am einfachsten ist es, den RSA-Algorithmus und die Hardcode-Schlüsselpaare zu verwenden und trivialerweise einen "Security by Obscurity" -Algorithmus zu erstellen.) Man sollte diesem Algorithmus nicht vertrauen wird nicht irgendwann erraten werden.

Wenn ich dagegen RSA für die Verschlüsselung verwende, kann jede Instanz ein eigenes Schlüsselpaar generieren, sodass das Programm ohne Angst verteilt werden kann. Ich kann die Schlüssel vor einer Gefährdung durch spezielle Hardwaregeräte schützen, die den Schlüssel enthalten und Nachrichten verschlüsseln können, aber nicht in der Lage sind, den Schlüssel auszuspucken. Da es sich um ein öffentlich bekanntes Protokoll handelt, haben viele, viele Menschen das Protokoll auf Sicherheitslücken untersucht. Ich kann darauf vertrauen, dass die verschlüsselten Nachrichten nicht geknackt werden können. Wir wissen, dass die Schlüssel nicht erraten werden können, weil die Wahrscheinlichkeit auf unserer Seite liegt.

Dies ist keine Sicherheit durch Dunkelheit. Dies ist Sicherheit durch Geheimhaltung. Der Algorithmus ist öffentlich, es gibt nur ein "Geheimnis" (den Schlüssel), das geheim gehalten wird.

2
Manishearth

Wie andere gesagt haben, bezieht sich Dunkelheit wirklich auf die Umsetzung.

Lassen Sie mich ein Beispiel geben. Angenommen, Sie und Ihr Partner haben ein Pfund Goldnuggets in Ihrem Haus, die Sie sichern möchten, sind sich aber nicht einig darüber, wie ...

Einer von Ihnen hat zufällig einen Geist, den Sie anordnen können, um jeden zu verbrennen, der sich innerhalb von 5 Fuß befindet, ohne ein Passwort anzugeben.

Einer von Ihnen möchte die Nuggets im Abflussrohr des Spülbeckens verstecken und sagt, dass der Abfluss immer noch funktioniert und niemand jemals daran denken würde, dort nachzuschauen. Diese Methode wurde bei allen früheren Partnern angewendet und ist noch nicht fehlgeschlagen.

Sowohl das Passwort als auch der Ort sind "geheim", aber der Ort hängt davon ab, dass sie nicht dorthin schauen, während das Passwort, selbst wenn Sie es überall wiederverwenden, davon abhängt, dass sie es nicht wissen.

1
jmoreno

Nehmen Sie eine gleitende Skala von 1 bis 10, wobei 10 "IEEE-konforme Sicherheit" und 1 "messerfestes Gewölbe aus Flanellschichten" ist. "Sicherheit durch Dunkelheit" ist ein Ausdruck, der verwendet wird, um einen Sicherheitsplan zu beschreiben, bei dem der Wert zwischen 1 und 8 liegt, abhängig davon, wen Sie fragen und an welchem ​​Wochentag, sowie von der aktuell geschätzten Höhe des Ausstoßes koronaler Masse aus Betelgeuse.

Mit anderen Worten, es ist das Ergebnis einer völlig subjektiven Messung, wie nahe eine Sicherheitsrichtlinie am Standard liegt, da niemand den Unterschied zwischen den Risiken während eines Zero-Day-Exploits gegenüber einem Standard und einem nicht standardmäßigen Sicherheitsplan erkennen kann .

1
orokusaki

Ich denke, Sicherheit durch Dunkelheit kann folgendermaßen gesehen werden:

Sie haben eine Tür, die sich entriegeln lässt, indem Sie den Türknauf nicht gegen den Uhrzeigersinn, sondern im Uhrzeigersinn drehen. Sie stellen ein Schlüsselloch am Türknauf bereit, um die Tatsache zu verdecken, dass zum Entriegeln kein Schlüssel erforderlich ist.

In Informationstechnologie übersetzt, ist dies meiner Meinung nach vergleichbar mit der Implementierung einer Sicherheitsfunktion auf ungewöhnliche Weise, um jeden Angreifer aus der Bahn zu werfen. Beispiel: Maskieren eines Webservers als IIS, wenn es sich tatsächlich um Nginx handelt.

Sicherheit durch Dunkelheit ist nicht unbedingt schlecht Sicherheit. Der Schlüssel liegt in seiner Umsetzung. Das heißt, ob Sie es aufgrund dieser von Ihnen implementierten unkonventionellen Funktion konsistent ausführen können, ohne sich selbst auszulösen.

1

Viel Text für eine gute Frage.

Gestatten Sie mir, die Antwort darauf mit einer Analogie zu vereinfachen. Dunkelheit kann auf viele Arten definiert werden, alle in Übereinstimmung mit einer anderen. "Etwas, das schwer zu verstehen ist, ist dunkel".

Beobachten Sie eine Tür, ich werde vorschlagen, dass es 3 Möglichkeiten gibt, eine Tür zu sichern. 1. Verstecken Sie den Griff (Dunkelheit, keine Sicherheit) 2. Verschließen Sie ihn mit einem Schlüssel (Sicherheit) 3. Verstecken Sie den Griff und verriegeln Sie ihn mit einem Schlüssel (Sicherheit und Dunkelheit)

(Sie könnten auch das Schlüsselloch oder Schloss verstecken, was meine Analogie betrifft)

Was wichtig ist, wird sogar gedacht, man weiß, dass die Tür einen Schlüssel braucht, wir wissen nicht, welcher, dass ich Geheimhaltung oder Sicherheit. Jeder weiß, dass ein Türgriff zum Öffnen verwendet wird. Das Verstecken des Griffs ist nur Dunkelheit.

Zusammen sind diese Ansätze tatsächlich sicherer als sie selbst.

0
Pedro Rodrigues

Obscurity befasst sich eher mit der Sicherheit der Dinge als mit den Informationen, die für den Zugriff benötigt werden. Im Falle eines Portswechsels ist der zu verwendende Port das eigentliche Mittel zur Sicherung und kann auch leicht durch Beobachtung des Verhaltens ermittelt werden. Wenn Sie einen Closed-Source-Algorithmus verwenden und sich auf die Closed-Source-Natur verlassen, um das Herausfinden zu erschweren, ist die Sicherheit für alle Benutzer des Systems gleich. Wenn Sie es einmal brechen, brechen Sie es für alle, weil Sie einen Angriff auf das gesamte System bis zur Dunkelheit überlassen.

Für so etwas wie ein Passwort ist es ein Schlüssel. Ja, dieser Schlüssel ist ein "obskures" Geheimnis, aber wenn Sie ein bestimmtes Kennwort kennen, wird das System nicht beschädigt, sondern der Benutzer. Die Sicherheit des Systems funktioniert auch dann einwandfrei, wenn dies bekannt ist. Es gelingt immer noch, nur Benutzern zu erlauben, die über dieses Wissen verfügen, und jeder Benutzer kann ein anderes Geheimnis verwenden oder sein Geheimnis ändern, um den Zugriff zu ermöglichen.

Der Unterschied besteht also darin, ob Sie sich mit der Geheimhaltung der Methode oder der Geheimhaltung des Schlüssels befassen. Wenn die Methode Geheimhaltung erfordert, um sicher zu sein, bricht sie vollständig ab, sobald die Methode kompromittiert wird. Wenn die Methode keine Geheimhaltung erfordert, sondern nur Informationen für eine bestimmte Verwendung, bietet sie Sicherheit, da der Umfang eines Kompromisses auf eine 1: 1-Beziehung zwischen Geheimnis und Zugriff beschränkt ist.

Wenn Sie das Geheimnis einer bestimmten zu schützenden Sache zuordnen können und der Schutz dieses Geheimnisses ausreicht, wenn Sie die zu schützende Sache ersetzen, ist das System effektiv genug.

0
AJ Henderson