Zwei-Faktor-Authentifizierung

Einführung

Authentifizierung und Authentisierung?

  • "Die Authentifizierung ist eine Verifizierung(Nachweis) der Behauptung der Authentizität" (Wikipedia)
  • Eine Unterscheidung findet im englischen nicht statt, im deutschen auch eher selten

Bedeutung

  • Zwei-Faktor-Authentifizierung (2FA) ist ein Identitätsnachweis
  • Zwei verschiedene und unabhängige Komponenten (-> Faktoren)

Faktoren

  • Besitztum - Schlüssel, Chipkarte, Hardware-Token
  • Geheimnis - Kennwort, Persönliche Identifikationsnummer (PIN), Transaktionsnummer (TAN)
  • Körperliches Charakteristikum - Fingerabdruck, Stimme, Iris

Beispiele

  • Authentifizierung fürs Geldabheben
    • Geldkarte
    • PIN
  • Betreten eines Sicherheitsgebäudes
    • Chipkarte
    • Kennwort

Notwendigkeit

Für gewisse Systeme reicht ein Faktor nicht aus, da dieser z.B.
  • gestohlen (Besitztum)
  • erraten (Geheimnis)
  • gefälscht (Persönliches Charakteristikum)
werden kann.

Nachteile

  • Authentifizierung dauert länger
  • Der Besitztum muss jederzeit mitgeführt werden
  • Kosten entstehen bei der Erstanschaffung/Ersatzbeschaffung von Besitztum

Arten der Zwei-Faktor Authentifizierung

Mittelbare 2FA

  • 2FA mit Besitztum und Geheimnis
  • Nutzt Mobilgeräte als Token mit dynamischen Passcode (bestehend aus Ziffern)
  • Code wird mittels SMS, E-Mail oder App übermittelt
  • Bei Verlust gibt es in der Regel Backup-Codes

Halbautomatische 2FA

  • 2FA gilt als "halbautomatisch" wenn keinerlei manuelle Dateneingabe mehr erledigt werden muss
  • Beispiel: NFC in personalisiertem Mobilgerät

Vollautomatische 2FA

  • 2FA gilt als "vollautomatisch" wenn keinerlei Handhabung mehr erledigt werden muss
  • Beispiel: Verwendung von Piconetzen (Bluetooth)

Universelle 2FA (U2F)

  • Industriestandard der u.a. von Google entwickelt wurde
  • Fortentwicklung des Standards erfolgt durch FIDO-Allianz (u.a. Microsoft, PayPal, MasterCard, etc.)
  • 2FA mit "Security-Token"

Merkmale von U2F

  • Hersteller-, Betriebssystem-, Geräte-, Protokoll- und Anbieterunabhängigkeit
  • Lizenzfrei
  • Öffentliche Spezifikation
  • Einfachheit der Bedienung

Nutzung verschiedener 2FA

Faktoren, die ich ungerne für 2FA nutze

  • E-Mail
  • SMS

2FA, die ich gerne nutze

  • Mittelbare 2FA mit Google Authenticator
  • Generierung von Passcodes alle 30 Sekunden (TOTP - Time-based One-time Password Algorithm)
  • Generierung des Codes durch geheimen Key auf Server & Smartphone mit aktuellen Timestamp
  • App kommuniziert nicht mit Server (nur bei unterschiedlichen Timestamps zur Synchronisierung)

Weitere Authenticator Apps

  • Authy - Synchronisierung der Passcodes auf mehrere Geräte (Android, iOS, Blackberry, OSX, Windows, Linux)
  • Microsoft Authenticator for Windows Phone
  • OATH Toolkit - Open Source Command Line Implementierung für Linux
  • FreeOTP - Open Source client für Android und iOS
  • GAuth - Web application client

Und welcher Dienst bietet nun welche 2FA an?

  • Viele Anbieter haben in den letzten zwei Jahren nachgezogen
  • Eine tolle Auflistung gibt es auf twofactorauth.org

Implementierung von 2FA

TOTP Server Side

2FA als Service

U2F Server Side

Vielen Dank für eure Aufmerksamkeit!

Quellen

Bilder