Yuriy Ackermann
Sr. Certification Engineer @FIDOAlliance
twitter/github: @herrjemand
Today we will learn
Weak
Phishing
Reuse
Typical passwords life cycle
SOLUTION!
Two Factor Authentication - aka 2FA
pwned
haveibeenpwned.com
Passwords verify
2FA authenticate
Three main types
Apps
Tokens
SMS
(TOTP and HOTP)
(PKI and OTP)
Apps
Tokens
SMS
Current state of 2FA
I am in the deep pain,
please help!
User layer
Step one: Challenge-Response
Step two: Phishing protection
Step three: Application-specific key-pair
Relying
Party
To Wrap, or not to Wrap?
Step four: Replay Attack Protection
Step five: Device attestation
Metadata service
Step five and a half: Key exercise protection
User must confirm their decision to perform 2FA, by performing user gesture
e.g.
Fingerprint
Retina scan
Pincode
Remembering your wife's birthday.
Solving Rubikscube
...anything you want.
Pressing button
Web
Android
iOS
How do we deal with it?
mail.google.com
apk-key-hash:FD18FA
com.google.SecurityKey.dogfood
GMail
{
"trustedFacets": [{
"version": { "major": 1, "minor" : 0 },
"ids": [
"https://accounts.google.com",
"https://myaccount.google.com",
"https://security.google.com",
"android:apk-key-hash:FD18FA800DD00C0D9D7724328B6D...",
"android:apk-key-hash:/Rj6gA3QDA2ddyQyi21JXly6gw9D...",
"ios:bundle-id:com.google.SecurityKey.dogfood"
]
}]
}
MUST be served over VALID HTTPS!
...no self signed certs.
dongleauth.info
Yes
Yes*
(Nightly)
No*
(Soon...)
Maybe?
Yes
A W3C standard for PublicKey credential authentication
https://www.w3.org/Webauthn/
Today we learned
Security considerations
Specs and data
Things to play with
Questions?
twitter/github: @herrjemand
Quick thanks to
Feitian and Yubico
for swag!
Thank you OWASP!