Herausgabe der Passwörter

Einer der Effekte dieses Gesetzes dürfte Munition für Verschwörungserzähler sein: wenn Vater Staat perspektivisch Interesse daran hat, per brute-force die gehashten Passwörter unserer E-Mail-Konten zu knacken, kann man dann noch Empfehlungen des Bundesamtes für Sicherheit und Informationstechnik mit der Überschrift „BSI für Bürger“ vertrauen?? Ohje, ohje…

Wenn man sich gegen Staaten schützen will muss man sicherlich andere Wege gehen als nur „sichere“ Passwörter verwenden. 2-Faktor Identifizierung ist sicherlich ein guter Weg, das Problem ist nur dass das noch nicht viele Anbieter.

Ob nun Klartext-Passwort (was ein DSGVO-Verstoß wäre) oder brute force geknackter Hash: nehmen wir an, eine Behörde verschafft sich den Zugang zu einem Konto. Das ist dann ja ein Vollzugang, also nichts mit Read-Only oder so.
Somit eröffnet sich das gleiche Szenario wie die bereits gegen Ende des Podcasts angesprochene Variante mit der Erpressung per Bundestrojaner.
Spinnt man diesen Gedanken weiter, kann dann möglicherweise jeder Dorfpolizist in meinem Namen Unfug schreiben, für den ich dann verantworlich gemacht werde.

Nun ist aber eins der höchsten Gebote für jeden Forensiker, dass der Untersucher sicherstellen muss, das er den untersuchten Sachverhalt nicht verändert. Genau das ist allerdings hier nicht gegeben.

Frage an die Juristen: wäre das nicht ein Ansatzpunkt für einen Anwalt, grundsätzlich erst mal auf „Mein Mandant bestreitet, dieses Hass-Posting selbst verfassst zu haben. Das hat möglicherweise der Ermittler selbst getan“?

Zwei Fragen in die Runde:
Lese ich in den Gesetzentwurf richtig, dass sich das Herausgabeverlangen nicht nur auf die Passwörter von Beschuldigten bezieht, sondern auf jeden Account, wenn sich dieser in Zusammenhang mit einem Ermittlungsverfahren bringen lässt?

Da ich leider nur rudimentäre Vorstellungen zur technischen Seite habe: Wie viel einfacher ist es, ein Passwort zu knacken, dessen Hash ich kenne, gegenüber einem „normalen brute-force-Angriff“? Mir ist klar, dass die Antwort von vielen Einzelheiten abhängt …

Die Antwort lautet wie so oft „Es kommt drauf an“. In den meisten Fällen geht es bei Standard-Passwörtern deutlich schneller, wenn der Hash bekannt ist.

  • Bei der normalen Verschlüsselung des Passworts per Hash kann man sogenannte Rainbow Tables verwenden, riesige Textdateien, in denen man den Hash schlicht nachschlägt. Das geht rasend schnell, falls das Passwort drin steht.
  • Um diesem Ansatz die Suppe zu versalzen, kommt ein sogenannter Salt zum Einsatz, ein Zufallswert, mit dem man das Klartext-Passwort vorwürzt, und auf die Art erreicht, dass es jedenfalls nicht mehr in der Originalform aus einer Rainbow Table ausgelesen werden kann.
    Natürlich muss der Salt dann irgendwo mit dem Hash abgelegt werden, denn er muss ja nachher wieder extrahiert werden. Kennt man den Verschlüsselungsverfahren, kann man den Salt entnehmen. Eine Spur sicherer wäre es also, den Salt irgendwo mitten in dem Hash abzulegen, und die Position des Hashs nur im Programmcode zu hinterlegen und nicht in den Daten. Von der Herausgabe des Programmcodes steht aber nichts in den Gesetzentwurf, und demnach wird das Knacken per Hash auf diese Art sehr erschwert.

Brute Force heißt aber nicht, dass das Knacken lange dauern muss. Wer mag kann sich zB bei https://howsecureismypassword.net/ einen anschaulichen Überblick darüber verschaffen, wie lange das Knacken eins Passworts mit handelsüblicher Hardware dauert. Natürlich sollte man auf solchen Seiten niemals echte Passwörter eingeben, sondern nur etwas mit technisch ähnlichem Aufbau.

Wenn ich die Hashes der Passwörter habe kann ich den Brute-Force Angriif einfach auf meine lokale Datei machen. Wenn ich die nicht habe muss ich den Angriff gegen die Webseite machen, in die ich rein will. Die haben meist einen Schutz gegen solche Angriffe (temporäre Sperre bei zu vielen Falscheingaben, Email an den Nutzer, verlängerte Dauer bis zur nächsten Neueingabe des Kennworts, etc).

Auf der einen Seite ist es natürlich ein Problem, wenn die Hash-Tabelle eines Anbieters herausgegeben werden muss, andererseits sollte man solche Passwörter benutzen, dass man sie trotzdem nicht knacken kann. (Ich weiß, dass man das einem 0815 Nutzer nicht zutrauen kann)

Für den Aufwand einen Hash zu knacken spielt im übrigen nicht einfach nur die Passwortlänge mit rein, da meist gar nicht alle Kombination ausprobiert werden müssen.
Die meisten Nutzer benutzen eben doch irgendwelche Worte oder Namen in Kombination mit ein paar Zahlen und denken, dass wenn das Wort 10 Buchstaben hat, es unkackbar ist.

Es gibt bei Youtube auf dem Kanal Computerphile eine Videoreihe, wo einer einen tatsächlichen „Angriff“ auf eine Hashdatenbank durchführt. Sehr empfehlenswert