助力产业升级 | BMC安全启动方案上新了!
近日,OurBMC 社区联合其理事成员单位中移(苏州)软件技术有限公司,在产业化落地SIG发布计算机系统安全可信创新解决方案——《 BMC 安全启动方案》。该方案为开发者提供了清晰、可实现的技术实施路径,可有效助力开发者提升 BMC 技术能力,推动 OurBMC 社区产业化落地的发展和工作,同时也加速了安全可信技术在各行业的应用和推广。
OurBMC 社区产业化落地 SIG 包括软硬件及系统解决方案,重点对产业化落地中遇到的困难点进行分析,并贡献解决方案,为产业化做贡献。
中移(苏州)软件技术有限公司2019年实施“云改”,挂牌中国移动云能力中心,是中国移动旗下全资子公司,注册资本总规模 31.72 亿元。公司立足苏州,业务范围辐射全国,聚焦移动云业务发展,承担起移动云的研发、运营、支撑一体化职责,以“云设施构建者、云服务提供者、云生态汇聚者”为定位,抢抓云业务发展的巨大市场空间,业务覆盖政务、金融、制造、交通、医疗等行业。
方案概述
本方案的核心思想是使用一块最高安全等级的安全芯片,在 BMC 和 BIOS 启动前,对 BMC 和 BIOS 的 flash 固件进行全面的校验,校验通过,则服务器正常启动;校验失败,则进入主备切换或者固件恢复过程。升级动作同样也是由安全芯片执行,BMC 需要将固件上传到指定区域,由安全芯片执行验签和校验过程之后才会对 BMC 或 BIOS 镜像进行升级。同时,利用安全芯片内置的 PUF 区域实现 TPCM 功能,结合虚拟化平台驱动和 UEFI 功能,实现对 Linux Grub 校验以及对虚拟机提供可信计算的服务。
总体架构
基于安全芯片的BMC安全启动方案架构如下所示,整个流程通过安全芯片内置安全管理策略,以确保系统从可信状态启动。
方案实现
1、安全启动整体流程
基于安全芯片的BMC安全启动流程如下所示:
2、固件完整性校验
-
固件校验整体流程
固件校验流程仅在AC复位进行,需要在CPLD辅助下,拉住BMC和Host CPU的复位引脚。校验成功,安全芯片会释放BMC和Host CPU的复位引脚,BMC和CPU会正常启动,此时安全芯片会启动看门狗监控启动过程。校验失败,安全芯片会自动切换到备份分区(如有),随后执行同样的过程,如果仍然失败,则执行恢复流程。
-
计算和签名校验过程
首先是安全芯片获取当前镜像中固件签名信息,包括 uboot、kernel以及 rootfs 的开始位置和大小、签名信息以及签名用的公钥信息,此处获取 uboot 固件签名信息,然后进行具体的计算和签名校验。
-
固件升级流程
BMC需要升级固件时,通过MailBox通知安全核,安全芯片拉高GPIO,使CPLD将备份Flash切换到BMC,BMC将固件上传到备份Flash。BMC上传完成后,通过MailBox通知安全芯片开始升级,此时安全芯片会拉住BMC Reset引脚,同时将BMC Flash的通道切换到安全芯片执行验证和升级流程。升级完成后,安全芯片复位BMC,BMC正常启动。
-
固件恢复流程
恢复流程在安全芯片校验固件失败或者安全芯片监控到 BMC / BIOS 启动异常时执行。
3、BIOS的度量方案
在UEFI BIOS固件的核心架构中,集成了Sec100度量模块,这一模块专为与嵌入式安全芯片(如先进的Aries系列)建立稳定高效的通信连接而设计。Sec100度量模块不仅在BIOS与安全芯片之间的建立通信,确保了两者之间的数据传输的完整性和机密性,还肩负着执行一系列重要的安全度量任务。
4、虚拟化应用安全防护
安全芯片集成了先进的物理不可克隆功能,能够通过高速、可靠的PCIe总线接口轻松地接入主机(Host)系统,并作为一张加密卡服务于Host,为Host提供了强大的数据加密、解密、签名及验证等安全处理能力,而且其架构极具灵活性,能够无缝地融入虚拟化环境,为多个虚拟机(VM)同时提供安全服务。