《密码技术与物联网安全:mbedtls开发实战》 —1.4 mbedtls简介

举报
华章计算机 发表于 2019/12/16 13:06:50 2019/12/16
【摘要】 本节书摘来自华章计算机《密码技术与物联网安全:mbedtls开发实战》 一书中第1章,第1.4.1节,作者是徐 凯 崔红鹏 。

1.4 mbedtls简介

mbedtls使开发人员可以非常轻松地在嵌入式产品中加入物联网安全功能。相比于OpenSSL这样的工具,mbedtls小巧灵活且易于使用。mbedtls具有多种多样的配置选项,这些配置选项可以帮助开发人员根据实际情况灵活地裁剪代码,降低对具体硬件平台的资源消耗。mbedtls提供的安全加密组件相对独立,开发者可以通过单个配置文件把单个功能加入应用中。另外,它还包括一个完整的抽象层实现,通过这个抽象层可提高代码的复用程度,降低开发难度。除了这些强大的功能之外,mbedtls还包括众多经过精心设计的测试用例,这些测试用例保证了mbedtls的稳定性和可靠性。总之,mbedtls足够小巧灵活,完全可以做到“开箱即用”。

从功能角度来看,mbedtls主要分为以下3个部分:

1)密码学工具箱实现。

2)X.509证书处理实现。

3)TLS/DTLS协议实现。

1.4.1 密码学工具箱

mbedtls的密码学工具箱部分具有针对对称加密算法、单向散列(又称消息摘要)和公钥加密的抽象层实现。另外,mbedtls还包含多个基于标准的随机数生成器和一个可自定义的熵池。所有的安全算法均以独立模块存在,任何一个模块都可以与其他模块解耦。这种轻耦合的设计方法便于用户对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的熵池具有很强的灵活性,熵池既可从标准源收集也可以由应用程序提供。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。