Ab mit den alten Zöpfen

2FA - jetzt mal richtig
Cornelius Kölbel, Linuxtag Dornbirn, 19.10.2019
https://privacyidea.org/talks/Linuxtag-Dornbirn/ab-mit-dem-alten-zöpfen.html
Agenda
  • 2FA allgemein
    Was Dir bisher nicht klar war, aber Du zu schüchtern zu fragen...
  • Mergers & Akquisitions
    Bist Du zu gut, ist das schlecht!
  • Meine Geschichte
    Alt, aber nicht sooo! alt.
  • privacyIDEA
    Go against the flow!
  • Migration
    Es gibt Licht am Ende des Tunnels

Zwei-Faktor-Authentifizierung

  • Wo macht Ihr's
  • Als was? End-User, Admin, Unternehmen...?
Was die Leute glauben...
  • Zwei Faktoren
  • Zwei Wege

Wissen, Besitz, Eigenschaft

Was tatsächlich 2FA ist:

Was ist keine 2FA...?

Zwei Passwörter

Zwei Apps auf einem Smartphone!

Was ist kein Besitzfaktor...?

(Hinweis: i.d.R. wird hierfür eine eindeutige kryptographische Komponente verwendet)

SMS!

Was verwendet einen Hash-basierten Message Authentication Code (HMAC)?

HOTP, TOTP (RFC 4226, 6238)

Was verwendet asymmetrische Krypto wie RSA oder ECC?

Smartcards, U2F, FIDO2

Was nutzt starke, nicht gebrochene Hash-Algorithmen?

Passwörter

Was verwendet proprietäre Algorithmen?

Biometrie

Realitätscheck

Das Problem mit dem Google Authenticator

Blog Post
Organisatorische Probleme mit 2FA
  • Nicht alle Benutzer kommern persönlich beim Admin vorbei!
  • Die Benutzer sind ggf. gar nicht bekannt!
  • Die Benutzer sind nicht technikaffin.
  • Mein Gerät wird nicht unterstützt!
  • Welchem Anbieter und welcher Software soll ich vertrauen?
Was der Anbieter bei 2FA beachten muss
  1. Wähle die Technologie weise - oder ermögliche mehrere Technologien!
  2. Hersteller unabhängig.
  3. Backup-Mechanismen
  4. Einfach für den Benutzer
  5. Helpdesk-Prozesse
  6. Weitere Workflows: Rollout, 2FA verloren, Kündigung...
2FA ist mehr. Es bedeutet außerdem...
  • Infrastruktur
  • Management
  • Workflows

2FA benötigt ein
2FA Management- und Authentisierungs-System

In der Vergangenheiten
haben Hardware-Hersteller solche für ihre (proprietäre) Hardware-Token angeboten.
(RSA SecurID, Vasco, Kobil)

Applikationen -- kein 2FA Management

Wollt Ihr wirklich ein 2FA-Management bauen? (Wordpress, Nextcloud, FreeIPA, Keycloak)
Selbst Microsoft macht das nicht im AD.

Mergers and Acquisitions

Das Problem mit proprietärer Software

Konsolidierung des Marktes
(Steile) These:

Wenn Dein 2FA-System richtig gut ist, ...

... wird es untergehen!

Beispiel Smartcards/Biometrie
Beispiel OTP
Fazit: OnPrem-Produkte Safeword 2008 (SAM Express), TMS (SAM) sind EOL. Blackshield wird als überteuertes Cloud-Angebot weiterbetrieben.
Probleme mit proprietärer Software und EOL
  • Börsennotiert und umsatzgetrieben. ... dann verkaufen wir die Firma halt!
  • Kauf von (Benutzer)-Lizenzen
  • End of sales/EOL: Weitere Lizenzen können nicht mehr erworben werden.
  • Migration! (Kosten, Kosten, Kosten)
Migration...
  • Hersteller: "Migriere zu meinem tollen Cloud-Dienst!"
    (von wo Du nicht mehr weg kommst!)
  • Hersteller: "Migriere zu meiner tollen OnPrem-Software!"
    (die ungefähr 10-mal so viel kostet, wie die alte, weil sie ja eine andere ist und viel besser)
  • Cornelius: "Migriere zu privacyIDEA!"

Meine persönliche 2FA-Geschichte

...seit 2005

2005

  • Reseller: eToken, Smartcards, PKI, HSMs
  • :-) Offline, Signatur, Verschlüsselung, Full HDD Enc
  • :-( PKI

2005/2006

  • Reseller: eToken NG OTP
  • Aladdin TMS
  • Markt: Interesse an OTP wächst (no PKI)

12/2005

  • RFC 4226: HOTP
  • (RFC 6238 TOTP erst 05/2011)

2006

  • Hersteller: FreeRADIUS-Plugin (LinOTP) für eToken NG OTP

2009, 04/2010

  • Hersteller / Produktmanagement: Management taugliche Open-Core Software (LinOTP2) für eToken NG und andere.

09/2010

  • Missbrauch des HOTP Algorithmus durch Google für den Authenticator

2010 - 2012

  • Hersteller:
    • Verbreitung des Google Authenticators
    • SMS OTP!
    • OCRA (setzt sich nicht durch)

2013

  • Die klassischen, proprietären Hersteller gehen in die Cloud...
  • Mit dem "Siegeszug" der Cloud scheint die Smartcard an Bedeutung verloren zu haben. Ausschließlich Nachfrage nach OTP / Smartphone...
  • Hersteller: U2F (setzt sich nicht durch) als nicht enterprise-tauglich

2014

  • Hersteller
    • Eigene Open Source-Strategie → Fork zu privacyIDEA
    • Rewrite auf modernere Technologien - Flask, AngularJS, Bootstrap
    • Gründung des eigenen Unternehmens

seither mit privacyIDEA

  • Der Faktor ist egal
  • Entscheidend sind:
    • Einbindung in eigene Prozesse
    • Benutzerakzeptanz
    • Nachhaltigkeit
    • Kosten (Nicht nur in "Lizenzen" sondern auch im Betrieb)

Successful 2FA is a matter of smooth workflows.

privacyIDEA Authentication System

privacyIDEA ist kein...

  • Identity Management,
  • VPN,
  • Firewall,
  • LDAP oder sonstige Benutzer-DB...
...sondern ein reines Token-Management-System und Authentifizierungsdienst für zweite Faktoren.

Software Stack

  • REST-API
  • Python Applikation (Flask) (2.7 - 3.7)
  • Apache2 oder NGinX
  • Datenbank (SQLAlchemy): MySQL/MariaDB, PostgreSQL, Oracle...

Benutzer

Lesender (schreibend möglich) Zugriff auf
  • LDAP
  • SQL
  • Flatfile
  • SCIM
...beliebig kombinierbar (siehe Realm Konzept).

Tokentypen

Hardware-, Software- und Virtuelle Token
  • Hardware: Key Fob, OTP Karten, Yubikey, Nitrokey, U2F
  • Software: Smartphone Apps, Push-Token, Zertifikate, Paper/TAN-Liste, Fragenkatalog, Registrierung, Passwort...
  • Virtuell: Forward/Remote, RADIUS, 4-Augen

Richtlinien (Policiy Scopes)

... bestimmen das Verhalten des Systems
  • Admin / User
  • Authentication
  • Authorization
  • Enrollment
  • WebUI
  • Register

Richtlinien sind abhängig von...

  • Benutzern
  • beliebigen Benutzer-Attributen
  • beliebigen HTTP-Headern
  • Administratoren
  • Zeit
  • Client

Event Handler

...können zusätzliche Aktionen auslösen.
  • Notification
  • Token
  • Script
  • Counter
  • Federation
  • Request Mangler
  • Response Mangler
  • Notification File Writer

Fazit: Bessere Workflows.

Recurring Tasks

  • Zählt Ereignisse und
  • erzeugt Statistiken
  • ... more to come ...

Migration eines Alt-Systems

Migrationsmöglichkeiten
Eine leichte Migration zu privacyIDEA wird ermöglicht durch...
  • Remote-Token und passthru-Richtlinie → Token neu ausrollen
  • Import von Seedfiles, auto-assign, auto-pin → bestehende Token zuweisen
  • Offene DB-Strutkur und Trennung im Code von DB-Ebene, Library-Ebene, API-Ebene und UI-Ebene. → besseres Skripting, Umveschlüsselung
Beispiel proprietäre Lösung mit undefiniertem Algorithmus
... Alt-System arbeitet nach unbekanntem Algorithmus. Kein DB-Zugriff. Keine Ahnung.
  • privacyIDEA wird als RADIUS Proxy vor das Alt-System gesetzt.
  • passthru policy: Benutzer ohne Token werden an das Alt-System weitergeleitet. → Einheitliches Auditlog in privacyIDEA.
  • Nach und nach werden neue Token in privacyIDEA ausgerollt → Parallelbetrieb und sanfte Migration so lange es eben dauert.
Beispiel proprietäre Lösung mit HOTP/TOTP
... Alt-System arbeitet auf HMAC basierend. Seed-Files vorhanden. Kein Export möglich
  • Alte Seed-Datein sind vorhanden und werden in privacyIDEA importiert.
  • Passthru Policy für Benutzer, die keinen Token haben.
  • Auto-Assign Policy, Auto-Pin Policy → Der Token wird dem Benutzer automatisch zugewiesen, die PIN wird automatisch gesetzt.
Beispiel proprietäre Lösung mit HOTP/TOTP
... Alt-System arbeitet auf HMAC basierend. Mit Datenbankexport (3DES). Keine Seed-Files.
  • Skript entschlüsselt die Token-Seeds im Export und importiert diese in privacyIDEA.
  • Benutzerzuordnung muss individuell gelöst werden.
Beispiel Open Sorce Lösung
...mit Skript
  • Dumpen der alten Datenbank
  • Einlesen der alten Token und Tokenzuordnungen
  • Umverschlüsseln
  • Schreiben der Token und Zuordnungen direkt nach privacyIDEA auf DB-Ebene.
    ca 10 Sekunden für 1000 Token mit Umverschlüsselung - Bulk write.
    Migration von 2 Alt-System mit unterschiedlichen Enckeys zu einem privacyIDEA - Konsolidierung der Benutzerzordnungen

Vielen Dank!

Auf! An die Tastatur und ab mit den alten Zöpfen!