基于AES算法的工业物联网设备信息采集与加密应用

2021-03-25 11:33张莉王泰姜启升通信作者
新型工业化 2021年11期
关键词:密钥加密联网

张莉,王泰,姜启升通信作者)

(1.山东省电子信息产品检验院,山东 济南 250014;2.青岛天纳克富晟汽车零部件有限公司,山东 青岛 266200;3.青岛明思为科技有限公司,山东 青岛 266041)

0 引言

工业物联网通过多源传感器感知工业生产过程,采集关键制造信息,利用现代通信技术、智能分析技术使得工业生产智能化,从而提升制造效率及产品质量,降低整个供应链成本,实现客户满足度最大化[1]。工业物联网设备层包括机床、控制器、机器人及传感器等,制造装备、主流品牌PLC的控制端接口及海量类型传感器由独立厂商生产,普遍存在通讯协议、接口不兼容等问题,形成了控制与信息化“孤岛”,阻碍了现场关键数据的实时采集[2-4]。此外,工业物联网设备信息数据包含企业敏感信息,在工业互联网环境中信息传输可能会遭到攻击、拦截,导致关键数据泄露。腾讯安全发布的《2020年公有云安全报告》中指出物联网设备数据泄露、遭受攻击已成为主流安全风险,现有的工业物联网系统需解决好工业物联网设备信息安全问题。物联网网关采用高级加密标准算法可实现对网关操作系统和节点信息采集进行验证加密,可实现设备信息的保护[5-7]。许韫韬等[8]人通过改进AES密钥间的关联性与初始密钥的更换策略,基于STM32平台验证了改进算法的稳定性及运行效率。贾凡等[9]人基于MQTT框架,利用传感器技术感知工业现场的多源异构数据,实现工业物联网通信系统数据的交换、设备状态的远程监测。

基于对工业物联网设备信息采集与保护,本文分析工业物联网设备层各通信协议的特点,制定基于STM32单片机的工业物联网设备信息统一采集标准。根据工业物联网中设备信息数据实时性强,且响应要求高的特点,基于通用标准算法设计AES算法,实现工业物联网设备信息敏捷安全加密。

1 基于AES算法的工业物联网设备信息加密算法设计

高级加密标准AES(Advanced Encryption Standard)是对称分组密码算法,通常密钥长度分别为128,192或256比特,其算法的加密轮数取决于密钥的长度,密钥长度越长,加密过程越复杂,算法安全性越高,破解难度越大。AES算法的数据预处理过程是将数据块预先分组为128bit大小的数据单元,数据分组单元按先后顺序填入状态矩阵(4行4列)中,在上述状态矩阵中通过多轮迭代实现算法的轮变换(字节替代、行移位、列混淆和轮密钥加)。AES算法为消除加解密密钥间的相关性,通过扩展算法将种子密钥非线性扩展,形成每组的加密密钥,常用的密钥扩展算法有非线性变换、混合函数变换等算法,密钥的长度取决于加密算法迭代次数。轮密钥扩展使得算法加密每轮迭代使用不同的密钥,提高AES算法安全性、高效性,能够有效抵御不同的网络侵入式攻击。

AES算法的加解密效率取决于密钥长度、加密轮数及数据明文长度,本文将在工业互联网设备信息传输端进行加解密,要求时间响应快,因此选用AES-128方法,采用128bit分组,算法加密轮数为11。标准的AES算法有ECB、CBC、CTR、CFB、OFB 5种加密模式。其中CTR加密模式具有加密速度快、安全性高、不会出现传输误差的特点,因此本文采用AES算法的CTR模式进行加密。

传统的AES算法的分组密钥是利用初始化密钥扩展而成的,密钥扩展后分组密码存在相关性导致初始密钥被攻破的可能性将增大,同时在数据存储和传输过程中出现解密错误的几率将增高,为此本文将采用伪随机数实现密钥的扩展,降低分组密码的相关性,提高算法的扩展性。密钥扩展的算法步骤为:①伪随机序列生产,令a和b为算法选定的素数,则集合 表示为其中R为整数集合,假设则根据产生伪随机序列作为初始密钥,生产4*4密钥矩阵。②根据加密轮次扩展密钥,生成长度4*4*(10+1)的字节数组,W,W[0-15]的值等于初始密钥4*4矩阵值,后续W[i]有W[i-4]与W[i-1]计算生成扩展密钥矩阵。③将扩展密钥矩阵W中W[0-15]用于初始轮密钥操作,W[16-31]用于第一轮密钥操作,依次类推。

基于AES算法的工业物联网设备信息加密算法步骤为:①将获取到的工业物联网设备信息明文信息按照128bit拆分若干个明文块。②基于伪随机序列生成扩展密钥矩阵,并将密钥矩阵按轮次进行分配。③通过轮密钥加过程进行初始轮加密。④根据轮次依次按照字节代替、行移位、列混淆、轮密钥加过程循环加密,最终获得密文,完成加密。

基于AES算法的工业物联网设备信息解密算法步骤为:①获取工业物联网设备信息密文块。②依照扩展密钥矩阵W[40-43]值通过轮密钥加过程进行初始轮解密。③根据扩展密钥矩阵W[(40-i)-(43-i)]值(1<i<11,i为轮次),依次按照逆向行移位、逆向字节代替、轮密钥加、逆列混淆过程循环解密,最终获得明文块。④将明文块按序排列形成完整明文信息。

2 基于STM32单片机的工业物联网设备信息加密系统设计

工业物联网的设备层包括数控机床、机器人、PLC设备、RFID设备,数据采集传感器等,设备间数据通信协议不同,设备信息数据格式多样,形成了多源异构的数据模式,需要在数据分发前对其进行结构化数据处理以及加密。本文在分析工业物联网设备层的设备通信协议及设备信息数据格式基础上,设计了基于STM32单片机的工业物联网设备信息加密系统,其架构如图所示。系统架构分为设备层、数据适配层、业务应用层。

图1 基于STM32单片机的工业物联网设备信息加密系统架构

目前工业物联网设备层中主流PLC设备均支持OPC协议,多源传感器采用Modbus协议,其他设备多采用Ethernet、PROFINET等协议,针对上述多源、不同的复杂通信协议,本文开发的嵌入式信息系统设计了数据适配器,系统的数据适配器主要包括协议适配解析层、数据解析层、数据分发层三个模块,协议适配解析层主要对现场设备通过各通讯协议得到的数据进行采集和缓存,由数据解析层对缓存中数据进一步加密处理和分解并存取至缓存,然后交由数据分发层进行数据分发。数据适配器在配置文件中进行参数设置,并设置监控服务监控各个层次关键参数(如缓存占用率、处理速度、线程数、接入业务应用数、接入采集设备数等),通过TELNET服务实现远程监控,使得系统具有层次化、多线程并行处理、多缓冲区等特性。

工业生产过程中涉及多种采集设备,采集设备支持的传输协议也不同,系统数据适配层中的配置管理模块根据接入协议,配置协议适配解析层的具体协议解析组件。配置方式为修改配置文件的协议配置参数,无需修改程序代码。如果新增加了一种协议,只需要按照协议适配解析层接口要求开发新的协议组件,将新协议组件部署到协议组件文件夹,配置后即可实现新协议的解析,开发与测试柔性程度高,且提高了系统稳定性与扩展性。

3 实例验证及系统开发

工业物联网中设备信息数据实时性强,且响应要求高,本文开发了基于STM32单片机开发的嵌入式信息处理系统,通过并行处理及代码优化,实现了工业物联网中设备信息的高效处理与加密。

系统采用经济型STM32F407Z6T6型ARM芯片,带有FPU的32位Cirtex-M4 高性能CPU,主频高达168MHz,15个通信接口,可实现多个设备信息采集。将改进AES算法与数据适配器程序代码(.hex程序文件)通过ISP软件烧制单片机ROM。系统通过通信段监控设备,将采集到的信息送入STM32F407Z6T6型ARM芯片,进行数据处理与加密,并将其分发出去。

嵌入式信息处理系统监控界面利用Visual Studio 2015工具开发,通过串口通信侦听数据收发,解析、加密操作。基于上述平台搭建了测试平台,串接5台PLC控制器、2台机器人、2台数控机床及6套传感器,采集设备状态、电压、功率、转速等数据,通过系统数据适配器的解析,获得了统一结构化的数据,并对其进行了AES算法加密(如图所示),系统实时性好,明文长度为500bit时,系统加密时间约0.02ms。

图2 监控系统界面

4 结语

通过分析工业物联网设备层不同装备通信协议,设计开发了设备层数据适配器,实现了现场设备信息采集、数据结构化。针对设备层信息数据面临的安全威胁,从保护数据机密性出发,设计了基于AES算法的工业物联网设备信息加密算法。利用Visual Studio 2015工具开发了基于STM32单片机的工业物联网设备信息加密系统,对算法进行了性能测试,实验证明AES算法加密系统实时性好,稳定性高。

猜你喜欢
密钥加密联网
“身联网”等五则
《物联网技术》简介
密码系统中密钥的状态与保护*
一种基于熵的混沌加密小波变换水印算法
TPM 2.0密钥迁移协议研究
抢占物联网
一种对称密钥的密钥管理方法及系统
认证加密的研究进展
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密