基于国密算法的物联网安全认证方法、系统及终端

文档序号:1712301 发布日期:2019-12-13 浏览:13次 >En<

阅读说明:本技术 基于国密算法的物联网安全认证方法、系统及终端 (internet of things security authentication method, system and terminal based on state cryptographic algorithm ) 是由 付勇 杨美红 王美琴 郭山清 王继志 陈丽娟 杨明 杨英 陈振娅 穆超 李冠霖 于 2019-10-24 设计创作,主要内容包括:本公开公开了基于国密算法的物联网安全认证方法、系统及终端,采集物联网终端的基本信息;将采集的物联网终端的基本信息进行加密处理,得到终端标识信息;将终端标识信息和会话密钥请求,发送给服务器;终端标识信息用于服务器对物联网终端进行有效性验证;超时判断步骤:判断是否超过设定时间段,如果超过,则返回终端标识信息制备步骤;如果未超时,则继续判断是否接收到服务器反馈的会话密钥应答消息;如果接收到服务器反馈的会话密钥应答消息,则对会话密钥应答消息进行解密并恢复出会话密钥;进入下一步;如果未接收到,则返回超时判断步骤;采用会话密钥对物联网终端的待传输的数据进行加密处理,将加密处理后的数据传输给服务器。(the utility model discloses a security authentication method, a system and a terminal of the Internet of things based on a state cryptographic algorithm, which collects the basic information of the terminal of the Internet of things; encrypting the acquired basic information of the terminal of the Internet of things to obtain terminal identification information; sending the terminal identification information and the session key request to a server; the terminal identification information is used for the server to carry out validity verification on the terminal of the Internet of things; and a timeout judging step: judging whether the set time period is exceeded or not, and if the set time period is exceeded, returning to the step of preparing the terminal identification information; if not, continuously judging whether a session key response message fed back by the server is received; if receiving the session key response message fed back by the server, decrypting the session key response message and recovering the session key; entering the next step; if not, returning to the overtime judgment step; and encrypting the data to be transmitted of the terminal of the Internet of things by adopting the session key, and transmitting the encrypted data to the server.)

基于国密算法的物联网安全认证方法、系统及终端

技术领域

本公开涉及物联网终端数据加解密技术领域,特别是涉及基于国密算法的物联网安全认证方法、系统及终端。

背景技术

本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。

当前我国物联网产业中终端数据处于无保护、弱保护的状态,物联网终端上传给服务器的数据,缺乏有效的加密手段,安全性低。

在实现本公开的过程中,发明人发现现有技术中存在以下技术问题:

在很多时候,物联网终端只有几十K字节甚至几K字节的ROM可用,RAM只有几百字节到几K字节可用;同时,物联网终端处理器性能较弱,主频较低,且其中有相当部分的8位和16位单片机,无法应用复杂的公钥密码算法(例如SM2)进行密钥和会话管理;而复杂度较低的对称密码在物联网终端实现也存在算法实现效率差、加解密耗时过长的问题。

在很多物联网系统中为了降低系统复杂度一般将密钥固化在微处理器内部,显然这种方式是不安全的。

发明内容

为了解决现有技术的不足,本公开提供了基于国密算法的物联网安全认证方法、系统及终端;

第一方面,本公开提供了基于国密算法的物联网安全认证方法;

基于国密算法的物联网安全认证方法,应用于物联网终端,包括:

采集物联网终端的基本信息;

终端标识信息制备步骤:将采集的物联网终端的基本信息进行加密处理,得到终端标识信息;

将终端标识信息和会话密钥请求,发送给服务器;终端标识信息用于服务器对物联网终端进行有效性验证;

超时判断步骤:判断是否超过设定时间段,如果超过,则返回终端标识信息制备步骤;如果未超时,则继续判断是否接收到服务器反馈的会话密钥应答消息;

如果接收到服务器反馈的会话密钥应答消息,则对会话密钥应答消息进行解密并恢复出会话密钥;进入下一步;如果未接收到,则返回超时判断步骤;

采用会话密钥对物联网终端的待传输的数据进行加密处理,将加密处理后的数据传输给服务器。

第二方面,本公开还提供了基于国密算法的物联网安全认证方法;

基于国密算法的物联网安全认证方法,应用于服务器,包括:

获取终端发送过来的终端标识信息和会话密钥请求;

根据终端发送过来的终端标识信息,进行终端有效性验证;

针对有效性验证通过的终端的会话密钥请求,进行加密处理,得到会话密钥应答消息;

将会话密钥应答消息反馈给终端。

第三方面,本公开还提供了基于国密算法的物联网安全认证终端;

基于国密算法的物联网安全认证终端,包括:

采集模块,其被配置为:采集物联网终端的基本信息;

终端标识信息制备模块,其被配置为:将采集的物联网终端的基本信息进行加密处理,得到终端标识信息;

有效性验证模块,其被配置为:将终端标识信息和会话密钥请求,发送给服务器;终端标识信息用于服务器对物联网终端进行有效性验证;

超时判断模块,其被配置为:判断是否超过设定时间段,如果超过,则返回终端标识信息制备步骤;如果未超时,则继续判断是否接收到服务器反馈的会话密钥应答消息;

如果接收到服务器反馈的会话密钥应答消息,则对会话密钥应答消息进行解密并恢复出会话密钥;进入加密模块;如果未接收到,则返回超时判断模块;

加密模块,其被配置为:采用会话密钥对物联网终端的待传输的数据进行加密处理,将加密处理后的数据传输给服务器。

第四方面,本公开还提供了基于国密算法的物联网安全认证服务器;

基于国密算法的物联网安全认证服务器,包括:

获取模块,其被配置为:获取终端发送过来的终端标识信息和会话密钥请求;

终端有效性验证模块,其被配置为:根据终端发送过来的终端标识信息,进行终端有效性验证;

会话密钥应答消息生成模块,其被配置为:针对有效性验证通过的终端的会话密钥请求,进行加密处理,得到会话密钥应答消息;

反馈模块,其被配置为:将会话密钥应答消息反馈给终端。

第五方面,本公开还提供了基于国密算法的物联网安全认证系统;

基于国密算法的物联网安全认证系统,包括:如第三方面所述的基于国密算法的物联网安全认证终端,和如第四方面所述的基于国密算法的物联网安全认证服务器。

与现有技术相比,本公开的有益效果是:

该方案主要由高性能国密库、密钥和会话管理、通讯数据帧设计三大部分组成。

1、高能性国密库:我们针对16位单片机(如MSP430FR5739)进行SM4算法的优化实现,解决数据加解密速度慢这一关键性能瓶颈。同时我们采用了先进的CTR模式来避免ECB,CBC等模式必须的数据填充来提高算法性能,同时能够有效保证数据安全,确保即使同一终端的同一数据加密后的数据也不同。

2、密钥和会话管理:密钥安全是数据安全的基石,我们利用终端自身的噪声和随机性数据生成真随机数,并巧妙的把该随机数用于密钥生成来保证系统的可靠性。同时我们设计了一端一密、密钥定期更新策略进一步提升了系统的安全性。通过全数据链条的数据加密确保通讯链路中无明文传输,即使通讯链路被窃听也不会发生数据泄露。

3、简洁可靠的数据帧设计:针对物联网终端数据特点我们设计了一种精简的数据帧格式和数据规范,并通过帧尾的CRC校验字节对传输数据进行基本的验证。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为第一个实施例的方法流程图。

具体实施方式

应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

术语解释:

GNSS:全球导航卫星系统,支持中国北斗卫星导航系统和美国全球卫星定位系统GPS;

NBIOT:窄带物联网;

IMEI:国际移动设备识别码;

MSG:终端标识信息;

实施例一,本公开提供了基于国密算法的物联网安全认证方法;

如图1所示,基于国密算法的物联网安全认证方法,应用于物联网终端,包括:

Sa1:采集物联网终端的基本信息;

Sa2:终端标识信息制备步骤:将采集的物联网终端的基本信息进行加密处理,得到终端标识信息;

Sa3:将终端标识信息和会话密钥请求,发送给服务器;终端标识信息用于服务器对物联网终端进行有效性验证;

Sa4:超时判断步骤:判断是否超过设定时间段,如果超过,则返回终端标识信息制备步骤;如果未超时,则继续判断是否接收到服务器反馈的会话密钥应答消息;

如果接收到服务器反馈的会话密钥应答消息,则对会话密钥应答消息进行解密并恢复出会话密钥;进入Sa5;如果未接收到,则返回超时判断步骤;

Sa5:采用会话密钥对物联网终端的待传输的数据进行加密处理,将加密处理后的数据传输给服务器。

进一步地,所述物联网终端,包括:主控制单元MCU,所述主控制单元分别与温湿度传感器、光强传感器、GNSS定位模块和NBIOT模块连接,所述NBIOT模块与服务器进行通信。

作为一个或多个实施例,所述物联网终端的基本信息,包括:随机数Nounce、主控制单元MCU唯一标识、NBIOT模块的IMEI序列号和根密钥;

作为一个或多个实施例,Sa2中,将采集的待加密数据进行加密处理,得到终端标识信息;具体步骤包括:

对随机数Nounce、主控制单元MCU唯一标识、NBIOT模块的IMEI序列号和根密钥进行运算并加密得到一个唯一的终端标识信息MSG。

作为一个或多个实施例,Sa2中,将采集的待加密数据进行加密处理,得到终端标识信息;具体步骤包括:

取随机数Nounce中的1字节设为x;高4比特记作xh,低4比特记作xl;

取主控制单元MCU唯一标识中的16字节设为Muid;

设主控制单元MCU内置16字节根密钥为rootkey;

将Muid与根密钥rootkey逐字节异或;然后,将逐字节异或得到的结果循环左移xh字节,得到16字节的会话密钥KEY;

生成16字节的全0比特串,记作PL;用IMEI序列号从低字节开始填充PL;

将x填充到PL最后一字节;然后循环左移xl字节;

以KEY为密钥对PL进行SM4加密,加密模式为电码本ECB,得到终端标识信息MSG。

作为一个或多个实施例,Sa3中,终端标识信息用于服务器对物联网终端进行有效性验证;具体步骤包括:

服务器接收到终端发送的数据包后,首先对数据进行校验;

如果校验结果与数据包中的校验和不一致,则判断数据包异常,丢弃数据包;

否则,取出数据包中的第一字节;

如果数据包中的第一字节为0x60,则为通讯请求数据包,对通讯请求数据包进行有效性验证;第2字节为数据长度固定为0x14,第3字节至第5字节为终端编号,第6字节为验证方法X,第7至22字节为终端标识信息MSG;

服务器从数据库中取出终端编号对应的加密终端MCU标识CMuid和加密NBIOT模块标识CIMEI;

利用存储密钥解密CMuid得到Muid’,解密CIMEI得到IMEI’;利用与终端标识信息制备步骤相同的方式计算终端标识信息1;

取X高4比特记作Xh,低4比特记作Xl;

设服务器内置16字节根密钥为rootkey1;

Muid’逐字节异或根密钥rootkey1;然后循环左移Xh字节,得到16字节的会话密钥KEY1;

生成16字节的全0比特串,记作PL1;用IMEI’从低字节开始填充PL1;

将X填充到PL1最后一字节;然后循环左移Xl字节;

以KEY1为密钥对PL1进行SM4加密,加密模式为电码本ECB,得到终端标识信息MSG1;

如果MSG1与MSG一致,验证通过,否则验证失败。

表1数据包格式

作为一个或多个实施例,Sa4中会话密钥应答消息的生成方法,具体步骤包括:

服务器利用真随机数发生器生成128比特随机数作为会话密钥TKEY;用存储密钥加密后保存到数据库;

服务器利用真随机数发生器生成32比特的随机数作为会话ID,存储至数据库;

服务器利用真随机数发生器生成8比特的随机数作为验证方法T,取高4比特为Th,低4比特为Tl;

同时得到CTR加解密所需的128比特Nounce值;取MSG第Tl+i字节填充到Nounce;i∈[0,1,2,…,13];用0填充Nounce剩余比特至128比特后,将Nounce用存储密钥加密后保存至数据库;

生成128比特的全0比特串INFO;依次填充3字节的终端编号,4字节的会话iD和1字节的验证方法T两次;INFO逐字节异或MSG,然后循环左移Th字节,得到加密密钥INFO’;

TKEY与rootkey逐字节异或后用INFO’作为密钥加密,然后循环左移Tl字节,得到会话密钥’TKEY1;按照会话密钥应答消息格式填充数据包后发送消息至终端。

表2数据包格式

作为一个或多个实施例,Sa4中,接收服务器反馈的会话密钥应答消息,对会话密钥应答消息进行解密并恢复出会话密钥;具体步骤包括:

终端接收到服务器发送的数据包后首先对数据进行校验,校验结果与数据包中的校验和不一致则判断数据包异常,丢弃数据包;

否则取出数据包中的第一字节,如果为0x61,则为会话密钥应答消息,需要进行解密并恢复会话密钥;

第2字节为数据长度固定为0x18,如果数据长度不是0x18则退出;第3字节至第5字节为终端编号,如果终端编号与本终端编号不一致则退出;第6字节至第9字节为会话iD;第10字节为验证方法T1;第11至26字节为会话密钥”:TKEY1’;

取T1高4比特为Th’,低4比特为Tl’;

TKEY1’循环右移Tl’字节,得到128比特的临时变量TKEY0’;

生成128比特的全0比特串INFO1。依次填充3字节的终端编号,4字节的会话iD和1字节的验证方法T1两次。INFO1逐字节异或MSG,然后循环左移Th’字节,得到加密密钥INFO1’。

INFO 1’作为密钥解密TKEY0’,与rootkey逐字节异或后得到会话密钥TKEY;

同时得到CTR加解密所需的Nounce值;

取MSG第(T1%16+i)字节填充到Nounce;i∈[0,1,2,…,13]。

作为一个或多个实施例,所述服务器的终端编号对应的加密终端MCU标识CMuid生成过程,具体步骤包括:

首先离线获取终端编号,终端MCU标识Muid和NBIOT的IMEI。

以终端编号为索引,用存储密钥加密Muid后得到CMuid。

作为一个或多个实施例,所述服务器的终端编号对应加密NBIOT模块标识CIMEI生成过程,具体步骤包括:

生成16字节的临时变量IEMIF,将IMEI填充至该变量,然后用0填充剩余字节。用存储密钥加密IMEIF后得到CIMEI。

数据传输方法:

表3会话生命周期内的数据包格式

其中会话ID和数据均为CTR模式加密后的数据。

终端:

发送数据:用终端数据包编号TPACKNO填充Nounce最后2个字节然后利用会话密钥对待加密数据进行加密,然后按照数据包格式进行填充,发送数据包到服务器。然后TPACKNO自增1,如果TPACKNO>0xffff则设数据包编号为0。

接收数据:首先验证数据校验和,验证通过后,取出数据类型,如果为会话阶段数据包则需要CTR解密处理。首先取出服务器数据包编号,将该编号填充至Nounce最后两个字节,利用会话密钥对待解密数据进行解密得到解密后数据,然后检查解密后数据的前4个字节是否为本终端会话ID,如果一致则解密成功,继续进行数据处理;否则解密失败,抛弃数据包。

服务器:

接收数据:

首先验证数据校验和,验证通过后,取出数据类型,如果为会话阶段数据包则需要CTR解密处理。首先取出终端编号,从数据库中取出该终端加密后的Nounce,用存储密钥解密后得到Nounce;从数据库中取出加密后的会话密钥,用存储密钥解密后得到会话密钥TKEY;从数据库中取出对应的会话ID。取出终端数据包编号,将该编号填充至Nounce最后两个字节,利用会话密钥对待解密数据进行解密得到解密后数据,然后检查解密后数据的前4个字节是否与会话ID一致,如果一致则解密成功,继续进行数据处理;否则解密失败,抛弃数据包。

发送:

如果为接收后直接发送:

用服务器数据包编号CPACKNO填充Nounce最后2个字节然后利用会话密钥对待加密数据进行加密,然后按照数据包格式进行填充,发送数据包到终端。然后CPACKNO自增1,如果CPACKNO>0xffff则设数据包编号为0。

否则:

从数据库中取出终端编号及该终端加密后的Nounce,用存储密钥解密后得到Nounce;从数据库中取出加密后的会话密钥,用存储密钥解密后得到会话密钥TKEY;从数据库中取出对应的会话ID。用CPACKNO填充Nounce最后2个字节然后利用会话密钥对待加密数据进行加密,然后按照数据包格式进行填充,发送数据包到终端。

实施例二,本公开还提供了基于国密算法的物联网安全认证方法;

基于国密算法的物联网安全认证方法,应用于服务器,包括:

Sb1:获取终端发送过来的终端标识信息和会话密钥请求;

Sb2:根据终端发送过来的终端标识信息,进行终端有效性验证;

Sb3:针对有效性验证通过的终端的会话密钥请求,进行加密处理,得到会话密钥应答消息;

Sb4:将会话密钥应答消息反馈给终端。

作为一个或多个实施例,Sb2中,根据终端发送过来的终端标识信息,进行终端有效性验证;具体步骤包括:

服务器接收到终端发送的数据包后,首先对数据进行校验;

如果校验结果与数据包中的校验和不一致,则判断数据包异常,丢弃数据包;

否则,取出数据包中的第一字节;

如果数据包中的第一字节为0x60,则为通讯请求数据包,对通讯请求数据包进行有效性验证;第2字节为数据长度固定为0x14,第3字节至第5字节为终端编号,第6字节为验证方法X,第7至22字节为终端标识信息MSG;

服务器从数据库中取出终端编号对应的加密终端MCU标识CMuid和加密NBIOT模块标识CIMEI;

利用存储密钥解密CMuid得到Muid’,解密CIMEI得到IMEI’;利用与终端标识信息制备步骤相同的方式计算终端标识信息1;

取X高4比特记作Xh,低4比特记作Xl;

设服务器内置16字节根密钥为rootkey1;

Muid’逐字节异或根密钥rootkey1;然后循环左移Xh字节,得到16字节的会话密钥KEY1;

生成16字节的全0比特串,记作PL1;用IMEI’从低字节开始填充PL1;

将X填充到PL1最后一字节;然后循环左移Xl字节;

以KEY1为密钥对PL1进行SM4加密,加密模式为电码本ECB,得到终端标识信息MSG1;

如果MSG1与MSG一致,验证通过,否则验证失败。

作为一个或多个实施例,Sb3:针对有效性验证通过的终端的会话密钥请求,进行加密处理,得到会话密钥应答消息;具体步骤包括:

服务器利用真随机数发生器生成128比特随机数作为会话密钥TKEY;用存储密钥加密后保存到数据库;

服务器利用真随机数发生器生成32比特的随机数作为会话ID,存储至数据库;

服务器利用真随机数发生器生成8比特的随机数作为验证方法T,取高4比特为Th,低4比特为Tl;

同时得到CTR加解密所需的128比特Nounce值;取MSG第Tl+i字节填充到Nounce;i∈[0,1,2,…,13];用0填充Nounce剩余比特至128比特后,将Nounce用存储密钥加密后保存至数据库;

生成128比特的全0比特串INFO;依次填充3字节的终端编号,4字节的会话iD和1字节的验证方法T两次;INFO逐字节异或MSG,然后循环左移Th字节,得到加密密钥INFO’;

TKEY与rootkey逐字节异或后用INFO’作为密钥加密,然后循环左移Tl字节,得到会话密钥’TKEY1;按照会话密钥应答消息格式填充数据包后发送消息至终端。

利用CPU如intelX64平台的IntelRNG真随机数生成器,或外置的真随机数发生器模块生成真随机数。

实施例三,本公开还提供了基于国密算法的物联网安全认证终端;

基于国密算法的物联网安全认证终端,包括:

采集模块,其被配置为:采集物联网终端的基本信息;

终端标识信息制备模块,其被配置为:将采集的物联网终端的基本信息进行加密处理,得到终端标识信息;

有效性验证模块,其被配置为:将终端标识信息和会话密钥请求,发送给服务器;终端标识信息用于服务器对物联网终端进行有效性验证;

超时判断模块,其被配置为:判断是否超过设定时间段,如果超过,则返回终端标识信息制备步骤;如果未超时,则继续判断是否接收到服务器反馈的会话密钥应答消息;

如果接收到服务器反馈的会话密钥应答消息,则对会话密钥应答消息进行解密并恢复出会话密钥;进入加密模块;如果未接收到,则返回超时判断模块;

加密模块,其被配置为:采用会话密钥对物联网终端的待传输的数据进行加密处理,将加密处理后的数据传输给服务器。

实施例四,本公开还提供了基于国密算法的物联网安全认证服务器;

基于国密算法的物联网安全认证服务器,包括:

获取模块,其被配置为:获取终端发送过来的终端标识信息和会话密钥请求;

终端有效性验证模块,其被配置为:根据终端发送过来的终端标识信息,进行终端有效性验证;

会话密钥应答消息生成模块,其被配置为:针对有效性验证通过的终端的会话密钥请求,进行加密处理,得到会话密钥应答消息;

反馈模块,其被配置为:将会话密钥应答消息反馈给终端。

实施例五,本公开还提供了基于国密算法的物联网安全认证系统;

基于国密算法的物联网安全认证系统,包括:如实施例三所述的基于国密算法的物联网安全认证终端,和如实施例四所述的基于国密算法的物联网安全认证服务器。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:网络连接控制方法及相关产品

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!