27
Standards Token Zwei-Faktor-Authentifikation mit Yubikey-Token Stefan Schumacher sicherheitsforschung-magdeburg.de [email protected] SLAC 2017 22.05.2017 Stefan Schumacher sicherheitsforschung-magdeburg.de Zwei-Faktor-Authentifikation mit Yubikey-Token

Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Zwei-Faktor-Authentifikation mitYubikey-Token

Stefan Schumacher

sicherheitsforschung-magdeburg.destefan.schumacher@sicherheitsforschung-magdeburg.de

SLAC 201722.05.2017

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 2: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Über Mich

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 3: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Über Mich

Geek, Nerd, Hacker seit mehr als 20 JahrenBerater für Finanzinstitute, Regierungen,SicherheitsbehördenDirektor des Magdeburger Instituts fürSicherheitsforschungForschungsprogramme zur UnternehmenssicherheitHerausgeber des Magdeburger Journals zurSicherheitsforschungwww.Sicherheitsforschung-Magdeburg.de

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 4: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Authentifizierung

Authentifizierung: Nachweis einer bestimmtenEigenschaftBsp: Benutzername/Passwort; Anruf/Parole;Person/Personalausweis;Problem: Jeder der Benutzername und Passwort kennt,kann sich als der Benutzer ausgebenschwache Passwörter, schlechte PasswortsicherheitStratfor-Hack: Kundendatenbank gestohlen, Passwörterals MD5 gehashtThomas Roth: 1-6 stellige SHA1-Hashes in 50 Minuten/2$auf Amazon EC2

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 5: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Zwei-Faktor-Authentifizierung

Zwei-Faktor-Authentifizierung: Einführung eines 2.Faktors zur AuthentifizierungEinbrechern kann Passwort kennen, benötigt aber 2. Faktor(Token)Schutz vor Shouldersurfing, schwachen Passwörtern,schlechten DatenbankenSchutz vor Man-in-the-Middle möglich

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 6: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Wissen: Passwort, Pin, TANBesitz: Schlüssel, EC-Karte, Token, DateiSein: Fingerabdruck, Iris, Stimme, GesichtKombinationen: Benutzername+Passwort+Token;Benutzername+TAN+Token; Smartcard+TokenNachteile: Token muss mitgeführt werden und kostet Geld

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 7: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Wissen: Passwort, Pin, TANBesitz: Schlüssel, EC-Karte, Token, DateiSein: Fingerabdruck, Iris, Stimme, GesichtKombinationen: Benutzername+Passwort+Token;Benutzername+TAN+Token; Smartcard+TokenNachteile: Token muss mitgeführt werden und kostet Geld

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 8: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Inhaltsverzeichnis

1 Standards

2 Token

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 9: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

OATH

Initiative for Open Authentication (OATH)IndustriezusammenschlussMitgliedschaft kostet GeldHOTP: RFC4226TOTP: RFC6238

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 10: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

FIDO

Industrie-Konsortium mit 200 Mitgliedern, u.a. Google,Paypal, Lenovo, Alibaba, NTT DoCoMo, Samsung, Visa,RSA, Intel, ING, YubicoSpezifikationsrahmen u.a. für Biometrie, Trusted PlatformModules, Smart Cards, NFCAuthentifikation mittels asymmetrischer KryptographieU2F: Universal 2nd Factor, offener Standard für 2FA viaUSB oder NFCIntegriert in Chrome seit 38, Firefox AddOn, Windows 10und Edge

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 11: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Inhaltsverzeichnis

1 Standards

2 Token

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 12: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 13: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 14: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Yubikey Token

Yubikey Neo: 55e, USB+NFC, OTP, PIV, OpenPGP(2048bit), U2FYubikey 4: 48e, USB, OTP, PIV, OpenPGP (4096bit), U2F,PKCS#11Yubikey 4 Nano: 60eFIDO U2F Security Key: 17e, nur U2FPlug-up U2F: 5eYubikey Neo/4: 2 Slots, müssen programmiert werden

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 15: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Fähigkeiten

Public-Key-basiertes Challenge-Response ProtokollPhishing und MitM-Schutzapplikationsspezifische Schlüssel,Erkennung geklonter TokenBeglaubigung von Token

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 16: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

One Time Passwort (OTP)

Passwort, welches nur einmal gültig istverfällt nach (missglücktem) Login-Vorgangpassives Mithören, Replay-Attacken nicht möglichMitMA können funktionierenAlice und Bob müssen das gültige OTP kennenKennwortliste oder Kennwortgenerator

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 17: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

One Time Passwort (OTP)Kennwortgeneratoren

übertragen das Ergebnis eines AlgorithmusZeitgesteuerte Generatorenwohldefiniertes Zeitintervall, Uhren müssen synchron seinEreignisgesteuerte GeneratorenEreignis löst Kennwortgenerator aus, keine Uhr/Stromnötig, OTP kann theoretisch ∞ gültig bleibenChallenge-Response-gesteuerte GeneratorenClient berechnet OTP basierend auf Challenge, Challengesollte Zufallsgeneriert seinHOTP: HMAC-SHA1 via Zähler und Seed, SHA1 + Key +Message +XOR (definierte Werte)

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 18: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

U2F Login

Login auf Google.comBenutzername und Passwort eingebenwenn Passwort korrekt, Token einstecken (oder SMS)Kontaktschalter drückenToken authentifiziert sich via U2F ServerGoogle akzeptiert Login wenn der Token eingetragen istBrowser kann per Cookie aktiviert bleiben

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 19: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

U2F Schema

Token hat kpriv und sendet kpub an Relying Party (RP)Schlüsselpaar wird im Token generiert, kann nichtmanipuliert werdenBrowser kompiliert Informationen (URI, TLS Channel ID)über HTTP-VerbindungToken signiert diese Informationen und schickt sie an RP

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 20: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

U2F Schema

Token generiert neues Schlüsselpaar mit App ID und KeyHandle für jede Registrierung RP weiß nicht, dass Aliceund Bob das selbe Token nutzenAuthentifikationszähler inkrementiert bei jederAuthentifizierung, RP vergleicht Zähler mit gespeichertemStand ZT > ZRP

Beglaubigungs-Zertifikat kann vom Hersteller ausgefülltund auf Token gespeichert werden RP kann nurbestimmte Token zulassen (z.B. Yubikey ja, RSA nein, oderspezielle Yubikeys)

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 21: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

U2F Unterstützung

Übersicht: http://www.dongleauth.infoGoogle, Dropbox, Github, PAM,Wordpress, Django, Ruby on RailsOpenSSH, Login, OpenVPN, FreeRADIUS via PAMLastPass, Dashlane, Password Safe, Passpack, PasswordTote, pwSafe, KeePass

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 22: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Google einrichten

1 Mein Konto,2 Anmeldung und Sicherheit3 Bestätigung in zwei Schritten4 Sicherheitsschlüssel5 Unter Bestätigungscodes: Handy registrieren und SMS

einrichten oder Google Authenticator App einrichten6 Zusätzlich: Ersatzcodes einrichten (TAN-Liste),

ausdrucken und wegschließen

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 23: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Web.de unterstützt U2F nicht

OATH-HOTP im Yubikey Personalization Tool einrichten,Secret Key generierenKeePass installieren und einrichten, Plugin OtpKeyProvinstallieren, Secret Key hinterlegensicheres Passwort für Keepass vergebenZufallspasswort (256HEX Bit) generieren und bei Web.deeintragen09137f0ac6627f9e94e2af2342d2610bf20ff0ee929114d27b3629e3823e11ea

KeePass mit dem Webbrowser via Plugin verbindenKeePass-Datenbank mit Passwort und Tokenentschlüsseln, Browser holt User/Passwort für Web.de viaPlugin aus DB.

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 24: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

Yubico für eigene Dienste

Plugins existieren u.a. für Wordpress, Django etc.PAM-Modul (yubico-pam kann eingebunden werdenYubikey-Server existiert als Paket, YubiHSM alsHardwareerweiterungOnline-Validierung via YubiCloud oder eigenemValidierungsserverseit 2.6 Offline-Validierung dank HMAC-SHA1Challenge-ResponsePAM-Modul installieren und konfigurieren,Conf-Datei landet in $HOME, Obacht bei ECryptFSSSH (Passwort + Token) per PAMOpenVPN und Radius via PAM

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 25: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

yubikey-luks

System verschlüsselt installieren, mit sehr langemZufallspasswortDas Zufallspasswort bleibt immer aktiviert, LUKS kannauch ohne Yubikey eingebunden werdencryptsetup luksDump /dev/sda2 Keyslots anzeigenlassenstandardmäßig gibt es 8 Keyslots 8 Passwörter für einLUKSapt-get install yubikey-luks yubikey-personalization

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 26: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

yubikey-luks

ykpersonalize -2 -ochal-resp -ochal-hmac-ohmac-lt64 -oserial-api-visible

Challenge-Response Authentifikation mit HMAC-SHA1aktivierencryptsetup luksAddKey -key-slot 7 /dev/sdb2

yubikey-luks-enroll -d /dev/sdb2 -s 7 -c -neues Passwort für LUKS + Yubikey vergebenNeustartneues Passwort und Yubikey eingesteckt haben oderaltes Passwort eingeben

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token

Page 27: Zwei-Faktor-Authentifikation mit Yubikey-Token · Wordpress, Django, Ruby on Rails OpenSSH, Login, OpenVPN, FreeRADIUS via PAM LastPass, Dashlane, Password Safe, Passpack, Password

Standards Token

sicherheitsforschung-magdeburg.destefan.schumacher@sicherheitsforschung-magdeburg.desicherheitsforschung-magdeburg.de/publikationen/journal.html

youtube.de/Sicherheitsforschung

Twitter: 0xKaishakuninXing: Stefan SchumacherZRTP: [email protected]

Stefan Schumacher sicherheitsforschung-magdeburg.de

Zwei-Faktor-Authentifikation mit Yubikey-Token