近年来,网络安全形势日益严峻,各种攻击手段层出不穷。软件的构建、发布、安装、运行等环节都面临着安全威胁。对以开源软件为主的 openEuler 操作系统来说,软件组件的完整性保护至关重要。通过在社区建立以 PKI (Public Key Infrastructure,公钥基础设施)为基础的软件发布签名体系,结合从系统启动到运行的端到端完整性保护技术,可以有效防护各个环节的攻击,从而提升系统安全性。
安全启动(Secure Boot)是利用公私钥对启动部件进行签名和验证。在启动过程中,前一个部件验证后一个部件的数字签名,如果能验证通过,则运行后一个部件;如果验证不通过,则停止启动。通过安全启动可以保证系统启动过程中各个部件的完整性,防止没有经过认证的部件被加载运行,从而防止对系统及用户数据产生安全威胁。
openEuler 在支持安全启动的基础上,还通过支持内核模块签名、IMA 文件完整性保护等机制,将基于数字签名的保护链路进一步延伸至内核模块和应用程序文件(广义安全启动),整个验证过程可包含如下四个部分:
-
启动阶段:BIOS->shim->grub->内核(EFI 加载前进行签名校验);
-
运行阶段(模块加载):内核->内核模块(模块插入时进行签名校验);
-
运行阶段(文件访问):内核->文件(应用程序执行或普通文件访问时进行签名校验);
-
运行阶段(软件包安装):包管理组件->RPM 软件包(软件包安装时进行签名校验)。
为支持“开箱即用”的安全启动能力,核心是在 openEuler 社区建立以 PKI 为基础的软件构建签名体系。在软件构建阶段,自动为目标文件添加数字签名,并在关键组件中预置公钥证书,从而在用户安装 openEuler 镜像后,可以直接开启相关的签名校验机制,提升系统安全性。
整体方案介绍
自 openEuler 24.03 LTS 版本开始,openEuler 采用统一的签名平台进行签名证书和密钥的管理以及签名生成,并对接 Eu

最低0.47元/天 解锁文章
2266

被折叠的 条评论
为什么被折叠?



