Abstract

In this paper we revisit the connection between parametricity and noninterference. Our primary contribution is a proof of noninterference for a polyvariant variation of the Dependency Core Calculus of in the Calculus of Constructions. The proof is modular: it leverages parametricity for the Calculus of Constructions and the encoding of data abstraction using existential types. This perspective gives rise to simple and understandable proofs of noninterference from parametricity. All our contributions have been mechanised in the Agda proof assistant.

Highlights

  • Parametricity is a generic property of programming languages with polymorphism

  • In this paper we have provided the first mechnized proof of noninterference based on parametricity

  • This is made possible by the simplicity and expressivity of parametricity for dependent types

Read more

Summary

INTRODUCTION

Parametricity is a generic property of programming languages with polymorphism. It produces useful theorems about programs from nothing but their types. Because such results do not depend on the content of the program, but follow mechanically from their types, they have been dubbed łfree theoremsž by Wadler [1989] He shows how parametricity gives us the following theorem for any polymorphic list-transformation function r. , where is the only element of the unit type, and we instantiate the list xs with any list of secret values, we see that the r function commutes with erasure, and r behaves just as a secure program This sort of commutation property is used to prove noninterference, the property that public outputs of a program may not depend on secret inputs. We consider two calculi in this paper, the Sec language of Russo et al [2008], and the DCC language of Abadi et al [1999] Both calculi are given shallow embeddings in the Calculus of Constructions (CC) and we develop noninterference proofs for both of them using parametricity.

PARAMETRICITY
INTUITION BEHIND THE PROOF OF NONINTERFERENCE FROM PARAMETRICITY
NONINTERFERENCE FROM PARAMETRICITY
SHALLOW EMBEDDING OF DEPENDENCY CORE CALCULUS
DEEP EMBEDDING OF DEPENDENCY CORE CALCULUS
IMPLEMENTATION IN HASKELL
RELATED WORK
CONCLUSION AND FUTURE WORK
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call