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

Privacy Preserving Identity Attribute Verification in Windows CardSpace

  • Upload
    ruchith

  • View
    1.192

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

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 !