区块链上基于属性的具有前向和后向隐私的可搜索加密方法及系统与流程

文档序号:32394890发布日期:2022-11-30 09:53阅读:来源:国知局

技术特征:
1.区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,包括下述步骤:s1、数据拥有者do根据安全参数λ,生成系统参数spp并将spp公布,接着根据spp生成私钥dk1和dk2,并利用公共参数spp、私钥dk2和数据使用者即用户的属性集s
u
,为用户生成私钥k
u
,并通过安全的通道发送给用户du;s2、数据拥有者do使用其私钥dk1、数据集合db={op,ind,w,t}、公开参数spp以及一个映射∑,为文档生成索引密文集edb和已更新的映射∑,并把edb部署到区块链上,其中op表示对数据的操作方式即添加或者删除,ind表示文件索引集,w表示关键字集合,t表示关键字的访问树集合;s3、数据用户du进行检索操作时,数据用户使用其私钥k
u
对关键字q进行加密,得到检索陷门tra并发送给区块链网络;s4、区块链网络bp收到数据用户du发来的检索陷门tra之后,bp先根据edb[t
ind
]获取得到相应的访问树t;接着利用陷门中的t
q
以及用户的属性集在访问树上进行计算得到c,根据edb[h2(c)]判断用户是否具有相应的访问权限;权限检查通过后,根据edb[h2(c)]得到相应的状态值,从该状态开始,向前回溯,将这之前每次更新的与关键字q相关的加密索引添加到结果集mei中,最终将mei返回给数据用户;s5、数据用户接收到结果集mei后,使用私钥k
u
,恢复出对应的明文内容。2.根据权利要求1所述区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,步骤s1中,所述数据拥有者do生成系统参数spp、私钥dk1和私钥dk2后,将系统参数spp公开发布在区块链网络中或广播给所有用户,所有用户均有访问系统公开参数spp的权限;私钥dk1和私钥dk2保存于数据拥有者do中,只有数据拥有者do具有访问私钥dk1和私钥dk2的权限。3.根据权利要求1所述区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,步骤s1具体为:s11、数据拥有者do用群生成器执行生成(g1,g2,e,g,q),其中,q为素数,g1和g2为关于q的乘法群,g是g1的生成元,e:g1×
g1→
g2是一个双线性映射;s12、数据拥有者do随机选择多个安全hash函数,并选择一个伪随机序列生成函数f、f-1
,f:{0,1}
λ
*{0,1}
λ

{0,1}
λ
,f-1
是其逆置换;将以上安全hash函数、伪随机序列生成函数和步骤s11中的参数组合成公开参数spp=(g1,g2,e,g,q,h0,h1,h2,h3,h4,h1,h2,h3,h4,f,f-1
),将spp发布在区块链网络中或广播给系统中所有用户,其中h0,h1,h2,h3,h4,h1,h2,h3,h4均表示安全hash函数;s13、数据拥有者do初始化一个空的映射∑,即∑[key]=value,该映射由数据拥有者do来维护,用于存储关键字的状态;s14、数据拥有者do定义拉格朗日系数:其中s表示一个集合,i,j∈z
q*
;s15、数据拥有者随机选择α,β∈z
q*
,计算g
α
,g
β
和e(g,g)
α
,得到dk1=(e(g,g)
α
,g
β
),dk2=(β,g
α
);
s16、数据拥有者随机选择r∈z
q*
,计算和k3=g
r
,对于用户的属性集s
u
中的每个属性a
i
,都进行以下计算:随机选择然后计算和最终用户的私钥并通过安全的通道发送给用户du。4.根据权利要求1所述区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,步骤s2中,所述索引密文集edb是指数据拥有者通过对关键字进行加密后的数据,在搜索阶段时,通过用户提交的访问树索引t
ind
找到相应的访问树找到相应的访问树是对于关键字w
i
的访问权限描述,服务器利用访问树和用户发送的检索令牌计算得到结果,利用该结果判断是否有相应的加密索引,从而继续检索。5.根据权利要求1所述区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,步骤s2具体为:s21、数据拥有者do随机选择版本号v∈z
q*
,计算并公开版本信息ev=g
v
;s22、数据拥有者对数据集db中的每个关键字w
i
进行以下计算,利用映射∑判断关键字是否存在,不存在则对其状态值进行初始化,接着利用状态值计算得到键再将存储在相应的值中,其中是db(w
i
)的大小,db(w
i
)是w
i
对应的文件索引的集合;s23、对于db(w
i
)中的每个索引进行以下计算,首先对索引进行加密,公式如下:然后利用状态值计算另一个键将加密索引存储在相应的值中,其中,中,其中,s24、接着数据拥有者随机选择秘密数s∈z
q*
,并计算s作为属性访问树的根的秘密值;令t为的根节点,对中的每个节点x做以下计算,如果x是t则随机选择d
t
=k
t-1次的多项式q
t
,并设置q
t
(0)=s,随机设置d
t
个多项式q
t
的系数来完成q
t
的定义;否则随机选择d
x
=k
x-1次的多项式q
x
,并设置q
x
(0)=q
parent(x)
(index(x));s25、令x为所有叶子节点的集合,对每个叶子节点x做以下计算,,对每个叶子节点x做以下计算,最终得到相应的访问树s26、最后计算与用户陷门进行匹配的值以及访问树的索引t
indind
并计算用其hash值作为键将其另一个hash值与状态值异或的结果作为值其中,其中,s27、数据拥有者将以上键值对s27、数据拥有者将以上键值对s27、数据拥有者将以上键值对插入到智能合约中。6.根据权利要求1所述区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,步骤s3具体为:s31、数据用户的私钥为利用k2和q计算得到temp,s32、接着利用k1和temp计算得到t
q
,s33、最后利用版本号ev,计算得到具有版本信息的访问树索引t
ind
,s34、数据用户du根据以上变量组合得到检索陷门:tra=<t
ind
,t
q
,s
u
>其中,其中,其中,s35、数据用户du将所述检索陷门tra发送至区块链网络。7.根据权利要求1所述区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,步骤s4具体为:s41、区块链网络从陷门中获取到访问树的索引t
ind
,从而得到访问树t=edb[t
ind
];s42、令x表示t的节点,对t中的每个叶子节点x做以下计算:令a表示该叶子节点x相应的属性即a=attr(x),如果a∈s
u
,则计算f
x
,否则f
x


;对t中的每个非叶子节点x做以下计算:令s
x
表示k
x
大小的属于x的孩子节点z的集合,如果s
x
不存在,则f
x


,否则使用lagrange interpolation计算f
x

其中,i=index(z),i=index(z),是lagrange coefficient令t表示t的根节点:如果f
t


,则返回0,否则计算c,其中,s43、接着根据c计算得到键如果则说明用户没有相应的访问权限;否则获取相应的值应的访问权限;否则获取相应的值并根据计算得到状态值计算得到状态值s44、接着进入循环loop,对通过状态值获取键获取键如果不为空,则得到相应的值否则结束循环,返回结果集mei利用获取到该状态下,包含当前关键字的索引集长度获取到该状态下,包含当前关键字的索引集长度令j从1到先利用状态值和j获取到键和j获取到键从而获取到值从而获取到值进而计算得到加密索引并将之添加到结果集mei中,
最后当时,回溯上一个状态值时,回溯上一个状态值并将之赋值到继续循环loop。8.根据权利要求1所述区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,步骤s5具体为:s51、数据用户对mei中的每个做以下计算,先计算得到temp,接着解密得到文件索引接着解密得到文件索引s52、利用文件索引在云存储服务器上获取文件,即可得到相应文档。9.一种区块链上基于属性的具有前向和后向隐私的可搜索加密系统,其特征在于,应用于权利要求1-8中任一项所述的区块链上基于属性的具有前向和后向隐私的可搜索加密方法,该可搜索加密系统包括:运行于云服务器上的云存储子系统、运行于数据拥有者端的初始化及加密子系统、运行于数据用户端的检索陷门生成及解密子系统、以及运行于区块链网络上的检索子系统;所述云存储子系统用于存储文件密文,并根据相应的文件索引返回文件密文,将其发送至数据用户;所述初始化及加密子系统包括初始化模块、私钥存储模块和加密模块;其中,所述初始化模块用于生成系统公开参数、私钥和用户私钥,并将系统公开参数公开发布于区块链网络,将两个私钥保存至私钥存储模块,以及将用户私钥发送至数据用户;所述主私钥存储模块用于存储主私钥,只允许数据拥有者访问;所述加密模块负责将文件加密后存储在云存储子系统中,并利用私钥对每一个关键字所对应的索引集合和访问树进行加密,得到索引密文,将索引密文发送至区块链网络;所述检索陷门生成及解密子系统包括用户陷门生成模块和数据解密模块;其中,所述用户陷门生成模块负责利用用户的私钥和检索关键字计算得到合法的检索陷门并发送检索陷门给区块链网络;所述数据解密模块利用用户私钥,对检索得到的加密索引集,恢复出明文索引,并明文索引发送给云服务器,获取得到相应的文件;所述检索子系统包括加密数据集存储模块和检索模块;其中,所述加密数据集存储模块从数据拥有者处取得加密索引、访问树以及相关键值对,并将其存储在区块链网络中;所述检索模块负责处理数据用户发送来的检索陷门,并根据检索陷门判断用户是否有访问权限,进而将包含检索关键字的加密索引集返回给用户。10.一种计算机可读存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1-8任一项所述的区块链上基于属性的具有前向和后向隐私的可搜索加密方法。

技术总结
本发明公开了一种区块链上基于属性的具有前向和后向隐私的可搜索加密方法及系统方法包括:S1、生成系统参数SPP并将SPP公布,生成私钥dk1和dk2,为用户生成私钥K


技术研发人员:徐玲玲 金祥 徐培明
受保护的技术使用者:南方电网科学研究院有限责任公司
技术研发日:2022.08.18
技术公布日:2022/11/29
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1