一种电能表与通信模块间的加密校验传输方法技术

技术编号:36812931 阅读:47 留言:0更新日期:2023-03-09 00:56
本发明专利技术提供了一种电能表与通信模块间的加密校验传输方法,通信模块与电能表内置相同的默认密钥;通信模块在每次上电时,基于默认密钥和加解密算法发起与电能表的握手过程,将通信所需的加解密密钥发送给电能表;通信模块与电能表交互的所有数据均基于该加解密密钥采用加解密算法进行加密和解密处理。本发明专利技术能够对电能表与通信模块传输的数据进行加密以及校验,防止数据被监听,导致客户敏感信息泄露;以及避免传输过程数据可能被篡改的问题。以及避免传输过程数据可能被篡改的问题。以及避免传输过程数据可能被篡改的问题。

【技术实现步骤摘要】
一种电能表与通信模块间的加密校验传输方法


[0001]本专利技术涉及加密通信领域,特别涉及一种电能表与通信模块间的加密校验传输方法。

技术介绍

[0002]当前方案在电能表需要传输TCP数据给对端的时候,会用AT指令把TCP数据传输给通信模块,通信模块再把数据传输出去;但是当前在使用AT指令的直接传输明文数据给通信模块,因此数据很容易被监听,导致客户敏感信息泄露。同时数据没有校验。传输过程数据可能被篡改。
[0003]当前电能表传输TCP数据给通信模块的方式为:
[0004]电能表发送:AT+CIPSEND=<socket_num>,<length>;通信模块回复后,电能表发送:<data>;
[0005]其中,<socket_num>表示当前打开的TCP套接字号;<length>表示电能表要传输给通信模块的数据长度;<data>表示电能表实际要传输给通信模块的数据。例如,电能表发送:AT+CIPSEND=1,16;通信模块回复后,电能表发送:61637469766520706F7765723A203557(十六进制);同理,模块传输TCP数据给电能表的时候,同样会被监听。因为串口传输数据的协议和时序都是公开的。因此入侵者只要尝试出串口的波特率,就能对数据进行监听。在上面例子中,入侵者把上面十六进制ASCII码转换为字符后,就可以获得电能表发送的字符串为active power:5W。
[0006]从而获得客户敏感信息。而且上面传输数据过程中,可以看出当前方案的两个主要问题为:1.数据传输过程中,没有加密,敏感数据可能被入侵者监听。2.接收方没有校验数据的有效性,这样接收方就有可能收到被篡改的数据,而且会把被篡改的数据当成有效数据来处理。

技术实现思路

[0007]针对现有技术中存在的问题,提供了一种电能表与通信模块间的加密校验传输方法,能够对电能表与通信模块传输的数据进行加密以及校验。
[0008]本专利技术采用的技术方案如下:一种电能表与通信模块间的加密校验传输方法,通信模块与电能表内置相同的默认密钥;通信模块在每次上电时,基于默认密钥和加解密算法发起与电能表的握手过程,将通信所需的加解密密钥发送给电能表;通信模块与电能表交互的所有数据均基于该加解密密钥采用加解密算法进行加密和解密处理。
[0009]进一步的,所述握手过程为:通信模块在上电时基于默认密钥采用加密算法对加解密密钥加密后发送给电能表,电能表基于默认密钥采用对应解密算法进行解密得到加解密密钥,判断加解密密钥校验是否正确,正确则保存加解密密钥并回复通信模块。
[0010]进一步的,所述默认密钥为随机的16个字节的字节串,在电能表与通信模块生产时写入。
[0011]进一步的,还包括初始化向量,加/解密时采用的字段;所述初始化向量包括固定部分与可变部分,每次加/解密时的初始化向量均不同,在加/解密依次后发生变化。
[0012]进一步的,所述初始化向量在电能表与通信模块中均不相同,其中:
[0013]电能表的初始化向量固定部分为电能表表号,生产时写入;可变部分为电能表的发送帧序号;从0开始,电能表每发送一帧给通信模块,帧序号加1;
[0014]通信模块的初始化向量固定部分为通信模块号,生产时写入;可变部分为通信模块的发送帧序号,从0开始,通信模块每发送一帧给电能表,帧序号加1。
[0015]进一步的,所述初始化向量固定长度为12字节,固定部分为8字节,可变部分为4字节。
[0016]进一步的,还包括额外认证数据,用于加解密过程的认证,不参与加密;电能表与通信模块采用相同的额外认证数据,所述额外认证数据为电能表与通信模块生产时写入的随机值,
[0017]进一步的,加密过程中,采用加密算法对输入参数生成校验和作为校验段与加密数据一同发送;解密时对校验段进行验证,用于监测数据是否在传输过程中被修改。
[0018]进一步的,电能表在多次与通信模块通信,通信模块均未进行响应时,要求通信模块重置通信所需的加解密密钥,由通信模块重新发起握手过程,重新握手重置密钥,两端的帧序号都会被清0。
[0019]进一步的,所述加解密算法为AES

GCM加解密算法。
[0020]与现有技术相比,采用上述技术方案的有益效果为:
[0021]1.保证电能表和通信模块间数据传输的私密性和完整性,AES

GCM可以同时提供数据的加密和校验。
[0022]2.AES

GCM是一种高效的加密算法,对于运行速度和存储资源受限制的芯片也适用,有助于降低成本。
附图说明
[0023]图1为本专利技术提出的电能表与通信模块间的加密校验传输示意图。
[0024]图2为本专利技术一实施例中加解密示意图。
[0025]图3为本专利技术一实施例中认证过程示意图。
具体实施方式
[0026]下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0027]实施例1
[0028]如图1所示,本实施例提出了一种电能表与通信模块间的加密校验传输方法,通信模块与电能表内置相同的默认密钥;通信模块在每次上电时,基于默认密钥和加解密算法发起与电能表的握手过程,将通信所需的加解密密钥发送给电能表;通信模块与电能表交
互的所有数据均基于该加解密密钥采用加解密算法进行加密和解密处理。
[0029]在本实施例中,以AES

GCM加解密算法为例对该方法进行具体阐述:
[0030]具体的,握手过程为:通信模块在上电时基于默认密钥采用AES

GCM加密算法对加解密密钥加密后发送给电能表,电能表基于默认密钥采用对应的AES

GCM解密算法进行解密得到加解密密钥,判断加解密密钥校验是否正确,正确则保存加解密密钥并回复通信模块。
[0031]在本实施例中,默认密钥为随机的16个字节的字节串,在电能表与通信模块生产时写入。在通信模块每次上电复位,都需要使用该字节串和电能表进行握手,得出通信报文的加解密密钥。
[0032]在采用AES

GCM加解密算法对数据进行加密的同时,可以生成校验段,接收端可以对加密后的密文进行校验,检测出数据传输过程是否有被修改。
[0033]如图2所示为本实施例中AES

GCM加密和解密过程示意图。
[0034]对于加密过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种电能表与通信模块间的加密校验传输方法,其特征在于,通信模块与电能表内置相同的默认密钥;通信模块在每次上电时,基于默认密钥和加解密算法发起与电能表的握手过程,将通信所需的加解密密钥发送给电能表;通信模块与电能表交互的所有数据均基于该加解密密钥采用加解密算法进行加密和解密处理。2.根据权利要求1所述的电能表与通信模块间的加密校验传输方法,其特征在于,所述握手过程为:通信模块在上电时基于默认密钥采用加密算法对加解密密钥加密后发送给电能表,电能表基于默认密钥采用对应解密算法进行解密得到加解密密钥,判断加解密密钥校验是否正确,正确则保存加解密密钥并回复通信模块。3.根据权利要求1或2所述的电能表与通信模块间的加密校验传输方法,其特征在于,所述默认密钥为随机的16个字节的字节串,在电能表与通信模块生产时写入。4.根据权利要求1所述的电能表与通信模块间的加密校验传输方法,其特征在于,还包括初始化向量,加/解密时采用的字段;所述初始化向量包括固定部分与可变部分,每次加/解密时的初始化向量均不同,在加/解密依次后发生变化。5.根据权利要求4所述的电能表与通信模块间的加密校验传输方法,其特征在于,所述初始化向量在电能表与通信模块中均不相同,其中:电能表的初始化向量固定部分为电能表表号,生产时写入;可变部分为电能表的发送帧序号;从0开始,电...

【专利技术属性】
技术研发人员:易阳威
申请(专利权)人:成都长城开发科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1