License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2016.9
URN: urn:nbn:de:0030-drops-61031
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2016/6103/
Fennell, Luminous ;
Thiemann, Peter
LJGS: Gradual Security Types for Object-Oriented Languages
Abstract
LJGS is a lightweight Java core calculus with a gradual security type system. The calculus guarantees secure information flow for
sequential, class-based, typed object-oriented programming with
mutable objects and virtual method calls. An LJGS program is
composed of fragments that are checked either statically or
dynamically. Statically checked fragments adhere to a security type
system so that they incur no run-time penalty whereas dynamically
checked fragments rely on run-time security labels. The programmer
marks the boundaries between static and dynamic checking with casts
so that it is always clear whether a program fragment requires
run-time checks. LJGS requires security annotations on fields and
methods. A field annotation either specifies a fixed static
security level or it prescribes dynamic checking. A method
annotation specifies a constrained polymorphic security signature.
The types of local variables in method bodies are analyzed
flow-sensitively and require no annotation. The dynamic checking of
fields relies on a static points-to analysis to approximate implicit
flows. We prove type soundness and non-interference for LJGS.
BibTeX - Entry
@InProceedings{fennell_et_al:LIPIcs:2016:6103,
author = {Luminous Fennell and Peter Thiemann},
title = {{LJGS: Gradual Security Types for Object-Oriented Languages}},
booktitle = {30th European Conference on Object-Oriented Programming (ECOOP 2016)},
pages = {9:1--9:26},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-014-9},
ISSN = {1868-8969},
year = {2016},
volume = {56},
editor = {Shriram Krishnamurthi and Benjamin S. Lerner},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2016/6103},
URN = {urn:nbn:de:0030-drops-61031},
doi = {10.4230/LIPIcs.ECOOP.2016.9},
annote = {Keywords: gradual typing, security typing, Java, hybrid information flow control}
}
Keywords: |
|
gradual typing, security typing, Java, hybrid information flow control |
Collection: |
|
30th European Conference on Object-Oriented Programming (ECOOP 2016) |
Issue Date: |
|
2016 |
Date of publication: |
|
18.07.2016 |