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

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

3天内不再提示

探秘STM32U5安全特性|硬件加解密引擎与软件算法对比

jf_pJlTbmA9 来源:STM32 作者:STM32 2023-10-27 10:23 次阅读

STM32U5 是ST在2021年推出的新一代超低功耗产品,不仅在工艺(40nm制程),性能(主频160MHz),低功耗(超低功耗模式低至:110nA,动态功耗低至:19μA/MHz )等多个方面都有显著提升,在信息安全方面也增加很多新特性。

STM32U5目前已经推出STM32U575、 STM32U585两个系列,这两者区别之一是 STM32U585芯片内置了AES,SAES和PKA硬件加解密引擎, STM32U575只有软件方式实现的加解密算法

STM32U5的硬件加解密引擎相对于纯软件实现有多方面的优势,比如:硬件SAES、PKA模块具备侧信道攻击防御能力,有更高的安全性,更高的性能,更快的运算速度,计算过程中不需要CPU参与,CPU可以处理其他更具有实时性要求的任务,同时在存储空间占用和功耗上也更有优势。

我们将从性能、功耗和存储空间占用几方面 ,将STM32U5硬件加解密引擎和软件实现算法做一个对比。

通过EEMBC SecureMarkTLS评测跑分,对比软硬件算法实现

我们使用 EEMBC SecureMarkTLS 对U575(纯软件)和U585(带硬件加速引擎)分别进行性能和能耗的对比。

EEMBC SecureMark是一个公认标准化的、用于衡量加解密操作效率的基准测试套件。在SecureMark中,EEMBC计划支持对不同应用领域的各种安全配置进行测试和分析。其中第一个授权可用的是SecureMark-TLS,它专注于物联网(IoT)边缘节点的传输层安全(TLS)。

SecureMark-TLS基准配置文件对用于安全互联网通信的传输层安全(TLS)协议所需的加解密操作进行建模。TLS协议提供了交换消息的机密性和完整性,并且可以对通信双方进行身份验证。SecureMark-TLS测量物理设备(可以是开发板或最终产品) 在执行一组指定的加解密操作时的性能和功耗。功耗测量被换算成一个最终的单一分数,该分数代表物联网边缘节点设备的TLS操作。

✦ EEMBC SecureMarkTLS跑分对比

可以看到 ST发布的使用 EEMBC SecureMarkTLS测试套件的测试报告。

选择STM32U575 RevB Core MHz:160 和STM32U585 RevB Core MHz:160 (我们选择的是最大主频 160MHz),可以看到测试的硬件环境如下图所示:

wKgZomUD5hSAOdI_AAS5kXrT3Q8011.png

测试的软件和Crypto信息如下:

wKgaomUD5heAWkzAAAQN84jcFCk836.png

请注意蓝框中标出测试的算法库和版本:Software Library(ies) and Version: mbedTLS 2.4.2。

mbedTLS 现已被arm公司收购并由arm技术团队进行维护更新,是对TLS和SSL协议实现的算法库。mbedTLS的目标是:易于理解,使用,集成和扩展。它主要是面向小型嵌入式设备,代码紧凑,而且执行效率高,可以说是行业内最小巧的SSL加密算法库。并且mbedTLS是完全OpenSource的,支持Apache 2.0 license 或者GPL 2.0 license双重许可,可以自由应用于商业项目中。

在 U575 上,我们直接运行的是开源的mbedTLS 2.4.2,算法部分是开源的mbedTLS 2.4.2里面实现的软件算法; 在U585上,同样运行的是开源的mbedTLS 2.4.2,但算法部分使用U585自带的硬件加解密引擎。

在下图的测试结果中,SecureMark-TLS 是对整体功耗的跑分总评,SecureMark-TLS Performance 是对整体性能的跑分总评。后面我们又分别列出了不同算法的性能和功耗的分数。

Benchmark跑分总评

wKgZomUD5hiAR9jrAACCtmNAlyI029.png

wKgaomUD5hmADp62AAHX7QWtrCk253.png

说明:

测试中硬件加速的部分采用mbedtls ALT function方式,由于数据存储方式,API等原因,并未使U585 HW crypto性能得到最大化利用;

实际应用程序如果直接调用Driver,则可有更高的性能和能耗表现。

Mbedtls软件作为运行的代码进行benchmark,对比U575纯软件和U585带硬件加速的性能和能耗。

Benchmark子项:AES 性能 + 能耗

wKgZomUD5h2AHrBVAAJ_Lq1HhZQ850.png

Benchmark子项:SHA 性能 + 能耗

wKgaomUD5h6AAK6SAAJMFVbPV8k881.png

Benchmark子项:ECC 性能 + 能耗

wKgZomUD5iCAel7NAAG77XVm_3A451.png

硬件加解密引擎(HAL驱动)与Cryptolib软件算法对比

软件算法部分采用ST 的 X-CUBE-CRYPTOLIB作为对比的对象。X-CUBE-CRYPTOLIB是基于STM32的软件算法库,支持STM32全系列产品,提供多种主流算法的实现,针对不同的内核进行了算法优化,支持多种使用的配置模式(高性能、小代码量等选择)。硬件引擎的使用则通过直接调用HAL驱动来完成。

我们通过以下几个常用的典型算法进行对比,比较的内容为软硬件实现的性能和存储空间占用情况:

AES CBC加密和解密

RSA加密和解密

ECDSA签名和验签

✦ 性能对比

AES CBC 数据流加解密:每秒数据处理能力 (以8KB数据做测试, 每次处理大小分别为128, 512, 1024, 2048字节的结果)

wKgZomUD5iGADzMlAAI0RZoC3_M527.png

RSA加解密

wKgaomUD5iOAFjWbAAI7OinvlCk346.png

ECC签名验签

wKgZomUD5iWAENdpAAG_CwY0l6w292.png

✦ 存储空间占用情况

存储空间的占用和选择的编译器、编译器版本、编译选项和配置等很多因素有关,下面的数据仅供参考。

Memory Footprint HAL + HW vs. Cryptolib SW

wKgaomUD5iqASXj2AAIB8W3ntSI470.png

wKgZomUD5i2APv4oAAHX66tsGng160.png

wKgaomUD5i-AbUFZAAHsZJCnJI8139.png

硬件加解密引擎优势总结

综上所述,硬件加解密引擎具有更高安全性、更高性能、更低功耗和更少的系统资源需求。

✦ 更高安全性

SAES和PKA引擎具备攻击防御能力(侧信道攻击,错误注入攻击)

HUK+SAES提供基于硬件的安全存储功能,防克隆,防软件逻辑攻击

✦ 更高性能

相较于软件实现 x5 倍的数据AES加解密处理能力

相比软件实现快5~10倍的签名验签操作

十倍的Hash运算

✦ 更低功耗

完成相同运算所消耗的能量只有软件运算的几分之一

✦ 更少系统资源需求

运算过程中CPU可以处理器其他高优先级事物

运算无需占用额外Flash与RAM空间

来源:STM32
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

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

    关注

    23

    文章

    4457

    浏览量

    90761
  • STM32
    +关注

    关注

    2240

    文章

    10674

    浏览量

    348844
收藏 人收藏

    评论

    相关推荐

    labviewAES加解密小程序

    本帖最后由 eehome 于 2013-1-5 10:10 编辑 使用AES算法对128bit加密和解密版本:LabVIEW 8.6 8.6.1作者:zerld功能:使用AES算法
    发表于 02-22 14:12

    基于stm32f030单片机的AES128bit加解密算法例程

    大家好,现在给大家提供一个基于stm32f030单片机的AES128bit加解密算法例程,如果不想利用该工程,只需要拷贝文件夹USER下的AES.c,AES.h,main.c到自己的工程,修改头文件
    发表于 11-28 21:27

    加解密

    stm32F4中如何看加解密的代码
    发表于 04-08 11:23

    如何利用MEMS和FPGA设计移动硬盘数据加解密系统?

    USB 接口的高效数据加解密系统,采用AES 加密算法。普通IDE 硬盘挂接该系统后 成为安全性极高的加密USB 移动硬盘,其平均数据吞吐率接近普通U 盘,达到10MB/s. 利用ME
    发表于 07-31 07:40

    什么是CRYPTO设备?有什么特性

    的信息安全软件层面引入了 TLS 安全传输层协议,同时硬件芯片上也逐渐添加安全相关的加解密模块
    发表于 03-29 06:11

    如何利用FPGA的硬件描述语言来实现AES的加解密算法

    为了系统的扩展性和构建良好的人机交互,如何利用FPGA的硬件描述语言来实现AES的加解密算法
    发表于 04-08 06:01

    硬件加解密的分类

    文章目录1、硬件加解密的分类2、ARM-CE / ARM-NEON3、Soc crypto engion4、cryptoisland5、cryptocell1、硬件
    发表于 07-22 07:55

    硬件加解密主要优点及引擎种类

    硬件内进行,软件程序无法介入破解或窃取密钥,达到最高等级的安全防护。 提升运算效能:MCU内建加解密运算处理,不占用CPU资源,且能达成网络传输的实时性要求。
    发表于 08-28 07:29

    Arm TrustZone特性面向STM32L5STM32U5系列

    在 IoT(物联网)应用中,设备很容易受到通过互联网实施的恶意入侵。因此,保护设备和信息并使可信区域和不可信区域彼此隔离,这些安全主题就非常的重要。STM32L5STM32U5 系列器件(本文
    发表于 09-07 06:28

    STM32加解密硬件模块

    基于物理噪声源的随机数产生器• 生成32位随机数• AHB 从设备,不使用时可关闭它以节省功耗• 广泛运用于加解密算法和协议中• 密钥的生成• “Challenge- Acknowledge”认证模式中,充当Challenges(质询)• 初始向量(IV)• 随机数(No
    发表于 09-08 07:54

    STM32加解密技术

    没有加解密技术是万万不能的• 通讯安全• 平台安全• *例外:STM32 RDP保护知识产权• 加解密技术不是万能的• 只是工具• 无法代替
    发表于 09-08 08:18

    DES与RSA两种加解密算法的详细资料说明

    对称加解密算法: 通信双方(通信主体)同时掌握一个钥匙,加解密都由这一个钥匙完成。
    发表于 01-14 17:01 12次下载
    DES与RSA两种<b class='flag-5'>加解密</b><b class='flag-5'>算法</b>的详细资料说明

    新版STM32加解密算法库——X-Cube-Cryptolib V4

    加解密算法是实现信息安全设计的重要工具,在安全启动,安全通信等多个场景都会用到,STM32一直以
    发表于 02-08 15:26 0次下载
    新版<b class='flag-5'>STM32</b><b class='flag-5'>加解密</b><b class='flag-5'>算法</b>库——X-Cube-Cryptolib V4

    STM32加解密硬件模块

    电子发烧友网站提供《STM32加解密硬件模块.pdf》资料免费下载
    发表于 08-02 09:14 1次下载
    <b class='flag-5'>STM32</b>的<b class='flag-5'>加解密</b><b class='flag-5'>硬件</b>模块

    铜墙铁壁的最佳安全保护-硬件加解密MCU

    铜墙铁壁的最佳安全保护-硬件加解密MCU
    的头像 发表于 08-11 14:44 234次阅读