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

    文章

    1649

    浏览量

    149483
收藏 人收藏

    相关推荐

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

    hpm_apps v1.8.0上线:HPM6200四轴伺服驱控方案重磅发布!
    的头像 发表于 02-12 08:04 245次阅读
    <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 343次阅读
    深度解析 | 基于<b class='flag-5'>HPM</b>6450的RISC-V核心板究竟有哪些过人之处?

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

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

    SDK里面是否能添加HPM5300系列芯片支持包?

    SDK里面是否能添加HPM5300系列芯片支持包?只发现板级支持包。
    发表于 09-27 10:01

    Keysight InfiniiVision 6000 X 系列示波器

    KeysightInfiniiVision6000X系列示波器深入探索,分析更多信号细节,直观的触摸屏用户界面、语音控制和区域触发,让复杂的任务变得简单无比。树立示波器性价比新标杆
    的头像 发表于 08-14 08:34 544次阅读
    Keysight InfiniiVision <b class='flag-5'>6000</b> X <b class='flag-5'>系列</b>示波器

    NAND Flash的擦写次数介绍

    NAND Flash作为非易失性存储技术的重要一员,其擦写次数是评估其性能和寿命的关键因素之一。以下将详细介绍NAND Flash的擦写次数,包括其定义、不同类型NAND Flash
    的头像 发表于 07-29 17:18 4221次阅读

    支持HPM6E00!HPMicro Pintool Web v0.3.1正式上线!

    1、新增HPM6E00系列数据先楫发布了最新的HPM6E00系列芯片,Pintool也迅速支持了HPM6E00
    的头像 发表于 07-05 08:18 813次阅读
    支持<b class='flag-5'>HPM</b>6E00!HPMicro Pintool Web v0.3.1正式上线!

    先楫半导体hpm_sdk v1.6.0上线

    HPM6E80HPM6E00系列MCU是一款高性能、高实时以太互联,RISC-V双核微控制器。HPM6E00系列提供多达4端口千兆以太交换模块,支持TSN,并且
    的头像 发表于 07-02 08:17 699次阅读
    先楫半导体<b class='flag-5'>hpm</b>_sdk v1.6.0上线

    有奖提问!先楫半导体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 681次阅读
    <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 737次阅读
    <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_sdk v1.5.0 正式发布

    FLASH的稳定性 segger_rtt示例 易用的工程构建 hpm_sdk通过cmake来管理构建信息,将SDK内部依赖细节通过构建系统进行封装,让用户可以更多关注自己应用组织。 hpm_sdk支持并且
    发表于 04-08 11:14

    STM32H725打开SFU_FINAL_SECURE_LOCK_ENABLE FLASH_OPTSR_PRG中的bit21SECURITY无法置位的原因?

    使用STM32H725IGT6做SBSFU时,打开SFU_FINAL_SECURE_LOCK_ENABLE后FLASH_OPTSR_PRG寄存器中的bit21SECURITY无法置位;请问STM32H725IGT6支持此功能吗?此功能为何会使能失败?
    发表于 03-19 06:17

    基于先楫HPM5300 RISC-V内核MCU的HPM5361EVK开发板测评效果(二)

    HPM5361EVK是基于先楫HPM5300系列高性能RISC-V内核MCU的一款开发板。
    的头像 发表于 03-12 10:30 3382次阅读
    基于先楫<b class='flag-5'>HPM</b>5300 RISC-V内核MCU的<b class='flag-5'>HPM</b>5361EVK开发板测评效果(二)

    先楫HPM5361EVK开发板,网友测评效果(二)

    EEWORLD)的支持,本文整理了网友@qinyunti的优秀报告,小伙伴们先睹为快!#1开发板介绍与视频HPM5361EVK是基于先楫HPM5300系列高性能RISC
    的头像 发表于 03-12 08:16 2557次阅读
    先楫<b class='flag-5'>HPM</b>5361EVK开发板,网友测评效果(二)