一种物联网设备间的安全认证和数据通信系统的制作方法

文档序号:16926337发布日期:2019-02-22 19:53阅读:218来源:国知局
一种物联网设备间的安全认证和数据通信系统的制作方法

本发明涉及通信安全技术领域,特别是一种物联网设备间的安全认证和数据通信系统。



背景技术:

伴随着物联网技术的发展,越来越多的设备都接入到互联网中,这些设备不仅为人们的生活提供了多种多样的便捷服务,同时也成为工作中随处可见的工具,随之而来的安全问题也渐渐的得到人们的重视。

物联网设备间需要进行命令、数据的传输,然而当前的物联网设备间少有进行相互间身份认证,且传输的命令和数据也多是明文,这使得整个系统的安全性极低,容易受到不法份子的攻击。由于没有进行设备间的身份认证,攻击者可以轻易的通过冒充身份接入到由物联网设备组成的系统中,也因为设备间传输的命令和数据是明文,可以轻易的被不法分子获取和分析,从而发送各种命令和数据,以达到控制系统中物联网设备的目的。在少数有设备身份认证和数据传输加密的系统中,又普遍采用的了软件实现ssl/tls所定义的方式来进行设备间的握手和数据传输,此种方式交互次数多,数据传输量大,并且采用软件的数据加解密算法,应用在物联网设备间增加了设备和系统的开销,大大降低了设备的工作效率。



技术实现要素:

本发明所要解决的技术问题是:针对保障物联网设备不会被伪装身份的设备访问、控制、获取数据的问题,出于提高物联网设备以及物联网设备所属系统整体工作效率的目的,提出了一种物联网设备间的安全认证和数据通信系统。

本发明的技术方案如下:一种物联网设备间的安全认证和数据通信系统,包括:

数据注入系统,用于产生可信物联网设备的id、证书、公私钥对,并将所述id、证书、公私钥连同数据注入系统的公钥一同注入到可信物联网设备中;

可信物联网设备,用于存储数据注入系统下发的各种数据,在不同的可信物联网设备存储的数据中,除数据注入系统的公钥相同,各个可信物联网设备间的id、证书以及公私钥对均不相同。

进一步的,所述数据注入系统和可信物联网设备均具有随机数产生模块、加解密模块以及物理上的安全存储区域。

进一步的,所述可信物联网设备由安全芯片、引用处理器和通讯模块组成。

进一步的,所述数据注入系统通过读卡器和可信物联网设备连接。

进一步的,所述数据注入系统给可信物联网设备的下发数据的过程为:

数据注入系统生成设备x的idx,其中,设备x为任意一个可信物联网设备;

数据注入系统生成设备x的公钥pkx、私钥skx;

采用数据注入系统的私钥skm给idx、公钥pkx进行签名生成证书signx;

计算设备x的idx、公钥pkx、私钥skx、数据注入系统的公钥pkm的哈希值hashx,用以保证数据的完整性;

数据注入系统发送idx、公钥pkx、私钥skx、证书signx、公钥pkm、哈希值hashx给设备x。

进一步的,可信物联网设备响应注入数据的响应过程:

设备x对哈希值hashx进行效验,成功后写入idx、公钥pkx、私钥skx、证书signx、公钥pkm到设备x的安全存储区域中;

根据效验结果返回信息给数据注入系统。

进一步的,所述可信物联网设备之间通过通讯模块互相连接。

进一步的,可信物联网设备之间的通信过程为:

(1)设备a向设备b发送认证命令包:

a1:设备a生成随机数ra并存储,以备后续流程中对比使用

a2:利用私钥ska对随机数ra、ida、证书signa进行签名,得到证书signinfoa;

a3:使用认证协商过程保护密钥kop,采用sm4-ecb加密随机数ra、ida、证书signa、证书signinfoa、公钥pka得到密文cta,发送带密文cta的认证命令到设备b;

(2)设备b向设备a发送认证应答包

b1:设备b利用认证协商过程保护密钥kop解密认证命令包中的密文cta;

b2:利用公钥pka验证证书signinfoa;

b3:利用公钥pkm验证证书signa;

b4:查看设备id为ida的设备上一次发送过来的数据包的随机数是否等于随机数ra,如果等于则此包无效,流程失败,否则存储此次随机数ra;

b5:设备b生成随机数rb并存储,以备后续流程中对比使用;

b6:利用私钥skb对随机数ra、随机数rb、idb、证书signb进行签名,得到证书signinfob;

b7:使用认证协商过程保护密钥kop加密随机数ra、随机数rb、idb、证书signb、证书signinfob、公钥pkb得到密文ctb,发送带密文ctb的认证应答包到设备a;

b8:sm3算法对公钥pka、公钥pkb进行计算得到派生算法密钥kd,用于派生数据保护密钥kp及数据完整性密钥ki;

b9:使用kd为密钥,以随机数ra、idb为输入产生出数据保护密钥kp;

b10:使用kd为密钥,以随机数rb、ida为输入,产生出数据完整性密钥ki;

(3)设备a对认证应答包进行处理,并向设备b发送数据交互包;

a4:设备a利用认证协商过程保护密钥kop解密认证应答包中的密文ctb;

a5:利用公钥pkb验证证书signinfob;

a6:利用公钥pkm验证证书signb;

a7:对比从设备b返回报文中得到的随机数ra是否等于设备a自己产生的随机数ra,查看设备id为idb的设备上一次发送过来的数据包中随机数是否等于随机数rb,如果等于则此包无效,流程失败,否则存储此次随机数rb;

a8:对公钥pka、公钥pkb进行计算得到派生算法密钥kd,用于派生数据保护密钥kp及数据完整性密钥ki;

a9:使用kd为密钥,以随机数ra、idb为输入产生数据保护密钥kp;

a10:使用kd为密钥,以随机数rb、ida为输入,产生数据完整性密钥ki;

a11:产生用于数据交互的随机数ra1并存储,以kp为密钥加密随机数rb、随机数ra1以及要发送的数据或命令生成密文cta1;

a12:用ki为密钥为密文cta1生成密文maca1;

a13:发送密文cta1、密文maca1到设备b,开始数据交互;

(4)设备b处理设备a发送的数据交互包,并向设备a发送数据交互包

b11:设备b利用数据完整性密钥ki效验数据的完整性;

b12:利用数据保护密钥kp解密密文cta1数据得到随机数rb、随机数ra1以要交互的数据和命令;

b13:验证从密文cta1中解密得到的随机数rb是否与设备b产生的随机数rb一致,查看随机数ra1是否等于随机数ra,如果等于则此包无效,流程失败,否则存储此次随机数ra1;

b14:根据业务需要处理数据或命令;

b15:产生用于数据交互的随机数rb1,以kp为密钥采用sm4-ecb算法加密随机数ra1、随机数rb1以及要发送的数据或命令生成密文ctb1;

b16:用ki为密钥为密文ctb1生成密文macb1;

b17:发送密文ctb1及密文macb1到设备a;

(5)设备a对数据交互包进行处理

a14:设备a利用数据完整性密钥ki效验数据的完整性;

a15:利用数据保护密钥kp解密密文ctb1数据得到随机数ra1、随机数rb1以及要交互的数据和命令;

a16:验证从密文cta1中解密得到的随机数ra1是否与设备b产生的随机数ra1一致,查看随机数rb1是否等于随机数rb,如果等于则此包无效,流程失败,否则存储此次随机数rb1;

a17:根据业务需要处理数据或命令。

与现有技术相比,采用上述技术方案的有益效果为:

(1)本发明的技术方案采用硬件方式实现随机数的产生、加解密和认证的算法,提高了由物联网设备组成的网络系统的安全性,参与到协议中的各组成部分均带有硬件的随机数产生模块、密码和安全存储模块或设备,因此能够支撑所需要的各种加解密算法,提升数据存储的安全性,提高认证过程和加密过程的计算效率

(2)本发明的技术方案简化了设备间握手和身份认证所需要的交互次数和数据量,提高各物联网设备间的通信效率,从而提高整个网络系统的效率。防止重放攻击,防止命令和数据被截取、篡改,防止身份欺骗,保障传输数据的完整性。

(3)本发明的技术方案实现容易,便于移植。

附图说明

图1是本发明物联网设备间的安全认证和数据通信系统在数据注入阶段的组成示意图。

图2是本发明物联网设备间的安全认证和数据通信系统在应用阶段的组成示意图。

图3是本发明物联网设备间的安全认证和数据通信系统在数据注入阶段的一个具体实施方式示意图。

图4是本发明物联网设备间的安全认证和数据通信系统在应用阶段的一个具体实施方式示意图。

图5是本发明涉及到的设备数据注入流程示意图。

图6是本发明可信物联网设备间的工作流程示意图。

具体实施方式

下面结合附图对本发明做进一步描述。

如图1-2所示,一种物联网设备间的安全认证和数据通信系统,包括:

数据注入系统,用于产生可信物联网设备的id、证书、公私钥对,并将所述id、证书、公私钥连同数据注入系统的公钥一同注入到可信物联网设备中;可信物联网设备,用于存储数据注入系统下发的各种数据,在不同的可信物联网设备存储的数据中,除数据注入系统的公钥相同,各个可信物联网设备间的id、证书以及公私钥对均不相同。数据注入系统具体可以由带有硬件加密卡的pc和数据注入软件实现,可信物联网设备具体可以由安全芯片、应用处理器、通讯模块组成。本实施例具有n个可信物联网设备,在设备数据注入阶段,数据注入系统针对可信物联网设备1...可信物联网设备n中每一个设备注入数据;在设备应用阶段,可信物联网设备1...可信物联网设备n中任意两个设备之间均可进行通信,并且它们的id、证书以及公私钥对均不相同。本实施例的技术方案不仅能够用在物联网设备间,也可以用在带有任意密码模块及安全存储区的设备或系统中。

优选地,所述数据注入系统和可信物联网设备均具有随机数产生模块、加解密模块以及物理上的安全存储区域。随机数的产生模块、加解密模块均可由硬件方式实现;安全存储区域,能够保证数据不被非法读取。

优选地,如图3-4所示,所述可信物联网设备由安全芯片、引用处理器和通讯模块组成。数据注入系统由带有硬件加密卡的pc和数据注入软件组成实现,通过读卡器为所有的可信物联网设备注入数据。

优选地,如图5所示,所述数据注入系统给可信物联网设备的下发数据的过程为:数据注入系统生成设备x的idx,其中,设备x为任意一个可信物联网设备;数据注入系统生成设备x的公钥pkx、私钥skx;采用数据注入系统的私钥skm给idx、公钥pkx进行签名生成证书signx;计算设备x的idx、公钥pkx、私钥skx、数据注入系统的公钥pkm的哈希值hashx,用以保证数据的完整性;数据注入系统发送idx、公钥pkx、私钥skx、证书signx、公钥pkm、哈希值hashx给设备x。

可信物联网设备响应注入数据的响应过程:

设备x对哈希值hashx进行效验,成功后写入idx、公钥pkx、私钥skx、证书signx、公钥pkm到设备x的安全存储区域中;根据效验结果返回信息给数据注入系统。

在可信物联网设备储存了注入数据的基础上,可信物联网设备间的通信过程:

在应用阶段,设备间通过通讯模块互相连接,共同组成一个物联网系统,物联网系统中包含多个物联网设备;如图6所示,具体通信过程为:

(1)设备a向设备b发送认证命令包:

a1:设备a生成8bytes长度的随机数ra并存储,以备后续流程中对比使用

a2:利用私钥ska对随机数ra、ida、证书signa进行签名,得到证书signinfoa;

a3:使用认证协商过程保护密钥kop,采用sm4-ecb加密随机数ra、ida、证书signa、证书signinfoa、公钥pka得到密文cta,发送带密文cta的认证命令到设备b;

(2)设备b向设备a发送认证应答包

b1:设备b利用认证协商过程保护密钥kop解密认证命令包中的密文cta;

b2:利用公钥pka验证证书signinfoa;

b3:利用公钥pkm验证证书signa;

b4:查看设备id为ida的设备上一次发送过来的数据包的随机数是否等于随机数ra,如果等于则此包无效,流程失败,否则存储此次随机数ra;

b5:生成8bytes长度的随机数rb并存储,以备后续流程中对比使用;

b6:利用私钥skb对随机数ra、随机数rb、idb、证书signb进行签名,得到证书signinfob;

b7:使用认证协商过程保护密钥kop,采用sm4-ecb加密随机数ra、随机数rb、idb、证书signb、证书signinfob、公钥pkb得到密文ctb,发送带密文ctb的认证应答包到设备a;

b8:sm3算法对公钥pka、公钥pkb进行计算得到32bytes数据作为派生算法密钥kd,用于派生数据保护密钥kp及数据完整性密钥ki;

b9:使用kd为密钥,采用sm3-hmac算法,以随机数ra、idb为输入产生出32bytes的数据,取前16bytes为数据保护密钥kp;

b10:使用kd为密钥,采用sm3-hmac算法,以随机数rb、ida为输入,产生出32bytes作为数据完整性密钥ki;

(3)设备a对认证应答包进行处理,并向设备b发送数据交互包;

a4:设备a利用认证协商过程保护密钥kop解密认证应答包中的密文ctb;

a5:利用公钥pkb验证证书signinfob;

a6:利用公钥pkm验证证书signb;

a7:对比从设备b返回报文中得到的随机数ra是否等于设备a自己产生的随机数ra,查看设备id为idb的设备上一次发送过来的数据包中随机数是否等于随机数rb,如果等于则此包无效,流程失败,否则存储此次随机数rb;

a8:采用sm3算法对公钥pka、公钥pkb进行计算得到32bytes数据作为派生算法密钥kd,用于派生数据保护密钥kp及数据完整性密钥ki;

a9:使用kd为密钥,采用sm3-hmac算法,以随机数ra、idb为输入产生出32bytes的数据,取前16bytes为数据保护密钥kp;

a10:使用kd为密钥,采用sm3-hmac算法,以随机数rb、ida为输入,产生出32bytes作为数据完整性密钥ki;

a11:产生8bytes用于数据交互的随机数ra1并存储,以kp为密钥采用sm4-ecb算法加密随机数rb、随机数ra1以及要发送的数据或命令生成密文cta1;

a12:用ki为密钥采用sm3-hmac为密文cta1生成密文maca1;

a13:发送密文cta1、密文maca1到设备b,开始数据交互;

(4)设备b处理设备a发送的数据交互包,并向设备a发送数据交互包

b11:设备b利用数据完整性密钥ki效验数据的完整性;

b12:利用数据保护密钥kp解密密文cta1数据得到随机数rb、随机数ra1以要交互的数据和命令;

b13:验证从密文cta1中解密得到的随机数rb是否与设备b产生的随机数rb一致,查看随机数ra1是否等于随机数ra,如果等于则此包无效,流程失败,否则存储此次随机数ra1;

b14:根据业务需要处理数据或命令;

b15:产生8bytes用于数据交互的随机数rb1,以kp为密钥采用sm4-ecb算法加密随机数ra1、随机数rb1以及要发送的数据或命令生成密文ctb1;

b16:用ki为密钥采用sm3-hmac算法为密文ctb1生成密文macb1;

b17:发送密文ctb1及密文macb1到设备a;

(5)设备a对数据交互包进行处理

a14:设备a利用数据完整性密钥ki效验数据的完整性;

a15:利用数据保护密钥kp解密密文ctb1数据得到随机数ra1、随机数rb1以及要交互的数据和命令;

a16:验证从密文cta1中解密得到的随机数ra1是否与设备b产生的随机数ra1一致,查看随机数rb1是否等于随机数rb,如果等于则此包无效,流程失败,否则存储此次随机数rb1;

a17:根据业务需要处理数据或命令。

上述设备间的通信过程,采用极少的交互步骤和传输数据量完成设备间的相互认证,并协商出用于设备间交互命令与数据使用的数据保护密钥和完整性密钥。同时采用硬件的密码模块,提高了各种密码算法的计算效率。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1