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

    文章

    1715

    浏览量

    154673
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    hpm的vscode开发环境搭建openocd烧录问题求解

    最近尝试搭建基于vscode的hpm芯片开发环境,遇到一些问题,求大佬们帮忙看看。 使用hpm6e00evk开发板sdk_env_1.10.0,cmake、ninja、openocd和编译工具链均
    发表于 09-09 09:55

    HPM monitor studio 只能在 hpm芯片+hpm_sdk 的组合下才能用吗?

    使用 hpm6200evk开发板,但未使用hpm_sdk。 然后编译的固件elf无法在hpm monitor studio解析成功。所以说必须要使用hpm_sdk 才可以使用
    发表于 08-28 09:36

    45 W 表面系列连接 PIN 二极管 skyworksinc

    电子发烧友网为你提供()45 W 表面系列连接 PIN 二极管相关产品参数、数据手册,更有45 W 表面系列连接 PIN 二极管的引脚图、接线图、封装手册、中文资料、英文资料,
    发表于 07-16 18:31
    45 W 表面<b class='flag-5'>贴</b>装<b class='flag-5'>系列</b>连接 PIN 二极管 skyworksinc

    hpm6364内部flash使用时的openocd配置问题.

    /yasuoHPM6000xilieMCUFlashshiyongzhinanyiruheshiyongpianneiFlash120231101151455.pdf)中提到使用内部flash时openocd 的脚本文件应改为如下: f
    发表于 07-12 19:48

    重磅更新 | HPM_SDK v1.10.0 发布

    版本更新概况[New]增加HPM5E00系列MCU以及HPM5E00EVK支持增加flash_xip_hybrid构建,在该模式下AXI_SRAM被用作
    的头像 发表于 07-02 15:07 1103次阅读
    重磅更新 | <b class='flag-5'>HPM</b>_SDK v1.10.0 发布

    高性能交流源的选型推荐:PSA6000系列

    在民航零部件测试、汽车电子等高可靠性要求领域,测试设备的动态响应和纹波特性直接影响测试结果的准确性。PSA6000系列作为国产高性能方案,在多项行业标准测试中表现优异。在民航零部件测试、汽车电子等
    的头像 发表于 07-02 11:39 511次阅读
    高性能交流源的选型推荐:PSA<b class='flag-5'>6000</b><b class='flag-5'>系列</b>

    支持HPM6P00/HPM5E00系列!HPMicro Manufacturing Tool v0.6.0发布

    HPM6P00、HPM5E00系列SoC的烧写及其它操作,新增HPM6E00、HPM5E00固件;新增verify-checksum及que
    的头像 发表于 06-04 08:28 1160次阅读
    支持<b class='flag-5'>HPM</b>6P00/<b class='flag-5'>HPM</b>5E00<b class='flag-5'>系列</b>!HPMicro Manufacturing Tool v0.6.0发布

    【强势上新】HPM5E00:EtherCAT运动控制MCU,先楫半导体再拓工业总线产品新版图

    2025年5月6日上海|高性能微控制器及嵌入式解决方案提供商“上海先楫半导体科技有限公司”(先楫半导体,HPMicro)正式发布新一代EtherCAT运动控制MCU——HPM5E00系列。该系列是继
    的头像 发表于 05-06 11:09 977次阅读
    【强势上新】<b class='flag-5'>HPM</b>5E00:EtherCAT运动控制MCU,先楫半导体再拓工业总线产品新版图

    重磅更新 | 先楫半导体HPM_SDK v1.9.0 发布

    版本更新概况[New]增加HPM6P00系列MCU以及hpm6p00evk支持[New]增加了开发板已知问题说明[Update]将全系列开发板VCore电压调节至1.275V,
    的头像 发表于 04-02 08:31 817次阅读
    重磅更新 | 先楫半导体<b class='flag-5'>HPM</b>_SDK v1.9.0 发布

    先辑半导体HPM6E00系列产品能用来做EtherCAT的主站吗

    虽然明确说明了先辑半导体HPM6E00系列产品能用来做EtherCAT的从站,但它可以用来做主站吗,还是说必须用其他芯片做主站呢
    发表于 03-16 10:16

    hpm_apps v1.8.0上线:HPM6200四轴伺服驱控方案重磅发布!

    hpm_apps v1.8.0上线:HPM6200四轴伺服驱控方案重磅发布!
    的头像 发表于 02-12 08:04 1204次阅读
    <b class='flag-5'>hpm</b>_apps v1.8.0上线:<b class='flag-5'>HPM</b>6200四轴伺服驱控方案重磅发布!

    深度解析 | 基于HPM6450的RISC-V核心板究竟有哪些过人之处?

    ,本文详细为大家介绍其具体参数与典型应用。—MR6450核心板性能如何?—MR6450系列核心板基于先楫半导体的HPM6450IVM1开发,主频高,支持高速数据处理能
    的头像 发表于 02-08 13:45 1340次阅读
    深度解析 | 基于<b class='flag-5'>HPM</b>6450的RISC-V核心板究竟有哪些过人之处?

    开发者分享 | 适用于HPM的RustSBI实现

    HPMicro的MCU一直以高性能著称,之前也一直有想在HPM的MCU上运行Linux的想法。直到看见Linux6.10中支持了RISC-V架构在S-mode中运行nommu内核*,才下定决心开始在HPM6360上折腾nommuLin
    的头像 发表于 02-08 13:44 1074次阅读
    开发者分享 | 适用于<b class='flag-5'>HPM</b>的RustSBI实现

    基于HPM_SDK_ENV开发应用程序的升级处理

    基于HPM_SDK_ENV开发应用程序的方式HPM_SDK_ENV是先楫半导体MCU的Windows集成开发环境,其包含HPM_SDK,工具链,依赖工具(cmake,ninja,openocd等
    的头像 发表于 02-08 13:38 1438次阅读
    基于<b class='flag-5'>HPM</b>_SDK_ENV开发应用程序的升级处理

    先楫半导体发布高性能HPM6E8Y系列MCU

    近日,上海先楫半导体科技有限公司,国内领先的高性能微控制器及嵌入式解决方案提供商,推出了专为机器人运动与控制设计的高性能MCU产品——HPM6E8Y系列。这一创新产品为当前蓬勃发展的机器人市场带来了全新的活力。
    的头像 发表于 01-23 15:40 1166次阅读