
 
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