performance penalties, especially under heavy load. In some GridCC Use Cases,
thousands of instruments might be involved, each requiring secure message
exchanges. The problem is more intense if sessions are terminated in a proxy (e.g.
Computing Element or Instrument Element) instead of the terminal resources (e.g.
“worker nodes” or instruments) whereby a large number of sessions is concentrated in
a single point.
Using Kerberos, as a centralized authentication system, renders the authentication
procedures relatively easy via the Key Distribution Server (KDS) acting as a Third
Trusted Party. Management of user and roles is significantly simpler than a
distributed scheme relying on several PKIs with revocation lists difficult to maintain.
In order to cope with the fact that KDS may be a single point of failure, failover KDS
systems should be used, so that the availability of the distributed system is
guaranteed. Similarly, security of the KDS itself is critical, thus it must be well
protected and monitored. Based on Kerberos’ single sign-on provisioning capability, a
user is authenticated once (gives his/her credentials) and uses multiple resources and
services over a period of time (e.g. one hour). This function is implemented by the
limited lifetime of the Kerberos tickets, issued by a Ticket Granting Server. After
expiration of a ticket, re-authentication is needed. Depending on the application, life-
times can vary from minutes to even a day. This duration should be determined, based
on time statistics of a control session.
An important implementation decision is whether nodes providing Grid services
(e.g. Computing Elements, Instrument Elements, Directory Services, Agreement
Services) should follow the approach of a “thin” or “thick” server. For performance
purposes it is recommended that the security infrastructure, in the cases that enhanced
performance is required, should follow the approach of a thin server. By choosing
Kerberos as the authentication system, the authentication at the service provider is
simplified to just checking for the validity of the ticket (with the use of symmetric
cryptography).
Both Kerberos and GSI are used for authentication purposes and session
encryption key negotiations. User authorization is tightly coupled with the policy of
each site. It is handled by the Service Provider via a separate system, DKAAs’ Access
Control Manager (ACM). The ACM checks the users’ credentials against a local
access list created by the site owner. In order to minimize the access rules, users are
divided into subgroups and the access rules are referred to subgroups instead of users.
All the access rules of all the service providers are uploaded to the Policy Repository.
This global view helps to trace problems regarding the authorization in the distributed
environment..
DKAA provides a client API that hides the complexity of the Kerberos protocols
and manages the secure message exchange, offering different levels of security
(requested by the application).
If secure message exchange is required, the client and the service provider can use
the session key (incorporated within the ticket) to encrypt the message or part of the
message. By default DKAA encrypts only a timestamp. The level of encryption can
play a significant role to achieve the performance goal that each system based on
DKAA poses. Based on the above criteria and objectives, we outline the guidelines of
a baseline security architecture as follows:
26