36
Digital Identity Rob Richards October 20, 2009 http://xri.net/=rob.richards

Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

Digital Identity

Rob Richards

October 20, 2009

http://xri.net/=rob.richards

Page 2: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

=rob.richards jbobhickJimbob [email protected], Maine

http://rrichards.pip.verisignlabs.com/

Rob Richards<personal email><address><telephone> [email protected]

Rob RichardsSr. Software Architect

Who Am I?

Page 3: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

Username/Password Juggling

Page 4: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

Centralized Authorities

Locked into their usage

YahooBBAuth

Google

AuthSub

AOL

Page 5: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

Information S torage

•Concerns over privacy issues•Security concerns / Identity Theft•User has no idea who/what is using their information

Page 6: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

Re-Invent The Wheel?

Page 7: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

What Do Can We Do?

OpenID&

Information Cards

Page 8: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

8

OpenID and Information Cards

• Allow for Single Sign On

• Decentralized– No one entity in control

– User has choice and freedom

• User-Centric– User is in control of data

– User aware of information exchange

• Possible reduction in amount of personal information a remote site would need to store

• Potential to increase the Web experience while maintaining User privacy

Page 9: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

9

Common Terminology

• Subject– Entity referenced by identity

• Digital Identity– Set of claims made by one digital subject about itself or another

• Relying Party (RP)– Site requesting identity

• Identity Provider (IdP) / OpenID Provider (OP)– Service that provides or maintains identity information

Page 10: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

10

OpenID

• URL based– http://rrichards.pip.verisignlabs.com/

– =rob.richards (http://xri.net/=rob.richards)‏• Not Machine Dependent

• Based on Simplicity– HTTP/S

– URLs

• PHP Libraries (There are More . . .)‏– PHP OpenID library (http://www.openidenabled.com/php-openid/)‏– Zend (http://framework.zend.com/manual/en/zend.openid.html)

– OpenID for PHP (http://www.openidforphp.org/)

Page 11: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

11

User Submits IDRelying Party locatesIdentity Provider (IP)‏

Relying PartyRedirects User to IP

Relying PartyEstablishes Association

User AuthenticatesAgainst IP

IP Redirects backto Relying Party

Relying Party Evaluates Response

OpenID Interaction

Page 12: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

OpenID Validation Example

Page 13: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

13

Page 14: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

14

OpenID Verifcation

Page 15: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

15

User Trust Consent

Page 16: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

16

OpenID validated

Page 17: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

17

Delegation

• Use your own site without having to be an OpenID Provider

• Delegate authentication

<link rel="openid2.provider openid.server"

href="http://https://pip.verisignlabs.com/server"/>

<link rel="openid2.local_id openid.delegate"

href="http://cdatazone.org/"/>

Page 18: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

18

Simple Registration Extension

Basic attributes can be send to Relaying Party from OpenID Provider

openid.sreg.nickname

openid.sreg.email

openid.sreg.fullname

openid.sreg.dob

openid.sreg.gender

openid.sreg.postcode

openid.sreg.country

openid.sreg.language

openid.sreg.timezone

Page 19: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

19

OpenID 2.0

• Attribute Exchange Extension– Extensible attribute support

– Identity Provider can be asked to store certain attributes

• Extension Support– Namespaced extensions

• Directed Identity– URL can identity Identity Provider

– Identity Provider determines what ID to send to Relying Party

• Offcial i-name Support

Page 20: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

20

OpenID: Potential Issues

• Phishing / Pharming

• Cross-Site Scripting (XSS) / Cross-Site Request Forgery (CSRF)– Feature to trust sites and not require login

– Attacker could access sites unbeknownst to user

• DNS Poisoning

• Web Page Defacement

• Realm Spoofng– Open Redirect Servers

– XSS exploited

• ID recycling

• Your provider knows every site you use your id on

Page 21: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

21

Information Cards: Identities

Identities represented as cards in a wallet– Self Asserted

– Managed (Third Party provided)‏

Page 22: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

22

Information Cards: Selectors

CardSpace != Information Cards

Information Cards are not Microsoft specifc

Page 23: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

23

Information Cards

• Identifer is unique amongst parties– Distinct digital key for each realm

• Protections again Phishing– Visual indicators of previous interactions

– x509 certifcate checking

• Complex Technologies– SAML

– WS-Security / WS-Policy / WS-Trust

– x509

Page 24: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

24

Information Cards: Making Claims

Page 25: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

25

Information Cards Interaction

Source: David Chappell"Introducing Windows CardSpace"April 2006

Page 26: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

24

Information CardValidation Example

Page 27: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

27

Information Card Login

Page 28: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

28

Site Information

Page 29: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

29

Select or Create Card

Page 30: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

30

Preview Information To Be Sent

Page 31: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

31

Information Card Validated

Page 32: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

32

InfoCard Selector Initiation

<form id="infocard" method="post" action="serendipity_admin.php"> <center> <img src="/infocard/infocard.png" onClick="infocard.submit()"/> </center>

<OBJECT type="application/x-informationCard" name="xmlToken"> <PARAM Name="tokenType" Value="urn:oasis:names:tc:SAML:1.0:assertion"> <PARAM Name="requiredClaims" Value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifer http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" /> </OBJECT>

</form>

Page 33: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

33

Decrypted Self-Asserted Card

<saml:Attribute AttributeName="emailaddress" AttributeNamespace=". . ./identity/claims"> <saml:AttributeValue>[email protected]</saml:AttributeValue></saml:Attribute>

<saml:Attribute AttributeName="givenname" AttributeNamespace="http://schemas.xmlsoap.org/ws/2005/05/identity/claims"> <saml:AttributeValue>Rob</saml:AttributeValue></saml:Attribute>

<saml:Attribute AttributeName="surname" AttributeNamespace=". . ./identity/claims"> <saml:AttributeValue>Richards</saml:AttributeValue></saml:Attribute>

<saml:Attribute AttributeName="privatepersonalidentifer" AttributeNamespace=". . ./identity/claims"> <saml:AttributeValue>mzhu+UCL. . .</saml:AttributeValue></saml:Attribute>

Page 34: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

34

Information Card Issues

• Still in infancy– Few number of selectors

– Differing functionality between selectors

– Small numbers in production

• CardStore not easily transportable

• Third party applications required for non Windows systems

• Third party applications/plugins required

• More diffcult to implement than most Identity technologies

Page 35: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

35

Digital Identity: What Are You Using It For?

• Identity for public or private use?

• Is it a part of a reputation?

• How valuable is the data to be protected?

• What are the individual privacy concerns?

• Consequences if a users identity is compromised?

Page 36: Digital Identitycdatazone.org/talks/zendcon_2009/Digital_Identity.pdf–WS-Security / WS-Policy / WS-Trust –x509 24 Information Cards: Making Claims 25 Information Cards Interaction

Digital Identity

Rob Richards

http://xri.net/=rob.richardswww.cdatazone.org

Questions?