你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

硬件加解密引擎与软件算法对比

[复制链接]
STMCU小助手 发布时间:2022-6-22 21:01
STM32U5 是ST在2021年推出的新一代超低功耗产品,不仅在工艺(40nm制程),性能(主频160MHz),低功耗(超低功耗模式低至:110nA,动态功耗低至:19μA/MHz )等多个方面都有显著提升,在信息安全方面也增加很多新特性。STM32U5目前已经推出STM32U575、 STM32U585两个系列,这两者区别之一是 STM32U585芯片内置了AES,SAES和PKA硬件加解密引擎, STM32U575只有软件方式实现的加解密算法。STM32U5的硬件加解密引擎相对于纯软件实现有多方面的优势,比如:硬件SAES、PKA模块具备侧信道攻击防御能力,有更高的安全性,更高的性能,更快的运算速度,计算过程中不需要CPU参与,CPU可以处理其他更具有实时性要求的任务,同时在存储空间占用和功耗上也更有优势。我们将从性能、功耗和存储空间占用几方面 ,将STM32U5硬件加解密引擎和软件实现算法做一个对比。" n0 P+ X& }" M, R2 R0 B3 J

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

. Q3 {9 k' |4 Y
我们使用 EEMBC SecureMarkTLS 对U575(纯软件)和U585(带硬件加速引擎)分别进行性能和能耗的对比。EEMBC SecureMark是一个公认标准化的、用于衡量加解密操作效率的基准测试套件。在SecureMark中,EEMBC计划支持对不同应用领域的各种安全配置进行测试和分析。其中第一个授权可用的是SecureMark-TLS,它专注于物联网(IoT)边缘节点的传输层安全(TLS)。SecureMark-TLS基准配置文件对用于安全互联网通信的传输层安全(TLS)协议所需的加解密操作进行建模。TLS协议提供了交换消息的机密性和完整性,并且可以对通信双方进行身份验证。SecureMark-TLS测量物理设备(可以是开发板或最终产品) 在执行一组指定的加解密操作时的性能和功耗。功耗测量被换算成一个最终的单一分数,该分数代表物联网边缘节点设备的TLS操作。[url=https://www.eembc.org/securemark/][/url]
✦ EEMBC SecureMarkTLS跑分对比
可以看到 ST发布的使用 EEMBC SecureMarkTLS测试套件的测试报告。选择STM32U575 RevB Core MHz:160 和STM32U585 RevB Core MHz:160 (我们选择的是最大主频 160MHz),可以看到测试的硬件环境如下图所示: 微信图片_20220622205626.png
8 A' z7 ~; j1 y. W$ u  D
测试的软件和Crypto信息如下: 2.png : p1 _: [5 ]( D+ Z% A8 T
请注意蓝框中标出测试的算法库和版本: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跑分总评) |: E1 o5 r. z

/ n; Q! Y+ l7 t$ B+ g
3.png
7 [/ r7 U! Z7 g+ X 4.png
, n* k8 c, k# v2 ~$ m5 \
说明:
  • 测试中硬件加速的部分采用mbedtls ALT function方式,由于数据存储方式,API等原因,并未使U585 HW crypto性能得到最大化利用;
  • 实际应用程序如果直接调用Driver,则可有更高的性能和能耗表现。
    ! u, L9 v3 d, Q8 Q+ \& S8 [' R2 t
6 C( I+ P4 _8 Z, {3 r
Mbedtls软件作为运行的代码进行benchmark,对比U575纯软件和U585带硬件加速的性能和能耗。
& Z9 i1 T3 R. b$ ]
Benchmark子项:AES 性能 + 能耗 5.png

+ \7 A8 w1 T. v8 K
Benchmark子项:SHA 性能 + 能耗 6.png 0 S# ~4 D6 ]8 \% F% P
Benchmark子项:ECC 性能 + 能耗 7.png 9 q( B# g/ n  L& t; d7 j3 ?

4 @3 N# Y2 ?, C8 \2 V+ A

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

/ L' [, ]5 A  A% `7 }: I
软件算法部分采用ST 的 X-CUBE-CRYPTOLIB作为对比的对象。X-CUBE-CRYPTOLIB是基于STM32的软件算法库,支持STM32全系列产品,提供多种主流算法的实现,针对不同的内核进行了算法优化,支持多种使用的配置模式(高性能、小代码量等选择)。硬件引擎的使用则通过直接调用HAL驱动来完成。我们通过以下几个常用的典型算法进行对比,比较的内容为软硬件实现的性能和存储空间占用情况:

    : [: k% Q2 {" C1 `4 V1 e0 V
    • AES CBC加密和解密
    • RSA加密和解密
    • ECDSA签名和验签+ ]  {! G3 C# s, T  ]; e# W

      2 d; ^3 Q8 E& P$ T8 b6 E
✦ 性能对比
AES CBC 数据流加解密:每秒数据处理能力 (以8KB数据做测试, 每次处理大小分别为128, 512, 1024, 2048字节的结果) 8.png
" v4 d9 i' p' c# f4 W
RSA加解密 9.png ' C. O8 s, a, e) ^0 h5 q  K+ ?
ECC签名验签
10.png
4 Q' `& ^2 M! @. f$ ]
✦ 存储空间占用情况
存储空间的占用和选择的编译器、编译器版本、编译选项和配置等很多因素有关,下面的数据仅供参考。

8 M! F. f: H) J, M. e7 J( F

" n& L7 N! O1 N0 g

Memory Footprint HAL + HW vs. Cryptolib SW


% E5 T5 O& D8 u9 Y7 z9 a

4 k, U1 x5 }% f 11.png
1 E" S/ ]  h8 f8 N$ g 12.png ) w6 J7 `$ h$ o5 T2 O* @  c
* N, t: u# o5 r% e; q5 ]6 v: N
微信图片_20220622205852.png
1 X( R9 e+ ]' t. q
4 Y8 R' b- R0 t$ G$ A

硬件加解密引擎优势总结


+ P# P# A6 E4 u" q! U  r
综上所述,硬件加解密引擎具有更高安全性、更高性能、更低功耗和更少的系统资源需求。
✦ 更高安全性
  • SAES和PKA引擎具备攻击防御能力(侧信道攻击,错误注入攻击)
  • HUK+SAES提供基于硬件的安全存储功能,防克隆,防软件逻辑攻击6 D. Z4 S8 S0 W( D! w
✦ 更高性能
  • 相较于软件实现 x5 倍的数据AES加解密处理能力
  • 相比软件实现快5~10倍的签名验签操作
  • 十倍的Hash运算
    4 f  ^9 t& U+ J3 @5 Y
✦ 更低功耗
  • 完成相同运算所消耗的能量只有软件运算的几分之一
    ! s: ]* y0 E# P; @/ z+ }6 @
✦ 更少系统资源需求
  • 运算过程中CPU可以处理其他高优先级事物
  • 运算无需占用额外Flash与RAM空间
    / H, _) A1 t5 ^6 H4 u  {& \& n
0 [( a1 p: b: j% T
收藏 评论0 发布时间:2022-6-22 21:01

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版