[2990] in WWW Security List Archive

home help back first fref pref prev next nref lref last post

Re: browser Cache-Control

daemon@ATHENA.MIT.EDU (David W. Morris)
Thu Sep 19 04:38:35 1996

Date: Wed, 18 Sep 1996 23:48:55 -0700 (PDT)
From: "David W. Morris" <dwm@shell.portal.com>
To: David Kennan <dkennan@lds.com>
cc: www-security@ns2.rutgers.edu
In-Reply-To: <324089A2.6F5F@lds.com>
Errors-To: owner-www-security@ns2.rutgers.edu



On Wed, 18 Sep 1996, David Kennan wrote:

> I am compiling a list of browsers that support
> 
> 1. HTML Tables
> 2. SSL
> 3. 128-bit session encryption
> 4. server-side prevention of browser caching

I think what you plan to collect will be useful, BUT YOU MUST define
much more precisely what you mean by 'browser caching'. There is a
discussion of the difference between a cache and history list mechanism
in the HTTP 1.1 draft/rfc. You might start there.

For example, depending on an applications security requirements, you may
want any one of the following behaviors:

a. No restrictions on browsr local storage of and representation of
   results
b. No storage external to the program, RAM OK
c. No storage once the user leaves the page
d. Print disabled
e. Cut/paste disabled

From a UI design perspective, there is quite a distinction between
allowing the user to page back via a history mechanism (which is an 
important electronic alternative to paper) and having a page represented
via a cache when an explicit request is made for the URL. For example,
a user might like to review the result of their book order within the
history cache but would not ever want the order replaced in order to
present the result page again. Caching is a virtual replacement for
replacing a request, the history mechanism is a memory aid.

Typical UAs are not well behaved in their distinction between history of
what was viewed and handling a new request.

In each of these cases, the security issues have an impact. Data should
not be stored on disk if you don't want it stored on disk for security
reasons. If you are concerned about a shared access system, you may not
even what it represented from memory via the History buffer.  OR you
may be willing to allow representation via HISTORY but not by selecting
the link. Etc.

Caching is a term best used to describe substitution of locally stored
information for what would other wise be a network request.

From a security issues perspective, you need to consider if and how the
information is stored and how it is available to the user. Describing the
problem as caching and preventing it will not result in complete analysis
of the security issues.

Dave Morris


home help back first fref pref prev next nref lref last post