HasTEE: Programming Trusted Execution Environments with Haskell

被引:0
|
作者
Sarkar, Abhiroop [1 ]
Krook, Robert [1 ]
Russo, Alejandro [2 ]
Claessen, Koen [1 ]
机构
[1] Chalmers Univ, Gothenburg, Sweden
[2] Chalmers Univ, DPella AB, Gothenburg, Sweden
关键词
Trusted Execution Environment; Haskell; Intel SGX; Enclave; SGX;
D O I
10.1145/3609026.3609731
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Trusted Execution Environments (TEEs) are hardware enforced memory isolation units, emerging as a pivotal security solution for security-critical applications. TEEs, like Intel SGX and ARM TrustZone, allow the isolation of confidential code and data within an untrusted host environment, such as the cloud and IoT. Despite strong security guarantees, TEE adoption has been hindered by an awkward programming model. This model requires manual application partitioning and the use of error-prone, memory-unsafe, and potentially information-leaking low-level C/C++ libraries. 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.
引用
收藏
页码:72 / 88
页数:17
相关论文
共 50 条
  • [1] Graviton: Trusted Execution Environments on GPUs
    Volos, Stavros
    Vaswani, Kapil
    Bruno, Rodrigo
    PROCEEDINGS OF THE 13TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, 2018, : 681 - 696
  • [2] Building Open Trusted Execution Environments
    Kohlbrenner, David
    Shinde, Shweta
    Lee, Dayeol
    Asanovic, Krste
    Song, Dawn
    IEEE SECURITY & PRIVACY, 2020, 18 (05) : 47 - 56
  • [3] MultiTEE: Distributing Trusted Execution Environments
    Ott, Simon
    Orthen, Benjamin
    Weidinger, Alexander
    Horsch, Julian
    Nayani, Vijayanand
    Ekberg, Jan-Erik
    PROCEEDINGS OF THE 19TH ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, ACM ASIACCS 2024, 2024, : 1617 - 1629
  • [4] A survey on the (in)security of trusted execution environments
    Munoz, Antonio
    Rios, Ruben
    Roman, Rodrigo
    Lopez, Javier
    COMPUTERS & SECURITY, 2023, 129
  • [5] Towards Modular Trusted Execution Environments
    Weinhold, Carsten
    Asmussen, Nils
    Goehringer, Diana
    Roitzsch, Michael
    PROCEEDINGS OF THE 2023 6TH WORKSHOP ON SYSTEM SOFTWARE FOR TRUSTED EXECUTION, SYSTEX 2023, 2023, : 10 - 16
  • [6] Fuzzing trusted execution environments with Rust
    Blinowski, Grzegorz
    Szaknis, Michal
    COMPUTERS & SECURITY, 2025, 150
  • [7] sNPU: Trusted Execution Environments on Integrated NPUs
    Feng, Erhu
    Feng, Dahu
    Du, Dong
    Xia, Yubin
    Chen, Haibo
    2024 ACM/IEEE 51ST ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, ISCA 2024, 2024, : 708 - 723
  • [8] Attestation Mechanisms for Trusted Execution Environments Demystified
    James, Menetrey
    Gottel, Christian
    Khurshid, Anum
    Pasin, Marcelo
    Felber, Pascal
    Schiavoni, Valerio
    Raza, Shahid
    DISTRIBUTED APPLICATIONS AND INTEROPERABLE SYSTEMS (DAIS 2022), 2022, 13272 : 95 - 113
  • [9] TEE-MR: Developer-friendly data oblivious programming for trusted execution environments
    Alam, A. K. M. Mubashwir
    Chen, Keke
    COMPUTERS & SECURITY, 2025, 148
  • [10] Key Attestation from Trusted Execution Environments
    Kostiainen, Kari
    Dmitrienko, Alexandra
    Ekberg, Jan-Erik
    Sadeghi, Ahmad-Reza
    Asokan, N.
    TRUST AND TRUSTWORTHY COMPUTING, PROCEEDINGS, 2010, 6101 : 30 - +