Links
CS home page
Dick Brown's home page
Site home page
Printable version of this page
-----
CSA online text
Laboratory assignments
Homework assignments
Escher: Web Portfolio Manager Project
Course directory ~cs284
-----
Java API
Project log form




Authentication strategy

CS 284 (CSA), Spring 2005

Our authentication strategy for CS projects involves the following elements:

  • Use IIT-administered web-based authentication, e.g., "account services," so that our code can't possibly see a password.

  • When user enters a valid username/password, an authentication process running on IIT-administered web server interacts with the client and server programs and with a database (located on arachne) to establish a secure socket connection between the application's client and server that both client and server can trust. This authentication process operates as a trusted third party for both client and server; each party provides the others with tokens (e.g., enormous, short-lived random numbers) across encrypted connections that establish identity beyond all reasonable doubt.

  • The secure socket between client and server is used for all subsequent client-server interactions and persists until one of them expires.

  • This mechanism is intended for both the present CS 378 project and for future CS projects; projects using Java can reuse the same code produced for the present project.

The team of Ted Johnson, Aubrey Barnard, and Robert Crawford have developed this strategy (Fall 2003) under the general direction of R. Brown, based on an idea of Brown's while directing Barnard over Summer 2003.

The security of this plan depends on the following basic assumptions.

  • Existing socket connections between two programs cannot be taken over by another program without root privileges on an involved machine.

  • Root privileges are trustworthy.

  • Username/password combinations are known only to appropriate persons.

  • Encrypted connections (e.g., between client's browser and IIT server; SSL sockets between authentication process, client, and server; between server/authentication process and arachne database) can be trusted.





rab@stolaf.edu, May 09, 2005