安全启动 - STM32安全启动应用

发布时间:2023-02-28  

安全启动实现了信任根。为了整体安全的需要,需要将信任传递到下一级。这个信任传递是通过加解密技术完成的。

在启动时,我们要至少保证下一级固件的完整可靠性。意味着,我们要使用认证技术,对用户固件进行验证。对用户固件进行验证可以使用哈希函数,也可以使用基于对称密钥的验证码 AES-GCM。

系统在安全启动前,需要保存已经烧录到 Flash 里的用户固件的哈希值。这个哈希值,通过前面所提到的 STM32 安全技术,保证它不会被内外攻击所改变。

系统在安全启动时,利用前面所构造的安全执行环境,对需要进一步执行的用户固件,进行一个哈希运算。哈希运算一般是采用 SHA256。

系统比较这两个值。如果计算出来的哈希值,与存储的哈希值相同,我们认为没有人对用户固件进行了改动。安全启动这时可以执行一个敏感信息的清理工作。如果有可能,可以将安全启动部分设置成不可访问,然后就放心大胆地跳转到用户固件去执行。

如果哈希值验证不通过,则系统直接重启。

对于 AES-GCM 来计算固件的验证码,也与算 SHA256 相同,都是对固件重新计算出一个值,然后与保存的值进行比较。


可重用的安全引擎

前面提到 STM32 SBSFU 将一些安全高度敏感的操作,包装在安全引擎里。这些安全高度敏感操作包括从安全引擎的初始化,从 Flash 中读取密钥、读写固件、进行加解密运算,像AES、ECDSA,还有从 Flash 中读些安全相关关的参数。

安全引擎是安全启动的核心可信代码,需要多项 STM32 平台的安全保护技术来综合保护,例如 Firewall 或者 MPU。安全引擎对外提供单一入口。在调用返回前,清理敏感信息。安全引擎也可以被用户固件调用。对用户固件来说,安全引擎是安全服务提供方。


安全启动在智能锁中的应用

对于某个特定的应用,只要资源不是受限制,那么安全启动的功能总是应该相似的。对于智能锁,我们可以直接应用 STM32 SBSFU。在编译 STM32 SBSFU 工程文件前,需要准备 python 环境。Python 环境是为了对密钥进行转化以及为固件更新所需要的对固件进行封装。


STM32 用户拿到 STM32 SBSFU 开发包时,一般会包含三个工程。

① 中间件 SE 安全引擎 Project:该工程是安全启动的核心可信代码,包括受信任的代码和密钥。密钥可以是对称密钥或者椭圆曲线 ECC 公钥。防火墙的调用门机制就是在该工程中实现。该工程输出的固件,会集成到安全启动与安全固件更新工程中去。

② 安全启动与安全固件更新 Project:该工程配置安全防护措施,集成安全引擎。该工程同时对外输出安全引擎的符号文件,供用户固件使用。

③ 用户固件工程Project:这是一个固件示例。

用户仅需要依次对这三个工程编译就可以了。在安全启动与安全固件手册更新有详细的一步一步操作说明。


前面提到 STM32 安全启动对外提供了受安全保护的安全引擎。用户程序的加解密操作,若需要比较高安全的服务,可以考虑使用安全引擎所提供的加解密服务。即使安全引擎中的服务不能满足需要,也可以考虑扩展安全引擎的功能。这个扩展不影响安全引擎的安全防护能力。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    )初始化PLL和设置系统时钟;(7)拷贝BL1到片内SRAM;(8)验证BL1校验,如果校验失败,最后将二次开机;(9)检查是否是安全启动模式。如果安全关键值写入S5PV210,它的安全启动模式。如果它是安全的启动......
    了一套国产自主可控的C86安全计算架构(CSCA)。 该架构整合了多种安全技术,涵盖安全密钥管理、安全处理器、安全启动安全存储、动态度量保护、内存加密、机密计算、密码计算以及对可信计算标准的支持和芯片安全......
    -6872还支持BIOS存储保护、安全启动BIOS电源管理功能。总而言之,这种创新技术与易于集成特性的结合使SOM-6872适用于多种AIoT与IIoT应用。 研华SOM-6872已上......
    -6872还支持BIOS存储保护、安全启动BIOS电源管理功能。总而言之,这种创新技术与易于集成特性的结合使SOM-6872适用于多种AIoT与IIoT应用。 研华SOM-6872已上......
    安全启动 - STM32防内外攻击技术;在 STM32 系列里,STM32L0、STM32L4,提供了 Firewall 硬件。Firewall 硬件提供了调用门 Callgate 技术。也就......
    = F92 & !F93& A4039 & E13–激活固定焊钳STEP需要关闭安全们E13 51步开始 -初始化变量 F122 = AUS F321 = AUS F322 = AUS......
    ,CV3x以及N1系列芯片内部都有融入信息安全功能。芯片中加入了信息安全所必需的基础硬件模块,比如安全启动,公钥/密钥存储的OTP,硬件随机数生成器,芯片独有ID,内存数据加密引擎,NN模型......
    功能。芯片中加入了信息安全所必需的基础硬件模块,比如安全启动,公钥/密钥存储的OTP,硬件随机数生成器,芯片独有ID,内存数据加密引擎,NN模型加密运行机制,按片授权机制,防回滚硬件计数器, Arm......
    .磐石的基石 - 芯片内部的安全组件安霸从初代CV芯片CV1开始,历代的CV2x,CV5x,CV7x,CV3x以及N1系列芯片内部都有融入信息安全功能。芯片中加入了信息安全所必需的基础硬件模块,比如安全启动......
    STM32生态系统—SBSFU原理介绍;安全启动,构建信任链 安全启动,作为信任根 安全启动,和用户应用一样,都是一段代码,放在片上的用户闪存中 复位后运行的代码只能是这段“安全启动” 这段......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>