Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work •...

181
Building Privacy-Preserving Cryptographic Credentials from Federated Online Identities John Maheswaran PhD Dissertation Defense, 6/24/2015 Department of Computer Science Yale University Committee: Bryan Ford (adviser) Joan Feigenbaum Ramakrishna Gummadi Anil Somayaji (Carleton University) 1

Transcript of Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work •...

Page 1: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Building Privacy-Preserving Cryptographic Credentials from Federated Online Identities

John Maheswaran PhD Dissertation Defense, 6/24/2015Department of Computer ScienceYale University

Committee: Bryan Ford (adviser) Joan FeigenbaumRamakrishna GummadiAnil Somayaji (Carleton University)

1

Page 2: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Roadmap

1. Background

2. Work Overview

3. System Architecture

4. Credential Producers and Consumers •At -Large Credentials •Group Credentials

5. Evaluation

6. Conclusions2

Page 3: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Roadmap

1. Background

2. Work Overview

3. System Architecture

4. Credential Producers and Consumers •At -Large Credentials •Group Credentials

5. Evaluation

6. Conclusions3

Page 4: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Background: Federated Authentication

4

Page 5: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Background: Federated Authentication

5

Page 6: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Background: Federated Authentication

6

Page 7: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Background: Federated Authentication

7

Page 8: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Background: Federated Authentication

8

Trac

king

info Tracking info

Tracking in

fo

Page 9: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Background: Federated Authentication

• Popular for managing online identities

• Examples: Facebook and PayPal

• Authentication protocols such as OpenID/OAuth

• Privacy cost: ID provider and applications can track users across all sites

9

Page 10: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Privacy Concerns

• ID providers learns every application user logs into

• ID providers learns login time to every application for a user

• ID provider can impersonate user on applications

• Applications learn the user’s true identity

• Applications learn user profile details e.g. friends lists, location

Page 11: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Privacy Concerns

• Applications can edit user profile on ID provider e.g. post to timeline, edit personal info

• Applications can link user behavior across sites

• User data can be tracked and sold to advertisers

• Compromised federated ID account can log in as that user to all applications

Page 12: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Motivating Use Case: Wikipedia Anonymous Editing

• Privacy preserving login to Wikipedia

• In favor of anonymous editing

• Anonymous editing often abused - vandalism/spam

• Anonymous yet abuse resistant editing

• Allow users to edit pages without revealing their identities

• Allow admins to sanction site abusers

Page 13: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Motivating Use Case: Group Authenticated SecureDrop

• Verifiable whistleblowing without compromising privacy

• Allow a journalist to authenticate leaked documents without compromising source anonymity

• A whistleblower authenticates as a member of a group and signs document

• Journalist knows that the document came from a director at Evil Corp. Inc. but does not know which one

Page 14: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Related Work

• PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login • does not handle key assignment or Sybil resistance

• Location privacy via private proximity testing Narayanan et al. [NDSS ’11] • Proposed using social network as a PKI

• Opaak Maganis et al. [MobiSys ’12] • provides Sybil resistance by relying on a cellphone as scare resource.

• SudoWeb Kontaxis et al. [Information Security 2011] • looked at limiting the amount of Facebook information disclosed to third party sites • did not consider anonymous online IDs

Page 15: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Roadmap

1. Background

2. Work Overview

3. System Architecture

4. Credential Producers and Consumers •At -Large Credentials •Group Credentials

5. Evaluation

6. Conclusions15

Page 16: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Work Overview

• [Poster] Crypto-Book: Privacy Preserving Online Identities; John Maheswaran, David Isaac Wolinsky, Bryan Ford; SOSP '13 Poster Session (Symposium on Operating Systems Principles); and Diversity '13 Poster Session (Workshop on Diversity in Systems Research)

• [Extended abstract/WIP] Crypto-Book: Privacy Preserving Online Identities; John Maheswaran, David Isaac Wolinsky, Bryan Ford; SOSP '13 Works In Progress (WIP) Session (Symposium on Operating Systems Principles)

• [Paper] Crypto-Book: An Architecture for Privacy Preserving Online Identities; John Maheswaran, David Isaac Wolinsky, Bryan Ford; HotNets ’13 (Hot Topics in Networks ’13)

16

Page 17: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Work Overview

• [arXiv tech report] Crypto-Book: Bootstrapping Privacy Preserving Online Identities from Social Networks; John Maheswaran, Daniel Jackowitz, David Isaac Wolinsky, Lining Wang, Bryan Ford arXiv preprint arXiv:1406.4053, June 2014

• [Paper (under submission)] Building Privacy-Preserving Cryptographic Credentials from Federated Online Identities; John Maheswaran, Daniel Jackowitz, Ennan Zhai, David Isaac Wolinsky, Bryan Ford; CoNEXT ’15 (ACM Conference on emerging Networking Experiments and Technologies)

17

Page 18: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Press coverage

• The workshop on diversity in systems research 2013; Christopher Stewart and Vishakha Gupta; ACM SIGOPS Operating Systems Review 48.1 (2014): 103-106.

• The federation of our digital identities; Is Nerd Science blog;

http://isnerd.co/2014/07/05/federated-identity-privacy-namecoin/

• CryptoBook; Layer 9 Computer networking and systems research blog; http://www.layer9.org/2013/11/hotnets-13-cryptobook.html

18

Page 19: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Online resources

• Open source code is available on GitHub:

• github.com/jyale/cobra

• Project websites:

• www.crypto-book.com

• www.cryptobook.ninja

19

Page 20: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Roadmap

1. Background

2. Work Overview

3. System Architecture

4. Credential Producers and Consumers •At -Large Credentials •Group Credentials

5. Evaluation

6. Conclusions20

Page 21: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Components

21

Client

Federated ID Provider

Applications

Credential Producers

Credential Consumers

Page 22: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Components

22

Client

Federated ID Provider

Applications

Credential Producers

Credential Consumers

Verify a client’s ID with federated ID provider, then

issue client with privacy preserving credentials

Verify a clients privacy preserving credentials and authenticate client to

applications

Page 23: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Security Properties

•Anonymity No single party can unmask a pseudonym to a federated ID

•Unlinkability It is not possible to tell if two pseudonyms are controlled by the same person

•Accountability (abuse resistance) A user can be punished if they misbehave (e.g. spam/troll)

•Unforgeability (no impersonation) No one can act as the user and authenticate as them

23

Page 24: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Threat Model: Threats

• Clients post low quality content/spam

• Federated ID providers and applications • de-anonymize client • learn what applications client accesses

• Multiple applications link client’s identity across sites

24

Page 25: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Threat Model: Assumptions

• At most (t-1) of n credential producers are dishonest Others are honest-but-curious.

• Do not consider network level attacks Clients can connect to system components via anonymous networks (e.g. Tor)

• Anonymous network communication/cryptographic primitive compromise are outside of scope

25

Page 26: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Client

26

•Person browsing the web

• Interacts with other system components via browser

• Interacts with all other components in system

•Goal is to login to and use a web application

Client

Page 27: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Application

27

•A web site that someone wants to use

•Client authenticates to log in to their account on that website

•Many applications now support federated authentication (e.g. Log in with Facebook/Log in with LinkedIn etc)

•Examples:

Application

Page 28: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Non-federated client-application interaction

Page 29: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Non-federated Client-Application interaction

29

Client

Application

Page 30: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Non-federated Client-Application interaction

30

Client

Application

1. User navigates to website

Page 31: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Non-federated Client-Application interaction

31

Client

Application

1. User navigates to website

2. Site prompts user for

username and password

Page 32: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Non-federated Client-Application interaction

32

Client

Application

1. User navigates to website

2. Site prompts user for

username and password

3. Username and password

Page 33: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Non-federated Client-Application interaction

33

Client

Application

1. User navigates to website

2. Site prompts user for

username and password

3. Username and password

4. Application hashes password and checks it against the password hash stored in database for that username

Page 34: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Non-federated Client-Application interaction

34

Client

Application

1. User navigates to website

2. Site prompts user for

username and password

3. Username and password

4. Application hashes password and checks it against the password hash stored in database for that username

5.(a). If password hash matches saved

hash, authenticate the client as

“username”

5.(b). If password hash does not match saved

hash, do not authenticate the user, display

an error message and ask user to retype

their username and password

Page 35: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Identity Provider

35

•Authenticates users for applications

•Often a social network or other identity provider

•Financial ID providers (e.g. PayPal) require real world verification - Higher barrier to entry

•Authorize access/modification of profile data

•Examples:

Federated ID Provider

Page 36: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

High level

36

Page 37: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction (high level)

37

Client

Federated ID Provider Application

Page 38: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction (high level)

38

Client

Federated ID Provider Application

1. Prove this is your account

Page 39: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction (high level)

39

Client

Federated ID Provider Application

1. Prove this is your account

2. Req

uest

OAuth to

ken

for th

at ac

coun

t

Page 40: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction (high level)

40

Client

Federated ID Provider Application

3. OAuth token

1. Prove this is your account

2. Req

uest

OAuth to

ken

for th

at ac

coun

t

Page 41: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction (high level)

41

Client

Federated ID Provider Application

3. OAuth token

1. Prove this is your account

2. Req

uest

OAuth to

ken

for th

at ac

coun

t

4. OAuth token

Page 42: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction (high level)

42

Client

Federated ID Provider Application

3. OAuth token

1. Prove this is your account

2. Req

uest

OAuth to

ken

for th

at ac

coun

t

4. OAuth token

5. Verify OAuth token and access user data

Page 43: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

43

Client

Federated ID Provider(s)

1. Verify identity

2. OAuth API

Credential Producers

Credential Consumers

Applications6. Use applications

4. Authenticate using credentials

5. OAuth API

3. Obtain credentials

Page 44: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated ID Authentication

Detailed view

44

Page 45: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

45

Client

Federated ID Provider Application

Page 46: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

46

Client

Federated ID Provider Application

1. User navigates to website

Page 47: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

47

Client

Federated ID Provider Application

1. User navigates to website2. Login page

Page 48: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

48

Client

Federated ID Provider Application

1. User navigates to website

3. User clicks to “Log in with X”

2. Login page

Page 49: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

49

Client

Federated ID Provider Application

1. User navigates to website

3. User clicks to “Log in with X”

2. Login page4. Redirect client to

federated ID login

page

Page 50: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

50

Client

Federated ID Provider Application

4. Redirect client to

federated ID login

page

Page 51: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

51

Client

Federated ID Provider Application

5. Clien

t is re

directed

and re

quests

federa

ted ID

login p

age

4. Redirect client to

federated ID login

page

Page 52: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

52

Client

Federated ID Provider Application

3. Clien

t is re

directed

and re

quests

federa

ted ID

login p

age

Page 53: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

53

Client

Federated ID Provider Application

5. Clien

t is re

directed

and re

quests

federa

ted ID

login p

age

6. Login page

Page 54: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

54

Client

Federated ID Provider Application

5. Clien

t is re

directed

and re

quests

federa

ted ID

login p

age

6. Login page

7. Fed

ID us

ernam

e

and pass

word

Page 55: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

55

Client

Federated ID Provider Application

5. Clien

t is re

directed

and re

quests

federa

ted ID

login p

age

6. Login page

7. Fed

ID us

ernam

e

and pass

word

8. Verify username and password. Prompt user

to authorize app

Page 56: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

56

Client

Federated ID Provider Application

5. Clien

t is re

directed

and re

quests

federa

ted ID

login p

age

6. Login page

7. Fed

ID us

ernam

e

and pass

word

8. Verify username and password. Prompt user

to authorize app

9.(a).

Succ

essfu

lly ve

rified

,

issue

OAu

th tok

en

9.(b).

Authe

ntica

tion e

rror,

displa

y “log

in fai

led”

error

messa

ge

Page 59: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

59

Client

Federated ID Provider Application

10. OAuth token

Page 60: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

60

Client

Federated ID Provider Application

10. OAuth token

11. OAuth token

Page 61: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

61

Client

Federated ID Provider Application

11. OAuth token

Page 62: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

62

Client

Federated ID Provider Application

11. OAuth token

12. Verify OAuth token

Page 63: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

63

Client

Federated ID Provider Application

11. OAuth token

12. Verify OAuth token 13. Verification result

Page 64: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

64

Client

Federated ID Provider Application

11. OAuth token

12. Verify OAuth token 13. Verification result

14. Request user data, e.g. user ID

Page 65: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

65

Client

Federated ID Provider Application

11. OAuth token

12. Verify OAuth token 13. Verification result

14. Request user data, e.g. user ID

15. User ID

Page 66: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

66

Client

Federated ID Provider Application15. User ID

Page 67: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

67

Client

Federated ID Provider Application15. User ID

16. Look up user ID in database, retrieve user data

Page 68: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

68

Client

Federated ID Provider Application15. User ID

16. Look up user ID in database, retrieve user data

17. Welcome page for user logged in

with that user ID

Page 69: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

69

Client

Federated ID Provider(s)

1. Verify identity

2. OAuth API

Credential Producers

Credential Consumers

Applications6. Use applications

4. Authenticate using credentials

5. OAuth API

3. Obtain credentials

Page 70: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Roadmap

1. Background

2. Work Overview

3. System Architecture

4. Credential Producers and Consumers •At -Large Credentials •Group Credentials

5. Evaluation

6. Conclusions70

Page 71: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Definition: Privacy Preserving Credential

• A client uses a privacy preserving credential to prove they own a pseudonym, without revealing their true identity

• Using privacy preserving cryptographic techniques

71

Page 72: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Producers

72

•Several credential producer servers collectively act to assign credentials to clients

• (t,n) threshold model - t of n servers can collectively assign a credential to a client

•Acts as an “application” in OAuth protocol to authenticate client with federated ID provider

Credential Producers

Page 73: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

73

Client

Federated ID Provider(s)

1. Verify identity

2. OAuth API

Credential Producers

Credential Consumers

Applications6. Use applications

4. Authenticate using credentials

5. OAuth API

3. Obtain credentials

Page 74: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

74

Client

Federated ID Provider(s)

1. Verify identity

2. OAuth API

Credential Producers

Credential Consumers

Applications6. Use applications

4. Authenticate using credentials

5. OAuth API

3. Obtain credentials

Page 75: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

Obtaining OAuth tokens

75

Page 76: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

76

Client

App1 App2 App3

1. Username and password

Page 77: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

77

Client

App1 App2 App3

1. Username and password

2. Login result

Page 78: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

78

Client

App1 App2 App3

1. Username and password

2. Login result

3. R

eque

st O

Auth

toke

n (o

ne p

er a

pp)

Requests performed in parallel.

Automated by a Chrome extension so user does not have to manually repeat the same task.

Page 79: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

79

Client

App1 App2 App34.

Do

you

wan

t to

auth

orize

this

app?

Page 80: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

80

Client

App1 App2 App34.

Do

you

wan

t to

auth

orize

this

app?

Page 81: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

81

Client

App1 App2 App35.

Aut

horiz

e ap

ps

Page 82: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

82

Client

App1 App2 App36.

OAu

th to

ken

for

App1

6. O

Auth

toke

n fo

r Ap

p2

6. O

Auth

toke

n fo

r Ap

p3

Page 83: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

83

Client

App1 App2 App3

Client now has one OAuth token per app. Each app corresponds

to one credential producer server.

OAuth token for App1 OAuth token for App2 OAuth token for App3

Page 84: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

84

Client

App1 App2 App3

Multiple ID provider use case: This process is performed for each federated ID provider. The user only has to enter their username

and password once per federated ID provider. The other steps are

automated by a Chrome extension.

Page 85: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

Client

App1 App2 App3 App1 App2 App3App1 App2 App3

85

Page 86: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

86

Client

Federated ID Provider(s)

1. Verify identity

2. OAuth API

Credential Producers

Credential Consumers

Applications6. Use applications

4. Authenticate using credentials

5. OAuth API

3. Obtain credentials

Page 87: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

87

Client

Federated ID Provider(s)

1. Verify identity

2. OAuth API

Credential Producers

Credential Consumers

Applications6. Use applications

4. Authenticate using credentials

5. OAuth API

3. Obtain credentials

Page 88: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

Obtaining credentials

88

Page 89: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

89

Client

App1 App2 App3

Credential Producers

Page 90: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

90

Client

App1 App2 App3

Credential Producers

1. App2 OAuth token 1. App1 OAuth token

1. App3 OAuth token

Page 91: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

91

Client

App1 App2 App3

Credential Producers

2. A

pp1

OAu

th to

ken

2. A

pp2

OAu

th to

ken

2. A

pp3

OAu

th to

ken

Page 92: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

92

Client

App1 App2 App3

Credential Producers

2. A

pp1

OAu

th to

ken

2. A

pp2

OAu

th to

ken

2. A

pp3

OAu

th to

ken

3. Each app verifies corresponding token

Page 93: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

93

Client

App1 App2 App3

Credential Producers

3. Each app verifies corresponding token

4. V

erific

atio

n re

sult

4. V

erific

atio

n re

sult

4. V

erific

atio

n re

sult

Page 94: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

94

Client

App1 App2 App3

Credential Producers

5. If OAuth token verified successfully, each

credential producer returns its share of the credential to the client

Page 95: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

95

Client

App1 App2 App3

Credential Producers

6. Credential shares

Page 96: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

96

Client

App1 App2 App3

Credential Producers

7. Client combines credential shares to obtain overall credential.

Page 97: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

97

Client

Federated ID Provider(s)

1. Verify identity

2. OAuth API

Credential Producers

Credential Consumers

Applications6. Use applications

4. Authenticate using credentials

5. OAuth API

3. Obtain credentials

Page 98: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

98

Client

Federated ID Provider(s)

1. Verify identity

2. OAuth API

Credential Producers

Credential Consumers

Applications6. Use applications

4. Authenticate using credentials

5. OAuth API

3. Obtain credentials

Page 99: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Consumers

Authenticating with and using privacy preserving credentials

99

Page 100: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Consumers

100

•Map credentials to pseudonyms

•Pseudonyms produced are not linkable back to federated IDs

•OAuth provider consumers: Expose pseudonym IDs to applications via OAuth.

Easily integrate with applications already using federated authentication

•Application-embedded consumer directly in application

Credential Consumers

Page 101: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

101

Client

Credential Producers

Credential Consumer

Page 102: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

102

Client

Credential Producers

Credential Consumer0.(a). Challenge (in web page)

Page 103: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

103

Client

Credential Producers

Credential Consumer0.(a). Challenge (in web page)

0.(b). Client signs challenge using

credentials (signing performed by

browser extension)

Page 104: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

104

Client

Credential Producers

Credential Consumer

1. Browser extension fills in hidden form

with signature

Page 105: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

105

Client

Credential Producers

Credential Consumer

1. Browser extension fills in hidden form

with signature

Page 106: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

106

Client

Credential Producers

Credential Consumer2. Form containing signature is submitted by clicking “login” button

Page 107: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

107

Client

Credential Producers

Credential Consumer

3. C

onsu

mer

requ

ests

pu

blic

key(s

)

Page 108: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

108

Client

Credential Producers

Credential Consumer4.

Pub

lic k

eys

Page 109: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

109

Client

Credential Producers

Credential Consumer

5. Consumer verifies client credentials

Page 110: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

110

Client

Credential Producers

Credential Consumer6.(a). If credential verifies successfully, issue OAuth token. 6.(b). Otherwise issue login error message

Page 111: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

111

Client

Credential Producers

Credential Consumer

Application

7. OAuth token

Page 112: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

112

Client

Credential Producers

Credential Consumer

Application

8. O

Auth

toke

n

Page 113: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

113

Client

Credential Producers

Credential Consumer

Application

8. O

Auth

toke

n9. Consumer verifies

token

Page 114: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

114

Client

Credential Producers

Credential Consumer

Application

8. O

Auth

toke

n9. Consumer verifies

token

10. Verification result, pseudonym

Page 115: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

115

Client

Credential Producers

Credential Consumer

Application

11. Logged in web

page for user as pseudonym

9. Consumer verifies token

10. Verification result, pseudonym

Client has now successfully authenticated to the application

Page 116: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

116

Client

Federated ID Provider(s)

1. Verify identity

2. OAuth API

Credential Producers

Credential Consumers

Applications6. Use applications

4. Authenticate using credentials

5. OAuth API

3. Obtain credentials

Page 117: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Roadmap

1. Background

2. Work Overview

3. System Architecture

4. Credential Producers and Consumers •At -Large Credentials •Group Credentials

5. Evaluation

6. Conclusions117

Page 118: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

Can use for privacy preserving Wikipedia login

118

Page 119: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

• Represents that the user has been verified as the owner of some federated identity.

• Anonymity set is implicitly the users who have collected a credential

• Accountability through rate limiting: producers restrict number of credentials a federated ID gets within a period of time

• Can include credential attributes, such as “age over 18” or “identity active for at least one year”

119

Page 120: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Technical Building Block: Blind Signatures

1.Request a signature on a blinded message

2.Signer cannot learn message content

3.Third party can verify unblinded signature

m —> m’ —> m’,s’ —> m,s

120

Page 121: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Technical Building Block: Blind Signatures

• Client is the requester

• Each credential producer is a signer

• Credential consumers are verifiers

121

Page 122: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

122

Client

Credential Producers

Credential Consumers

Page 123: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

123

Client

Credential Producers1. Producers publish

initialization info

Credential Consumers

Page 124: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

124

Client

Credential Producers1. Producers publish

initialization info

2. Client blinds message using published info

Credential Consumers

Page 125: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

125

Client

Credential Producers1. Producers publish

initialization info

2. Client blinds message using published info

3. Blinded message

m’

Credential Consumers

Page 126: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

126

Client

Credential Producers1. Producers publish

initialization info

2. Client blinds message using published info

3. Blinded message

m’

4. Signs blinded message (m’,s’)

Credential Consumers

Page 127: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

127

Client

Credential Producers1. Producers publish

initialization info

2. Client blinds message using published info

3. Blinded message

m’

4. Signs blinded message (m’,s’)

5. (m’,s’)

Credential Consumers

Page 128: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

128

Client

Credential Producers1. Producers publish

initialization info

2. Client blinds message using published info

3. Blinded message

m’

4. Signs blinded message (m’,s’)

5. (m’,s’)

6. Unblinds message using

(m’,s’) —> (m,s) Credential Consumers

Page 129: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

129

Client

Credential Producers1. Producers publish

initialization info

2. Client blinds message using published info

3. Blinded message

m’

4. Signs blinded message (m’,s’)

5. (m’,s’)

6. Unblinds message using

(m’,s’) —> (m,s)

7. (m,s)

Credential Consumers

Page 130: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

130

Client

Credential Producers1. Producers publish

initialization info

2. Client blinds message using published info

3. Blinded message

m’

4. Signs blinded message (m’,s’)

5. (m’,s’)

6. Unblinds signature (m’,s’) —> (m,s)

7. (m,s)

Credential Consumers

8. Verifies (m,s) against producer’s public key.

Page 131: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

131

Client

Credential Producers1. Producers publish

initialization info

2. Client blinds message using published info

3. Blinded message

m’

4. Signs blinded message (m’,s’)

5. (m’,s’)

6. Unblinds message using

(m’,s’) —> (m,s)

7. (m,s)

Credential Consumers8. Verifies (m,s) against producer’s

public key. 9. If (t,n) threshold is reached client

is authenticated to application.

Page 132: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Roadmap

1. Background

2. Work Overview

3. System Architecture

4. Credential Producers and Consumers •At -Large Credentials •Group Credentials

5. Evaluation

6. Conclusions132

Page 133: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

Provides k-anonymous authentication

Verifiable whistleblowing/private chat room use cases

133

Page 134: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

• Allows a client to authenticate explicitly as some member of a larger, well defined set of users (e.g. a Facebook group)

• The group credential scheme provides k-anonymity, the client is anonymous among a set of k people

• Based on linkable ring signatures

134

Page 135: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Technical Building Block: Linkable Ring Signatures

• Created by member of a group of users

• Third party can verify: – Some member of the group created signature –Whether two signatures were created by same signer

• Third party cannot discover –Which specific user created the signature

135

Page 136: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Technical Building Block: Linkable Ring Signatures

• LRS has linkage tag – If a client generates two LRSs, will have the same

linkage tag – Means LRSs can be linked across time

• Linkage tag provides accountability – privacy preserving mapping between fed IDs and

pseudonyms

136

Page 137: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Setup

137

Page 138: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

138

Client

Credential Producers

Credential Consumer

Chat Room Application

Page 139: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

139

Client

Credential Producers

Credential Consumer1. List of group

members

Chat Room Application

Page 140: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

140

Client

Credential Producers

Credential Consumer1. List of group members

Chat Room Application

Page 141: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

141

Client

Credential Producers

Credential Consumer

Chat Room Application

1. List of group members

Page 142: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

142

Client

Credential Producers

Credential Consumer1. List of group members

Chat Room Application

2. Creates a chat room with those

members

Page 143: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

• The client collects their private key shares from at least t of n credential producers

• Client combines shares to give private key, saved in browser extension

• Client collects public keys from credential producers (no authentication)

• Credential consumers issue challenge to client, which client signs with LRS and is the authenticated to application

143

Page 144: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

144

Client

Credential Producers

Credential Consumer

Chat Room Application

Page 145: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

145

Client

Credential Producers

Credential Consumer

Chat Room Application

1. Client requests

public keys

Page 146: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

146

Client

Credential Producers

Credential Consumer

Chat Room Application

1. Client requests

public keys

2. Public keys

Page 147: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

147

Client

Credential Producers

Credential Consumer

Chat Room Application

1. Client requests

public keys

2. Public keys

3. Client requests to log in to a chat room

Page 148: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

148

Client

Credential Producers

Credential Consumer

Chat Room Application

1. Client requests

public keys

2. Public keys

3. Client requests to log in to a chat room

4. Challenge m

Page 149: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

149

Client

Credential Producers

Credential Consumer

Chat Room Application

1. Client requests

public keys

2. Public keys

3. Client requests to log in to a chat room

4. Challenge m

5. Client signs challenge using private key and public key list

to give a linkable ring signature

(LRS)

Page 150: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

150

Client

Credential Producers

Credential Consumer

Chat Room Application

5. Client signs challenge using private key and public key list

to give a linkable ring signature

(LRS)

Page 151: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

151

Client

Credential Producers

Credential Consumer

Chat Room Application

6. LRS

5. Client signs challenge using private key and public key list

to give a linkable ring signature

(LRS)

Page 152: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

152

Client

Credential Producers

Credential Consumer

Chat Room Application

6. LRS

7. Verify LRS against public keys

Public keys

Page 153: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

153

Client

Credential Producers

Credential Consumer

Chat Room Application

8. OAuth token giving access to chat room

7. Verify LRS against public keys

Page 154: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

154

Client

Credential Producers

Credential Consumer

Chat Room Application

8. OAuth token giving access to chat room

9. OAuth token to access chat room

7. Verify LRS against public keys

Page 155: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

155

Client

Credential Producers

Credential Consumer

Chat Room Application

8. OAuth token giving access to chat room

9. OAuth token to access chat room

11. Verify OAuth token

10. OAuth token 12. V

erific

ation

res

ult

Page 156: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme: Chat Room

156

Page 157: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Roadmap

1. Background

2. Work Overview

3. System Architecture

4. Credential Producers and Consumers •At -Large Credentials •Group Credentials

5. Evaluation

6. Conclusions157

Page 158: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Evaluation

158

Page 159: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Evaluation: Experimental Setup

• Clients: consumer laptops • 2.4GHz Intel Core i5 processors • 8GB of RAM.

• Credential producers: PlanetLab nodes • 2.4GHz Intel Xeon processor • 4GB of RAM

• Credential consumers: commercial shared hosting • 2.4GHz Intel Xeon processors • 16GB of RAM

159

Page 160: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Evaluation: Producing Credentials, App Auth.

• Client performs this setup step only once, the first time they use the system

160

Facebook App Authorization time

Page 161: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Evaluation: Producing At-large Credentials

• Network overhead between client and producer depends on the size (and hence strength) of the signature

161

Blind Signature Size (bandwidth)

Page 162: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Evaluation: Producing/Consuming At-large Credentials

• For a 2048-bit signing key, credential production takes approximately 50ms of computation time, verification takes less than 20ms,

162

Blind Signature Operations

Page 163: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Evaluation: Producing Group Credentials

• Key pair generation: The first time a key pair is requested it is collectively generated by the producers

163

Distributed key pair generation

Page 164: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Evaluation: Producing Group Credentials

• Key retrieval: requests to all producers are performed in parallel. Private keys include Facebook authentication

164

Retrieval of previously generated keys

Page 165: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Evaluation: Consuming Credentials

• Group credential: ten Facebook identities for DeDiS group

• 1.2s overhead vs non-anonymous federated authentication165

End-to-end group credentials evaluation

Page 166: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Evaluation: Consuming Credentials

• For ring size ~100 (2048-bit keys), operations <1s

166

LRS signing LRS verification

Page 167: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Evaluation: Consuming Credentials

• For ring sizes ~100 (2048-bit keys), signatures <10KB.

167

LRS size (bandwidth)

Page 168: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Roadmap

1. Background

2. Work Overview

3. System Architecture

4. Credential Producers and Consumers •At -Large Credentials •Group Credentials

5. Evaluation

6. Conclusions168

Page 169: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Conclusions and Future Directions

• Crypto-Book is a pluggable architecture for providing privacy preserving credentials based on federated identity providers.

• Experimental evaluations show acceptable overheads

• Privacy conscious applications can be developed on top of this platform

• Pluggable nature means other privacy preserving technologies can be integrated in future

169

Page 170: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Acknowledgements

• Thanks to my adviser, Bryan Ford and committee members, Joan Feigenbaum, Ramki Gummadi, Anil Somayaji

• Collaborators: Danny Jackowitz, Ennan Zhai, David Isaac Wolinsky and DeDiS research group members Ewa Syta, Weiyi Wu and Jose Faleiro

• Undergraduate adviser: The late Robin Milner (University of Cambridge, UK)

• PhD funding sources: Yale University, NSF grant CCF-0916389, DARPA SAFER grant N66001-11-C-4018

• Thanks to the everyone in the Yale Computer Science department and everyone else for attending

170

Page 171: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •
Page 172: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Thanks!

Page 173: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

[Subsequent slides are were removed from presentation and may be incomplete]

Page 174: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

–Bryan Ford

“Two Principles of Deadlines: 1. All deadlines converge on the same day—

Deadline Day. 2. Every day is Deadline Day.”

Page 175: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

175

Client

Federated ID Provider Application

Page 176: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

176

Client

App1 App2 App3

Credential Producers

Page 177: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Credential Assignment Mechanism

177

Credential Producers

Client

Federated ID Provider(s)

App1 App2 App3

Page 178: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

System Architecture

178

Client

Credential Producers

Credential Consumer

Application

Page 179: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

At-Large Credential Scheme

179

Client

Credential Producers

Credential Consumers

Page 180: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Federated Authentication Interaction

180

Client

Federated ID Provider Application15. User ID

16. Look up user ID in database, retrieve user data

17. Welcome page for user logged in

with that user ID

11. OAuth token

13. Verification result

14. Request user data, e.g. user ID

15. User ID

12. Verify OAuth token

5. Clien

t is re

directed

and re

quests

federa

ted ID

login p

age

6. Login page

7. Fed

ID us

ernam

e

and pass

word

9.(a).

Succ

essfu

lly ve

rified

,

issue

OAu

th tok

en

9.(b).

Authe

ntica

tion e

rror,

displa

y “log

in fai

led”

error

messa

ge

10. OAuth token via redirect as URL parameter: example.com/page.php&access_token=AFB341. User navigates to website

3. User clicks to “Log in with X”

2. Login page4. Redirect client to

federated ID login

page

Page 181: Building Privacy-Preserving Cryptographic Credentials from Federated Online … · Related Work • PseudoID Dey and Weis. [HotPets ’10] • privacy protected federated login •

Group Credential Scheme

181

Client

Credential Producers

Credential Consumer

Chat Room Application

1. Client requests

public keys

2. Public keys