1.mbedTLS介绍

依赖传输层安全协议(Transport Layer Security,TLS)

密码学6种主要密码技术:

  1. 单向散列函数
  2. 对称加密算法
  3. 消息认证码算法
  4. 公钥密码算法
  5. 数字签名算法
  6. 伪随机数生成器

单向散列函数:MD5,SHA1等
对称加密算法:AES128,AES192,AES256等
1.mbedTLS介绍_第1张图片
OpenSSL常用于互联网应用,而mbedtls用于物联网应用。

mbedtls主要分为以下3个部分:

  1. 密码学工具箱实现。
  2. X.509证书处理实现。
  3. TLS/DTLS协议实现。

密码学工具箱

mbedtls的密码学工具箱部分具有针对对称加密算法、单向散列(又称消息摘要)和公钥加密的抽象层实现。

1.对称加密算法
对称加密抽象层提供了对称加密和解密功能。它针对不同算法支持不同的加密模式,主要包括电子密码本(ECB)、密码块链接(CBC)、计数器模式(CTR)和密码反馈(CFB)等模式。mbedtls
不仅提供AES、Blowfish和Camellia等最常用的算法,还提供DES和RC4等老旧或已弃用的算法。

2.单向散列与消息认证码算法
mbedtls针对单向散列算法提供了消息摘要抽象层,可提供单向散列功能和消息认证码功能(HMAC)。mbedtls不仅为SHA256、SHA512和RIPEMD-160等最常用的算法提供支持,还支持MD2、MD4、MD5和SHA1等老旧或已弃用的算法。

3.公钥算法与数字签名
公钥加密算法可搭配RSA算法或椭圆曲线算法,mbedtls在这些算法的基础上提供公钥算法抽象层。mbedtls公钥算法部分还提供多种密钥协商算法,例如Diffie-Hellman密钥协商算法(DH)和椭圆曲
线密钥协商算法(ECDH)。另外,它也提供多种数字签名方法,例如RSA签名和椭圆曲线数字签名(ECDSA)。

4.随机数生成器
关于随机数生成器,mbedtls不但提供了熵池,还提供了符合CTR-DRBG与HMAC-DRBG标准的随机数生成器。mbedtls的熵池具有很强的灵活性,熵池既可从标准源收集也可以由应用程序提供。

TLS/DTLS协议

mbedtls提供TLS/DTLS客户端和服务器功能。mbedtls为当前所有的SSL和TLS/DTLS标准提供客户端和服务器端支持,这些标准包括SSL 3版本、TLS 1.0版本、TLS 1.1版本和TLS 1.2版本。mbedtls还支持大多数标准化协议扩展,如服务器名称指示(SNI)和会话票证。mbedtls支持常用的密钥交换方法和130多种不同的标准化密码套件。

X.509证书

SSL/TLS身份验证和一些其他协议都依赖X.509证书处理功能。
mbedtls为X.509证书提供以下支持:
·X.509证书解析
·X.509证书吊销列表解析
·X.509(RSA/ECDSA)私钥解析
·X.509证书生成
·X.509(RSA/ECDSA)私钥生成
·X.509证书请求解析
·X.509证书请求生成

你可能感兴趣的:(SSL,ssl)