Common Practice for Remote Resource Authentication

Overview of Proxy Servers

A proxy is a service that sits between web servers (or, more accurately, "origin web servers") and clients. This service receives requests from clients and makes requests to servers on behalf of the clients.

Reasons to use proxy servers

Proxies for remote resource access

Basic theory

Authentication step

Sources for authentication

Transparent versus non-transparent proxy servers

Transparent Proxy
A proxy that passes requests and responses unmodified, except as required for proxy authentication.
Non-transparent Proxy
A proxy that somehow modifies the request or response to provide some added value to the client or user.
Rewriting Proxies
A special form of the Non-transparent Proxy server which examines the URLs in HTML documents passing through the proxy, and rewrites them to point back to the proxy server
"http://firstsearch.oclc.org/dbname=WorldCat;graphics=low;FSIP" becomes
"http://proxy.college.edu/firstsearch/dbname=WorldCat;graphics=low;FSIP" or
"http://proxy.college.edu:2049/dbname=WorldCat;graphics=low;FSIP" or
"http://80-firstsearch.oclc.org.proxy.college.edu/dbname=WorldCat;graphics=low;FSIP"

Advantages, Disadvantages

Transparent Proxy servers...
...are less computing intensive because they do not examine the content of each HTML page.
...are easier to program than Rewriting Proxies.
...require users to reconfigure their browsers (education problem).
...may not work with some corporate or commercial Internet Service Providers.
Rewriting Proxy servers...
...require no changes to the user's browser and work with browsers on firewalled networks.
...sensitive to "incorrect" HTML.
...may not work with sites using sophisticated JavaScripts.

Selection of Proxy Servers

Transparent Proxy servers Rewriting Proxy servers
  • Apache
  • Squid
  • Microsoft Internet Security and Acceleration (ISA) Server
  • Delegate
  • EZproxy
  • Libproxy
  • Obvia
  • Web Access Management

OhioLINK

Matrix of services

OhioLINK-hosted vendor-hosted
Participating
campus
networks
IP address recognition IP address recognition
Unrecognized
network
addresses
OhioLINK Remote Authentication OhioLINK Remote Authentication plus rewriting proxy

Authentication system

Key points

End User's Experience

  1. User requests services from an OhioLINK database server
  2. Browser is redirected to an authentication form if IP address is not recognized
  3. User submits credentials and is authenticated via local patron database
  4. Security token cookie is set in browser and browser is redirected to server from step 1
  5. Database server receives cookie as part of redirected HTTP request and allows access

Technical Process

  1. Authentication form data processed by CGI script
  2. Credentials checked a cache of patron records. If not found, requested from campus ILS
  3. Patron record added to cache
  4. One-way hash used to create security token cookie
  5. Cookie added to "valid cookies" database
  6. Cookie and a page with a 'META refresh' tag is sent to browser

Server Architecture

Policies and Privacy

Proxy servers

Delegate

EZproxy

University of Texas system

TexShare

Future Developments

"Authenticate Locally, Authorize Globally" -- Project Shibboleth

"Shibboleth ... is developing architectures, policy structures, practical technologies, and an open source implementation to support inter-institutional sharing of web resources subject to access controls."
http://middleware.internet2.edu/shibboleth/

High-level Overview


http://middleware.internet2.edu/shibboleth/docs/draft-internet2-shibboleth-arch-v05.pdf

Key Project Attributes

Why Do It?

Benefits to Institutions

Benefits to Information Providers

For More Information...

Wrap-up / Evaluation