text-only
version
 |
Proposed Solution and Technical Description
This description of the proposed solution is directed toward the web
site technical administrator. First, we describe the process in the
time sequence in which it takes place. Next, we'll break it down
into the components required for the project, followed by a description
of the sequence of events from a user's viewpoint and web server
action viewpoint. Lastly, we'll describe the requirements for
using this service on your UCD web server.
How Distributed Web Authentication Works
When a user on a remote machine accesses a document space you wish
to be secure, the netscape enterprise web server checks for the
existence of a specific cookie in the user's environment. If the
cookie is found and deemed to be authentic, it grants access to
the requested document. If no cookie is found that is authentic,
it passes the client to the U.C. Davis web server configured for
granting and creating the required authentication cookie.
The user's web browser asks the user for their Kerberos
principal and password for authentication. Since the server
requesting this information is on a secure web server, this
information is encrypted before being sent from the clients web
browser to server. The server uses the principal name and
password to verify that the user is who they say they are. If
this verification succeeds, the server then informs the user's
web browser to set a cookie which will be transmitted to all web
servers in the ucdavis.edu name space. Finally, having set the
cookie, the web server passes the client back to the web page
which was initially requested by the user for access.
Upon returning, when the client's cookie is checked and found to
be authentic, access to the requested document is granted.
Key Elements of the distributed web authentication service:
- The user, using an SSL-capable web browsers (enabled for
token-passing),
and new-style user name and kerberos password. (All new accounts created
for
past year).
- Distributed web servers (maintained by campus departments), utilizing
Netscape API (for Netscape servers) or CGI method with PERL scripts (for
non-Netscape servers).
- SecureWeb server (maintained by IET)
- AFS servers (securable, distributed file system maintained by IET -
only
writable from secure web browser and only readable from those servers
that
know access key or which are in an access control list)
- Kerberos DB authentication server (maintained by IET).
- Modified applications (news, mail).
Process from the user's point of view:
- User accesses the Internet via a third-party Internet provider.
- User launches an SSL-capable browser.
- User attempts to open a document that is secure on a local UCD
server.
- [Transparent to user] Local server looks to see if user is already
authenticated (has a valid cookie).
- If user is authenticated, the document is processed.
- If user is not already authenticated, a name/kerberos password is
requested by the SecureWeb server, and a cookie is provided (user must
accept to access restricted pages).
- If all is ok, the document is presented.
Process from the local web server's viewpoint:
- If access to page is not restricted, no access control is in
place.
- If access to page is to be restricted, the server looks for a cookie
from
the user's web browser, and validates the contents of the cookie (using
either Netscape API or PERL script provided by IET).
- If the user's cookie is valid, the page is presented.
- If higher level of security desired, server can also look for and
validate the AFS file associated with the user (server must have AFS
access) before presenting the page.
- If even higher level of access control is required, server can check
against local access database before presenting the page
- If the cookie is not valid or not in existence, the local web server
will
contact the SecureWeb server for assistance in establishing
authentication.
Process from the SecureWeb server's viewpoint:
- A request for assistance is received from the local web server.
- The SecureWeb server contacts the kerberos database to authenticate
the user.
- If the user is valid, the server passes a cookie to the user's
browser,
writes the AFS file, and redirects the user's browser (back to the
original
requested server).
Requirements for using this software on your web server
If you are running a netscape server, you will need to install a
custom netscape library, and configure your server to use that library.
If you are running a server other than netscape, you will need to
install a cgi script, and configure it for use on your system. In
addition, you must be running PERL if you use the cgi script.
There are three levels of security available, and the most secure
version running on any server requires that your server system be
able to read an AFS file.