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