B then looks at A's certificate to obtain its public key. Next, B can decrypt the nonce using A's public key. If the nonce decrypts correctly with the public key, then B knows that A posseses the corresponding private key. The only question remaining is whether or not the public key really belonged to A.
This is where the CA comes in. The CA signed A's certificate with its private key. B maintains a copy of the CA's public key for each CA it trusts. Therefore, B uses the CA's public key to verify the signature on A's certificate.
Assuming the signature matches, then the public key in A's certificate really belongs to A and B has authenticated A. Also, B can trust the information in A's certificate since it was verified by the CA.
The subject uniquely identifies the entity on the grid. It is composed of an
organizational
structure and a common name. For example, the following user subject:
"O=Princeton, OU=PALMS, CN=Jeffrey Dwoskin". This
subject indicates the virtual organization of Princeton. Within
Princeton, the user is in the organizational unit of
PALMS (a group within the organization). Finally, the
common name is Jeffrey Dwoskin, which in this case belongs to a
user, me.
Similarly, a host might have a subject such as:
"O=Princeton, OU=PALMS, CN=host/pipe.ee.princeton.edu".
Here, the common name indicates a host instead of a user and the hostname is
pipe.ee.princeton.edu.
O=Princeton.
grid-mapfile file. The user's task will later be managed by the
local security policy using this local account.
It is possible for multiple Grid subjects to map to the same local account or group of local accounts. If this is the case, it is the responsibility of the local security policy on the resource to ensure the protection of the user's data from other Grid or local users.
grid-proxy-init. The user proxy (UP) is given a new certificate
with its own keypair that is only valid for a limited time, usually 24 hours.
The user signs the UP's certificate with its private key, allowing the UP to act on its behalf while the certificate is valid. In addition to the time limitation, the user may put further restrictions on what the UP can do by listing them inside the certificate.
The user often encrypts their private key with a password. This will be the only time the password is required so that the user can sign the UP's certificate with its private key. After this point, the UP's certificate will be used and the user will not have to "log in" again. This implements the idea of a single sign on.
globus-job-run to initiate a program/job
to run on a remote host. In this simple case, the user specifies which host to
run on and what program to run. This causes the grid software to act as the
user proxy to complete the process and the user doesn't need to do anything
further until the results are ready.
First, the gatekeeper and the user proxy perform mutual authentication. This means that the user proxy checks the identity of the gatekeeper and the gatekeeper checks the identity of the user.
Like the user, each host also has a certificate signed by a CA. The user proxy uses the process described above to check that certificate so it can trust the host and its gatekeeper.
Similarly the gatekeeper checks the user proxy's certificate. However its certificate was signed by the user and not a CA. Therefore the gatekeeper first checks the UP's certificate against the the user's certificate. Then it checks the user's certificate against the CA, which it trusts. Then it can be sure that the user proxy is really acting on the user's behalf.
After mutual authentication, both the user and gatekeeper can be sure they are talking to each other and not a malicious third party, assuming no party's private key has been compromised.
grid-mapfile
file with the user's Grid subject. If such an entry is not found, then the user
is not authorized to use the host and the gatekeeper will reject the user's
request. Once the user is authorized, the gatekeeper sends the user's request to
a resource manager.
The mapping of the grid subject to a local user is part of the user's entry
in the grid-mapfile file. It is possible to have multiple grid
users map to the same local user. If they are allowed to run at the same time as
the same local user, or they leave files on the host, some other local
mechanism may be necessary to protect the users' processes and data from each
other.
If the user was using multiple resources in parallel or letting the grid choose where to run its job, then the gatekeeper would forward the user's request to a grid resource manager to choose where to send it.
The job manager will send a contact string to the user. It can be used to check on the status of a job or to cancel a job in progress.
This overview has been compiled using information from many of the papers and links that I have listed.