Privacy Preserving Identity Attribute Verification in Windows CardSpace

36
Privacy Preserving Identity Attribute Verification in Windows CardSpace Kevin Steuer Jr Ruchith Fernando Elisa Bertino October 8, 2010

description

 

Transcript of Privacy Preserving Identity Attribute Verification in Windows CardSpace

Page 1: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Privacy Preserving Identity Attribute Verification in Windows CardSpace

Kevin Steuer JrRuchith Fernando

Elisa Bertino

October 8, 2010

Page 2: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Windows CardSpace

Page 3: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Identity Manager

Identity Selector Relying Party

Page 4: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Identity Manager

● Information card issuer● Security Token Service

Page 5: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Identity Selector

Page 6: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Source : http://en.wikipedia.org/wiki/File:Cardspace_identity_selector.png

Page 7: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Information Card

Page 8: Privacy Preserving Identity Attribute Verification in Windows CardSpace

XML DescriptorIssued by an identity manager

Managed&

Self Issued

Page 9: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Relying Parties/Service Providers

● Specifies the required claims● Expects an XML token containing the values

Page 10: Privacy Preserving Identity Attribute Verification in Windows CardSpace
Page 11: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Problems?

Page 12: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Identity Manager is trusted in securely storing user's identity

attribute valuesIdentity Manager holds the attribute values in plain

Page 13: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Proposed Approach

Page 14: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Semi-Trusted Identity Manager

Page 15: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Relying Party → User : Do you have a Social Security Number?

Page 16: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Just proving that the user does is sufficient!

Page 17: Privacy Preserving Identity Attribute Verification in Windows CardSpace

No need to give away the SSN to the Relying Party!

Page 18: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Let the Identity Manager store only a COMMITMENT of the SSN

We use the Pedersen commitment

Page 19: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Pedersen Commitment

c = gxhr

● G : Finite cyclic group of large prime order p so that the Computational Diffie-Hellman (CDH) problem is hard in G

● A generator g G ∊

● x, r {0, 1, ... , p-1} = ∊ Fp

Page 20: Privacy Preserving Identity Attribute Verification in Windows CardSpace

The user obtains a signed identity attribute value from an identity provider

Sets up the commitment with the identity manager

Page 21: Privacy Preserving Identity Attribute Verification in Windows CardSpace

How is it used with at a Service Provider?

Page 22: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Zero Knowledge Proof Of Knowledge

Page 23: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Schnorr protocol

1. U randomly chooses y, s ∊ F*p , and sends V the

element d = gyhs ∊ G

2. V picks a random value e ∊ F*p , and sends e as a

challenge to U.

3. U sends u = y + ex, v = s + er, both in Fp, to V.

4. V accepts the proof if and only if guhv = d ce in G.

Page 24: Privacy Preserving Identity Attribute Verification in Windows CardSpace
Page 25: Privacy Preserving Identity Attribute Verification in Windows CardSpace

VeryIDX Managed Card

Page 26: Privacy Preserving Identity Attribute Verification in Windows CardSpace

<ic:SupportedClaimTypeUri="http://veryidx...strongclaims/ssn">

<ic:DisplayTag>Strong Claim SSN</ic:DisplayTag><ic:Description>Strong Claim ...</ic:Description>

</ic:SupportedClaimType>

<vi:SupportedStrongClaimValues xmlns:vi="http://veryi..."><vi:StrongClaimValue

Uri="http://veryidx...strongclaims/ssn"><vi:Commitment>743872676989=</vi:Commitment><vi:R>329839797987493827983=</vi:R>

</vi:StrongClaimValue></vi:SupportedStrongClaimValues>

Page 27: Privacy Preserving Identity Attribute Verification in Windows CardSpace

User is prompted to enter the value of the strong claim

to carryout the proof

Page 28: Privacy Preserving Identity Attribute Verification in Windows CardSpace

But ....

Page 29: Privacy Preserving Identity Attribute Verification in Windows CardSpace

What about the 2nd and 3rd attempts?

Page 30: Privacy Preserving Identity Attribute Verification in Windows CardSpace

LinkabilityConsistent attribute values to the relying parties

Page 31: Privacy Preserving Identity Attribute Verification in Windows CardSpace

The identity selector will prove the same commitment value

to the relying party!

Page 32: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Make sure we don't present the same commitment twice to the relying party!

Page 33: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Original Commitment : c

1 = gxhr

Commitment in the token to RP :c

i = gc1hri

Page 34: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Request Security Token Response

<wst:RequestSecurityTokenResponse>...<vi:SupportedStrongClaimValues>

<vi:ClaimValue Uri="http://veryidx...strongclaims/xyz"><vi:Commitment>77666876989=</vi:Commitment><vi:R>329839797987493827983=</vi:R>

</vi:ClaimValue></vi:SupportedStrongClaimValues>

</wst:RequestSecurityTokenResponse>

Used by the identity selector to retrieve the new commitment and random values

Page 35: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Identity Manager : WSO2 Identity Server (IS)

Identity Selector : Higgins

Relying Party : WSO2 IS Java RP

ZKPK implementation : VeryIDX

Page 36: Privacy Preserving Identity Attribute Verification in Windows CardSpace

Thank You !