AES算法在智能家居通信安全系统中的应用*
2018-07-03江治国
江治国
(安徽国防科技职业学院,安徽 六安 237011)
智能家居控制系统是电子技术、通信技术和互联网技术等交叉融合的综合控制系统,它利用各种先进的技术和设施对家居设备进行综合管理和控制,同时实现家庭的安防监控等功能.随着人们生活水平的提高,智能家居技术将进一步被推广和应用.ZigBee无线通信技术具有易组网、可靠性高和传输快等特点[1],智能家居内部网络若采用ZigBee 进行组网,则既能较大地降低成本,也便于管理与维护.将控制主机与控制器分开,并通过Wi-Fi网络连接,可以实现一对多控制.移动终端可以通过互联网实现对家居设备的远程控制[2].在智能家居给人们生活带来方便的同时,必须重视数据在传输过程中的安全问题.用户信息在传输过程中容易被窃取和篡改,这给用户带来了极大的安全隐患.智能家居控制系统通过家庭网关将网络分为外部网络和家庭内部局域网.外部网络主要实现用户登录信息的合法性验证和登录信息被窃取后的应对策略[3].在家庭内部局域网中,需要对传输的数据进行加密,以防止数据在传输过程中被窃取和篡改.笔者拟采用一次口令认证登录系统来解决外部网络的通信安全问题,采用基于AES-128加密算法[4]来解决家庭内部局域网数据传输的安全问题.
1 智能家居控制系统设计
1.1 总体设计方案
智能家居控制系统一般包括核心控制器、ZigBee协调器、智能终端和控制对象等,主要实现对家用电器的远程控制和家庭安防、温湿度、瓦斯泄漏的监测报警等功能.智能家居控制系统的总体设计方案如图1所示.
图1 智能家居控制系统总体设计方案Fig. 1 Smart Home Control System Overall Design Plan
1.2 网络架构
智能家居控制系统网络架构如图2所示,外部网络和家庭内部网络通过嵌入式网关进行连接,家庭内部网络主要采用ZigBee无线传感技术进行组网,从而实现对智能终端设备的控制.用户主要通过智能手机等设备借助Wi-Fi实现对家居设备的远程控制,在整个过程中嵌入式网关发挥着承上启下的作用,用户借助远程控制终端并通过Internet登录访问家庭嵌入式网关,嵌入式网关与协调器之间通过无线连接.
图2 智能家居控制系统网络架构Fig. 2 System Network Architecture Diagram
1.3 数据传输安全软件架构
在数据传输过程中,当外部网络和家庭内部网络进行数据交换时,智能家居控制系统存在安全隐患,因此必须选择一种可靠的数据加密算法.笔者主要采用一次口令认证系统来确保外部网络的通信安全,采用对称加密算法和非对称加密算法来确保家庭内部网络的通信安全.对称加密算法具有算法开放、免授权和运算量小等特点[5-6],在加密和解密的过程中使用相同的密钥,并且加密和解密速度比较快;非对称加密算法在加密过程中采用公钥,解密过程中采用私钥,是一种双密钥加密技术.相对于对称加密技术而言,非对称加密算法的安全性更高.本设计采用一种对称加密算法即AES-128加密算法来实现家庭内部网络数据的加密.为保证其密钥的唯一性,将用户身份认证系统与数据加密系统进行融合.数据传输安全软件架构如图3所示.身份认证服务器是身份认证的核心,是身份认证系统与数据加密系统连接的纽带.用户通过登录实现的对家庭内部网络访问的功能主要由用户身份认证服务器控制,当它接收到客户端的连接请求后,便完成与客户端的交互验证,同时产生动态密钥.
图3 数据传输安全软件架构Fig. 3 Data Transmission Security Software Architecture
1.4 一次口令身份认证系统软件架构
一次口令身份认证系统主要包括客户端认证、身份认证服务器以及动态密钥生成3个模块,其主要功能是实现客户端和服务器的相互认证,只有当双方都认为合法的情况下,系统才能完成整个用户认证过程.认证过程中系统产生128位动态密钥,进而产生后面加密系统中的种子密钥.一次口令身份认证系统软件架构如图4所示.用户通过客户端进行远程登录时输入登录口令,验证服务器接收到用户口令后,系统采用对应的算法对认证值进行计算,并将计算的结果与用户一次口令进行匹配,若匹配成功则判定登录合法.一次口令认证技术采用双运算因子,用用户名作为身份识别码,通过特定方式产生伪随机数,在执行过程中将身份识别码和伪随机数作为算法的输入,经运算后得到动态的登录口令.动态的登录口令随时间变化,只要2次使用相同的口令进行登录,该登录就被系统判定为登录失败.[7]
图4 一次口令身份认证系统软件架构Fig. 4 One-Time Password Authentication System Software Architecture
2 AES数据加密和解密的过程分析
AES是一种对称加密算法,包含明文分组交换和非线性变换交换.AES加密和解密的算法流程如图5所示.
图5 AES加密和解密算法流程Fig. 5 AES Encryption and Decryption Algorithm Flow Chart
从图5可以看出,AES加密和解密算法在执行过程中,先对输入数据进行分组,然后将分组数据经多轮非线性变换后生成密文数据和解密数据.每轮非线性变换主要包括S盒变换、行变换、列变换和拓展密钥异或运算4种操作.其中S盒变换主要采用查表方式[8-9],使用S盒中的字节代替中间状态矩阵.经S盒变换后的矩阵第i位可由
图6 S盒变换Fig.6 S-Box Transformation Diagram
行变换主要是对经S盒变换后的矩阵除第1行之外其他行的不同字节偏移量进行循环移动,其移动过程为
其中:0 shift(1,4)=1,shift(2,4)=2,shift(3,4)=3. 通过移位操作后,字节由最低位被移动到了最高位.行变换如图7所示. 图7 行变换Fig. 7 Row Transformation Diagram AES-128加密算法的4×4状态矩阵中的每一列都可以被看作一个多项式,列变换主要是进行列与列之间的运算,列变换后的列通过与多项式a(x)相乘后又得到任意列.a(x)的表达式为 a(x)={03}x3+{01}x2+{01}x+{02}. 列变换如图8所示. 图8 列变换Fig. 8 Column Transformation Diagram 本智能家居系统的嵌入式网关采用友善之臂S3C2440作为硬件平台,采用Linux系统构架,在身份认证系统与数据加密系统的设计过程中,首先启动家庭网关并等待用户登录,通过验证后,网关将对用户发送的指令进行加密,从而完成相应的控制.身份认证系统与数据加密系统的算法流程如图9所示.在客户端身份认证过程中,先提出认证请求,再验证服务器合法性并为服务器认证请求提供应答.客户端发起认证请求后,需要等待服务器反馈的数据以便验证服务器的合法性;完成了服务器的合法性验证后,认证服务器通过计算验证信息确定客户端的合法性;验证算法启动后,在客户端和安全网关有一个交互算法验证的过程;当交互验证通过后,网关开始利用AES-128算法对用户传送的指令进行加密,并将加密后的指令传送至家庭局域网,进而完成对家庭终端设备的控制. 图9 身份认证系统与数据加密系统算法流程Fig. 9 Authentication System and Data Encryption System Algorithm Flowchart 一次口令身份认证系统具有多重认证机制,可以有效抵御重播攻击,而且由于不保存共享密钥,可以有效防止密钥被盗,保证了外部网络的安全.对于家庭内部网络的安全,先通过AES-128加密/解密算法,再经密钥拓展后进入循环体,最后经11轮循环运算完成对数据的加密和解密工作.AES-128加密/解密算法的核心代码为: AES_128(state key) {keyExpansion(key,expanded_key); AddRoundkey(state expanded_key); For(int i=0;i<10;i++) {round(state,&(expanded_key+10*i)) } FinaRound(state,expanded_key+40); 由于密钥长度为128位,攻击者要想破译出密码几乎不太可能,因此AES-128加密/解密算法可以有效抵御强力攻击、差分与线性密码攻击、渗透攻击和扩展攻击等多种密码攻击手段.采用一次口令身份认证系统和AES-128加密/解密算法相结合的手段,可以有效提高系统安全性. AES高级数据加密标准[10]也被称为分组加密算法,是一种对称密钥分组迭代加密算法,其中每个密文数据块会与后续明文融合[11-15].采用该算法作为智能家居系统的加密算法,可以解决传统身份认证技术中存在的静态密码被盗、伪造服务器攻击等问题,有效地解决整个智能家居系统的通信安全问题.但是随着输入数据字节数的增加,算法的运行时间和时钟周期将不断增加,极大地影响了系统运行的效率,这有待今后展开深入研究,进一步提高系统运行的稳定性与有效性. 参考文献: [1] 戴泽淼,王 胜,梁继会.基于ZigBee嵌入式智能家居控制系统的设计与实现[J].吉林师范大学学报(自然科学版),2015,36(2):87-90. [2] 蔡正保.一种基于互联网的远程家居控制装置的设计[J].齐齐哈尔大学学报(自然科学版),2016,32(2):53-55. [3] KOMNINOS N,PHILIPPOU E,PITSILLIDES A.Survey in Smart Grid and Smart Home Security:Issues,Challenges and Countermeasures[J].IEEE Communications Surveys & Tutorials,2014,16(4):1 933-1 950. [4] WU Yong,HU Defa.Encryption Model of Network Information Based on AES Algorithm with Dimension Reduction Chaos Optization[J].Metallurgical and Mining Industry,2015,7(4):12-18. [5] 冷 飞,徐进华,栾仕喜.RSA融合AES算法的网络信息安全方法[J].华侨大学学报(自然科学版),2017,38(1):117-120. [6] 刘巧平,周 斌,王文涛.基于椭圆曲线的信息加密及网络身份认真算法的研究[J].自动化与仪器仪表,2016(8):105-111. [7] 郑海龙,刘建伟.一次口令认证机制的分析与研究[J].信息安全与通信保密,2008,11(31):64-66. [8] 赵 君.基于64位处理器的Android 平台优化AES加密算法[J].哈尔滨理工大学学报,2017,22(3):8-10. [9] 杨小东,王 毅.AES密钥扩展新方法[J].微电子学与计算机,2012,29(1):102-104;108. [10] 曹晓丽,王爱强.AES算法研究[J].洛阳师范学院学报,2013,6(2):56-57. [11] 钱志鸿,王义君.物联网技术与应用研究[J].电子学报,2012,40(5):1 023-1 029. [12] 谢秀颖,王 敏.改进的AES算法在智慧住区门户中的应用与实现[J].计算机系统应用,2017,26(10):290-295. [13] 段俊红,韩炼冰.智能家居系统的信息安全保密研究[J].通信技术,2016,49(10):1 398-1 400. [14] 曾繁婧,刘晓东.基于无线局域网的AES加密算法研究[J].电子设计过程,2017,25(5):119-122. [15] 朱新良.物联网技术及安全问题[J].上海理工大学学报,2015,37(2):190-196.3 身份认证系统与数据加密系统软件设计
4 身份认证系统与数据加密系统的安全性分析
5 结语