DIX BOF Digital Identity eXchange

100
DIX BOF Digital Identity eXchange 65 th IETF, Dallas March 21 st 2006

description

DIX BOF Digital Identity eXchange. 65 th IETF, Dallas March 21 st 2006. Welcome and Introductions. Chair – Scott Hollenbeck, [email protected] Chair – John Merrells, [email protected] Wiki – http://dixs.org Jabber – [email protected]. Housekeeping. - PowerPoint PPT Presentation

Transcript of DIX BOF Digital Identity eXchange

Page 1: DIX BOF Digital Identity eXchange

DIX BOFDigital Identity eXchange65th IETF, DallasMarch 21st 2006

Page 2: DIX BOF Digital Identity eXchange

Welcome and Introductions

Chair – Scott Hollenbeck,[email protected]

Chair – John Merrells, [email protected]

Wiki – http://dixs.org

Jabber – [email protected]

Page 3: DIX BOF Digital Identity eXchange

Housekeeping Use Microphones for those on the audio channel

State your name clearly for the scribe

Discussion points after each agenda item

We need scribes…

Wiki – http://dixs.org

Jabber – [email protected]

Page 4: DIX BOF Digital Identity eXchange

Agenda

Time Topic

10 Agenda Bashing

20 Problem / Goals / Benefits

30 Scope

20 Requirements

20 Architectural Options / Related Work

10 draft-merrells-dix-00.txt (dmd0)

40 Discussion

Page 5: DIX BOF Digital Identity eXchange

Scene Setting

Page 6: DIX BOF Digital Identity eXchange

Scene Setting “Enterprise Identity Management” (IdM)

Access control for resources

Leverages many IETF technologies

LDAP, Kerberos, PKIX, TLS

Includes

Authentication

Roles

Page 7: DIX BOF Digital Identity eXchange

Scene Setting Web Authentication

1996 survey - 12+ solutions

Why this interest?

Enterprise Web Applications

Required: SSO, Minimal password exposure, browser based

Web is easy to hack on

So, many open-source, in-house, and commercial solutions, even leveraging IdM

Page 8: DIX BOF Digital Identity eXchange

Scene Setting Today’s Web

Millions of blogs, homepages, etc

Represent online lives

Other’s interact with them

But: Who’s on my site?(For expression… rather than control)

Required: SSO and Information Exchange(But, no enterprise IdM system)

Page 9: DIX BOF Digital Identity eXchange

Scene Setting New Goals

User-Centric

Widely Deployable

Good Enough Security

Web-scale ubiquity to be compelling

Page 10: DIX BOF Digital Identity eXchange

Scene Setting Questions

Is new technology required?Or new usage of existing technology required?

What are the user requirements?

What are the barriers to wide adoption?

Different than ‘Enterprise’ technology?Or just part of the whole spectrum?

Page 11: DIX BOF Digital Identity eXchange

Definitions

Digital Identity Exchange

Identity Agent

Relying Party

Claim

Digital Subject

Page 12: DIX BOF Digital Identity eXchange

Definitions

Digital Identity Exchange

“The transmission of digital representation of a set of Claims made by one Party about itself or another Digital Subject, to one or more other Parties.”

RL ‘Bob’ Morgan, 14th March 2006, DIX Mailing List

Page 13: DIX BOF Digital Identity eXchange

Definitions

Relying Party

Client

Identity Agent

Page 14: DIX BOF Digital Identity eXchange

Definitions

• Claim

• An assertion made by a Claimant of the value or values of one or more Identity Attributes of a Digital Subject, typically an assertion which is disputed or in doubt.

Page 15: DIX BOF Digital Identity eXchange

Definitions

• Digital Subject

• An Entity represented or existing in the digital realm which is being described or dealt with.

Page 16: DIX BOF Digital Identity eXchange

Problem Statement

“The Internet is host to many online information sources and services. There is a growing demand for users to identify, and provide information about themselves. Users bear the burden of managing their own authentication materials and repeatedly providing their identity information. Signing in to web pages and completing user registration forms is an example.”

Proposed Draft Charterhttp://dixs.org/index.php/DIX_Charter

Page 17: DIX BOF Digital Identity eXchange

Problem Statement

For User

Manage many Username/Passwords

Retyping same data into forms

For Service Operator

Low conversion ratios

Data inaccuracy

Minimal data exchange

Page 18: DIX BOF Digital Identity eXchange

Example

User goes to a web site

User provides some information about themselves

Page 19: DIX BOF Digital Identity eXchange
Page 20: DIX BOF Digital Identity eXchange
Page 21: DIX BOF Digital Identity eXchange
Page 22: DIX BOF Digital Identity eXchange
Page 23: DIX BOF Digital Identity eXchange
Page 24: DIX BOF Digital Identity eXchange
Page 25: DIX BOF Digital Identity eXchange
Page 26: DIX BOF Digital Identity eXchange
Page 27: DIX BOF Digital Identity eXchange
Page 28: DIX BOF Digital Identity eXchange
Page 29: DIX BOF Digital Identity eXchange
Page 30: DIX BOF Digital Identity eXchange

Proposed Goals

Automate Digital Identity Exchange between User and Service

Protect User’s Privacy

Minimize Barriers to Adoption

Page 31: DIX BOF Digital Identity eXchange

Benefits

For Users

Convenient Digital Identity Exchange

Richer experience with Service

For Service Operators

Increased quality and quantity of identity data

Higher conversion rates

Page 32: DIX BOF Digital Identity eXchange

Role & Scope of IETF

Internet related problems

“Above the wire and below the application”

DIX is within IETF scope

Page 33: DIX BOF Digital Identity eXchange

Proposed DIX Scope

In Scope

Out of Scope

In/Out of Scope?

Narrow, yet also ambitious.

Page 34: DIX BOF Digital Identity eXchange

In Scope

Digital Identity Exchange between User and Service

HTTP/HTML Transport

Browser based applications

Page 35: DIX BOF Digital Identity eXchange

Out of Scope

Digital Identity Exchange between services

Federating identifier namespaces

Usage of digital certificates

Claim schema and type system

User authentication with Identity Agent

Page 36: DIX BOF Digital Identity eXchange

In/Out of Scope?

SIP

XMPP

Non-browser based applications

Third Party Claims

Page 37: DIX BOF Digital Identity eXchange

Scope Discussion?

Page 38: DIX BOF Digital Identity eXchange

Requirements

Seven Laws of Identity

1. User Control and Consent

2. Minimal Disclosure for Constrained Use

3. Justifiable Parties

4. Directed Identity

5. Pluralism of Operators and Technologies

6. Human Interaction

7. Consistent Experience Across Contexts

Kim Cameron

http://www.identityblog.com/

Page 39: DIX BOF Digital Identity eXchange

Requirements – Digital Identity Exchange

Move claims from agent to service

Move claims from service to agent

Unique identifier for User

Page 40: DIX BOF Digital Identity eXchange

Requirements - Privacy Unique Identifier for User

No central control

Opaque

Unidirectional (1:1)

Omni-directional (1:N)

Separation from Identity Agent

Minimal disclosure

Page 41: DIX BOF Digital Identity eXchange

Requirements - Claim Schema Globally unique Identifier for Names

Easily extended

Page 42: DIX BOF Digital Identity eXchange

Requirements - Adoption Nominal client footprint

Minimal changes to Service

Service can independently extend Claim Schema

Leverage existing standards

Ad hoc Service and Identity Agent relationship

No more security than needed

Security Gradient

Page 43: DIX BOF Digital Identity eXchange

Security Gradient - Example

Iden

tity

Tra

nsa

ctio

n V

alu

e

Security Level

DIX

Extension Poin

ts

Low Value: Blogs, …

High Value: Health Records,

HTTP, DNS, HTTPS PKI, DNSSEC, …

Page 44: DIX BOF Digital Identity eXchange

Threat Analysis

Vulnerabilities and security limitations will need to be analyzed and well documented

Page 45: DIX BOF Digital Identity eXchange

Requirements Discussion?

Page 46: DIX BOF Digital Identity eXchange

Architectural Models Domain Centric

Federation

User-Centric

Page 47: DIX BOF Digital Identity eXchange

Domain Centric

Account Credentials

Authentication / Attributes / Authorization

E.g. X.500, LDAP, Kerberos, PKIX, TLS, SASL, HTTP Basic/Digest, …

Page 48: DIX BOF Digital Identity eXchange

Federation

E.g. SAML / Liberty, …

SAML Token SAML Token

SAML Request

SAML Response

Page 49: DIX BOF Digital Identity eXchange

Federation - Ad Hoc

Identifier URLE.g. OpenID, LID, XRI, Yadis

Discovery

Claims

Page 50: DIX BOF Digital Identity eXchange

User Centric

Claims

Claims

E.g. SXIP 2.0,WS-Trust / MetaSystem,…

Request

Page 51: DIX BOF Digital Identity eXchange

Discussion?

Page 52: DIX BOF Digital Identity eXchange

draft-merrells-dix-00.txt Individual Submission Internet-Draft

Title: DIX: Digital Identity Exchange

Author: J. Merrells, Sxip Identity

Contact: [email protected]

Date: Jan 17th, 2005

http://www.ietf.org/internet-drafts/draft-merrells-dix-00.txt

(Wiki has Update: http://dixs.org/index.php/Documents)

Page 53: DIX BOF Digital Identity eXchange

SXIP PropertiesFirst Name, Last Name, Email Address, Blog URL, Image, …etc…

DIX ProtocolDIX Protocol

SXIP 2.0

MembersiteHomesite

Browser

SXIP Buttons

Page 54: DIX BOF Digital Identity eXchange

Beth

Page 55: DIX BOF Digital Identity eXchange

First Visit to geeknews.com Beth receives an email

invitation for geeknews.com

She’s going to ‘sign in’ to the website and provide some information about herself…

Membersite

Browser

Page 56: DIX BOF Digital Identity eXchange

[sxip in]

Membersite

Browser

Page 57: DIX BOF Digital Identity eXchange

[sxip in]

Consistent User Experience

‘Sign In’

Provide Identity Data

Page 58: DIX BOF Digital Identity eXchange

Homesite

GET Homesite Page

Dynamic Discovery

Homesite Tag

Membersite

Browser

ISP.com

Page 59: DIX BOF Digital Identity eXchange

Homesite Tag (Bits)

<LINK REL="dix:/homesite"

HREF=“

http://isp.com/sxip"

CLASS=“

dix:/core#1

dix://sxip.net/simple#1"/> Homesite

Homesite Tag

Page 60: DIX BOF Digital Identity eXchange

Homesite Tag

Endpoint

http://isp.com/sxip

Capabilities

dix:/core#1

dix://sxip.net/simple#1 Homesite

Homesite Tag

Page 61: DIX BOF Digital Identity eXchange

Endpoint

POST /sxip HTTP/1.1 Host: isp.com User-Agent: membersite Content-Type: application/x-www-form-urlencoded Content-Length: 202

dix:/message-type=dix:/verify-request&dix%3A% 2Fsignature=NWJhYTYxZTRjOWI5M2YzZjA2ODIyNTBiNmNmODMzMWI3ZWU2OGZkOA%3D%3D&dix:/digest=Yzg3ZjA0ZjVlZWM1YWFjNTI5ZjY1YWViMmMxM2E3NzEwNjliZWUxNg%3D%3D

http://isp.com/sxip

HTTP POST

Homesite

Page 62: DIX BOF Digital Identity eXchange

Homesite Tag

Endpoint

http://isp.com/sxip

Capabilities

dix:/core#1

dix://sxip.net/simple#1 Homesite

Homesite Tag

Page 63: DIX BOF Digital Identity eXchange

Capabilities

Capability Services

dix:/core#1

Fetch Messages

Store Messages

Verify Messages

dix://sxip.net/simple#1 SXIP Properties

Page 64: DIX BOF Digital Identity eXchange

Capability Extensibility

Capability Services

dix://domain.com/… Some Service

DIX URI

Scheme is DIX

Domain is any domain

Path is domain specific

Page 65: DIX BOF Digital Identity eXchange

fetch request

Fetch Request

Homesite Membersite

Browser

Page 66: DIX BOF Digital Identity eXchange

Fetch Request (Bits)<HTML> <BODY Onload=“document.forms[0].submit()”> <FORM METHOD=“POST” CLASS=”DIX” ACTION=“http://isp.com/sxip”> <input type=”hidden” name=“dix:/message-type” value=”dix:/fetch-request”/> <input type=”hidden” name=“dix:/message-id” value=”23AC-34B8- BFD1-459A”/> <input type=”hidden” name=“dix:/membersite-url” value=”http://geeknews.com/sxip”/> <input type=”hidden” name=“dix:/membersite-path”  value=”geeknews.com/”/> <input type=”hidden” name=”first_name” value=”dix://sxip.net/contact/name/first”/> <input type=”hidden” name=”email” value=”dix://sxip.net/contact/internet/email”/> <input type=”submit”/> </FORM> </BODY> </HTML>

Page 67: DIX BOF Digital Identity eXchange

Fetch Request (Bits)<HTML> <BODY Onload=“document.forms[0].submit()”> <FORM METHOD=“POST” CLASS=”DIX” ACTION=“http://isp.com/sxip”> <input type=”hidden” name=“dix:/message-type” value=”dix:/fetch-request”/> <input type=”hidden” name=“dix:/message-id” value=”23AC-34B8- BFD1-459A”/> <input type=”hidden” name=“dix:/membersite-url” value=”http://geeknews.com/sxip”/> <input type=”hidden” name=“dix:/membersite-path”  value=”geeknews.com/”/> <input type=”hidden” name=”first_name” value=”dix://sxip.net/contact/name/first”/> <input type=”hidden” name=”email” value=”dix://sxip.net/contact/internet/email”/> <input type=”submit”/> </FORM> </BODY> </HTML>

Page 68: DIX BOF Digital Identity eXchange

Fetch Request (Bits)<HTML> <BODY Onload=“document.forms[0].submit()”> <FORM METHOD=“POST” CLASS=”DIX” ACTION=“http://isp.com/sxip”> <input type=”hidden” name=“dix:/message-type” value=”dix:/fetch-request”/> <input type=”hidden” name=“dix:/message-id” value=”23AC-34B8- BFD1-459A”/> <input type=”hidden” name=“dix:/membersite-url” value=”http://geeknews.com/sxip”/> <input type=”hidden” name=“dix:/membersite-path”  value=”geeknews.com/”/> <input type=”hidden” name=”first_name” value=”dix://sxip.net/contact/name/first”/> <input type=”hidden” name=”email” value=”dix://sxip.net/contact/internet/email”/> <input type=”submit”/> </FORM> </BODY> </HTML>

Page 69: DIX BOF Digital Identity eXchange

Fetch Request (Bits)

dix:/message-type= dix:/fetch-request

dix:/message-id= 23AC-34B8-BFD1-459A

dix:/membersite-url= http://geeknews.com/sxip

dix:/membersite-path= geeknews.com

first_name= dix://sxip.net/contact/name/first

email= dix://sxip.net/contact/internet/email

Page 70: DIX BOF Digital Identity eXchange

Fetch Request (Bits)

dix:/message-type= dix:/fetch-request

dix:/message-id= 23AC-34B8-BFD1-459A

dix:/membersite-url= http://geeknews.com/sxip

dix:/membersite-path= geeknews.com

first_name= dix://sxip.net/contact/name/first

email= dix://sxip.net/contact/internet/email

Page 71: DIX BOF Digital Identity eXchange

Fetch Request (Bits)

dix:/message-type= dix:/fetch-request

dix:/message-id= 23AC-34B8-BFD1-459A

dix:/membersite-url= http://geeknews.com/sxip

dix:/membersite-path= geeknews.com

first_name= dix://sxip.net/contact/name/first

email= dix://sxip.net/contact/internet/email

Page 72: DIX BOF Digital Identity eXchange

Capabilities

Property Capability Property Label

dix://sxip.net /contact/name/first

First Name

dix://sxip.net /contact/internet/email

Email Address

Page 73: DIX BOF Digital Identity eXchange

Capability Extensibility

Property Capability Property Label

dix://domain.com/path/…

Some Label

Page 74: DIX BOF Digital Identity eXchange

sxip.net Properties Name: Prefix, First, Middle, Last, Suffix, Alias

DOB: Day, Month, Year

Phone: Home, Business, Cell, Fax

IM: AIM, ICQ, MSN, Yahoo, Jabber, Skype

Email: Address, Verified, Hashed

Web: Blog, Amazon, Flickr, Delicious

Company: Name, Title

Media: Spoken Name, Audio Greeting, Video Greeting, Biography, Image

Page 75: DIX BOF Digital Identity eXchange

Authentication

fetch request

Homesite Membersite

Browser

Page 76: DIX BOF Digital Identity eXchange

Properties Requested

fetch request

Homesite Membersite

Browser

Page 77: DIX BOF Digital Identity eXchange

Homesite Membersite

Persona Selection

fetch request

Browser

Page 78: DIX BOF Digital Identity eXchange

Persona

Name: Beth SurnamePhone: (604)-678-3500….

Name: Beth SurnamePhone: (415)-244-5808…

Homehttp://home.com/beth

Workhttp://work.com/beth

Page 79: DIX BOF Digital Identity eXchange

Identifier

Persona Identifier is a URL

Identifier Choice [0…N]

No Identifier

One per Persona

One per Membersite

No Central Service, just DNS

How claimed?

http://work.com/beth

Page 80: DIX BOF Digital Identity eXchange

Identifier (Bits)

<LINK

REL=“dix:/homesite“

HREF="http://isp.com“

/>

Homesite

http://work.com/beth

Page 81: DIX BOF Digital Identity eXchange

fetch response

fetch request

Fetch Response

Homesite Membersite

Browser

Page 82: DIX BOF Digital Identity eXchange

Fetch Response (Bits)

dix:/message-type= dix:/fetch-response

dix:/message-id= 23AC-34B8-BFD1-459A

dix:/signature= WJhYTYx…

dix:/homesite-url= http://isp.com/sxip

dix:/status-success= dix:/true

first_name= Beth

email_address= [email protected]

Page 83: DIX BOF Digital Identity eXchange

MembersiteHomesite

Delegation CheckGET Persona URL

Security

nonce

signature

HTTPS HTTPS

http://work.com/beth

Browser

Page 84: DIX BOF Digital Identity eXchange

MembersiteHomesite

Delegation CheckGET Persona URL

Signature Verification

Security

nonce

signature

HTTPS HTTPS

http://work.com/beth

Browser

Page 85: DIX BOF Digital Identity eXchange

Verify Request (Bits)

POST /sxip HTTP/1.1 Host: isp.com User-Agent: membersite Content-Type: application/x-www-form-…Content-Length: 202

dix:/message-type=dix:/verify-request&dix%3A%2Fsignature=NWJhYTYxZTRjOWI5M2YzZjA2ODIyNTBiNmNmODMzMWI3ZWU2OGZkOA%3D%3D&dix:/digest=Yzg3ZjA0ZjVlZWM1YWFjNTI5ZjY1YWViMmMxM2E3NzEwNjliZWUxNg%3D%3D

Page 86: DIX BOF Digital Identity eXchange

Verify Request (Bits)

POST /sxip HTTP/1.1 Host: isp.com User-Agent: membersite Content-Type: application/x-www-form-…Content-Length: 202

dix:/message-type= dix:/verify-request

dix:/signature= NWJhYTYx…

dix:/digest= Yzg3ZjA0…

Page 87: DIX BOF Digital Identity eXchange

MembersiteHomesite

Delegation CheckGET Persona URL

Signature Verification

Verify Response

nonce

signature

HTTPS HTTPS

http://work.com/beth

Browser

Page 88: DIX BOF Digital Identity eXchange

Verify Response (Bits)

HTTP/1.1 200 Ok Connection: close

dix:/true

Page 89: DIX BOF Digital Identity eXchange

Saving Data to isp.com Beth decides to leave a

comment on a post at geeknews.com

She will provide some Identity Data and save it at her Homesite

Membersite

Browser

Page 90: DIX BOF Digital Identity eXchange

[sxip save]

Membersite

Browser

Page 91: DIX BOF Digital Identity eXchange

[sxip save]

Consistent User Experience

Save Identity Data

Page 92: DIX BOF Digital Identity eXchange

Homesite Membersite

store request

[sxip save]

Browser

Page 93: DIX BOF Digital Identity eXchange

Store Request (Bits)

dix:/message-type= dix:/store-request

dix:/membersite-url= http://geeknews.com/sxip

dix:/membersite-path= geeknews.com

dix:/persona-url= http://work.com/beth

dix://sxip.net/media/image=

http://work.com/beth/me.jpg

Page 94: DIX BOF Digital Identity eXchange

Persona

Name: Beth SurnamePhone: (604)-678-3500….

Name: Beth SurnamePhone: (415)-244-5808…

Homehttp://home.com/beth

Workhttp://work.com/beth

Page 95: DIX BOF Digital Identity eXchange

Homesite Membersite

Store Response

store response

store request

Browser

Page 96: DIX BOF Digital Identity eXchange

Store Response (Bits)

dix:/message-type= dix:/store-response

dix:/homesite-url= http://isp.com/sxip

dix:/status-success= dix:/true

Page 97: DIX BOF Digital Identity eXchange

Available Today

MembersiteHomesite

Browser

Homesite Reference ImplementationPerl

Demonstration App

Membersite Development KitPHP, Perl, Java,(Ruby, Python)

PluginsMedia Wiki, (Drupal, Ning)

QuickTime™ and aTIFF (Uncompressed) decompressor

are needed to see this picture.

Page 98: DIX BOF Digital Identity eXchange

Resources Websites:

The Vision: identity20.com

The Code: sxip.org

The Spec: sxip.netdixs.org

The Demo: sxore.com

Contact:

John Merrells, [email protected]

Page 99: DIX BOF Digital Identity eXchange

draft-merrells-dix-00.txt Individual Submission Internet-Draft

Title: DIX: Digital Identity Exchange

Author: J. Merrells, Sxip Identity

Contact: [email protected]

Date: Jan 17th, 2005

http://www.ietf.org/internet-drafts/draft-merrells-dix-00.txt

(Wiki has Update: http://dixs.org/index.php/Documents)

Page 100: DIX BOF Digital Identity eXchange

General Discussion?