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 条
  • [41] TrustHealth: Enhancing eHealth Security with Blockchain and Trusted Execution Environments
    Li, Jun
    Luo, Xinman
    Lei, Hong
    ELECTRONICS, 2024, 13 (12)
  • [42] Preliminary Study of Trusted Execution Environments on Heterogeneous Edge Platforms
    Ning, Zhenyu
    Liao, Jinghui
    Zhang, Fengwei
    Shi, Weisong
    2018 THIRD IEEE/ACM SYMPOSIUM ON EDGE COMPUTING (SEC), 2018, : 421 - 426
  • [43] A Secure IIoT Gateway Architecture based on Trusted Execution Environments
    Antônio Augusto Fröhlich
    Leonardo Passig Horstmann
    José Luis Conradi Hoffmann
    Journal of Network and Systems Management, 2023, 31
  • [44] SoK: Understanding Designs Choices and Pitfalls of Trusted Execution Environments
    Li, Mengyuan
    Yang, Yuheng
    Chen, Guoxing
    Yan, Mengjia
    Zhang, Yinqian
    PROCEEDINGS OF THE 19TH ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, ACM ASIACCS 2024, 2024, : 1600 - 1616
  • [45] How Trusted Execution Environments Fuel Research on Microarchitectural Attacks
    Schwarz, Michael
    Gruss, Daniel
    IEEE SECURITY & PRIVACY, 2020, 18 (05) : 18 - 27
  • [46] Formal Verification of Virtualization-Based Trusted Execution Environments
    Witharana, Hasini
    Weerasena, Hansika
    Mishra, Prabhat
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2024, 43 (11) : 4262 - 4273
  • [47] Secret Sharing in Pub/Sub Using Trusted Execution Environments
    Munster, Javier
    Jacobsen, Hans-Arno
    DEBS'18: PROCEEDINGS OF THE 12TH ACM INTERNATIONAL CONFERENCE ON DISTRIBUTED AND EVENT-BASED SYSTEMS, 2018, : 28 - 39
  • [48] Mitigating Adversarial Attacks in Federated Learning with Trusted Execution Environments
    Queyrut, Simon
    Schiavoni, Valerio
    Felber, Pascal
    2023 IEEE 43RD INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, ICDCS, 2023, : 626 - 637
  • [49] Building Your Own Trusted Execution Environments Using FPGA
    Armanuzzaman, Md
    Sadeghi, Ahmad-Reza
    Zhao, Ziming
    PROCEEDINGS OF THE 19TH ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, ACM ASIACCS 2024, 2024, : 1584 - 1599
  • [50] SYSTEMATIZATION OF TRUSTED I/O SOLUTIONS FOR ISOLATED EXECUTION ENVIRONMENTS
    Stancu, Florin-Alexandru
    Mircea, Alexandru-Alin
    Rughinis, Razvan
    Chiroiu, Mihai
    UNIVERSITY POLITEHNICA OF BUCHAREST SCIENTIFIC BULLETIN SERIES C-ELECTRICAL ENGINEERING AND COMPUTER SCIENCE, 2022, 84 (02): : 3 - 14