伴随着信息化的发展,安全,越来越成为人们关注的重点。对于芯片来说,安全主要分为三个部分,安全加密启动、保护用户机密和防攻击机制。
安全加密启动是芯片是否正常工作的重中之重。原理其实很好理解,就是需要将启动镜像进行加密或签名,然后使用开发板的ROM程序进行解密或验签,再引导启动源镜像。
通常,这个过程我们内部工程师会借助一些恩智浦开发的小工具来完成。例如,blhost,elftosb,cst,等(在恩智浦官网都可以下载到)。这些工具适合一些资深开发者使用,通过编写Bash脚本进行集成,需要一定的编程基础。
这些操作相对复杂,大多没有GUI,如果第一次接触会比较头疼。为了方便客户调试及使用,恩智浦首先将这些工具集合在一起,借助Python开发了一个可以直接使用大部分小工具的软件——Secure Provisioning SDK(SPSDK:Introduction — SPSDK documentation)。
该工具最大的好处就是可以直接通过pip安装,Python环境也相对来说比较容易上手。
为了再简化操作流程,恩智浦又基于SPSDK和上述小工具开发了一个GUI安全启动操作软件——MCUXpresso Secure Provisioning Tool(SEC:MCUXpresso Secure Provisioning Tool | NXP Semiconductors)。
下面对这个软件进行一个简要的介绍。
最小安装需求
• Microsoft(R) Windows(R) 10 (64-bit)
• Mac OS X (11.6 Big Sur)
• Ubuntu 22.04 LTS 64 bit, 安装 GNOME 和 OpenSSL 1.1.1f 31 [3月 2020]
• 4 GB RAM
• 分辨率 1366 x 768
安装流程(Windows)
SEC软件可以直接在恩智浦官网下载,支持Windows、Mac和Linux平台。下载Windows安装包后双击打开。
图1 SEC工具安装界面
默认安装路径为C: xpMCUX_Provi_v5。软件创建的默认工作空间位于C:Users “user name” 文件夹中。
使用界面
SEC 提供简单且友好的用户界面。如果有选项不可用,则显示为灰色。
主界面为生成启动镜像界面,可以选择源镜像和SRK(Super Root Key)。如果生成镜像的准备工作还未完成,左上角的“Build image”旁会显示红色的“X”。如果完成,则为下图所示的绿色“√”。
此时,可以单击右下角的”Build image”生成启动镜像。“OTP configuration”可以获取当前连接芯片的fuse信息。“IEE encryption”可以配置需要保护的区域和密钥。
图2 SEC工具生成镜像界面
烧写镜像界面列出了烧写所需的文件,都是自动生成。可以通过“Start flashloader”测试芯片是否能正常启动flashloader。点击右下角“Write image”烧写镜像到选定flash中。关于Flash的设置可以在工具栏中“Edit”进行配置。
图3 SEC工具烧写镜像界面
PKI密钥树管理界面可以生成X509 v3标准的密钥对和证书。保存在工作空间目录的keys和crts中。目前只支持RSA,ECC会在V6版本进行支持。
图4 SEC工具PKI密钥树管理界面
命令行操作
此外,对于习惯使用指令操作的用户,SEC工具还提供了命令行操作的选项。运行c:/nxp/MCUX_Provi_v5/bin/securep.exe -h查看操作支持。
对于SEC工具的更详细的操作和使用请查看C: xpMCUX_Provi_v5MCUXpresso Secure Provisioning Tool.pdf
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !