Security Standards (…and Competing Standards … and Implementations … and Interoperability) Marty Humphrey Assistant Professor Computer Science Department University of Virginia UK e-Science Core Programme Town Meeting Monday 11th April 2005 “Security in a Web Services World” IBM/MS White Paper April 2002 WS-Secure Conversation WS-Federation WS-Authorization This is a composable Architecture WS-Policy WS-Trust WS-Privacy “only use what you need” SOAP Foundation time WS-Security today WS Security Roadmap exists, so why do we? (slide from GGF6, Oct 2002) 1. 2. 3. 4. 5. 6. What if boxes never materialize? What if boxes appear too late? What if there are licensing issues with box(es)? What if “their roadmap” has missing pieces? What if Grid Computing != Web Services? MS-IBM Roadmap is wire-oriented; we need to be wireoriented AND service-oriented (i.e., portTypes) How do we make our existing security services “fit” with OGSA Architecture? www.ggf.org Second Wave Specifications Slide from Felipe Cabrera Web Services Specifications Process Slide from Felipe Cabrera Example: WS-Security Specification Published Customer and Industry Feedback Gathered Publish Addendum, Deliver Dev Product April 2002 April - August 2002 August 2002 Three Partners OASIS Standardization WS-I Interoperability Profile September 2002 April 2003 Over 30 Partners Over 100 Partners Today: Status of Specs • WS-Security (“SOAP Message Security 1.0”) • OASIS Standard 15 Mar 2004 • WS-Policy (Dec 2002): • Updated Sept 2004 (6 companies) – royalty-free – not in standards body • WS-SecureConversation (Dec 2002): • Updated Feb 2005 (13 companies) – royalty-free – not in standards body • WS-Trust (Dec 2002): • Updated Feb 2005 (12 companies) – royalty-free (?) – not in standards body • WS-Federation (Jul 2003): • No update since July 2003? • • WS-Privacy: ??? WS-Authorization: ??? WS-I Basic Security Profile • Draft: Jan 20 2005 • How to use: • • • • • • SSL/TLS SOAP Message Security Username Token Profile X.509 Certificate Token Profile XML-Signature XML-Encryption Security Access Markup Language (SAML) Framework — OASIS Standard • • • • Assertions: Authentication, Attribute, Authorization Decision Protocols: e.g., request from a SAML authority one or more assertions Bindings: e.g., SAML SOAP binding Profiles: constraints and/or extensions for a particular application (e.g., Web SSO Profile) Assertion Binding Protocol Request Protocol Response eXtensible Access Control Markup Language (XACML) – OASIS Standard • V 2.0, 6 Dec 2004 (142 pages!) • Authors include Sun, BEA, CA, Entrust, Frank Siebenlist, and IBM • Capabilities • Access Control: who can do what when • Queries about whether a particular access should be allowed (requests) and describes answers to those queries (responses) • XACML and SAML • XACML policy specifies what a provider should do when it receives a SAML Assertion • XACML-based attributes can be expressed in SAML • XACML v3.0 in the works Liberty Alliance • Industry consortium defining standards for federated identity (formed Sept 2001) • IBM recently joined • Web Service Framework (ID-WSF) • • • • • Authentication: Identity Federation Framework (ID-FF) uses SAML Message protection: e.g., TLS, SAML Assertion in WS-Security Service discovery and addressing Policy “Common data access protocols”: Liberty Data Services Template Specification Open Issues/Concerns • Privacy: SAML 2.0 Privacy Mechanisms? • XACML and WS-[Security]Policy overlap • XACML and SAML overlap • Both have protocols for requesting security information • WS-Federation and Liberty Alliance overlap • WS-* and ID-WSF overlap • Delegation • Service interface (WS-Delegation) • Protocol (X.509 Proxy Certs RFC 3820 and SAML Delegation) WS-Delegation • Led by Olle Mulmo • Standalone Web services portType • Based on WS-Trust (until recently – April 05?) • My group’s contribution • D. Del Vecchio, J. Basney, N. Nagaratnam, and M. Humphrey. “CredEx: User-Centric Credential Selection and Management for Grid and Web Services” • Long-term or short-term multiple per-user credential storage and exchange • Support for multiple platforms and languages (Java and .NET) • Multiple token types • Initially support for both password-to-X.509 and X.509-to-password exchanges • Potential support for more token types through WS-Security and WS-Trust specifications CredEx System Overview ex ch a invokeMethod() ng eF Us er na m e/ P X.509 Credential or Ce rt( as ) sw or d X.509-based Grid Service Java Client (Java/GT3) ) rd( o w ass h exc P For e re g atu an Us Sig 09 5 . X e m a n er n o sw s a /P rd CredentialService (Java/Tomcat/Axis) invokeMethod() Username/Password .Net Client Password-based Web Service (Java/.Net) “Extending the Security Assertion Markup Language to Support Delegation for Web Services and Grid Services” (J. Wang, D. Del Vecchio, and M. Humphrey) Please schedule my jobs Delegation request as a SAML request Delegation response as a SAML response SAML assertion Please run my job SAML assertion Please save my file R e s p o n s e R e q u e s t Please send a disk request for Bob Direct SAML Delegation with Web Service Security: Bob has Delegated to Superscheduler Soap header Assertion Superscheduler’s Key Delegation: Bob SAML Token Profile Right: Full Bob’s Signature Superscheduler’s Signature X509 Token Profile Indirect SAML Delegation with Web Service Security: Bob has Delegated to Broker through Superscheduler Soap Header Assertion Broker’s Key Delegation: Bob SAML Token Profile Right: End Entity Superscheduler’s Signature Assertion Superscheduler’s Key Delegation: Bob SAML Token Profile Right: Full Bob’s Signature Broker’s Signature X509 Token Profile Summary • April 2002: Much optimism with “IBM/MS Security Roadmap” • Emergence of standardized boxes slower than expected • Community appears to be converging, but some aspects not clear • XACML/SAML, XACML/WS-SecurityPolicy, Delegation • Many challenges • Interop will not come directly from standards (see WS-I)