一种用于保护电力数据的属性基可搜索加密方法与流程

文档序号:32865677发布日期:2023-01-07 01:53阅读:25来源:国知局
一种用于保护电力数据的属性基可搜索加密方法与流程

1.本发明涉及可搜索加密、属性基加密、隐私保护技术领域,尤其涉及一种用于保护电力数据的属性基可搜索加密方法。


背景技术:

2.随着电网系统的不断完善以及电力数据的不断增加,如何解决电网系统中重要敏感数据的存储和使用成为了一个不可忽视的问题。近年来,由于云服务器具有强大的运算能力和存储能力,人们更倾向于将数据上传至云服务器存储,从而减轻本地数据管理的负担,提高数据的访问效率。然而,云环境中存在着许多安全威胁,包括服务器自身故障、外部恶意攻击、管理人员操作失误等,影响到了云服务器上的数据隐私安全。尤其对于电网数据来说,其敏感信息一旦遭到恶意攻击,就会对人民利益乃至国家安全造成重大影响。因此,为保护电网数据的隐私性,通常将数据加密后再上传到云服务器。不过,对数据进行加密虽然可以保证其隐私性,但为数据的检索使用带来了挑战。
3.为了解决加密数据的检索问题,人们提出了可搜索加密的概念。可搜索加密可以实现密文状态下的数据检索。用户可以根据检索关键词生成搜索陷门并发送给云服务器,云服务器利用陷门完成对加密数据的搜索。由于搜索陷门并不会泄露与关键词有关的信息,因此使用云服务器来执行搜索操作既保证了搜索效率也不会泄露数据的隐私。
4.此外,由于电网系统中存在大量的用户和电力数据,为保证数据的安全性,访问控制也是必不可少的。传统的可搜索加密方案中,数据拥有者不能自行制定访问策略,导致其无法规定哪些使用者可以对数据进行检索,从而无法实现细粒度的访问控制。而属性基加密则是实现细粒度访问控制的重要技术,将属性基加密与可搜索加密相结合,不仅可以让数据拥有者通过属性信息进行访问控制管理,也可以提高可搜索加密方案的效率。
5.由于电网系统中用于访问控制的属性复杂多样,属性数量往往很大,文献1[ge c,susilo w,liu z,et al.secure keyword search and data sharing mechanism for cloud computing[j].ieee transactions on dependable and secure computing,2020,pp(99):1-1.]中的公共参数随属性数量的增长而线性增加,导致在大属性环境下,系统的公共参数的数量过大,难以管理。


技术实现要素:

[0006]
本发明所要解决的技术问题是提供一种访问策略灵活的用于保护电力数据的属性基可搜索加密方法。
[0007]
为解决上述问题,本发明所述的一种用于保护电力数据的属性基可搜索加密方法,包括以下步骤:
[0008]
s10、系统初始化:属性授权机构对系统进行初始化,并生成相关参数;
[0009]
s20、加密数据上传:数据拥有者自行制定访问策略,并根据访问策略对电力数据进行加密,之后将加密数据以及与其对应的访问策略上传到云服务器;
[0010]
s30、加密数据检索:数据使用者将其属性集合和搜索关键词发送给属性授权机构;属性授权机构首先根据数据使用者的属性集合生成私钥,再根据私钥以及搜索关键词生成搜索陷门,之后数据使用者将搜索陷门发送给云服务器,云服务器利用搜索陷门完成加密数据检索,并将检索结果发送给数据使用者;
[0011]
s40、数据解密:数据使用者从属性授权机构获得私钥,从云服务器获得加密数据,并使用私钥对加密数据进行解密,即可获得想要搜索的电力数据。
[0012]
所述步骤s10包括以下子步骤:
[0013]
s101、属性初始化:初始化属性空间,并将属性分配给对应系统用户;
[0014]
s102、参数初始化:属性授权机构执行初始化算法生成公共参数与主密钥,公共参数将被发送给数据拥有者用于数据加密,主密钥则被属性授权机构保留用于后续的密钥生成。
[0015]
所述初始化算法包括以下步骤:
[0016]
初始化算法以安全参数λ作为输入,生成乘法循环群g和模q乘法群定义双线性映射e:g
×g→gt
,在群中随机选择元素并计算公共参数部件f1=gc,f2=gb,生成四个哈希函数h1:{0,1}
*

g,h2:g
t

{0,1}
*
,和h1表示将01字符串映射到群g上元素的哈希函数,h2表示将群g
t
上元素映射到01字符串的哈希函数,h3表示将01字符串映射到群上元素的哈希函数,h4表示将01字符串和群g
t
上元素映射到群上元素的哈希函数;输出公共参数pk和主密钥msk:msk={g
α
,a,b}。
[0017]
所述步骤s20包括以下子步骤:
[0018]
s201、访问策略制定:数据拥有者为待加密的电力数据设计访问策略,访问策略表示为a=(a,ρ,t);其中:a表示秘密共享矩阵;ρ表示一个映射函数,用于将矩阵a的每一行映射到特定的属性名称;t表示属性值集合,包含了属性名称对应的属性值;
[0019]
s202、数据加密:数据拥有者执行数据加密算法,将待加密数据、访问策略和关键词作为输入,输出密文ct;
[0020]
s203、数据上传:数据使用者将加密数据以及访问策略上传至云服务器,其中:上传的访问策略只包含(a,ρ),属性值则由数据拥有者保留。
[0021]
所述数据加密算法包括以下步骤:
[0022]
将待加密数据m、访问策略a=(a,ρ,t)和关键词kw作为输入,随机选择r∈g
t
,计算秘密值s=h4(m,r),构造随机向量其中,s2,v2,v
′2,

,vn,v
′n均为群中随机选择的元素,计算中间变量中随机选择的元素,计算中间变量其中mi表示矩阵a的第i行所对应的行向量;随机选择群元素计算:
[0023]
c=r
·
e(g,g)
αs
,c

=gs,
[0024]
[0025][0026]
式中,att
ρ(i)
表示矩阵a的第i行对应属性的属性值,属性值使用01字符串进行表示;
[0027]
输出密文其中,w0,w1,w2为密文检索部件,为密文解密部件。
[0028]
所述步骤s30包括以下子步骤:
[0029]
s301、私钥生成:属性授权机构执行密钥生成算法,将主密钥和数据使用者的属性集合作为输入,输出私钥sks:
[0030][0031]
私钥中的k,l,ki为解密部件,v,y,z,y
x
为陷门生成部件;
[0032]
s302、陷门生成:属性授权机构执行陷门生成算法,将私钥和待搜索关键词作为输入,输出搜索陷门:
[0033][0034]
式中,τ1,τ2,τ3,y

,z

,y
x

为搜索陷门中的元素;
[0035]
s303、数据检索:数据使用者将搜索陷门发送给云服务器,云服务器执行检索算法,将数据密文和搜索陷门作为输入,测试密文中的关键词与陷门中的关键词是否相同;若相同,则输出1,否则输出0。
[0036]
所述密钥生成算法包括以下步骤:
[0037]
以主密钥msk和数据使用者的属性集合s作为输入,随机选择计算得出私钥sks:
[0038]
k=g
αft
,l=g
t
,v=g
(ac-r)/b
,y=gr,
[0039]ki
=h1(atti)
t
,y
x
=h1(atti)r,
[0040]
式中,atti表示属性i所对应的属性值,属性值使用01字符串进行表示;私钥中的k,l,ki为解密部件,v,y,z,y
x
为陷门生成部件。
[0041]
所述陷门生成算法包括以下步骤:
[0042]
以私钥sks和搜索关键词kw

作为输入,随机选择计算:
[0043]
τ2=f

,τ3=v
γ
,y

=y
γ
,z

=z
γ

[0044]
对于每个属性集合中的属性x,计算输出搜索陷门:
[0045][0046]
所述检索算法包括以下步骤:
[0047]
密文ct和陷门τ作为输入,首先计算常数使得∑
i∈i
ωimi=(1,0,

,0),其中i={i:ρ(i)∈s},计算检索部件f:
[0048]
[0049]
如果密文中的关键词与搜索陷门中的关键词相同,则满足e(w1,τ1)e(w2,τ3)f=e(w0,τ2),算法输出1,否则输出0。
[0050]
所述步骤s40包括以下子步骤:
[0051]
s401、数据获取:数据使用者从云服务器获取密文,从属性授权机构获取私钥;
[0052]
s402、数据解密:数据使用者执行解密算法,将数据密文和私钥作为输入,若数据使用者的属性满足密文中的访问策略,则输出明文,否则解密失败,输出


[0053]
所述解密算法包括以下步骤:
[0054]
以密文ct以及用户私钥sks作为输入,若数据使用者的属性满足密文中的访问策略,则有:
[0055][0056]
之后,计算r=c/e(g,g)
αs
,输出明文数据m,否则解密失败,输出


[0057]
本发明与现有技术相比具有以下优点:
[0058]
1、本发明是基于文献1[ge c,susilo w,liu z,et al.secure keyword search and data sharing mechanism for cloud computing[j].ieee transactions on dependable and secure computing,2020,pp(99):1-1.]中的算法对其进行改进,使得本发明中的公共参数大小为恒定常数,并不会随系统属性的增加而增长,适用于大用户量、大属性空间的电网环境。
[0059]
2、本发明对访问策略进行了部分隐藏,可实现对电力数据的细粒度访问控制以及对加密数据的检索需求。
[0060]
由于解密的需要,访问策略往往要跟密文绑定一起上传至云服务器,这也导致恶意用户可以从访问策略中获取一些隐私信息。因此,本发明中属性被定义为属性名和属性值两部分,属性名被公开存储在云服务器,而属性值则被隐藏。
[0061]
3、本发明支持灵活的访问策略。
[0062]
相比于其他使用了“and gate”结构的方案,本发明使用的lsss结构使得访问策略不仅可以支持and操作,也可以支持or操作,此外,通过一些技术,也可以将访问控制树结构转化为lsss结构。因此,数据拥有者可以根据自己的需求灵活地制定策略。
[0063]
4、本发明中的算法使用基于密文策略的属性基加密(cp-abe)进行构造,在cp-abe方案中,访问策略与密文相关联,属性与密钥相关联。因此,cp-abe允许数据拥有者定义自己的访问策略,相较基于密钥策略的属性基加密(kp-abe)更适合于访问控制。
[0064]
5、将本发明方法与文献1进行实验分析和对比,表明本发明具有较好的效率和实用性。
附图说明
[0065]
下面结合附图对本发明的具体实施方式作进一步详细的说明。
[0066]
图1为本发明的模型图。
[0067]
图2为本发明的基本流程图。
[0068]
图3为本发明与文献1的公共参数的对比图。
[0069]
图4为本发明中各算法耗时图。
具体实施方式
[0070]
如图1所示,本发明方法涉及的系统实体包括:数据拥有者、数据使用者、云服务器和属性授权机构。
[0071]
数据拥有者:数据拥有者是指在电网系统中持有电力数据的用户。数据拥有者可以自行制定访问策略,并使用访问策略对数据进行加密,之后数据拥有者负责将加密数据以及访问策略上传至云服务器。
[0072]
数据使用者:数据使用者是指在电网系统中想要对电力数据进行检索的用户。数据使用者可以使用自己的属性集合获得私钥,使用关键词获得搜索陷门;数据使用者还负责执行解密算法,当其属性满足访问策略时,数据使用者便可以成功解密检索得到的数据密文。
[0073]
云服务器:云服务器负责存储加密数据以及访问策略,负责使用搜索陷门帮助数据使用者完成密文检索,并将相关密文返回给数据使用者。在本发明中,云服务器并不完全可信,因此要求搜索陷门不会泄露任何与关键词有关的信息。
[0074]
属性授权机构:属性授权机构负责管理系统中的属性信息,负责执行初始化算法,生成公共参数以及主密钥,在收到数据使用者发送的属性信息后,负责执行密钥生成算法来为数据使用者生成私钥。此外,属性授权机构还负责执行陷门生成算法,使用用户提供的关键词生成搜索陷门。在本发明中,属性授权机构被要求是完全可信的。
[0075]
如图2所示,一种用于保护电力数据的属性基可搜索加密方法,包括以下步骤:
[0076]
s10、系统初始化:属性授权机构对系统进行初始化,并生成相关参数。
[0077]
s101、属性初始化:初始化属性空间,并将属性分配给对应系统用户。
[0078]
s102、参数初始化:属性授权机构执行初始化算法生成公共参数与主密钥。初始化算法以安全参数λ作为输入,生成乘法循环群g和模q乘法群定义双线性映射e:g
×g→gt
,在群中随机选择元素并计算公共参数部件f1=gc,f2=gb,生成四个哈希函数h1:{0,1}
*

g,h2:g
t

{0,1}
*
,和h1表示将01字符串映射到群g上元素的哈希函数,h2表示将群g
t
上元素映射到01字符串的哈希函数,h3表示将01字符串映射到群上元素的哈希函数,h4表示将01字符串和群g
t
上元素映射到群上元素的哈希函数;输出公共参数pk和主密钥msk:
[0079]
msk={g
α
,a,b}。
[0080]
公共参数将被发送给数据拥有者用于数据加密,主密钥则被属性授权机构保留用于后续的密钥生成。
[0081]
s20、加密数据上传:数据拥有者自行制定访问策略,并根据访问策略对电力数据进行加密,之后将加密数据以及与其对应的访问策略上传到云服务器。
[0082]
s201、访问策略制定:数据拥有者为待加密的电力数据设计访问策略,访问策略表示为a=(a,ρ,t);其中:a表示秘密共享矩阵;ρ表示一个映射函数,用于将矩阵a的每一行映
射到特定的属性名称;t表示属性值集合,包含了属性名称对应的属性值。
[0083]
s202、数据加密:数据拥有者执行数据加密算法,将待加密数据m、访问策略a=(a,ρ,t)和关键词kw作为输入,随机选择r∈g
t
,计算秘密值s=h4(m,r),构造随机向量其中,s2,v2,v
′2,

,vn,v
′n均为群中随机选择的元素,计算中间变量其中mi表示矩阵a的第i行所对应的行向量;随机选择群元素计算:
[0084]
c=r
·
e(g,g)
αs
,c

=gs,
[0085][0086][0087]
式中,att
ρ(i)
表示矩阵a的第i行对应属性的属性值,属性值使用01字符串进行表示;
[0088]
将待加密数据、访问策略和关键词作为输入,输出密文其中,w0,w1,w2为密文检索部件,为密文解密部件。
[0089]
s203、数据上传:数据使用者将加密数据以及访问策略上传至云服务器,其中:上传的访问策略只包含(a,ρ),属性值则由数据拥有者保留。
[0090]
s30、加密数据检索:数据使用者将其属性集合和搜索关键词发送给属性授权机构;属性授权机构首先根据数据使用者的属性集合生成私钥,再根据私钥以及搜索关键词生成搜索陷门,之后数据使用者将搜索陷门发送给云服务器,云服务器利用搜索陷门完成加密数据检索,并将检索结果发送给数据使用者。
[0091]
s301、私钥生成:属性授权机构执行密钥生成算法,以主密钥msk和数据使用者的属性集合s作为输入,随机选择计算得出私钥sks:
[0092]
k=g
αft
,l=g
t
,v=g
(ac-r)/b
,y=gr,
[0093]ki
=h1(atti)
t
,y
x
=h1(atti)r,
[0094]
式中,atti表示属性i所对应的属性值,属性值使用01字符串进行表示;私钥中的k,l,ki为解密部件,v,y,z,y
x
为陷门生成部件。
[0095]
s302、陷门生成:属性授权机构执行陷门生成算法,以私钥sks和搜索关键词kw

作为输入,随机选择计算:
[0096]
τ2=f

,τ3=v
γ
,y

=y
γ
,z

=z
γ

[0097]
对于每个属性集合中的属性x,计算输出搜索陷门:
[0098][0099]
s303、数据检索:数据使用者将搜索陷门发送给云服务器,云服务器执行检索算法,将数据密文ct和搜索陷门τ作为输入,首先计算常数使得∑
i∈i
ωimi=(1,0,

,0),其中i={i:ρ(i)∈s},计算检索部件f:
[0100][0101]
如果密文中的关键词与搜索陷门中的关键词相同,则满足e(w1,τ1)e(w2,τ3)f=e(w0,τ2),算法输出1,否则输出0。
[0102]
s40、数据解密:数据使用者从属性授权机构获得私钥,从云服务器获得加密数据,并使用私钥对加密数据进行解密,即可获得想要搜索的电力数据。
[0103]
其中,搜索陷门并不会泄露任何与搜索关键词有关的信息,且只有属性满足访问策略的用户才能成功检索和解密密文。
[0104]
s401、数据获取:数据使用者从云服务器获取密文,从属性授权机构获取私钥。
[0105]
s402、数据解密:数据使用者执行解密算法,以密文ct以及用户私钥sks作为输入,若数据使用者的属性满足密文中的访问策略,则有:
[0106][0107]
之后,计算r=c/e(g,g)
αs
,输出明文数据m,否则解密失败,输出


[0108]
本发明基于文献[1]中的算法进行了改进,为满足电力环境下的需求,本发明算法中的公共参数的大小为常量,而不是随着属性数量的增加而线性增加。如图3所示,将本发明与文献[1]进行了对比,结果显示,无论系统中的属性数量如何增长,本发明中的公共参数的大小始终保持不变。
[0109]
本发明中的几个算法的运行耗时如图4所示。随着属性数量的不断增长,各算法的耗时不断增加,其中加密算法的耗时最多。此外,当属性增长到一定数量后,相比于其他算法,陷门生成算法的耗时最少。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1