Table of Contents
The Web Services portion of GT 4.2.1 uses SOAP over HTTP for communicating messages. WS Authentication & Authorization in Java (Java WS A&A) implements the WS-Security standard and the WS-SecureConversation specification to provide message protection for SOAP messages. Features include:
- authentication of the sender
- encryption of the message
- integrity protection of the message
- replay attack protection
Java WS A&A provides a secure channel by using HTTP over SSL/TLS (HTTPS) for transporting the messages. This security mechanism supports all of the security features provided by SSL/TLS with the addition of support for X.509 Proxy Certificates. The Authorization Framework component of Java WS A&A provides the infrastructure to process attributes and protect resource access based on access policy. It allows for authorization policy to be configured and enforced at various levels of granularity (container, service or resource). It also provides client-side authorization to allow clients to authorize the services they access. The framework is pluggable and can be configured to use custom mechanisms for attribute collection and policy evaluation. It also provides multiple authorization module implementations; for example, support for gridmap-based authorization, a callout module that uses the SAML protocol to query a external service for an authorization decision and such.
Features new in GT 4.2.1
None.
Other Supported Features
- Compliance with published IBM/Microsoft WS-Trust and WS-SecureConversation specifications
- Compliance with the Web Services Security 1.0 standard
- HTTPS support
- Message encryption, integrity protection and replay attack prevention
- Establishment of a session key for light-weight message protection
Deprecated Features
- None.
Features new in GT 4.2.1:
Enhanced server-side attributed-based authorization framework: The server-side authorization framework has been reworked to support attribute based authorization with delegation of rights. The framework allows for configuring a chain of Policy Information Points(PIPs) and Policy Decision Points(PDPs) and a combining alogorithm that processes the individual decisions returned by the PDPs. Some of the key changes from the previous versions are:
Java Server side authorization framework has been moved to an independent module. Refer to Changes Summary for details.
Authorization framework uses a set of attributes to identify entities
The authorization engine uses Java Security provider framework to allow different combining algorithms to be plugged in.
A default implementation of permit override combining algorithm, which looks for a permit decision chain, to allow for fine grained delegation of rights.
Refer Chapter 5, Architecture and design overview for detailed information on the architecture.
Host or Self Authoriation: Support for a pluggable PDP that does host authorization, and if that fails, tries self authorization.
The security descriptor framework, used to configure security properties for the security framework has been enhanced. Detailed information about the framework is provided Java WS A&A Security Descriptor Framework.
Other Supported Features
- Authorization based on
grid-mapfileand other access control lists. - Ability to implement custom authorization modules.
- A SAML callout authorization module enables outsourcing of authorization decisions to an authorization service (e.g. PERMIS).
Deprecated Features
- None
CoG JGlobus has been updated to version 1.6.0.
The following problems and limitations are known to exist for Java WS A&A at the time of the 4.2.1 release:
- Bug 2362: location of user proxy for java inconsistencies
- Bug 2445: Holder problem
- Bug 2907 Secure Conversation (Encryption) does not provide any message level security for the SOAP headers
- Bug 3027: Kerberos based authentication option for GT4
- Bug 3171: add RFC 2253 principal name to JAAS subject
- Bug 3449 ERROR container.GSIServiceThread
- Bug 3603: Remotte exceptions thrown contain server specific information
- Bug 3928: IPv6 addresses in reverse lookups - fix or faq?
- Bug 3941: Expired credentials detected - candidate for sec error msg improvements
- Bug 4222 Allow for credential refresh in subscriptions
- Bug 4403Secure calls for secure context establishment
- Bug 4442 Security descriptor refresh
- Bug 5008 voms-proxy-init creates non-critical KeyUsage extension which causes Java GSI to raise exception
- Bug 5026 Signarure validation failure on GRAM/RFT interaction on some cases
- Bug 6125: Stack trace and poor error message with no gridmap configured
Java WS A&A depends on the following GT components:
- Java WS Core.
Authentication and message-protection depends on the following 3rd party software:
- Apache WSFX Security Libraries
- PureTLS Libraries
- BouncyCastle JCE provider
- Cryptix Libraries
- Apache XML Security Libraries
The authorization framework depends on the following 3rd party software:
- OpenSAML
Java WS A&A should work on any platform that supports J2SE 1.3.1 or higher.
Tested Platforms for Java WS A&A:
- Linux (Red Hat 7.3)
- Windows 2000
- Solaris 9
Since GT 4.0.x release, some incompatible changes have been made:
- Security Descriptors: The security descriptor schema has changed since GT 4.0.x and the descriptors from GT 4.0.x cannot be used as is.
- Secure Conversation port type: The WS Addressing version in Java WS Core has been updated and the secure conversation port type has changed to reflect this. Therefore, GT 4.0.x secure conversation clients are incompatible with GT 4.2.x servers and vice versa.
The authorization framework has been reworked as described in Change Summary. The configuration and authorization interfaces have since changed and a Migration Guide is provided.
Associated standards for Java WS A&A:
- WS-Security
- WS-Security: X.509 Certificate Tokens
- WS-Security: Username Tokens
- WS-Trust
- WS-Secure Conversation
- WS-I Basic Security Profile
- RFC 3820 Proxy Certificates
- RFC 2818 HTTP over TLS
- RFC 2246 TLS
- JAAS
Associates standards for the authorization framework:
See Java WS A&A for more information about this component.
P
- proxy certificate
A short lived certificate issued using a EEC. A proxy certificate typically has the same effective subject as the EEC that issued it and can thus be used in its place. GSI uses proxy certificates for single sign on and delegation of rights to other entities.
For more information about types of proxy certificates and their compatibility in different versions of GT, see http://dev.globus.org/wiki/Security/ProxyCertTypes.