ACM Home Page
Please provide us with feedback. Feedback
A systematic approach to static access control
Full text PdfPdf (387 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 27 ,  Issue 2  (March 2005) table of contents
Pages: 344 - 382  
Year of Publication: 2005
ISSN:0164-0925
Authors
François Pottier  INRIA Rocquencourt
Christian Skalka  The University of Vermont, Burlington, VT
Scott Smith  The Johns Hopkins University
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 70,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1057387.1057392
What is a DOI?

ABSTRACT

The Java Security Architecture includes a dynamic mechanism for enforcing access control checks, the so-called stack inspection process. While the architecture has several appealing features, access control checks are all implemented via dynamic method calls. This is a highly nondeclarative form of specification that is hard to read, and that leads to additional run-time overhead. This article develops type systems that can statically guarantee the success of these checks. Our systems allow security properties of programs to be clearly expressed within the types themselves, which thus serve as static declarations of the security policy. We develop these systems using a systematic methodology: we show that the security-passing style translation, proposed by Wallach et al. [2000] as a dynamic implementation technique, also gives rise to static security-aware type systems, by composition with conventional type systems. To define the latter, we use the general HM(X) framework, and easily construct several constraint- and unification-based type systems.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
Banerjee, A. and Naumann, D. A. 2001. A simple semantics and static analysis for Java security. Tech. Rep. 2001-1, Stevens Institute of Technology. June. URL: http://guinness.cs.stevens-tech.edu/~naumann/publications/tr2001.ps.
 
4
Bartoletti, M., Degano, P., and Ferrari, G. 2001. Static analysis for stack inspection. In International Workshop on Concurrency and Coordination. Electronic Notes in Theoretical Computer Science, vol. 54. Elsevier Science, Amsterdam, The Netherlands.
5
 
6
 
7
Clements, J. and Felleisen, M. 2003. A tail-recursive semantics for stack inspections. In Proceedings of the European Symposium on Programming (ESOP). Lecture Notes in Computer Science, vol. 2618. Springer-Verlag, New York, 22--37. URL: http://www.ccs.neu.edu/scheme/pubs/esop2003-cf.ps.gz.
8
9
10
 
11
Gong, L. 1998. Java security architecture (JDK1.2). URL: http://java.sun.com/products/jdk/1.2/docs/guide/security/spec/security-spec.doc.html.
 
12
Gong, L. and Schemers, R. 1998. Implementing protection domains in the Java Development Kit 1.2. In Proceedings of the Internet Society Symposium on Network and Distributed System Security. 125--134. URL: http://java.sun.com/people/gong/papers/jdk12impl.ps.gz.
 
13
Guzmán, J. C. and Suárez, A. 1994. An extended type system for exceptions. In Proceedings of the ACM Workshop on ML and its Applications. Number 2265 in INRIA Research Reports. INRIA, 127--135.
14
 
15
Jensen, T., Le Mètayer, D., and Thorn, T. 1999. Verifying security properties of control-flow graphs. In Proceedings of the IEEE Symposium on Security and Privacy (S&P). IEEE Computer Society Press, Los Alamitos, Calif., 89--105. URL: http://www.irisa.fr/lande/jensen/papers/SP99.ps.
16
 
17
 
18
19
 
20
21
22
 
23
 
24
25
 
26
 
27
Rémy, D. 1992a. Extending ML type system with a sorted equational theory. Tech. Rep. 1766, INRIA, Rocquencourt, BP 105, 78153 Le Chesnay Cedex, France. URL: ftp://ftp.inria.fr/INRIA/Projects/cristal/Didier.Remy/eq-theory-on-types.ps.gz.
28
 
29
30
 
31
Simonet, V. 2003. Type inference with structural subtyping: a faithful formalization of an efficient constraint solver. In Proceedings of the Asian Symposium on Programming Languages and Systems. URL: http://cristal.inria.fr/~simonet/publis/simonet-structural-subtyping.ps.gz.
 
32
 
33
Skalka, C. and Pottier, F. 2002. Syntactic type soundness for HM(X). In Proceedings of the Workshop on Types in Programming (TIP). Electronic Notes in Theoretical Computer Science, vol. 75. URL: http://pauillac.inria.fr/~fpottier/publis/skalka-fpottier-tip-02.ps.gz.
34
 
35
 
36
 
37
 
38
Sulzmann, M., Müller, M., and Zenger, C. 1999. Hindley/Milner style type systems in constraint form. Research Report ACRC--99--009, University of South Australia, School of Computer and Information Science. July. URL: http://www.ps.uni-sb.de/~mmueller/papers/hm-constraints.ps.gz.
 
39
40
 
41
42
 
43
44
45
 
46


Collaborative Colleagues:
François Pottier: colleagues
Christian Skalka: colleagues
Scott Smith: colleagues