Passwörter

Posted on Posted in Ideas, Internet

Wer kennt sie nicht? Passwörter wie “123456”, “password” und “qwerty”. Dass das unsicher ist, muss man keinem sagen. Trotzdem werden sie so häufig verwendet, wie sonst keine.

Wieso? Ganz einfach. Weil den meisten Leuten Passwörter egal sind. Der Aufwand, sich ein komplexes Passwort zu merken, ist zu hoch, und die Daten, die sie schützen, sind es – ihrer Meinung nach – nicht wert geschützt zu werden. Ergo werden unsichere Passwörter verwendet, meist sogar eines für alle Dienste, bei denen man sich registriert.

Ein weiteres Problem bei den Passwörtern ist, dass Maschinen einfach viel zu gut im Raten sind. Früher war ein Schloss mit ein paar Zahlenkombinationen recht sicher, weil es Monate dauern würde jede Kombination auszuprobieren, und man dafür im Besitz des Gegenstands sein musste. Aber Computer sind dabei selbstverständlich schneller. In ein paar Minuten haben aktuelle Systeme einige Passwörter entschlüsselt. Und damit ist das Konzept des Passwortes meiner Meinung nach veraltet. Etwas Neues muss her.

Deswegen gibt es Two-Factor-Auth. Selbstverständlich bietet dieser Mechanismus einen weiteren Sicherheits-Layer, da nicht nur ein Passwort benötigt ist, sondern auch noch ein Einmalpasswort, welches meist per E-Mail oder SMS zugesandt wird. Toll! Zwei Passwörter, die man eingeben muss! Somit wird Two-Factor-Auth auch, sofern nicht Pflicht, nur von den Leuten verwendet, die sowieso schon ein sicheres Passwort vergeben. Gewonnen hat man dadurch also nicht wirklich viel, außer eine zusätzlich verschwendete Minute bei jedem Login.

Die Zeit ließe sich etwas verkürzen, wenn das Ganze per Push realisiert würde. Etwas, das für mich selbstverständlich ist. Ich verstehe einfach nicht, wieso Twitter die einzige Firma ist, die eine entsprechende Funktion implementiert hat. Während alle anderen Firmen einen meist sechsstelligen Code versenden, den man dann umständlich in die Login-Maske eintippen muss, sendet Twitter ganz einfach eine Benachrichtigung an das Smartphone mit der Meldung “xyz versucht, sich in Ihren Account einzuloggen. Zulassen? [Ja] [Nein]”. Klickt man auf Ja, wird die Login-Seite aktualisiert und man ist eingeloggt. Ein Wunder? Nein. Technik. Das Ganze ließe sich sogar per SMS in Verbindung mit einem Einmallink realisieren. Wieso also nicht? Ich verstehe es nicht.

Und dieser Punkt bringt mich einen Schritt weiter: Lasst das Passwort ganz weg. “OMG! IST DAS NICHT TOTAL UNSICH…” Nein. Lasst uns folgendes Szenario durchspielen: Ich habe ein unglaublich sicheres Passwort für meinen E-Mail-Account. Trotzdem wurde dieser gehackt und der Angreifer hat Zugriff darauf. Jetzt möchte er sich bei Service X anmelden. Das Passwort ist nicht das gleiche, und Two-Factor-Auth ist deaktiviert. Er drückt auf “Passwort zurücksetzen” und bekommt prompt eine Mail, mit der er das Passwort ganz einfach zurücksetzen kann. Der Angreifer kann sich nun bei Service X anmelden.

Jetzt dasselbe Szenario ohne Passwort, dafür aber mit Bestätigung des Logins via E-Mail: Der Angreifer, welcher Zugang zum E-Mail-Konto hat, gibt den Benutzernamen bei Service X ein, und bekommt einen Einmal-Link per E-Mail zugesandt, wodurch er sich nun einloggen kann. Im Endeffekt ist der Ablauf also genau gleich, nur muss der Angreifer nicht vorher noch ein neues Passwort vergeben. Sicherer wird es, wenn wir den Login-Request auf das Smartphone auslagern. Eine universelle App – ähnlich dem Google Authenticator – bekommt von Service X bei jedem Login-Request eine Push-Benachrichtigung, um den User zu fragen. Über das Interface der App kann man nun – nachdem man sich per Fingerprint authentifiziert hat – den Login bestätigen oder ablehnen. So muss der Angreifer Zugriff auf das Smartphone haben, und auch das gekaperte E-Mail-Postfach hilft hierbei nichts.

Die Vorteile:

  • Brute-Force-Angriffe auf Accounts können nicht mehr stattfinden
  • Gehackte Services können keine (gehashten) Passwörter mehr leaken
  • Social Engineering funktioniert nicht mehr
  • Der Nutzer kann keine unsicheren Passwörter mehr vergeben

Und wenn nicht jeder sein eigenes Süppchen kocht und es eine zentrale App dafür gibt:

  • Verliert man das Smartphone, könnte man sofort alle Zugriffe revoken.
  • Alle aktiven Logins können zentral in einer App eingesehen werden.

Die Nachteile:

  • (Smartphone benötigt/ließe sich aber auch per E-Mail oder SMS realisieren)
  • Wenn das Smartphone gehackt wird, und man es nicht merkt, ist es halt kacke
  • Obligatorische German Angst
  • Single Point of Failure

Anmerkung:

Ja, dieses Konzept ist nicht mit Two-Factor-Auth gleichzusetzen, da ein (gutes) Passwort selbstverständlich zusätzliche Sicherheit bietet. Allerdings wird Otto Normalverbraucher im Durchschnitt wesentlich seltener angegriffen werden können, da die Komponente des unsicheren Passworts einfach wegfällt. Selbstverständlich wäre es möglich, das Konzept entsprechend zu erweitern, um OPTIONAL noch ein Passwort pro Service zu fordern. Damit wäre man dann wieder bei Two-Factor-Auth, jedoch mit dem Passwort als optionalem Parameter. Das würde dann einen gewissen Basisschutz für alle bieten mit einer Option zur zusätzlichen Sicherheit für die Paranoiden unter euch.

Co-Anmerkung:

Dadurch würde auch die Anzahl der Promi-Leaks deutlich sinken, da diese meist nur durch Brute-Force-Angriffe oder Social Engineering stattfinden. Und selbstverständlich wären Hacker-Angriffe auf einzelne Services weniger dramatisch.

Bildquelle: Mr Wallpaper

  • tsia

    kennst du schon das da? https://www.grc.com/sqrl/sqrl.htm

    • Karim

      Sieht gut aus. Würde ich nutzen. Leider – wie bei so vielen Open Source-Projekten – ist die Idee wirklich gut, und vermutlich auch die Umsetzung, aber die Präsentation schreit förmlich: “Nur für Nerds! Bitte nicht produktiv nutzen!”

      Aber wenn man sich da mal dran setzen würde, und das zusammen mit ein paar Partnern etablieren würde, könnte das denke ich wirklich Logins revolutionieren.

      • tsia

        der typ der sich das ausgedacht hat, hat zum glück ne recht große reichweite. das heißt es gibt schon einige implementierungen davon und man kann hoffen, dass es auch irgendwann mal ne “ordentliche” webseite dafür gibt…

        • Karim

          Dann werde ich mich da mal weiter einlesen. Klingt ja doch recht spannend.

          Was meiner Meinung nach auch wichtig ist, ist die Einfachheit der Implementierung auf Entwickler-Seite. Viele Entwickler wollen denke ich nicht groß alles umstellen müssen, nur um das zu unterstützen. Wenn das aber mehr oder weniger “einbinden und fertig” ist, hat es natürlich einen großen Vorteil.