480 likes | 638 Views
CIS 8020 Case Study Identity Management Architecture Enabling Shibboleth. Art Vandenberg Avandenberg@gsu.edu Account Rep, Information Systems & Technology Georgia State University November 10, 2009. Abstract
E N D
CIS 8020Case StudyIdentity Management ArchitectureEnabling Shibboleth Art Vandenberg Avandenberg@gsu.edu Account Rep, Information Systems & Technology Georgia State University November 10, 2009
Abstract A key component of security plans is well-managed, centralized access to services that protect online resources and user privacy while enabling ease of use. Shibboleth is an implementation of a solution of identity management infrastructure for web-based resources.
Identity Management Goals • Deliver services to customers, correctly & securely • Provide online service for entire life cycle • Simplify end user experience • Facilitate provisioning of those services by IT • Integrate across traditional applications & data • Operate inter-organizational, collaborative environments - students, research, staff, affiliates
Systems Integration Goal • Enterprise-wide, policy-driven identity and access management infrastructure that supports • Scalability • Consistency • Integration • Collaboration
Drivers Constituent Requirements Institutional Goals Policy &Governance Standards Budget Project Management Practices Ability to Implement Technology Staff Skills/Expertise Products Identity Environment Identity Management
Identifiers for authentication • Motivation for Enterprise Identifier Strategy • Foundation: userids, authN, authZ, directories… • Moving from stovepipes to enterprise focus • “Unified name space” enables support for multiple apps • Implications: • Unique ids (enterprise-wide, not application) • Policies needed for creation, assignment, use of ids • Process needed to manage identifiers • Reconciliation of multiple identities
Identifiers, aspects of • Identifier characteristics • Readability Provisioning • Persistence Uniqueness • Intelligence Public visibility • Identifier types • UID (uuid/guid) person registry ID • Account login netid • ssn (student, emp) publicly visible ID • Email address library/departmental • Pseudonymous ID Administrative systems ID
Identifiers and Authentication • Password, kerberos, PKI –– solutions are available • Password most prevalent, so how handle? • Precrack password and enforce minimum length • To age or not to age? Resets managed • First password assignment - how to handle securely? • US Mail a one-time PW; require in person & photo ID • For remote, require departmental rep, supervisor + fax • Server side pw management • Lock after repeat fail attempts; no clear text store; audit trails; • Root/superAdmin separated from users
Authentication - Policy Implications • Policies cannot be separate from ID/AuthN • Policy decisions may include: • Distinct passwords for internal/external or for different levels of security • Rethinking value of single sign-on… (reduced sign-on) • Best practice recommendation to work in secure environment may imply technical requirement (SSL…) • Deciding who assigns Identifiers • Format, persistence, reuse of identifiers
ID Management -underlying data elements • Directories • Metadirectory & Application Enabling • Director Information Tree architecture • ObjectClasses • OIDS
Directories Georgia State University: Building an Identity Management Infrastructure for the eUniversity, NMI-EDIT Case Study Series, October 2004
DIRECTORY ENABLING DATA SOURCES APPL ICAT IONS
Directory Information Tree (DIT) • Design for interoperability, discovery • DC (domain component) naming • Leverage Domain Name System to provide uniqueness • www.yourSchool.edu • Ou=people, dc=yourSchool, dc=edu • Collaboration across higher education: yourSchool.edu
o=Georgia State University ou=Information Systems Info per Dept ou=ACS ou=UCCS and sub-Depts… cn=Mae Jones cn=Art Vann Same Jan? cn=Jan Smith cn=Jan Smith cn=Fran West Cn=Jan Smith, ou=ACS, ou=Information Systems, o=Georgia State University • DIT: Not flat, no unique uid, no dc-naming
dc=edu dc=gsu Info for enterprise ou=people ou=unit Info by function ou=acs uid=avann ou=uccs uid=jsmith Unique id across enterprise uid=jsmith2 uid=jsmith2, ou=people, dc=gsu, dc=edu • DIT: Flat, unique uid, dc-naming
Structure can facilitate interoperation Directory Information Tree (DIT) • Best Practice Design to improve interoperability • Schema • Flat as possible - minimizes update overhead • UID unique across tree - resolve identity! • Accounts are person attributes (not a separate node of tree) • Use dc naming: …dc=yourSchool, dc=edu • Naming - why it’s important • Choose distinguishedName (DN) carefully • UID (rather than commonName: Jim Smith, Jim Smith?) • DN should have domain component (dc)
object Classes • object classes group related information, typically, modeling some real-world object such as a person, printer, or network device. • object classes enable passing of information • object classes include: • An OID that uniquely identifies the class • A name that also uniquely identifies the class • A set of mandatory attributes • A set of allowed attributes
object class inheritance (from Tim Howes et al., Understanding and Deploying LDAP Directory Services) top More attributes Superior class person organizationalPerson inetOrgPerson
object Classes, standards for • Representation of object classes is defined in X.501 (ITU-T Recommendation X.501) • person schema definition (cf. Sun ONE/iPlanet) objectclasses: ( 2.5.6.6 NAME “person” DESC “Standard ObjectClass” SUP “top” MUST ( objectclass $ sn $ cn ) MAY ( aci $ description $ seeAlso $ telephoneNumber $ userpassword ) )
objectClasses, example of • person entry for Babs Jensen • Requires Allows (naming info) (descriptive, contact info) sn: Jensen description: directory manager cn: Babs Jensen telephoneNumber: +1 650 555 1234 objectclass: top userpassword: xxxxxx person seeAlso: cn=Fred Jensen • Object class attributes can be multi-valued eduPersonAffiliation: staff, alum
LDIF (LDAP Data Interchange Format) – add attributes of eduPerson ... dn: cn=schema changetype: modify ... add: attributetypes attributetypes: ( 1.3.6.1.4.1.5923.1.1.1.1 NAME 'eduPersonAffiliation' DESC 'eduPerson per Internet2 and EDUCAUSE' EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' ) attributetypes: ( 1.3.6.1.4.1.5923.1.1.1.6 NAME 'eduPersonPrincipalName' DESC 'eduPerson per Internet2 and EDUCAUSE' EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE ) ...
LDIF - add objectClass of eduPerson ... dn: cn=schema changetype: modify ... add: objectclasses objectclasses: ( 1.3.6.1.4.1.5923.1.1.2 NAME 'eduPerson' AUXILIARY MAY ( eduPersonAffiliation $ eduPersonNickname $ eduPersonOrgDN $ eduPersonOrgUnitDN $ eduPersonPrimaryAffiliation $ eduPersonPrincipalName $ eduPersonEntitlement $ eduPersonPrimaryOrgUnitDN $ )) ...
eduPerson objectClass • Recommended objectClass for higher education http://www.educause.edu/eduperson/ • eduPerson attributes: eduPersonAffiliation eduPersonPrimaryAffiliation eduPersonOrgDN eduPersonOrgUnitDN eduPersonPrincipalName eduPersonPrimaryOrgUnitDN eduPersonNickname eduPersonEntitlement eduPersonScopedAffiliation
OID policy • OID arc - A unique Object Identifier • Must have for local attributes/objectclasses • Enables interoperability • Managed hierarchy ISO http://www.iso.ch/ and ITU http://www.itu.ch/ • Can be obtained from a number of sources • To get one from IANA, fill out a form at http://www.iana.org/cgi-bin/enterprise.pl No fee; turnaround relatively quick • To get one from ANSI, go to http://web.ansi.org/public/services/reg_org.html One-time fee; turnaround can take several weeks
OID arc - eduPersonAffiliation • From IANA = 1.3.6.1.4.1 • From eduPerson LDIF # 1.3.6.1.4.1.5923 is the toplevel OID for this [MACE] work # .1 = MACE related work # .1.1 = eduPerson # .1.1.1 = attributes # .1.1.2 = objectclass # .1.1.3 = syntax (probably never used) # .1.2 = eduOrg # .1.2.1 = attributes # .1.2.2 = objectclass # .1.2.3 = syntax (probably never used) add: attributetypes attributetypes: ( NAME 'eduPersonAffiliation’… ) 1.3.6.1.4.1. 5923 .1 .1 .1 .1
Superior arc (1.3.6.1.4.1.5923)? • * 1.3.6.1.4.1 - IANA • * 1.3.6.1.4 - Internet Private • * 1.3.6.1 - OID assignments from 1.3.6.1 - Internet • * 1.3.6 - US Department of Defense • * 1.3 - ISO Identified Organization • * 1 - ISO assigned OIDs • * Top of OID tree
Shibbolethbuilding upon identity management • Given a good enterprise directory, unique id, middleware basis… • Consider a need for LIBRARY • Authenticated / authorized access to Vendor Database
Web Authentication/AuthorizationPrivacy Preserving Security • Access to digital library resources (vendor databases) • Some solutions have policy & technology limits: • IP-based access – spoofable, limiting • Proxy server – slightly better • Group accounts – obvious drawbacks (can’t id exactly) • Additional management of accounts & passwords • management hassles, synchronization complexity • extra accounts for users • lag time setting up a new person (faculty, student, or employee)
ShibbolethSingle Sign-on and Federating Software specifically addresses the challenges of • Multiple passwords required for multiple applications • Scaling the account management of multiple applications • Security issues associated with accessing third-party services • Privacy • Interoperability within and across organizational boundaries • Enabling institutions to choose their authentication technology • Enabling service providers to control access to their resources. http://shibboleth.internet2.edu/about.html
Shibboleth Pilot Solution (2004)University Library • Provides secure access (not proxied) • Leverages local enterprise authentication • Access is based on role attributes (finer grained) • Enables access from anywhere on web • Reduces logins • Stronger authentication (not IP) • Addresses user privacy POLICY Elements: Trust Federation; Privacy preservation Campus Ids Attribute Authority Privilege management
Architecture/Policy components OpenSAML for secure transmission • Sun Solaris for Shibboleth Origin • Apache, Tomcat, J2SE • Origin site (Identity Provider) requirements • Handle Server • single signon (SSO) or web initial signon (WebISO) • Attribute Authority • repository (mySQL or LDAP) • Target site (Source Provider) requirements • Inter-Site Transfer Service • Service Provider • WAYF • Resource Manager Cf. PubCookie – or other single signon methods eduPerson schema – attributes for interoperation LDAP Recipe Trust Federations – InQueue (exploring) – InCommon (production)
https://www.site Shibboleth Flow (circa 2004 Architecture doc) 1. http://www.site Authentication System Inter-Site Transfer Service 2. WAYF (Where are you from?) 4. 6. 3. Handle Service 5. Service Provider 7. 8. 10. Attribute Authority 9. Web resource (http://www.site) Identity Provider Source Provider
Access Web Resource – EBSCO University Library Shibboleth Pilot info page (c/o Laura Burtle) www.library.gsu.edu/shib/ 1. EBSCO test URL
Redirect via WAYF InQueue Federation (for pilot testing) 2. Pick your Shib origin (these are Inqueue sites recognized by target WAYF)
Shibboleth Origin – Local Login 3. Use local authentication (CampusID/pw)
Successful Authentication 4. Authenticated user is being directed to web site… (with Authorization checking behind the scenes)
Use EBSCO Web Resources Accessing EBSCO research Databases. 5. Do your thing. 4 steps: 1. Pick url 2. Pick origin 3. Login 4. Verification Use resource
Access Web Resource – JSTOR 1. Now Select Browse JSTOR (continuing current browser session)
Access, no Re-login (Shib saves session) 1 (NOT 4) steps: 1. Pick url [2. NA] [3. NA] [4. NA] Use resource Direct access to next Shibboleth site – (no WAFY, no login) 2. Do your thing.
JSTOR site knows it’s GSU “Your access to JSTOR is provided by Georgia State University” (identity not passed, but attributes may be)
OCLC / authorization attributes OCLC needs no further authentication, but does require specific attributes eduPersonAffiliation = member@gsu.edu eduPersonEntitlement= urn:mace:oclc:org… (eduPerson schema)
OCLC web resources Appropriate attributes permit access... OCLC recognizes Georgia State member (and contract)
Shibboleth Federationanimation/demo • Federated identity http://shibboleth.internet2.edu/federations.html • UK’s Joint Information Systems Committee animation • Shibboleth demo http://shibboleth.internet2.edu/demo/shib_demo.html
Shibboleth Success Factors • Addresses an important aspect of security – privacy • Leverages enterprise directory to implement Policy • Federation Policy model resonates with shared libraries concepts • Standards based • More on Shibboleth: http://shibboleth.internet2.edu/
Shibboleth growth • Concept 2003 • Working groups, understanding use cases • NSF funding • Pilots, standards • Federations • European & World initiatives • Shibboleth in use: http://shibboleth.internet2.edu/shib-in-use.html
Questions? Discussion Thank you! Art Vandenberg avandenberg@gsu.edu