OPEN ISSUES
Authentication Issues
Secure storage of private key (smartcards ? USB disks ? No filesystem storage)
While GSI long-term credentials are normally stored
encrypted on disk, Globus support the PKCS11 interface to hardware tokens.
Use private key to check-in proxy credentials to a secure proxy server
(OCR: online certificate repository).
[I think there is some confusion here over the use
of OCRs in GSI. With the standard Globus Toolkit, OCRs are not used. Today
most uses of OCRs are for Web-based portals are mainly used to handle delegation
from the user to the portal so the portal can security act on the user?s
behalf. This is needed because although web browsers and portals are capable
of using SSL, they are not today capable of doing secure delegation of
GSI credentials. So I?m making modifications to some of the questions below
which I?ve indicated in brackets. - Von]
-Issues to resolve:
Who operates the proxy server ?
Today most uses of OCRs are for Web-based portals.
Most of these portals are specific to a particular institution that runs
both the portal, the OCR and the resources.
What are lifespan and renewal characteristics of proxy certs ?
[I?m ignoring OCRs and just answering this question
about proxy certificates in general. - Von]
User?s today control the lifespan of their created
proxy credentials (up to the limit of the lifespan on their long-term certificate).
While this could lead to abuse by users who create unduly long proxies,
with even minimal user education this has not been a problem to date.
If this were to start emerging as a problem we would
envision making changes to the GSI code to allow a site to enforce policy
- for example no proxy with a lifetime greater than X days could be used
for authentication.
What are appropriate restrictions on proxy credentials and who/how controlled
?
[On 5.2.3, I was referring also to the usage restrictions
(eg. may be used to get file A from machine B but not the login to machine
B). - Dane]
This is still very much a area of research. In our
Proxy Certificate draft to IETF and GGF we are intentionally flexible in
the area of policy language since we don?t know yet what policies folks
will want and what the best languages will be to carry these policies.
Since all languages have to be enforced by the resource,
it ultimately decided what languages and restrictions it will understand.
Our view is that any proxy that contains policy not understood by a resource
should be treated by that resource as invalid and unusable for authentication
and authorization decisions.
The restrictions in a Proxy Certificate are controlled
by the entity that issues the Proxy Certificate (it is limited to a subset
of the rights in the certificate that it is using to issue the proxy).
The entity must have some way of knowing, currently out of band, what policies
are understood by the resource the rights will be enforced by.
[My original response before Dane?s clarification.
- Von]
[Again, ignoring OCRs. - Von]
Proxy credentials today are stored very much like
Kerberos tickets - on the local filesystem, owned by the creator and protected
by the filesystem?s access control mechanisms. In unix this means read
and writable only by the owner.
User has to remember passphrase as well as maintain a secure electronic
copy of the longterm private key for use.
How is minimum ( strength of )passphrase imposed ?
Today this is done through user education, though
GSI software does enforce a trivial minimum of a four-character pass phrase.
Authorization Issues
How do Resource Providers apply consistent local authorization policy across
a site ? Shouldn't there be something like a PAM callout in the gateway
to allow for custom authorization policy decisions rather than force use
of local file lookup (ie. gridmapfile)
It is common to have individuals belong to multiple authorization groups
and need to try multiple permissions.
This is still very much a research area with GSI.
Today this means having multiple credentials and trying them sequentially.
It is desirable for users to specify which authorizations they intend to
invoke for a specific request.
This pretty much falls out in the answer to 2.6
above. Since a user has to explicitly use a given credential this is inherent
in that process.
How does site articulate local authorization requirements to service requestors
?
This is currently handled outside of the Globus
Toolkit.
What requests/arbitration is permitted at local authorization step and
how translated ?
Currently there is no negotiation for authorization,
the user can only attempt and succeed or fail.
How is communication from local resource to remote requester handled ?
Is the gateway involved in all communication ?
No. The Gatekeeper is involved in the job creation
and the job-manager is involved in control of the process by the user,
but the process itself is free to communicate in any manner allow by the
local environment (e.g. firewalls and system software).
Is there direct communication with resource server and requestor ?
Yes, in that the gatekeeper is on the resource server.
Use of existing site to local mappings.
The desire here is to have GSI
map to a site identity (e.g. kerberos principal
name) and then use existing
infrastructure (e.g. k5login) to map this identity
to a local resource
identity. What I took away was that you think of
Kerberos sites as having
two Security Infrastructures. First a site infrastructure
(krb5) with it's
set of identities and then local infrastructure
on each resource. And
really what you want is to have GSI come in to the
border of the site, map
to the site infrastructure and then use all of site
infrastructure
internally to get the resource where existing site/resource
mapping takes over.
Accounting Issues
Sites will have to provide auditing abilities for the following purposes
at least (agreements with VO?s may modify this list, but past experience
indicates the sites would want to keep this even if the VO deferred):
-Resource utilization monitoring and agreement
enforcement.
-Diagnostics and troubleshooting
-Conflict resolution between resource providers
and consumers.
Globus today doesn't provide any auditing
services beyond those on the local system. It?s services (e.g. Gatekeeper,
GridFTP server) do log their actions to aid in diagnosis and troubleshooting.
In terms of monitoring, Globus provides the
MDS service which allows for monitoring of a resource. MDS is extensible
in that custom providers can be plugged in to allow for the reporting of
any information desired. The set of default information can be found in
the MDS Schema:
http://www.globus.org/gt2/mds2.1/Schema.html
CAS keeps a log of all the credentials it issues along
with the authentication information from the user it issued the credential
to. It can then either put the user?s identity in the CAS credential or
a unique identifier in the CAS credential that can mapped back to the user?s
identity using the CAS logs. In either case the current CAS-enabled GridFTP
server logs this information.
ISSUES IN RESOLUTION
Authentication Issues
Sites all currently have authentication systems for identifying users and
verifying user identities
Moving from these methods is expensive and tedious.
Sites must be able to continue using these methods for local users.
Von Responds:
Globus and GSI have no requirements that they
replace existing authentication mechanisms. The goal of GSI is to authenticate
a user using their Grid Credentials (i.e. X.509 certificate) and then converting
this Grid identity, using local policy, to local credentials.
For standard Unix systems today this is implemented
through simple mapping mechanism in GSI which uses a grid-mapfile. The
grid-mapfile has locally-defined mappings from Grid identities to a local
unix usernames. Application servers will then typically use setuid() to
change to this local unix identity.
For credentials-based local security mechanisms,
e.g. Kerberos and AFS, Globus supports credential conversion mechanisms,
e.g. sslk5 and gsiklog,which allow conversion of X.509 credentials to local
credentials.
Other mechanisms could be written to integrate
Globus with other local security mechanisms. The idea being that GSI maps
to local mechanisms, it does not replace them.
Dane Responds:
However, a requirement to propagate GRID credentials
around internally within a site, is a defacto driver toward universal accomodation
to the GRID mechanism. Site autonomy implies the need for a
robust, standard method for bi directional
conversion.
Sites will require that they have a method to rapidly challenge an authentication
[1.6 talks about the need for a site to eg. Rapidly
get an entry in the CRL for keys it knows to be compromised (eg. in case
a machine is hacked and private keys stored there). - Dane]
This is an issue to be taken up between sites and
the CAs issuing certificates they choose to trust. If a site wants to have
a guarantee of a ability to communicate quickly this should be negotiated
with the CA and written into the CA?s Certificate Policy (CP).
Looking specifically at the DOE Science Grid CA CP,
while it does state that CRL?s will be issued as soon as they are changed
and it does express intent to set up an OCSP (online certificate status
protocol) service, there is no guarantee of being able to quickly contact
the CA to get a certificate put on the CRL.
[In my opinion I think it?s reasonable to expect that
during normal business hours this would be pretty quick, but if you are
concerned about off-hours we may want to clarify this in the CP. - Von]
The site must be able to rely on timely (with 24 hours) communication through
the authenticator about problems with specific accounts.
[1.7 talks about the need for all the sites that
accept the same authentication tokens to learn rapidly when one has been
compromised (e.g. rapid distribution of CRLs, online CRL, etc.) - Dane]
As stated in the response to 1.6 above, this is an
issue to be negotiated between the site and the CA issuing certificates.
In the case of the DOE Science Grid CA, the CP is
fairly clear that once the CA revokes a certificate it will publish a new
CRL fairly quickly and eventually offer OCSP to give real time information.
[My original response before Dane?s clarification
above. - Von]
For many cases a site will still maintain a entry
in their user database for the user that is independent from the mechanism
the user uses to authenticate. This database typically has the needed contact
information to ensure this.
When using CAS as the authentication mechanism a site
negotiates directly with the VO running the CAS server, so sites should
negotiate this level of service with the CAS administrators.
Authorization Issues
Local authorization decisions are expected to be based on any or all of:
-Individual identity,
-Clique within approved VOs
-VO membership
Individual identity has been handled by GSI for several
years now using the GSI authentication mechanism and the grid-mapfile mapping
and authorization mechanism.
CAS enables the ability authorize based on VO membership
and roles. A user?s possession of a CAS proxy credential indicates VO membership
and their rights as granted by their roles in the VO are embedded in the
credential.
Sites must have knowledge of each authorized user of its resources.
A site has ultimate control of who goes into their
grid-mapfile and hence who is authorized to use their resources. A site
may take whatever steps it desired to gain knowledge of a user before adding
an entry for them to the grid-mapfile.
At runtime Globus applications log the mapping of
identity they make from the subject name in the GSI certificate to the
local account. This allows a site to determine the the actual subject name
if needed.
Gateway model issues:
[This model, included below, corresponds to what
we call the Gatekeeper. This normally runs on the resource in question
and talked directly to the local job control mechanism on the resource.
When a user job is created, a process known as a job-manager is created
to monitor the process and allow control by the original user. - Von]
*In this model, there is a gateway layer at each site
above each GRID resource.
*This layer has the following functions:
-Receive the GRID request and verify validity (format,
contents, etc.)
-Confirm authenticity of the request (check all certs
and signatures)
-Authenticate gateway back to requester
-Translate GRID identity to local identity (checking
for local authorization)
-Obtain local authentication token
-Pass local authentication token and request to local
GRID resource
-(How does the rest of the process work ?) ?
Accounting Issues
RESOLVED ISSUES
Authentication Issues
Supplemental systems for inter-lab access will need to be equivalent or
better in strength for equivalent accesses.
Von Responds:
While it's really up to the reader, using the information
in the rest of this document, to decide for themselves the relative security
of the Globus Toolkit, we believe, that with proper deployment, it can
meet a high standard, on the same level as Kerberos. Two fundament reasons
we believe this are:
GSI
is built on top of standard well-known and tested technology and software
- X.509, SSL, the OpenSSL library. By using public and popular mechanisms
and code we use public scrutiny to help assure security and help make the
software more easy to understand.
Components
of GSI that are extensions to existing standards are open source and many
are well-documented in standards bodies like IETF and GGF allowing them
to be subjected to public review.
Sites require an acceptable validation process for each individual to be
authenticated
Sites have access to, and in many case input into,
the Certificate Policies (CP) of the Certification Authorities (CA) they
choose to trust. This allows them to select only processes they find to
be acceptable.
This must be traceable through a trusted chain to each site.
This is done by the standard X.509 certificate chain
and the SSL protocol. Each user?s certificate is signed by a CA that the
site has, decided to trust.
Validations must be periodically renewed.
All X.509 certificates issued by a CA have a maximum
validity lifetime that sites can determine through the CP.
For the case of DOE SG CA certificates this period
is 24 months. [Still somewhat in flux, may end up just being 12 months.
- Von]
Validations must be revocable by a site (at least within that site)
CAs will typically have a mechanism for a site to
state that they believe a user?s identification credentials have been compromised
and should be revoked. Again this will be spelled out in the CP.
In the case of the DOE SG CA any RA or any official
entity may request revocation, which is very flexible.
In any case sites can always control access within
their own site through their local authorization mechanisms.
Secure signage of proxy requests (done on smartcard ? On host PC(s) ? )
Currently this is done using software installed
on a local machine. Standard system administration is expected to be done
to ensure the integrity of the applications that generate the proxy certificate.
What resources needed to generate and sign proxy certs ? (subordinate CA?s
? User browser ?)
The Globus Toolkit comes with a command line application
(grid-proxy-init) that given access to a user?s long term credentials (along
with any pass phrase to temporarily decrypt the private key) can generate
proxy certificates.
Forward the proxy private key.
Private keys in GSI are never transmitted over the
network. Delegation is done by the acceptor of a delegation generating
a new key pair, the public key is then sent over an integrity protected
channel to the delegator, who signs the public key created a new proxy
certificate which is returned to the acceptor.
How are authenticity checks performed and which failures may be fatal ?
The following checks are performed. Any failure
is fatal.
OpenSSL
checks that the user (or server if running on the user side) has a valid
certificate.
OpenSSL
verifies that the user possesses the private key that accompanies the certificate.
OpenSSL
and GSI verify the certificate chain from the certificate presented up
to a CA certificate. Each certificate in the chain must be valid.
OpenSSL
and GSI verify the CA issuing the long-term certificate is trusted by the
local resource.
GSI
then verifies the authorization of the user identified by the certificate
by check for the identity in the grid-mapfile.
GSI
then maps the user to a local account name and verifies the local account
name exists.
Authorization Issues
Requirements for granting authorization vary in stringency from admin access,
to login access, to R/W data access to RO data access.
Authorization decisions still remain fully in the
control of the resource administrator. GSI provides authentication and
then the means to map users to local user accounts. The resource?s normal
authorization mechanisms are then used to grant rights to that account,
so normal procedures may continue to be used here.
When using CAS, you are granting the VO the right
to grant authorization within certain constraints (the rights granted to
the local account the VO?s CAS identity maps to). Any rights you are not
comfortable allowing the VO to administer should not be granted to the
CAS but instead handled through traditional user identity mapping.
Sites require the ability to revoke authorization for individuals and groups
domain-wide (at least within their domain).
-This is often done now by disabling the ability
to authenticate (e.g.. Change password)
-Implies user identity be part of credentials presented
with requests.
Individuals and groups using CAS credentials are all
required to be in the grid-mapfile and their removal from the grid-mapfile
effectively revokes their authorization.
Accounting Issues
VO Requirements
The site must be assured that all members of the VO are aware of all local
site security and computer usage policies and will abide by them (presumably
the process of obtaining an account in the VO will include signing appropriate
forms for each site).
This is policy and must be enforced by the resource
or CAS administrator when they issue accounts.
Individual user validations must time out and be periodically renewed,
taking account of any changes in local site policies.
This is standard in the PKI certificates used by
GSI. Specifically with the DOE Science Grid CA they will expire every 1-2
years.
The site must be able to restrict access to only members of a specific
VO and not automatically grant access to anyone who obtains authentication
credentials from the "grid".
Regardless of where and how a certificate is obtained
it does not grant the holder any rights until that certificate?s identity
is placed into an authorization system (e.g. a grid-mapfile or CAS).
Use proxy private key to sign authentication packet (e.g.. Timestamp, proxy
public key) and encrypt with remote server public key.
-Issues to resolve:
Is this an application level transaction or an SSL library call ? GSI library
call ?
This is a SSL library call and is part of the standard
SSL protocol.
How is remote server public key obtained ? Verified ?
The remote server certificate is obtained as part
of the SSL handshake (standard SSL protocol). An application using the
GSI passed to the GSI some information about what it expects to be talking
to (e.g. the GridFTP server on host foo.bar.edu), based on this information
and a list of trusted CA certificates installed on the clients system the
GSI libraries make sure the server?s certificate came from a trusted CA
and has a name that coincides with what the application expected.
Who is responsible for selecting, obtaining, distributing and supporting
the application suite ?
[What application suite are we talking about here?
- Von]
[5.6.2 refers to the globus-proxy-init, etal sorts
of applications that a user is expected to have access to to "login" to
the grid. Is the model that we install globus toolkit on all desktops of
folks planning to participate in Grid computing ? Is it that VO applications
and/or recipes include distribution/wrappers for these functions ? - Dane]
The Globus Project will continue to distribute and
support the Globus Toolkit. Others projects (e.g. NMI, GriPhyN, NEES) are
tailoring the toolkit to their particular needs (including configuration,
bundling Globus with other software) and redistributing. Ideally projects
should try to leverage off of one of these other distributions and make
their own only if they need to.
It?s probably unreasonable to install and maintain
any software on user?s systems outside those of the core sites. The model
to follow, I suspect, would be the one that sites like FNAL have in place
today for their Kerberos software.