• Air72XUX平台secure boot使用说明


    1、Secure Boot介绍

      Secure Boot主要是确保芯片上运行的是可信代码,而不是被人篡改过的代码。如果验签通过,说明该程序可信,可以执行该程序。如果验签失败,说明该程序不可信,不允许执行该程序。

      Secure Boot的目的:

    • 禁止烧写和升级未经授权的固件
    • 禁止运行非经授权的固件
    • 禁止非法追踪和调试代码
    • 允许安全升级

    2、 数字签名介绍

      数字签名技术基于非对称算法。非对称算法将密钥分为公钥(publickey)和私钥(privatekey)两种。发送方使用私钥把信息(image)的数字摘要(hash值)加密,此密文被称为签名,附着在信息后面。接收方使用公钥解密,得到解密后的hash值,并且重新计算信息(image)的hash值,然后将重新计算出的hash值与解密出的hash值进行比较,若两者一致,表明验签通过,否则验签失败。

    3、签名

      打开luatools,点击项目管理测试。
    在这里插入图片描述

      勾选关键签名,输入用户名和密码,点击创建签名密钥文件,若已有key.db文件创建签名密钥文件不用操作。
    在这里插入图片描述

    在这里插入图片描述

      注:用户名不可超过49个ASCII码,密码需要8位ASCII码。生成的公私钥对以加密的方式保存到key.db文件,这个文件包含有敏感信息,因此不能泄露,不能丢失。即使输入参数相同,每次产生的公私钥对都是不一样的,产生的key.db是不同的。没有办法产生公钥相同的公私钥对。在实际的产品中,生成的公钥(public key)会烧写到终端的EFUSE中。

      点击选择签名密钥文件,选择刚刚创建的密钥文件。

    undefined

      点击下载底层和脚本将已签名的pac烧录进模块中。

      使用串口工具发送AT指令ATSECUREBOOT使能secure boot,此过程不可逆,使能前模块中必须已烧录签名后的pac否则模块会变砖,发送ATSECUREBOOT?可查询使能状态。

      使能后模块只能烧录相同公钥的pac,其他pac会烧录失败,线刷与fota升级同样适用。

    luatools工具:Luatools_v2_x86.exe
    操作视频:meeting_02.mp4

  • 相关阅读:
    微信小程序里面使用wxs文件
    【网络通信三】研华网关Modbus服务设置
    Openresty缓存使用
    C++模拟实现位图和布隆过滤器
    The 19th Zhejiang Provincial Collegiate Programming Contest
    Python 爬虫之scrapy 库
    【UE5.1 角色练习】09-物体抬升、抛出技能 - part1
    TPA3045-ASEMI光伏二极管TPA3045
    SpringBoot中几种好用的代码生成器(基于Mybatis-plus生成entity、mapper、xml等)
    使用js获取选中的dom元素 并改变选中(有序dom)的状态
  • 原文地址:https://blog.csdn.net/weixin_44570083/article/details/126361607