https://github.com/ARM-software/CMSIS-mbedTLS
该项目的主要目标是将 mbedTLS与 CMSIS进行集成。通过这种集成,开发者可以在基于 ARM Cortex-M 微处理器的嵌入式平台上更高效地实现安全通信和数据加密功能。
主要特点和用途:
1、提供了适用于 ARM Cortex-M 微控制器的 mbedTLS 集成实现。
2、利用 CMSIS 的驱动和 RTOS 生态,提高了移植性和硬件加速支持能力。
3、方便开发者在嵌入式 IoT 设备、传感器、网关等场景中快速集成 TLS/SSL 安全协议。
4、支持常见的加密算法和协议,适合资源受限的嵌入式环境。
5、典型用户包括嵌入式系统开发者、IoT 设备制造商、安全通信应用开发者等。如果你需要在 ARM Cortex-M 平台上实现标准的加密与安全通信功能,这个项目会非常有用。
该项目实现了密码学原语、X.509证书操作以及SSL/TLS和DTLS协议。通过PSA加密API支持密码运算,该项目提供了PSA密码学API规范的参考实现。同时支持PSA密码处理器驱动接口规范,该规范定义了密码处理器驱动的接口标准。其精简的代码结构使其特别适合嵌入式系统,目前已被TF-A、TF-M和OP-TEE等多个项目采用。

更新记录:
[C] 纯文本查看 复制代码 = Mbed TLS 3.6.5 branch released 2025-10-15
API changes
* When building the library as a PSA client (MBEDTLS_PSA_CRYPTO_CLIENT
enabled and MBEDTLS_PSA_CRYPTO_C disabled), you need to provide the
function psa_can_do_cipher() in addition to psa_can_do_hash(). This
changed was made in Mbed TLS 3.6.0 but was not announced then.
Features
* The new function mbedtls_cipher_finish_padded() is similar to
mbedtls_cipher_finish(), but makes it easier to process invalid-padding
conditions in constant time.
Security
* Fix a timing side channel in CBC-PKCS7 decryption that could
allow an attacker who can submit chosen ciphertexts to recover
some plaintexts through a timing-based padding oracle attack.
Credits to Beat Heeb from Oberon microsystems AG. CVE-2025-59438
* Fix a local timing side-channel in modular inversion and GCD that was
exploitable in RSA key generation and other RSA operations (see the full
advisory for details), allowing a local attacker to fully recover the
private key. This can be exploited on some Arm-v9 CPUs by an unprivileged
attacker running code on the same core (SSBleed), or when Trustzone-M is
used, by the non-secure side abusing timer interrupts (M-Step), and
probably in other similar settings as well. Found and reported
independently by: SSBleed: Chang Liu (Tsinghua University) and Trevor E.
Carlson (National University of Singapore); M-Step: Cristiano Rodrigues
(University of Minho), Marton Bognar (DistriNet, KU Leuven), Sandro Pinto
(University of Minho), Jo Van Bulck (DistriNet, KU Leuven). CVE-2025-54764
Bugfix
* Fix potential CMake parallel build failure when building both the static
and shared libraries.
* Fix a build error or incorrect TLS session
lifetime on platforms where mbedtls_time_t
is not time_t. Fixes #10236.
Changes
* The function mbedtls_mpi_gcd() now always gives a non-negative output.
Previously the output was negative when B = 0 and A < 0, which was not
documented, and inconsistent as all other inputs resulted in a non-negative
output.
参考案例:
SP视频教程第19期:单片机BootLoader的AES加密实战,含上位机和下位机代码全开源(2022-06-26)
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=113361 |