一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于NB-IoT的计量仪表安全通讯方法与流程

2022-03-04 22:06:12 来源:中国专利 TAG:

一种基于nb-iot的计量仪表安全通讯方法
技术领域
1.本发明涉及一种基于nb-iot的计量仪表安全通讯方法,属于计量仪表技术领域。


背景技术:

2.随着近年来窄带物联网(nb-iot)计量仪表(燃气表、水表、电表和热量表等)的大规模应用,给资源及能源供应企业和消费者带来了极大的便捷。企业方面不必人工抄表、控阀,减少运维成本等;消费者不必与企业约定抄表时间、排队到营业厅缴费等。然而,窄带物联网智能燃气表由于使用运营商公网通讯,存在以下风险:1)由于智能远传仪表数据传输是基于无线通信进行的,存在数据被截获、篡改的风险;2)远传仪表使用现有运营商网络进行传输,存在被攻击、被控制风险。


技术实现要素:

3.本发明的目的是提供一种基于nb-iot的计量仪表安全通讯方法,以解决目前计量仪表通讯中存在的风险高的问题。
4.本发明为解决上述技术问题而提供一种基于nb-iot的计量仪表安全通讯方法,该安全通讯方法包括以下步骤:
5.1)由计量仪表通过nb-iot向服务器发送包含有认证数据和认证数据mac认证码的注册认证请求,所述的认证数据包括有随机数、根密钥版本和加密类型,所述认证数据mac认证码是由mac加密算法和mac密钥对认证数据加密处理得到,认证数据采用明文传输,所述mac密钥由随机数、根密钥通过加密算法得到;
6.2)由服务器对接收到的注册认证请求进行验证:服务器获取认证数据,根据认证数据中的随机数并由自身存储的与计量仪表相同的根密钥和加密算法得到mac密钥,并根据该mac密钥和与计量仪表相同的mac加密算法对接收到的认证数据进行处理,得到相应的认证数据mac认证码,将该认证数据mac认证码与接收到的注册认证请求中的认证数据mac认证码进行比较,若一致,则认证成功,由服务器向计量仪表返回包含有注册响应码和注册响应mac认证码的帧数据;其中注册响应码是计量仪表在该服务器上的相关注册信息,注册响应mac认证码是利用mac密钥和mac算法对注册响应码处理得到;
7.3)计量仪表在收到注册响应码和注册响应mac认证码后,通过mac密钥和mac算法其进行认证,若认证成功,则表明计量仪表与服务器之间的通信建立成功。
8.本发明利用随机数和根密钥生成mac密钥,利用mac密钥对认证数据进行处理,生成相应的mac认证码,将该mac认证码与认证数据组帧形成注册认证请求,发送给服务器,认证数据为明文数据。通过这种方式处理得到的注册认证请求不仅能够避免注册认证请求数据被攻击、篡改,同时又能保证计量仪表和服务器身份,保证了计量仪表和服务器通信建立的可靠性,大大提高了计量仪表与服务器之间通讯的安全性。
9.进一步地,为提高计量数据传输的安全性,在计量仪表和服务器的通信建立后,计量仪表向服务器发送仪表计量数据,过程如下:
10.计量仪表通过加密密钥和加密算法对待发送的计量数据进行加密处理,得到对应的计量加密数据;
11.利用mac密钥和mac算法对计量加密数据进行处理得到对应的计量加密数据mac认证码;
12.将计量加密数据和计量加密数据mac认证码进行组帧,发送给服务器。
13.进一步地,该方法还包括服务器对接收到帧数据进行认证,过程如下:
14.根据自身存储的加密密钥和加密算法对帧数据中的计量加密数据进行解密,得到其中的计量数据;
15.利用mac密钥和mac算法对收到的计量加密数据进行认证得到对应的计量加密数据认证码,并将该计量加密数据mac认证码与帧数据中计量加密数据mac认证码进行比较,若一致,则说明此次所收到的计量数据没有问题,对该计量数据进行保存。
16.进一步地,为保证业务命令的安全传输,当服务器有业务命令向计量仪表发送时,利用加密密钥和加密算法对业务命令进行加密处理得到对应加密业务数据,并利用mac密钥和mac算法对加密业务数据进行mac认证得到相应的加密业务数据mac认证码,将得到的加密业务数据mac认证码和加密业务数据组帧,发送给计量仪表。
17.进一步地,为保证计量仪表能够准确、无误地执行业务命令,当计量仪表接收到包含有加密业务数据的帧数据后,根据加密密钥和加密算法对加密业务数据进行解密,得到相应的业务命令;利用mac密钥和mac算法对加密业务数据进行认证得到对应的加密业务数据mac认证码,将该加密业务数据mac认证码与接收到的加密业务数据mac认证码进行比较,若一致,则说明此次接收到的业务命令没有问题,计量仪表根据该业务命令进行相应的表计业务处理。
18.进一步地,当服务器没有业务命令下发时,服务器后向计量仪表发送结束帧,该结束帧包括有结束帧信息和结束帧mac认证码。
19.进一步地,为避免一次通讯时间过程,若计量仪表和服务器达到通讯超时时间,计量仪表没有接收到的结束帧,则计量仪表直接结束与服务器间的通信。
20.进一步地,为提高通讯安全等级,每次通信结束时,随机数销毁,以保障在非通信时设备不被解密。
21.进一步地,为提高通讯的安全性和可靠性,每次建立通信时计量仪表会充重新生成随机数。
22.进一步地,所述的加密密钥为根密钥。
附图说明
23.图1是本发明中计量仪表和服务器之间的连接关系示意图;
24.图2是本发明中mac秘钥生成过程示意图;
25.图3是本发明中认证数据mac认证码的生成过程示意图;
26.图4是本发明中计量仪表和服务器之间的信息交互过程示意图;
27.图5是本发明中计量仪表向服务器发送的注册认证请求数据帧的形成过程示意图;
28.图6是本发明中计量仪表向服务器发送的仪表计量数据帧的形成过程示意图。
具体实施方式
29.下面结合附图对本发明的具体实施方式做进一步地说明。
30.本发明的计量仪表安全通讯方法针对的是计量仪表和抄表服务器之间,计量仪表和抄表服务器之间采用nb-iot的通讯方式,计量仪表将采集到的计量数据上传给抄表服务器时需要保证数据的安全性,避免数据被窃取、篡改。本发明安全透明通信方法主要包括两个过程,分别是认证过程和数据传输过程。
31.具体而言,如图1所示,本发明的计量仪表中设置有数据处理模块、认证加密模块、随机数生成器、计量处理模块和通信模块,其中,随机数生成器用于在每次通信建立时产生随机数,认证加密模块用于提供加密算法、mac认证以及对应密钥管理;计量处理模块为计量仪表基础单元,包括或部分包括计量所需传感器、控制所需的阀门、人机交互所需的按键及显示器;通信模块用于实现与服务器之间的通信。服务器中设置有计量表业务层和加密认证层,计量表业务层为计量表服务器核心层,其实现了计量表抄表、控阀、结算等基本功能;加密认证层与计量仪表中的认证加密模块对应,用于加密认证处理、秘钥管理,其内存储有与认证加密模块中相同的根密钥、mac算法和加密算法。
32.计量仪表与服务器每次信息交互可分三部分:通信建立、信息交互及通信结束,两个的信息交互过程如图4所示,具体过程如下。
33.1.计量仪表向服务器发送注册认证请求。
34.计量仪表首先生成mac密钥,如图2所示,由随机数生成器生成一个随机数,并将该随机数发送给认证加密模块,认证加密模块根据收到的随机数和内部存储的加密算法与根密钥生成mac密钥,其中加密算法可采用对称加密算法,如aes加密、des加密或sm4加密算法等。
35.如图3所示,认证加密模块通过mac密钥和mac算法对要认证的数据进行处理得到mac认证码;如图5所示,计量仪表将生成的mac认证码和要认证的数据组成一个注册帧,发送给服务器,向服务器发起注册认证请求。其中mac算法可采用hmac-md5、hmac-sha1或hmac-sha2算法等;要认证的数据包括有随机数、根秘钥版本、加密类型、表号等基本信息,组成的注册帧中要认证的数据采用明文的通信方式。
36.2.服务器向计量仪表返回认证结果。
37.服务器在接收到的计量仪表发送的认证请求后,对请求中的注册帧进行进行解析,获取其中要认证的数据,得到相应的随机数。由于服务器存储有与计量仪表端相同的根密钥、加密算法和mac算法,因此,服务器根据收到的随机数可以生成相应的mac密钥和mac认证码,服务器判断生成的mac认证码与收到的注册帧中的mac码是否一致,若一致,则认证成功,服务器端会向计量仪表端返回注册响应码加mac认证码,计量仪表在收到注册响应码和相应认证码后,则表明此次通信建立成功,其中注册响应码是计量仪表在该服务器相关注册信息;若服务器端判断生成的mac认证码与收到的注册帧中的mac码不一致,则认证失败,此时服务器端向计量仪表返回认证失败的信息,计量仪表收到认证失败的信息后则表明此次通信建立过程失败,计量仪表退出通信。
38.3.在通信建立成功后,计量仪表向服务器发送仪表计量数据。
39.在通信建立后,计量仪表通过计量处理模块获取计量数据,通过根密钥和加密算法对计量数据进行加密处理,得到对应的计量加密数据,利用步骤1中确定的mac密钥和mac
算法对计量加密数据进行处理得到对应的计量加密数据mac认证码,将计量加密数据和计量加密数据mac认证码进行组帧,发送给服务器,如图6所示。其中对计量数据进行加密的加密算法与步骤1中mac密钥生成采用的加密算法相同,也可以根据需要,采用不同的加密算法。
40.4.服务器对收到的数据进行认证,并根据需要向计量仪表反馈命令帧。
41.服务器接收到计量仪表的数据帧后,从中解析出计量加密数据mac认证码和计量加密数据,服务器根据自身存储的根密钥和加密算法对计量加密数据进行解密,得到其中的计量数据,同时利用mac密钥和mac算法对收到的计量加密数据进行认证得到对应的计量加密数据认证码,将该计量加密数据mac认证码与直接解析出的计量加密数据mac认证码进行比较,若一致,则说明此次所收到的计量数据没有问题,则服务器将该计量数据进行保存;若不一致,则说明此次收到的计量数据有问题,服务器会放弃该计量数据。
42.当服务器有业务命令向计量仪表发送时,服务器先利用根密钥和加密算法对业务命令进行加密处理得到对应加密业务数据,并利用mac密钥和mac算法对加密业务数据进行mac认证得到相应的加密业务数据mac认证码,将得到的加密业务数据mac认证码和加密业务数据组帧,发送给计量仪表;计量仪表接收到该帧数据后,根据根密钥和加密算法对加密业务数据进行解密,得到相应的业务命令,同时利用mac密钥和mac算法对加密业务数据进行认证得到对应的加密业务数据mac认证码,将该加密业务数据mac认证码与接收到的加密业务数据mac认证码进行比较,若一致,则说明此次接收到的业务命令是由认证后的服务器发送的且没有被干扰,计量仪表根据该业务命令进行相应的表计业务处理,并向服务器反馈计量仪表的响应数据,反馈的响应数据采用加密和mac认证码的方式进行传输,具体的实现过程与仪表计量数据发送的过程一样,这里不再赘述;若不一致,则说明该业务命令有问题,此时计量仪表放弃该业务命令。
43.5.计量仪表在通信超时或收到结束帧时结束通信。
44.当服务器没有业务命令下发时,服务器后向计量仪表发送结束帧,该结束帧包括有结束帧信息和结束帧mac认证码,其中结束帧信息可采用明文,也可采用密文,结束帧mac认证码是由服务器根据结束帧信息、mac密钥和mac算法确定;计量仪表在接收到结束帧时,根据结束帧mac认证码对结束帧进行认证,认证成功后,计量仪表结束此次通信。若计量仪表和服务器达到通讯超时时间,计量仪表没有接收到的结束帧,则计量仪表直接结束与服务器间的通信。每次通信结束时,随机数销毁,以保障在非通信时设备不被解密。
45.若计量仪表想要再次进行通信,需要按照步骤1向服务器重新发送注册认证请求,并在该次认证请求中,由随机数生成器再次生成一个随机数,利用新生成的随机数进行mac密钥的生成。由于每次建立通信随机数不一致,每次通信,认证秘钥会按照约定规则进行改变,使对计量仪表和服务器访问必须经过认证,在核心数据上,使用加密通信,更进一步确保敏感数据的安全,解决了计量仪表与抄表服务器在运营商公网通信、无线网络通信的安全风险。
46.作为其他实施方式,对计量数据加密处理也可采用与跟秘钥无关的加密秘钥,计量仪表通过该加密秘钥和加密算法对计量数据进行加密处理,该加密秘钥事先在计量仪表和服务器中均有存储。解密时服务器利用事先存储的加密秘钥和加密算法即可实现。同样地,对业务命令数据的加密也可采用该加密秘钥。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献