[论文解读] HYDRA: HYbrid Design for Remote Attestation (Using a Formally Verified Microkernel)
HYDRA 首次提出一种混合远程证明方案,采用形式化验证的 seL4 微内核强制实施内存隔离与访问控制,实现在无需硬件修改的通用硬件上安全、高效地进行远程证明。它使用基于 Speck 的 MAC,在 500 毫秒内完成对 10 MB 内存的证明,通过形式化验证实现强安全性保障,展现出良好的实用性。
Remote Attestation (RA) allows a trusted entity (verifier) to securely measure internal state of a remote untrusted hardware platform (prover). RA can be used to establish a static or dynamic root of trust in embedded and cyber-physical systems. It can also be used as a building block for other security services and primitives, such as software updates and patches, verifiable deletion and memory resetting. There are three major classes of RA designs: hardware-based, software-based, and hybrid, each with its own set of benefits and drawbacks. This paper presents the first hybrid RA design, called HYDRA, that builds upon formally verified software components that ensure memory isolation and protection, as well as enforce access control to memory and other resources. HYDRA obtains these properties by using the formally verified seL4 microkernel. (Until now, this was only attainable with purely hardware-based designs.) Using seL4 requires fewer hardware modifications to the underlying microprocessor. Building upon a formally verified software component increases confidence in security of the overall design of HYDRA and its implementation. We instantiate HYDRA on two commodity hardware platforms and assess the performance and overhead of performing RA on such platforms via experimentation; we show that HYDRA can attest 10MB of memory in less than 500msec when using a Speck-based message authentication code (MAC) to compute a cryptographic checksum over the memory to be attested.
研究动机与目标
- 通过集成形式化验证的软件组件,探索混合远程证明的新设计空间,以提升安全信心。
- 通过利用 seL4 微内核的形式化验证实现内存隔离与访问控制,减少对专用硬件的依赖。
- 在保持强安全保证的同时,展示混合远程证明在通用平台上的实际性能表现。
- 将混合远程证明从简单的低端设备扩展至支持多进程的嵌入式系统与信息物理系统。
- 通过结合验证内核与密码学证明,为未来安全系统提供基础。
提出的方法
- HYDRA 使用形式化验证的 seL4 微内核强制实施内存隔离与访问控制,确保仅授权进程可访问经证明的内存区域。
- 证明过程分为三个阶段:请求验证、内存映射和使用密钥消息认证码(MAC)计算密码学校验和。
- 通过 seL4 的安全内存映射原语,将目标进程的内存区域映射到证明进程的地址空间中。
- 使用 MAC 函数(例如 Speck-64-128)对经证明的内存区域计算密码学生效,以确保完整性。
- 该设计利用形式化验证的 seL4 可执行文件,保证实现与形式化规格完全一致。
- 性能评估在两块通用开发板(Sabre Lite 和 ODROID-XU4)上进行,测试了不同内存大小和进程数量下的表现。
实验结果
研究问题
- RQ1仅使用形式化验证的软件组件,不依赖硬件扩展,是否能够实现混合远程证明的强安全保证?
- RQ2在使用形式化验证微内核的情况下,远程证明的性能如何随内存大小增加而变化?
- RQ3在形式化验证环境中,内存映射与密码学生效计算的相对性能开销是多少?
- RQ4混合远程证明是否可实际部署在无需修改的通用硬件平台上,同时保持低延迟?
- RQ5在形式化验证系统中,并发进程数量如何影响远程证明的性能?
主要发现
- HYDRA 在通用硬件上使用基于 Speck 的 MAC,对 10 MB 内存的远程证明时间少于 500 毫秒,展现出实际可用的性能。
- 在证明 1 MB 内存时,密码学生效计算($MacMem$)占总证明时间的 84.89%,是主要的性能瓶颈。
- 内存映射($RetrieveMem$)对总运行时间的贡献不足 16%,表明 seL4 的访问控制机制引入的性能开销极低。
- $MacMem$ 的性能与内存大小呈线性关系,可预测地扩展至 10 MB 的证明内存大小。
- $MacMem$ 的运行时间随进程数量的增加保持合理的线性增长,表明 HYDRA 在多进程环境中具有良好的可扩展性。
- 在 Sabre Lite 平台上,Speck-64-128 和 BLAKE2S 的 MAC 性能最快,比 CBC-AES 和 HMAC-SHA-256 至少快 33%。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。