skip to main content
research-article

Noninterference for free

Published: 29 August 2015 Publication History

Abstract

The dependency core calculus (DCC) is a framework for studying a variety of dependency analyses (e.g., secure information flow). The key property provided by DCC is noninterference, which guarantees that a low-level observer (attacker) cannot distinguish high-level (protected) computations. The proof of noninterference for DCC suggests a connection to parametricity in System F, which suggests that it should be possible to implement dependency analyses in languages with parametric polymorphism. We present a translation from DCC into Fω and prove that the translation preserves noninterference. To express noninterference in Fω, we define a notion of observer-sensitive equivalence that makes essential use of both first-order and higher-order polymorphism. Our translation provides insights into DCC's type system and shows how DCC can be implemented in a polymorphic language without loss of the noninterference (security) guarantees available in DCC. Our contributions include proof techniques that should be valuable when proving other secure compilation or full abstraction results.

References

[1]
M. Abadi. Protection in programming-language translations. In ICALP 1998.
[2]
M. Abadi, A. Banerjee, N. Heintze, and J. G. Riecke. A core calculus of dependency. In POPL 1999.
[3]
A. Ahmed. Step-indexed syntactic logical relations for recursive and quantified types. In ESOP 2006.
[4]
A. Ahmed and M. Blume. Typed closure conversion preserves observational equivalence. In ICFP 2008.
[5]
A. Ahmed and M. Blume. An equivalence-preserving CPS translation via multi-language semantics. In ICFP 2011.
[6]
J. Berdine, P. O’Hearn, U. Reddy, and H. Thielecke. Linear continuation-passing. Higher Order Symbol. Comput., 15(2-3):181– 208, 2002.
[7]
W. J. Bowman and A. Ahmed. Noninterference for free (technical appendix). June 2015. URL https://perma.cc/RJ9N-B5ZQ.
[8]
A. Chlipala. A certified type-preserving compiler from lambda calculus to assembly language. In PLDI 2007
[9]
C. Fournet, N. Swamy, J. Chen, P.-E. Dagand, P.-Y. Strub, and B. Livshits. Fully abstract compilation to JavaScript. In POPL 2013.
[10]
N. C. Heintze and J. G. Riecke. The SLam Calculus: Programming with secrecy and integrity. In POPL 1998.
[11]
A. Kennedy. Securing the .NET programming model. In APPSEM II Workshop, Industrial Applications Session, Sept. 2005.
[12]
J. Matthews and R. B. Findler. Operational semantics for multilanguage programs. In POPL 2007.
[13]
E. Moggi. Notions of computation and monads. Information and Computation, 93(1):55–92, 1991.
[14]
J. T. Perconti and A. Ahmed. Verifying an open compiler using multilanguage semantics. In ESOP 2014.
[15]
B. C. Pierce. Types and Programming Languages, chapter 30: Higher-Order Polymorphism. MIT Press, 2002.
[16]
J. C. Reynolds. Types, abstraction, and parametric polymorphism. Information Processing, pages 513–523, 1983.
[17]
N. Shikuma and A. Igarashi. Proving noninterference by a fully complete translation to the simply typed lambda-calculus. In 11th Asian conference on advances in computer science, 2007.
[18]
N. Shikuma and A. Igarashi. Proving noninterference by a fully complete translation to the simply typed lambda-calculus. Logical Methods in Computer Science, 4(3:10):1–31, 2008.
[19]
S. Tse and S. Zdancewic. Translating dependency into parametricity. In ICFP 2004.
[20]
D. Vytiniotis and S. Weirich. Parametricity, type equality, and higherorder polymorphism. J. Funct. Programming, 20(2):175–210, Mar. 2010.
[21]
P. Wadler. Theorems for free! In ACM Symp. on Functional Programming Languages and Computer Architecture (FPCA), Sept. 1989.
[22]
J. Zhao, Q. Zhang, and S. Zdancewic. Relational parametricity for a polymorphic linear lambda calculus. In APLAS 2010.

Cited By

View all
  • (2022)Monadic and comonadic aspects of dependency analysisProceedings of the ACM on Programming Languages10.1145/35633356:OOPSLA2(1320-1348)Online publication date: 31-Oct-2022
  • (2021)An Extended Account of Trace-relating Compiler Correctness and Secure CompilationACM Transactions on Programming Languages and Systems10.1145/346086043:4(1-48)Online publication date: 10-Nov-2021
  • (2021)Session logical relations for noninterferenceProceedings of the 36th Annual ACM/IEEE Symposium on Logic in Computer Science10.1109/LICS52264.2021.9470654(1-14)Online publication date: 29-Jun-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 50, Issue 9
ICFP '15
September 2015
436 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/2858949
  • Editor:
  • Andy Gill
Issue’s Table of Contents
  • cover image ACM Conferences
    ICFP 2015: Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming
    August 2015
    436 pages
    ISBN:9781450336697
    DOI:10.1145/2784731
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 29 August 2015
Published in SIGPLAN Volume 50, Issue 9

Check for updates

Author Tags

  1. Noninterference
  2. dependency
  3. fully abstract compilation
  4. information flow
  5. logical relations
  6. parametricity
  7. polymorphism
  8. secure compilation
  9. security

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)2
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Monadic and comonadic aspects of dependency analysisProceedings of the ACM on Programming Languages10.1145/35633356:OOPSLA2(1320-1348)Online publication date: 31-Oct-2022
  • (2021)An Extended Account of Trace-relating Compiler Correctness and Secure CompilationACM Transactions on Programming Languages and Systems10.1145/346086043:4(1-48)Online publication date: 10-Nov-2021
  • (2021)Session logical relations for noninterferenceProceedings of the 36th Annual ACM/IEEE Symposium on Logic in Computer Science10.1109/LICS52264.2021.9470654(1-14)Online publication date: 29-Jun-2021
  • (2021)DDUO: General-Purpose Dynamic Analysis for Differential Privacy2021 IEEE 34th Computer Security Foundations Symposium (CSF)10.1109/CSF51468.2021.00043(1-15)Online publication date: Jun-2021
  • (2021)Dynamic IFC Theorems for Free!2021 IEEE 34th Computer Security Foundations Symposium (CSF)10.1109/CSF51468.2021.00005(1-14)Online publication date: Jun-2021
  • (2021)Fully Abstract and Robust CompilationProgramming Languages and Systems10.1007/978-3-030-89051-3_6(83-101)Online publication date: 12-Oct-2021
  • (2020)Type-Based Declassification for FreeFormal Methods and Software Engineering10.1007/978-3-030-63406-3_11(181-197)Online publication date: 19-Dec-2020
  • (2020)On the Versatility of Open Logical RelationsProgramming Languages and Systems10.1007/978-3-030-44914-8_3(56-83)Online publication date: 27-Apr-2020
  • (2019)Simple noninterference from parametricityProceedings of the ACM on Programming Languages10.1145/33416933:ICFP(1-22)Online publication date: 26-Jul-2019
  • (2019)Simple Noninterference by NormalizationProceedings of the 14th ACM SIGSAC Workshop on Programming Languages and Analysis for Security10.1145/3338504.3357342(61-72)Online publication date: 15-Nov-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media