CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!

加密加签

点击左侧功能导航栏的图标 ,进入Encrypt & Sign(加密加签)页面。

图 26 Encrypt & Sign页面

芯片支持安全模式和非安全模式,由写入eFuse的产品信息中的Security Mode决定。在安全模式开启的情况下,固件需加密加签后才可以下载至Flash运行。

eFuse设置

eFuse是芯片内部的一个具有随机访问接口的一次性可编程存储器。eFuse中存放着产品配置信息、安全模式控制信息以及用于加密加签的各种密钥信息等。

用户可通过指定产品的Name、ID、Firmware Key、Security Mode和SWD接口生成存储在eFuse中的相关文件。

图 27 设置参数
说明:
  • Firmware Key可使用软件自动生成的随机Key,也可使用用户自己选择添加的Key文件。
  • Security Mode选择Open将启用芯片安全模式,该模式开启后不能被关闭。
  • SWD选择Close将关闭SWD功能,但用户依然可以通过DFU对固件进行升级。
  • RSA、ECDSA签名算法选择:若芯片为GR551x、GR5526系列,默认使用RSA(页面无选项配置);若芯片为GR533x系列,仅可选择ECDSA

另外,GProgrammer还支持通过设置Batch eFuse选项批量生成多个Encrypt_key_info.bin文件,且生成的各文件具有唯一性,以保证一机一密例如,勾选Batch eFuse选项并在文本框中设置文件数量为3,则会生成3个Encrypt_key_info.bin文件:Encrypt_key_info.bin2_Encrypt_key_info.bin3_Encrypt_key_info.bin。

生成的文件包括:

图 28 生成的文件
  • efuse.json:临时文件。
  • Encrypt_key_info.bin2_Encrypt_key_info.bin3_Encrypt_key_info.bin:eFuse下载文件,包含产品及加密加签信息。此文件需下载至eFuse。
  • firmware.key:用于加密固件的私钥。
  • Mode_control.bin:eFuse下载文件,包含Security Mode和SWD信息。此文件需下载至eFuse。
  • product.json:产品信息文件。当固件加密加签时,需导入此文件。
  • sign.key:用于生成签名的私钥。
  • sign_pub.key:用于验证签名的公钥。
  • Public_key_hash.txt:用于验证签名的公钥Hash。
说明:

以上文件请用户妥善保存,切忌泄露、丢失。后续的eFuse下载固件加密加签操作需使用这些文件。

为了方便用户下载文件至eFuse或加密加签固件,生成的Encrypt_key_info.binMode_control.bin文件的路径将自动被添加到Download区域,产品信息文件product.json的路径将自动被添加到Encrypt and SignProduct Info栏中,如图 29所示。

图 29 自动加载文件路径
说明:

不要修改eFuse中生成的任何文件,否则可能造成固件加密加签失败。

eFuse下载

若用户先执行Generate eFuse File操作生成了Encrypt_key_info.binMode_control.bin文件,则可直接勾选Encrypt Key InfoMode Control选项,点击Download to eFuse按钮将文件下载至eFuse。

否则,用户需先手动选择添加Encrypt_key_info.binMode_control.bin文件,然后才可下载。

图 30 下载文件到eFuse
说明:
  • eFuse不能重复下载。

  • GR533x芯片不支持eFuse下载功能。

固件加密加签

GProgrammer可对固件(.hex/.bin格式)进行加密加签或者仅加签的操作,允许用户使用同一套产品信息和同一个Random Number操作一个或者多个固件文件。

  • Random Number:选择Using Random Number将使用软件自动生成的随机数进行加签,用户也可以点击Select Number选择自定义的数字bin文件进行加签。
  • Firmware:此栏中导入非加密固件。GProgrammer支持.hex格式和.bin格式的非加密固件导入,输出的加密加签或者仅加签的固件格式为.bin格式。添加多个固件时,各固件的路径之间用;隔开,如下图所示。
    图 31 添加多个固件
  • Encrypt:如果勾选此复选框,则操作按钮变成Encrypt and Sign,点击操作按钮后将生成加密加签固件(.bin格式);如果不勾选此复选框,则操作按钮变成Sign,点击操作按钮后将生成仅加签固件(.bin格式)。
    • 加密加签后生成的文件包括:
      图 32 加密加签生成的文件
    • 仅加签后生成的文件包括:
      图 33 仅加签生成的文件
      说明:

      软件随机生成的Random Number是一个用于加密算法的随机数。执行加密加签操作后,随机数文件(random.bin)会与加密加签后的固件文件保存在同一目录下。若用户需再次使用该随机数加密加签,则可浏览添加之前保存的随机数文件。

扫描关注

打开微信,使用“扫一扫”即可关注。