首页> 中国专利> 一种基于混合加密算法的电力数据隐私通信方法

一种基于混合加密算法的电力数据隐私通信方法

摘要

本发明涉及通信数据安全技术领域,具体涉及一种基于混合加密算法的电力数据隐私通信方法,包括:发送方随机生成AES会话密钥,并使用会话密钥对待传输的电力数据明文m进行加密,得到密文M;发送方采用椭圆加密算法会话密钥进行加密,得到加密后的密钥,并使用数字签名;将密文M与加密后的密钥及数字签名一起发送给接收方;接收方使用ECC解密算法解密出会话密钥并进行签名验证;若签名验证通过,则使用会话密钥对密文M进行解密,得到原电力数据m;若签名不通过,返回错误信息。本发明通过混合加密,保证数据的机密性和完整性,提高加密和解密速度,同时解决了AES加密算法的密钥管理与分发的问题,优化电力数据通信流程。

著录项

  • 公开/公告号CN112511304A

    专利类型发明专利

  • 公开/公告日2021-03-16

    原文格式PDF

  • 申请/专利权人 国网重庆市电力公司营销服务中心;

    申请/专利号CN202011344414.8

  • 发明设计人 王凌宇;傅宏;杨云;

    申请日2020-11-26

  • 分类号H04L9/14(20060101);H04L9/32(20060101);H04L9/30(20060101);H04L29/06(20060101);

  • 代理机构50215 重庆辉腾律师事务所;

  • 代理人王海军

  • 地址 400080 重庆市渝北区青枫北路20号凤凰D座

  • 入库时间 2023-06-19 10:14:56

说明书

技术领域

本发明涉及通信数据安全技术领域,具体涉及一种基于混合加密算法的电力数据隐私通信方法。

背景技术

近年来,随着全球能源问题日益严峻,世界各国都开展了智能电网的研究工作。智能电网是覆盖电力系统整个生产过程(包括发电、输电、变电、配电、用电及调度等多个环节)的全景实时系统,智能电网是电网的智能化,它建立在集成的高速双向通信网络的基础上,通过传感和测量技术、设备技术、控制方法以及决策支持技术的应用,实现了电网的可靠、安全、经济、高效、环境友好和使用安全的目标,其主要特征包括自愈、激励、抵御攻击、提供满足21世纪用户需求的电能质量、容许各种不同发电形式的接入、启动电力市场以及资产的优化高效运行等。由于智能电网中大量智能设备的接入,电力用户与信息世界联系越加紧密,用户端的安全问题日益明显。

在智能电网的安全问题中,数据传输的保密性对于电力用户隐私信息的保护十分重要,是数据传输中必须考虑的问题。对用户隐私有影响的智能电网数据元素包括:地址、账号、电表读数、实时账单、账单历史、家庭局域网等。在智能电网实时通信与数据交互时,用户的数据面临着被不可信的第三方偷窃或者篡改的风险。如果发布者直接发布原始数据,而不采取适当的数据保护措施,很可能会泄露个人的敏感信息,进而危害数据所有者。因此,为了保证个人敏感信息的安全,应当在发布数据的同时进行隐私保护。

对数据加密是解决隐私保护问题的常用手段,同态加密技术、混合加密技术、基于BLS短签名的POR模型、DPDP、Knox等方法是针对数据存储时防止隐私泄露而采取的常用方法。但是,由于大数据的查询、统计、分析和计算等操作也需要在云端进行,为传统加密技术带来了新的挑战。

发明内容

为了解决上述数据传输中可能遇到的数据泄露问题,本发明提供一种基于混合加密算法的电力数据隐私通信方法,该方法利用ECC算法对AEC加密时生成的会话密钥进行加密,并使用签名认证的方式,实现传输过程中数据的机密性和完整性,保证电力业务数据的有效性和安全性。

一种基于混合加密算法的电力数据隐私通信方法,包括以下步骤:

S1、发送方随机生成用于AES加密的AES会话密钥Key,并使用会话密钥Key对待传输的电力数据明文m进行加密,得到密文M;

S2、发送方采用椭圆加密算法ECC对步骤S1生成的会话密钥Key进行加密,得到加密后的密钥,并对密文M使用数字签名;

S3、将步骤S1中生成的密文M、步骤S2中生成加密后的密钥以及密文M的数字签名一起发送给接收方;

S4、接收方使用ECC解密算法解密出AES会话密钥并进行签名验证;

S5、若签名验证通过,则使用AES会话密钥对电力数据密文M进行解密,得到原电力数据m;若签名不通过,返回错误信息。

进一步的,对待传输的电力数据明文m进行加密,得到密文M,具体包括:

S11、对待传输的电力数据明文m进行预处理:对待传输的电力数据明文m进行分组,每组数据的长度为128位,不足128位时用空格补足,每个分组中每行4个字节排成4行,称其为一个状态矩阵,数据的写入和读出均按列优先顺序,以字节为单位操作;

S12、对预处理后的电力明文数据m进行编码处理:对预处理后的数据m进行S盒变换ByteSub、行移位变换ShiftRow、列混淆变换MixColumn、圈密钥加变换AddRoundKey,重复上述操作9轮,在第10轮数据编码中,依次进行S盒变换ByteSub、行移位变换ShiftRow、圈密钥加变换AddRoundKey操作,得到并输出密文M。

进一步的,采用椭圆加密算法ECC算法对步骤S1生成的会话密钥Key进行加密,得到加密后的密钥,并对密文M使用数字签名,具体包括:

S21、接收方选择一条椭圆曲线E

S22、发送方接收到消息(椭圆曲线E

S23、发送方生成第二公钥和第二私钥:椭圆曲线E

S24、采用安全散列算法对密文M进行数字签名:随机选取整数k,k∈[1,n-1],计算kG=(x,y),r=xmodn,其中(x,y)为椭圆曲线E

进一步的,接收方使用ECC解密算法解密出会话密钥并进行签名验证,包括:

S41、接收方接收到数据(步骤S1中生成的密文M、步骤S2中生成加密后的密钥及数字签名、椭圆曲线E

C

S42、对T进行解码,得到AES会话密钥;

S43、对消息进行签名验证:

已知密文M的数字签名为(r,s),首先计算第三临时变量e=h(M),其次计算u=s

比较r'与r的值是否一致,若一致,则签名验证通过,执行步骤S5;若不一致,则签名验证未通过,返回错误信息。

进一步的,使用AES会话密钥对电力数据密文M进行解密,得到原电力数据明文m,具体包括:签名验证通过,得到解密后的AES会话密钥后,对电力数据密文M进行分组,每128位为一组,然后对分组数据依次进行圈密钥加变换、反列变换、反行变换和反S盒变换,重复上述操作9轮,在第10轮数据解码中,依次进行圈密钥加变换、反行变换、反S盒变换;最终接收方得到电力数据明文m。

本发明的有益效果:

1、本发明使用签名验证技术,对传输前后的密文进行数字签名,通过数字签名比对,当发生数据篡改时,直接跳出解密流程,简化了系统对解密流程的开销。

2、本发明使用ECC对AES会话密钥进行加密,保证了密钥的安全性,增加了加解密的复杂性,保证了电力数据传输的安全。

通过本发明,来打消电力客户对数据隐私安全的顾虑,推进智能配电网的推广及应用。同时针对电力行业的业务需求,完善智能电网建设体系,促进电网业务数据共享技术协同创新和应用部署,有利于重庆地区智能电网建设;同时在此技术应用能保护电力客户数据隐私的前提下,深度挖掘电网业务数据的价值,可以促进电网产业转型升级,建设现代化经济体系。

附图说明

下面结合附图和具体实施方式对本发明做进一步详细的说明。

图1为本发明实施例中的一种基于混合加密算法的电力数据隐私通信方法框架图;

图2是本发明实施例的一种电力数据接收双方通信时序图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种基于混合加密算法的电力数据隐私通信方法,如图1所示为电力数据发送、接收双方数据加解密通讯主要流程,主要分为四步:

1)发送方生成AES会话密钥,并对电力数据加密得到密文。

2)发送方用ECC算法对上一步骤生成的密钥进行加密,并对密文生成数字签名。

3)将密文、加密后的密钥及数字签名以及必要参数发送给接收方。

4)进行签名验证,通过后使用ECC解密算法解密出会话密钥,对电力数据密文进行解密。

具体来说,包括但不限于以下实施方式:

S1、发送方随机生成用于AES加密的会话密钥Key,所述会话密钥Key为128位,并使用会话密钥Key对待传输的电力数据明文m进行加密,得到密文M。其中,待传输的电力数据明文m包括:调度运行数据、配网规划数据、配电、发电、用电、输电等基础数据。

进一步的,在一些实施例中,对待传输的电力数据明文m进行加密,得到密文M,具体包括以下步骤:

S11、对待传输的电力数据明文m进行预处理:对待传输的电力数据明文m进行分组,每组数据的长度为128位,不足128位时用空格补足,每个分组中包括4行,每行4个字节,一个分组称为一个状态矩阵,数据的写入和读出均按列优先顺序,以字节为单位操作。

S12、对预处理后的电力明文数据m进行编码处理:对预处理后的数据m依次进行S盒变换ByteSub、行移位变换ShiftRow、列混淆变换MixColumn、圈密钥加变换AddRoundKey,重复上述操作9轮,在第10轮时不做列混淆变换MixColumn,即在第10轮数据编码中,只依次进行S盒变换ByteSub、行移位变换ShiftRow、圈密钥加变换AddRoundKey操作,通过上述一系列编码过程输出密文M。

S2、发送方采用椭圆加密算法ECC对步骤S1生成的会话密钥Key进行加密,得到加密后的密钥,并对密文M使用数字签名。

进一步的,在一些实施例中,采用椭圆加密算法ECC算法对步骤S1生成的会话密钥Key进行加密,得到加密后的密钥,并对对密文M使用数字签名,具体包括以下步骤:

S21、接收方选择一条椭圆曲线E

S22、发送方接收到消息(椭圆曲线E

S23发送方生成第二公钥和第二私钥:椭圆曲线E上的点P∈E,P的阶为满足安全要求的素数n,即nP=O,其中O为无限远点,选择一个随机数d,d∈[1,n-1],计算Q,使Q=dP,由此确定第二密钥对(d,Q),其中第二公钥为Q,第二私钥为d;

S24、采用安全散列算法对密文M进行数字签名:随机选取整数k,k∈[1,n-1],计算kG=(x,y),r=xmodn,其中n为选定的大素数,(x,y)为椭圆曲线E

具体采用椭圆加密算法ECC对AES密钥加密过程如时序图图2所示。

S3、将步骤S1中生成的密文M、步骤S2中生成加密后的密钥、密文M的数字签名、椭圆曲线E

S4、接收方使用ECC解密算法解密出AES会话密钥并进行签名验证。具体地,包括以下步骤:

S41、接收方接收到数据(步骤S1中生成的密文M、步骤S2中生成加密后的密钥、密文M的数字签名以及其他必要参数)后,计算椭圆曲线E

C

S42、对T进行解码,得到AES会话密钥;

S43、对消息进行签名验证:

首先计算e=h(M),其中,e表示第三临时变量,h(M)为安全散列函数SHA-1,并已知密文M的数字签名为(r,s),

其次计算u=s

比较r'与r的值是否一致,若一致,则签名验证通过,执行步骤S5;若不一致,则签名验证未通过,返回错误信息。

其中,r为真实公钥,r'计算出的公钥。

S5、若签名验证通过,则使用AES会话密钥对电力数据密文M进行解密,得到原电力数据m;若签名不通过,返回错误信息。

进一步的,在一些实施例中,使用AES会话密钥对电力数据密文M进行解密,得到原电力数据m,包括:签名验证通过,得到解密后的AES会话密钥后,对电力数据密文M进行分组,每128位为一组,然后对分组数据依次进行圈密钥加变换、反列变换、反行变换和反S盒变换,重复上述操作9轮,接着在第10轮数据解码时不做反列变换,依次进行圈密钥加变换、反行变换、反S盒变换;最终接收方通过上述一系列解密过程得到电力数据明文m。至此,传输双方完成数据交互。

需要说明的是,本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-0nly Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。

以上所述仅是本申请的具体实施方式,应当指出,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号