Federated Identity Management And Web Services Security .

Transcription

Front coverFederated IdentityManagement andWeb Services Securitywith IBM Tivoli Security SolutionsIntroduction to Web services securitystandardsComplete product architectureand component discussionExtensive federationbusiness scenarioAxel BueckerWerner FilipHeather HintonHeinz Peter HippenstielMark HollinRay NeucomShane WeedenJohan Westmanibm.com/redbooks

International Technical Support OrganizationFederated Identity Management and Web ServicesSecurity with IBM Tivoli Security SolutionsOctober 2005SG24-6394-01

Note: Before using this information and the product it supports, read the information in“Notices” on page xiii.Second Edition (October 2005)This edition applies to Version 6 of Tivoli Federated Identity Manager (product number 5724-L73)and to all subsequent releases and modifications until otherwise indicated in new editions. Variousother related IBM and Tivoli products are mentioned in this book. Copyright International Business Machines Corporation 2004, 2005. All rights reserved.Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADPSchedule Contract with IBM Corp.

ContentsNotices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiTrademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xivPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvThe team that wrote this redbook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviBecome a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviiiComments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xixPart 1. Architecture and design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Chapter 1. Business context for identity federation . . . . . . . . . . . . . . . . . . 31.1 Federated identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Business environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.1 Deconstruction of the enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.2 Enterprise re-aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.3 High-level example of a re-aggregated business . . . . . . . . . . . . . . . . 71.2.4 Business models for federated identity . . . . . . . . . . . . . . . . . . . . . . . . 91.2.5 The relationship - Trust and assurance. . . . . . . . . . . . . . . . . . . . . . . 151.3 IT environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3.1 The role of identity management. . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3.2 Dealing with identities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.3.3 User life cycle management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.3.4 Inter-enterprise application to application integration . . . . . . . . . . . . 251.3.5 Open standards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271.4 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Chapter 2. Architecting an identity federation . . . . . . . . . . . . . . . . . . . . . . 312.1 Federation example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.2 Federated identity management architecture . . . . . . . . . . . . . . . . . . . . . . 362.2.1 Background to federation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.2.2 Architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.2.3 Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.2.4 Identity models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.2.5 Identity attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.2.6 Trust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492.2.7 Federation protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512.3 FIM standards and efforts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512.3.1 SSL/TSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522.3.2 Security Assertion Markup Language (SAML) . . . . . . . . . . . . . . . . . 52 Copyright IBM Corp. 2004, 2005. All rights reserved.iii

2.3.3 Shibboleth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532.3.4 Liberty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542.3.5 WS-Federation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552.3.6 WS-Trust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562.3.7 WS-Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572.3.8 WS-Provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572.3.9 Selecting Federation standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582.4 Federated single sign-on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592.4.1 Push and Pull SSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602.4.2 Account linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612.4.3 Where are you from (WAYF). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622.4.4 Session management and access rights . . . . . . . . . . . . . . . . . . . . . 632.4.5 Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632.4.6 Credentials clean up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642.4.7 Global good-bye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642.4.8 Account de-linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652.5 Web services security management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652.5.1 Web services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662.5.2 Web services security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682.5.3 Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692.6 Federated identity provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702.7 On demand security reference architecture . . . . . . . . . . . . . . . . . . . . . . . 722.7.1 Policy management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732.7.2 Identity management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742.7.3 Key management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742.7.4 Credential exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742.7.5 Identity federation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752.7.6 Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752.8 On demand integration reference architecture . . . . . . . . . . . . . . . . . . . . . 752.8.1 Connectivity services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772.8.2 User interaction services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772.8.3 Application and information assets . . . . . . . . . . . . . . . . . . . . . . . . . . 782.8.4 Business application services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782.8.5 Partner services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782.8.6 Infrastructure services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792.9 Method for architecting secure solution. . . . . . . . . . . . . . . . . . . . . . . . . . . 792.9.1 Implementation flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802.9.2 Definition phase of a federated identity management solution . . . . . 812.10 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Chapter 3. Tivoli Federated Identity Manager architecture . . . . . . . . . . . . 853.1 Federated Identity Management functionality . . . . . . . . . . . . . . . . . . . . . . 863.2 Federation services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87ivFederated Identity Management and Web Services Security with IBM Tivoli Security Solutions

3.2.1 Point of contact (PoC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893.2.2 Single sign-on protocol services (SPS) . . . . . . . . . . . . . . . . . . . . . . . 913.2.3 Trust services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923.2.4 Key services (KESS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963.2.5 Identity services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973.2.6 Authorization services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973.2.7 Provisioning services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983.2.8 Management Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983.3 Federated single sign-on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003.3.1 Architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033.3.2 Trust in F-SSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043.3.3 F-SSO protocol functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053.3.4 Integrating SSO with Access Manager for e-business . . . . . . . . . . 1093.3.5 F-SSO approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103.3.6 InfoService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193.3.7 Specified level view of F-SSO architecture . . . . . . . . . . . . . . . . . . . 1203.4 Web services security management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1213.4.1 Architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1233.4.2 WS-Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253.4.3 Web services Gateway or Firewall . . . . . . . . . . . . . . . . . . . . . . . . . 1263.4.4 WS-Trust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1273.4.5 Authorization services (AS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283.4.6 Web services security management architecture approach . . . . . . 1283.5 Provisioning services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1293.5.1 Architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1313.5.2 Provisioning architecture approach . . . . . . . . . . . . . . . . . . . . . . . . . 1343.6 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134Chapter 4. Deploying Tivoli Federated Identity Manager . . . . . . . . . . . . 1354.1 Federated SSO architecture patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364.1.1 Architecture approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364.1.2 Base pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1394.1.3 Plug-in pattern. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1424.1.4 Lightweight Access Manager for e-business pattern . . . . . . . . . . . 1434.1.5 Highly available architecture patterns . . . . . . . . . . . . . . . . . . . . . . . 1474.1.6 Multiple data center patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1494.2 Federated Web services architecture patterns . . . . . . . . . . . . . . . . . . . . 1514.2.1 Architecture approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1524.2.2 Point-to-point pattern. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1544.2.3 XML gateway pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1554.3 Integrating applications into an F-SSO environment. . . . . . . . . . . . . . . . 1584.3.1 Attribute flow between providers . . . . . . . . . . . . . . . . . . . . . . . . . . . 1584.3.2 User-controlled federated life cycle management . . . . . . . . . . . . . . 161Contentsv

4.3.3 Customized user-managed federation management . . . . . . . . . . . 1614.4 Customizing F-SSO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1634.4.1 Customizing page templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1634.4.2 Customizing Access Manager for e-business page templates . . . . 1634.4.3 Storing aliases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1644.5 Solution design considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1644.5.1 Exchanging metadata with your partners . . . . . . . . . . . . . . . . . . . . 1644.5.2 Availability of IBM Access Manager for e-business policy server . . 1654.5.3 Key management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1664.5.4 Session timeout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1664.5.5 Application logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1674.6 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168Chapter 5. Integrating with IBM identity management offerings . . . . . . 1715.1 IBM Tivoli Access Manager for e-business . . . . . . . . . . . . . . . . . . . . . . . 1725.1.1 Identity provider integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725.1.2 Service provider integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1735.2 IBM Tivoli Identity Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1745.2.1 Identity provider integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1755.2.2 Service provider integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1755.3 IBM Tivoli Directory Integrator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1765.3.1 Identity provider integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1765.3.2 Service provider integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1765.4 IBM Tivoli Directory Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1775.4.1 Identity provider integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1775.4.2 Service provider integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1785.5 IBM WebSphere Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1785.5.1 Integrated Solutions Console (ISC). . . . . . . . . . . . . . . . . . . . . . . . . 179Part 2. Customer environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181Chapter 6. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1836.1 Use case 1 - SAML/JITP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1866.2 Use case 2 - WS-Federation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1866.3 Use case 3 - Liberty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1876.4 Use case 4 - Web services security management . . . . . . . . . . . . . . . . . 1906.5 Conclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192Chapter 7. Use case 1 - SAML/JITP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1937.1 Scenario details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1947.1.1 Contract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1947.1.2 User experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1977.2 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2017.2.1 Single sign-on - SPNEGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201viFederated Identity Management and Web Services Security with IBM Tivoli Security Solutions

7.2.2 Single sign-on - SAML/JITP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2017.3 Partners involved. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2027.3.1 BigCorp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2027.3.2 RBTravel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2027.4 Interaction description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2027.4.1 High-level Interaction overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2027.4.2 Single sign-on from Windows workstation (SPNEGO) . . . . . . . . . . 2037.4.3 Single sign-on from BigCorp to RBTravel (SAML/JITP) . . . . . . . . . 2047.5 Configuration data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2077.5.1 IdP-related configuration data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087.5.2 SP-related configuration data at RBTravel . . . . . . . . . . . . . . . . . . . 2127.6 Assumptions/implementation notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Chapter 8. Use case 2 - WS-Federation. . . . . . . . . . . . . . . . . . . . . . . . . . . 2198.1 Scenario details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2208.2 Contract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2208.3 User experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2238.3.1 Single sign-on user experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2238.3.2 Sign-off user experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2258.4 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2278.4.1 Single sign-on - WS-Federation . . . . . . . . . . . . . . . . . . . . . . . . . . . 2278.5 Partners involved. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2278.5.1 BigCorp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288.5.2 RBTelco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288.6 Interaction description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288.7 Configuration data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Federated Identity Management and Web Services Security with IBM Tivoli Security Solutions