Information-flow type systems are a promising approach for enforcing strong end-to-end confidentiality and integrity policies. Such policies, however, are usually specified in terms of static information - -data is labeled high or low security at compile time. In practice, the confidentiality of data may depend on information available only while the system is running. This article studies language support for run-time principals, a mechanism for specifying security policies that depend on which principals interact with the system. We establish the basic property of noninterference for programs written in such language, and use run-time principals for specifying run-time authority in downgrading mechanisms such as declassification. In addition to allowing more expressive security policies, run-time principals enable the integration of language-based security mechanisms with other existing approaches such as Java stack inspection and public key infrastructures. We sketch an implementation of run-time principals via public keys such that principal delegation is verified by certificate chains. © 2007 ACM.
CITATION STYLE
Tse, S., & Zdancewic, S. (2007). Run-time principals in information-flow type systems. ACM Transactions on Programming Languages and Systems, 30(1). https://doi.org/10.1145/1290520.1290526
Mendeley helps you to discover research relevant for your work.