Frage:
Ist die mehrschichtige Verschlüsselung sicherer als lange Passwörter?
luchonacho
2019-02-19 19:17:06 UTC
view on stackexchange narkive permalink

In den Kommentaren in dieser Frage wird über die zusätzliche Sicherheit der mehrschichtigen Verschlüsselung diskutiert. Es scheint einige Meinungsverschiedenheiten zu geben, und ich dachte, eine richtige Frage wäre hier hilfreich.

Um einen allgemeinen Hintergrund bereitzustellen, betrachten Sie die folgenden zwei Szenarien:

  1. Ich wende eine symmetrische Verschlüsselung auf eine bestimmte Datei wie folgt an:

      gpg --symmetric --cipher-algo AES256 my_file.txt  

    , zu dem ich das Passwort "mydogisamazing"

  2. hinzufüge

    Ich wende vier Verschlüsselungsebenen wie folgt auf eine bestimmte Datei an:

      gpg --symmetric --cipher-algo AES256 my_file.txtgpg --symmetric --cipher-algo AES256 my_file .txt.gpggpg --symmetrisch --cipher-algo AES256 my_file.txt.gpg.gpggpg --symmetrisch --cipher-algo AES256 my_file.txt.gpg.gpg.gpg  

    wobei Die jeweils angegebenen Passwörter lauten: "erstaunlich" "ist" "Hund" "mein" (wenn ich also alle Ebenen entschlüssele, habe ich "mein" "Hund" "ist" "erstaunlich" eingegeben)

  3. ol>

    Ist Option 2 sicherer als Option 1? Da ich fast nichts über Verschlüsselungssicherheit weiß, scheint es mir so, weil jeder, der einbrechen möchte, viermal einen Passwortalgorithmus ausführen müsste, während in Option 1 der Algorithmus nur einmal ausgeführt werden muss. Was wäre, wenn unterschiedliche chiper-algo anstelle derselben verwendet würden?

    Alles in allem scheint mir auch klar zu sein, dass die Antwort von der Art der Passwörter abhängt. Wenn ich beispielsweise 15 Verschlüsselungsebenen habe und das Kennwort jeder Ebene nur aus einem Buchstaben besteht, erscheint es "trivial", den Code zu brechen.

    UPDATE : Als Antwort auf einen Kommentar betone ich, dass im obigen Beispiel versucht wurde, einen offensichtlichen "äquivalenten" Fall darzustellen, dh "kürzere Passwörter + mehr Ebenen" im Vergleich zu "längeren Passwörtern + weniger Ebenen" ". Es scheint mir nur offensichtlich (vielleicht falsch), dass das Hinzufügen weiterer Schichten mit identischer Komplexität nur die Sicherheit der Verschlüsselung erhöht (im bloßen Sinne, dass das Hacken der Passwörter länger dauert). Daher meine Betonung auf die unterschiedliche Länge von Passwörtern.

Wenn Sie Hangman spielen würden, was wäre schwieriger?Das Wort einen Buchstaben nach dem anderen erraten oder jedes Mal das gesamte Wort erraten?
Hier gibt es zwei verschiedene Fragen: Bei einer geht es um die mehrfache Verschlüsselung und bei der anderen um das Generieren von Passwörtern.Viele der Antworten wurden ausschließlich auf die Art und Weise aufgenommen, wie Sie Ihr Passwort zusammengestellt haben.Wenn Sie in Ihren Beispielen lange zufällige Passwörter verwendet hätten, würden Sie wahrscheinlich völlig andere Antworten erhalten.Ich empfehle, Ihre Frage zu bearbeiten, um zu klären, welchen Punkt Sie verstehen möchten.
Ich habe den Eindruck, dass sich alle Antworten auf den speziellen Fall konzentrieren, in dem Szenario 2 ein schwaches Passwort für jede Ebene verwendet und der größere Punkt fehlt, ob jede Ebene zumindest im Prinzip sicherer gemacht werden könnte.Würde sich beispielsweise etwas ändern, wenn wir davon ausgehen, dass für jede hinzugefügte 'Ebene' ein starkes Zufalls- / Hochentropie-Passwort verwendet wird, da in diesem Fall nicht auf die 'Henker'-Analogie zurückgegriffen werden kann?Es wird angenommen, dass der Angreifer nicht weiß, wie viele Ebenen es gibt.
@MobyDisk Mein Basisszenario zielt darauf ab, genau das zu sein, ein Ausgangspunkt, über den andere betrachtet werden können.Ich dachte, es sei der beste Ausgangspunkt.Es scheint nur offensichtlich, dass die Verwendung von vier komplexen Schichten immer besser ist als die Verwendung nur einer komplexen Schicht.Die Frage wurde trotzdem aktualisiert.
Ich würde denken, dass die Tatsache, dass Sie eine Datei mit dem Namen ".... txt.gpg.gpg.gpg" haben, ein starker Hinweis darauf ist, dass die Datei viermal verschlüsselt wurde.Diese Informationen sind jetzt bekannt und Ihre 4 kurzen Passwörter sind viel schneller zu knacken (selbst mit brutaler Gewalt) als ein langes Passwort.
Siehe auch die [Zweierregel] der NSA (https://en.wikipedia.org/wiki/Multiple_encryption#The_Rule_of_Two) von Commercial Solutions for Classified Program (CSfC).Es ist offensichtlich kein GPG.In Ihrem Beispiel werden die Kriterien wahrscheinlich nicht erfüllt, da alle Verschlüsselungstransformationen auf der Anwendungsebene stattfinden.
Nehmen wir an, Sie wissen, wie man ein generisches / allgemeines Türschloss öffnet.Was ist nun schwieriger: das gemeinsame Schloss von 5 verschiedenen Türen öffnen oder das Schloss von 1 Tür öffnen, das viel schwieriger / komplizierter gestaltet wurde als Sie es gewohnt sind?
@RaduMurzea Türanalogien können Sie nur so weit bringen.Es ist nicht unbedingt gültig, zu dem Schluss zu kommen, eine Tür zu öffnen und diese dann auf die Computersicherheit zu übertragen.Wenn ich zum Beispiel schnell durch eine Tür kommen möchte und es mir egal ist, erwischt zu werden, kann ich einfach einen Vorschlaghammer verwenden.In der Computersicherheit gibt es kein Äquivalent.Selbst wenn wir über "Brute Force" sprechen, entspricht dies dem Ausprobieren aller möglichen Schlüssel, bis Sie einen finden, der funktioniert.
Sieben antworten:
Sjoerd
2019-02-19 19:32:38 UTC
view on stackexchange narkive permalink

Option 1 ist sicherer. In Option 2 können wir jedes Wort einzeln erraten. Wenn wir "erstaunlich" erraten, erhalten wir die Bestätigung, dass dieses Wort korrekt ist, und wir können mit dem zweiten Wort fortfahren. In Option 1 müssen wir alle vier Wörter gleichzeitig erraten.

Sie denken vielleicht, dass ein GPG eine gewisse Sicherheit bietet und vier GPGs die vierfache Sicherheit bieten, aber so funktioniert es nicht . GPG bietet nahezu vollständige Sicherheit, und eine mehrmalige Anwendung verbessert die Sicherheit nicht.

Es gibt Verwendungsmöglichkeiten für die mehrfache Anwendung der Verschlüsselung, z. B. beim Signieren und Verschlüsseln oder beim Verschlüsseln für mehrere Parteien. Das mehrmalige Verschlüsseln von Dingen macht sie jedoch im Allgemeinen nicht um ein Vielfaches sicherer.

Selbst wenn Sie davon ausgegangen sind, dass korrekte Zwischenentschlüsselungen nahezu nicht von zufällig zu unterscheiden sind, bis alle Passwörter korrekt sind (was es schwieriger macht, Teilpasswörter zu erraten), ist sie aufgrund von Meet-in-the-Middle-Angriffen immer noch schwächer.
"GPG bietet nahezu vollständige Sicherheit, und eine mehrmalige Anwendung verbessert die Sicherheit nicht."Klingt nicht intuitiv.Ich verstehe immer noch nicht wirklich warum.Vier Rätsel sind sicherlich schwieriger zu lösen als nur eines.
@luchonacho der Grund ist, dass Sie die Sicherheit höchstens verdoppeln, sie wird NICHT exponentiell erhöht.Jedes zusätzliche zufällige Zeichen im Passwort verdoppelt jedoch die Schwierigkeit, das Passwort zu knacken, um mehr als das Doppelte.
@luchonacho Es gibt eine Skala, die Sie einfach nicht verstehen - 4 gegen 1 klingt gut, aber die 4 sind weitaus kleiner als die 1. Unter der Annahme, dass nur Kleinbuchstaben geschrieben sind, gibt es 26 ^ 8 mögliche 8-Buchstaben-Passwörter.Wenn ich jedoch 4 2-Buchstaben-Passwörter erraten muss, ist 26 ^ 2 ^ 4 der Idealfall - äquivalent, wenn Zwischenschritte nicht vom Müll zu unterscheiden sind.Meet-in-the-Middle-Angriffe sorgen dafür, dass selbst dieser "beste Fall", bei dem die gleiche Anzahl von Passwörtern erraten werden muss, durch das Speichern von Zwischenwerten weniger Zeit in Anspruch nimmt.[Wikipedia] (https://en.wikipedia.org/wiki/Meet-in-the-middle_attack) hat eine bessere Erklärung.
@Natanael Goodluck mit den IVs der mittleren Schichten für Meet-in-the-Middle-Attacke.Weiner hat auch gezeigt, dass die doppelte Verschlüsselung sicherer ist als die einfache, natürlich nicht um das Zweifache.
Gibt es Verschlüsselungsschemata, bei denen Sie nicht bestätigen können, ob eine Vermutung richtig war?Ich stelle mir vor, dass es richtig ist, eine Vermutung zu bestätigen, wenn die Entschlüsselung von AES mit Polsterung zu tun hat.
Wenn ich die Verschlüsselung so schichten würde, würde ich dafür sorgen, dass nur die innerste Schicht einen MAC hat.Egal welches Passwort eingegeben wird, die äußeren Schichten entschlüsseln zu etwas.Ändert dies das Ergebnis?
@Vaelus ja, jedes Schema ohne Auffüllung oder Authentifizierung.Jede Stream-Chiffre wird zum Beispiel ohne Authentifizierung verwendet.Sie können nur statistisch raten, indem Sie bewerten, wie wahrscheinlich es ist, dass der Normaltext des Kandidaten zufällig erscheint.Selbst bei bekannten Datei-Headern besteht eine statistische Wahrscheinlichkeit von Fehlalarmen.Noch wahrscheinlicher ist es, je kürzer der Klartext relativ zum Schlüssel ist.
@Joshua verhindert, dass die Passwörter einzeln angegriffen werden, aber der Meet-in-the-Middle-Angriff bleibt bestehen
Esa Jokinen
2019-02-19 20:01:02 UTC
view on stackexchange narkive permalink

Dies erhöht die Sicherheit nicht, erleichtert jedoch das Erraten der Passphrase wortweise ( N⁴ vs. N + N + N + N , wobei N ist die Symbolanzahl der Wortliste. Selbst wenn Sie eine Datei oder eine Nachricht mit PGP an mehrere Empfänger verschlüsseln, wird die Nutzlast nur einmal mit symmetrischer Verschlüsselung verschlüsselt, und der Schlüssel dafür wird dann für jeden Empfänger separat verschlüsselt. Auf diese Weise hat jeder Empfänger den gleichen Zugriff auf die Nutzdaten, ohne die Nachrichtengröße zu multiplizieren.

Ihr Vorschlag, eine geschichtete Verschlüsselung zu verwenden, kann in einigen Szenarien nützlich sein, aber alle Passphrasen sollten in sich selbst stark sein. P. >

  • Sie müssen eine Datei mit einer symmetrischen Verschlüsselung an jemanden senden, haben jedoch keinen Kanal für den vertrauenswürdigen Schlüsselaustausch. Sie können die Passphrase für eine Ebene per E-Mail, für die zweite Ebene per SMS und für die dritte Ebene per E-Mail senden. Jedes davon könnte gestohlen werden, aber es ist viel schwieriger, sie alle zu stehlen.

  • Sie haben Informationen für eine Gruppe von Menschen, die Sie nicht treffen können, aber niemand sollte es wissen es vor den anderen. Sie senden ihnen die gesamte verschlüsselte Datei, die die Informationen enthält, jedoch jeweils ein anderes Kennwort. Jetzt müssen sie zusammen sein, um den Inhalt zu enthüllen. Dies ist eine faire Möglichkeit, die Vererbung als Bitcoin-Brieftasche zu belassen!

  • Beim Zwiebel-Routing , d. H. Im Tor-Netzwerk, wird die Nachricht in mehrere Verschlüsselungsebenen eingeschlossen. Jeder Zwischenrouter verfügt über einen Schlüssel zum Entschlüsseln einer Schicht - genau wie das Schälen einer Zwiebel. Ein Knoten, der das Paket weiterleitet, weiß nicht, wie viele Schichten zuvor vorhanden waren und wie viele noch übrig sind. Es weiß nicht einmal, wohin es weitergeleitet werden soll, bevor es seine eigene Ebene entschlüsselt. Anstelle von Kennwörtern verwendet das Tor-Netzwerk asymmetrische Schlüssel, wobei der Verzeichnisknoten die Infrastruktur für öffentliche Schlüssel bereitstellt.

Bemerkenswert: Das Split-Key-Gruppenszenario wird mit [Shamirs Secret Sharing] (https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing) vielseitiger durchgeführt.
Beide Szenarien können genauso gut mit einer einzigen Passphrase durchgeführt werden?Sie senden 3 Teile und sie müssen sie kombinieren?
Das stimmt auch.
@Falco Secret Sharing ist resistenter gegen Bruteforce mit teilweise bekanntem Passwort
Einige realistischere Anwendungsfälle: Zwiebel-Routing, Schlüsselverwaltung und andere Formen der Vertrauensunterteilung.
Danke, @Kevin.Das Zwiebel-Routing ist ein so gutes Beispiel, dass ich es meiner Antwort hinzugefügt habe.
@Natanael können Sie diesen Teil erklären?Die meisten Antworten deuten darauf hin, dass mehrere Verschlüsselungsebenen mit einem Teil eines Kennworts tatsächlich anfälliger für Brute-Force-Angriffe sind.Für eine einfache Verschlüsselung reduziert ein teilweise bekanntes Passwort einfach die Passwortlänge, sonst nichts.Die Ergebnisse sollten daher in Bezug auf Brute Force genau gleich sein.
Wenn Sie die Reihenfolge der Wörter nicht kennen und sie eine variable Länge haben, wird die Kennwortlänge reduziert, aber weniger als nur die gleiche Anzahl von Zeichen zu entfernen.
@Falco Secret Sharing-Schemata sind in diesem Fall einzigartig, da sie informationstheoretisch sichere Formeln verwenden. Wenn weniger Freigaben als der Schwellenwert erforderlich sind, wird überhaupt nichts preisgegeben.In der Zwischenzeit verringert jeder Teil eines Passworts, den Sie erwerben, die Schwierigkeit, den Rest zu erraten.
@Natanael Sie sind natürlich richtig für tatsächliche Secret-Sharing-Algorithmen.Obwohl eine einfache mehrschichtige Verschlüsselung, wie sie im OP beschrieben wird oder wie diese Antwort zeigt, kein geheimer Alogrithmus mit diesen Eigenschaften ist.
Muzer
2019-02-19 22:38:06 UTC
view on stackexchange narkive permalink

Stellen Sie sich einen Hollywood-Film vor, in dem sie ein Passwort oder einen Sicherheitscode mit allen sich drehenden Ziffern auf einer schicken Benutzeroberfläche knacken und Elite-Hacker haben, die jeweils eine Ziffer des Codes knacken, und die Guten zu arbeiten, um den Computer der Hacker oder etwas in die Luft zu jagen, bevor sie diese letzte Ziffer knacken. Im wirklichen Leben ist das natürlich nicht so - für ein einigermaßen sicheres System wissen Sie entweder, dass Sie das richtige Passwort haben, oder Sie wissen, dass Sie nicht das richtige Passwort haben - es gibt keine Möglichkeit zu sehen, ob a Das Passwort ist in keiner Weise "nah".

Sie haben vorgeschlagen, Ihr Sicherheitssystem so zu gestalten, wie es in Hollywood funktioniert. Ein Angreifer kann einen einfachen Wörterbuchangriff auf Ihre Verschlüsselung ausführen und weiß, dass er die erste Schicht sofort erfolgreich entschlüsselt hat. Sie könnten dies dann einfach viermal wiederholen, um die Datei wiederherzustellen. Im Vergleich dazu würde ein trivialer Wörterbuchangriff Ihr "mydogisamazing" -Passwort nicht entdecken, und es würde absolut keinen Hinweis darauf geben, wann das Wort "my" bei ihrem Angriff auftauchte, dass dies "nahe" am endgültigen Passwort lag. P. >

Das Sammeln von Infusionen aus einem WEP-geschützten drahtlosen Netzwerk ist eine reale Situation, die jedoch ähnlich wie in diesen Hollywood-Filmszenen funktioniert.Ebenso hat es nichts mit Passwortstärke zu tun, sieht aber auf dem Bildschirm cool aus.
@EsaJokinen stimmte zu, aber daher "für ein einigermaßen sicheres System" - verdrahtete äquivalente Privatsphäre mein Arsch!
Dies entspricht keiner Privatsphäre.
Wenn Sie einen trivialen Wörterbuchangriff ausführen, wird Ihr "mydogisamazing" -Passwort nicht entdeckt. Laut https://haveibeenpwned.com/ wurde "mydogisamazing" bereits dreimal in Passwortumbrüchen angezeigt ...
@Dubu Entschuldigung, ich wollte einen Angriff gegen ein englisches Standardwörterbuch wie / usr / share / dict / words ausführen.Ich hätte meine Absicht dort klarer machen sollen.In jedem Fall ist mydogisamazing ein falsches Passwort.Ich hatte nicht vor, das anders zu verstehen.
@Muzer was ist mit thedingoisamazingo?Ist das gut?
@Džuris es ist wahrscheinlich besser als der Hund, aber immer noch nicht großartig.Wirklich, wenn Sie Passwörter aus mehreren englischen Wörtern machen, sollten sie keinen solchen zusammenhängenden Satz bilden.Und im Idealfall sind die meisten Ihrer Passwörter Zeichenfolgen, die von einem Passwortmanager zufällig generiert werden.
@Muzer Aber für einen Angriff, der Phrasen erkennen kann, muss eine angemessene Konzeptualisierung der logischen Sätze vorliegen, was wahrscheinlich ein wenig maschinelles Lernen erfordert.Sind Tools zum Knacken von Passwörtern so ausgefeilt?
@Muzer Nur eine Erinnerung für den Fall, dass Sie meinen Kommentar oben verpasst haben.
@luchonacho Das Erstellen kurzer Basissätze ist eigentlich ziemlich einfach: Erstellen Sie separate Listen für Substantive, Verben usw.;und dann versuchen Sie Kombinationen wie Nomen-Verb-Nomen.Die Sätze sind nicht alle sinnvoll, aber wenn alle Phrasen anstelle von zufälligen Wörtern verwenden, erhalten Sie eine höhere Trefferquote als beim Ausprobieren jeder Wortkombination.Ich habe keine Ahnung, ob Cracking-Tools diesen Ansatz verwenden, aber sie könnten es auf jeden Fall.
@luchonacho Entschuldigung, die wirkliche Antwort ist, dass ich es nicht weiß, aber die praktische Antwort ist, dass jemand früher oder später auf den gleichen kurzen Satz wie Sie stoßen wird, es sei denn, es macht wirklich nicht viel Sinn, in diesem Fall früher oder spätererscheint in einer Verstoßdatei!
AnoE
2019-02-19 23:03:44 UTC
view on stackexchange narkive permalink

Eine andere Perspektive zu dem, was die anderen gesagt haben (das viermalige Erraten einzelner Wörter ist viel billiger als das Erraten einer Kombination von vier Wörtern gleichzeitig):

In der Kryptographie gibt es das Konzept, vollständig offen zu sein Algorithmen und völlig geschlossene Geheimnisse. Solange das Geheimnis (sic!) Geheimnis bleibt, spielt es keine Rolle, ob der Angreifer überhaupt etwas über den Algorithmus weiß. Dies ist das Gegenteil von "Sicherheit durch Dunkelheit", und es ist gut so. Dies bedeutet, dass Sie den Algorithmus der ganzen Welt unter die Lupe nehmen können (im wahrsten Sinne des Wortes in einem populären Schema wie AES), ohne Kompromisse einzugehen.

Der Algorithmus muss "nur" nicht knackbar sein. Sie müssen sich selbst davon überzeugen, dass es weder einen algorithmischen noch einen Brute-Force-Weg gibt, um ihn zu knacken. Wenn Sie zu diesem Schluss kommen können, sind Sie fertig und müssen sich nur noch um Ihr Geheimnis kümmern. Sie und ich können AES wahrscheinlich nicht in diesem Ausmaß analysieren, aber wir können entscheiden, dass ein offener / öffentlicher Algorithmus mit großer Exposition gegenüber vielen vermutlich "guten" Kryptoanalytikern es für uns sicher genug macht.

Also. Angenommen, Sie haben einen solchen Algorithmus. Nach Definition ist ein sicheres Passwort zu 100% absolut sicher (bis jemand schnell genug einen Riss im Algorithmus entdeckt oder einen Computer erstellt - beides geschieht natürlich regelmäßig, z. B. MD5).

Alles, was Sie anschließend mit dem Algorithmus tun, würde eine sehr gründliche Prüfung durch eine große Gemeinschaft von Kryptologen erfordern. Ihr vorgeschlagener Algorithmus "AES 4-mal wiederholen" ist eine völlig neue Sache. Werfen Sie es in die Community (wie Sie es hier getan haben), und die Leute finden sofort Schwächen. Das ist der Grund, warum Sie (als Laie oder als Einzelprogrammierer in einem Unternehmen) nicht mit dem Algorithmus herumalbern und sich nie um Sicherheit durch Dunkelheit kümmern.

In diesem speziellen Fall: Wenn die viermalige Anwendung von AES die Sicherheit erhöhen würde, würde AES dies bereits tun . Dies wäre eine solche triviale Änderung im Vergleich zur Komplexität des Feldes

"Wenn eine viermalige Anwendung von AES die Sicherheit erhöhen würde, würde AES * dies bereits tun *."Nicht wirklich.Die Sicherheit praktisch jeder Chiffre würde sich etwas erhöhen, wenn Sie die Anzahl der Runden mit 4 multiplizieren würden, aber es lohnt sich im Allgemeinen nicht, die Leistung zu beeinträchtigen.
@JosephSible: Das Argument lautet: Wir können AES * 1 nicht brutal erzwingen.Ja, wenn wir genug Rechenleistung haben, um AES * 1 brutal zu erzwingen, würde es wieder helfen, AES * 4 (oder AES ^ 4 ...) auszuführen (wenn wir uns bis dahin nichts Besseres vorstellen können).Der realistische, praktische Sicherheitsgewinn von AES * 4 ist also gleich Null.
Es geht nicht nur um Brute-Force.Es gibt viele Angriffe, die eine Version von AES mit reduzierten Runden beschädigen können, die jedoch ab einer bestimmten Anzahl von Runden nicht funktionieren.Es ist durchaus machbar, dass in Zukunft ein Angriff auf das heutige vollständige AES entdeckt wird, aber dass die Arbeit an beispielsweise 20-Runden-AES eingestellt wird.
@JosephSible Aber ist AES mit mehreren Runden dasselbe wie nur mehrmals mit AES?Ich weiß es in diesem Fall nicht, aber ich verstehe, dass solche Algorithmen oft nur einen Teil des Algorithmus wiederholen.Dies könnte eine wichtige Unterscheidung sein und ein gutes Beispiel für den Ratschlag "Nicht selbst rollen" in dieser Antwort: Wenn der Algorithmus einen "Runden" -Parameter unterstützt, können Sie ihn hoch setzen.Wenn dies nicht der Fall ist, erfinden Sie keine, ohne die Auswirkungen richtig zu analysieren.
ShadowRanger
2019-02-20 09:02:32 UTC
view on stackexchange narkive permalink

Ein kleiner Kontrapunkt zu den anderen Antworten: Mehr Ebenen sind technisch besser als weniger , wenn jede einzelne Ebene mindestens so sicher ist wie die kombinierte Ebene, die Sie möglicherweise verwenden Andernfalls können Sie die für jede einzelne Ebene verwendeten Kennwörter kombinieren. In Ihrem Beispielfall haben Sie einen Verschlüsselungsalgorithmus von AES256 verwendet. Grundsätzlich bedeutet dies, dass Sie, egal wie kompliziert Ihr Passwort wird, höchstens 256 Bit Sicherheit haben (egal, dass 256 Bit Sicherheit ohne eine größere Unterbrechung von AES effektiv unzerbrechlich sind, wir werden so tun, als wäre es auf einer bestimmten Ebene zerbrechlich) / p>

Daher werden alle Kennwortentropiebits über 256 verschwendet. Wenn das Passwort zu komplex ist, können sie den AES-Schlüssel einfach direkt brutal erzwingen und die passwortbasierte Schlüsselableitung vollständig überspringen. Wenn Sie also die maximale Sicherheit erreicht haben, von der diese Schicht theoretisch profitieren kann, wäre es "sicherer", aus dem Rest des Kennworts eine weitere Schicht zu machen.

Probleme in der Praxis:

  1. Sie (der "jeder auf der Welt", den Sie) können schlecht Passwörter finden
  2. Auch wenn Sie ein anständiges Passwort haben , es hat nicht annähernd 256 Bit Entropie (oder Sie werden es vergessen)
  3. AES256 wird für alle praktischen Zwecke als unzerbrechlich angesehen, sodass eine Verschlüsselungsebene mit einem ausreichend komplexen Passwort bereits unzerbrechlich ist. Eine zweite Schicht erhöht gerade die Punktzahl. Wenn jemand in der Lage ist, eine Schicht zu brechen, liegt dies wahrscheinlich daran, dass eine grundlegende Schwäche festgestellt wurde, die das Brechen von zwei Schichten genauso einfach macht.
  4. ol>

    Es ist also theoretisch sicherer zu sagen, einmal mit dem Passwort zu verschlüsseln. Pi} t) HawiFo _% - p) R) dxbcpsUA; pyaCQXOXc7? o? dann wieder mit dem Passwort >YPou2Lg1B8be! G # Lgfor; G; H * $ xzbX74fuw_yw3 , von denen jedes 256 Entropiebits aufweist (generiert in Python mit base64.b85encode (os.urandom (256 // 8)) ) anstatt einmal mit dem kombinierten Passwort zu verschlüsseln Pi} t) HawiFo _% - p) R) dxbcpsUA; pyaCQXOXc7? o? >YPou2Lg1B8be! Entropiebits, erzeugt aber immer noch nur 256 Schutzbits (da der AES256-Schlüssel direkt angreifbar bleibt). Da der Nettovorteil jedoch nur additiv ist, erhöhen Sie lediglich die Angriffsarbeit von 256 Bit Arbeit für eine Schicht auf 257 Bit Arbeit für zwei (oder 258 Bit für vier). Sie fühlen sich sicherer , aber in der Praxis verschwenden Sie nur Ressourcen auf den zusätzlichen Ebenen, die Sie nicht wirklich schützen.

    Der einzige Grund, dies überhaupt in Betracht zu ziehen, ist, wenn Sie sind sicherheitsbewusst / paranoid genug, dass Sie AES256 oder GPG nicht allein vertrauen. In diesem Fall könnten Sie in Betracht ziehen, diese beiden großen Kennwörter zu verwenden, um zwei Ebenen zu erstellen, von denen eine AES256 verwendet, während die andere einen anderen Verschlüsselungsalgorithmus oder eine separate Verschlüsselungssoftware verwendet. Wenn sich nun herausstellt, dass das von einer der Schichten verwendete Verschlüsselungsschema eine große Schwäche aufweist, ist die zusätzliche Schicht von Bedeutung. Aber wenn AES256 kaputt ist, gibt es wahrscheinlich viel interessantere Dinge, die die Leute entschlüsseln müssen, sodass ich mir immer noch keine Sorgen machen muss.

    TL; DR: Eine Schicht mit einem komplexeren Passwort ist fast immer besser als mehrere Ebenen mit weniger komplexem Passwort; Die seltenen Ausnahmen haben meist theoretische Vorteile, die in der Praxis so gut wie nie auftreten. Verwenden Sie daher einfach Ihr komplexeres Passwort auf einer einzigen Ebene.

Seien Sie vorsichtig mit der Annahme, dass das Kombinieren von (unabhängigen) Verschlüsselungsalgorithmen in einer Kaskade die Sicherheit erhöht (oder zumindest bewahrt).Das hängt von den Sicherheitseigenschaften ab, nach denen Sie suchen, und kann nicht für alle geprüft werden. Es gibt ein ganzes Forschungsfeld über die Kombination von Verschlüsselungen, um sie robuster zu machen.https://blog.cryptographyengineering.com/2012/02/02/multiple-encryption/, aber im Allgemeinen ist es viel besser, mit einer herkömmlichen guten Wahl zu beginnen.
walen
2019-02-20 15:25:04 UTC
view on stackexchange narkive permalink

Jeder, der einbrechen möchte, müsste viermal einen Kennwortalgorithmus ausführen, während in Option 1 der Algorithmus nur einmal ausgeführt werden muss.

Und Sie scheinen Denken Sie, dass die erste Option viel länger dauern würde, oder? Mal sehen.

  • Angenommen, ein Dienstprogramm zum Knacken von Passwörtern benötigt 1 ms, um jede einzelne Zeichenkombination zu testen.
  • Die Länge von mydogisamazing beträgt 14 Zeichen . Die Gesamtzahl der Kombinationen von 14 Kleinbuchstaben beträgt 26 ^ 14 = 64.509.974.703.297.150.976 Kombinationen. Also, 64.509.974.703.297.150.976 ms, um sie alle zu testen.
  • Die Länge von my , dog , ist und erstaunlich bestehen aus 2, 3, 2 und 7 Zeichen. Die Gesamtzahl der Kombinationen von 2, 3 und 7 Kleinbuchstaben beträgt 26 ^ 2 (676), 26 ^ 3 (17.576) und 26 ^ 7 (8.031.810.176). Das sind 8.031.829.104 ms, um jedes einzelne davon zu testen.

Das Knacken aller 4 kürzeren Passwörter würde also 93 TAGE dauern, während das Knacken Nur das lange Passwort würde mehr als 2 MILLIARDEN JAHRE dauern.

Ich habe versucht, es einfach zu halten. Ich verwende nur Kleinbuchstaben. unter der Annahme von Worst-Case-Zeiten, als ob das Passwort zzzzzzzzzzzzzz wäre; Ignorieren von wörterbuch- und regelbasierten Angriffen, paralleler und GPU-basierter Verarbeitung sowie verteilten Tools; Verwerfen der Zeit, die zum Testen kürzerer Kombinationen vor längeren usw. benötigt wird. In Real Life ™ werden Ein-Wort-Passwörter fast sofort geknackt, da sie gebräuchliche Wörter verwenden. sub>

Ich * denke *, dass die Mathematik möglicherweise angepasst werden muss.Um ein 2 Zeichen langes Passwort brutal zu erzwingen, würden Sie wahrscheinlich auch Möglichkeiten für einzelne Zeichen durchlaufen.Unter Ihren Annahmen wäre die maximale Anzahl von Versuchen, ein 2-stelliges Passwort zu knacken, (26 ^ 1 + 26 ^ 2) = 702.
@catanman Das habe ich bereits in der Fußnote angesprochen.
gnasher729
2019-02-24 17:19:04 UTC
view on stackexchange narkive permalink

Es gibt (mindestens) zwei historische Beispiele dafür, wie kaputt diese Methode ist: Im Zweiten Weltkrieg entwickelten die Deutschen eine sicherere Version der Enigma-Maschine mit vier statt drei Rädern. Das hätte die Zeit für das Knacken von einem Tag (schlecht) auf ungefähr einen Monat (nutzlos) ändern sollen.

Leider verwendeten sie für die ersten drei Räder der Allradmaschine dieselben Einstellungen wie für die normale Dreiradmaschine. Als die Dreiradmaschine geknackt wurde, musste der Cracker nur 26 mögliche Einstellungen für das vierte Rad überprüfen. Keine bedeutende Erhöhung der Sicherheit.

Und das 40-Bit-DVD-Verschlüsselungsschema bestand aus einem 25-Bit-Schlüssel und einem 16-Bit-Schlüssel. Der 40-Bit-Schlüssel war zu der Zeit nahezu unmöglich zu knacken, aber der 25- und der 16-Bit-Schlüssel konnten jeweils in sehr vernünftiger Zeit geknackt werden.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...