USENIX Conference Policies
A General and Flexible Access-Control System for the Web
We describe the design, implementation, and performance of a new system for access control on the web. To achieve greater flexibility in forming access-control policies — in particular, to allow better interoperability across administrative boundaries — we base our system on the ideas of proof-carrying authorization (PCA). We extend PCA with the notion of goals and sessions, and add a module system to the proof language. Our access-control system makes it possible to locate and use pieces of the security policy that have been distributed across arbitrary hosts. We provide a mechanism which allows pieces of the security policy to be hidden from unauthorized clients. Our system is implemented as modules that extend a standard web server and web browser to use proof-carrying authorization to control access to web pages. The web browser generates proofs mechanically by iteratively fetching proof components until a proof can be constructed. We provide for iterative authorization, by which a server can require a browser to prove a series of challenges. Our implementation includes a series of optimizations, such as speculative proving, and modularizing and caching proofs, and demonstrates that the goals of generality, flexibility, and interoperability are compatible with reasonable performance.
author = {Lujo Bauer and Michael A. Schneider and Edward W. Felten},
title = {A General and Flexible {Access-Control} System for the Web},
booktitle = {11th USENIX Security Symposium (USENIX Security 02)},
year = {2002},
address = {San Francisco, CA},
url = {https://www.usenix.org/conference/11th-usenix-security-symposium/general-and-flexible-access-control-system-web},
publisher = {USENIX Association},
month = aug
}