1.基于窄带物联网的加密通信方法,其特征在于,包括以下步骤:
S1.服务器通过窄带物联网通信模块对终端节点进行身份认证,若身份认证成功,则服务器与终端节点建立通信连接并进入S2;若身份认证失败,则结束;
S2.服务器通过窄带物联网通信模块向终端节点发送生成秘钥表命令和秘钥种子,终端节点收到秘钥种子后生成与服务器相同的秘钥表;
S3.终端节点利用伪随机数生成器生成秘钥并对数据加密;
S4.服务器接收到数据后对通信内容进行解密,然后发送给用户客户端。
2.根据权利要求1所述的基于窄带物联网的加密通信方法,其特征在于,步骤S1中服务器对终端节点身份认证具体包括以下步骤:S11.终端节点Ni产生随机数R1,终端节点Ni将自己的身份标识IMEI号IMEINi和随机数R1发送给服务器;
S12.服务器收到消息后,首先验证终端节点的身份标识IMEINi是否合法,如果是非法节点,则丢弃数据包;若节点合法,则利用计算公式 计算终端节点的主密钥KNi,并生成随机数R2,然后将随机数R2发送给终端节点Ni;
S13.终端节点Ni利用下述公式计算认证身份信息IDENTNi,然后将IDENTNi发送给服务器,计算公式为:S14.服务器利用下述公式计算认证身份信息IDENTs,计算公式为:S15.判断IDENTNi与IDENTs是否相等,若IDENTNi=IDENTs,则身份认证成功,令终端节点Ni的身份认证标识AUNi=1并对终端节点Ni进行密钥分配;若IDENTNi≠IDENTs,则该终端节点身份认证失败,服务器拒绝与其通信,则令终端节点Ni的身份认证标识AUNi=2。
3.根据权利要求1所述的基于窄带物联网的加密通信方法,其特征在于,步骤S2中服务器生成秘钥种子具体包括以下步骤:服务器利用种子生成器随机产生一个数值作为密钥表的一个密钥种子seed,将密钥种子seed作为随机数生成器的参数,随机产生256个密钥,将生成的256个密钥的值存储在二维数组密钥表Ts[16][16]中;
步骤S2中终端节点生成秘钥表具体包括以下步骤:终端节点收到服务器的生成密钥表命令和密钥种子seed后,生成与服务器相同的大小为256个密钥的密钥表,并将生成的256个密钥的值存储在二维数组密钥表TNi[16][16]中。
4.根据权利要求1所述的基于窄带物联网的加密通信方法,其特征在于,步骤S3中终端节点生成秘钥并对数据加密具体包括以下步骤:S31.利用伪随机数生成器生成两个[0,15]范围内的随机整数m,n分别作为密钥表的横坐标和纵坐标;
S32.从密钥表TNi[16][16]中取出值TNi[(m+16-1)mod16][n]、TNi[(m+1)mod16][n]、TNi[m][(n+16-1)mod16]和TNi[m][(n+1)mod16],分别以上述四个数值为参数,利用伪随机数生成器生成LCHAOSAES的四个密钥:λ、x0、μ和y0,根据IMEINi得到密钥N;
S33.利用密钥λ、x0、μ、y0和N对数据加密;
S34.将密钥表的坐标值m,n附加在密文的后方一起发送给服务器;
步骤S4中服务器对通信内容进行解密具体包括以下步骤:服务器收到数据后,首先获得坐标值m和n,从密钥表Ts中取出值Ts[(m+16-1)mod16][n]、Ts[(m+1)mod16][n]、Ts[m][(n+16-1)mod16]和TNi[m][(n+1)mod16],生成四个密钥:λ、x0、μ和y0,根据IMEINi得到密钥N,对通信内容解密从而获得实际内容。
5.根据权利要求4所述的基于窄带物联网的加密通信方法,其特征在于,步骤S32中生成LCHAOSAES的四个密钥的方法具体包括以下步骤:S321.初始化参数:
数据收发方的密钥内容包括:一维Logistics映射的控制参数λ和初始参数x0,Tent映射的控制参数μ和初始值y0,以及基本迭代次数N;
S322.将明文分组:
将明文以16字节为单位进行分组并根据待加密明文的长度length计算明文的分组参数m和n;其中,m表示明文分组的组数,m=length/16;n表示明文分组后剩余的字节数,n=length%16;Logistic和Tent的迭代次数分别由m和n控制;
S323.产生混沌序列以及合成初始密钥:先将Logistic映射迭代N+m次,Tent映射迭代N+n次,再按照以下过程为第i(0≤i≤m)个分组以及剩余的n字节生成初始密钥:(1)将Logistic映射继上次迭代结果继续迭代8次,产生8个混沌实数:x1,x2,...,x8;
(2)将Tent映射继上次迭代结果继续迭代8次,产生8个混沌实数:y1,y2,...,y8;
(3)截取实数xj(1≤j≤8)小数部分的前四位数字作为整数并对256取模,得到有限域GF(28)上的整数Xj(1≤j≤8);
(4)截取实数yj(1≤j≤8)小数部分的前四位数字作为整数并对256取模得到有限域GF(28)上的整数Yj(1≤j≤8);
(5)将两组整数[X1,X2,X3,X4,X5,X6,X7,X8]和[Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8]交叉组合,生成的[X1,Y8,X2,Y7,X3,Y6,X4,Y5,X5,Y4,X6,Y3,X7,Y2,X8,Y1]即为初始密钥;
S324.动态加密以及尾端处理:
(1)对第i(0≤i≤m)个明文分组加密,首先利用密钥扩展算法将该组的初始密钥扩展,为6轮运算过程生成轮密钥;利用轮密钥对该组明文加密。
(2)对剩余的n个字节的明文加密,将初始密钥的前n个字节与剩余的n个字节的明文异或。
6.根据权利要求1所述的基于窄带物联网的加密通信方法,其特征在于,步骤S321中基本迭代次数N的获取具体包括以下步骤:首先获取身份标识IMEI号的后三位数记为number,其次根据number的值设置LCHAOSAES算法的基本迭代次数:若number<100,则N=100;否则,N=number。
7.基于窄带物联网的加密通信装置,其特征在于,包括终端节点、窄带物联网通信模块、服务器和用户终端,终端节点的串口通信端与窄带物联网通信模块的串口通信端连接,窄带物联网通信模块的服务器通信端与服务器的窄带物联网通信端连接,服务器的客户端接口与用户终端连接;用户终端用于访问服务器实现信息的查询。
8.根据权利要求7所述的基于窄带物联网的加密通信装置,其特征在于,终端节点具体包括:节点接收模块,用于接收服务器发送的指令;
节点发送模块,用于将自己的身份标识IMEI号和随机数发送给服务器进行身份认证;
节点生成模块,节点生成模块用于生成进行身份认证的随机数R1,然后根据随机数R2生成认证身份信息IDENTNi、;节点生成模块还用于根据服务器的指令生成秘钥表;
节点加密模块,用于对数据进行加密。
9.根据权利要求8所述的基于窄带物联网的加密通信装置,其特征在于,服务器具体包括:服务器接收模块,用于接收终端节点和用户终端发送的指令;
服务器判断模块,用于验证节点的身份标识IMEI号是否合法、以及判断IDENTNi与IDENTs是否相等;
服务器发送模块,用于向终端节点发送生成秘钥表命令和秘钥种子、随机数R2服务器生成模块,服务器生成模块用于根据验证节点的身份标识IMEI号的合法性生成终端节点的主密钥KNi和随机数R2,然后生成认证身份信息IDENTs,服务器生成模块还用于生成秘钥种子和秘钥表;
服务器解密模块,用于将接收到的数据进行解密。
10.根据权利要求9所述的基于窄带物联网的加密通信装置,其特征在于,用户终端包括PC、平板或手机。