适应电力业务系统的量子密钥数据库加密方法及系统与流程
未命名
08-27
阅读:131
评论:0
1.本发明涉及量子通信技术和信息科学技术领域,具体地,涉及一种适应电力业务系统的量子密钥数据库加密方法及系统。
背景技术:
[0002][0003]
在电力行业,电力系统数据库服务器是电力业务系统的重要组成部分,电力系统数据库服务器的安全运行是电力系统稳定运行的保障。电力系统运行、控制指令和企业业务涉及较多的隐私数据,因此对安全等级有较高的要求。电力系统数据库服务器目前使用的是现行主流公钥密码体系,其安全性是基于伪随机序列和依靠数学计算复杂度进行数据加密保证。比如现有电力系统数据库服务器采用的非对称加密算法,采用公钥进行加密,然后用私钥进行解密,不过该算法是建立在一个理想的情况下,即加密函数的反函数很难获得。然而随着人工智能、超级计算机以及量子计算机的快速发展,现有公钥密码体系将会被破译。
技术实现要素:
[0004]
本发明实施例的目的是提供一种适应电力业务系统的量子密钥数据库加密方法及系统,该加密方法及系统能增强电力系统数据库服务器的加密强度,保证数据安全。
[0005]
为了实现上述目的,本发明实施例提供一种适应电力业务系统的量子密钥数据库加密方法包括:
[0006]
通过量子密钥分发设备发送端和接收端,生成量子密钥;
[0007]
电力系统应用服务器向量子密钥加密服务器发送数据写入请求或者数据更新请求;
[0008]
所述量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥;
[0009]
所述量子密钥分发设备发送端向所述量子密钥加密服务器返回量子密钥id和量子密钥;
[0010]
所述量子密钥加密服务器对所述数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中;
[0011]
所述量子密钥加密服务器采用量子密钥对所述数据写入请求或数据更新请求中的隐私业务字段进行加密;
[0012]
所述量子密钥加密服务器将量子密钥id和加密的结果发送至电力系统数据库服务器。
[0013]
可选地,所述量子密钥加密服务器对所述数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中,具体包括:
[0014]
采用md5函数对所述数据写入请求或数据更新请求进行处理。
[0015]
可选地,所述量子密钥加密服务器采用量子密钥对所述数据写入请求或数据更新
请求中的隐私业务字段进行加密,具体包括:
[0016]
通过sm4-cbc的量子密钥加密方法进行加密操作,其中,所述sm4-cbc的量子密钥加密方法包括:
[0017]
获取所述数据写入请求或数据更新请求中的明文的第一个分组;
[0018]
对所述第一个分组和初始化向量执行异或操作;
[0019]
根据公式(1)和公式(2)依次处理异或操作的结果,
[0020]ki
=(mki⊕
qki)
⊕
fki,i=0,1,2,3, (1)
[0021]
其中,ki为第i个异或操作的结果,
⊕
为异或计算,mki为预置根密钥的第i个,预置根密钥的长度为128bit,mki的长度为32bit,qki为量子密钥的第i个,其中量子密钥的长度为128bit,qki的长度为32bit,fki为系统参数的第i个,fki的长度为32bit;
[0022]
rki=k
i+4
= ki⊕
t
′
(k
i+1
⊕ki+2
⊕ki+3
⊕
cki),i= 0,1,
…
,31, (2)
[0023]
其中,rki为轮密钥,rki的长度为32bit,k
i+1
、k
i+2
、k
i+3
、k
i+4
为公式(1)异或操作的结果,t
′
为合成置换函数,cki为固定参数的第i个;
[0024]
对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次,
[0025]
x
i+4
=f(xi,x
i+1
,x
i+2
,x
i+3
,rki)=xi⊕
t(x
i+1
⊕
x
i+2
⊕
x
i+3
⊕
rki),i=
[0026]
0,1,
…
,31,(3)
[0027]
其中,xi、x
i+1
、x
i+2
、x
i+3
为明文输入的一个分组,一个分组的长度为128bit,f为轮函数,t为合成置换函数;
[0028]
对迭代处理4次的结果执行反序变换操作;
[0029]
遍历所述明文中其余的分组,获取所述数据写入请求或数据更新请求中的明文的第i个分组和第i-1个分组;
[0030]
将第i个分组和第i-1个分组执行异或操作;
[0031]
根据公式(1)和公式(2)依次处理异或操作的结果;
[0032]
对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次;
[0033]
对迭代处理4次的结果执行反序变换操作。
[0034]
可选地,所述加密方法还包括:
[0035]
所述量子密钥分发设备发送端和所述量子密钥加密服务器进行相互认证;
[0036]
在所述量子密钥分发设备发送端和所述量子密钥加密服务器相互认证通过的情况下,所述量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥。
[0037]
可选地,所述量子密钥分发设备发送端和所述量子密钥加密服务器进行相互认证,具体包括:
[0038]
所述量子密钥加密服务器向所述量子密钥分发设备发送端发起认证请求报文;
[0039]
所述量子密钥分发设备发送端在收到所述认证请求报文的情况下,向所述量子密钥加密服务器发起认证挑战报文;
[0040]
所述量子密钥加密服务器根据公式(4)计算认证信息,并将所述认证信息发送至所述量子密钥分发设备发送端,
[0041]
clientproof=key
⊕
hmac(h(key),auth), (4)
[0042]
其中,key=pbkdf2(qk
′
,salt,iteration-count),
[0043]
auth=username||client-nonce||salt||iteration-count||server-nonce;
[0044]
其中,hmac、h、pbkdf2均为哈希算法,clientproof为用户端的认证信息,key为量子密钥使用pbkdf2计算后的哈希值,auth为带有用户名的认证代码,username表示用户名,||为连接符,client-nonce表示用户端产生的32字节随机数,salt为服务端产生的32字节随机数,iteration-count为为pbkdf2计算轮数,server-nonce为服务端产生的32字节随机数;
[0045]
所述量子密钥分发设备发送端校验所述认证信息是否通过;
[0046]
在所述量子密钥分发设备发送端校验所述认证信息通过的情况下,根据公式(5)计算服务器认证,
[0047]
serverproof=hmac(key
′
,auth), (5)
[0048]
其中,key
′
=clientproof
⊕
hmac(h(key),auth),serverproof为服务器认证,key
′
为用户端认证和hmac结果的异或操作结果。
[0049]
可选地,所述量子密钥加密服务器和量子密钥分发设备发送端之间的通信信息通过sm4-cbc的量子密钥加密方法进行加密。
[0050]
可选地,所述加密方法包括:
[0051]
电力系统应用服务器向量子密钥解密服务器发送数据查询请求;
[0052]
所述量子密钥解密服务器在接收到所述数据查询请求的情况下,向所述量子密钥加密服务器发送所述数据查询请求对应的量子密钥id;
[0053]
所述量子密钥加密服务器向所述量子密钥解密服务器返回所述量子密钥id;
[0054]
所述量子密钥解密服务器向量子密钥分发设备接收端请求获取与所述量子密钥id对应的量子密钥;
[0055]
所述量子密钥分发设备接收端向所述量子密钥解密服务器返回与所述量子密钥id对应的量子密钥;
[0056]
所述量子密钥解密服务器向电力系统数据库服务器发送查询与所述量子密钥id对应的密文数据;
[0057]
所述电力系统数据库服务器向所述量子密钥解密服务器返回与所述量子密钥id对应的密文数据;
[0058]
所述量子密钥解密服务器向电力系统应用服务器返回解密后的明文数据。
[0059]
另一方面,本发明实施例还提供一种适应电力业务系统的量子密钥数据库加密系统,所述加密系统包括:
[0060]
电力系统业务侧,包括电力系统应用服务器;
[0061]
量子密钥加密服务器,包括数据请求字典和量子密钥加密单元;
[0062]
量子密钥分发设备发送端;
[0063]
通过量子密钥分发设备发送端和接收端,生成量子密钥;
[0064]
在所述加密系统工作时,电力系统应用服务器向量子密钥加密服务器发送数据写入请求或者数据更新请求;
[0065]
所述量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥;
[0066]
所述量子密钥分发设备发送端向所述量子密钥加密服务器返回量子密钥id和量子密钥;
[0067]
所述量子密钥加密服务器对所述数据写入请求或数据更新请求进行处理,并将处
理的结果存储于内部的数据请求字典中;
[0068]
所述量子密钥加密服务器采用量子密钥对所述数据写入请求或数据更新请求中的隐私业务字段进行加密;
[0069]
所述量子密钥加密服务器将量子密钥id和加密的结果发送至电力系统数据库服务器。
[0070]
可选地,所述量子密钥加密服务器用于:
[0071]
通过sm4-cbc的量子密钥加密方法进行加密操作,其中,所述sm4-cbc的量子密钥加密方法包括:
[0072]
获取所述数据写入请求或数据更新请求中的明文的第一个分组;
[0073]
对所述第一个分组和初始化向量执行异或操作;
[0074]
根据公式(1)和公式(2)依次处理异或操作的结果,
[0075]ki
=(mki⊕
qki)
⊕
fki,i=0,1,2,3, (1)
[0076]
其中,ki为第i个异或操作的结果,
⊕
为异或计算,mki为预置根密钥的第i个,预置根密钥的长度为128bit,mki的长度为32bit,qki为量子密钥的第i个,其中量子密钥的长度为128bit,qki的长度为32bit,fki为系统参数的第i个,fki的长度为32bit;
[0077]
rki=k
i+4
= ki⊕
t
′
(k
i+1
⊕ki+2
⊕ki+3
⊕
cki),i= 0,1,
…
,31, (2)
[0078]
其中,rki为轮密钥,rki的长度为32bit,k
i+1
、k
i+2
、k
i+i
、k
i+4
为公式(1)异或操作的结果,t
′
为合成置换函数,cki为固定参数的第i个;
[0079]
对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次,
[0080]
x
i+4
=f(xi,x
i+1
,x
i+2
,x
i+3
,rki)=xi⊕
t(x
i+1
⊕
x
i+2
⊕
x
i+3
⊕
rki),i=
[0081]
0,1,
…
,31,(3)
[0082]
其中,xi、x
i+1
、x
i+2
、x
i+3
为明文输入的一个分组,一个分组的长度为128bit,f为轮函数,t为合成置换函数;
[0083]
对迭代处理4次的结果执行反序变换操作;
[0084]
遍历所述明文中其余的分组,获取所述数据写入请求或数据更新请求中的明文的第i个分组和第i-1个分组;
[0085]
将第i个分组和第i-1个分组执行异或操作;
[0086]
根据公式(1)和公式(2)依次处理异或操作的结果;
[0087]
对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次;
[0088]
对迭代处理4次的结果执行反序变换操作。
[0089]
可选地,所述加密系统包括量子密钥解密服务器和量子密钥分发设备接收端;
[0090]
在加密系统工作时,电力系统应用服务器向量子密钥解密服务器发送数据查询请求;
[0091]
所述量子密钥解密服务器在接收到所述数据查询请求的情况下,向所述量子密钥加密服务器发送所述数据查询请求对应的量子密钥id;
[0092]
所述量子密钥加密服务器向所述量子密钥解密服务器返回所述量子密钥id;
[0093]
所述量子密钥解密服务器向量子密钥分发设备接收端请求获取与所述量子密钥id对应的量子密钥;
[0094]
所述量子密钥分发设备接收端向所述量子密钥解密服务器返回与所述量子密钥
id对应的量子密钥;
[0095]
所述量子密钥解密服务器向电力系统数据库服务器发送查询与所述量子密钥id对应的密文数据;
[0096]
所述电力系统数据库服务器向所述所述量子密钥解密服务器返回与所述量子密钥id对应的密文数据;
[0097]
所述量子密钥解密服务器向电力系统应用服务器返回解密后的明文数据。
[0098]
通过上述技术方案,本发明提供的适应电力业务系统的量子密钥数据库加密方法及系统通过量子密钥分发设备发送端和接收端,生成量子密钥;电力系统应用服务器向量子密钥加密服务器发送数据写入请求或者数据更新请求;量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥;量子密钥分发设备发送端向量子密钥加密服务器返回量子密钥id和量子密钥;量子密钥加密服务器对数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中;量子密钥加密服务器采用量子密钥对数据写入请求或数据更新请求中的隐私业务字段进行加密;量子密钥加密服务器将量子密钥id和加密的结果发送至电力系统数据库服务器。该加密方法及系统能增强电力系统数据库服务器的加密强度,保证数据安全。
[0099]
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0100]
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
[0101]
图1是根据本发明的一个实施方式的适应电力业务系统的量子密钥数据库加密方法的流程图;
[0102]
图2是根据本发明的一个实施方式的数据请求字典的示意图;
[0103]
图3是根据本发明的一个实施方式的基于sm4-cbc的量子密钥加密方法的流程图;
[0104]
图4是根据本发明的一个实施方式的基于sm4-cbc的量子密钥加密方法的流程图示意图;
[0105]
图5是根据本发明的一个实施方式的量子密钥分发设备发送端和量子密钥加密服务器进行相互认证的流程图;
[0106]
图6是根据本发明的一个实施方式的数据查询请求的示意图;
[0107]
图7是根据本发明的一个实施方式的适应电力业务系统的量子密钥数据库加密方法及系统的流程框架示意图。
具体实施方式
[0108]
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
[0109]
如图1所示是根据本发明的一个实施方式的适应电力业务系统的量子密钥数据库加密方法的流程图。在该图1中,该加密方法包括:
[0110]
在步骤s1中,通过量子密钥分发设备发送端和接收端,生成量子密钥;
[0111]
在步骤s2中,电力系统应用服务器向量子密钥加密服务器发送数据写入请求或者数据更新请求;
[0112]
在步骤s3中,量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥;
[0113]
在步骤s4中,量子密钥分发设备发送端向量子密钥加密服务器返回量子密钥id和量子密钥;
[0114]
在步骤s5中,量子密钥加密服务器对数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中;
[0115]
在步骤s6中,量子密钥加密服务器采用量子密钥对数据写入请求或数据更新请求中的隐私业务字段进行加密;
[0116]
在步骤s7中,量子密钥加密服务器将量子密钥id和加密的结果发送至电力系统数据库服务器。
[0117]
在该如图1所示出的方法中,步骤s1可以用于通过量子密钥分发设备发送端和接收端,生成量子密钥。其中,量子密钥采用的是连续变量量子密钥分发终端设备(cvqkd)生成,通过在通信双方实时分发量子密钥。
[0118]
步骤s2可以用于电力系统应用服务器向量子密钥加密服务器发送数据写入请求或者数据更新请求。
[0119]
步骤s3可以用于量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥。
[0120]
步骤s4可以用于量子密钥分发设备发送端向量子密钥加密服务器返回量子密钥id和量子密钥。
[0121]
步骤s5可以用于量子密钥加密服务器对数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中。具体地,通过采用md5函数对所述数据写入请求或数据更新请求进行处理。md5函数(md5,message-digest algorithm)是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致。在本发明的一个示例中,数据请求字典可以是如图2所示。
[0122]
步骤s6可以用于量子密钥加密服务器采用量子密钥对数据写入请求或数据更新请求中的隐私业务字段进行加密。其中,对于量子密钥加密服务器采用量子密钥对数据写入请求或数据更新请求中的隐私业务字段进行加密的加密方法,虽然可以是本领域人员所知的多种方式。但是在本发明的一个示例中,考虑到加强隐私业务数据的保护能力,确定通过sm4-cbc的量子密钥加密方法进行加密操作,可以包括如图3所示的步骤。具体地:
[0123]
在步骤s20中,获取所述数据写入请求或数据更新请求中的明文的第一个分组;
[0124]
在步骤s21中,对第一个分组和初始化向量执行异或操作;
[0125]
在步骤s22中,根据公式(1)和公式(2)依次处理异或操作的结果,
[0126]ki
=(mki⊕
qki)
⊕
fki,i=0,1,2,3, (1)
[0127]
其中,ki为第i个异或操作的结果,
⊕
为异或计算,mki为预置根密钥的第i个,预置根密钥的长度为128bit,mki的长度为32bit,qki为量子密钥的第i个,其中量子密钥的长度为128bit,qki的长度为32bit,fki为系统参数的第i个,fki的长度为32bit;
[0128]
rki=k
i+4
= ki⊕
t
′
(k
i+1
⊕ki+2
⊕ki+3
⊕
cki),i= 0,1,
…
,31, (2)
[0129]
其中,rki为轮密钥,rki的长度为32bit,k
i+1
、k
i+2
、k
i+3
、k
i+4
为公式(1)异或操作的结果,t
′
为合成置换函数,cki为固定参数的第i个;
[0130]
在步骤s23中,对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次,
[0131]
x
i+4
=f(xi,x
i+1
,x
i+2
,x
i+3
,rki)=xi⊕
t(x
i+1
⊕
x
i+2
⊕
x
i+3
⊕
rki),i=
[0132]
0,1,
…
,31,(3)
[0133]
其中,xi、x
i+1
、x
i+2
、x
i+3
为明文输入的一个分组,一个分组的长度为128bit,f为轮函数,t为合成置换函数;
[0134]
在步骤s24中,对迭代处理4次的结果执行反序变换操作;
[0135]
在步骤s25中,遍历明文中其余的分组,获取数据写入请求或数据更新请求中的明文的第i个分组和第i-1个分组;
[0136]
在步骤s26中,将第i个分组和第i-1个分组执行异或操作;
[0137]
在步骤s27中,根据公式(1)和公式(2)依次处理异或操作的结果;
[0138]
在步骤s28中,对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次;
[0139]
在步骤s29中,对迭代处理4次的结果执行反序变换操作。
[0140]
在本发明的一个示例中,该sm4-cbc的量子密钥加密方法的流程可以是如图4所示。
[0141]
另一方面,步骤s3量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥前,量子密钥分发设备发送端和量子密钥加密服务器需要进行相互认证,在量子密钥分发设备发送端和量子密钥加密服务器相互认证通过的情况下,量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥。量子密钥分发设备发送端和所述量子密钥加密服务器进行相互认证,可以包括如图5所示的步骤。具体地:
[0142]
在步骤s30中,量子密钥加密服务器向量子密钥分发设备发送端发起认证请求报文,在本发明的一个示例中,请求报文的内容可以是username|client-nonce,|为报文字段之间的分隔;
[0143]
在步骤s31中,量子密钥分发设备发送端在收到认证请求报文的情况下,向量子密钥加密服务器发起认证挑战报文,在本发明的一个示例中,挑战报文的内容可以是username|salt|iteration-count|server-nonce;
[0144]
在步骤s32中,量子密钥加密服务器根据公式(4)计算认证信息,并将认证信息发送至量子密钥分发设备发送端,
[0145]
clientproof=key
⊕
hmac(h(key),auth), (4)
[0146]
其中,key=pbkdf2(qk
′
,salt,iteration-count),
[0147]
auth=username||client-nonce||salt||iteration-count||server-nonce,
[0148]
其中,hmac、h、pbkdf2均为哈希算法,clientproof为用户端的认证信息,key为量子密钥使用pbkdf2计算后的哈希值,auth为带有用户名的认证代码,username表示用户名,||为连接符,client-nonce表示用户端产生的32字节随机数,salt为服务端产生的32字节随机数,iteration-count为为pbkdf2计算轮数,server-nonce为服务端产生的32字节随机数;
[0149]
在步骤s33中,量子密钥分发设备发送端校验认证信息是否通过;
[0150]
在步骤s34中,在量子密钥分发设备发送端校验认证信息通过的情况下,根据公式
(5)计算服务器认证,
[0151]
serverproof=hmac(key
′
,auth), (5)
[0152]
其中,key
′
=clientproof
⊕
hmac(h(key),auth),serverproof为服务器认证,key
′
为用户端认证和hmac结果的异或操作结果。
[0153]
此外,量子密钥加密服务器和量子密钥分发设备发送端之间的通信信息通过sm4-cbc的量子密钥加密方法进行加密。
[0154]
在步骤s7中,量子密钥加密服务器将量子密钥id和加密的结果发送至电力系统数据库服务器。
[0155]
在该实施方式中,电力系统应用服务器查询数据流程可以是如图6所示。具体地:
[0156]
在步骤s40中,电力系统应用服务器向量子密钥解密服务器发送数据查询请求;
[0157]
在步骤s41中,量子密钥解密服务器在接收到数据查询请求的情况下,向量子密钥加密服务器发送数据查询请求对应的量子密钥id;
[0158]
在步骤s42中,量子密钥加密服务器向量子密钥解密服务器返回量子密钥id;
[0159]
在步骤s43中,量子密钥解密服务器向量子密钥分发设备接收端请求获取与量子密钥id对应的量子密钥;
[0160]
在步骤s44中,量子密钥分发设备接收端向量子密钥解密服务器返回与量子密钥id对应的量子密钥;
[0161]
在步骤s45中,量子密钥解密服务器向电力系统数据库服务器发送查询与量子密钥id对应的密文数据;
[0162]
在步骤s46中,电力系统数据库服务器向量子密钥解密服务器返回与所述量子密钥id对应的密文数据;
[0163]
在步骤s47中,量子密钥解密服务器向电力系统应用服务器返回解密后的明文数据。
[0164]
另一方面,本发明还提供一种适应电力业务系统的量子密钥数据库加密系统,该加密系统的流程框图可以是如图7所示。在该图7中,该加密系统可以包括电力系统业务侧、量子密钥加密服务器和量子密钥分发设备发送端。其中电力系统业务侧包括电力系统应用服务器,量子密钥加密服务器包括数据请求字典和量子密钥加密单元。在该加密系统工作时,该电力系统业务侧、量子密钥加密服务器和量子密钥分发设备发送端用于协同工作,以执行如图1中所示出的方法。在该图1中,电力系统业务侧、量子密钥加密服务器和量子密钥分发设备发送端可以用于:
[0165]
在步骤s1中,通过量子密钥分发设备发送端和接收端,生成量子密钥;
[0166]
在步骤s2中,电力系统应用服务器向量子密钥加密服务器发送数据写入请求或者数据更新请求;
[0167]
在步骤s3中,量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥;
[0168]
在步骤s4中,量子密钥分发设备发送端向量子密钥加密服务器返回量子密钥id和量子密钥;
[0169]
在步骤s5中,量子密钥加密服务器对数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中;
[0170]
在步骤s6中,量子密钥加密服务器采用量子密钥对数据写入请求或数据更新请求中的隐私业务字段进行加密;
[0171]
在步骤s7中,量子密钥加密服务器将量子密钥id和加密的结果发送至电力系统数据库服务器。
[0172]
在该如图1所示出的方法中,步骤s1可以用于通过量子密钥分发设备发送端和接收端,生成量子密钥。其中,量子密钥采用的是连续变量量子密钥分发终端设备(cvqkd)生成,通过在通信双方实时分发量子密钥。
[0173]
步骤s2可以用于电力系统应用服务器向量子密钥加密服务器发送数据写入请求或者数据更新请求。
[0174]
步骤s3可以用于量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥。
[0175]
步骤s4可以用于量子密钥分发设备发送端向量子密钥加密服务器返回量子密钥id和量子密钥。
[0176]
步骤s5可以用于量子密钥加密服务器对数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中。具体地,通过采用md5函数对所述数据写入请求或数据更新请求进行处理。md5函数(message-digest algorithm)是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致。在本发明的一个示例中,数据请求字典可以是如图2所示。
[0177]
步骤s6可以用于量子密钥加密服务器采用量子密钥对数据写入请求或数据更新请求中的隐私业务字段进行加密。其中,对于量子密钥加密服务器采用量子密钥对数据写入请求或数据更新请求中的隐私业务字段进行加密的加密方法,虽然可以是本领域人员所知的多种方式。但是在本发明的一个示例中,考虑到加强隐私业务数据的保护能力,确定通过sm4-cbc的量子密钥加密方法进行加密操作,可以包括如图3所示的步骤。具体地:
[0178]
在步骤s20中,获取所述数据写入请求或数据更新请求中的明文的第一个分组;
[0179]
在步骤s21中,对第一个分组和初始化向量执行异或操作;
[0180]
在步骤s22中,根据公式(1)和公式(2)依次处理异或操作的结果,
[0181]ki
=(mki⊕
qki)
⊕
fki,i=0,1,2,3, (1)
[0182]
其中,ki为第i个异或操作的结果,
⊕
为异或计算,mki为预置根密钥的第i个,预置根密钥的长度为128bit,mki的长度为32bit,qki为量子密钥的第i个,其中量子密钥的长度为128bit,qki的长度为32bit,fki为系统参数的第i个,fki的长度为32bit;
[0183]
rki=k
i+4
= ki⊕
t
′
(k
i+1
⊕ki+2
⊕ki+3
⊕
cki),i= 0,1,
…
,31, (2)
[0184]
其中,rki为轮密钥,rki的长度为32bit,k
i+1
、k
i+2
、k
i+3
、k
i+4
为公式(1)异或操作的结果,t
′
为合成置换函数,cki为固定参数的第i个;
[0185]
在步骤s23中,对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次,
[0186]
x
i+4
=f(xi,x
i+1
,x
i+2
,x
i+3
,rki)=xi⊕
t(x
i+1
⊕
x
i+2
⊕
x
i+3
⊕
rki),i=
[0187]
0,1,
…
,31,(3)
[0188]
其中,xi、x
i+1
、x
i+2
、x
i+3
为明文输入的一个分组,一个分组的长度为128bit,f为轮函数,t为合成置换函数;
[0189]
在步骤s24中,对迭代处理4次的结果执行反序变换操作;
[0190]
在步骤s25中,遍历明文中其余的分组,获取数据写入请求或数据更新请求中的明文的第i个分组和第i-1个分组;
[0191]
在步骤s26中,将第i个分组和第i-1个分组执行异或操作;
[0192]
在步骤s27中,根据公式(1)和公式(2)依次处理异或操作的结果;
[0193]
在步骤s28中,对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次;
[0194]
在步骤s29中,对迭代处理4次的结果执行反序变换操作。在本发明的一个示例中,该sm4-cbc的量子密钥加密方法的流程可以是如图4所示。
[0195]
另一方面,步骤s3量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥前,量子密钥分发设备发送端和量子密钥加密服务器需要进行相互认证,在量子密钥分发设备发送端和量子密钥加密服务器相互认证通过的情况下,量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥。量子密钥分发设备发送端和所述量子密钥加密服务器进行相互认证,可以包括如图5所示的步骤。具体地:
[0196]
在步骤s30中,量子密钥加密服务器向量子密钥分发设备发送端发起认证请求报文,在本发明的一个示例中,请求报文的内容可以是username|client-nonce,|为报文字段之间的分隔;
[0197]
在步骤s31中,量子密钥分发设备发送端在收到认证请求报文的情况下,向量子密钥加密服务器发起认证挑战报文,在本发明的一个示例中,挑战报文的内容可以是username|salt|iteration-count|server-nonce;
[0198]
在步骤s32中,量子密钥加密服务器根据公式(4)计算认证信息,并将认证信息发送至量子密钥分发设备发送端,
[0199]
clientproof=key
⊕
hmac(h(key),auth), (4)
[0200]
其中,key=pbkdf2(qk
′
,salt,iteration-count),
[0201]
auth=username||client-nonce||salt||iteration-count||server-nonce;
[0202]
其中,hmac、h、pbkdf2均为哈希算法,clientproof为用户端的认证信息,key为量子密钥使用pbkdf2计算后的哈希值,auth为带有用户名的认证代码,username表示用户名,||为连接符,client-nonce表示用户端产生的32字节随机数,salt为服务端产生的32字节随机数,iteration-count为为pbkdf2计算轮数,server-nonce为服务端产生的32字节随机数;
[0203]
在步骤s33中,量子密钥分发设备发送端校验认证信息是否通过;
[0204]
在步骤s34中,在量子密钥分发设备发送端校验认证信息通过的情况下,根据公式(5)计算服务器认证,
[0205]
serverproof=hmac(key
′
,auth), (5)
[0206]
其中,key
′
=clientproof
⊕
hmac(h(key),auth),serverproof为服务器认证,key
′
为用户端认证和hmac结果的异或操作结果。
[0207]
此外,量子密钥加密服务器和量子密钥分发设备发送端之间的通信信息通过sm4-cbc的量子密钥加密方法进行加密。
[0208]
在步骤s7中,量子密钥加密服务器将量子密钥id和加密的结果发送至电力系统数据库服务器。
[0209]
在该实施方式中,加密系统包括量子密钥解密服务器和量子密钥分发设备接收
端;
[0210]
在加密系统工作时,该加密系统可以用于执行如图5所示出的方法。在该图6中,该加密系统可以用于:
[0211]
在步骤s40中,电力系统应用服务器向量子密钥解密服务器发送数据查询请求;
[0212]
在步骤s41中,量子密钥解密服务器在接收到数据查询请求的情况下,向量子密钥加密服务器发送数据查询请求对应的量子密钥id;
[0213]
在步骤s42中,量子密钥加密服务器向量子密钥解密服务器返回量子密钥id;
[0214]
在步骤s43中,量子密钥解密服务器向量子密钥分发设备接收端请求获取与量子密钥id对应的量子密钥;
[0215]
在步骤s44中,量子密钥分发设备接收端向量子密钥解密服务器返回与量子密钥id对应的量子密钥;
[0216]
在步骤s45中,量子密钥解密服务器向电力系统数据库服务器发送查询与量子密钥id对应的密文数据;
[0217]
在步骤s46中,电力系统数据库服务器向量子密钥解密服务器返回与所述量子密钥id对应的密文数据;
[0218]
在步骤s47中,量子密钥解密服务器向电力系统应用服务器返回解密后的明文数据。
[0219]
通过上述技术方案,本发明提供的基于量子密钥的数据库加密方法及系统通过量子密钥分发设备发送端和接收端,生成量子密钥;电力系统应用服务器向量子密钥加密服务器发送数据写入请求或者数据更新请求;量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥;量子密钥分发设备发送端向量子密钥加密服务器返回量子密钥id和量子密钥;量子密钥加密服务器对数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中;量子密钥加密服务器采用量子密钥对数据写入请求或数据更新请求中的隐私业务字段进行加密;量子密钥加密服务器将量子密钥id和加密的结果发送至电力系统数据库服务器。该加密方法及系统能增强电力系统数据库服务器的加密强度,保证数据安全。
[0220]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0221]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0222]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0223]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0224]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0225]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0226]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0227]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0228]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
技术特征:
1.一种适应电力业务系统的量子密钥的数据库加密方法,其特征在于,所述加密方法包括:通过量子密钥分发设备发送端和接收端,生成量子密钥;电力系统应用服务器向量子密钥加密服务器发送数据写入请求或者数据更新请求;所述量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥;所述量子密钥分发设备发送端向所述量子密钥加密服务器返回量子密钥id和量子密钥;所述量子密钥加密服务器对所述数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中;所述量子密钥加密服务器采用量子密钥对所述数据写入请求或数据更新请求中的隐私业务字段进行加密;所述量子密钥加密服务器将量子密钥id和加密的结果发送至电力系统数据库服务器。2.根据权利要求1所述的加密方法,其特征在于,所述量子密钥加密服务器对所述数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中,具体包括:采用md5函数对所述数据写入请求或数据更新请求进行处理。3.根据权利要求1所述的加密方法,其特征在于,所述量子密钥加密服务器采用量子密钥对所述数据写入请求或数据更新请求中的隐私业务字段进行加密,具体包括:通过sm4-cbc的量子密钥加密方法进行加密操作,其中,所述sm4-cbc的量子密钥加密方法包括:获取所述数据写入请求或数据更新请求中的明文的第一个分组;对所述第一个分组和初始化向量执行异或操作;根据公式(1)和公式(2)依次处理异或操作的结果,其中,k
i
为第i个异或操作的结果,为异或计算,mk
i
为预置根密钥的第i个,预置根密钥的长度为128bit,mk
i
的长度为32bit,qk
i
为量子密钥的第i个,其中量子密钥的长度为128bit,qk
i
的长度为32bit,fk
i
为系统参数的第i个,fk
i
的长度为32bit;其中,rk
i
为轮密钥,rk
i
的长度为32bit,k
i+1
、k
i+2
、k
i+3
、k
i+4
为公式(1)异或操作的结果,t
′
为合成置换函数,ck
i
为固定参数的第i个;对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次,其中,x
i
、x
i+1
、x
i+2
、x
i+3
为明文输入的一个分组,一个分组的长度为128bit,f为轮函数,t为合成置换函数;对迭代处理4次的结果执行反序变换操作;遍历所述明文中其余的分组,获取所述数据写入请求或数据更新请求中的明文的第i
个分组和第i-1个分组;将第i个分组和第i-1个分组执行异或操作;根据公式(1)和公式(2)依次处理异或操作的结果;对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次;对迭代处理4次的结果执行反序变换操作。4.根据权利要求1所述的加密方法,其特征在于,所述加密方法还包括:所述量子密钥分发设备发送端和所述量子密钥加密服务器进行相互认证;在所述量子密钥分发设备发送端和所述量子密钥加密服务器相互认证通过的情况下,所述量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥。5.根据权利要求4所述的加密方法,其特征在于,所述量子密钥分发设备发送端和所述量子密钥加密服务器进行相互认证,具体包括:所述量子密钥加密服务器向所述量子密钥分发设备发送端发起认证请求报文;所述量子密钥分发设备发送端在收到所述认证请求报文的情况下,向所述量子密钥加密服务器发起认证挑战报文;所述量子密钥加密服务器根据公式(4)计算认证信息,并将所述认证信息发送至所述量子密钥分发设备发送端,其中,key=pbkdf2(qk
′
,salt,iteration-count),auth=username||client-nonce||salt||iteration-count||server-nonce,其中,hmac、h、pbkdf2均为哈希算法,clientproof为用户端的认证信息,key为量子密钥使用pbkdf2计算后的哈希值,auth为带有用户名的认证代码,username表示用户名,||为连接符,client-nonce表示用户端产生的32字节随机数,salt为服务端产生的32字节随机数,iteration-count为为pbkdf2计算轮数,server-nonce为服务端产生的32字节随机数;所述量子密钥分发设备发送端校验所述认证信息是否通过;在所述量子密钥分发设备发送端校验所述认证信息通过的情况下,根据公式(5)计算服务器认证,serverproof=hmac(key
′
,auth),(5)其中,serverproof为服务器认证,key
′
为用户端认证和hmac结果的异或操作结果。6.根据权利要求5所述的加密方法,其特征在于,所述量子密钥加密服务器和量子密钥分发设备发送端之间的通信信息通过sm4-cbc的量子密钥加密方法进行加密。7.根据权利要求1所述的加密方法,其特征在于,所述加密方法包括:电力系统应用服务器向量子密钥解密服务器发送数据查询请求;所述量子密钥解密服务器在接收到所述数据查询请求的情况下,向所述量子密钥加密服务器发送所述数据查询请求对应的量子密钥id;所述量子密钥加密服务器向所述量子密钥解密服务器返回所述量子密钥id;所述量子密钥解密服务器向量子密钥分发设备接收端请求获取与所述量子密钥id对应的量子密钥;
所述量子密钥分发设备接收端向所述量子密钥解密服务器返回与所述量子密钥id对应的量子密钥;所述量子密钥解密服务器向电力系统数据库服务器发送查询与所述量子密钥id对应的密文数据;所述电力系统数据库服务器向所述量子密钥解密服务器返回与所述量子密钥id对应的密文数据;所述量子密钥解密服务器向电力系统应用服务器返回解密后的明文数据。8.一种适应电力业务系统的量子密钥的数据库加密系统,其特征在于,所述加密系统包括:电力系统业务侧,包括电力系统应用服务器;量子密钥加密服务器,包括数据请求字典和量子密钥加密单元;量子密钥分发设备发送端;通过量子密钥分发设备发送端和接收端,生成量子密钥;在所述加密系统工作时,电力系统应用服务器向量子密钥加密服务器发送数据写入请求或者数据更新请求;所述量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥;所述量子密钥分发设备发送端向所述量子密钥加密服务器返回量子密钥id和量子密钥;所述量子密钥加密服务器对所述数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中;所述量子密钥加密服务器采用量子密钥对所述数据写入请求或数据更新请求中的隐私业务字段进行加密;所述量子密钥加密服务器将量子密钥id和加密的结果发送至电力系统数据库服务器。9.根据权利要求8所述的加密系统,其特征在于,所述量子密钥加密服务器用于:通过sm4-cbc的量子密钥加密方法进行加密操作,其中,所述sm4-cbc的量子密钥加密方法包括:获取所述数据写入请求或数据更新请求中的明文的第一个分组;对所述第一个分组和初始化向量执行异或操作;根据公式(1)和公式(2)依次处理异或操作的结果,其中,k
i
为第i个异或操作的结果,为异或计算,mk
i
为预置根密钥的第i个,预置根密钥的长度为128bit,mk
i
的长度为32bit,qk
i
为量子密钥的第i个,其中量子密钥的长度为128bit,qk
i
的长度为32bit,fk
i
为系统参数的第i个,fk
i
的长度为32bit;其中,rk
i
为轮密钥,rk
i
的长度为32bit,k
i+1
、k
i+2
、k
i+3
、k
i+4
为公式(1)异或操作的结果,t
′
为合成置换函数,ck
i
为固定参数的第i个;对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次,
其中,x
i
、x
i+1
、x
i+2
、x
i+3
为明文输入的一个分组,一个分组的长度为128bit,f为轮函数,t为合成置换函数;对迭代处理4次的结果执行反序变换操作;遍历所述明文中其余的分组,获取所述数据写入请求或数据更新请求中的明文的第i个分组和第i-1个分组;将第i个分组和第i-1个分组执行异或操作;根据公式(1)和公式(2)依次处理异或操作的结果;对公式(1)和公式(2)处理后的结果采用公式(3)迭代处理4次;对迭代处理4次的结果执行反序变换操作。10.根据权利要求8所述的加密系统,其特征在于,所述加密系统包括量子密钥解密服务器和量子密钥分发设备接收端;在加密系统工作时,电力系统应用服务器向量子密钥解密服务器发送数据查询请求;所述量子密钥解密服务器在接收到所述数据查询请求的情况下,向所述量子密钥加密服务器发送所述数据查询请求对应的量子密钥id;所述量子密钥加密服务器向所述量子密钥解密服务器返回所述量子密钥id;所述量子密钥解密服务器向量子密钥分发设备接收端请求获取与所述量子密钥id对应的量子密钥;所述量子密钥分发设备接收端向所述量子密钥解密服务器返回与所述量子密钥id对应的量子密钥;所述量子密钥解密服务器向电力系统数据库服务器发送查询与所述量子密钥id对应的密文数据;所述电力系统数据库服务器向所述所述量子密钥解密服务器返回与所述量子密钥id对应的密文数据;所述量子密钥解密服务器向电力系统应用服务器返回解密后的明文数据。
技术总结
本发明实施例提供一种适应电力业务系统的量子密钥数据库加密方法及系统,涉及量子通信技术和信息科学技术领域。加密方法包括:通过量子密钥分发设备发送端和接收端,生成量子密钥;电力系统应用服务器向量子密钥加密服务器发送数据写入请求或者数据更新请求;所述量子密钥加密服务器向量子密钥分发设备发送端请求获取量子密钥;所述量子密钥分发设备发送端向所述量子密钥加密服务器返回量子密钥ID和量子密钥;所述量子密钥加密服务器对所述数据写入请求或数据更新请求进行处理,并将处理的结果存储于内部的数据请求字典中。该加密方法及系统能增强电力系统数据库服务器的加密强度,保证数据安全。保证数据安全。保证数据安全。
技术研发人员:周鹏 戚伟强 许敏 王以良 吴昊 俞欣 陈逍潇 郭亚琼 杨帆 孙嘉赛 陆鑫 王臻 陈超 陈婧楠 徐子超
受保护的技术使用者:国网浙江省电力有限公司信息通信分公司
技术研发日:2023.04.18
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
