加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

AN6088 应用说明

2小时前
191
550.60 KB
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
  • 资料介绍
    • 介绍
    • MCE(内存密码引擎)概述
    • STM32H7Sx中的MCE实现
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

介绍

内存密码引擎(MCE)是一种加密外设,它确保了对外部非易失性或易失性存储器进行实时加密和解密。MCE可以保护位于外部存储器中的代码或数据。本文档涵盖了MCE可以提供保护的三种用例。

• 原地执行(XiP):代码和数据存储位于非易失性外部存储器中,而代码是从外部闪存执行的。

• 在外部RAM中加载和运行(L&R_Ext):代码和数据存储位于外部闪存中,该闪存被复制到外部RAM中以供执行。MCE允许保护外部RAM和闪存存储器。

• 在内部RAM中加载和运行(L&R_Int):代码和数据存储位于外部闪存中,该闪存被复制到内部RAM中以供执行。在这种情况下,MCE仅启用对外部闪存存储器的保护。

这三个用例基于STM32CubeH7RS固件中的示例作为参考。它们基于ST不可变和OEM可更新的根信任引导解决方案,分别称为STiRoT和OEMuRoT。

用户可以根据定制的OEM不可变和可更新根信任路径(OEMiRoT + OEMuRoT)定义自己的根信任引导路径。本文档仅涵盖STiRoT+OEMuRoT引导路径,并不涵盖自定义定义的OEMiRoT + OEMuRoT引导路径。

本文档适用于下表中的产品,这些产品在本文档的其余部分被称为STM32H7Sx。

MCE(内存密码引擎)概述

内存密码引擎(MCE)在给定的地址空间中定义了具有特定安全设置的多个区域。这些安全设置可以涉及加密、权限或写入。所有通过加密区域的系统总线流量都由MCE实时管理,如果获得授权,将自动解密读取和加密写入。

每个MCE可以定义多达四个区域,粒度为4 K字节。MCE支持可以应用于不同区域(特权、写入)的访问过滤功能。请参阅下图。

下表列出了MCE支持的功能。当选择流密码时,重要的是在加密整个区域后立即激活写保护(只读区域)。

STM32H7Sx的实现定义了三个连接到外部内存接口的MCE实例。当MCE与XSPI一起使用时,必须将闪存控制器设置为内存映射模式。此外,使用DMA执行以16字节突发方式写入闪存也是必须的。表2详细列出了三个MCE实例之间的主要实现差异。

STM32H7Sx中的MCE实现

STM32H7Sx的实现定义了三个连接到外部内存接口的MCE实例。当MCE与XSPI一起使用时,必须将闪存控制器设置为内存映射模式。还必须使用DMA以16字节突发的方式执行对闪存的写操作。

在STM32H7Sx的实现中,MCE(Memory Cryptographic Engine)保护存储在外部内存中的代码或数据的机密性(四个区域/内存)。MCE外设实例与xSPI外设实例的连接方式如下:

• MCE1连接到xSPI1内存接口,该接口可以连接到NOR闪存或PSRAM。

• MCE2连接到xSPI2内存接口,该接口可以连接到NOR闪存或PSRAM。

• MCE3连接到FMC内存接口,该接口可以连接到PSRAM、SDRAM或FRAM。

xSPI1和xSPI2连接到XSPIM(xSPI IO管理器),它允许外部内存(NOR闪存或PSRAM)的复用连接。可以考虑以下几种使用情况:

• XSPI1映射到端口1,XSPI2映射到端口2(直接模式)。

• XSPI1映射到端口2,XSPI2映射到端口1(交换模式)。

• 两个XSPI驱动一个外部内存。

– XSPI1和XSPI2都映射到端口1,带仲裁(复用模式到端口1)。

– XSPI1和XSPI2都映射到端口2,带仲裁(复用模式到端口2)。

• 一个XSPI驱动两个外部内存。

在安装任何加密镜像之前,MCE加密/解密必须考虑相应的IO管理器使用案例/模式。STM32CubeH7RS固件根据XSPIM的前两个使用案例提供了模板。

相关推荐

电子产业图谱