GT 4.1.1: Security

Abstract

Security tools are concerned with establishing the identity of users or services (authentication), protecting communications (message protection), and determining who is allowed to perform what actions (authorization). It also includes supporting functions such as managing user credentials and maintaining group membership information.

GT4 provides distinct WS and pre-WS authentication and authorization capabilities. Both build on the same base, namely standard X.509 end entity certificates and proxy certificates, which are used to identify persistent entities such as users and servers and to support the temporary delegation of privileges to other entities.

For more information about the security concepts behind GT4, see Security: Key Concepts.

For a comparison of features between Java and C code, see Security Features.

For firewall information, click here.

GT4’s Java WS security: As mentioned above, there are three main aspects to Java WS Security: authentication, message protection and authorization. Authentication and message protected are tightly coupled: authentication establishes that the remote entity is who he claims to be and then using the keys the message sent is secured. Toolkit supports two types of mechanisms to achieve this:

  • Message-level Security mechanisms, which implement the WS-Security standard and the WS-SecureConversation specification to provide message protection for GT4’s SOAP messages
  • Transport-level Security mechanisms, which use transport-level security (TLS) mechanisms; and

In all mechanisms supported in the toolkit, integrity and privacy protection mechanisms are supported, with integrity being the default level of protection. Also, the authentication is mutual in all cases, that is the server authenticates the client and the client authenticates the server.

Once authentication is complete, the peer identity is established and the next step is authorization. Authorization happens after authentication (and in some cases once a secure message is received), where you establish whether the remote entity can perform the action that is being requested. An Authorization Framework provides this functioanality on the server and client side. On the server side, a framework that allows for a variety of authorization schemes, including a “grid-mapfile” access control list, an access control list defined by a service, a custom authorization handler, and access to an authorization service via the SAML protocol, is used to accomplish this. On the client side, similar, but a subset of the mechanisms are provided.

The client configures the preferred authentication mechanism to use for an invocation using stub configuration or security descriptors. Multiple message protection mechanims can be used to secure the same message, with a performance cost incurred. The server can configure the set of acceptable security mechanisms an invocation using security descriptors. The server response is secured with the same protection mechanism as the request.

The WS Secure Conversation and Transport Layer Security mechanims, allow for anonymous access, where the client need not furnish credentials. In this mechanism authentiction and message protection steps are still done and it is not an insecure call. But the keys are generated on the fly and the server has no way to establish the identity of the client. So authorization has to accomadate amonymous clients, if indeed the server would like to accept anonymous clients.

Another important piece of security infrastructure if the ability of an entity to delegate its rights to another. The WS Secure Conversation mechanism allows for delegation as a part of the protocol and alternatively Delegation Service can be used to delegate credentials to any service.

The toolkit also provides Community Authorization Service (CAS), a service that can be used to manage and assert fine-grained rights for users.

GT4’s Pre-WS security: GT4 provides similar authentication, delegation, and authorization mechanisms, although with fewer authorization options. Refer to Pre-WS Authentication & Authorization.

Other security components include:

TODO: add blurb about SGAS (SweGrid Accounting System)


Table of Contents

Key Concepts
Security Features
Pre-WS Authentication and Authorization
Release Notes
Admin Guide
User's Guide
Developer's Guide
Public Interfaces
Quality Profile
Migrating Guide
GT 4.1.1 Pre-WS AA Command Reference
Java WS Security Descriptor Framework
Message & Transport Level Security
Release Notes
Admin Guide
User's Guide
Developer's Guide
Public Interfaces
Quality Profile
Migration Guide
Authorization Framework
Release Notes
WS A&A Authorization Framework Admin Guide
User's Guide
Developer's Guide
Public Interfaces
Quality Report
Migrating Guide
A. PDP Reference
B. PIP Reference
Community Authorization Service (CAS)
Release Notes
CAS Admin Guide
User's Guide
Developer's Guide
Public Interfaces
Quality Report
Migrating Guide
GT 4.1.1 CAS Admin Command Reference
GT 4.1.1 CAS Query Command Reference
C. Setting up CAS for GridFTP
D. GT 4.1.1 Call for Community Testing: Community Authorization Service (CAS)
How-tos for CAS
Delegation Service
GT 4.1.1 Delegation Service Release Notes
Admin Guide
User's Guide
Developer's Guide
Public Interfaces
Quality Report
Migrating Guide
GT 4.1.1 Delegation Service Commandline Reference
E. GT 4.1.1 Call for Community Testing: Delegation Service
MyProxy
Release Notes
System Administrator's Guide
User's Guide
Developer's Guide
Public Interface Guide
Quality Profile
Migrating Guide
GT 4.1.1 MyProxy Command Reference
GSI-OpenSSH
Release Notes
System Administrator's Guide
User's Guide
Developer's Guide
Public Interface Guide
Quality Profile
Migrating Guide
GT 4.1.1 GSI-OpenSSH Command Line Reference
SweGrid Accounting System (SGAS)
Release Notes
System Administrator's Guide
SimpleCA
Release Notes
Admin Guide
Gt 4.1.1 SimpleCA Command Reference

List of Tables

1. GT 4.1.1 Security Features
1. CA files
2. Certificate request configuration files
3. Certificate request files
1. CA files
2. Certificate request configuration files
3. Certificate request files
1. CA files
2. Certificate request configuration files
3. Certificate request files
11. Common command line options
12. Certificate specific command line options
13. Command line options
14. Command line options
15. Command line options
16. Command line options
17. Command line options
18. Command line options
19. Print options
20. Validity options
21. Command line options
22. Command line options
23. Command line options
1. Security descriptor schema
2. Builtin PDPs
3. Authentication methods
4. Run-as methods
5. Descriptor classes
6. Descriptor classes
1. Client side security properties
1. Client side security properties
B.1. Attribute I
B.2. Attribute II
B.3. Attribute III
B.4. Attribute I
B.5. Attribute II
B.6. Attribute III
B.7. Attribute I
B.8. Attribute II
B.9. Attribute I
B.10. Attribute II
B.11. Attribute I
1. Database parameters
2. Mapping from web services object to CAS object
3. Command line options
4. Test database properties
5. Test properties
6. Entity Mapping
7. Operation Details
1. User tables
2. Action tables
3. Resource Tables
4. Policy Statement Table
5. Request methods
6. Database parameters
7. Mapping from web services object to CAS object
1. Database parameters
2. Mapping from web services object to CAS object
59. globus-credential-delegate options
60. globus-credential-refresh options
61. Common options
62. Application-specific options
1. myproxy-server.config lines
1. myproxy-server.config lines
2. Environment variables
1. myproxy-server.config lines
2. Environment variables
68. myproxy-init options
69. myproxy-info options
70. myproxy-logon options
71. myproxy-store options
72. myproxy-retrieve options
73. myproxy-destroy options
74. myproxy-change-pass-phrase options
75. myproxy-admin-adduser options
76. myproxy-admin-change-pass options
77. myproxy-admin-query options
78. myproxy-admin-load-credential options
79. myproxy-server options
1. GSI-OpenSSH build arguments
1. CA Name components