skip to main content
10.1145/2784731.2784733acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Noninterference for free

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

Index Terms

  1. Noninterference for free

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        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
        • 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

        Copyright © 2015 ACM

        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

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate333of1,064submissions,31%

        Upcoming Conference

        ICFP '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader