HasTEE - Programming Trusted Execution Environments with Haskell
Paper in proceeding, 2023
We address the above with HasTEE, a domain-specific language (DSL) embedded in Haskell for programming TEE applications. HasTEE includes a port of the GHC runtime for the Intel-SGX TEE.HasTEE uses Haskell’s type system to automatically partition an application and to enforce Information Flow Control on confidential data. The DSL, being embedded in Haskell, allows for the usage of higher-order functions, monads, and a restricted set of I/O operations to write any standard Haskell application. Contrary to previous work, HasTEE is lightweight, simple, and is provided as a simple security library; thus avoiding any GHC modifications. We show the applicability of HasTEE by implementing case studies on federated learning, an encrypted password wallet, and a differentially-private data clean room.
Trusted Execution Environment
Haskell
Intel SGX
Enclave
Author
Abhiroop Sarkar
Chalmers, Computer Science and Engineering (Chalmers), Functional Programming
Robert Krook
Chalmers, Computer Science and Engineering (Chalmers), Functional Programming
Alejandro Russo
Chalmers, Computer Science and Engineering (Chalmers), Information Security
Koen Claessen
Chalmers, Computer Science and Engineering (Chalmers), Functional Programming
Haskell 2023 - Proceedings of the 16th ACM SIGPLAN International Symposium on Haskell, Co-located with ICFP 2023
72-88
979-8-4007-0298-3 (ISBN)
Seattle, USA,
Octopi: Säker Programering för Sakernas Internet
Swedish Foundation for Strategic Research (SSF) (RIT17-0023), 2018-03-01 -- 2023-02-28.
Subject Categories
Computer Engineering
Software Engineering
Computer Science
Computer Systems
Areas of Advance
Information and Communication Technology
DOI
10.1145/3609026.3609731