| DRAFT | DRAFT |
DRAFT |
A University Common Authentication Project
Information Resources & Communications
July 1, 1997
Introduction
Generalized "authentication" is one of the fundamental building
blocks of modern information systems1.
Strong, common authentication can enable distributed "authorization"
in support of a wide variety of administrative and academic services. All
UC campuses have efforts underway to develop authentication and authorization
systems in support of their local information processing systems. The Office
of the President, on behalf of the University, has similar requirements
in support of distributed digital library systems and University administrative
systems used by all campuses, including systems based on requirements arising
from anticipated recommendations of the Employee Systems Task Force.
It is almost impossible to talk about authentication without getting into
issues of authorization and further documentation of an individual's characteristics.
While this project focuses on a methodology for affirming an individual
identity, related projects must be undertaken to develop standard methodology
for authorization and demographic data. Without those, this project will
fail to realize it's potential value to the University.
A common University-wide authentication methodology that can support the
broadest possible range of applications will enable greater and appropriate use of electronic
transactions, licensed information resources and administrative systems
throughout the University. Therefore, the Office of the President proposes
an authentication strategy and implementation plan that builds upon existing
efforts and is designed to move UC towards an integrated, reliable, flexible,
and extensible authentication system.
Overview
"Authentication" in the strict sense is no more than a way of
identifying an individual. It carries with it no inherent "authorization."
It is critical to keep these two issues separate since to intertwine the
semantics of authentication and authorization will restrict the generality
of an authentication system.
Traditional information systems have used a "userid and password"
to identify an individual. More correctly, the "userid" identifies
the system account that the individual is trying to access and the "password"
confirms that the individual knows a "secret" associated with
that system account. The "userid" has associated with it privileges
and authorizations and hence incorporates the semantics of both authentication
and authorization. The "password" is a secret intended to be known
only to the account owner and can be changed, if necessary, without changing
the authorizations associated with that account. Thus a password is not
authentication it is part of the system of verification that an individual
is properly associated with an electronic identity.
Reliance on "userid and password" is considered a "weak"
authentication strategy since they can be compromised rather easily. Some
stronger authentication strategies have relied upon "one time"
secrets such as a password that automatically changes each time it is used2. One implementation of this type
is an electronic "secure ID card" that presents a random number
to the user which must be forwarded to the target computer system within
59 seconds to be seen as valid. Such systems, as a universal solution, are
generally quite expensive and require special hardware be issued to every
account holder. They may be a good choice for protecting access to highly
sensitive systems but do not scale well to a population the size of the
entire University of California. They also do not, today, take into account
the need for authentication that may depend upon non-UC registration authorities.
The two most promising generalized strong authentication strategies today
are those based on Kerberos3
and those based on Public Key Certificates4. Each has strengths and weaknesses. Each was developed
for authentication in a somewhat different environment. While Kerberos has
been available for much longer, it still is not widely implemented and there
are several incompatible versions of it in use today. Public Key Certificates
(PKC) are emerging as the technology of choice for use in electronic commerce
transactions, but there are not many full implementations yet and there
are significant problems to be solved in the logistics of dealing with the
"certificates".
We discuss these two technologies below and then propose a strategy for
an initial implementation of strong UC-wide authentication.
UC Requirements
A UC-wide authentication strategy both should fulfill current needs and
be adaptable, as far as can be foreseen, to the needs of future systems.
To those ends, the requirements that have driven the proposed strategy include:
Kerberos
MIT developed Kerberos as part of the Athena project in the 1980's. It uses
a shared key approach and never puts a secret token on the network. It was
originally intended to support a relatively modest, closed community of
users although it has been extended to allow so-called cross realm authentication.
All individuals are registered in a central database which may be replicated
for reliability. The database contains all the secret passwords so it must
be guarded very carefully.
Once authenticated to the Kerberos server, an individual requests a "ticket"
from a Ticket Granting Server (TGS) for a particular service. This is presented
to the applications server which attempts to decrypt it with an appropriate
secret key. If this is successful, the Kerberos credential is deemed valid.
In DCE Kerberos, the credential can also contain authorization information.
This does not have to be used by UC applications but may be required for
some third part applications.
Kerberos sessions inherently have DES encryption keys that could be used
for secure communications over any network. However, since the encryption
method uses a shared key, it is not suitable for digital signatures.
Kerberos has been implemented for all the platforms of interest and is a
cornerstone of the OSF DCE technology. DCE Kerberos adds the privilege and
registry services to the key distribution and ticket granting services provided
by standard Kerberos.
Public Key Certificates
The community interested in general electronic commerce require an authentication
methodology that is not dependent on a single central registration authority.
More along the lines of a passport or notary function, authentication for
electronic commerce is intended to ensure that the individual is a known
entity and independent transactions can be attributed without repudiation
by that entity.
| Issue | Kerberos | Public Key Certificate |
| Community | Intended for a closed community under one administrative entity. | Designed for general commerce without a central administration. |
| Scalability | Multiple authentication servers can interoperate but require individual trust agreements. | Can support millions of users. |
| Trust Model | All trust resides in the central server and in the ticket granting service. | Trust exists among cooperating certificate authorities. |
| Vulnerability | A single database holds all the keys. | Users may leave private keys on their workstations. Certificates are hard to "revoke". |
| Authorization | DCE Kerberos provides for an authorization payload which may or may not be useful. | Can be included in certificate payload but is not inherently part of the technology. |
| Digital Signature | Not supported. | Inherent capability. Must be supported with additional software. |
| Fully Encrypted Data Streams | Inherently possible, using a shared session key. | Possible using the keys but with greater computing overhead than Kerberos. |
| Performance | Quite good. DES is more "computationally efficient" | |
| Client Software | Commercial software available for all platforms of interest. Also, proxy servers for web applications avoid the need for software distribution in less secure applications. | Many web clients are "certificate ready". Other client support needs to be investigated but seems likely considering the market support. |
| Market Support | Available in DCE and from software vendors. | Of very great interest to the electronic commerce marketplace. Basic to the VISA/MasterCard SET protocol. Supported by popular web browsers. |
Public Key Certificates (PKC) provide that capability. A registration authority
creates a digital certificate, using Public Key Cryptography, that represents
a well defined level of assertion about the identity of an individual. A
server can verify the validity of that certificate and can verify that the
issuing Certificate Authority (CA) has an established trust relationship
with the server's local CA.
There is no inherent authorization in a Public Key Certificate. However,
the certificate can be designed to contain a variety of information about
the holder, if desired. Certificates can be terminated by expiration or
by revocation.
Successful use of certificates requires a public key infrastructure (PKI),
including a registering Certificate Authority, a directory, and a set of
trust agreements in order to allow a server to fully validate a certificate.
In addition, a certificate revocation and archiving mechanism must be in
place.
The logistics of user support for PKC are problematical. Mobile users such
as students must be able to carry their private keys and possibly their
certificates with them or retrieve them from a highly secure server. They
must be careful to protect their private key, e.g. never leave a private
key on a public workstation.
The ISO X.509 standard seems to be the choice for most implementations currently
of PKC/PKI. Many web browsers are now "certificate ready" and
several commercial certificate authorities (e.g. Verisign) are in operation
offering the possibility of outsourcing of the PKI.
An Integrated Strategy
The Office of the President proposes to develop an authentication capability
that will exploit the best properties of both DCE Kerberos and X.509 Public
Key Certificates. Servers and support infrastructure for both technologies
will be developed. Applications such as the BENCOM system and the DLA licensed
databases will be used as prototype systems to test the viability of these
technologies.
A DCE Kerberos server suite will be implemented in support of legacy applications
and those systems that are most easily adapted to this style of authentication.
Kerberos might be preferable, for example, with systems that are to be used
by a small, relatively closed community of users under unified administrative
control.
To ease the problem of software distribution for web based applications
using Kerberos, a "proxy server" using a secure socket layer (SSL)
will be available. In this way, a client will need only a standard SSL-capable
browser. Please note that this type of proxy system requires the user
to pass their private password to the proxy computer. This runs counter
to strong authentication strategies, could set a bad precedent in users'
minds, and might lead to illicit collection of users' passwords.
Clients accessing highly sensitive applications, or applications that don't
have a web interface, will require specific DCE Kerberos client software
to avoid the vulnerability represented by the proxy server. OP intends to
license a package such as Gradient for this purpose.
A public key infrastructure (PKI) will be developed, including a Certificate
Authority at OP, and directory and key management systems. Certificate contents
will be defined to include only data that will not change frequently over
the lifetime of the certificate. Compound certificates of shorter duration
can be created as needed for specific applications.
Digital signature capability will be developed using the public key infrastructure.
The logistics of long term use of a certificate for this purpose need to
be defined, as well as standards for how the signature is structured, etc.
The logistics of private key portability will be addressed by developing
a special purpose server with Kerberos access control that will archive
private keys. This will not solve the problem of leaving private keys or
pass phrases on public workstations so such certificates may have to be
short lived, at least for awhile. Ultimately keys should be portable via
"smart cards" or other physical mechanisms.
Finally, there are some applications where Kerberos is more efficient, such
as authenticated transactions, yet the user or the campus may prefer a PKC
system. DCE Kerberos is moving towards an architecture that would provide
the capability to initiate a Kerberos session using a PKC. After initialization,
transactions might use the current Kerberos ticket mechanism.
Both Kerberos and PKC require a "registration authority" with
rules and requirements for setting up individual authentication tokens.
OP will work with campuses to define and refine those requirements.
The strategy outlined briefly above integrates Kerberos and PKC in a way
that will allow both to be used for applications today, exploits the strengths
of both, and allows for the evolution of systems towards either technology.
Implementation Plan
The OP implementation plan for the Common Authentication Project (CAP) is
based on the following assumptions:
Major Milestones for the Common Authentication Project
Task List for Building a Certificate Infrastructure.
Task List for Building a DCE Kerberos Infrastructure
Dealing with Public Workstations, Lab Workstations and Users Who Use
Multiple Machines
Kerberos does not present any problems in this area beyond the fact that
DCE client software needs to be resident on all the machines that a user
would be using, or a proxy server must be available to the user. With this
done the user simply authenticates himself with the Kerberos server and
normal processing occurs.
Private keys however do present a problem in that they are not easily transportable
(beyond putting them on a floppy disk). In order to support use of certificate
enabled applications by users at public, lab or other machines besides their
normal workstation, it is proposed that such individuals would use Kerberos
to authenticate themselves to an application that would download and install
their private key and certificate on the public workstation for the specific
user. That information must be encrypted on the workstation and protected
by a suitable pass phrase.
Campus Involvement
OP encourages involvement of appropriate campus staff in the design and
development of this prototype system. There are many issues to be resolved
and these may have long term impact on the viability of the final prototype.
Participating campuses would have early access to the prototype servers.
Campuses would be required to:
Summary
OP wishes to catalyze the development of a common UC-wide authentication
system as quickly as possible. We have chosen a complex strategy but one
which we feel will serve the University well in the next few years at least.
We seek active involvement by the campuses in this critical project.
1 See "An Information Architecture
for UC: Critical Building Blocks", IR&C,
May 1996.
2 See for example the S/Key system
3 Developed at MIT under the Athena
Project. Incorporated in DCE standards.
4 See this web reference
for pointers
to PKI information