To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland...

86
True2F: Backdoor-resistant authentication tokens Emma Dauterman, Henry Corrigan-Gibbs, David Mazières, Dan Boneh, Dominic Rizzo Stanford and Google To appear at Oakland 2019

Transcript of To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland...

Page 1: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F: Backdoor-resistant authentication tokens

Emma Dauterman, Henry Corrigan-Gibbs, David Mazières, Dan Boneh, Dominic Rizzo

Stanford and Google

To appear at Oakland 2019

Page 2: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

U2F: effective hardware 2FA

2

Page 3: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

U2F: effective hardware 2FA

3

Page 4: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

U2F protocol steps

1. Registration (associating a token with an account)

2. Authentication (logging into an account)

4

Page 5: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

5

U2F Step #1: Registration

github.comgithub.com

pkgithub.com pkgithub.com

Associate a token with an account.

github.com

Page 6: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

6

U2F Step #2: Authentication

github.com,challenge

signature signature

github.com,challenge

github.com

Log into an account.

Page 7: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

7

github.com,challenge

github.com

Even if malware takes over your browser, it can’t authenticate without the token.

U2F defends against phishing and browser compromise

Page 8: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

8

github.com

skadv

skadv

… but what about token compromise?

Page 9: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

9

github.com

github.com

… but what about token compromise?

skadv

skadv

Page 10: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

10

github.com

github.com github.com

… but what about token compromise?

skadv

skadv

Page 11: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

11

github.com

github.com github.com

… but what about token compromise?

pkadv

skadv

skadv

Page 12: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

12

github.com

github.com github.com

… but what about token compromise?

pkadv pkadv

skadv

skadv

Page 13: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F: enhancement of U2F

Goals of True2F:

- Augment U2F to protect against backdoored tokens- Strongest-link security between the token and the browser

- Backwards-compatible with existing U2F servers

- Performant on commodity hardware tokens

13

Page 14: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F: enhancement of U2F

Goals of True2F:

- Augment U2F to protect against backdoored tokens- Strongest-link security between the token and the browser

- Backwards-compatible with existing U2F servers

- Performant on commodity hardware tokens

14

Design principles for True2F:

- Both browser and token contribute randomness to the protocol.

- All deterministic token operations can be verified by the browser.

Page 15: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

U2F protocol steps

1. Registration (associating a token with an account)

2. Authentication (logging into an account)

15

Page 16: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F protocol steps

0. Initialization (after purchasing a token)

1. Registration (associating a token with an account)

2. Authentication (logging into an account)

16

Page 17: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F protocol steps

0. Initialization (after purchasing a token)

1. Registration (associating a token with an account)

2. Authentication (logging into an account)

17

Approach: Both browser and token contribute randomness to the protocol.

Page 18: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

18

Step #0: Initialization

mskmpk

collaborative key

generation

Page 19: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

19

The token cannot bias the public key that the protocol outputs.

Collaborative Key Generation properties

[CMBF13]

Page 20: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

20

The token cannot bias the public key that the protocol outputs.

The browser learns nothing about the secret key.

Collaborative Key Generation properties

[CMBF13]

Page 21: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

21

Our Collaborative Key Generation protocol

Page 22: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

22

Our Collaborative Key Generation protocol

Page 23: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

23

Our Collaborative Key Generation protocol

Page 24: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

24

Our Collaborative Key Generation protocol

Page 25: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

25

Our Collaborative Key Generation protocol

Page 26: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

26

Our Collaborative Key Generation protocol

Page 27: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

27

Our Collaborative Key Generation protocol

Page 28: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

28

Our Collaborative Key Generation protocol

Page 29: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

29

Our Collaborative Key Generation protocol

The token cannot bias the public key that the protocol outputs.

Page 30: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

30

Our Collaborative Key Generation protocol

The browser learns nothing about the secret key (except the public key).

Page 31: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F protocol steps

0. Initialization (after purchasing a token)

1. Registration (associating a token with an account)

2. Authentication (logging into an account)

31

Page 32: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F protocol steps

0. Initialization (after purchasing a token)

1. Registration (associating a token with an account)

2. Authentication (logging into an account)

32

Approach: All deterministic token operations can be verified by the browser.

Page 33: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

33

Step #1: U2F Registration

github.comgithub.com

pkgithub.com pkgithub.com

Associate a token with an account.

github.com

Page 34: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

34

evil.com

Supply-chain attack on U2F registration

Page 35: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

35

evil.com

evil.com

Supply-chain attack on U2F registration

Page 36: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

36

evil.com

evil.com

evil.com

Supply-chain attack on U2F registration

Page 37: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

37

evil.com

evil.com

evil.com

pkevil.com ← f(skgithub.com)

Supply-chain attack on U2F registration

Page 38: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

38

evil.com

evil.com

evil.com

pkevil.com

pkevil.com ← f(skgithub.com)

Supply-chain attack on U2F registration

Page 39: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

39

evil.com

evil.com

evil.com

pkevil.com

pkevil.com ← f(skgithub.com)

pkevil.com

Supply-chain attack on U2F registration

Page 40: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

40

evil.com

evil.com

evil.com

pkevil.com

pkevil.com ← f(skgithub.com)

pkevil.com

skgithub.com

Supply-chain attack on U2F registration

Page 41: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

41

Verifiable Identity Families (VIFs)

mskmpk

Derive server-specific keypairs in a deterministic and verifiable way from a master keypair.

Page 42: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

42

VIF properties

Page 43: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

1. Unique: The token can produce the unique keypair for github.com.

43

VIF properties

Page 44: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

1. Unique: The token can produce the unique keypair for github.com.

2. Verifiable: The token can prove to the browser that pk is really the unique public key for github.com.

44

VIF properties

Page 45: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

VIF properties

1. Unique: The token can produce the unique keypair for github.com.

2. Verifiable: The token can prove to the browser that pk is really the unique public key for github.com.

3. Unlinkable: The VIF public key for github.com is indistinguishable from a random ECDSA public key.

45

Page 46: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

VIF properties

1. Unique: The token can produce the unique keypair for github.com.

2. Verifiable: The token can prove to the browser that pk is really the unique public key for github.com.

3. Unlinkable: The VIF public key for github.com is indistinguishable from a random ECDSA public key.

4. Unforgeable: The browser cannot forge signatures under VIF-generated public keys.

46

Page 47: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

47

VIF construction overview

github.com

mskmpk

Page 48: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

48

VIF construction overview

github.com

mskmpk

github.com

Page 49: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

49

VIF construction overview

github.com

mskmpk

github.comgithub.com

Page 50: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

50

VIF construction overview

github.com

mskmpk

github.comgithub.com

VIF.Eval(msk, github.com) → (sk, pk, π)

Page 51: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

51

VIF construction overview

github.com

mskmpk

github.comgithub.com

pk, π

VIF.Eval(msk, github.com) → (sk, pk, π)

Page 52: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

52

VIF construction overview

github.com

mskmpk

github.comgithub.com

VIF.Verify(mpk, github.com, pk, π) → {0,1}

pk, π

VIF.Eval(msk, github.com) → (sk, pk, π)

Page 53: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

53

VIF construction overview

github.com

mskmpk

github.comgithub.com

pk

VIF.Verify(mpk, github.com, pk, π) → {0,1}

pk, π

VIF.Eval(msk, github.com) → (sk, pk, π)

Page 54: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

54

Simplified VIF construction

github.com

Page 55: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

55

Simplified VIF construction

github.com

Page 56: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

56

Simplified VIF construction

github.com

Page 57: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

57

Simplified VIF construction

github.com

Page 58: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

58

Simplified VIF construction

github.com

Page 59: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

59

Simplified VIF construction

github.com

Page 60: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

60

Simplified VIF construction

github.com

Page 61: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

61

Simplified VIF construction

github.com

Unique: The token can produce the unique keypair for github.com.

Page 62: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

62

Simplified VIF construction

github.com

Verifiable: The token can prove to the browser that pk is really the unique public key for github.com.

Page 63: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

63

Simplified VIF construction

github.com

Unlinkable: The VIF public key for github.com is indistinguishable from a random ECDSA public key.

Page 64: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

64

Simplified VIF construction

Verifiable Random Functions [MRV99], [DY05], [GRPV18]

github.com

Unlinkable: The VIF public key for github.com is indistinguishable from a random ECDSA public key.

Page 65: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

65

Simplified VIF construction

Verifiable Random Functions [MRV99], [DY05], [GRPV18]

github.com

Unforgeable: The browser cannot forge signatures under VIF-generated public keys.

Page 66: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

66

evil.com

evil.com

evil.com

pkevil.com

pkevil.com ← f(skgithub.com)

Browser verifies public key

Page 67: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F protocol steps

0. Initialization (after purchasing a token)

1. Registration (associating a token with an account)

2. Authentication (logging into an account)

67

Page 68: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F protocol steps

0. Initialization (after purchasing a token)

1. Registration (associating a token with an account)

2. Authentication (logging into an account)

68

Approach: Both browser and token contribute randomness to the protocol.

Page 69: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

69

Step #2: U2F Authentication

github.com,challenge

signature signature

github.com,challenge

github.com

Log into an account.

Page 70: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

70

evil.com

signature signature

Supply-chain attack on U2F authentication

evil.com,challenge

evil.com,challenge

Hide skgithub.com in signature

skgithub.com

Page 71: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

71

evil.com

signature signature

Supply-chain attack on U2F authentication

evil.com,challenge

evil.com,challenge

Hide skgithub.com in signature

ECDSA signatures are not unique.

Unique signatures: [BLS04]Subliminal channels: [Sim84], [Des88]

skgithub.com

Page 72: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

Firewalled ECDSA Signatures

Two ideas:

1. The token and browser use collaborative key generation to generate a signing nonce.

2. Because of ECDSA malleability, signatures are re-randomized by the browser.

… see paper for details.

72[AMV15], [MS15], [DMS16]

Page 73: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F protocol steps

0. Initialization (after purchasing a token)

1. Registration (associating a token with an account)

2. Authentication (logging into an account)

73

Page 74: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

Other contributions (see paper)

- Flash-optimized data structure for storing U2F authentication counters- Provides stronger unlinkability than many existing U2F tokens- “Tear-resistant” and respects constraints of token flash

- Cryptographic optimizations tailored to token hardware- Offload hash-to-point to the browser- Cache Verifiable Random Function outputs at the browser

74

Page 75: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F implementation

75

Google production USB token with same hardware

specs.

Google development board running True2F.

ARM SC-300 processor clocked at 24 MHz

Page 76: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

76

True2F imposes minimal authentication overheadCollaborative KeygenVIF.EvalECDSA.Sign

Browser

Toke

n

Page 77: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

77

Collaborative KeygenVIF.EvalECDSA.Sign

Browser

Toke

n

True2F imposes minimal authentication overhead

Page 78: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

78

Collaborative KeygenVIF.EvalECDSA.Sign

Browser

Toke

n

True2F imposes minimal authentication overhead

Page 79: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

79

Collaborative KeygenVIF.EvalECDSA.Sign

Browser

Toke

n

True2F imposes minimal authentication overhead

Page 80: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

80

Collaborative KeygenVIF.EvalECDSA.Sign

Browser

Toke

n

True2F imposes minimal authentication overhead

Page 81: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

81

Collaborative KeygenVIF.EvalECDSA.Sign

Browser

Toke

n

True2F only ~2.5x slower than U2F

True2F imposes minimal authentication overhead

Page 82: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

82

Comparatively small end-to-end slowdown

Page 83: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

83

Comparatively small end-to-end slowdown

True2F only 12-16% slower than U2F

Page 84: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

True2F: don’t settle for untrustworthy hardware

Emma [email protected]

https://arxiv.org/abs/1810.04660Paper to appear at Oakland 2019

84

True2F- Augments U2F to protect against backdoored tokens- Backwards-compatible with existing U2F servers

Practical to deploy: performant on commodity hardware tokens

Next step: FIDO standards body

Page 85: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

References[ACMT05] G. Ateniese, D. H. Chou, B. De Medeiros, and G. Tsudik. Sanitizable signatures. In ESORICS, 2005.[BPR14] M.Bellare, K.G.Paterson,and P.Rogaway. Security of symmetric encryption against mass surveillance. In

CRYPTO, 2014.[BLS04] D. Boneh, B. Lynn, and H. Shacham. Short signatures from the Weil pairing. Journal of cryptology, 17(4),

2004.[Des88] Y. Desmedt. Subliminal-free authentication and signature. In EUROCRYPT, 1988.[DMS16] Y. Dodis, I. Mironov, and N. Stephens-Davidowitz. Message transmission with reverse firewalls—secure

communication on corrupted machines. In CRYPTO, 2016.[DY05] Y. Dodis and A. Yampolskiy. A verifiable random function with short proofs and keys. In PKC, 2005.[GRPV18] S. Goldberg, L. Reyzin, D. Papadopoulos, and J. Vcelak. Verifiable random functions (VRFs). IETF CFRG

Internet-Draft (Standards Track), Mar. 2018. https://tools.ietf.org/html/ draft-irtf-cfrg-vrf-01.[MRV99] S. Micali, M. Rabin, and S. Vadhan. Verifiable random functions. In FOCS, 1999.[MS15] I. Mironov and N. Stephens-Davidowitz. Cryptographic reverse firewalls. In EUROCRYPT, 2015.[Sim84] G. J. Simmons. The Prisoners’ Problem and the Subliminal Channel. In CRYPTO, 1984.

85

Page 86: To appear at Oakland 2019 True2F: Backdoor-resistant ...Stanford and Google To appear at Oakland 2019 U2F: effective hardware 2FA 2 U2F: effective hardware 2FA 3 U2F protocol steps

86