32
Claims-Based Identity Solution Architect Briefing zoli.herczeg.ro Taken from David Chappel’s work at TechEd Berlin 2009

Claims-Based Identity

  • Upload
    mandar

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

Claims-Based Identity. Solution Architect Briefing zoli.herczeg.ro Taken from David Chappel’s work at TechEd Berlin 2009. Agenda. Introducing Claims-Based Identity Using Claims-Based Identity: Scenarios Microsoft Technologies for Claims-Based Identity: A Closer Look. - PowerPoint PPT Presentation

Citation preview

Page 1: Claims-Based Identity

Claims-Based Identity

Solution Architect Briefingzoli.herczeg.ro

Taken from David Chappel’s work at TechEd Berlin 2009

Page 2: Claims-Based Identity

Agenda

• Introducing Claims-Based Identity

• Using Claims-Based Identity: Scenarios

• Microsoft Technologies for Claims-Based Identity: A Closer Look

Page 3: Claims-Based Identity

Introducing Claims-Based Identity

Page 4: Claims-Based Identity

Claims-Based Identity The core Microsoft technologies

Active Directory Federation Services (AD FS) 2.0The next release of AD FS

CardSpace 2.0The next release of CardSpace

Windows Identity Foundation (WIF) 1.0Pronounced “Dub-I-F”

These three technologies were previously code-named “Geneva”

Page 5: Claims-Based Identity

What is Identity?An identity is a set of information about some entity, such as a user

Most applications work with identityIdentity information drives important aspects of an application’s behavior, such as:

Determining what a user is allowed to doControlling how the application interacts with the user

Page 6: Claims-Based Identity

Defining the ProblemWorking with identity is too hard

Applications must use different identity technologies in different situations:

Active Directory (Kerberos) inside a Windows domainUsername/password on the InternetWS-Federation and the Security Assertion Markup Language (SAML) between organizations

Why not define one approach that applications can use in all of these cases?

Claims-based identity allows thisIt can make life simpler for developers

Page 7: Claims-Based Identity

Token

Signature

Example Claims

Name

Group

Age

Claim 1Claim 2

. . .Claim n

Claim 3

Tokens and Claims Representing identity on the wire

A token is a set of bytes that expresses information about an identity

This information consists of one or more claimsEach claim contains some information about the entity to which this token applies

Indicates who created this token

and guards against changes

Page 8: Claims-Based Identity

Identity Providers and STSsAn identity provider (or issuer) is an authority that makes claims about an entity

Common identity providers today:On your company’s network: Your employerOn the Internet: Most often, you

An identity provider implements a security token service (STS)

It’s software that issues tokensRequests for tokens are made via WS-Trust

Many token formats can be usedThe SAML format is popular

Page 9: Claims-Based Identity

Identity Provider

Account/ Attribute Store

Security Token Service (STS)

2) Get information

1) Authenticate user and request

token

3) Create and return token

Token

Browser or Client

User

Getting a TokenIllustrating an identity provider and an STS

Page 10: Claims-Based Identity

4) Use claims in token

Browser or Client

User

Identity Provider

Acquiring and Using a Token

1) Authenticate user and get token

Token2) Submit

token

Token

List of Trusted STSs

Application 3) Verify token’s signature and check whether

this STS is trustedIdentity Library

STS

Page 11: Claims-Based Identity

Why Claims Are an ImprovementIn today’s world, an application typically gets only simple identity information

Such as a user’s name

To get more, the application must query:A remote database, e.g., a directory serviceA local database

With claims-based identity, each application can ask for exactly the claims that it needs

The STS puts these in the token it creates

Page 12: Claims-Based Identity

How Applications Can Use ClaimsSome examples

A claim can identify a userA claim can convey group or role membershipA claim can convey personalization information

Such as the user’s display nameA claim can grant or deny the right to do something

Such as access particular information or invoke specific methods

A claim can constrain the right to do something Such as indicating the user’s purchasing limit

Page 13: Claims-Based Identity

5) Use claims in token

User

ApplicationIdentity Providers

STSSTS

Identity Selector

1) Access application and

learn token requirements

2) Select an identity that matches those

requirements

3) Authenticate user and get token

for selected identity

Token 4) Submit token

Token

Supporting Multiple IdentitiesUsing an identity selector

Identity Library

Browser or Client

STS

Page 14: Claims-Based Identity

5) Use claims in token

User

Application

STSSTS

CardSpace 2.0

1) Access application and

learn token requirements

2) Select an identity that matches those

requirements

3) Authenticate user and get token

for selected identity

Token 4) Submit token

Token

Claims-Based Identity for Windows

Windows Identity Foundation

Browser or Client

STS

AD FS 2.0

Identity Providers

Page 15: Claims-Based Identity

Using Claims-Based Identity: Scenarios

Page 16: Claims-Based Identity

AD FS 2.0

User

2) Access application and

learn token requirements

Active Directory Domain Services

5) Find claims required by application and create

token

3) Select an identity that matches those

requirements

STS

8) Use claims in token

Application

WIF

CardSpace 2.0

6) Receive token

Token

7) Submit token

Token

An Enterprise Scenario

1) Login to domain and get Kerberos

ticket

4) Present Kerberos ticket

and request token for

selected identity

Browser or Client

Page 17: Claims-Based Identity

Internet

User

2) Select an identity that matches those

requirements

AD FS 2.0Active Directory Domain Services

1) Access application and

learn token requirements

5) Use claims in token

Application

WIF

CardSpace 2.0

3) Authenticate user and get token

for selected identity

TokenToken

4) Submit token

Allowing Internet Access

STS

Browser or Client

Page 18: Claims-Based Identity

5) Use claims in token

Identity Providers

STS

Internet

Windows Live ID

Other

User

2) Select an identity that matches those

requirements

1) Access application and

learn token requirements

CardSpace 2.0

Application

WIF4) Submit

token

Token

3) Authenticate user and get token for selected identity

Token

Using an External Identity Provider

STS

Browser or Client

Page 19: Claims-Based Identity

Identity Across OrganizationsDescribing the problem

• A user in one Windows forest must access an application in another Windows forest

• A user in a non-Windows world must access an application in a Windows forest (or vice-versa)

Page 20: Claims-Based Identity

Identity Across OrganizationsPossible solutions

• One option: duplicate accounts– Requires separate login, extra administration

• A better approach: identity federation – One organizations accepts identities provided by the other

• No duplicate accounts• Single sign-on for users

Page 21: Claims-Based Identity

2) Select an identity that

matches those requirements

AD FS 2.0

Organization X

User

Active Directory Domain Services

Organization Y

STS

Trusted STSs:-Organization Y-Organization X

1) Access application and learn token

requirements

CardSpace 2.0

5) Use claims in token

Application

WIF

3) Get token for selected identity

Token

4) Submit token Token

Identity Federation (1)

STS

Browser or Client

Page 22: Claims-Based Identity

3) Select an identity that

matches those requirements

AD FS 2.0

User

Active Directory Domain Services

1) Access application and learn token

requirements

2) Access Organization Y STS and learn

token requirements

Trusted STSs:-Organization X

Trusted STSs:-Organization Y

STS

CardSpace 2.0

8) Use claims in token

Application

WIF

6) Issue token for application

Token

7) Submit token Token

5) Request token for application

Token for STS Y

4) Get token for Organization Y STS

Token for STS Y

Identity Federation (2)Organization X Organization Y

STS

Browser or Client

Page 23: Claims-Based Identity

8) Use claims in token

AD FS 2.0

User

Active Directory Domain Services

3) Access application and

learn token requirements

5) Check policy for user, application X, and application Y

Application Y

WIF

1) Get token for

application X

Token for X

4) Request token for

application Y

Token for X

6) If policy allows, issue token for application Y

Token for Y

7) Submit token

Token for Y

2) Submit token

Token for X

Delegation

STS

Browser or Client Application X

WIF

Page 24: Claims-Based Identity

Microsoft Technologies for Claims-Based Identity: A Closer Look

Page 25: Claims-Based Identity

Changes in AD FS 2.0From the previous release

AD FS 1.1 supports only passive clients (i.e., browsers) using WS-Federation

And it doesn’t provide an STS

AD FS 2.0:Supports both active and passive clientsProvides an STSSupports both WS-Federation and the SAML 2.0 protocolImproves management of trust relationships

By automating some exchanges

Page 26: Claims-Based Identity

CardSpace 2.0Selecting identities

CardSpace” provides a standard user interface for choosing an identity

Using the metaphor of cardsChoosing a card selects an identity (i.e., a token)

Page 27: Claims-Based Identity

Information CardsBehind each card a user sees is an information card

It’s an XML file that represents a relationship with an identity providerIt contains what’s needed to request a token for a particular identity

Information cards don’t contain:Claims for the identityWhatever is required to authenticate to the identity provider’s STS

Page 28: Claims-Based Identity

Identity Providers

STSSTSSTSBrowser or Client

CardSpace 2.0

User

Information Card 1

Information Card 3

Information Card 2

Information Card 4

Information CardsAn illustration

Page 29: Claims-Based Identity

Creating Industry Agreement

The Information Card Foundation is a multi-vendor group dedicated to making this technology successful

Its board members include Google, Microsoft, Novell, Oracle, and PayPal

A Web site can display a standard icon to indicate that it accepts card-based logins:

Page 30: Claims-Based Identity

Changes in CardSpace 2.0From the first CardSpace release

CardSpace 2.0 is available separately from the .NET Framework

It’s smaller and faster

CardSpace 2.0 contains optimizations for applications that users visit repeatedly

A Web site can display the card you last used to log in the site The CardSpace screen needn’t appear

Cards can be set using Group PolicyThe self-issued identity provider has been dropped

Page 31: Claims-Based Identity

Windows Identity FoundationThe goal: Make it easier for developers to create claims-aware applicationsWIF provides:

Support for verifying a token’s signature and extracting its claimsClasses for working with claimsSupport for creating a custom STSVisual Studio project typesAn STS for development and testingMore

Page 32: Claims-Based Identity

ConclusionsChanging how applications (and people) work with identity is not a small thing

Widespread adoption of claims-based identity will take time

Yet all of the pieces required to make claims-based identity real on Windows are here:

AD FS 2.0CardSpace 2.0Windows Identity Framework