Internet2 Shibboleth Project TERENA Networking Conference 2002, Limerick, Ireland RL “Bob”Morgan, Washington Steven Carmody, Brown Scott Cantor, Ohio State Marlena Erdos, IBM/Tivoli Michael Gettes, Georgetown Keith Hazelton, Wisconsin David Wasley, UCOP ... and many more Ken Klingenstein, Director Internet2 Middleware Initiative Outline Background –I2 Middleware Work; Shibboleth Goals, Assumptions, Timelines, Related Works. Shibboleth Basics –how it works; demos. Technical Topics • Shibboleth Technical Architecture • User and Institutional Attribute Authorities, Resource Managers • Applications and Shibboleth –EBSCO, NSDL, Meteor, WebAssign Non-technical topics • Software licensing and maintenance • Marketplace adoption –higher ed, GXA, Liberty, etc. • Club Shib bylaws and operations Wrap-up –what it buys, and what it costs… http://middleware.internet2.edu/shibboleth Interrealm authorization: current approaches Lots of ad hoc, non-scalable, difficult to maintain, and restrictive approaches: • Single ID and shared passwords are distributed, perhaps widely, presenting significant accountability risks. • Content providers limit access by IP address, leaving campus users on DSL/cable modems at home frustrated… • Campuses operate proxy services or VPNs that inconvenience users and present performance bottlenecks. • Sometimes campuses must load user identities into vendor databases, incurring additional cost, stale data, and potential privacy violations. • Users get new userids and passwords in each realm, incurring huhge overhead (and they often set all their passwords to be the same… ) Shibboleth Basics • I“nterrealm Attribute-based Authorization for Web Services” • An initiative to develop an architecture, policy framework, and practical technologies to support inter-institutional sharing of resources • Based on a federated administration trust framework • Provides the secure exchange of interoperable attributes which can be used in access control decisions • Controlled dissemination of attribute information, based on administrative defaults and user preferences • Shifts the model from passive privacy towards active privacy • Developed with vendor participation - IBM/Tivoli • Standards Alignment - OASIS/SAML • Open solution (protocols and messages documented rfc-style, open source implementation available) Founding assumptions Federated Administration –Focus on inter-institutional issues, with each enterprise responsible for authentication and assertion of attributes. Create mechanisms for lightweight federation operations. Disturb as little of the existing campus infrastructure as possible but encourage good campus behaviors Build a system that supports security but does not degrade privacy. Leverage vendor and standards activity wherever possible (OASIS/SAML http://www.oasis-open.org/committees/security/ ), but recognize distinctive business needs. Work with widespread campus technologies. Learn through doing –There is very little experience with systems that allow users to manage the release of attribute information. Create a marketplace and reference implementations. Federated Administration Leverage local authentication mechanisms (UID/PW to PKI) Origin Site • • • • • Must have joined the appropriate communities May have created “reasonable”default attribute release policies Responsible for initial identification and registration of users Responsible for managing attributes (eg Affiliation) Responsible for Authenticating users prior to resource access Browser User • Only needs to know the name of his/her origin domain • May have created specific attribute release policies Target Resource Manager • Must have joined the appropriate communities • Manage policies governing access to the resource Rethinking Privacy Passive privacy - The current approach. A user passes identity to the target, and then worries about the target’s privacy policy. To comply with privacy, targets have significant regulatory requirements. The user has no control, and no responsibility. And no one is happy... Active privacy - A new approach. A user (through their security domain) can release the attributes to the target that are appropriate and necessary. If the attributes are personally identifiable. If the attributes are personally identifiable, the user decides whether to release them. The user has control, along with commensurate responsibility. All parties are happy Attribute-based authorization There is a spectrum of approaches available for attribute-based management of access to controlled resources, At one end is the attribute-based approach, where attributes are exchanged about a prospective user until the controlled resource has sufficient information to make a decision. This approach does not degrade privacy. At the other end is the identity-based approach, where the identity of a prospective user is passed to the controlled resource and is used to determine (perhaps with requests for additional attributes about the user) whether to permit access. Since this leads with identity, this approach requires the user to trust the target to protect privacy. Stage 1 - Addressing Four Scenario’s Member of campus community accessing licensed resource • Anonymity required Member of a course accessing remotely controlled resource • Anonymity required Member of a workgroup accessing controlled resources • Controlled by unique identifiers (e.g. name) Intra-campus - crossing political boundaries • Controlled by unique identifiers (e.g. name) Taken individually, each of these situations can be solved in a variety of straightforward ways. Taken together, they present the challenge of meeting the user's reasonable expectations for protection of their personal privacy while respecting the content provider’s need for accountability. Milestones Project formation - Feb 2000 Stone Soup Process - began late summer 2000 with Tivoli commitment (w/Marlena Erdos), project leadership in fall 2000 (w/Steven Carmody), bi-weekly calls to develop scenario, requirements and architecture. Linkages to SAML established Dec 2000 (consistent architecture and distinguished territory) Architecture and protocol completion - Aug 2001 Design - Oct 2001 Coding began - Nov 2001 Alpha release –April 2002 (!) Roll-out plan Three coding teams: CMU - origin; IBM/Tivoli - target; OSU - libraries Alpha code –available now Alpha pilots –April - June Beta code and beta pilots –June 1 - Sept 1 Release September 1 with Apache/modified BSD license Internet2 to operate CVS, bug tracking, etc. Applications and Shibboleth – Currently working with: • NSDL (National Science Digital Library) • EBSCO (and other commercial information providers) • Meteor (Student Loan System) • WebAssign (Web Based Testing, Physics and Chemistry) Shibboleth: How It Works Technical Components Demo Technical Components Origin Site • Handle Server • Attribute Authority Target Site • SHIRE • SHAR • WAYF • Resource Manager Existing assumed components: for origins - Campus directory or attribute store; Web-ISO for targets - web servers and resource managers Go to Target, SHIRE Destination site component responsible for context/session establishment Session establishment will commonly rely on traditional techniques (i.e. cookies). With no session in place, the SHIRE knows nothing about the user, so must either ask directly (SHIRE==WAYF) or redirect the user to a location that will ask on its behalf (SHIRE!=WAYF) WAYF Where are You From? The WAYF is the transition point from destination to origin site HS when users contact a destination first. The Club’s Registry provides the WAYF with a list of members, and their Handle Servers Users can respond to the WAYF by indicating in “colloquial”fashion which institution can authenticate them. The WAYF will determine the URL of the appropriate HS based on the user’s input. Handle Server Works with AA and local Web ISO system (authentication) to associate a query handle with an authenticated browser user and generate a signed assertion Performs its work in response to an Attribute Query Handle Request (currently an unauthenticated HTTP GET) Triggers local campus authentication system Generates a Handle “Remembers”mapping from Handle to specific user Sends Assertion with Handle to SHIRE SHIRE Indexical Reference Establisher The SHIRE accepts and validates an assertion from a HS (Registry provides list of club members, their speakers, and associated cert’s) Associates the incoming handle with the session it creates. Passes control to the SHAR SHAR Attribute Requester A SHAR makes attribute requests using the handle given it by the SHIRE. Attribute Authority Receives Attribute Query Messages (AQM) from SHAR; returns Attribute Response Message (ARM) • Finds ARPs matching target • Determines which attributes and values to release Provides UI for specification and management of Attribute Release Policies (ARPs) Not a directory, but works with institutional directories and databases to aggregate and export attributes in a controlled fashion SHAR Attribute Requester Upon receiving a response (AQR), the SHAR… authenticates the response ((Registry provides list of … club members, their speakers, and associated cert’s) • The attribute assertion contains the name of the origin site (eg brown.edu) extracts the attributes … checks attribute acceptance … • e.g. can an AA at MIT issue attributes for Harvard? Resource Manager Accepts Attributes from the SHAR Compares supplied Attributes against Policy associated with requested resource Grants/Denies access Establishing a User Context Getting Attributes and Determining Access Attribute Authority -- Management of Attribute Release Policies The AA provides ARP management tools/interfaces. • Different ARPs for different targets • Each ARP Specifies which attributes and which values to release • Institutional ARPs (default) – administrative default policies and default attributes – Site can force include and exclude • User ARPs managed via “MyAA”web interface • Release set determined by “combining”Default and User ARP for the specified resource Authorization Attributes Typical Attributes in the Higher Ed Community Affiliation “active member of the community” Member@washington.edu EPPN identity gettes@georgetown.edu Entitlement An agreed upon opaque string Urn:mace:infovendor:contract1234 OrganizationalUnit Department Economics Department EnrolledCourse Physics 201 Opaque course identifier Non-technical Issues Software licensing and maintenance Marketplace adoption –higher ed, GXA, Liberty, etc. Trust Models and Federations Club Shib bylaws and operations Software licensing and maintenance Two products at this point will be licensed and maintained: OpenSAML – a set of libraries to package,sign and unpack,verify SAML assertions, at opensaml.org Shibboleth – an open source and development environment for Shibboleth, attribute authorities, resource managers, etc. Both will operate under modified BSD licensing (see drafts at http://www.internet2.edu/members/html/intellectualproperty.html ) Internet2 and/or Club Shib membership may provide ongoing enhancements. Marketplace issues Federation oriented marketplace new and very active – OASIS and SAML standards processes Liberty Alliance Microsoft .Net and GXA Shibboleth Shibboleth and PKI are complementary The embedded base of work-arounds create inertia, but middleware development is active on many campuses right now Build-on projects –digital rights management, K-12, etc. Promotion and adoption process SAML: Security Assertion Markup Language Standards for XML-based authentication/authorization assertion formats, basic request-response protocol Designed to support interop among web single-sign products (Netegrity, RSA, IBM, Entrust, many others) OASIS technical committee formed in Jan 2001; difficult but successful standards process Used Shibboleth as one of several scenarios to design SAML 1.0 specs finished May 28 2002, awaiting OASIS ratification Interop testing under way among many vendors Spec punts on many issues, from communities to privacy Shibboleth and SAML SAML is specifying a format and a means to exchange authentication and authorization assertions Shibboleth builds a general purpose public infrastructure around SAML by • • • • • developing user-navigation services, standards to manage the exchange of attributes, standard sets of attributes to be exchanged, and infrastructure and user tools to preserve and manage privacy. supporting groups using a common policy model; a scaleable solution to common needs SAML is creating a middleware equivalent of an IP address. Shibboleth adds services equivalent to DNS, routing, etc, to create a middleware equivalent of the Internet. Liberty, Microsoft, etc Liberty (www.projectliberty.org) Sun, American Express, Citibank, United, Nokia … federated identity and privacy management technology uncertain; partnership is complex Microsoft GXA with derivative products (WSDL, etc.) Passport and, once, Hailstorm partial partnership with IBM AOL Magic Carpet Shibboleth and PKI Complementary technologies Technically: • Shibboleth leverages existing campus authentication processes (and can use end-entity certificates for this process) • Shibboleth uses PKI to implement a multi-domain trust model • Shibboleth’s primary use is for authorization and privacy • PKI’s primary use is establishing identity across domains • PKI can use Shibboleth to achieve privacy and authorization. Policy: • Shibboleth establishes a collaborative trust model (flexible, quick, privacyenabled, etc.) • PKI establishes a legal trust model (binding, hierarchical, formal, etc.). Federations and Club Shib Trust model continuum Creating and managing federations Club Shib The Continuum of Trust Collaborative trust at one end… • can I videoconference with you? • you can look at my calendar • You can join this computer science workgroup and edit this computing code • Students in course Physics 201 @ Brown can access this on-line sensor • Members of the UWash community can access this licensed resource Legal trust at the other end… • Sign this document, and guarantee that what was signed was what I saw • Encrypt this file and save it • Identifiy yourself to this high security area Dimensions of the Trust Continuum Collaborative trust handshake Legal trust contractual consequences of breaking trust more political (ostracism, shame, etc.) consequences of breaking trust more financial (liabilities, fines and penalties, indemnification, etc.) fluid (additions and deletions frequent) more static (legal process time frames) shorter term structures tend to clubs and federations privacy issues more user-based longer term (justify the overhead) tends to hierarchies and bridges privacy issues more laws and rules The Trust Continuum, Applications and their Users Applications and their user community must decide where their requirements fit on the trust continuum. Some apps can only be done at one end of the continuum, and that might suggest a particular technical approach. Many applications fit somewhere in the middle and the user communities (those that trust each other) need to select a approach that works for them. Shibboleth (and SAML) Federations A group of organizations (universities, corporations, content providers, etc.) who agree to provide access to resources using the SAML/Shibboleth protocols. In doing so they agree to abide by common sets of rules. The required rules and functions include: • A registry to process applications and administer operations • A set of best practices on associated technical issues, typically involving security and attribute management • A set of agreements or best practices on policies and business rules governing the exchange and use of attributes. • The set of attributes that are regularly exchanged (syntax and semantics). • A mechanism (WAYF) to identify a user’s security domains Club Shib A federation to support academic and research activities. Members can be organizations that are : • origins (IdSP’s) • targets (student loan services, content providers) • both (universities, museums, etc.) Club functions : • • • • Central registry service and WAYF service Origin practices on attributes and authentication Target practices on the management of exchanged attributes Attribute sets (eduPerson and eduOrg) for use to exchange attributes Club Shib operation Operated by Internet2, open to all interested parties; registration fees modest and likely absorbed internally for Internet2 members Initial governance by NPPAC (I2 CIO policy/planning council) with the intent to propose a light-weight governance structure to club members Registration services on line; distribution of registry updates nightly Self-audits by members Club Shib Application Application must include appropriate technical details: certs, org names, hs address, people contacts, etc. Origin applicants must provide attribute management statement URL (see http://middleware.internet2.edu/shibboleth/samplepolicy/); Must include eligibility, identification, authentication, and reuse information. Target applicants must provide attribute handling statement. The benefits and costs Institutions can deploy a single interrealm authentication and authorization approach that can work for library, research and instructional needs. Vendors can get their toes (big toe) into the web services water A marketplace can be shaped that does not degrade privacy needlessly A new widely used open-source web infrastructure can be created. Institutions need to get their management processes aligned to support middleware Middleware components need to be installed. The Value of Shibboleth… . Institutions can deploy a single interrealm authentication and authorization approach that can work for library, research and instructional needs. Enables greater granularity in access control policy Part of the solution to the “higher degree of integration”problem Establishes institutions as Identity Service Providers in upcoming competitive market Promotes inter-institutional, attribute-based approach for institutional applications and services