OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

25
OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile) DUANE MERRILL October 18, 2007

description

OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile). DUANE MERRILL October 18, 2007. Presentation Overview. Goals & non-goals of the OGSA-SP 2.0 Motivation Secure Addressing Secure Transport Secure SOAP Questions. OGSA Security Profile 2.0. - PowerPoint PPT Presentation

Transcript of OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Page 1: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

OGSA Security Profile 2.0

(a.k.a. “Express Authentication Profile)

DUANE MERRILL

October 18, 2007

Page 2: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Presentation Overview

1. Goals & non-goals of the OGSA-SP 2.0

2. Motivation

3. Secure Addressing

4. Secure Transport

5. Secure SOAP

6. Questions

Page 3: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

OGSA Security Profile 2.0(A.K.A “Express Authentication Profile”)

GOALS

1. Profile how to convey secure-communication requirements within EPRs

2. Define well-known, composable security policies for common security mechanisms

3. Provide minor mechanism clarifications and refinements as security mechanisms are adapted to Grid

4. Establish trustworthiness of EPRs (e.g., tamper-resistance via digital signature)

Page 4: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Intent

IS TO:

• Enable discovery of common security mechanisms

• Or cleanly identify when interoperability is not possible

• Easily be extended to accommodate new mechanisms, credentials, etc.

IS NOT TO:

• Impose common security mechanisms

• Invent new security mechanisms

• Invent new languages for describing security mechanisms

Page 5: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Motivation

SECURITY:

• A system’s ability to protect its assets• Disclosure or theft of resources • Modification (including destruction) of resources • Resource service interruption

• Crucial for OGSA/Grid adoption• Participants require protection from undue risk• Participants must meet legal requirements

Page 6: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

First Steps: Protocol Interoperability

• SOA Philosophy• Presume nothing regarding service implementation

• Message format and endpoints are public knowledge

• Security mechanisms affect message format

• “What do I have to do to my messages to communicate?”• Message payloads defined by well-known, static service

interfaces

• Diverse (and possibly dynamic) security action requirements for messages

Page 7: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Diverse Security Requirements

• Credential requirements• Users & resources tied to existing credential

infrastructures • (e.g., Kerberos, X.509 PKI, SAML, etc.) • No “lowest common denominator”

• OGSA security model tasked with integration of these trust and security domains

• Security action requirements• Grid applications created via service composition

• Application-specific security requirements imposed on component services

• E.g., ByteIO resources may have confidentiality requirements in some cases, not others

Page 8: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Why another mechanism for security requirement discovery?

• Attachment of WS-SecurityPolicy requirements to WSDL and UDDI

• WS-I Conformance Claim Attachment Mechanism to WSDL • "http://ogf.org/profiles/hpc-basic/1.0/username-token"

• Issues:• WSDL not always fine-grained enough

• WSDL not always published

• Non-standardized conventions for locating WSDL

• Scope limited to interface/application

Page 9: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Why another mechanism for security requirement discovery? (Continued)

• CaGrid exposes requirements through reflective service operations• getSecurityMetadata()

• Chicken-before-egg problem

• Extra communication required

• Liberty exposes requirements within EPRs• “urn:liberty:security:2006-08:ClientTLS:SAMLV2”

• Not as expressive as WS-SecurityPolicy

• No means to communicate individual integrity/confidentiality requirements

Page 10: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Why EPRs?

• Grid utility is derived from the composition (often dynamic) of services

• EPRs extensively incorporated into core service interfaces, e.g.:

• Notification (WS-Eventing)

• Execution management (BES activity creation)

• Directory services (RNS)

• EPRs are how services refer and address each other

• EPRs serve as invocation contexts: “Everything one needs to know to for communication”

Page 11: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

OGSA SP 2.0 Document Architecture

• Multiple documents composed in a hierarchical, extensible fashion. 

• OGSA-BSP Secure Addressing • Defines the general WS-SecurityPolicy attachment

mechanism to EPRs

• Profile EPR digital signature

• OGSA-SP Secure Transport • Defines well-known policies for de-facto transport-level

secure communication configurations.

• OGSA-SP Secure SOAP Messaging • Defines analogous policies for de-facto message-level

security mechanisms

Page 12: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Secure Addressing

Idea: • Apply WS-SecurityPolicy to the extensible

<wsa:Metadata> portion of the EPR

WS-SecurityPolicy:• Extension to WS-Policy framework

• New OASIS standard

• Grammar for asserting token types, cryptographic algorithms and mechanisms, including using transport level security

Page 13: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

<wsa:Metadata>

<!-- This policy attachment applies to all actions on this endpoint -->

<wsp:PolicyAttachment>

<wsp:AppliesTo>

<wsp:URI>urn:soapaction:*</wsp:URI>

</wsp:AppliesTo>

<!-- Collection of policy alternatives -->

<wsp:Policy>

<wsp:ExactlyOne>

<!-- Alternative 1: Server-auth TLS + Username-token -->

<wsp:All>

<wsp:PolicyReference>http://…#CertifiedServerTLS</wsp:PolicyReference>

<wsp:PolicyReference>http://...#UsernameToken</wsp:PolicyReference>

</wsp:All>

</wsp:ExactlyOne>

</wsp:Policy>

</wsp:PolicyAttachment>

<wsa:Metadata>

Page 14: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Secure Addressing Con’t

(Optional) Digital signing of EPRs:

• Extend WS-Addressing to profile a <ds:Signature> element as a child of the <wsa:EndpointReference> document

• Such a signature MUST cover the following elements:• <wsa:Address>• <wsa:ReferenceParameters>• <wsa:Metadata>

Page 15: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Secure Transport

• Defines secure transport bindings to be referenced by name:

• Server-authenticated TLS w/ Server Certificate

• Server-authenticated TLS w/o Server Certificate

• Mutually-authenticated TLS w/ Sever Certificate

• Mutually-authenticated TLS w/o Sever Certificate

• If the Server Certificate is present, the Profile mandates hostname verification as per RFC 2818 – HTTP over TLS

• TLS/SSL algorithm suites are restricted to those listed in WS-SecurityPolicy

Page 16: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

<wsp:Policy wsu:Id=”ServerTLS”>

<sp:TransportBinding>

<wsp:Policy>

<sp:TransportToken>

<wsp:Policy>

<sp:HttpsToken />

</wsp:Policy>

</sp:TransportToken>

<sp:AlgorithmSuite>

<wsp:Policy>

<sp:Basic256 />

</wsp:Policy>

</sp:AlgorithmSuite>

</wsp:Policy>

</sp:TransportBinding>

</wsp:Policy>

TLS_RSA_WITH_AES_256_CBC_SHA

SSL_RSA_WITH_AES_256_CBC_SHA

<wsp:Policy wsu:Id=”MutualTLS”>

<sp:TransportBinding>

<wsp:Policy>

<sp:TransportToken>

<wsp:Policy>

<sp:HttpsToken>

<wsp:Policy>

<sp:RequireClientCertificate />

</wsp:Policy>

</sp:HttpsToken>

</wsp:Policy>

</sp:TransportToken>

<sp:AlgorithmSuite>

<wsp:Policy>

<sp:Basic256 />

</wsp:Policy>

</sp:AlgorithmSuite>

</wsp:Policy>

</sp:TransportBinding>

</wsp:Policy>

Server-authenticated TLS w/o Server Cert Policy

Mutually-authenticated TLS w/o Server Cert Policy

Page 17: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Back to Secure Addressing• EPRs may also need to perform key distribution:

• Extra hostname-verification at the transport-level• Message-level encryption

• Want to embed tokens directly into the EPR, yet WS-SecurityPolicy does not provide for this

• Token assertions may contain a <wsp:issuer> element to indicate the EPR of a location from which to obtain a token

• Solution: extend WS-SecPol’s token assertions to optionally contain an alternative <wsse:SecurityTokenReference>

• We can put embedded tokens in <wsse:SecurityTokenReference> tags within the <wsa:Metadata> document

Page 18: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

<wsp:Policy wsu:Id=”ServerTLS”>

<sp:TransportBinding>

<wsp:Policy>

<sp:TransportToken>

<wsp:Policy>

<sp:HttpsToken>

<wsse:SecurityTokenReference>

<wsse:Reference URI='#RecipientTransportIdentity'

ValueType="http://docs.oasis-open.org/...#X509v3" />

</wsse:SecurityTokenReference>

</sp:HttpsToken>

</wsp:Policy>

</sp:TransportToken>

<sp:AlgorithmSuite>

<wsp:Policy>

<sp:Basic256 />

</wsp:Policy>

</sp:AlgorithmSuite>

</wsp:Policy>

</sp:TransportBinding>

</wsp:Policy>

Server-authenticated TLS w/ Server Cert Policy

Page 19: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Secure SOAP

• Defines common secure message-level bindings to be referenced by name:

• Username-token (simple)

• Password-digest username-token (digest of password, timestamp, and nonce)

• X.509 Mutual authentication

Page 20: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

<wsp:Policy wsu:Id=”PasswordDigest”

<sp:SupportingTokens>

<wsp:Policy>

<sp:UsernameToken>

<wsp:Policy>

<sp:HashPassword/>

</wsp:Policy>

</sp:UsernameToken>

</wsp:Policy>

</sp:SupportingTokens>

</wsp:Policy>

<wsp:Policy wsu:Id=”UsernameToken”

<sp:SupportingTokens>

<wsp:Policy>

<sp:UsernameToken/>

</wsp:Policy>

</sp:SupportingTokens>

</wsp:Policy>

Username-Token Policy Password-Digest Policy

Page 21: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

(01)<wsp:Policy wsu:Id=”MutualX509”>

(02) <sp:AsymmetricBinding>

(03) <wsp:Policy>

(04) <sp:InitiatorToken>

(05) <wsp:Policy>

(06) <sp:X509Token sp:IncludeToken="http://.../AlwaysToRecipient">

(07) <wsp:Policy>

(08) <wsp:ExactlyOne>

(09) <wsp:All>

(10) <sp:WssX509V3Token11/>

(11) </wsp:All>

(12) <wsp:All>

(13) <sp:WssX509PkiPathV1Token11/>

(14) </wsp:All>

(15) <wsp:All>

(16) <sp:WssX509Pkcs7Token11/>

(17) </wsp:All>

(18) </wsp:ExactlyOne>

(19) </wsp:Policy>

(20) </sp:X509Token>

(21) </wsp:Policy>

(22) </sp:InitiatorToken>

Mutually-Authenticated X.509 Policy

Page 22: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

(23) <sp:RecipientToken>

(24) <wsp:Policy>

(25) <wsp:ExactlyOne>

(26) <wsp:All>

(27) <sp:X509Token sp:IncludeToken="http://.../IncludeToken/Never>

(28) <wsse:SecurityTokenReference>

(29) <wsse:Reference

URI='#RecipientMessageIdentity‘

ValueType="http://...wss-x509-token-profile-1.0#X509v3"/>

(30) </wsse:SecurityTokenReference>

(31) <wsp:Policy>

(32) <sp:WssX509V3Token11/>

(33) </wsp:Policy>

(34) </sp:X509Token>

(35) </wsp:All>

Mutually-Authenticated X.509 Policy

Page 23: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

(74) <wsp:Policy wsu:Id=”RequestPolicy”>

(75) <sp:SignedParts>

(76) <sp:Body/>

(77) <Header namespace="http://www.w3.org/2005/08/addressing"/>

(78) </sp:SignedParts>

(79) <sp:SignedElements>

(80) <sp:XPath/>

(81) /Envelope/Header/*[@isReferenceParameter="true"]'

(82) </sp:XPath>

(83) </sp:SignedElements>

(84) </wsp:Policy>

(85)

(86) <wsp:Policy wsu:Id=”ResponsePolicy”>

(87) <sp:SignedParts>

(88) <sp:Body/>

(89) </sp:SignedParts>

(90) </wsp:Policy>

(91)

(92) </wsp:Policy>

Mutually-Authenticated X.509 Policy

Page 24: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Specifying Additional Protection Policy ...

<wsp:Policy>

<wsp:All>

<wsp:PolicyReference>

http://www.ggf.org/ogsa/2007/05/sp-secure-soap#MutualX509

</wsp:PolicyReference>

<wsp:Policy wsu:Id=”SupplementalInputPolicy”>

<sp:EncryptedParts>

<sp:Body/>

</sp:EncryptedParts>

</wsp:Policy>

<wsp:Policy wsu:Id=”SupplementalOutputPolicy”>

<sp:EncryptedParts>

<sp:Body/>

</sp:EncryptedParts>

</wsp:Policy>

</wsp:All>

</wsp:Policy>

• ...

Page 25: OGSA Security Profile 2.0 (a.k.a. “Express Authentication Profile)

Questions