Anonymous Credentials: How to show credentials without compromising privacy Melissa Chase Microsoft Research.

Slides:



Advertisements
Similar presentations
Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
Advertisements

Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
Digital Cash Mehdi Bazargan Fall 2004.
Claudia Diaz, Hannelore Dekeyser, Markulf Kohlweiss, Girma Nigusse K.U.Leuven IDIS Workshop 29/05/2008 [Work done in the context of the ADAPID project]
7/11/2011Pomcor 1 Pros and Cons of U-Prove, Idemix and Other Privacy-Enhancing Technologies Francisco Corella Karen Lewison Pomcor.
Accumulators and U-Prove Revocation Tolga Acar, Intel Sherman S.M. Chow, The Chinese University of Hong Kong Lan Nguyen, XCG – Microsoft Research.
Public Key Management and X.509 Certificates
VIS-À-VIS CRYPTOGRAPHY : PRIVATE AND TRUSTWORTHY IN-PERSON CERTIFICATIONS IAN MIERS*, MATTHEW GREEN* CHRISTOPH U. LEHMANN †, AVIEL D. RUBIN* *Johns Hopkins.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
ELECTRONIC PAYMENT SYSTEMS FALL 2002COPYRIGHT © 2002 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 11 Electronic Cash.
Slide 1 Vitaly Shmatikov CS 378 Digital Cash. slide 2 Digital Cash: Properties uDigital “payment message” with properties of cash uUnforgeable Users cannot.
Payment Systems 1. Electronic Payment Schemes Schemes for electronic payment are multi-party protocols Payment instrument modeled by electronic coin that.
IAW 2006 Cascaded Authorization with Anonymous- Signer Aggregate Signatures Danfeng Yao Department of Computer Science Brown University Joint work with.
Authentication Cristian Solano. Cryptography is the science of using mathematics to encrypt and decrypt data. Public Key Cryptography –Problems with key.
Introduction to Modern Cryptography, Lecture 13 Money Related Issues ($$$) and Odds and Ends.
CSCI283 Fall 2005 GWU All slides from Bishop’s slide set Public Key Infrastructure (PKI)
 Authorization via symmetric crypto  Key exchange o Using asymmetric crypto o Using symmetric crypto with KDC  KDC shares a key with every participant.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
Public Key Management Brent Waters. Page 2 Last Time  Saw multiple one-way function candidates for sigs. OWP (AES) Discrete Log Trapdoor Permutation.
ELECTRONIC PAYMENT SYSTEMS SPRING 2004 COPYRIGHT © 2004 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 11 Electronic Cash.
November 1, 2006Sarah Wahl / Graduate Student UCCS1 Public Key Infrastructure By Sarah Wahl.
ITIS 6200/8200. time-stamping services Difficult to verify the creation date and accurate contents of a digital file Required properties of time-stamping.
Electronic Voting Schemes and Other stuff. Requirements Only eligible voters can vote (once only) No one can tell how voter voted Publish who voted (?)
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
Unlinkable Secret Handshakes and Key-Private Group Key Management Schemes Author: Stanislaw Jarecki and Xiaomin Liu University of California, Irvine From:
Key Distribution CS 470 Introduction to Applied Cryptography
ELECTRONIC PAYMENT SYSTEMSFALL 2001COPYRIGHT © 2001 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 6 Epayment Security II.
Anonymous Credentials Gergely Alpár Collis – November 24, 2011.
J. Wang. Computer Network Security Theory and Practice. Springer 2008 Chapter 4 Data Authentication Part II.
Computer Science Public Key Management Lecture 5.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
Masud Hasan Secure Project 1. Secure It uses Digital Certificate combined with S/MIME capable clients to digitally sign and.
X.509 Certificate management in.Net By, Vishnu Kamisetty
Chapter 5 Digital Signatures MSc. NGUYEN CAO DAT Dr. TRAN VAN HOAI 1.
Cryptology Digital Signatures and Digital Certificates Prof. David Singer Dept. of Mathematics Case Western Reserve University.
Digital Cash By Gaurav Shetty. Agenda Introduction. Introduction. Working. Working. Desired Properties. Desired Properties. Protocols for Digital Cash.
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
Csci5233 Computer Security1 Bishop: Chapter 10 (Cont.) Key Management: Storage & Revoking.
September 20 th, 2006 U-Prove crypto overview Copyright © 2006, Quebec Inc. Proprietary and Confidential.
Digital Signatures A primer 1. Why public key cryptography? With secret key algorithms Number of key pairs to be generated is extremely large If there.
1 Chapter 9: Key Management All algorithms we have introduced are based on one assumption: keys have been distributed. But how to do that? Key generation,
Cryptography Lecture 9 Stefan Dziembowski
Based on Schneier Chapter 5: Advanced Protocols Dulal C. Kar.
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Chapter 6:Esoteric Protocols Dulal C Kar. Secure Elections Ideal voting protocol has at least following six properties 1.Only authorized voters can vote.
Network Security7-1 CIS3360: Chapter 8: Cryptography Application of Public Cryptography Cliff Zou Spring 2012 TexPoint fonts used in EMF. Read the TexPoint.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
ASYNCHRONOUS LARGE-SCALE CERTIFICATION BASED ON CERTIFICATE VERIFICATION TREES Josep Domingo-Ferrer, Marc Alba and Francesc Sebé Dept. of Computer Engineering.
Delegation and Proxy Services in Digital Credential Environments Carlisle Adams School of Information Technology and Engineering University of Ottawa.
WISTP’08 ©LAM /05/2008 A Self-Certified and Sybil-Free Framework for Secure Digital Identity Domain Buildup Christer Andersson Markulf Kohlweiss.
1 Network Security Lecture 7 Overview of Authentication Systems Waleed Ejaz
1. ◦ Intro ◦ Online shopping vs MOTO ◦ Credit card payments vs PayPal ◦ E-cash? 2.
Brian A. LaMacchia Director, XCG Security & Cryptography, Microsoft Research.
A Simple Traceable Pseudonym Certificate System for RSA-based PKI SCGroup Jinhae Kim.
Private key
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
1 Public Key Infrastructure Rocky K. C. Chang 6 March 2007.
Fall 2006CS 395: Computer Security1 Key Management.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
1 Secret Handshakes or Privacy-Preserving Interactive Authentication Gene Tsudik University of California, Irvine joint work with: Claude Castelluccia,
Key management issues in PGP
Information Security message M one-way hash fingerprint f = H(M)
Information Security message M one-way hash fingerprint f = H(M)
Certificates An increasingly popular form of authentication
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Re(AC)t Reputation and Anonymous Credentials for Access Control (t=2)
Anonymous Credentials
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Chapter 8 roadmap 8.1 What is network security?
ITIS 6200/8200 Chap 5 Dr. Weichao Wang.
Presentation transcript:

Anonymous Credentials: How to show credentials without compromising privacy Melissa Chase Microsoft Research

Credentials: Motivation ID cards – Sometimes used for other uses E.g. prove you’re over 21, or verify your address – Don’t necessarily need to reveal all of your information – Don’t necessarily want issuer of ID to track all of it’s uses – How can we get the functionality/verifiability of an physical id in electronic form without extra privacy loss

The goal – Users should be able to obtain credentials Show some properties – Without Revealing additional information Allowing tracking Credentials: Motivation

Other applications – Transit tokens/passes – Electronic currency – Online polling Implementations – Idemix (IBM), UProve (Microsoft) Credentials: Motivation

Credentials Alice Organization Org says Name Alice Address Birthdate Birthplace Citizenship … Service Org says Name Alice Address Birthdate Birthplace Citizenship …

Org says Name Alice Address Birthdate Birthplace Citizenship … Credentials Alice Organization Service Reveals a lot of info on Alice! Org says Name Alice Address Birthdate Birthplace Citizenship …

Alice Organization Service “I have a cred from Org saying WA resident Age >21” Cred from Org Name Alice Address Birthdate Birthplace Citizenship … A new model Anonymous Credentials/Minimal Disclosure Tokens [Chaum83, …] Reveals only what Alice chooses to reveal Need not reveal her name (Need Accountability)

Alice Service “I have a cred from Org saying WA resident Age >18” Cred from Org Name Alice Address Birthdate Birthplace Citizenship … Organization A new model Anonymous Credentials/Minimal Disclosure Tokens [Chaum83, …] Cannot Identify Alice (if her name is not provided) Learn anything beyond the info she gives (and what can be inferred) Distinguish two users with the same attributes Link multiple uses of the same credentials

How can we do this? Signatures/Certs? – No privacy! What about other crypto tools? We will use – Zero Knowledge Proof of knowledge (interactive or Fiat-Shamir) – Commitments – Blind signatures

Roadmap Review crypto tools Construct basic credential systems Additional issues – Revocation – Deciding who to revoke Additional features – Non-interactive credentials/signatures – Delegation Conclusion

Zero Knowledge Proofs Alice Service Alice wants to convince service that statement X is true, Without revealing any other information Statement X X is true OR Alice is cheating Knows X is true

Zero Knowledge Proofs AliceService Alice wants to convince service that she has such a signature Without revealing any other information “I have signature from Org on message m such that …. X is true OR Alice is cheating Fiat Shamir: get challenge from hash function

Commitments Like locked box or safe Hiding – hard to tell which message is committed to Binding – there is a unique message corresponding to each commitment Msg, Msg E.g. Pederson Commitment: C = g m h r

Blind signatures Alice learns only signature on her message. Signer learns nothing. Signature under pk on m Signing key: sk Message: m Verification key: pk

Blind signatures Alice learns only signature on her message. Signer learns nothing. Signature under pk on m Signing key: sk Message: m Verification key: pk Msg Sign(sk, )

How it works (abstractly) Anonymous Credentials/Minimal Disclosure Tokens Alice Organization Service “I have a cred from Org saying WA resident Age >21” Cred from Org Name Alice Address Birthdate Birthplace Citizenship … secret Prevents impersonation Tie multiple creds to one user Prevents impersonation Tie multiple creds to one user

Alice Organization Service Prove “I have a cred from Org saying WA resident Age >21” Signature from Org secret Name Alice Address Birthdate Birthplace Citizenship … secret Need to generate signature without Org learning secret How it works Anonymous Credentials/Minimal Disclosure Tokens

How can we “prove” this without revealing secret rest of message signature Alice Organization Service Prove “I have sig from Org * WA #>21 Signature from Org secret Name Alice Address Birthdate Birthplace Citizenship … secret How it works Anonymous Credentials/Minimal Disclosure Tokens

Alice Organization Service Zero Knowledge Proof “I have sig from Org * WA #>21 Signature from Org secret Name Alice Address Birthdate Birthplace Citizenship … secret Proof does not reveal secret rest of message signature

Is this practical? Depends on how we implement proofs and blind signatures Two main approaches: – RSA type signatures [CL02] Based on strong version of RSA assumption Idemix (IBM) – DSA type signatures [Brands 99] Based on discrete logarithm problem (more or less) UProve (Microsoft) – Also third type based on elliptic curves with pairings [BCKL08] Less efficient Allows for extra features

Key tool: Proof of knowledge of discrete log – Given Y, g, prove “I know x such that Y = g x ” – Generalized: Given Y, g, h, prove “I know x, z such that Y = g x h z” Given Y, W, g, h, prove “I know x such that Y = g x and Z = h x” Prove arithmetic relationships Prove that values are not equal ….. – Prove statements about commitments, signatures, encryptions, etc. Is this practical?

Alice Service Alice wants to convince service that she knows x, Without revealing any other information I know x such that Y = g x Check if AY c = g z Knows X is true Is this practical? A = g r c z = r + cx

Key tool: Proof of knowledge of discrete log – Given Y, g, prove “I know x such that Y = g x ” – Generalized: Given Y, g, h, prove “I know x, z such that Y = g x h z” Given Y, W, g, h, prove “I know x such that Y = g x and Z = h x” Prove arithmetic relationships Prove that values are not equal ….. – Prove statements about commitments, signatures, encryptions, etc. Is this practical?

Roadmap Review crypto tools Construct basic credential systems Additional issues – Revocation – Deciding who to revoke Additional features – Non-interactive credentials/signatures – Delegation Conclusion

Credentials Now we have an anonymous credential system. What other issues come up? What about misuse of credentials? – If everyone is completely anonymous, how do we deal with misuse of privileges? – Can we revoke credentials? – Can we even tell whose credential to revoke?

Credential Revocation Expiration dates – Can be embedded in anonymous credentials – prove that expiration date > current date CRL (Certificate Revocation List) – List of all revoked certificates – Verifier can check that presented cert is not on list – Anonymous CRLs? : How to check that the credential is not on the revoked list without compromising privacy?

Anonymous CRLs Option 1: – Verifier gives Alice CRL – Alice proves that her credential is not on the list (for each value on the list, prove that her value is different) Option 2: – We can do this more concisely using accumulators – Issuer publishes accumulator – single value that encapsulates all revoked credentials (or all good credentials) – Users, given updates to CRL (or list of all good credentials), can give short proof they are not on CRL (or they are on whitelist).

How do we deal with misuse of privileges? (How do we tell who to revoke?) Depends how we define misuse: – Simple type: reused one-use token Tried to vote twice in a poll Tried to spend transit token twice – More complex scenarios Trust a judge to determine misuse

Credentials meant to be used only once (or fixed number of times) – Subway tokens – Electronic currency (e-cash) – Movie tickets – Access passes for online service Service records “serial number” on every token used As long as each token is only used once – user is anonymous – multiple tokens used by the same user are unlinkable If token is used twice, identity of user is revealed. Previous work [Chaum83, CFN90,… CHL05,… BCKL09] How do we deal with misuse of privileges? One-Time/Limited Use Credentials

Anything digital can be copied! Why can’t Alice just copy her credential, and give one copy to Bob and the other to Carol? – Efficient Solution: offline e-cash [CFN90] Cred includes (T, Id) unknown to Org – Id: the identifying info for the user – T: the slope of a line with f(0)=Id When cred is used it includes (R, D): – R: transaction information (station name, timestamp, etc) – D: Doublespending tag (f(R)). » (R,D) and (R’,D’) gives Id (0,Id) (R, D) How do we deal with misuse of privileges? One-Time/Limited Use Credentials

Anything digital can be copied! Why can’t Alice just copy her credential, and give one copy to Bob and the other to Carol? – Efficient Solution: offline e-cash [CFN90] Cred includes (T, Id) unknown to Org – Id: the identifying info for the user – T: the slope of a line with f(0)=Id When cred is used it includes (R, D): – R: transaction information (station name, timestamp, etc) – D: Doublespending tag (f(R)). » (R,D) and (R’,D’) gives Id (R’, D’) (0,Id) (R, D) How do we deal with misuse of privileges? One-Time/Limited Use Credentials

Anything digital can be copied! Why can’t Alice just copy her credential, and give one copy to Bob and the other to Carol? – Efficient Solution: offline e-cash [CFN90] Cred includes (T, Id) unknown to Org – Id: the identifying info for the user – T: the slope of a line with f(0)=Id When cred is used it includes (R, D): – R: transaction information (station name, timestamp, etc) – D: Doublespending tag (f(R)). » (R,D) and (R’,D’) gives Id (R’, D’) (0,Id) (R, D) How do we deal with misuse of privileges? One-Time/Limited Use Credentials

Anything digital can be copied! Why can’t Alice just copy her credential, and give one copy to Bob and the other to Carol? – Efficient Solution: offline e-cash [CFN90] Cred includes (T, Id) unknown to Org – Id: the identifying info for the user – T: the slope of a line with f(0)=Id When cred is used it includes (R, D): – R: transaction information (station name, timestamp, etc) – D: Doublespending tag (f(R)). » (R,D) and (R’,D’) gives Id (R’, D’) (0,Id) (R, D) (0,Id) How do we deal with misuse of privileges? One-Time/Limited Use Credentials

Trusted judge (anonymity revocation authority) – Alice also sends encryption of her identity under judge’s public key (Identity escrow) – In case of misuse, Service gives encryption to judge If judge agrees credential was misused, it can decrypt and find Alice’s identity Disadvantage: users have no anonymity w.r.t. revocation authority Judge must be trusted Advantage: very flexible Techniques: Verifiable encryption How do we deal with misuse of privileges? More complex scenarios

Roadmap Review crypto tools Construct basic credential systems Additional issues – Revocation – Deciding who to revoke Additional features – Non-interactive credentials/signatures – Delegation Conclusion

Other Features Log of all valid users and their credentials? Post an anonymous message with proof of a credential? Non-interactive credentials (Signatures) – Challenge: proof needs to be one message – Non interactive Zero Knowledge proof Fiat-Shamir (using hash as challenge) Or recent proof techniques based on special elliptic curves

Cred from Webmaster Moderator Delegation Alice “I have a level 2 cred from Webmaster saying Registered user” Cred from Moderator who has cred from Webmaster Registered User Forum Moderator Forum Moderator and Alice should remain anonymous Webmaster

Cred from Webmaster Moderator Delegation Alice “I have a level 2 cred from Webmaster saying Registered user” Cred from Moderator who has cred from Webmaster Registered User Webmaster Forum Moderator Forum Moderator and Alice should remain anonymous

Cred from Webmaster Moderator Delegation Alice “I have a level 2 cred from Webmaster saying Registered user” Cred from Moderator who has cred from Webmaster Registered User Forum Moderator Forum Moderator and Alice should remain anonymous Webmaster

Delegation Alice Sig from Bob secret Alice Registered User Sig from Webmaster secret Bob Moderator Proof of “Bob has a sig from Webmaster saying Moderator” Proof of “I have a sig from Bob saying Registered User” Proof of “Bob has a sig from Webmaster saying Moderator” If Alice uses the same proof each time, service will know Webmaster Forum Moderator

Can we do this? – Not clear with traditional techniques – Need proofs with special properties Randomizable proofs Alice Forum ModeratorProof of “Bob has a sig from Webmaster saying Moderator” New Proof of “Bob has a sig from Webmaster saying Moderator”

Delegating Credentials Randomizable proof system – Elliptic curve with pairings based proofs [GOS06,GS08] satisfy this property Delegatable Anonymous Credentials [BCCKLS09] – Requires some additional techniques In progress: delegatable one-time credentials (i.e. transferrable e-cash) [CCKR]

Roadmap Review crypto tools Construct basic credential systems Additional issues – Revocation – Deciding who to revoke Additional features – Non-interactive credentials/signatures – Delegation Conclusion

Other issues How do you tie a digital credential to a real world person/identity? – Harder when you add anonymity – Circular encryption, smart card, POK of credit card number Safety in numbers: – What if the issuer only ever issues one credential? Even with anonymous credentials, if yours is the only credential issued, issuer will know when you show it Adoption – will anyone ever use this? – Do people care enough about privacy?

Questions