LIO*: Low Level Information Flow Control in F*
Abstract
We present Labeled Input Output in F* (LIO*), a verified framework that enforces information flow control (IFC) policies developed in F* and automatically extracted to C. Inspired by LIO, we encapsulated IFC policies into effects, but using F* we derived efficient, low level, and provably correct code. Concretely, runtime checks are lifted to static proof obligations, the developed code is automatically extracted to C and proved non-interferent using metaprogramming. We benchmarked our framework on three clients and observed up to 54% speedup when IFC runtime checks are proved statically. Our framework is designed to aid development of embedded devices where both enforcement of security policies and low level efficient code is critical.
- Publication:
-
arXiv e-prints
- Pub Date:
- April 2020
- DOI:
- 10.48550/arXiv.2004.12885
- arXiv:
- arXiv:2004.12885
- Bibcode:
- 2020arXiv200412885M
- Keywords:
-
- Computer Science - Cryptography and Security;
- Computer Science - Programming Languages
- E-Print:
- Submitted to ICFP