Wie Sie Ihre Online-Konten schützen können - Über Passwörter und Passkeys

Wie Sie Ihre Online-Konten schützen können

Über Passwörter und Passkeys

Ian Boschung
von Ian Boschung
am 06. Juni 2024
Lesezeit: 9 Minuten

Keypoints

Über Passwörter und Passkeys

  • Passwörter sollten mit Salt und gehasht gespeichert werden
  • Niemals dasselbe Passwort zweimal verwenden, da man nie weiss, ob es sicher gespeichert wird
  • Passwort-Manager verwenden statt sich jedes Passwort zu merken
  • Neue Passkeys auf Webseiten verwenden, welche dies unterstützen

Um zu überprüfen, ob Sie beim Einloggen auf einer Webseite das richtige Passwort eingegeben haben, muss dieses irgendwo auf einen Server gespeichert sein. Passwörter sind sehr sensible Daten: Wenn ein Angreifer Zugriff auf den Ort hat, an dem die Passwörter gespeichert sind, kann er sie dazu benutzen, sich als alle zugehörigen Konten auszugeben. Um dieses Risiko zu verringern, wird empfohlen, Passwörter nicht in Klartext zu speichern, sondern stattdessen nur den Hash eines Passworts. Ein Hash ist eine spezielle Einwegfunktion, die es unmöglich macht, die Eingabe effizient aus der Ausgabe zurückzugewinnen. Die einzige Möglichkeit, eine kryptografisch sichere Hash-Funktion umzukehren, besteht darin, solange verschiedene Eingaben zu testen bis die Ergebnisse übereinstimmen. Das bedeutet, dass es bei längeren und komplizierteren Passwörtern länger dauert, sie umzukehren: Es müssen mehr Eingaben ausprobiert werden, bevor die richtige gefunden wird. Wir haben bereits in folgendem Artikel ausführlich erklärt, wie das geht. Ein Webserver, der nur Passwort-Hashes speichert, kann das Passwort eines Benutzers immer noch überprüfen, indem er denselben Algorithmus erneut anwendet, aber ein Angreifer kann sich nicht als der Benutzer ausgeben, ohne den Hash umzukehren.

Normales login oben und login eines Angreifers, welcher den Passwort hash herausgefunden hat unten

Ein Angreifer kann den gestohlenen Hash-Wert nicht verwenden, um sich als Benutzer auszugeben, da der Server auf den Hash-Wert erneut die Hash-Funktion anwenden und dieser nicht mit dem gespeicherten Wert in der Datenbank übereinstimmen würde.

Hinzufügen eines Salt

Bei diesem Ansatz gibt es ein Problem: Da die meisten Webseiten einen der wenigen gängigen Hash-Algorithmen verwenden, kann ein Angreifer die Hash-Werte häufig verwendeter Passwörter einmal vorberechnen und diese Liste dann für alle Passwortleaks verwenden. Eine solche Tabelle wird als Rainbow-Table bezeichnet und kann für verschiedene Passwortlisten und Algorithmen aus dem Internet heruntergeladen werden, z. B. von freerainbowtables.com. Um die Verwendung von Rainbow-Tables zu verhindern, kann ein Salt verwendet werden. Dabei handelt es sich um einen Zufallswert, der für jeden Benutzer unterschiedlich ist und zusammen mit dem Passwort des Benutzers gespeichert und an dieses angehängt wird, bevor die Hash-Funktion angewendet wird. Auf diese Weise hat das gleiche Passwort auf verschiedenen Webseiten unterschiedliche Hash-Werte, und selbst das gleiche Passwort auf ein und derselben Webseite hat unterschiedliche Salt-Werte und damit unterschiedliche Hash-Werte. Beachten Sie, dass ein Angreifer, der Zugriff auf die Passwortdatenbank hat, immer noch die Brute-Force-Methode anwenden kann, um ein Passwort zu knacken, da das Salt nicht geheim ist und üblicherweise im Klartext am gleichen Ort wie das Passwort gespeichert wird.

Warum Sie niemals das gleiche Passwort für verschiedene Konten verwenden sollten

Wenn Sie ein neues Konto anlegen und ein Passwort festlegen, wissen Sie nicht, wie Ihr Passwort auf dem Webserver gespeichert wird. Vielleicht haben sich die Entwickler an alle Empfehlung gehalten und Ihr Passwort ist sowohl gehasht als auch auf einem gut gesicherten Server gespeichert, aber vielleicht liegt es auch im Klartext in einer Textdatei auf einem veralteten Computer. Passwortleaks sind recht häufig, und als Benutzer erfährt man möglicherweise nicht oder erst sehr spät, ob ein Passwort geleakt wurde. Ein Beispiel: Wenn man für ein Google-Konto dasselbe Passwort verwendet wie für ein kleines Geschäft mit schlechter IT-Sicherheit, welches später gehackt wird, kann der Angreifer das gestohlene Passwort nicht nur für den Zugriff auf die gehackte Webseite, sondern auch für den Zugriff auf das Google-Konto verwenden. Wenn zu prüfen, ob ein eigenes Passwort bereits in einem öffentlichen Leak vorkommt, kann man seine Email-Adressen auf ‘;—have i been pwned? prüfen.

Wie ein Passwort-Manager dieses Problem löst

Natürlich ist es sehr schwierig, sich für jedes Konto ein anderes Passwort zu merken, zumal die Passwörter auch lang und zufällig sein und verschiedene Zeichenkategorien enthalten sollten. Eine Lösung für dieses Problem sind Passwort-Manager: Ein Passwort-Manager ist ein Programm, das alle verschiedenen Passwörter eine Benutzers verschlüsselt speichert, so dass sie nur mit einem Master-Passwort entschlüsselt werden können. Das Master-Passwort ist das einzige, das man sich merken muss, und man sollte es nur für den Passwort-Manager verwenden. Um sich bei einem Konto anzumelden, verwendet man zunächst das Master-Passwort, um den Passwortmanager zu entsperren, welcher dann das Kontopasswort entschlüsselt damit man es in das Anmeldeformular der Webseite kopieren kann.

Die meisten Passwort-Manager bieten viele weitere Funktionen, um die Benutzerfreundlichkeit zu verbessern:

Integrierter vs. dedizierter Passwort-Manager

Viele Betriebssysteme oder Browser verfügen heutzutage über einen eigenen Passwortmanager, z.B. iCloud Keychain auf MacOS, Google Password Manager auf Android und Chrome-Browser. In den letzten Jahren haben diese begonnen, Apps und Plugins für andere Systeme anzubieten, wie beispielsweise theverge.com, oder allthings.how, sodass sie eine praktikable Option darstellen. Andererseits gibt es viele Passwort-Manager von Drittanbietern, sowohl Open Source als auch proprietär. Einige beliebte sind 1password, BitWarden, DashLane und KeePassXC.

Die Vorteile von first-party Passwortmanagern sind, dass sie in der Regel kostenlos sind (weil der Benutzer ja bereits ein Gerät gekauft oder Software von der Entwicklerfirma installiert hat) und dass sie bereits vorinstalliert sind. Viele entscheiden sich jedoch für einen third-party Passwortmanager, da dieser meist mehr Funktionen bietet und man damit unabhängiger von den grossen fünf IT-Unternehmen ist.

Ein moderner Ersatz für Passwörter: Passkeys

Passkeys sind eine moderne Alternative zu Passwörtern, die auf asymmetrischer Kryptographie basieren. Anstatt das Passwort als gemeinsames Geheimnis zwischen Client und Server zu verwenden, wird ein asymmetrisches Schlüsselpaar generiert und nur der öffentliche Schlüssel wird bei der Registrierung auf dem Server gespeichert. Der private Schlüssel wird in einem Passkey Provider gespeichert. Während des Anmeldevorgangs erzeugt der Webserver einen Zufallswert, genannt Challenge, die über den Browser an den Passkey-Provider übermittelt wird. Anstatt sich direkt bei der Webseite zu authentifizieren, authentifiziert sich der Benutzer beim Passkey-Provider (mit biometrischen Daten, einer PIN oder einem Master-Passwort). Der Passkey-Anbieter signiert dann die Challenge mit dem entsprechenden privaten Schlüssel und sendet die Signatur über den Browser an den Webserver zurück, der nun überprüft, ob die Signatur vom richtigen Schlüssel stammt. Dies erscheint zwar sehr kompliziert, aber der Benutzer ist nur an dem Schritt beteiligt, bei dem er sich gegenüber dem Passkey-Anbieter authentifizieren muss, der Rest geschieht im Hintergrund.

Vorgang bei Login mit einem Passkey. Zeit von oben nach unten

Passkeys bieten zahlreiche Vorteile:

Wie können Sie Passkeys verwenden?

Alle gängigen Betriebssysteme und die meisten Passwort-Manager unterstützen bereits Passkeys, aber nicht alle Webseiten. Auf Passkeys.directory gibt es eine Liste von Webseiten, die Passkeys unterstützen, und einige Passwortmanager wie 1Password listen alle Konten auf, für die Sie einen Passkey einrichten können. Das Einrichten eines Passkeys ist einfach und Sie finden die entsprechende Funktion normalerweise dort, wo Sie auch Ihr Passwort ändern würden.

Fazit

Durch das Befolgen einiger einfacher Regeln kann man die Sicherheit seiner Online-Konten deutlich erhöhen und durch die Verwendung eines Passwortmanagers die Anmeldung bequemer gestalten. Durch die Verwendung von Passkeys auf Webseiten, die dies unterstützen, können Sie sich zusätzlich vor Sicherheitslücken schützen, die Sie nicht beeinflussen können.

Über den Autor

Ian Boschung

Ian Boschung nimmt seit dem Gymnasium an Programmierwettbewerben teil und hat während des Studiums an der ETH mit einem Master in Elektrotechnik & Infromationstechnologie seine Leidenschaft für Cyber Security entdeckt. Er fokussiert sich auf die Sicherheitsüberprüfung von Webapplikationen und Linux/Unix-Systemen.

Links

Werden auch Ihre Daten im Darknet gehandelt?

Wir führen gerne für Sie ein Monitoring des Digitalen Untergrunds durch!

×
iOS Mobile Application Testing

iOS Mobile Application Testing

Ian Boschung

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv