NXP应用随记(八):S32K3XX的HSE学习记录(HSE\MU\UTEST\IVT\A,B SWAP)

本文详细介绍了NXP S32K312微控制器中的HSE(硬件安全引擎)功能,包括其在加密、安全启动、密钥存储、固件更新等方面的应用。HSE支持多种加密算法和安全启动,提供侧通道攻击保护,还涉及了A/B Swap和full mem两种固件安装方式。此外,文章还讨论了HSE与SBAF、UTEST、IVT和MU之间的关系,以及它们在固件安装、安全通信和系统管理中的作用。
摘要由CSDN通过智能技术生成

目录

1、什么是S32K312的HSE

2、HSE有什么组成

3、full mem 和 A/B Swap只能安装一个吗

4、如何安装HSE

5、HSE的安装是不可逆的吗

6、S32K312使用HSE的时候一个pink文件,这个文件有什么作用

7、Pink文件是HSE文件吗

8、SBAF如何引导HSE的安装的

9、UTEST在HSE里面是干什么的

10、如何在应用程序中使用UTEST区域:存在疑问的一个问题

11、HSE里面写UTEST区域是通过寄存器还是地址

12、S32K3的IVT详细介绍

13、IVT与HSE之间的联系

14、A/B Swap与IVT什么联系,IVT的主要作用

15、HSE的接口函数怎么看

16、S32K3的MU与HSE之间的关系

17、MU怎么实现核心之间通信的

18、MU的接收与发送寄存器各有什么作用

19、MU的发送与接收寄存器怎么使用

20、S32K3中MU管理用户与HSE之间的交互吗


1、什么是S32K312的HSE

        HSE,即硬件安全引擎(Hardware Security Engine),是NXP S32K312微控制器(MCU)中的一个功能,它提供了一系列的安全特性,包括加密、安全启动和密钥存储等。这些功能旨在增强汽车电子系统的信息安全,符合ISO26262标准,达到ASIL D安全等级。

        具体来说,S32K312的HSE支持AES-128/192/256加密、RSA、ECC等加密算法,以及侧通道保护,确保了数据传输和存储的安全性。此外,HSE还支持无线固件更新(FOTA),使得MCU能够接收和安装新的固件,而不影响系统的正常运行。

        HSE包含以下功能:

        加密算法支持 - HSE支持多种加密算法,包括AES-128/192/256、RSA和ECC,以确保数据传输和存储的安全性。

        安全启动 - HSE提供安全启动功能,确保系统启动时的代码是经过验证的,未被篡改

        密钥存储 - HSE能够安全地存储密钥,这对于执行加密操作和确保通信安全至关重要。

        侧通道攻击保护 - HSE具备侧通道攻击保护功能,增强了抵抗物理攻击的能力。

        固件更新 - HSE支持无线固件更新(FOTA),允许MCU接收和安装新的固件,而不影响系统的正常运行。

        网络协议支持 - HSE通过硬件加速特性和完善的加解密算法库,能够对网络协议进行全面可靠的支持,例如TLS offload和IP offload,减少通信时延。

        功能安全 - S32K312面向ASIL D级应用,其安全架构涵盖电源、时钟、复位、CPU、互连、内存等,共同促进了安全可靠的外部通信,同时支持实时应用程序。

2、HSE有什么组成

        S32K312的HSE(硬件安全引擎)提供了两种固件安装方式:full mem 和 A/B Swap。这两种方式都是为了支持不同的固件更新和安全需求:

        Full Mem - 这种方式是将整个HSE固件安装到MCU的闪存中。这适用于不需要固件更新或者可以接受通过其他方式进行更新的应用场景。

        A/B Swap - 这种方式支持双分区功能,允许在不同的闪存区域中存储两个固件版本。这样可以在更新过程中切换到新的固件版本,而不影响当前运行的固件。这对于需要进行无线固件更新(FOTA)的应用来说非常有用。

        根据需求,可以选择其中一种方式进行安装。如果应用需要能够进行无线更新,那么A/B Swap可能是更合适的选择。如果应用不需要这样的更新机制,或者有其他的更新策略,那么Full Mem安装方式可能就足够了。

        在安装过程中,您需要注意固件版本的一致性和安装步骤。例如,如果选择A/B Swap方式,可能需要断电重启两次才能完成双分区的固件安装。

3、full mem 和 A/B Swap只能安装一个吗

        full mem和A/B Swap只能安装其中一个。full mem版本的HSE固件不支持双分区,而A/B Swap版本则支持。一旦选择了A/B Swap配置并设置了Flash配置,就无法回到full mem配置。这意味着,如果你已经安装了A/B Swap固件,那么就不能改为full mem固件。安装过程是不可逆的。

        在A/B Swap固件中,FW_IMG占用176K,而在full mem中则占用128K。SYS_IMG在两种配置中都占用128K,并包含公钥、私钥、单增计数器以及HSE系统属性配置数据。

4、如何安装HSE

1、使能firmware feature flag:

        对于K3xx系列设备,出厂默认不使用HSE FW,因此HSE FW所需的所有资源(HSE Code flash、HSE Data flash)都是可用的。

        如果想在设备上使用HSE FW功能,必须先使能firmware feature flag。在地址0x1B000000处写入8字节的随机值后复位。复位后,安全BAF将为HSE保留176KB Code flash和168KB的Data flash。

2、安装HSE FW:

        可以使用编程器直接烧录加密映像文件,或者使用PE Micro等工具进行安装。

        新建一个工程或直接使用demo工程,在链接文件中划分block0存储加密映像文件的内容。

编译成功后,启动debugger,配置编程算法为ab_swap(如果是安装的A/B Swap固件)。

运行程序,读取HseFwVersion的信息,确认版本信息正确。

        如果是安装的A/B Swap固件,需要断电重启两次才能将两面都安装上。

3、注意事项:

        安装的HSE FW的版本与SBAF的版本必须一致

        当HSE A/B交换功能激活后,不能跨block烧录.

当出现报错信息"Cannot find a valid baseurl for repo: base/7/x86_64"时,这通常是由于yum源配置有问题所致。解决这个问题的方法是修改yum源的配置。 首先,进入到/etc/yum.repos.d目录: ``` cd /etc/yum.repos.d ``` 然后,修改CentOS-Media.repo文件: ``` vi CentOS-Media.repo ``` 在CentOS-Media.repo文件中,将baseurl的值修改为以下内容: ``` baseurl=file:///mnt/cdrom/ file:///media/cdrecorder/ ``` 接下来,备份原来的yum源配置文件: ``` mv CentOS-Base.repo CentOS-Base.repo.bak ``` 创建一个挂载点: ``` mkdir /mnt/cdrom ``` 将文件挂载到创建的挂载点上: ``` mount /dev/cdrom /mnt/cdrom ``` 然后,更新yum源: ``` yum clean all yum makecache ``` 最后,再次修改CentOS-Media.repo文件,将gpgcheck的值修改为1,enabled的值修改为0,gpgkey的值修改为file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7。 通过以上步骤修改yum源的配置,可以解决报错信息"Cannot find a valid baseurl for repo: base/7/x86_64"。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [问题随记 —— Cannot find a valid baseurl for repo: base/7/x86_64](https://blog.csdn.net/qq_21484461/article/details/127148932)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [57 | Cannot find a valid baseurl for repo: base/7/x86_64](https://blog.csdn.net/u013916029/article/details/127736273)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

剑从东方起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值