wubalubadubdub 1 Yuriy Ackermann Yuriy Ackermann Sr. - - PowerPoint PPT Presentation

wubalubadubdub
SMART_READER_LITE
LIVE PREVIEW

wubalubadubdub 1 Yuriy Ackermann Yuriy Ackermann Sr. - - PowerPoint PPT Presentation

Universal Second Factor authentication or why 2FA today is wubalubadubdub 1 Yuriy Ackermann Yuriy Ackermann Sr. Certification Engineer Sr. Certification Engineer @FIDOAlliance @FIDOAlliance twitter/github: @herrjemand twitter/github:


slide-1
SLIDE 1

Universal Second Factor authentication

  • r why 2FA today is

wubalubadubdub

1

slide-2
SLIDE 2

Yuriy Ackermann Yuriy Ackermann

  • Sr. Certification Engineer
  • Sr. Certification Engineer

@FIDOAlliance @FIDOAlliance

twitter/github: @herrjemand twitter/github: @herrjemand

2

slide-3
SLIDE 3

3

slide-4
SLIDE 4

Today we will learn Today we will learn

Why passwords not enough Why 2FA has not succeeded Introduction to U2F DEMO Q&A

4

slide-5
SLIDE 5

Why not just passwords?

Weak Phishing pwned Reuse

Typical passwords life cycle

SOLUTION! SOLUTION!

Two Factor Authentication - aka 2FA Two Factor Authentication - aka 2FA

haveibeenpwned.com

5

slide-6
SLIDE 6

What is 2FA?

Passwords verify verify

2FA authenticate authenticate

6

slide-7
SLIDE 7

Do you use 2FA?

7

slide-8
SLIDE 8

What does 2FA looks like?

Three main types

Apps Tokens SMS

(TOTP and HOTP) (PKI and OTP)

8

slide-9
SLIDE 9

So we solved it?

Right?

9

slide-10
SLIDE 10

Why 2FA has not succeeded?

Apps Tokens SMS

Phishing!! UX Shared key Synced time Cost DRIVERS Phishing UX Centralised Fragile Still phishable UX Privacy Security SIM reissue SIM spoof Coverage NIST Ban

10

slide-11
SLIDE 11

11

slide-12
SLIDE 12

12

slide-13
SLIDE 13

Current state of 2FA Current state of 2FA

I am in the deep pain, I am in the deep pain, please help! please help!

13

slide-14
SLIDE 14

So how do we solve it?

We need:

Easy to use Open Secure Standardized protocol.

14

slide-15
SLIDE 15

Introducing Universal Second Factor aka FIDO U2F

15

slide-16
SLIDE 16

How does U2F works?

16

slide-17
SLIDE 17

User layer User layer

17

slide-18
SLIDE 18

Browser layer

18

slide-19
SLIDE 19

Protocol Layer

19

slide-20
SLIDE 20

Step one: Challenge-Response Challenge-Response

20

slide-21
SLIDE 21

Step two: Phishing protection Phishing protection

21

slide-22
SLIDE 22

Step three: Application-specific key-pair Application-specific key-pair

Relying Party

22

slide-23
SLIDE 23

To Wrap, or not to Wrap?

23

slide-24
SLIDE 24

Step four: Replay Attack Protection Replay Attack Protection

24

slide-25
SLIDE 25

Step five: Device attestation Device attestation

25

slide-26
SLIDE 26

Metadata service Metadata service

26

slide-27
SLIDE 27

Step five and a half: Key exercise protection Key exercise protection User must confirm their decision to perform 2FA, by performing user gesture

e.g. e.g. Fingerprint Retina scan Pincode Remembering your wife's birthday. Solving Rubikscube ...anything you want. Pressing button

27

slide-28
SLIDE 28

Multiple identifiers

Web Android iOS

How do we deal with it? How do we deal with it?

mail.google.com apk-key- hash:FD18FA com.google.SecurityKe y.dogfood

GMail GMail

28

slide-29
SLIDE 29

Application Facets

{ "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 MUST be served over VALID VALID HTTPS!

...no self signed certs. ...no self signed certs.

29

slide-30
SLIDE 30

Implementations

30

slide-31
SLIDE 31

31

slide-32
SLIDE 32

Current users

dongleauth.info dongleauth.info

32

slide-33
SLIDE 33

Browser support

Yes Yes* (Nightly Nightly) No* (Soon... Soon...) Maybe? Yes

33

slide-34
SLIDE 34

WebAuthN

A W3C standard for PublicKey credential authentication

https://www.w3.org/Webauthn/

34

slide-35
SLIDE 35

Today we learned Today we learned

Passwords are hard 2FA is wubalubadubdub, and we need to do something about it. FIDO U2F is sweet. ​ Protocol is cute You can have multiple identities There are existing solutions... ...and people do use it

35

slide-36
SLIDE 36

DEMO

36

slide-37
SLIDE 37

You must use HTTPS You must use HTTPS Start using TLS Channel ID's U2F is just 2FA. Don't use as primary factor.

Security Security considerations considerations

37

slide-38
SLIDE 38

https://github.com/Yubico/pam-u2f https://github.com/Yubico/python-u2flib-server https://github.com/Yubico/python-u2flib-host https://github.com/herrjemand/flask-fido-u2f https://github.com/gavinwahl/django-u2f https://github.com/google/u2f-ref-code https://github.com/conorpp/u2f-zero https://developers.yubico.com/U2F/ https://fidoalliance.org/specifications/download/ https://github.com/LedgerHQ <- JavaCard FIDO Dev (fido-dev) mailing list Specs and data Specs and data Things to play with Things to play with

38

slide-39
SLIDE 39

What's next? WE NEED

39

slide-40
SLIDE 40

Questions? Questions?

twitter/github: @herrjemand twitter/github: @herrjemand

40

slide-41
SLIDE 41

Quick thanks to Quick thanks to Feitian and Yubico Feitian and Yubico for swag! for swag!

41

slide-42
SLIDE 42

Thank you Thank you OWASP! OWASP!

42