□ 文 严丽娜 梁 璟 周常茂
随着云计算、大数据以及人工智能等前沿技术的迅速发展,万物互联、数据共享等成为一种趋势,对于物联网安全方面要求也越来越高。如何有效利用传感器网络、融合互联网传统优势技术,实现物联网数据向远端安全、有效地传输,已成为物联网发展亟待解决的重要问题。
目前,传感器网络依托物联网,在军事、环境监测、医疗、工业生产、交通控制等领域的应用越来越广泛。特别是传感器随机部署在复杂环境中,容易受到恶意攻击。因此,安全问题已经成为了物联网传感器应用的研究热点。
物联网的飞速发展中,物联网传感器的种类也丰富起来,温度、湿度传感器,压力传感器,气体传感器,光学传感器,加速计,陀螺仪都已经是老一代的传感器了,新一代的传感器功能更是复杂,例如无电池传感器解决了物联网传感器更换电池麻烦的问题,综合多种不同类型的传感器混合成电能给物联网设备供电,时间长达20年且不需要经常去维护它。还有网状传感器,它比一般的传感器更加贴合你的身体,但不会使你觉得不舒服。它具有难以计数的数据点采集你的身体信息,能够追踪你身体的精确运动。
物联网传感器收集的有很多数据类型,视频数据、音频数据、文本数据等。由于物联网数据具有海量性、复杂性,同时有部分数据需要更高的保密性。例如军事物联网传感器收集到的信息回传到指挥所时,其中的传输路径存在安全隐患,存在被人窃密的可能。这时候就亟需一种可靠的加密方式。
如果在传感器上直接加装加密机,由于传感器种类多,结构各不相同,实现的技术难度将会特别大。而如果我们转换一种思路,在传输路径上的某处加装加密板卡,则会最大程度上保障了数据的安全性,加密板卡作为传感器的外附结构,只需要设计对视频、文本、音频三种数据的加密即可实现对物联网传感器数据的加密。此技术可应用于数据管理中心、重点试验室等各种数据需要加密的场景,构建物联网数据远程透明传输加密的体系结构,可保障数据的安全性,降低成本,提高传输效率。由于数据中心的数据处理能力强大,可以很好解决远传传感器端处理不了数据的问题。
本文提出物联网传感器远程数据透传加密技术体系,主要用于物联网安全体系中的传输安全,利用加密机将传感器终端收集到的数据进行实时加密,最后通过封装发送到传输信道上传输到数据中心端。如果不对数据进行加密则在传输过程中可能会泄露重要数据信息,所以需要这样一种加密方案来增加数据传输的安全性。因为没有对传输信道或者在传输过程中对数据进行任何的处理,所以可以视为一种“透明”传输,但加上加密机后,此方案就可以安全高效地进行物联网传感器数据远程传输。
物联网传感器透传加密体系由传感器(物联网设备)和加密机组成,加密机主要由数据接收,数据加密处理,封装发送几个部分组成,通过有线或者无线的方式均可将数据传输到加密机上,再由加密机统一转发出去,如图1所示。
图1 物联网传感器透传加密技术体系拓扑图
方案第一步,图像、音频、视频等数据包括不需要加密的数据会被传感器收集至与加密机的传输接口处,再由数据处理模块进行统一处理;第二步,加密机会根据不同的数字化和加密密级要求,对不同的数据采用不同的加密模型,不需要直接进行加密的数据则一般不会直接通过其他加密方法;最后一步,将加密后的数据进行封装,并发送到传输信道上,通过传输信道交由数据中心对数据进行处理。
本文所提出的物联网远程数据透传加密技术主要作用于中间的网络层,传感器在感知层接收到感知的数据准备传给远程数据中心的过程中,通过加载在芯片中的加密算法对传输的数据进行加密,从而达到安全传输的目的。
加密机的每一个数据都会通过分组信号模块把这些数据划分成128bit的长度,然后传输至加密模块,通过事先嵌入的AES算法对数据进行加密处理,最后将加密后的数据进行封装发送到数据中心端。
当前AES算法也是现阶段改善计算机传输过程中安全性的主要算法之一。目前为了保障物联网远程数据的安全能够得到更好的优化,可以使用AES加密算法,并且以AES算法作为相应的理论基础,根据通用数据的类型,对算法分组长度,密钥长度等内容进行合理设计。AES128和加密AES256主要的加密差异之处在于密钥的数字长度不同(分别为128bits,256bits)、加密文件处理的密钥轮数也不同(分别为10轮,14轮),后者的加密强度比前者更高。
AES是一种对称加密算法,包含明文分组交换和非线性变换交换。AES加密和解密的算法流程,如图2所示。
图2 AES加解密流程图
密钥复杂性是保障算法安全性的重中之重。例如,当一个分组的长度与密钥总数之间为128位,AES的加密计算方式就需要用10个子键重复10轮。AES键的扩充目标就在于把输入128位键扩充到11位128位的子键,流程如图3所示。
图3 密钥扩展流程图
字节的直接替换映射方法主要是通过使用函数SubBytes和函数S-box来直接完成一个从原始字节前的映射替换到另外一个原始字节的直接映射,如图4所示。例如:其中当一个新的字节66被直接替换后的映射值可以表示为,则s[6][6]=33,再通过函数s-1即可直接替换得到其所有被替换前的一个字节映射值,s-1[3][3]=66。主要操作为:state[x][x]=aes_sbox[state[x][x]>>4][state[x][x]&0x0F]。
图4 字节替换流程图
行位移先定义一个值t,t为行值,实现一个4×4矩阵内部字节之间的置换,第一行保存不变,第二行循环左移1个字节,第三行循环左移2个字节,第四行循环左移3个字节。主要操作为:t=state[x][y];state[x][y1]=state[x][y2],如图5所示。
图5 行位移流程图
根据该矩阵的相位加和乘法,在列组合的整个过程中(把场gf(28)上的算术属性代入),与各个数字节相对应的值仅与列组4个数字节相关。mul的第二索引(列)是乘法因子。仅使用两个不同系数:0x01、0x02、0x03、0x09、0x0b、0x0d和0x0e,但是1的乘法可以忽略不计。表格中的每一列,这些系数中的一个以值的升序(0x00到0xff)来表示,流程、代码如图6、7所示。必须注意以下几点:
图6 列混合流程图
(1)将与字节相对应的值加倍,将1比特的2值比特向左移位。若数值最大的比特为1(表示值在128以上),则移位后的结果必须是XOR00011011
(2)乘法对于加法满足的分配比率
(3)此处的矩阵乘法不同于一般意义上的矩阵乘法,其中模块2的加法(XOR运算)用于每一值的加法。
图7 列混合代码
在加密过程中,每个回合的输入都是用圆键(XOR是当前分组和扩展键的一部分)进行XOR;由于二进制连续排他逻辑和的结果是不变的,所以在解码过程中可以通过最后一个回合键的异或来恢复输入。该算法通过分组XOR加密(添加循环键),分组混乱扩散(另外三个步骤)以及XOR加密。这种方法十分有效且安全,流程如图8所示。
图8 轮密钥加流程图
本文提出的物联网传感器透传加密体系可以应用于各类物联网传感器上,利用网络与陆、海、空、天等多维空间、不同种类的平台传感器融合在一起,将各物联网传感器,例如光学照相机、热像仪、雷达等专用设备采集到的数据通过透传加密技术进行加密,在传感器到数据中心之间的信道中实现透明传输。它可以确保数据在信息传输时间和途中的保密性,是一种简单、安全、高效的信息加密技术。