信息安全系列04-安全启动介绍

本文框架

  • [1. 基本概念](#1. 基本概念)
    • [1.1 基本概念回顾](#1.1 基本概念回顾)
    • [1.2 数字签名及验签流程](#1.2 数字签名及验签流程)
  • [2. 安全启动实施](#2. 安全启动实施)
    • [2.1 信任根选择](#2.1 信任根选择)
      • [2.1.1 使用HSM作为信任根](#2.1.1 使用HSM作为信任根)
      • [2.1.2 使用最底层Bootloader作为信任根](#2.1.2 使用最底层Bootloader作为信任根)
    • [2.2 校验方法确认](#2.2 校验方法确认)
      • [2.2.1 基于非对称加密算法(数字签名)](#2.2.1 基于非对称加密算法(数字签名))
      • [2.2.2 基于对称加密算法](#2.2.2 基于对称加密算法)
    • [2.3 安全启动方案](#2.3 安全启动方案)
      • [2.3.1 HSM+对称加密/非对称加密](#2.3.1 HSM+对称加密/非对称加密)
      • [2.3.2 最底层Bootloader+对称加密/非对称加密](#2.3.2 最底层Bootloader+对称加密/非对称加密)

安全启动(Secure Boot)是软件启动前,通过层层校验对软件完整性(Integrity)及可信度(Authentication)两项指标验证的过程,属于信息安全部分非常重要的一部分内容,本文对基本概念及常见的方案进行介绍,大纲如下:

1. 基本概念

1.1 基本概念回顾

在系列文章《信息安全系列02-基本概念介绍》中已对信息安全中的常见名词进行介绍,在安全启动中会涉及到的名词如下:

哈希函数 :哈希函数加密是将数据通过哈希算法将任意长度的数据作为输入转换成固定长度的字符串;

对称及非对称加密算法;
数字签名 :一种基于哈希函数及非对称加密算法,利用公钥加密技术为数据提供一个独特的签名来验证数据完整可信的技术;
信任根 :是安全启动过程的基础,它是系统中最先被信任的元素,可以是一个硬件设备或者一段固化在只读存储器中的程序。这个元素必须具有高度的安全性,以确保整个系统的启动过程可以信赖。
信任链:基于信任根,系统会通过一系列的校验和认证步骤来构建信任链。信任链是指一系列经过验证的软件组件,它们相互认证,形成一个从信任根开始的受信任的软件链条。这个过程确保了系统启动时所加载的每一个软件组件都是可信的。

1.2 数字签名及验签流程

数字签名的生成过程:

1)生成消息摘要:使用哈希函数对原始信息进行运算,生成固定长度的消息摘要(或称为信息摘要)。

2)生成签名:发送者使用自己的私钥通过非对称加密算法对消息摘要进行加密,形成数字签名。

数字签名解密过程

1)接收者使用发送者的公钥对收到的数字签名解密,获得消息摘要(哈希值);

2)接收者也对收到的原始信息采用同样的哈希函数生成一个新的消息摘要(哈希值);

3)如果两个摘要相同,就说明信息在传输过程中没有被篡改,且确实来自于声称的发送者。

2. 安全启动实施

安全启动(secure boot)主要检查启动后程序的完整性(Integrity)及可信度(Authentication)两项指标。通过启动时对软件进行验证来保证启动时的软件是合法且未经篡改的。

2.1 信任根选择

目前很多车规级MCU都继承了硬件安全模块,如ST的SPC58,英飞凌Tc3xx,瑞萨的RH850等,提供了集成的HSM模块,这些模块利用独立的核来保证可信,属于硬件上的信任根。另外也可以使用软件的最底层BootLoader作为信任根,这是一种成本较低的软件解决方案。

2.1.1 使用HSM作为信任根

在安全启动过程中,HSM Bootloader作为整个系统的信任根(RoT)。HSM Bootloader在启动时首先校验HSM Application的状态,确保其完整性后,HSM Application再校验其他软件模块,如BM(Bootloader Manager)的完整性。这种层级的校验确保了系统的可信启动。

2.1.2 使用最底层Bootloader作为信任根

基于软件的信任根方案虽然不如硬件信任根那样在物理层面上安全,但通过合理的设计和严格的流程控制,也能够提供一定程度的安全保障。然而,这需要得到OEM的认可,并且在整个系统的设计和维护过程中要非常小心,以防止潜在的安全风险。

2.2 校验方法确认

安全启动有两种不同类型的加密方法:基于对称密钥和非对称密钥加密的解决方案。

2.2.1 基于非对称加密算法(数字签名)

非对称加密的签名及验签流程如下:

2.2.2 基于对称加密算法

对称加密算法流程如下:

2.3 安全启动方案

可以有HSM/无HSM参与来进行划分,同时可以根据使用的加密算法是对称加密/非对称加密进一步划分:

2.3.1 HSM+对称加密/非对称加密

相对于对称密钥方案,对称加密方案校验时只需要重新计算一次MAC值并与原来存储的MAC对比即可。但需要特别注意MAC值存储在一个安全区域(HSM)

非对称加密方案只需要保证公钥存储在OTP区域不被修改即可。

2.3.2 最底层Bootloader+对称加密/非对称加密

使用最底层Bootloader作为信任根,对于无HSM参与时,由于MCU算例有限,加密时间可能会比较长,此时可以通过并行校验的方式即程序可以不等待校验完成就跳转,但当校验出程序被篡改后程序则停止执行,并对相关信息进行记录。

Bootloader+对称加密(适用于高性能MCU)及Bootloader+非对称加密除信任根选择与2.3.1章节不同外,其余基本一致,在此不再赘述。

写在最后,本文属于本人在学习过程中的总结,难免会有理解偏差的地方,欢迎大家随时指正,谢谢。

相关推荐
亚历克斯神7 分钟前
Flutter for OpenHarmony: Flutter 三方库 mutex 为鸿蒙异步任务提供可靠的临界资源互斥锁(并发安全基石)
android·数据库·安全·flutter·华为·harmonyos
雷帝木木17 分钟前
Flutter 三方库 hashids2 基于鸿蒙安全内核的深度隐匿映射适配:数字指纹泄露防御层、生成短小精悍唯一不可逆加盐哈希,护航全链路请求 URL 隐私-适配鸿蒙 HarmonyOS ohos
安全·flutter·harmonyos
云祺vinchin19 分钟前
解读“十五五”热词,容灾备份正成为国家安全基石
安全·网络安全·数据安全·十五五·容灾备份体系
小陈工35 分钟前
2026年3月28日技术资讯洞察:5G-A边缘计算落地、低延迟AI推理革命与工业智造新范式
开发语言·人工智能·后端·python·5g·安全·边缘计算
聊点儿技术2 小时前
利用IP归属地查询识别异地登录风险:企业账号安全的技术探索
数据库·tcp/ip·安全
xixixi777774 小时前
安全嵌入全链路:从模型训练到智能体交互,通信网络是AI安全的“地基”
人工智能·安全·ai·多模态·数据·通信·合规
1941s4 小时前
OpenClaw 每日新玩法 | NanoClaw —— 轻量级、安全的 OpenClaw 替代方案
人工智能·安全·agent·openclaw
Agent产品评测局4 小时前
企业 AI Agent 落地,如何保障数据安全与合规?——企业级智能体安全架构与合规路径深度盘点
人工智能·安全·ai·chatgpt·安全架构
聊点儿技术6 小时前
游戏账号盗用频发,IP风险等级评估如何成为第一道防线?
安全·游戏·ip地址·风险评估·账号安全·ip风险等级评估
marsh02067 小时前
22 openclaw身份认证与授权:构建安全的访问控制
安全·ai·编程·技术