赋能学术前沿丨BMC调测载板首篇高校解决方案发布
近日,北京工业大学可信计算北京市重点实验室依托OurBMC社区提供的BMC调测载板,成功完成了一项重要科研项目,并基于此成果整理了一份可落地解决方案——《基于BMC可信子系统的可信启动方案》。该方案是社区“BMC调测载板免费申请活动”启动以来,首个助力高校团队完成的科研课题解决方案。它不仅为开发者提供了清晰、可实现的技术路径,更彰显了OurBMC社区对科研创新的深度支持与协作价值。
“BMC调测载板免费申请活动” 是社区联合飞腾公司和汉为举办的特色活动,旨在为BMC技术爱好者提供BMC调测载板以及相关技术文档,便于开发者基于调测载板开展BMC模块相关的验证和测试工作,降低开发者参与社区门槛。
北京工业大学可信计算北京市重点实验室,作为北京工业大学计算机学院的核心科研机构,已在国内可信计算领域占据领先地位,被誉为顶尖的信息安全研究与人才培养高地。该实验室的可信团队深耕可信计算基础理论及应用探索,凭借卓越的研究实力与高效的技术转化能力,持续引领行业发展。
方案概述
本方案基于OurBMC社区提供的BMC远程管理控制模块,构建以TPCM为物理可信根的可信环境,实现对各层级可信性的逐级验证。整个流程依靠BMC下发安全策略,Host侧内核层及用户层依托TPCM可信度量代理,严格遵循BMC下发的安全策略保障Host侧的安全性,最终将BMC侧可信特性扩展到Host侧。
总体设计
本方案划分为4个主要组件,包括度量组件、TPCM通信组件、可信支撑组件和安全存储组件。下图为整体架构图。
1、度量组件
度量组件被细分BMC侧的主动度量模块,Host侧的应用层度量代理、内核层度量代理、grub度量代理及BIOS度量代理(依次对应为可信度量代理4,可信度量代理3,可信度量代理2,可信度量代理1)。应用层度量代理即可信度量代理4负责用户层APP可信度量。内核层度量代理即可信度量代理3负责保障应用层度量代理的可信。Grub度量代理即可信度量代理2负责Host侧内核层的可信度量。BIOS度量代理即可信度量代理1负责HOST侧Grub启动程序的可信度量。
2、TPCM通信组件
TPCM通信组件负责Host侧和BMC侧之间消息通信。
3、可信支撑组件
可信支撑组件中度量模块为度量代理提供度量功能。策略模块负责对度量策略进行管理。判定模块负责完成度量模块返回的度量值与底层基准库内基准值对比,判断被度量实体是否可信。
4、安全存储组件
安全存储组件使用TCM的安全存储功能,将度量基准值以及度量策略存储到TCM的NV中,保证基准值和策略的安全可信。
功能设计
1、BMC侧设计
该系统以BMC作为可信子系统,在BMC侧构建可信功能,能够实现对主机BIOS的可信度量,将可信扩展到主机上,同时还能接收来自主机的度量请求并完成度量判定操作。为了实现BMC侧的可信功能,本系统在BMC侧设计了TPCM通信模块、主动度量模块、可信支撑机制(包括度量模块、判定模块以及策略管理)。
2、HOST侧设计
Host端作为被度量的主体部分,Host端的静态度量任务分为三个阶段。首先在BMC端对Host端BIOS镜像度量完成后,Host端可以安全启动,Host端启动阶段到达内核启动阶段时,进入第二个阶段。然后内核模块开始对应用层可信度量程序即可信度量代理4进行静态度量,并与BMC端进行交互,对比度量值和基准值,确保应用层度量程序的可信性,完成信任链的拓展。第三个阶段,Host端应用层度量程序即可信度量代理4开始对应用层用户系统程序进行静态度量,并与BMC端交互,对比度量值和基准值。
3、通信设计
- 通信协议设计
BMC端和Host端通信设计为通过Message结构体进行双方的信息传递,其中包含两部分,主要部分为value_array[],记录了要传递的度量值或者基准值。另外一部分为flag标志位,flag标志位记录了该消息的多种用途。对于Host侧TPCM 通信转发模块而言,flag标识发送的消息传递的是度量值还是基准值。对于BMC侧TPCM 通信模块而言,flag标识对比结果的对与错。
- TPCM通信模块服务端设计
TPCM通信模块服务端位于BMC侧,其维护主进程及任务处理线程,并通过任务池实现对Host侧TPCM通信转发模块客户端请求的处理。其中主进程选用epoll实现对socket监听连接句柄及已建立的socket连接句柄的监听。通过主进程可以实现对客户端连接请求的处理,以及对已连接的Host侧TPCM通信转发模块客户端发送的请求入队,至任务池的任务队。任务处理线程通过同步机制实现对任务池中任务队列的出队操作,处理各个TPCM客户端连接的具体请求。
- TPCM通信转发模块客户端设计
TPCM通信转发模块客户端以内核模块形式嵌入到Host侧,通过Socket与BMC侧TPCM通信模块服务端建立TCP连接。内部设计实现了TPCM通信协议的收发功能,调用网络接口与BMC侧TPCM通信模块服务端实现数据的收发。
效果演示
1、 静态启动基准值创建
BMC侧作为可信子系统先于Host侧启动,并主动对Host的BIOS进行度量,度量成功后,Host侧各个度量代理再依次度量启动。本次是首次启动,所以此次启动过程中的度量值将作为基准值存储到BMC侧。
2、静态启动度量判定
在系统首次启动后对Host侧进行关机并重启,因为此次是第二次启动,所以需要对启动过程中的关键部件进行度量判定,如果度量判定通过则系统可以正常启动,反之启动失败。
3、动态度量基准值收集
在系统首次启动后,本方案对系统运行过程中的内核模块进行动态度量基准值收集,作为后续系统内核模块运行状态判断的基准,确保系统运行中的安全可信。
4、 动态度量度量值判定
在系统二次启动后,本方案对系统运行过程中的内核模块进行动态度量度量值判定,能够及时发现系统运行过程中的出现的错误,保证系统运行中的安全可信。
关注OurBMC公众号,后台回复 “可信启动方案”获取《基于BMC可信子系统的可信启动方案》完整版
我们期待这一方案能够为BMC技术的发展和应用注入新的活力,也欢迎各成员单位及开发者积极投稿,为社区建设添砖加瓦,投稿请联系:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
破解 vLLM + DeepSeek 规模化部署的“不可能三角”
作者:亦达 什么是 vLLM 人工智能产业的蓬勃发展催生了丰富多样的推理模型,为解决特定领域的问题提供了高效的解决方案。DeepSeek 的爆火就是极佳的范例。然而,对于个人用户而言,如何有效地利用这些模型成为一个显著的挑战------尽管模型触手可及,但其复杂的部署和使用流程却让人望而却步。 针对这一现象,在大型语言模型(LLM)领域,vLLM(访问官网 https://docs.vllm.ai/en/latest/ 了解更多) 应运而生。通过便捷的模型接入方式,vLLM 让用户能够轻松地向模型发起推理请求,从而大大缩短了从模型到应用的距离。vLLM 不仅降低了技术门槛,也拉近了普通用户与前沿 AI 技术之间的距离,使得更多人享受到 LLM 带来的便利和创新体验。 围绕vLLM展开的各种商业活动也日益活跃。与众多大语言模型不同的是,DeepSeek 免费提供了可供用户交互的界面。个人用户可以无门槛直接使用,但对于企业而言,稳定性、数据隐私、不参与模型训练参数收集等能力至关重要。为此,企业往往选择基于 vLLM 自建推理应用服务。与个人用户对LLM的推理需求不同,企业级应用更加注重 v...
- 下一篇
初创公司使用 AI “码农” Devin 一个月的体验
编者按: Devin 真的能像人类软件工程师那样工作吗?作为 2024 年备受瞩目的 AI Agent 产品,它的实际表现如何? 我们今天为大家带来的文章中,作者通过一个月的实际使用体验,发现 Devin 在处理简单、明确的编程任务时表现不错,但距离达到初级软件工程师的水平还有很长的路要走。 文章详细介绍了 Devin 的使用体验,包括其出色的上手流程设计、与 GitHub 的便捷集成,以及实时代码审查功能。在处理范围狭窄、定义明确的代码修改时,特别是前端组件相关的任务,Devin 表现相当出色。然而,当面对需要跨组件协作的全栈任务时,即使是对初级工程师来说较为简单的工作,Devin 也往往难以胜任。从成本效益来看,对于那些它能够完成的小型任务(通常花费 2-10 美元),Devin 确实能为团队节省宝贵的时间;但在处理较复杂任务时,其成功率和性价比都令人失望。 本文系原作者观点,Baihai IDP 仅编译转载。 作者 | Vikram Sreekanti and Joseph E. Gonzalez 编译 | 岳扬 我们总是对新的人工智能产品充满好奇,却苦于没有时间去亲自体验。在最...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6