信息网络安全 ›› 2025, Vol. 25 ›› Issue (10): 1523-1536.doi: 10.3969/j.issn.1671-1122.2025.10.004

• 理论研究 • 上一篇    下一篇

TrustZone半虚拟化与容器化实现机制

余发江1,2(), 王朝州1,2   

  1. 1.武汉大学国家网络安全学院,武汉 430072
    2.空天信息安全与可信计算教育部重点实验室,武汉 430072
  • 收稿日期:2024-11-08 出版日期:2025-10-10 发布日期:2025-11-07
  • 通讯作者: 余发江 E-mail:fjyu@whu.edu.cn
  • 作者简介:余发江(1979—),男,重庆,副教授,博士,CCF会员,主要研究方向为系统安全、可信计算|王朝州(2000—),男,四川,硕士研究生,主要研究方向为系统安全
  • 基金资助:
    国家自然科学基金(61772384)

Implementation Mechanism for TrustZone Paravirtualization and Containerization

YU Fajiang1,2(), WANG Chaozhou1,2   

  1. 1. School of Cyber Science and Engineering, Wuhan University, Wuhan 430072, China
    2. Key Laboratory of Aerospace Information Security and Trusted Computing, Ministry of Education, Wuhan 430072, China
  • Received:2024-11-08 Online:2025-10-10 Published:2025-11-07
  • Contact: YU Fajiang E-mail:fjyu@whu.edu.cn

摘要:

TrustZone广泛应用于移动平台,随着ARM CPU在云服务中大量部署,利用TrustZone增强虚拟机计算环境和数据的安全性需求日益凸显。但基础的TrustZone提供的硬件可信执行环境通常仅支持主机上的应用程序使用。为解决这一问题,文章提出一种TrustZone半虚拟化与容器化实现机制pvTEE,使虚拟机或容器中的客户能够高效、并行利用主机平台的可信执行环境运行可信应用。pvTEE通过前端驱动vTEEdriver、虚拟设备vTEE、主机代理程序vTEEproxy以及后端驱动TEEdriver,将虚拟机或容器内客户的调用请求转发至可信执行环境中的可信应用执行。主机、虚拟机和容器中的客户仅可调用自身场景的可信应用,无法访问其他应用。同时,主机、虚拟机及容器各自有独立的日志获取能力与安全存储服务。pvTEE基于ARMv8.2 CPU服务器、QEMU KVM虚拟机和Docker容器实现,实验结果表明,客户在虚拟机中调用可信应用完成一次RSA加解密操作,相比在主机场景中仅增加约6%的时间开销。

关键词: TrustZone, 可信执行环境, 虚拟化, 容器化, 云服务

Abstract:

TrustZone has been widely applied in mobile platforms. With the increasing application of ARM CPU in the cloud services, the demand to enhance the security of virtual machine computing environments and data using TrustZone has become increasingly prominent. However, the hardware-based trusted execution environment (TEE) provided by the basic TrustZone typically only supports applications running on the host. To address this issue, this paper proposed implementation mechanism for TrustZone paravirtualization and containerization called pvTEE, allowing client applications within virtual machines or containers to efficiently utilize the TEE of the host platform in parallel. pvTEE forwarded invocation requests of client applications within virtual machines or containers to trusted applications within the TEE through the front-end driver vTEEdriver, virtual device vTEE, host proxy vTEEproxy, and back-end driver TEEdriver. Client application within the host, virtual machines, or containers could only invoke trusted applications in their respective scenarios and could not access other instances. Meanwhile, the host, virtual machines, and containers each had independent log collection capabilities and secured storage services. pvTEE was implemented on a server based on the ARMv8.2 CPU, as well as in QEMU KVM virtual machines and Docker containers. Performance testing indicates that invoking trusted application for one complete RSA encryption and decryption operation by client application in a virtual machine scenario only incurs approximately 6% additional overhead compared to the host scenario.

Key words: TrustZone, trusted execution environment, virtualization, containerization, cloud services

中图分类号: