本发明涉及一种加密通信算法,尤其是一种用于光伏监控管理系统的双加密通信方法,属于光伏汇流数据传输的技术领域。
背景技术
光伏系统中构建统一的监控管理系统,需要汇流箱、逆变器、电表的数据汇集在通信管理机,在光伏系统监控,通信管理机采用无线传输采用明文传输的时候,无线通信有掉包现象和数据不安全的现象。网络变化频繁或者不太稳定的2g/3g网络环境下,通信管理机和云平台通信时,数据不完整或可能收到黑客攻击,数据不安全。
技术实现要素:
为了解决现有技术存在的问题,本发明提供一种用于光伏监控管理系统的双加密通信方法,保证通信管理机无线通信的数据安全性和报文完整性。
根据本发明提供的技术方案,一种用于光伏监控管理系统的双加密通信方法,所述用于光伏监控管理系统的双加密通信方法包括以下过程:
数据采集设备采集原始数据;
在数据采集设备中对原始数据进行第一次加密得到第一次密文,并将第一次密文传输给数据管理设备;
数据管理设备接收第一次密文并第一次解密得到原始数据;
数据管理设备对第一次解密后得到的原始数据进行第二次加密,并将第二次密文发送给云平台服务器;
云平台服务器接收数据管理设备发送的第二次密文并解密得到原始数据。
进一步地,对于在数据采集设备中对原始数据进行第一次加密得到第一次密文,并将第一次密文传输给数据管理设备的步骤中所述的数据采集设备第一次加密包括以下过程:
将原始密钥和原始数据的crc检验值进行异或运算得到新密钥;
将新密钥和原始数据通过keeloq算法得到第一次密文。
进一步地,对于在数据管理设备接收第一次密文并第一次解密得到原始数据的步骤包括:数据管理设备通过原始密钥对所接收的第一次密文进行解密。
进一步地,如果数据管理设备通过原始密钥对所接收的第一次密文进行解密不成功,数据管理设备则使用原始密钥和原始数据的crc检验值进行异或运算所得到的新密钥对所接收的第一次密文进行解密。
进一步地,如果使用原始密钥和原始数据的crc检验值进行异或运算所得到的新密钥对所接收的第一次密文进行解密成功,则数据管理设备将原始密钥和原始数据的crc检验值进行异或运算所得到的新密钥作为数据管理设备的解密密钥。
进一步地,对于数据管理设备对第一次解密后得到的原始数据进行第二次加密,并将第二次密文发送给云平台服务器的步骤中所述的数据管理设备第二次加密包括以下过程:
数据管理设备将它采用的算法列表和mac算法发送给云平台服务器,所述mac算法用作产生密钥的随机数;
云平台服务器从所接收到的算法列表中选择一种加密算法作为指定加密算法,选择一种mac算法作为指定mac算法,并将所述指定加密算法和指定mac算法发送给数据管理设备;
数据管理设备对第一次解密后得到的原始数据进行分段,分成若干条纪录;
数据管理设备用指定mac算法依次生成若干条纪录的mac;
数据管理设备用指定加密算法对若干条记录依次进行数据加密形成加密数据;
数据管理设备添加每条纪录的头,发送所述加密数据。
进一步地,对于云平台服务器接收数据管理设备发送的第二次密文并解密得到原始数据的步骤具体包括:
云平台服务器接收每条所述纪录的加密数据,并用与指定加密算法对应的解密算法对每条所述纪录进行解密;
云平台服务器实用指定mac算法校验mac。
从以上所述可以看出,本发明提供的用于光伏监控管理系统的双加密通信方法,与现有技术相比具备以下优点:其一,两次加密过程能够保证数据管理设备无线通信的数据安全性和报文完整性,保证通信管理机的安全传输。其二,所述第一次加密中新密钥的获取决于原始密钥和原始数据的crc检验值的方式,避免了只有原始密钥而存在的传输隐患。
附图说明
图1为本发明的流程图。
图2为图1所述流程中步骤2的具体流程图。
图3为图1所述流程中步骤3的具体流程图。
图4为图1所述流程中步骤4的具体流程图。
图5为图1所述流程中步骤5的具体流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
用于光伏监控管理系统的双加密通信方法
所述光伏监控管理系统包括:数据采集设备、数据管理设备和云平台服务器;所述数据采集设备包括汇流箱、逆变器和电表,数据采集设备能够和数据管理设备之间进行无线通信,将采集到的原始数据第一次加密后发送给数据管理设备;所述数据管理设备,用于接收数据采集设备发送的第一次密文并经第一次解密得到原始数据,之后数据管理设备对第一次解密得到的原始数据进行第二次加密,并将第二次密文发送给云平台服务器;所述云平台服务器,用于接收数据管理设备发送的第二次密文并解密得到原始数据。
如图1所示,所述用于光伏监控管理系在数据采集设中对原始数据进行第一次加密得到第一次密文,并将第一次密文传输给数据管理设备统的双加密通信方法包括以下过程:
s1:数据采集设备采集原始数据;
s2:在数据采集设备中对原始数据进行第一次加密得到第一次密文,并将第一次密文传输给数据管理设备;
s3;数据管理设备接收第一次密文并第一次解密得到原始数据;
s4:数据管理设备对第一次解密后得到的原始数据进行第二次加密,并将第二次密文发送给云平台服务器;
s5:云平台服务器接收数据管理设备发送的第二次密文并解密得到原始数据。
可以看出的是所述两次加密过程能够保证数据管理设备无线通信的数据安全性和报文完整性,保证通信管理机的安全传输。
为了避免在第一次加密过程中因密钥泄露而使得数据采集设备和数据管理设备之间的传输存在安全隐患,对于步骤s2中所述的数据采集设备第一次加密包括以下过程,如图2所示,:
s210:将原始密钥和原始数据的crc检验值进行异或运算得到新密钥;
s220:将新密钥和原始数据通过keeloq算法得到第一次密文。
可以看出,所述新密钥的获取取决于原始密钥和原始数据的crc检验值,避免了只有原始密钥而存在的传输隐患。
为了配合如上所述的步骤s2的第一次数据加密过程,对于步骤s3中所述的数据管理设备第一次解密为学习式解密,其包括以下步骤,如图3所示:
s310:通过原始密钥对所接收的第一次密文进行解密;
如果数据管理设备通过原始密钥对所接收的第一次密文进行解密不成功,数据管理设备则进行s320:使用原始密钥和原始数据的crc检验值进行异或运算所得到的新密钥对所接收的第一次密文进行解密。如果数据管理设备的s320解密成功,则数据管理设备进行s330:将原始密钥和原始数据的crc检验值进行异或运算所得到的新密钥作为数据管理设备的解密密钥。
为了避免在第二次加密过程中因密钥泄露而使得数据管理设备和云平台服务器之间的传输存在安全隐患,对于s4中所述的数据管理设备第二次加密包括以下过程,如图4所示,:
s410:数据管理设备将它采用的算法列表和mac算法发送给云平台服务器,所述mac算法用作产生密钥的随机数。
s420:云平台服务器从所接收到的算法列表中选择一种加密算法作为指定加密算法,选择一种mac算法作为指定mac算法,并将所述指定加密算法和指定mac算法发送给数据管理设备。
s430:数据管理设备对第一次解密后得到的原始数据进行分段,分成若干条纪录。
s440:数据管理设备用指定mac算法依次生成若干条纪录的mac。
s450:数据管理设备用指定加密算法对若干条记录依次进行数据加密形成加密数据。
s460:数据管理设备添加每条纪录的头,发送所述加密数据。
其中所述云平台服务器从所接收到的算法列表中选择一种加密算法作为指定加密算法,选择一种mac算法作为指定mac算法,能够避免因加密算法单一而产生泄露的风险。
对于s5所述的云平台服务器接收数据管理设备发送的第二次密文并解密得到原始数据的步骤具体包括,如图5所示,:
s510:云平台服务器接收每条所述纪录的加密数据,并用与指定加密算法对应的解密算法对每条所述纪录进行解密。
s520:云平台服务器实用指定mac算法校验mac。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的主旨之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。