ZHCACY3 august   2023 AM2431 , AM2432 , AM2434 , AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1 , AM263P4 , AM2732 , AM2732-Q1 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 本文档中使用的首字母缩写词
  5. 2MbedTLS
    1. 2.1 MbedTLS 是什么?
    2. 2.2 为何选择 MbedTLS?
    3. 2.3 MbedTLS 的应用
  6. 3在 Lwip 上使用 MbedTLS
    1. 3.1 TLS 服务器示例(HTTPS 服务器)
    2. 3.2 TLS 客户端示例(MQTT 客户端)

为何选择 MbedTLS?

MbedTLS 的替代品包括 OpenSSL、GnuTLS、LibreSSL,但 TI 更喜欢使用 MbedTLS,因为 LwIP 中提供对 MbedTLS 的直接支持。只需对现有 LwIP 配置进行极少的更改,即可将 MbedTLS 移植到 LwIP 中。

MbedTLS 构建为一个独立的库,在 LwIP 中具有用于应用层 API 的挂钩,下一节将对此进行详细讨论。MbedTLS 提供详细的文档和易于使用的 API,是一种快速高效地为应用增添安全性的方法。MbedTLS API 不仅可用于提高网络通信的安全性,还可用于需要加密实现的应用。

此外,MbedTLS 提供了一种定义明确的方法来将加密操作从软件卸载到硬件。请注意,AES、SHA、RSA、ECDSA、ENTROPY、计时函数、DES、ARIA 等均可以卸载到硬件上。MbedTLS 还提供了部分卸载加密工作的选项,例如将加密卸载到硬件而在软件上执行解密,从而提高了优化的整体灵活性。根据 CPU 时钟速度、RAM 执行、缓存使用情况等因素,可以优化吞吐量。对 TI Sitara™ AM2434 进行相同测试后发现,与执行软件加密相比,使用硬件加密加速器进行 AES 加密和解密时吞吐量增加了 8 至 10 倍(注意:这不是硬件卸载加密性能的基准数据,这些性能数据特定于实现并可以进一步改进)。MbedTLS 配置由头文件控制,该文件可用于启用或禁用所需的加密模块甚至密码套件。这可用于减小 MbedTLS 库的代码大小。