Existential Types for Relaxed Noninterference

11/11/2019
by   Raimil Cruz, et al.
0

Information-flow security type systems ensure confidentiality by enforcing noninterference: a program cannot leak private data to public channels. However, in practice, programs need to selectively declassify information about private data. Several approaches have provided a notion of relaxed noninterference supporting selective and expressive declassification while retaining a formal security property. The labels-as-functions approach provides relaxed noninterference by means of declassification policies expressed as functions. The labels-as-types approach expresses declassification policies using type abstraction and faceted types, a pair of types representing the secret and public facets of values. The original proposal of labels-as-types is formulated in an object-oriented setting where type abstraction is realized by subtyping. The object-oriented approach however suffers from limitations due to its receiver-centric paradigm. In this work, we consider an alternative approach to labels-as-types, applicable in non-object-oriented languages, which allows us to express advanced declassification policies, such as extrinsic policies, based on a different form of type abstraction: existential types. An existential type exposes abstract types and operations on these; we leverage this abstraction mechanism to express secrets that can be declassified using the provided operations. We formalize the approach in a core functional calculus with existential types, define existential relaxed noninterference, and prove that well-typed programs satisfy this form of type-based relaxed noninterference.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/11/2019

Polymorphic Relaxed Noninterference

Information-flow security typing statically preserves confidentiality by...
research
05/02/2019

Typed-based Relaxed Noninterference for Free

Despite the clear need for specifying and enforcing information flow pol...
research
07/03/2019

Uncovering Information Flow Policy Violations in C Programs

Programmers of cryptographic applications written in C need to avoid com...
research
07/18/2023

Soundly Handling Linearity

We propose a novel approach to soundly combining linear types with effec...
research
03/28/2018

Deadlock-Free Typestate-Oriented Programming

Context. TypeState-Oriented Programming (TSOP) is a paradigm intended to...
research
10/25/2011

Inducing Probabilistic Programs by Bayesian Program Merging

This report outlines an approach to learning generative models from data...
research
04/21/2022

Decomposition Without Regret

Programming languages are embracing both functional and object-oriented ...

Please sign up or login with your details

Forgot password? Click here to reset