Two-factor authentication / one-time passwords Andre Stefanov Betreuer: Lukas Schwaighofer und Benjamin Hof Lehrstuhl für Netzarchitekturen und Netzdienste Fakultät für Informatik Technische Universität München 21.06.2013 Andre Stefanov: Two-factor authentication / one-time passwords 1
Inhaltszusammenfassung 1 Motivation zu Zwei-Faktor-Authentizierung 2 Einmalkennwörter 3 Probleme 4 Anwendungsbeispiele 5 Diskussion Andre Stefanov: Two-factor authentication / one-time passwords 2
Motivation Passwörter sind doch genug, oder? Andre Stefanov: Two-factor authentication / one-time passwords 3
Zu schwache Passwörter password 123456 qwerty 111111 abcdef dragon andre89 12345678 password1 Andre Stefanov: Two-factor authentication / one-time passwords 4
Zu starke Passwo rter Andre Stefanov: Two-factor authentication / one-time passwords 5
Zu wenige Passwörter service login password google andre@gmail.com phzd5s facebook blabla@hotmail.de phzd5s twitter blabla@hotmail.de phzd5s blizzard killer phzd5s Andre Stefanov: Two-factor authentication / one-time passwords 6
Einmalkennwörter OTP (eng. One-Time-Password) ist ein Passwort, welches zum Authentifizieren nur einmalig verwendet werden darf. Abhänging von der verwendeten Generierungsmethode wird dieses entweder in regelmäßigen Zeitabschnitten oder nach bestimmten Ereignissen durch einen neuen ersetzt. Andre Stefanov: Two-factor authentication / one-time passwords 7
OTP Arten Ereignisgesteuertes OTP wird nach einer erfolgreichen Benutzung ungültig. Zeitgesteuertes OTP wird in regelmäßigen Zeitabständen neugeneriert. Aufgabengesteuertes OTP wird als Response auf eine vom Server gestellte Challenge berechnet. Andre Stefanov: Two-factor authentication / one-time passwords 8
Bsp. für ein Ereignisgesteuertes OTP S/Key Hierbei wird eine kryptographische Hashfunktion auf einen Anfangswert (shared secret) mehrmals angewendet. 1: H(secret) 2: H(H(secret)) 3: H(H(H(secret)))... n: H n (secret) Andre Stefanov: Two-factor authentication / one-time passwords 9
Bsp. für ein Zeitgesteuertes OTP TOTP Bei einem TOTP (Time-based One-Time-Password) wird neben dem Geheimnis, die Unix-Zeit des Systems zur Berechnung verwendet. HMAC SHA1 Funktion wird auf das shared Secret S und den zeitabhängingen Zähler C angewendet: HS = HMAC SHA1(S, C) HS ist 160 bit lang (20 Byte). Um die Eingabe zu vereinfachen, wird dieser auf 6-10 Zeichen verkürzt. Andre Stefanov: Two-factor authentication / one-time passwords 10
Bsp. für ein Aufgabengesteuertes OTP Quelle: http://de.wikipedia.org/wiki/transaktionsnummer Andre Stefanov: Two-factor authentication / one-time passwords 11
Gründe für OTP Dank Smartphones kostengünstig einsetzbar: Andre Stefanov: Two-factor authentication / one-time passwords 12
Gru nde fu r OTP Dank des simplen Algorithmus u berall implementierbar (soft- und hardware): Quelle: Deutsche Postbank AG Andre Stefanov: Two-factor authentication / one-time passwords 13
Offene Probleme Desynchronisierung Durch misslungene Authentifizierenden kann es auf dem Client zu einer Desynchronisierung kommen: Andre Stefanov: Two-factor authentication / one-time passwords 14
Offene Probleme Desynchronisierung Eine Desynchronisierung kann auch bei Zeitgesteuerten OTPs zustande kommen. Lösungsvorschläge: 1 Resynchronisierung: Der Server definiert einen Toleranzbereich, in dem er nach dem eigegebenen OTP sucht und seinen Zähler danach abstimmt. 2 Toleranz: Bei zeitgesteuerten OTPs kann der Server eine Toleranzschranke definieren. Vorsicht! Diese Lösungen gefährden die Sicherheit. Andre Stefanov: Two-factor authentication / one-time passwords 15
Sicherheit Sicherheit von OTP basiert auf... Shared Secret: Ein gemeinsames Schlüssel, welches sowohl für die Generierung, als auch Validierung einzelner OTPs verwendet wird. Nichtinvertierbarkeit von Hash-Funktionen: Es ist unmöglich aus einem OTP den shared Secret zu berechnen. Mehrere Kanäle: Durch die Verwendung eines weiteren (sicheren) Kanals wird der Angriffsaufwand erhöht. Andre Stefanov: Two-factor authentication / one-time passwords 16
Sicherheit OTP schützt gegen Angriffsart JA NEIN Brute-Force X Replay X Press-Enter (Keylogger) X Social Engineering X MITM (Falscher Server) X OTP schützt gegen das Erraten oder eine Wiederverwendung von Passwörtern. Andre Stefanov: Two-factor authentication / one-time passwords 17
Schwachstellen Sicherheit von OTP ist gefährdet durch... Unsicheren Austausch des Shared Secret Infizierte Umgebung (Trojaner, Keylogger etc.) Unsichere Kanäle (z.b. IMSI-Catcher) Andre Stefanov: Two-factor authentication / one-time passwords 18
Anwendungsbeispiele Google Authenticator Mehrere Accounts möglich TOTP und HOTP Einrichtung mit QR möglich Für viele Plattformen verfügbar kostenlos Andre Stefanov: Two-factor authentication / one-time passwords 19
Anwendungsbeispiele OTP Tokens ein einziger Account TOTP oder HOTP kostengünstig verbindungslos, verbunden oder kontaktlos Quelle: http://www.made-in-china.com Andre Stefanov: Two-factor authentication / one-time passwords 20
Anwendungsbeispiele SMS (Second channel) oft als VPN Zusatzsicherheit oder bei fehlendem OTP Client Aufgabengesteuert kostengünstig Andre Stefanov: Two-factor authentication / one-time passwords 21
Fragen? Andre Stefanov: Two-factor authentication / one-time passwords 22
Vielen dank für Ihre Aufmerksamkeit! Andre Stefanov: Two-factor authentication / one-time passwords 23