Skip to main content

ARM® mbed™ 使开发人员可以非常轻松地在其(嵌入式)产品中加入加密和 SSL/TLS 功能,并通过最大限度地减少代码占用空间来推动这一功能。它提供了具有直观的 API 和可读源代码的 SSL 库,并包含精心设计的测试套件。该工具即开即用,您可以在大部分系统上直接构建它,也可以手动选择和配置各项功能。

mbed TLS 库提供了一组可单独使用和编译的加密组件,您还可以使用单个配置头文件加入或排除这些组件。mbed TLS 还提供了构建于加密组件上的中央 SSL/TLS 模块,以及为 SSL 和 TLS 提供完整协议实施的抽象层和支持组件。

从功能角度来看,该库分为三个主要部分:

  • SSL/TLS 协议实施。
  • 一个加密库。
  • 一个 X.509 证书处理库。

SSL/TLS 客户端和服务器

mbed TLS 为当前所有的 SSL 和 TLS 标准提供客户端和服务器端支持,这些标准包括:SSL 3 版以及 TLS 1.0 版、1.1 版和 1.2 版。当然还支持大多数标准化协议扩展,如服务器名称指示 (SNI)、会话票证和安全重审。

mbed TLS 实现支持主要的密钥交换方式和 100 多种不同的标准化密码组。

加密库

mbed TLS 的加密部分拥有针对公钥加密、散列算法(消息摘要)和对称加密算法的抽象层。另外,它还包含多个基于标准的随机数发生器和一个熵池。

所有的加密算法都作为松散耦合的模块执行。您可以直接根据需要选取相应的头文件和源代码文件并将其放入项目中。

对称加密算法

密码抽象层提供了对称加密和解密功能,以实现保密性。它针对不同算法支持不同的块加密模式,从电子密码本 (ECB)、密码块链接 (CBC) 到计数器模式 (CTR)、密码反馈模式 (CFB) 和伽罗瓦计数器模式 (GCM)。

mbed TLS 不仅提供 AES、Blowfish 和 Camellia 等最常用的算法,还提供 DES 和 RC4 等老旧或已弃用的算法。

散列算法

mbed TLS 针对散列算法和消息摘要提供了消息摘要抽象层,可提供单向散列和散列消息认证码 (HMAC)。

mbed TLS 不仅为 SHA-256、SHA-512 和 RIPEMD-160 等最常用的算法提供支持,还支持 MD2、MD4、MD5 和 SHA-1 等老旧或已弃用的算法。

公钥

非对称算法可以搭配传统的 RSA 或椭圆曲线,您可以在此基础上使用公钥抽象层,以确保机密性、完整性、身份验证和不可抵赖性。

密钥交换支持可用于:

  • Diffie-Hellman-Merkle 密钥交换协议。
  • 椭圆曲线 Diffie-Hellman-Merkle (ECDH) 密钥交换协议。
  • 椭圆曲线数字签名算法 (ECDSA)。

随机数发生

针对随机数发生,mbed TLS 提供了熵池和适用于 CTR-DRBG 与 HMAC-DRBG 的特定实现(NIST 标准化随机数发生器)。熵池系统可从标准源和应用程序提供的源收集熵。

X.509 证书处理

SSL/TLS 身份验证和一些其他协议需要支持 X.509 证书处理。X.509 证书可以将身份传达给其他方,但在使用前必须由其他方进行有效性检查。

mbed TLS 包括以下支持:

  • X.509 证书 (CRT) 解析。
  • X.509 证书吊销列表 (CRL) 解析。
  • X.509 (RSA/ECDSA) 私钥解析。
  • X.509 证书验证:检查证书的签名链是否由受信任的证书颁发机构签发,以及该证书(或其签名链中的其中一个中间 CA 证书)是否位于其签发 CA 的证书吊销列表中。

另外,还可以执行某些证书颁发机构操作以从头创建证书,如:

  • X.509 证书 (CRT) 编写。
  • X.509 (RSA/ECDSA) 私钥编写。
  • X.509 证书请求 (CSR) 解析。
  • X.509 证书请求 (CSR) 编写。

测试

mbed TLS 采用持续集成系统以确保我们尽可能维持最高的代码质量。我们的系统借助一套不断增长的操作系统和芯片组来检查所有提交的代码,检查范围包括:

  • 回归测试。
  • 测试向量。
  • 多个静态分析器。
  • 互操作性测试。
  • 行为测试。
  • 通过模糊测试进行的安全性测试。
  • 针对已知值的函数和单元测试。
  • 代码覆盖率测试。
  • 验证测试。

许可选项

有两种方法可以获得 mbed TLS:

  • 开源,通过 Apache 2.0 license
  • mbed Partnership。这种方式遵照商业许可提供 mbed TLS,这意味着:
    • 您无需随产品一起分发版声明和 mbed TLS 许可证。
    • 您将得到对于错误和功能请求的优先支持。

有关 mbed Partnership 的信息,请通过下面的电子邮件地址与我们联系:partnership@mbed.org

了解更多信息

更多信息、mbed TLS 代码和文件可在 tls.mbed.org 上获取。

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Arm websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.