Two-factor authentication / one
Transcription
Two-factor authentication / one
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 Passwörter Andre Stefanov: Two-factor authentication / one-time passwords 5 Zu wenige Passwörter service google facebook twitter blizzard login andre@gmail.com blabla@hotmail.de blabla@hotmail.de killer Andre Stefanov: Two-factor authentication / one-time passwords password pHzd5s pHzd5s pHzd5s pHzd5s 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: 2: 3: ... n: H(secret) H(H(secret)) H(H(H(secret))) 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 = HM AC 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 Gründe für OTP Dank des simplen Algorithmus ü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 Brute-Force Replay Press-Enter (Keylogger) Social Engineering MITM (Falscher Server) JA X X NEIN X X 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