Compositional noninterference from first principles
Open Access
- 1 January 2012
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in Formal Aspects of Computing
- Vol. 24 (1) , 3-26
Abstract
The recently formulated Shadow Semantics for noninterference-style security of sequential programs avoids the Refinement Paradox by preserving demonic nondeterminism in those cases where reducing it would compromise security. The construction (originally) of the semantic domain for The Shadow , and the interpretation of programs in it, relied heavily on intuition, guesswork and the advice of others. That being so, it is natural after the fact to try to reconstruct an idealised “inevitable” path from first principles to where we actually ended up: not only does one learn (more) about semantic principles by doing so, but the “rational reconstruction” helps to expose the choices made, along the way, and to legitimise the decisions that resolved them. Unlike our other papers on noninterference, this one does not contain a significant case study: instead its aim is to provide the most accessible account we can of the methods we use and why our model, in its details, has turned out the way it has. In passing, it might give some insight into the general role and significance of compositionality and testing-with-context for program semantics. Finally, a technical contribution here is a new “Transfer Principle” that captures uniformly a large class of classical refinements that remain valid when noninterference is taken into account in our style.Keywords
This publication has 20 references indexed in Scilit:
- How to Brew-up a Refinement OrderingElectronic Notes in Theoretical Computer Science, 2009
- The Shadow Knows: Refinement and security in sequential programsScience of Computer Programming, 2009
- Abstraction and refinement in probabilistic systemsACM SIGMETRICS Performance Evaluation Review, 2005
- Probabilistic models for the guarded command languageScience of Computer Programming, 1997
- Probabilistic predicate transformersACM Transactions on Programming Languages and Systems, 1996
- The dining cryptographers problem: Unconditional sender and recipient untraceabilityJournal of Cryptology, 1988
- A theoretical basis for stepwise refinement and the programming calculusScience of Computer Programming, 1987
- Power domainsJournal of Computer and System Sciences, 1978
- Program development by stepwise refinementCommunications of the ACM, 1971
- An axiomatic basis for computer programmingCommunications of the ACM, 1969