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

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

[复制链接]
STMCU-管管 发布时间:2022-6-15 12:53
7 R0 Z( J7 Y. G! V. N5 p! T
探秘STM32U5安全特性|硬件加解密引擎与软件算法对比
7 E6 k8 w) ~' O( c- q* \
1.gif
4 w, q* d# S% [* s/ h3 ^6 t2 I
STM32U5 是ST在2021年推出的新一代超低功耗产品,不仅在工艺(40nm制程),性能(主频160MHz),低功耗(超低功耗模式低至:110nA,动态功耗低至:19μA/MHz )等多个方面都有显著提升,在信息安全方面也增加很多新特性。
/ a+ t& @0 J; g1 uSTM32U5目前已经推出STM32U575、 STM32U585两个系列,这两者区别之一是 STM32U585芯片内置了AES,SAES和PKA硬件加解密引擎, STM32U575只有软件方式实现的加解密算法。( u; \1 Y. I6 w5 M. |- P# @6 f
STM32U5的硬件加解密引擎相对于纯软件实现有多方面的优势,比如:硬件SAES、PKA模块具备侧信道攻击防御能力,有更高的安全性,更高的性能,更快的运算速度,计算过程中不需要CPU参与,CPU可以处理其他更具有实时性要求的任务,同时在存储空间占用和功耗上也更有优势。; C! k/ ~* A0 D4 u+ N! w" A
我们将从性能、功耗和存储空间占用几方面 ,将STM32U5硬件加解密引擎和软件实现算法做一个对比。
& j! X! }0 e- T% d& X7 G
通过EEMBC SecureMarkTLS评测跑分,对比软硬件算法实现
* C" Y8 V1 {; z* G" A
我们使用 EEMBC SecureMarkTLS 对U575(纯软件)和U585(带硬件加速引擎)分别进行性能和能耗的对比。' {" S1 F6 S  \0 [! @5 |
EEMBC SecureMark是一个公认标准化的、用于衡量加解密操作效率的基准测试套件。在SecureMark中,EEMBC计划支持对不同应用领域的各种安全配置进行测试和分析。其中第一个授权可用的是SecureMark-TLS,它专注于物联网(IoT)边缘节点的传输层安全(TLS)。
! X6 f* Z+ P9 eSecureMark-TLS基准配置文件对用于安全互联网通信的传输层安全(TLS)协议所需的加解密操作进行建模。TLS协议提供了交换消息的机密性和完整性,并且可以对通信双方进行身份验证。SecureMark-TLS测量物理设备(可以是开发板或最终产品) 在执行一组指定的加解密操作时的性能和功耗。功耗测量被换算成一个最终的单一分数,该分数代表物联网边缘节点设备的TLS操作。想了解 SecureMark-TLS 测试套件的更多信息 ,请访问 https://www.eembc.org/securemark/* m$ [7 R/ r6 W" T0 b/ {! d
✦ EEMBC SecureMarkTLS跑分对比
# \$ M$ {9 t; h# {+ c点击链接访问https://www.eembc.org/securemark/scores.php ,可以看到 ST发布的使用 EEMBC SecureMarkTLS测试套件的测试报告。* ^) R( Y) @: o) [: s/ d! M2 u
选择STM32U575 RevB Core MHz:160 和STM32U585 RevB Core MHz:160 (我们选择的是最大主频 160MHz),可以看到测试的硬件环境如下图所示:+ v; M2 l8 k) s! ^6 O; ?2 I& j
11.png
测试的软件和Crypto信息如下:+ s$ d3 G$ o3 G
12.png
请注意蓝框中标出测试的算法库和版本:Software Library(ies) and Version: mbedTLS 2.4.2。
( J3 S- z" e3 Z/ U' ]+ ?) ~mbedTLS 现已被arm公司收购并由arm技术团队进行维护更新,是对TLS和SSL协议实现的算法库。mbedTLS的目标是:易于理解,使用,集成和扩展。它主要是面向小型嵌入式设备,代码紧凑,而且执行效率高,可以说是行业内最小巧的SSL加密算法库。并且mbedTLS是完全OpenSource的,支持Apache 2.0 license 或者GPL 2.0 license双重许可,可以自由应用于商业项目中。+ H' U  q5 _2 ]) z( L: d
在 U575 上,我们直接运行的是开源的mbedTLS 2.4.2,算法部分是开源的mbedTLS 2.4.2里面实现的软件算法; 在U585上,同样运行的是开源的mbedTLS 2.4.2,但算法部分使用U585自带的硬件加解密引擎。7 p# p% J& p# N9 j2 b
在下图的测试结果中,SecureMark-TLS 是对整体功耗的跑分总评,SecureMark-TLS Performance 是对整体性能的跑分总评。后面我们又分别列出了不同算法的性能和功耗的分数。
2 `( [+ i4 Q7 S2 z, j" tBenchmark跑分总评- s  c% ~5 H) T( }8 B0 r$ I, O& r
13.png
说明:
# r  K% Q$ b4 o: i测试中硬件加速的部分采用mbedtls ALT function方式,由于数据存储方式,API等原因,并未使U585 HW crypto性能得到最大化利用;4 J( z$ M0 [7 B. @
实际应用程序如果直接调用Driver,则可有更高的性能和能耗表现。
! @) L8 _0 ^/ d4 o2 [: m$ v# w
0 G: G/ D5 ^( y  z8 Z: B

. H: q. Y9 b8 m& C" xMbedtls软件作为运行的代码进行benchmark,对比U575纯软件和U585带硬件加速的性能和能耗。
- ^" f; h: a2 O4 w1 S) L" sBenchmark子项:AES 性能 + 能耗0 F0 T3 W) X0 C$ S7 M' N5 R; H
14.png
Benchmark子项:SHA 性能 + 能耗( }6 R  U/ v1 P5 ]: I
15.png
Benchmark子项:ECC 性能 + 能耗* `& ^3 w% X6 u2 }7 U
16.png
硬件加解密引擎(HAL驱动)与Cryptolib软件算法对比

/ Q1 n9 v& e3 q7 m软件算法部分采用ST 的 X-CUBE-CRYPTOLIB作为对比的对象。X-CUBE-CRYPTOLIB是基于STM32的软件算法库,支持STM32全系列产品,提供多种主流算法的实现,针对不同的内核进行了算法优化,支持多种使用的配置模式(高性能、小代码量等选择)。硬件引擎的使用则通过直接调用HAL驱动来完成。
; ]8 Y: W2 U; h/ \我们通过以下几个常用的典型算法进行对比,比较的内容为软硬件实现的性能和存储空间占用情况:) @" B6 J3 L, b) g8 F7 s9 y" H
·AES CBC加密和解密+ \, \" n% D3 c% c3 j3 y6 X! g( D2 G
·RSA加密和解密
- W: I6 k) H& N, s' c8 n·ECDSA签名和验签/ G2 `& S+ s* L2 U- Y

. Y2 h7 G# {, k/ x2 s0 |
" r. e2 s9 o, m
✦ 性能对比
4 V, F8 V+ ]( v0 zAES CBC 数据流加解密:每秒数据处理能力 (以8KB数据做测试, 每次处理大小分别为128, 512, 1024, 2048字节的结果)
- G+ H% R. }# R) M' h: R$ [
17.png
RSA加解密
' ~. ~7 `% Z3 x7 A
18.png
ECC签名验签
  f% o" _# d) I: G
19.png
✦ 存储空间占用情况
7 N- y" G0 I* Q" n" A2 ?6 J: |# h0 J6 `5 x+ u5 D9 U

6 R7 I: n- i) i% j1 b; q! v' b存储空间的占用和选择的编译器、编译器版本、编译选项和配置等很多因素有关,下面的数据仅供参考。: M! E( n9 W$ b9 h/ D
X-CUBE-CRYPTOLIB 的更多详细数据,请参考https://wiki.stmicroelectronics. ... Library_Performance( w. Y! Y! p' L/ i
Memory Footprint HAL + HW vs. Cryptolib SW
20.png
21.png
硬件加解密引擎优势总结
6 W( [! y+ J( Y0 R2 Z0 L# o
综上所述,硬件加解密引擎具有更高安全性、更高性能、更低功耗和更少的系统资源需求。6 a8 r% a" R4 n  Y) o
✦ 更高安全性
: A. {; U/ Z% i5 n, V+ {SAES和PKA引擎具备攻击防御能力(侧信道攻击,错误注入攻击). z' }6 _% {$ ]
HUK+SAES提供基于硬件的安全存储功能,防克隆,防软件逻辑攻击3 O/ t' j% p  }
✦ 更高性能( D6 d0 G. x2 Y# b
相较于软件实现 x5 倍的数据AES加解密处理能力
" A+ `; _3 }, H: x相比软件实现快5~10倍的签名验签操作
2 ^, t+ K; \: Y; H& e" Y十倍的Hash运算: Y( p, B2 s5 ]6 x3 R
✦ 更低功耗
/ `8 W$ Y0 `' r' O完成相同运算所消耗的能量只有软件运算的几分之一
( p2 O; m7 l' H. P✦ 更少系统资源需求, s$ p4 P+ c# @! L, R& |
运算过程中CPU可以处理器其他高优先级事物# W/ o0 V6 Z2 r, M
运算无需占用额外Flash与RAM空间
; v( [) S- P- m# ^5 w) P
) q/ m7 t7 e2 Q
收藏 评论1 发布时间:2022-6-15 12:53

举报

1个回答
养乐多 回答时间:2022-11-4 19:30:20
U5的性能还是不错的,关注一下安全方面* U7 |2 I# a3 e; p& b
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版