A GSI-SSHTerm application deployed through
Web Start is very easy to use however it does
require that a user provide his/her MyProxy account
name and password. It also assumes that a MyProxy
server with anonymous GSI authentication enabled
is available and reachable by the client. Getting rid
of this extra step altogether would be ideal. The user
would simply click on a resource link and a shell
would open. To satisfy all of these constraints a new
grid logon mechanism is presented. This mechanism
involves a “grid logon agent” and “grid portal logon
service” pair.
The grid logon agent is an applet that simplifies
the grid portal logon process. This applet works in
concert with the grid portal logon service as shown
in figure 7. The service retrieves a credential and
stores it locally. Simultaneously, it would log the
user into the portal in the usual way. Then when the
user selects a grid resource, the SSHTerm
application will load the local credential from the
location, which the logon applet saved it.
The grid portal logon service is a secure Web
Service hosted by the Grid portal. This service
serves as a front end to the MyProxy server and thus
only the Grid portal (using its portal credentials)
would communicate with the MyProxy server. Since
a secure web service is exposed through the well-
known HTTPS port it ensures that all users will be
able to use it. A grid portal logon service also offers
other benefits like constricting the access to the
MyProxy server and thus gives the grid portal more
control over the use of the MyProxy server. For
instance, users would only be able to log into the
grid portal logon service using their portal account
name. The portal could validate the account name
and the Distinguished Name (DN) of the user’s
certificate. The grid portal logon service could also
poll the MyProxy server and detect when a user’s
delegated proxy is about to expire and notify the
user using his email address retrieved from the
portal database.
We describe the usage scenario between the grid
logon agent and logon service as follows:
1. The user points a web browser at the grid portal
welcome page and clicks on the grid logon agent
applet. Using the applet, the user enters his/her
portal account name and a MyProxy password
(should be different from the portal’s password).
The grid logon agent sends this information to the
grid portal logon service over HTTPS.
2. The grid portal logon service checks if there are
already deployed credentials for this user on the
MyProxy server and if it should be refreshed. In case
of success, the grid portal logon service sends back a
status indicating success and delegates those
credentials to the grid logon agent. In case of failure,
the applet is notified that “credentials/refresh is
required”.
3. If the grid logon agent receives a failed message it
tries to locate credentials on the client machine.
3.1. If a local credential exists it prompts the user
for the private key password, delegates credentials to
the grid portal logon service using a GSSContext
(RFC2078] and sends the portal account name.
3.1.1. The grid portal logon service then
creates a portal account name and certificate’s
distinguish name mapping and asks the portal to
validate this mapping thus insuring that only the
proper user can do MyProxy “put” operation
using this portal account name. If all is ok the
grid portal logon service then puts those
credentials on the MyProxy server and the
process goes to step 5.
3.2. If no local credentials can be found, the user
is in a situation where he/she will be unable to
access grid resources, having no credentials locally
and no credentials on the MyProxy server. The user
should then be notified of the situation and be
invited to log into the grid portal service from a
machine with credentials. The user should also be
reminded that he/she can simply log into the portal
using the portal account name and portal password
but be warned that he/she will not be able to access
any grid resources.
4. If the grid logon agent applet receives an “ok” it
stores the delegated credentials
5. The grid logon agent then generates a URL with
the user’s portal account name and the MyProxy
password as parameters and then tells its parent
browser (the browser that started the grid logon
agent applet in the first place) to load the URL.
6. The portal uses its Single Sign-on mechanism to
authenticate the user using the portal account name
and MyProxy password. Simultaneously it retrieves
the user’s credentials from the MyProxy server.
This grid logon mechanism enables ubiquitous
credential delegation in the sense that credentials are
delegated between the client with or without
certificates and the Grid portal. This mechanism is
also transparent to the user. It does not put any
restrictions on the MyProxy server configuration. It
also uses the well-known and usually permitted
HTTPS port. It gives the portal more control over
what MyProxy account names are used by users.
Finally this mechanism extends the existing
portal authentication mechanism and thus does not
restrict users from using the conventional form-
based portal authentication. Meanwhile the state
during the session between the client browser and
the GridSphere-based grid portal are maintained
through the use of cookies.
WEBIST 2005 - INTERNET COMPUTING
144