近些年万物互联成为国家发展战略,物联网技术出现了蓬勃发展的迹象。各种物联网设备逐渐走入人们的日常生活中,信息安全在物联网领域也越来越重要。
为保证物联网设备的信息安全,软件层面引入了TLS安全传输层协议,同时硬件芯片上也逐渐添加安全相关的加解密模块,甚至出现了专为安全设计的安全芯片。芯片上的硬件安全模块相比纯软件实现的安全算法,拥有更快的运算速度,更小的资源占用。但大多数物联网设备上仍在使用纯软件的安全算法。其中最重要的一个原因,就是硬件接口不一,种类繁杂,软件对接起来比较困难。
图片来源pixabay无版权图库
因此 RT-Thread 推出了 hwcrypto - 硬件加解密驱动框架,并对接了常见的安全传输套件。只要硬件支持加解密模块,就能直接使用基于硬件加解密的安全传输套件,传输速度提升数倍。
01
介绍
hwcrypto 是一个硬件加解密设备驱动框架。主要由硬件加解密驱动抽象层以及各种加解密API接口两部分构成。对于上层应用,可对接安全套件或直接使用,使用方式十分灵活。对于驱动,需要对接的接口少,功能单一。驱动开发简单快捷。主要特性介绍,参见下文。
02
特性
硬件加解密驱动的最重要的一个功能就是接口转换,实现接口统一,方便上层应用使用硬件加解密。所以它被设计的十分轻薄。有着极低资源占用,ROM < 0.8K / RAM < 0.2K。
加解密在运行速度上,也有着很高的要求。所以频繁调用的代码,细致考虑,把运行过程的步骤降到最少,让性能损失降到最小,如同直接操作硬件寄存器一般迅速。
2、考虑周全,使用简单
在 API 设计上,从简单易用,功能齐全两个维度出发。首先是用户直接使用硬件加解密API,要求上手简单, 使用容易。为此前期针对众多软件接口进行了评估。亲身使用测试,最终定义出一套功能齐全,接口简单的 API。
满足用户的使用需求的同时,在安全传输套件的对接上,也做了许多考虑。专门为安全传输套件增加了API。最终这套API用户使用或是对接安全传输套件,都能游刃有余。
3.完全兼容,通用性强
驱动对接的接口设计上,也精心设计。前期对多家硬件厂商的加解密外设根据功能进行分类,进行分析整理,提取出一套功能单一,参数全面的驱动接口。该驱动接口可完全适配常规 MCU 加解密外设。现目前已在多个平台上做验证,例如联盛德 W60X 系列,STM32 系列等。
03
支持
硬件加解密接口
硬件加解密框架目前已经支持
AES/DES/3DES/RC4/SHA1/SHA2/MD5/CRC/RNG/BIGNUM 等加解密相关的接口。将上述加解密算法按照不同的类型分成如下几个大类,每一类都有丰富的 API 可供使用。目前已经支持的类型如下:
bignum |
大数运算 |
crc |
CRC冗余校验 |
gcm |
GMAC消息认证码 |
hash |
散列算法 |
rng |
随机数发生器 |
symmetric |
对称加解密算法 |
驱动及软件支持
1、硬件支持上选择了联盛德 W601 芯片。W601 是集成了丰富的硬件加解密功能的一颗 WIFI SOC。目前已经将硬件加解密驱动全部对接完成,近期会推送到 RT-Thread 仓库 w60x bsp 中,开发者可在此硬件平台上进行体验。STM32 系列部分支持了设备ID、RNG、CRC32等功能,手上有STM32的小伙伴们,也可以尝尝鲜。后续也将会有更多的硬件平台对接。
2、软件上率先实现了 MbedTLS 安全套件的对接。配合联盛德 W601 芯片硬件加解密,一次完整数据交互从 1.4 秒降低到 0.4 秒。整体性能提升 3 倍以上。
04
下载
hwcrypto 属于 RT-Thread 的一个设备驱动,在 rt-thread/components/drivers/hwcrypto 目录下。预计在 RT-Thread 4.0.2 版本中发布。
现可以在 GitHub 上下载 RT-Thread master 分支源码,即可抢先体验。
大家可以将以下网址复制至外部浏览器打开进行下载:
RT-Thread源码下载:https://github.com/RT-Thread/rt-thread
RT-Thread线上活动
1、【RT-Thread能力认证考试12月——RCEA】经过第一次考试的验证,RT-Thread能力认证得到了更多社区开发者和产业界的大力支持!(点此查看)如果您有晋升、求职、寻找更好机会的需要,有深入学习和掌握RT-Thread的需求,欢迎垂询/报考!
能力认证官网链接:https://www.rt-thread.org/page/rac.html(在外部浏览器打开)
立即报名
#题外话# 喜欢RT-Thread不要忘了在GitHub上留下你的STAR
哦,你的star对我们来说非常重要!链接地址:https://github.com/RT-Thread/rt-thread
你可以添加微信18917005679为好友,注明:公司+姓名,拉进 RT-Thread 官方微信交流群

RT-Thread
让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。Apache2.0协议,可免费在商业产品中使用,不需要公布源码,无潜在商业风险。
长按二维码,关注我们


点击阅读原文进入GitHub
本文分享自微信公众号 - RTThread物联网操作系统(RTThread)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4428324/blog/4619460