【经验】Silicon Labs蓝牙芯片AES加密算法在网络安全上的应用实践
在目前物联网网络安全需求日益旺盛的情况下,工业设备也从封闭走向了开放,从历年统计的全球工控安全事件来看,近几年来平均下来已经是2010年伊朗震网事件爆发时的8倍多。万物互联带了数据经济的迅猛发展,但也给不法分子提供了可乘之机,尤其是近几年发展迅速的无线技术为甚。本文通过实际应用仔细讨论芯科科技(SILICON LABS)在数据加密应用的安全方法,并以EFR32BG22C224F512IM40这款蓝牙芯片上应用加密算法库mbed TLS来讨论AES算法在网络安全上的实践方法。
目前笔者主要将蓝牙技术应用到工业控制现场,包括电网配电系统,大型发电机组以及化工生产装置等应用。这些设备关系国家安全和经济民生,因此为避免黑客对数据的破解,本文中的设备采用AES加密算法增强网络安全,下面就加密算法在蓝牙芯片EFR32BG22C224F512IM40上的应用方法结合原理进行介绍。
芯科科技的Simplicity Studio开发环境支持使用AES加解密算法库mbed TLS,这是一个可以在嵌入式设备上集成的算法库,在芯科的SDK中可以查找和配置,下面先就AES的原理进行介绍。
AES算法是一种对称加密算法,即数据可以用同样的秘钥(Key)来加密和解密,但是不同于移位逻辑运算这样简单的加解密算法,其设计基础建立在一堆复杂的数学理论基础上,增加了逆向破解的难度。算法设计的目的是在一定应用场景下让破解的代价远大于破解的收益。要完整理解这个算法比较困难,这里笔者做简单说明:AES算法的一个基础概念叫做有限域,通过数学集合的方式将集合内的数据进行约定的映射计算,计算后的结果仍然是在这个集合范围内,这样有限元素个数的集合就叫做有限域,简单理解就是一堆元素构成了封闭的小圈子。
图1、笔者个人对有限域的理解
如图所示图中的小圆点代表有限域中的所有元素,方框代表在有限域内约定的计算规则,这部分数学工具的缔造是整个算法的精髓,更具体的内容不做展开。简言之,通过这套完备的数学理论设计后达到所有的计算结果都可以通过有限域内的元素进行表示,这是AES这种对称公钥加密算法成立的一个重要前提条件。
图2、AES算法的S盒设计
在有这个概念后,就可以构建一个密码本,概念叫做S盒,在AES算法中的作用体现在加密和解密的全过程当中:通过S盒计算将数据加密另一个数据,其采用的数学理论就是有限域的计算规则,这也是AES算法的一个非常重要的特征。具体而言,如上图所示,在内部计算时使用了逆元计算(类似矩阵求逆)和仿射映射(矩阵计算),通过这个计算就设计出S盒,通过S盒算法产品设计工程师就可以完成字符的替换,以此来实现加密,这个S盒的设计方法也算是AES算法特点中的特点,可以说使用这个方法就可以称为AES加密算法了。上图展示了加密的过程,解密的过程将整个过程颠倒过来即可。
而在mbed TLS算法库中,这个S盒是已经设计好了的,可以在aes.C这个文件中找到,是以数组的方式申请在内存空间进行存储的,加密和解密分别对应一个表格,设计工程师在调用时进行查表操作,展示如下。
图3、AES S盒参数在Simplicity Studio中的位置
可以看到这个参数表是可以找到的,虽然可以通过公钥进行加密,但仍然提供了破解依据,如果要增加加密强度,在理论理解深刻的情况下可以进行S盒的改造,本文不做展开。
算法的实现步骤涉及加密次数,行列变换方法,但是其核心还是有限域内计算的应用,只是有更多的应用需求和花活。下图就是AES算法的较完整的加密过程。
图4、AES算法的完整加密过程示意图
对加密过程阐述如下,首先明文和密钥进行一次轮加密操作后开始进行S盒计算,之后再进行行列变换,完成一轮加密过程,然后进入下轮加密,密钥参与每一轮加密。然后根据应用需要(特指密钥长度:128位、192位和256位)完成不同轮数的加密循环(分别对应10轮、12轮和14轮),最终得到密文。加密思路就是这样,细节上有所出入,解密的过程反方向进行即可,因为这是对称加密方法。
下面就通过具体的开发环境操作来设置mbedTLS AES加密算法在Simplicity Studio平台上的应用,并对调试中遇到的问题进行工程上的分析和总结。首先,通过工程的Property选项进行mbed TLS库的引入,设置位置如下:
图5、mbed TLS库配置
上述位置就是在Simplicity IDE中进行mbed TLS库的设置方法,通过设置便可以有效进行数据加密。但是在对EFR32MG12P332F1024GL125进行编译的时候会出现报错的情况,这种情况是由于芯科在第三方支持时不足所造成的,笔者用工具搜索了SDK(使用版本V2.7),下图便是笔者根据编译错误进行查找到的地址定义文件。
图6、根据编译错误搜索mbed TLS算法库的支持芯片(部分列举)
仔细检查核对后发现一些型号的芯片是不支持的,其中就有芯科这款EFR32MG12P332F1024GL125,而笔者使用的EFR32BG22C224F512IM40型号是支持的,对此问题笔者也在芯科的官网上进行了搜索,发现芯科专家的解决办法也仅仅适用于他自己的开发环境,不少人也发现无法解决算法库的引入,对于很多人来说这是一个不好跳过的技术坑,非常浪费开发时间,笔者个人也在这个问题上纠结了很多天才弄明白这个问题,在这里给出个人对这个第三方库的理解:
芯科在第三方库的支持方面还不足,仅有部分芯片在SDK中进行了适配,在比较依赖芯科Simplicity Studio这个开发环境的前提下还是建议使用其支持的芯片,这也是技术支持工程师会在开发前期进行芯片推荐的原因,显然EFR32BG22C224F512IM40在功能上支持更加完善。当然在对算法库熟悉的基础上也可以在mbed TLS的官网上下载文件进行编译使用。
对于工控网络来说,通过无线设备截取数据的方式便可以拦截报文,但是通过AES加密可以让数据更加安全。本文主要通过工程师应用的角度上对AES算法进行了分析,便于在调试时对代码进行跟中,并对AES的实现算法库mbed TLS在芯科EFR32BG22C224F512IM40上的应用中遇到的问题进行处理分析。
网络安全是一个攻守双方此消彼长的行业生态环境,技术在不断进步,AES加密算法应用面非常广,个人认为针对该算法的改进会根据物联网的发展不断进行下去,是值得物联网和网络安全行业非常值得关注的一个点。
- |
- +1 赞 0
- 收藏
- 评论 2
本文由Avatar提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关研发服务和供应服务
相关推荐
【经验】如何查询Silicon Labs蓝牙芯片的QDID
在使用Silicon Labs的蓝牙SoC设计做成的模块或者产品,在过认证的时候,可能会需要对应型号芯片的QDID,本文指导如何查询Silicon Labs蓝牙SoC的QDID。
设计经验 发布时间 : 2022-12-15
【经验】芯科EFR32BG蓝牙芯片发射功率输出20dbm(大于10dbm)的方法
芯科的20dbm系列的蓝牙芯片是可以发射出20dbm的信号的,而在我们使用过程中会发现直接让蓝牙芯片发射出20dbm的信号是会被限制在10dbm的,如何突破这个限制呢,本篇文章就是介绍让芯科的20dbm系列蓝牙芯片发射出20dbm信号的方法。
设计经验 发布时间 : 2023-04-24
【经验】Silicon Labs蓝牙SoC EFR32BG22调试接口锁定后如何解锁
Silicon Labs公司推出的蓝牙芯片EFR32BG22,支持最新的Bluetooth5.2标准及蓝牙MESH网络功能。具有同类最优的超低传输和接收功率和高性能、低功耗的组合提供业界领先的低功耗特性。使用EFR32BG22时,如果Jlink接口被锁定,需要在DOC下操作,本文介绍具体操作步骤。
设计经验 发布时间 : 2021-10-09
安信可科技(Ai-Thinker)物联网专用模组&天线选型指南
目录- LoRa product Radar product WiFi+Bluetooth products 2.4G Series Module GPS Series Module UWB & 4G series module GPRS series module Offline Voice Module Series Antenna
型号- RA-01SH,PB-02-KIT,RTL8720 SERIES,AI-WB1,AI-WB2,AI-WB2-M1,HI-07S-KIT,TB-02-KIT,AI-WB2-12F-KIT,AI-WB2-13-KIT,AI-WB2-13U,AI-WB2-01S,A9,SX1268,RA-01SC,TG-02-KIT,PB SERIES,RTL8710BX SERIES,GPS SERIES,AI-WB2-01M,VC-01-KIT,HI-12F,TB SERIES,HI-12F-KIT,BW16,AI-WB2 SERIES,BW15,BW14,TG-12F-KIT,BW12,RTL8710BX,A9G,HI SERIES,AI-WB2-12S,PB-03,SX126X,AI-WB1-32S,HI-07S,HI-07SL-KIT,PB-01,PB-02,RG-02,AI-WB1-32S-KIT,RTL8720DN,AI-WB2-12F,TG-01M,AI-WB1SERIES,NF-05,NF-02-PA,NF-04,NF-03,BW16-KIT,NF-01-S,SX127X,TB-03F-KIT,LLCC68,TG-02,AI-WB2-07S,NF-01-N,NF-02-PE,AI-WB1-32S-CAM,GP-02-KIT,AI-WB2-M1-I,TG-02M-KIT,TG-02M,RA-08-KIT,GP-01,GP-02,CA-01-KITC,CA-01,2.4G SERIES,AI-WB2-13,PB-03F,PB-03M,TG SERIES,TB-04-KIT,TB-05,GPRS SERIES,TB-04,TG-02F,TB-02,RTL8720DN SERIES,TG-02F-KIT,4G SERIES,PB-03M-KIT,AI-WB2-32S-KIT,BU01,RA-01,PB-03-KIT,ESP32-G,RTL8720,RA-08H,NF-04-MI,VC-02-KIT,NF-05-S,RA-01S,HI-12FL,RA-01H,HI-07SL,AI-WB2-32S,RA-01SCH,PB-01-KIT,RTL8720CF,TG-01M-KIT,TG-12F,AI-WB1-A1S,AI-WB1-12F,TB-03F,BW15-KIT,GPRS,UWB SERIES,GP-01-KIT,AI-WB1-12F-KIT,NODEMCU-BU01,RA-08H-KIT,RD-01,RA-02,RTL8720CF SERIES,RA-08,VC-02,VC-01,HI-12FL-KIT,PB-03F-KIT
选对了针对医疗和可穿戴设备的小型蓝牙芯片,设计毫不费力!
芯科科技一直为医疗设备和可穿戴设备制造商提供小型、专为应用而优化的蓝牙解决方案。以下展示了芯科科技提供的八款小型蓝牙芯片以及快速比较表,可以帮助您为应用程序选择最佳蓝牙解决方案!
应用方案 发布时间 : 2024-02-04
SiWx917 Wi-Fi 6蓝牙低功耗无线SoC,助力智能手表功耗和安全性能提升
SiWx917是Silicon Labs推出的一款支持Wi-Fi 6、蓝牙LE 5.4 和低功耗特性的无线SoC(系统级芯片),专为物联网(IoT)和可穿戴设备设计。这款芯片不仅拥有强大的计算能力和先进的无线连接功能,还具有低功耗和小尺寸的优势,为智能手表市场带来了全新的技术突破。
应用方案 发布时间 : 2024-10-23
芯科科技提供多款无线连接和控制芯片产品及解决方案,BG2x系列蓝牙SoC成就多样医疗物联网用例,
Silicon Labs(亦称“芯科科技”)的无线SoC和MCU助力全球客户的医疗物联网应用创新,持续打造更智能、高效、安全和便捷的健康监测设备。智能和网联技术近年来一直是医疗和健康保障领域内的热门技术,许多厂商都在利用医疗物联网(IoMT)技术开发更加智能和互联的健康监测设备,以利用物联网、云计算、人工智能和可穿戴等新一代信息通信技术,来帮助用户时刻监控自己的健康状况、降低医疗费用和就医麻烦。
原厂动态 发布时间 : 2023-06-29
启“芯”无限,共创未来——磐启微电子携多款创新芯片和产品惊艳亮相深圳国际物联网展
磐启微电子携多款创新芯片和产品惊艳亮相,主打低功耗、超远距离传输、高性能、高可靠性的特性,为客户提供一站式服务,帮助客户的应用方案快速落地。在此次展会,磐启微电子重点展示了超低功耗的BLE芯片、超远距离传输的chirpIoT芯片和超高性价比的BLE lite芯片。
原厂动态 发布时间 : 2024-10-09
沁恒基于青稞RISC-V内核的MCU和自研PHY的USB/蓝牙/以太网接口芯片,适用于计算机手机周边、工业控制、物联网
型号- CH32X035F8U6,CH32X035G8R6,CH32V303RCT6,CH32V103R8T6,CH32V103C6T6,CH32F203K8T6,CH32V203F8U6,CH32F205RBT6,CH32F203C8T6,CH32V203G8R6,CH532,CH531,CH545,CH547,CH546,CH549,CH548,CH32V208WBU6,CH32V208RBT6,CH32F103R8T6,CH32V003J4M6,CH32F103C6T6,CH32F203RCT6,CH32V305RBT6,CH32L103,CH541,CH543,CH32V003F4P6,CH32F103C8U6,CH32X035C8T6,CH32V303RBT6,CH32V208GBU6,CH32V307RCT6,CH32V203K8T6,CH32L103F8P6,CH592,CH32V203C8T6,CH591,CH32V307WCU6,CH32X035F7P6,CH522,CH525,CH527,CH32C035,CH32V203G6U6,CH32V307,CH32F203C8U6,CH32V203C8U6,CH32V203F6P6,CH521,CH32V203RBT6,CH578,CH32V303VCT6,CH577,CH579,CH32F203CBT6,CH32V103C8T6,CH32V003A4M6,CH32X033F8P6,CH32L103F7P6,CH32F203C6T6,CH571,CH573,CH32F103C8T6,CH32V103C8U6,CH32X035G8U6,CH32V003F4U6,CH32L103K8U6,CH32L103C8T6,CH32F208RBT6,CH32V208,CH581,CH583,CH32F203VCT6,CH32F208WBU6,CH582,CH32X035R8T6,CH32V208CBU6,CH555,CH558,CH557,CH559,CH32V303CBT6,CH32L103F8U6,CH32V305FBP6,CH32V203K6T6,CH32V203C6T6,CH552,CH32V307VCT6,CH551,CH554,CH567,CH569,CH568,CH32L103G8R6,CH32F207VCT6,CH561,CH563,CH32V203F8P6
国民技术(Nations)蓝牙SoC选型表
目录- 超低功耗蓝牙芯片
型号- N32WB020,N32WB031,N32WB452REQ6,NZ8801,N32WB020GEQI,N32WB452LEQ6,N32WB031KCQ6-1,N32WB452CEQ6,N32WB452,N32WB031KEQ6-2
蓝牙方案选择指南:蓝牙芯片VS蓝牙模块,哪个更适合?
不论您是设计全新的低功耗蓝牙产品,还是升级现有产品,开发者都面临的一个关键的选择:是采用蓝牙芯片还是蓝牙模块呢?作为蓝牙技术领域的资深专家,信驰达将从蓝牙芯片与蓝牙模块的各自优缺点进行分析,帮助您在选择蓝牙方案时考虑项目规模、具体需求、技术能力、成本预算、上市时间及供应链管理等多重因素。
器件选型 发布时间 : 2024-09-27
【技术】蓝牙5与蓝牙MESH,增加蓝牙传输距离并将蓝牙设备进行组网通讯
Silicon Labs公司作为世界顶级的物联网芯片、软件、解决方案供应商,推出支持蓝牙5.0的SOC芯片EFR32BG系列和通过认证、集成天线、远距离传输、小封装的蓝牙模块BGM系列。Silicon Labs公公司针对蓝牙产品,提供整套完善的开发工具,蓝牙Mesh网络开发包,例程和手机APP代码。运用Silicon Labs公司提供的丰富资源,可以提高设计产品的稳定性,加快上市时间。
新技术 发布时间 : 2018-05-18
宏思电子参加IOTE 2024 第二十二届国际物联网展·深圳站,展示优质信息安全芯片及解决方案
2024年8月28-30日,IOTE 2024第二十二届国际物联网展于深圳圆满落幕,会议汇聚近10万参展观众、全球超800+家参展企业。展出范围涵盖工业物联网、智慧交通、智慧政务、智慧医疗、智慧能源、智能家居等应用领域产品。宏思电子作为业内重要的信息安全芯片及解决方案提供商,受邀出席。
原厂动态 发布时间 : 2024-09-05
【产品】工作频率高达160MHz的Wi-Fi模块ESP32-C3,支持低功耗蓝牙,适合物联网等多种应用
ESP32-C3系列模组是由深圳市安信可科技有限公司开发的Wi-Fi模块。该芯片ESP32-C3搭载RISC-V 32位单核处理器,工作频率高达160MHz,支持二次开发,无需使用其它微控制器或处理器。
产品 发布时间 : 2023-07-01
电子商城
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥61.6004
现货: 260
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
提供语音芯片、MP3芯片、录音芯片、音频蓝牙芯片等IC定制,语音时长:40秒~3小时(外挂flash),可以外挂TF卡或U盘扩容。
最小起订量: 1pcs 提交需求>
查看全部1条回复