0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

应用贴士 | HPM6000系列 Security Flash介绍

先楫半导体HPMicro 2022-09-29 10:48 次阅读

本期介绍的是HPM6000系列中security flash方面内容。希望可以帮助用户了解先楫为了用户信息安全方面所做的设计。

Security Flash 模块概述

首先进行一些名词解释: 在线执行 (Execution In Place):可以直接访问外部存储器,不需要把外部存储器数据先复制到内存再执行的访问的方式,称为在线执行 (Execution InPlace); DEK(Data Encryption Key):数据加密秘钥,用户加密存储器上数据/代码的秘钥;KEK(Key-Encryption Key):密钥加密密钥,加密 DEK 的秘钥。EXIP 在线解密引擎介绍 先楫半导体 HPM6000 系列 MCU 设计的 EXIP 在线解密引擎支持在线执行功能,并且可以对加密的外部 NOR Flash 进行实时解密,实现在线实时解密执行,EXIP 主要特性有: (1)支持 AES-128 CTR 模式解密EXIP 支持 AES-128 CTR 模式解密,密钥长度为 128 位。密钥存放在寄存器 RGNx_KEY0、RGNx_KEY1、 RGNx_KEY2、RGNx_KEY3 中。AES-128 CTR 模式要求使用相同密钥加密的数据,每一个数据块对应的计数器 Counter 值不能重复,Counter 长度与 AES 数据块长度相同,也为 128位。EXIP 对每个 128 位的数据块,其 Counter 由数据块的 32 位系统地址和64 位的 NONCE 组成,其中 NONCE 存放在 RGNx_CTR0 和 RGNx_CTR1 中。(2)支持 4 个区段,每个区段可以使用不同的密钥加密 (3)支持通过 Key Blob 封装数据加密密钥等敏感信息(符合 RFC3394 标准) (4)支持硬件解封 Key Blob(符合 RFC3394 标准) (5)支持从 OTP 读取用于解封 Key Blob 的 KEKXPI NOR 启动镜像布局介

85a68e30-3f64-11ed-b180-dac502259ad0.png

XPI NOR 启动镜像布局

如上图所示,完整的 XPI NOR 启动镜像有 EXIP BLOB、XPI 配置选项、FW BLOB、固件头和固件组成,其中虚线框为可选内容,实线框为必须包含内容。

要实现加密镜像,则镜像头部必须包含 EXIP BLOB 内容,该部分内容使用RFC3394 定义的密钥封装和密钥解封算法,通过 KEK 加密后以密文形式存放在 Flash 中,以保护 EXIP 解密用的 DEK 和相关敏感数据。

Security Flash 系统流程介绍

85e4b1c4-3f64-11ed-b180-dac502259ad0.png

Security Flash 原理示意框图如上图所示,Security Flash 流程包含三个方面:
(1)用户生成加密镜像,使能在线加密执行功能;(2)EXIP 解密 EXIP BLOB 得到 DEK 等解密信息;(3)EXIP 使用 AES-128 CTR 模式在线解密 Flash 密文固件。 当 OTP 中 ENCRYPT_XIP 字段置为 1,BootROM 启动加密原地执行功能,BootROM 会 在 XPI NOR 启 动 中 强 制 打 开 EXIP , 并 尝 试 用 EXIP0_KEK(XPI_INSTANCE 值为 0)或者 EXPI1_KEK(XPI_INSTANCE 值 为 1)解密EXIP Blob。当 EXIP BLOB 解密无误后,ROM 会根据 EXIP BLOB 中的信息配置对应的解密信息,将恢复的 DEK、NONCE、加密区域的开始和结束地址信息载入RGNx 对应的寄存器。当 EXIP BLOB 解密无误后,EXIP 即可根据 AES-128CTR 模式执行原地解密执行操作。


性能对比测试

对于加密对执行环节的影响,先楫做了简单的测试对比,在明文和密文的单核测试中测试程序条件:(1)关闭所有 Cache,包括 D-Cache 和 I-Cache (2)循环运行 600 次特定数学计算,得出运行消耗时间测试结果如下表:

862adb68-3f64-11ed-b180-dac502259ad0.png

可见,相同软硬件平台下,加密镜像执行对处理器性能并没有实质影响

注意:由于加密环节涉及到对OTP的烧写,可能一个疏失造成芯片无法正常启动。因此先楫建议开发者在有实际需要时联系先楫,这样可以得到更好的支持。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1573

    浏览量

    147035
收藏 人收藏

    评论

    相关推荐

    有奖提问!先楫半导体HPM6E00系列新品发布会!!

    半导体HPM6E00新品预览”的活动,盛况空前。 自此之后一直收到大家的信息,问什么时候能够买到HPM6E00,这不,我们来了~ 先楫半导体在现有的HPM6000系列RISC-V高性
    发表于 06-20 11:45

    HPM USB系列HPM6700双USB功能介绍

    HPM6700系列MCU提供了2个USB外设端口。这些端口内置高速PHY,支持OTG模式,主机模式支持高速、全速和低速模式,设备模式支持高速和全速模式,完全兼容USB2.0协议。这使得HPM
    的头像 发表于 05-31 08:17 212次阅读
    <b class='flag-5'>HPM</b> USB<b class='flag-5'>系列</b>:<b class='flag-5'>HPM</b>6700双USB功能<b class='flag-5'>介绍</b>

    HPM USB系列HPM6700双USB功能介绍

    HPM6700系列MCU提供了2个USB外设端口。这些端口内置高速PHY,支持OTG模式,主机模式支持高速、全速和低速模式,设备模式支持高速和全速模式,完全兼容USB 2.0协议。
    的头像 发表于 05-30 11:40 230次阅读
    <b class='flag-5'>HPM</b> USB<b class='flag-5'>系列</b>:<b class='flag-5'>HPM</b>6700双USB功能<b class='flag-5'>介绍</b>

    【国产高性能运动控制MCU 先楫HPM5361】开发板介绍与准备

    HPM5361EVK是一款基于先楫HPM5300系列高性能RISC-V内核MCU的开发板。它具有双精度浮点运算和强大的DSP扩展能力,主频为480MHz,内置1MB Flash和288
    发表于 12-03 13:22

    先楫半导体发布多个系列高性能微控制器产品

    HPM6000 系列 MCU 是来自上海先楫半导体科技有限公司的高性能实时 RISC-V 微控制器,为工业自动化及边缘计算应用提供了极大的算力、高效的控 制能力。上海先楫半导体目前已经发布了如 HPM6700/6400、
    的头像 发表于 11-28 09:38 430次阅读

    文档上新|HPM16 位 ADC+ENET 开发案例

    各位小伙伴们,是不是一直在期待见到我们的文档更新呀!!这不,我们就来了嘛~本次上新的文档名称是《HPM16位ADC+ENET开发案例》简介HPM6000系列MCU是来自上海先楫半导体科技有限公司
    的头像 发表于 11-28 08:17 330次阅读
    文档上新|<b class='flag-5'>HPM</b>16 位 ADC+ENET 开发案例

    先楫半导体发布高性能运动控制HPM5300系列

    交流平台,深入探讨智能电机控制方案、MCU的BLDC热门技术应用创新与突破、BLDC电机控制芯片及平台化方案等热门话题。上海先楫半导体科技有限公司携其最新发布的产品——高性能运动控制HPM5300系列、高性能MCU HPM6000
    的头像 发表于 09-25 09:05 1081次阅读

    基于HPM6000系列芯片如何使用Flash模拟EEPROM存储参数

    概 述 在MCU的使用中,经常遇到需要存储参数或掉电保持数据等功能。其中,Flash和EEPROM是常见的非易失性存储器,都可以做到设备掉电重启后,数据还会保留。但二者有明显的区别:EEPROM可以
    的头像 发表于 09-21 09:15 1111次阅读

    HPM6200系列微控制器PLA使用介绍

    电子发烧友网站提供《HPM6200系列微控制器PLA使用介绍.pdf》资料免费下载
    发表于 09-19 16:32 2次下载
    <b class='flag-5'>HPM</b>6200<b class='flag-5'>系列</b>微控制器PLA使用<b class='flag-5'>介绍</b>

    HPM6000系列微控制器DSP/FFT使用介绍

    电子发烧友网站提供《HPM6000系列微控制器DSP/FFT使用介绍.pdf》资料免费下载
    发表于 09-19 15:21 1次下载
    <b class='flag-5'>HPM6000</b><b class='flag-5'>系列</b>微控制器DSP/FFT使用<b class='flag-5'>介绍</b>

    先楫hpm6000的SPI外设使用四线模式操作读写华邦flash

    这些字段,不需要开发者自行去填充。本文使用hpm6200evk开发板,flash器件是华邦的W25Q64JV。使用hpm_sdk进行开发。SPI四线模式,统称也就Q
    的头像 发表于 07-31 23:03 823次阅读
    先楫<b class='flag-5'>hpm6000</b>的SPI外设使用四线模式操作读写华邦<b class='flag-5'>flash</b>

    细说SPI主机发送性能最大化实现方案

    一、背景在《先楫hpm6000的SPI外设使用四线模式操作读写华邦flash》一文中介绍了先楫SPI外设是为flash器件而生的控制器,但是楼主在该篇文章读写
    的头像 发表于 07-31 23:03 2156次阅读
    细说SPI主机发送性能最大化实现方案

    基于SPI配合DMA实现理论速度性能

    在《先楫hpm6000的SPI外设使用四线模式操作读写华邦flash》 一文中介绍了先楫SPI外设是为flash器件而生的控制器,但是楼主在该篇文章读写
    的头像 发表于 07-21 10:17 2933次阅读
    基于SPI配合DMA实现理论速度性能

    先楫hpm6000的SPI外设使用四线模式操作读写华邦flash

    ,不需要开发者自行去填充。本文使用hpm6200evk开发板,flash器件是华邦的W25Q64JV。使用hpm_sdk进行开发。
    的头像 发表于 07-12 13:51 826次阅读
    先楫<b class='flag-5'>hpm6000</b>的SPI外设使用四线模式操作读写华邦<b class='flag-5'>flash</b>

    HPM6000系列芯片内部模拟地和数字地

    HPM6000系列芯片内部模拟地和数字地是隔离开的吗?
    发表于 07-10 17:49