近日,OurBMC 社区联合其理事成员单位昆仑太科,在产业化落地 SIG 发布计算机系统安全可信创新解决方案——《基于飞腾腾珑 E2000 的全栈式安全启动方案》。该方案为开发者提供了清晰、可实现的技术实施路径,可有效助力开发者提升 BMC 技术能力,推动 OurBMC 社区产业化落地的发展和工作,同时也加速了安全可信技术在各行业的应用和推广。
OurBMC 社区产业化落地 SIG 包括软硬件及系统解决方案,重点对产业化落地中遇到的困难点进行分析,并贡献解决方案,为产业化做贡献。
昆仑太科自成立以来专注于国家信息基础设施领域相关技术的研发与应用,致力于为党、政、特殊行业等关系国家战略安全的核心领域,以及金融等关系国家经济命脉的重要行业,提供自主的昆仑固件系列产品和以应用软件第三方测评为主导的信息系统质量保障服务。始终以“可信、可控、安全、高效”为目标塑造产品和服务体系,坚持创新驱动,勇攀安全固件技术高峰,为推动产业升级提供有力支撑,为加快中国新质生产力发展贡献力量。
方案架构
本方案基于飞腾腾珑 E2000 硬件平台,构建了一套全栈式安全启动流程,在计算机启动的各个阶段进行逐级验签,确保启动过程中所有文件的安全性和完整性。具体而言,EFI BIOS 对 Shim 进行验签,Shim 对 Grub 验签,Grub 再对 Kernel 验签。Shim、Grub、Kernel 可使用同一套私钥证书生成签名文件,Shim 也可单独配备证书,用于对 Grub 或内核进行签名验签。总体架构如下图所示。
方案实现
1、UEFI 对证书的管理
UEFI Secureboot 开源代码默认的证书管理仅支持导入和卸载操作。在本方案中,基于开源代码拓展实现了证书的逐层验证功能。只有经过验证的下一级证书,才被允许导入变量区,以此保障证书体系的安全性和可靠性。验证过程涉及对 PK 证书、KEK 证书以及 DB、DBX 数据的验证。
2、UEFI 对 SHIM 的验签
UEFI 默认能够启动符合规范的 PE 文件。当安全启动功能开启后,UEFI 会根据待加载可执行文件的签名状态,执行不同的验证流程。
3、SHIM 对 Grub 的验签
在本方案中,SHIM 作为一级启动程序,承担着对二级启动程序 Grub 的验签引导任务。
4、Grub对内核的验签
Grub 对内核的验签通过 Grub 验证器完成,验证器底层调用 SHIM_LOCK protocol 的接口实现。
验证结果
1、UEFI 验签 SHIM
2、Shim--Grub--Kernel 逐级验签
获取方案
扫码获取《基于飞腾腾珑 E2000的全栈式安全启动方案》完整版
我们期待这一方案能够为BMC技术的发展和应用注入新的活力,也欢迎各成员单位及开发者积极投稿,为社区建设添砖加瓦,投稿请联系: