A Dependently Typed Library for Static Information-Flow Control in Idris
Abstract
Safely integrating third-party code in applications while protecting the confidentiality of information is a long-standing problem. Pure functional programming languages, like Haskell, make it possible to enforce lightweight information-flow control through libraries like MAC by Russo. This work presents DepSec, a MAC inspired, dependently typed library for static information-flow control in Idris. We showcase how adding dependent types increases the expressiveness of state-of-the-art static information-flow control libraries and how DepSec matches a special-purpose dependent information-flow type system on a key example. Finally, we show novel and powerful means of specifying statically enforced declassification policies using dependent types.
Cite
@article{arxiv.1902.06590,
title = {A Dependently Typed Library for Static Information-Flow Control in Idris},
author = {Simon Gregersen and Søren Eller Thomsen and Aslan Askarov},
journal= {arXiv preprint arXiv:1902.06590},
year = {2019}
}
Comments
This is an extended version of a paper of the same title presented at POST 2019