Dieses Video gehört zum openHPI-Kurs Digitale Identitäten - Wer bin ich im Netz? . Möchten Sie mehr sehen?
Beim Laden des Videoplayers ist ein Fehler aufgetreten, oder es dauert lange, bis er initialisiert wird. Sie können versuchen, Ihren Browser-Cache zu leeren. Bitte versuchen Sie es später noch einmal und wenden Sie sich an den Helpdesk, wenn das Problem weiterhin besteht.
Scroll to current position
- 00:00Wir wollen uns jetzt den Authentifizierungsprozess mit Hilfe von Passwörtern nochmal ein bisschen genauer ansehen, um dann später zu sehen, wie Angriffe auf die Passwortsicherheit erfolgen.
- 00:16Und die Idee war, wir hatten das besprochen, beim Registrieren legt ein Nutzer einen Account an, wird für den Nutzer ein Account angelegt, eine digitale Identität etabliert,
- 00:27und dann bei dieser Authentifizierung durch Wissen wird zwischen dem Nutzer und dem Dienst ein Geheimnis, nämlich das Passwort vereinbart, was dann bei dem Account hinterlegt ist.
- 00:40Und wenn der Nutzer dann später mal wieder diesen Dienst nutzen will, beim Authentifizierungsprozess, wo also festgestellt wird, ob er berechtigt ist, den Dienst zu nutzen,
- 00:51da beweist der Nutzer durch Angabe des richtigen Passwortes, dass er der Besitzer dieser digitalen Identität ist.
- 00:59Der Online-Dienst überprüft das, der empfängt dieses Passwort, der vergleicht das mit dem in der Nutzer-Datenbank hinterlegten Passwort
- 01:06und entscheidet dann, ja, das ist richtig, du bist der Nutzer, du darfst folgende Dinge tun, für die du autorisiert bist, oder nein, du darfst nicht reinkommen.
- 01:17Also bei Übereinstimmung erhält die Person Zugang zum Dienst, zu den Ressourcen des Dienstes, nämlich zu all denen Ressourcen, für die die digitale Identität autorisiert ist.
- 01:30So, wie geht jetzt der Dienst mit diesem Passwort in seiner Nutzer-Datenbank um?
- 01:37Da ist das professionell so, dass eigentlich verlangt wird, dieses Passwort niemals im Klartext dort zu speichern,
- 01:47sondern immer nur ein einer verschleierten, in einer unkenntlichen Form.
- 01:51Aus verschiedenen Gründen, also weder die Administratoren des Dienstes sollen das Passwort kennen noch soll,
- 01:59wenn ein Dieb diese Passwort-, diese Account-Datenbank, die Kunden-Datenbank stiehlt, er sofort in den Besitz des Passwortes kommen.
- 02:07Wir sehen leider, dass diesen Anforderungen, die an die Qualität der Arbeit der Dienste gestellt werden, oft nicht entsprochen wird,
- 02:16wir haben also in unserem ID Leak Checker feststellen müssen, dass sehr viele geleakte Identitäts-Datenbanken die Passworte in einer unverschlüsselten Form im Klartext speichern.
- 02:29Diese Verschleierungen, die man durchführen sollte, um das Passwort unkenntlich zu machen, sind sogenannte kryptographische Hash-Funktionen, die angewendet werden.
- 02:39Also hier haben wir unseren Nutzer, hier haben wir die Login-Seite und den Dienst des Anbieters, und hinter dem Dienst des Anbieters steht natürlich die Datenbank, wo die digitale Identität, der Account gespeichert ist.
- 02:54Also nehmen wir mal an, der Nutzer heißt John13 und hat das Passwort yH49Z%k0+, Sie sehen Groß- und Kleinschreibung,
- 03:06schön durcheinander, wie wir das ja empfohlen hatten zu tun, Ziffern und Sonderzeichen verwendet, also das gibt der Nutzer jetzt auf dieser Login-Seite ein.
- 03:16Der Nutzer gibt das Passwort natürlich im Klartext ein auf der Website, und die Website überprüft jetzt mit Hilfe der Kunden-Datenbank, ob das ein autorisierter Nutzer ist,
- 03:33also sendet die Daten an den Server, und der vergleicht jetzt diese Daten mit seiner Nutzer-Datenbank.
- 03:42Und wenn das stimmt, tatsächlich, John13 hat dieses Passwort, dann gibt's die Meldung zurück an den Dienst,
- 03:50du kannst dem alle Ressourcen zur Verfügung stellen, für die diese Identität eine Autorisierung hat.
- 03:59Das heißt, diese Nachfrage, wenn die Passworte hier nicht im Klartext gespeichert sind, ist es so,
- 04:07dass diese Übergabe an diese Datenbank erfolgt, indem dieses eingegebene Passwort verschleiert wird und dann verglichen wird mit den in der Datenbank verschleierten Passworten.
- 04:20Wir sehen das ein Stück genauer, wenn wir uns das folgende Bild jetzt mal ansehen.
- 04:25Wenn der Anbieter das Passwort im Klartext in der Nutzer-Datenbank speichert, dann ist für Cyber-Kriminelle, die Zugriff auf sein System erreichen,
- 04:39oder die sogar diese Datenbank stehlen, die haben dann sofort die Passwörter, können die herunterladen und können dann mit diesen Passwörtern sich als die eigentlichen Nutzer ausgeben.
- 04:52Warum die gestohlenen Passwörter so gefährlich sind? Es gibt verschiedene Argumente.
- 04:59Einerseits kann der Angreifer, der so ein Passwort gestohlen hat, sich natürlich sofort bei diesem Online-Dienst im Namen des Nutzers einloggen.
- 05:09Was aber problematisch noch ist - also der kann den Dienst dann missbrauchen - was aber problematischer ist - ich weiß nicht wie es Ihnen geht -
- 05:18viele Nutzer verwenden ein Passwort für viele verschiedene Dienste oder modifizieren das nur ein bisschen,
- 05:27so dass, wenn also ein Angreifer ein Passwort in die Hand bekommt, im Klartext, die große Chance besteht, dass er verschiedene Dienste, nicht nur den gehackten Dienst damit missbrauchen kann.
- 05:41Problematisch ist es dann für den Nutzer, dass der ja gar nicht mitbekommt, dass seine Identitätsdaten gestohlen wurden und frei im Internet verfügbar sind,
- 05:53so dass Hacker dieses Passwort nutzen können, um ein seine Accounts einzubrechen.
- 05:58Übrigens, genau dieser Punkt ist es, der uns zu diesem ID Leak Checker Dienst bewogen hat,
- 06:06weil wenn der Nutzer weiß, dass seine Daten gestohlen sind, dass sein Passwort im Klartext im Internet verfügbar ist,
- 06:13dann kann er sofort Abhilfe schaffen, indem er das Passwort ändert.
- 06:21Das müssen wir uns mal genauer ansehen, wir hatten ja gesagt, da werden nicht die Passworte im Klartext gespeichert, sondern mit dieser Hash-Funktion werden sie verschleiert.
- 06:32Hashing ist also das Verschleiern, also de facto eine Verschlüsselung in einem String einer festen Länge.
- 06:41Wichtig ist, das ist der Unterschied zur Verschlüsselung, deswegen muss man genau von diesem Hashing reden, dass man diese Verschlüsselung nicht wieder rückgängig machen kann.
- 06:50Wenn wir - ich hatte das eben auch schon angedeutet - die Erfahrung mal mit unserem HPI ID Leak Checker anschauen,
- 06:58dann sehen wir sehr, sehr viele Anbieter. ein Drittel, speichern Passworte im Klartext, absolut unprofessionell, absolut unsicher für die Kunden.
- 07:08Ein weiteres Drittel übrigens verwendet solche Hash-Funktionen, aber Hash-Funktionen, die den heutigen leistungsfähigen Rechnern gar nicht mehr standhalten, sondern leicht geknackt werden können.
- 07:23Also so ein Verfahren, so ein Hash-Verfahren, MD5, was leicht geknackt werden kann, ist eben dieses MD5.
- 07:30So, wie sieht das jetzt genau aus, wenn dieses Passwort verschleiert wird?
- 07:34Da wird also diese kryptographische Hash-Funktion drauf angewendet, und ein String einer festen Länge ist das Bild.
- 07:41Hier mal ein Beispiel: Ich habe jetzt mal doch die heute schon als unsicher angesehene Hash-Funktion MD5 genommen, damit nämlich der String nicht so lang wird.
- 07:50Dann haben wir hier unser Passwort unseres John, der sich da einloggen wollte,
- 07:56und das wird jetzt hier in dieser Form auf diesen String abgebildet, der hat eine feste Länge,
- 08:03und dieser String kann nicht wieder zurückverwandelt werden in dieses Passwort, also diese Hash-Funktion kann nicht umgekehrt werden, ist eine Einweg-Funktion.
- 08:15Genau die hat man für diesen Zweck konstruiert, dass nur mit einem extrem hohen Aufwand man das ursprüngliche Passwort wiedergewinnen kann.
- 08:27Das geht dann gar nicht durch die Rückverfolgung, sondern mit anderen Methoden - ich deute die später nochmal an - also Hash-Funktionen sind solche Einweg-Funktionen.
- 08:37Häufig werden die Hash-Funktionen MD5 und SHA1 verwendet, aber hier muss man klar sagen, die gelten inzwischen als unsicher.
- 08:56Na, weil in diesem hier angedeuteten, extrem aufwendigen Verfahren man mit heutiger Rechenpower eben dann doch dieses ursprüngliche Passwort wiedergewinnen kann.
- 09:07Als sicher gelten die Verfahren SHA2 und SH3, hier übrigens nochmal das Bild, zu spät eingeblendet,
- 09:16Klartext wird durch die Hash-Funktion auf diesen Hashwert abgebildet und diese Eigenschaft Einweg-Funktion heißt, aus dem Hash kann man jedenfalls auf direktem Weg nicht wieder dieses Klartext-Passwort gewinnen.
- 09:30Gucken wir mal jetzt diesen Prozess der Validierung an, also der Feststellung, ob das tatsächlich ein berechtigter Nutzer ist, in der Authentifizierung, der Validierung eines Passwortes.
- 09:44Also der erste Schritt ist, der Nutzer gibt sein Klartext-Passwort ein.
- 09:50Das führt dazu, dass bei dem Dienst in dieser Nutzer-Datenbank der Nutzer gesucht wird, John13, tatsächlich, das ist er,
- 10:02und jetzt steht aber hier ja nicht das Passwort in Reinform, sondern das Passwort steht ja in der gehashten Form in dieser Tabelle.
- 10:10Es muss also noch ein Rechenschritt ausgeführt werden, nämlich von diesem eingegebenen Hashwert wird jetzt hier der Hashwert berechnet,
- 10:20wird also die Funktion ausgeführt, und dann wird verglichen, ob dieser String mit diesem String übereinstimmt.
- 10:29Wenn ja, dann ist es der richtige Nutzer, wenn nein, ist der Nutzer nicht authentifiziert.
- 10:37Ich wiederhole nochmal: Also der Nutzer gibt das Passwort ein, in der Passwort-Datenbank sind aber nur die Hashs der Nutzer hinterlegt,
- 10:48über den Nutzernamen kann in dieser Datenbank der Hash identifiziert werden, einerseits,
- 10:58und andererseits wird das Passwort hergenommen, die gleiche Hash-Funktion wird angewendet auf dieses Passwort, und dann werden diese beiden Hashs verglichen miteinander.
- 11:08Wenn sie übereinstimmen, dann ist das das richtige Passwort, wenn sie nicht übereinstimmen, dann ist der Login-Versuch fehlgeschlagen,
- 11:18und das muss entweder wieder neu wiederholt werden, oder es ist entdeckt, dass der Nutzer gar nicht berechtigt ist.
- 11:27Jetzt gibt's da Probleme, nämlich bei dieser Passwort-Verschleierung durch Hashing,
- 11:34wenn wir dort zum Beispiel zwei Nutzer haben, die das gleiche Passwort verwenden,
- 11:40dann führt das natürlich zu dem gleichen Hash, das war ja eine Funktion, die Hash-Funktion.
- 11:48Wenn also dann ein Nutzerpasswort gestohlen ist und man mit diesem Hash weitere Nutzer findet,
- 11:57wo das der entsprechende Passwort-Hash ist, dann weiß man natürlich sofort, dass das auch das gleiche Passwort ist.
- 12:04Das heißt, kennt man dann nur das Passwort eines Nutzers mit diesem Hash, dann hat man für alle Nutzer, wo das gehashte Passwort diese Form hat, dann die Kenntnis von ihrem Passwort.
- 12:19Das heißt, Hashs können erraten werden, wenn man sämtliche Wörter aus einem Wörterbuch untersucht.
- 12:28Wir hatten ja gesagt, die Hash-Funktion kann nicht rückgängig gemacht werden, aber was einem natürlich keiner verbieten kann, ist mal ganz viele Versuche zu machen,
- 12:37einfach zum Beispiel ein solches Wörterbuch herzunehmen und alle Worte Stück für Stück zu hashen, also zu verschleiern, die Hash-Funktion anzuwenden.
- 12:45Und dann kann man bei jedem ausgerechneten Hash gucken, kommt der in unserer Nutzer-Datenbank vor.
- 12:52Wenn ja, dann weiß man plötzlich, wie dieses Passwort aussieht, denn man hat sich ja gemerkt, welches Wort aus dem Wörterbuch zu diesem Hash geführt hatte.
- 13:00Das heißt, auf diese Weise kann man Hashs erraten, wenn man nämlich einfach sämtliche Wörter in dem Wörterbuch auf diese Weise bearbeitet.
- 13:10Es ist tatsächlich ein Angriff - wir werden das nochmal genau besprechen - und Sie merken auch hier,
- 13:15warum Sie als Passwort nicht einfach ein Wort nehmen sollen, was in einem Wörterbuch vorkommt, weil das ist nämlich gegen diesen Angriff nicht sicher.
- 13:26Dass ein gleiches Passwort jedes Mal einen unterschiedlichen Hash erzeugt, also dass nicht zwei mit dem gleichen Passwort des gleichen Hash haben,
- 13:35und die Idee ist einfach, dass an dieses Passwort eine weitere zufällige Zeichenfolge angehängt wird, sogenanntes SALT.
- 13:45Und das nicht von dem Passwort allein der Hashwert bestimmt wird, sondern dass von dieser Kombination Passwort mit dieser zufälligen Zeichenfolge, mit diesem Salt das Passwort betroffen wird.
- 13:58Dann muss man natürlich den Salt zusammen mit dem Hash speichern, sonst kann man später die Validierung nicht durchführen, denn der Nutzer kennt diesen Salt gar nicht.
- 14:11Der Nutzer sendet ja sein Passwort, und dann muss bei der Validierung dieser Salt an das Passwort angehängt werden, bevor die Hash-Funktion berechnet wird und bevor dann dieser Vergleich durchgeführt werden kann.
- 14:27Diese Authentifizierung mit Hilfe von Passwörtern ist ja eine Authentifizierung durch Wissen.
- 14:33Die Person beweist durch die Angabe des richtigen Passwortes, dass eine bestimmte digitale Identität zu ihr gehört.
- 14:41Dazu müssen die Online-Dienste die entsprechenden Passworte speichern, das geschieht im Laufe der Registrierung.
- 14:49Der wird dann mit dieser digitalen Identität verbunden und muss dann bei jedem Login-Versuch das entsprechend validieren, ist das wirklich das hinterlegte Passwort, was der Nutzer nimmt.
- 15:02Nun, um die Passworte zu schützen, sollen die beim Dienstanbieter nicht im Klartext gespeichert sein,
- 15:10sondern gehasht in einer verschleierten Form. das ist das Passwort-Hashing.
- 15:16Um jetzt die Sicherheit zu steigern, dass also nicht alle gleichen Passworte den gleichen Hash haben,
- 15:23wird dieses Passwort noch um ein Stück zufällige Informationen, den sogenannten Salt erweitert.
- 15:32Erst dann wird das Hash-Verfahren angewendet, auf diese Weise stellt man sicher, dass gleiche Passworte bei unterschiedlichen Benutzern zu unterschiedlichen Hashs führen,
- 15:42man aber natürlich bei der Validierung darauf achten muss, also da nicht nur den Hash des Passwortes in der Nutzer-Datenbank speichern muss,
- 15:52sondern auch den entsprechenden Salt, der benutzt wurde, um dieses Passwort zu hashen.
To enable the transcript, please select a language in the video player settings menu.