Top Banner
Identity 2.0: The Identity Metasystem Vision Mario Szpuszta Solutions Architect Microsoft Austria, Vienna
46

Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Identity 2.0:

The IdentityMetasystem Vision

Mario SzpusztaSolutions ArchitectMicrosoft Austria, Vienna

Page 2: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Agenda

Digital identity crisisReal world as metaphorThe Identity Metasystem as model

Agreement on a modelCommon, consistent User ExperienceClaims-based securityFederation & claims-transformation

Summary

Page 3: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Digital Identities Today – Identity Silos

Connectivity

Naming

Identity

IP

DNS

??? Identity ???

Page 4: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Digital Identities Today – Major Problem

www.antiphishing.org

Page 5: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Identity is more than just User & Password

Page 6: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Agenda

Digital identity crisisReal world as metaphorThe Identity Metasystem as model

Agreement on a modelCommon, consistent User ExperienceClaims-based securityFederation & claims-transformation

Summary

Page 7: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Identity – „You“ and „Claims“

Page 8: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Roles in the Real WorldWindows CardSpace

Page 9: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.
Page 10: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Roles in the Real WorldWindows CardSpace

Page 11: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Trust-Chains & Claims Transformation

issues

queries

trusts trusts

Page 12: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Agenda

Digital identity crisisReal world as metaphorThe Identity Metasystem as model

Agreement on a modelCommon, consistent User ExperienceClaims-based securityFederation & claims-transformation

Summary

Page 13: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Identity Vision Statement

The goals of the identity metasystem are to connect individual identity systems, allowing seamless

interoperation between them, to provide applications with a technology-independent representation of

identities, and to provide a better, more consistent user experience with all of them!

http://msdn2.microsoft.com/en-us/library/ms996422.aspx

Page 14: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

The Laws of Identity

User control and consentMinimal disclosure for a defined useJustifiable partiesDirectional identityPluralism of operators and technologiesHuman integrationConsistent experience across contexts

Page 15: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Understanding the Requirements

Consistent User Experience

Clear definition of rolesTechnology-independent protocols

Federation andclaims-transformation

Claims-based Security

Page 16: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Roles, Responsibilities, Protocols

App-licatio

n

Security

TokenServic

e

Identity

Selector

WS-PolicyWS-MetadataExch.

Information cardsOpenID, LID, Yadis…

WS-Trust

SAMLKerberos

X.509etc.

WS-SecurityWS-SecureConversation

Relying

Party

Identity

Provider

Subject

Auth“N“happens

here

Auth“Z“happens

here

Page 17: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Microsoft Technologies in the Model

App-licatio

n

Security

TokenServic

e

Identity

Selector

WS-* WS-*

AD Cert.AD

AD LDS

ILM

ADFS

AD LDS

ADFS

AD Cert.

WCFWCF

WCF WCF

CardSpace

Page 18: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Other Technologies in the Model

App-licatio

n

Security

TokenServic

e

Identity

Selector

WS-* WS-*

WCFWCF

Kevin Millers SelectorBandit ProjectEclipse Higgins

Verisign PIPEclipse HigginsBandit

J2EE

XmldapEclipse HigginsRuby ForgeInfoCard PHP

J2EE, PHP, Python, Ruby…

Page 19: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Understanding the Requirements

Consistent User Experience

Clear definition of rolesTechnology-independent protocols

Federation andclaims-transformation

Claims-based Security

Page 20: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Consistent User Experience

Digital Identity Selector„Digital Wallet“You carry „digital cards“ with youEach card belongs to 1 identity provider

IP One

IP Two

IP Three

Page 21: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

What is CardSpace?

CardSpace is an identity selectorPart of .NET Framework 3.0Uses WCF for its WS-* standardsUser’s digital identities = information cards

CardSpace is an STSSelf-issued cardsCreates SAML v1.0 tokensRequires no 3rd party identity provider

User is in control ofwhich IP is used which claims exposed

Page 22: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Self-Issued Cards

Mario SzpusztaSolutions ArchitectMicrosoft Austria, Vienna

demo

Page 23: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Understanding the Requirements

Consistent User Experience

Clear definition of rolesTechnology-independent protocols

Federation andclaims-transformation

Claims-based Security

Page 24: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Claims-based IdentityDigital identity that parallels the real world

ClaimsStatements about subjectIdentify subject……or only describe attributes…or both

Digital IdentitySet of claimsAsserted by authority / subject

RP requests claims via Policy

Web app: <object/> tagService: WS-Policy, WS-MEX

Page 25: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Claims in .NET 3.0

ClaimType is the claim URI as a stringRight can be one of two things

IdentityPossessProperty

Resource is the value of the claim

namespace System.IdentityModel.Claims { public class Claim { public Claim(string claimType, object resource, string right); public string ClaimType { get; } public string Right { get; } public object Resource { get; } // ... }}

Page 26: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

ClaimSet – Claims and their Issuers

DefaultClaimSetWindowsClaimSetX509CertificateClaimSet

namespace System.IdentityModel.Claims { public abstract class ClaimSet : IEnumerable<Claim>, IEnumerable { public abstract ClaimSet Issuer { get; } public virtual bool ContainsClaim(Claim claim); public abstract IEnumerable<Claim> FindClaims( string claimType, string right); public abstract int Count { get; } public abstract Claim this[int index] { get; } public abstract IEnumerator<Claim> GetEnumerator();

// ... }}

Page 27: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Claims-based Security in Web Apps

Scenario: relying part IS web siteBrowser-integration necessaryRequested claims embedded in HTMLIdentity Selector let‘s user select Card/IP

Approach: embed <object/> for card-request

IE 7.0Firefox and Safari supported

Page 28: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Example based on CardSpace

SAML

User’s PC Website

Identity Provider

Token Policy

Cards Store

Browser

STS

Identities Store

GET login pageRead policies

Pass policies to CardSpaceFilter card collection & show cardspace UI

User picks a card

Cardspace sends a RST

The IP authenticates RST…

If successful, builds& signs the requested token

The IP sends back the token in a RSTR

CardSpace gives the token to the app& exits

SAML

The Browser POSTs the token to the website

The website authenticatesthe token

Page 29: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Sample Web Login Page<!-- ... --><button onclick="javascript:return infocardlogin.submit();"> Sign in with your Information Card</button>

<form name="infocardlogin" target="_self" method="post"><object type="application/x-informationcard" name="xmlToken"> <param name="tokenType" value="urn:oasis:names:tc:SAML:1.0:assertion"> <param name="issuer" value="http://schemas..../identity/issuer/self"> <param name="requiredClaims" value="http://.../claims/givenname, http://.../claims/surname, http://../claims/emailaddress, http://.../claims/privatepersonalidentifier"></object></form><!-- ... -->

Page 30: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Claims-basedsecurity in Web Applications

Mario SzpusztaSolutions ArchitectMicrosoft Austria, Vienna

demo

Page 31: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

WCF Services and Claims

WCF is metasystem-readySupports necessary WS-* standardsUnderstands many tokens (SAML, Kerberos...)

Client integration and CardSpaceSystem.IdentityModelSystem.ServiceModel.IdentityIdentity selector triggered based on WS-Policy

Page 32: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

WCF Service Configuration

<wsFederationHttpBinding><binding name="TestFederationBinding" bypassProxyOnLocal="true"> <security> <message issuedTokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1" negotiateServiceCredential="false"> <claimTypeRequirements> <add claimType="claim-uri" isOptional="false" /> </claimTypeRequirements> <issuer address="http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self" /> </message> </security></binding></wsFederationHttpBinding>

Page 33: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Claims-basedsecurity in WCF Services

Mario SzpusztaSolutions ArchitectMicrosoft Austria, Vienna

demo

Page 34: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Understanding the Requirements

Consistent User Experience

Clear definition of rolesTechnology-independent protocols

Federation andclaims-transformation

Claims-based Security

Page 35: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Federation and Trust-Chains

Relying party does not manage identity

IP authenticates / proves identityRelying party determines truth based on

IP with closest relationship to subjectIP authentication of subjectConsensus of multiple IPs

Federation bridges silos!!relies on

Page 36: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Federation Scenario - Example

Company A Company B

Requestor

IP/STS

IDstore

IP/STS

Target Servic

e

WS-Policy

WS-Trust

WS-Policy

WS-Trust

WS-TrustWS-Trust

Page 37: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Claims-Transformation & Federation

Company A Company B

Requestor

IP/STS

IDstore

Issues• Name• Date of Birth• Passport Nr.• Passport Valid• …

Transforms from

„Date of Birth“

To„Age >=

21?“

Format X.509 Cert SAML token

Asks for• Age >= 21

Target Servic

e

IP/STSTrust PartnerClaim

Local Actionable Claim

Content

Role Access Right

Page 38: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

A look at an simple STS

Mario SzpusztaSolutions ArchitectMicrosoft Austria, Vienna

demo

Page 39: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Agenda

Digital identity crisisReal world as metaphorThe Identity Metasystem as model

Agreement on a modelCommon, consistent User ExperienceClaims-based securityFederation & claims-transformation

Summary

Page 40: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Identity MetasystemSolves many of today’s issues (e.g. phishing)Based on interoperable standardsMany supporting vendors (IBM, Novell, OSIS Community, Pamela, Eclipse project etc.)

Windows CardSpaceClient-integration into metasystemIdentity selector and self-issuing STS

WCF is meta-system ready by designFull support: ADFS vNext incl. .NET Fx Extensions

Summary

Page 41: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Microsoft Open Specification Promise (OSP)

Perpetual legal promise that Microsoft will never bring legal action against anyone for using the protocols listed

Includes all the protocols underlying CardSpace

Issued September 2006http://www.microsoft.com/interop/osp

Page 42: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Resources and Links

Community site, samples, newshttp://cardspace.nefx3.com

MSDN Forumhttp://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=784&SiteID=1

MSDN Home Pagehttp://msdn.microsoft.com/identity

Blogshttp://identityblog.comhttp://blogs.msdn.com/cardhttp://self-issued.info/ http://identity-des.com/ http://blogs.msdn.com/vbertocci www.leastprivilege.com

Page 43: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Open Source Identity Selectors (some)

Firefox – Bandit DigitalMe ProjectWindows, Linux, Apple, Fedorahttp://www.bandit-project.org/index.php/DigitalMe

Firefox – Windows only (Kevin Miller)http://www.codeplex.com/IdentitySelector

Apple Identity Selectorshttp://www.hccp.org/safari-plug-in.html

Java Identity Selectorsxmldap http://xmldap.org/

Page 44: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Open Source Relying Parties (some)

Ruby RP projectshttp://rubyforge.org/projects/informationcard/ http://www.codeplex.com/informationcardruby

Java RP projectshttp://www.eclipse.org/org/press-release/20080221_higgins.php http://sourceforge.net/projects/informationcard/ http://www.codeplex.com/informationcardjava

C and PHP projectshttps://infocard-demo.labs.pingidentity.com/

Python and PHP projectshttp://code.bandit-project.org/trac/wiki/PythonInfoCard http://code.google.com/p/py-self-issued-rp/ http://www.codeplex.com/InformationCardPHP

Page 45: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

Open Source Identity Providers (some)

Verisign PIPhttps://pip.verisignlabs.com/

Bandigt IP Frameworkhttps://cards.bandit-project.org/BanditIdP/index.jsp

Higgings Frameworkshttp://www.eclipse.org/higgins/

Page 46: Mario Szpuszta Solutions Architect Microsoft Austria, Vienna.

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.