13
1 SAML, Liberty Alliance, openLiberty, and Concordia Eve Maler Sun Microsystems, Inc. www.xmlgrrl.com/blog 1

SAML, Liberty Alliance, openLiberty, and Concordia

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SAML, Liberty Alliance, openLiberty, and Concordia

1

SAML,Liberty Alliance,openLiberty,and ConcordiaEve MalerSun Microsystems, Inc.www.xmlgrrl.com/blog

1

Page 2: SAML, Liberty Alliance, openLiberty, and Concordia

2

Federated identity means distributing identity tasks and information across domains

Identityprovider(login site)

Relying party(web applicationor community)

User

Browser(or other interface)

Great! I like beingin control of my valuableusers and their attributes!

How do I trust the relyingparties that approach me? Howcan I better authn my users?...

Great! I can simplifymy user management

and authn architecture!

How valuable a service can Ioffer based on authn qualityand transaction security?...

Great! I can authnonly once (single sign-on)and still get to use multiple

web sites!Am I being phished? Should I

allow my attributes to be sent toand stored at these websites?...

Page 3: SAML, Liberty Alliance, openLiberty, and Concordia

3

SAML in a verbal nutshell• XML-based framework standardized at OASIS for:

> Marshaling security and identity information> Exchanging it across domain boundaries

• Out-of-the-box profiles for:> Single sign-on, single logout, privacy-preserving account

linking, simple arbitrary attribute exchange...• At SAML's core: assertions about subjects

> Authentication, attributes, entitlements> SAML assertions are reused in many other specs

• SAML V2.0 + business guidelines + interop certification testing = “Liberty Federation”

Page 4: SAML, Liberty Alliance, openLiberty, and Concordia

4

SAML in a pictorial nutshell

Assertions of authn, attribute,and entitlement information

Authenticationstatement

Attributestatement

Authz decisionstatement

Bindings onto standardcommunications protocols

SOAP overHTTP PAOS HTTP

redirectHTTPPOST

HTTPartifact

SAMLURI

Custom

Custom

Protocols to getassertions anddo identity mgmt

Assertionrequest

Authenticationrequest Custom

Attributeprofiles

for interpretingattrib semantics

Name IDmanagement

Singlelogout

Profiles combining binding,assertion, and protocol useto support defined use cases

Web browserSSO

Operational modes foruse in conformancetesting and RFPs

IdP

Enhancedclient SSO

IdPdiscovery

Singlelogout ... Custom

IdPLite SP SP

LiteEnhanced

client ...

...

Metadata todescribe provider

abilities and needs

Authenticationcontext classes

to describe types ofauthentication

performed/desired

Page 5: SAML, Liberty Alliance, openLiberty, and Concordia

5

SAML, Shibboleth, and Liberty Federation Framework convergence timeline

2002

SAML1

Liberty“Phase 1”

2003

SAML1.1

LibertyID-FF 1.1,1.2

2005

SAML2

LibertyFederation

2004

=

Shibboleth1.2

Shibboleth1.0,1.1

Liberty basesnew federation

standard onemerging SAML

standard

Liberty tracksSAML evolution;

Internet2Shibbolethbases its

solutions onSAML also

Liberty contributesID-FF to OASIS

for SAML2convergence;

Shibboleth alsotakes part

Liberty endorsesSAML2 as its

identity federationsolution and

provides interopand conformancetesting; Shibbolethis working on new

SAML2-basedAPIsX→y = design of X feeds

into Y (with direct dependencies except in the

SAML2 case)

Page 6: SAML, Liberty Alliance, openLiberty, and Concordia

6

Liberty Alliance in a verbalnutshell

• A community of ~150 businesses, organizations, government agencies – and now individuals> With a long list of .org relationships...

• Its mission since 2001:> Foster a ubiquitous, interoperable, privacy-respecting

federated identity layer for web applications and services• Deliverables are the result of three work streams:

> Gathering requirements from deployers and users> Gathing privacy policy and global regulatory requirements> Developing open technology standards (and testing

software for interop)• Tackles business and technical requirements for “trust”

Page 7: SAML, Liberty Alliance, openLiberty, and Concordia

7

Liberty in a pictorial nutshell

Identityprovider(login site)

Relying party(web applicationor community)

User

Browser(or other interface)

ID-WSF: Identity Web Services Framework> Focused on application-to-application interaction> Permission-based attribute sharing and user-absent scenarios

ID-FF: Identity Federation Framework> Focused on human-to-application interaction> Now converged with SAML2

ID-SIS: Identity Service Interface Specifications> Focused on ID-based services> Personal profile, geolocation...> Uses WSP/WSC terminology> Liberty Web Services = ID-WSF + ID-SIS

Advanced Client> Client as extension of the IdP> Strong local authn, and local-hosted services> More features coming soon

ID-SAFE: Identity Strong Auth Framework> Interoperable strong auth> In the requirements phase

openLiberty.org: open source for web service consumers> Eventually other projects too

Page 8: SAML, Liberty Alliance, openLiberty, and Concordia

8

The Liberty People Service• A “groups and roles” service that is agnostic as to

where all the identities are managed> You can base ACLs and other behavior on them> Versus today's popular web apps, which restrict the

means of building ACLs• You are effectively creating person-to-person

federations between you and others• Useful for social and business scenarios:

> Soccer team calendar control, business networking, access-controlled collaborative spec editing, project-specific confidential material access...

Page 9: SAML, Liberty Alliance, openLiberty, and Concordia

9

Some FOSS for SAML and Liberty• openLiberty.org (http://www.openliberty.org)

> The new home for Liberty-related OSS• OpenSAML (http://www.opensaml.org) - Apache license

> Java/C++ libraries giving low-level access to SAML 1.x functionality• Shibboleth (https://spaces.internet2.edu/display/SHIB/WebHome) - Apache license

> SAML 1.x IdP, SP functionality> Plugs in to Apache httpd, IIS, Sun/iPlanet

• OpenSSO (http://opensso.dev.java.net) - CDDL license based on Mozilla Public License 1.1> Java-based ID-FF, SAML and ID-WSF support, “Project Lightbulb” adds PHP and Ruby> (OpenID support now available too)

• Lasso (http://lasso.entrouvert.org/) - GPL or commercial license> C libraries offering Liberty ID-FF 1.2, ID-WSF 1.x low-level support> SWIGified bindings for Python, Perl, Java and PHP

• ZXID (http://www.zxid.org)> C, Perl (SWIGified) libraries with ID-FF 1.2, SAML 2, ID-WSF 1.x, 2 low-level support> C executable CGI, Perl and PHP scripts for acting as an SP

• “Conor’s Stuff” (http://www.cahillfamily.com/OpenSource/) - BSD license> C libraries for ID-WSF 1.x, 2.0 WSC, Java WSP libraries

Thanks to John Kemp for doing most of the data

compilation!

Page 10: SAML, Liberty Alliance, openLiberty, and Concordia

10

The Concordia Program• Umbrella initiative to drive harmonization

and interop of multiple identity protocols• Based on open discussions/events to develop use

cases exploring the “seams” where heterogeneous protocols meet (or don't) in deployment

• Could result in additional specs, profiles, or services being developed at Liberty or elsewhere

• Anticipates expansion of the Liberty Interoperable program

• See the wiki for use cases and to get involved• Let's hold an IIW session on use cases...

Page 11: SAML, Liberty Alliance, openLiberty, and Concordia

11

The Venn of identity: SAML and Libertywith a bit of context (remember Saki)

Phishing-resistant authentication and attributesharing though client; “card”

paradigm; requires WS-Trust; can front-end

various SSO systemsCardSpace

OpenIDDistributed

authenticationand simple attribute

sharing aroundURI-based IDs;

low-trust scenarios;explicitly no need for preconfigured

trust

Solutions forconsistent user

experience

SAML tokensin XML msgs;

enterprise security &privacy; smart clients

SAML, LibertyWeb ServicesSSO, single logout;permission-basedattrib sharing; user-absent use cases; optimized for“circles of trust”;interop certprogram

Supportsuser control/

empowermentmodels

Can doauthn against

URI-based IDs;authn-method

agnostic

Thanks to Paul Madsen for the initial content and Johannes Ernst

for the “three standards” paradigm!

Page 12: SAML, Liberty Alliance, openLiberty, and Concordia

12

References• SAML at OASIS: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security• SAML2 Basics slides:

http://www.oasis-open.org/committees/download.php/20520/SAMLV2.0-basics-Oct2006.pdf• Liberty Alliance: http://www.projectliberty.org/• ID-FF interoperability matrices:

http://www.projectliberty.org/liberty/liberty_interoperable/interoperable_products• ID-WSF Basics slides:

http://www.projectliberty.org/liberty/content/download/2661/17923/file/idwsf-basics-22jan2007-Eve Maler.pdf• ID-SIS specifications:

http://www.projectliberty.org/resource_center/specifications/liberty_alliance_id_sis_1_0_specifications• Advanced Client specs overview:

http://www.projectliberty.org/liberty/content/download/2658/17911/file/AdvancedClient-20070122-Conor Cahill.pdf• ID-SAFE FAQ: http://www.projectliberty.org/liberty/resource_center/faq/strong_authentication__1• Concordia wiki: http://wiki.projectliberty.org/index.php/Concordia

Page 13: SAML, Liberty Alliance, openLiberty, and Concordia

1313

Thanks!Questions?

Eve [email protected]/blog