具有密钥更新与密文分享功能的可搜索公钥加密方法和系统
技术领域
本发明属于信息安全中的数据加密
技术领域
,特别涉及了一种可搜索公钥加密方法和系统。背景技术
为解决加密数据检索的难题,Song等人在2000年提出了可搜索加密的技术。这一新型密码技术克服了传统加密技术无法对密文直接检索的缺陷,迅速引起密码学界的关注和研究。然而,Song等人所提出的可搜索加密基于对称密码体制,因此存在密钥管理和密钥分发问题。2004年,Boneh等人首次提出可搜索公钥加密方法。该方法使得用户可以授权不可信的密文存储服务器检测发送给他且以其公钥加密的密文中是否包含有特定的关键词,有效解决了公钥密码系统中密文的检索问题。
密码系统的安全性主要依赖于秘密密钥的机密性。一旦发生了秘密密钥泄露,整个密码系统的安全性将会受到威胁。最早提出的解决秘密密钥泄露问题的方法是:将秘密密钥分为若干个部分密钥,再将这些部分密钥存放在多个不同设备中。但是,该方法不仅会提高密码系统的部署成本,而且会消耗大量的计算资源。由于密码计算经常需要在一些不安全的或易失的设备上执行,因此秘密密钥泄露不可避免。一些密码学者所提出的方法不再局限于预防秘密密钥泄露的发生,而是在秘密密钥泄露发生之后尽可能减轻它所带来的危害。在可搜索公钥加密方面,Anada等人于2018年首次提出了带有密钥更新功能的公钥可搜索加密的方法以应对用户私钥泄露的问题。在该方法中,用户可以在每个系统周期的初始时刻撤销旧的公私钥并启用新的公私钥。为了更新密文存储服务器上的密文,用户要么下载全部的密文,在本地完成重加密;要么将旧私钥发给密文存储服务器,由密文存储服务器对旧索引密文进行解密得到关键字,再用新公钥加密关键字得到新的密文。易见,该方法在密文更新方面存在如下的不足:如果由用户下载全部的密文在本地完成密文更新,必然会产生高昂的通信、计算以及存储开销;但如果由密文存储服务器来完成索引密文更新,必然会将关键字信息完全暴露给密文存储服务器,因此无法保护关键字的隐私性。此外,Anada等人提出的方法中,搜索陷门需要通过安全信道传输给密文存储服务器,否则无法保证关键字密文的不可区分安全性。而构建安全信道通常需要大量的计算开销和通信负载,因此对于某些应用来说显然是不合适的。
发明内容
为了解决上述背景技术提到的技术问题,本发明提出了具有密钥更新与密文分享功能的可搜索公钥加密方法和系统,不仅支持用户密钥更新的功能,有效克服私钥泄露问题,而且实现了无需解密即可在密文存储服务器上完成密文的更新和分享,起到保护用户在密文存储服务器上的信息资源不被非授权访问的目的。此外,还克服了搜索陷门需要通过安全信道传输的问题。
为了实现上述技术目的,本发明的技术方案为:
一种具有密钥更新与密文分享功能的可搜索公钥加密方法,包括以下步骤:
步骤A、根据安全参数,生成系统的全局参数集;
步骤B、根据系统的全局参数集,密文存储服务器生成自己的公私钥;
步骤C、根据系统的全局参数集,用户生成自己的公私钥,用户包括数据拥有者和被授权数据使用者;
步骤D、根据系统的全局参数集、数据拥有者的公钥、密文存储服务器的公钥和一个与数据密文相关联的关键词,数据拥有者生成索引密文,并将之附加在数据密文后;
步骤E、根据系统的全局参数集、数据拥有者的私钥和被授权数据使用者的私钥,数据拥有者和被授权数据使用者交互生成索引密文重加密密钥;
步骤F、根据系统的全局参数集、密文重加密密钥和数据拥有者的索引密文,密文存储服务器生成被授权数据使用者能够检索的共享索引密文;
步骤G、根据系统的全局参数集、用户的私钥、密文存储服务器的公钥和待搜索的关键词,用户生成搜索陷门;
步骤H、根据系统的全局参数集、密文存储服务器的私钥、索引密文和搜索陷门,密文存储服务器测试索引密文和搜索陷门是否匹配,即测试索引密文和搜索陷门所包含的关键词是否相同,其中索引密文是数据拥有者的索引密文,或者是给被授权数据使用者的共享索引密文;若索引密文和搜索陷门匹配成功,密文存储服务器将该索引密文对应的数据密文发送给用户;否则,密文存储服务器忽略该索引密文对应的数据密文;
步骤I、根据系统的全局参数集,数据拥有者当前使用的私钥和数据拥有者将启用的新私钥,数据拥有者生成索引密文更新密钥;
步骤J、根据系统的全局参数集、数据拥有者的索引密文更新密钥和数据拥有者的原始索引密文,密文存储服务器更新原始索引密文,生成新索引密文。
进一步地,步骤A的具体过程如下:
步骤A1、系统参数生成中心根据安全参数λ∈Z+生成一个λ比特的素数q,一个q阶乘法循环群G和一个q阶乘法循环群GT,并定义一个双线性映射fbp:G×G→GT,其中Z+为正整数集合,fbp:G×G→GT是乘法循环群G和自身的笛卡尔积G×G到乘法循环群GT的映射,即双线性映射fbp:G×G→GT是指函数z=fbp(x,y),其中,x,y∈G为自变量,z∈GT为因变量;
步骤A2、从乘法循环群G中选择一个生成元g;
步骤A3、定义三个哈希函数H:G→G,H1:{0,1}*→G,H2:GT→{0,1}l,其中,l∈Z+,H是乘法循环群G到乘法循环群G的哈希函数,H1是{0,1}*到乘法循环群G的哈希函数,H2是乘法循环群GT到长度为l的二进制符号串的哈希函数,{0,1}*是长度不固定的二进制符号串的集合,{0,1}l是长度为l的二进制符号串的集合;
步骤A4、生成系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2}。
进一步地,步骤B的具体过程如下:
根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},密文存储服务器在集合中随机选择自己的私钥SKS=a,并计算自己的公钥PKS=ga,其中
进一步地,步骤C的具体过程如下:
根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},用户在集合中随机选择自己的私钥SKU=xU,并计算自己的公钥将数据拥有者当前使用的公私钥和将启用的新公私钥分别表示为(PKDO,SKDO)和被授权数据使用者的公私钥表示为(PKAU,SKAU)。
进一步地,步骤D的具体过程如下:
步骤D1、根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者根据自己的公钥PKDO、密文存储服务器的公钥PKS以及一个与待发送数据密文相关联的关键词w,随机选择一个整数生成一个双线性映射值t=fbp(PKS,H1(w))r,其中,H1(w)为哈希函数H1输出的关键词w的哈希值;
步骤D2、计算索引密文的第一部分A=(PKDO)r和索引密文的第二部分B=H2(t);
步骤D3、发送者组合A,B生成索引密文CTw,DO,即索引密文CTw,DO=(A,B)然后将之附加在数据密文上发送给密文存储服务器。
进一步地,步骤E的具体过程如下:
步骤E1、根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者随机选择一个整数利用自己的私钥SKDO计算t1=nSKDOmod p作为自己与被授权数据使用者的交互值,然后将之发送给被授权数据使用者;
步骤E2、被授权数据使用者接收到t1后,利用自己的私钥SKAU计算t2=SKAU/t1作为自己与数据拥有者的交互值,然后将之发送给数据拥有者;
步骤E3、数据拥有者接收到t2后,利用随机整数n计算索引密文重加密密钥rkDO→AU=nt2,然后将之发送给密文存储服务器。
进一步地,步骤F的具体过程如下:
根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},密文存储服务器根据索引密文重加密密钥rkDO→AU和数据拥有者的索引密文CTw,DO=(A,B),重新计算索引密文的第一部分生成共享索引密文CTw,AU=(A',B)。
进一步地,步骤G的具体过程如下:
步骤G1、根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},用户随机选择一个整数计算搜索陷门的第一部分T1=gr';
步骤G2、用户利用自己的私钥SKU、密文存储服务器的公钥PKS以及待搜索的关键词w′,计算搜索陷门的第二部分其中,H1(w')为哈希函数H1输出的关键词w′的哈希值,为哈希函数H输出的密文存储服务器公钥PKS的r′次方的哈希值;
步骤G3、用户组合T1和T2生成搜索陷门Tw',即搜索陷门Tw'=(T1,T2),然后发送给密文存储服务器。
进一步地,步骤H的具体过程如下:
根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},索引密文CTw,U和搜索陷门Tw'=(T1,T2),其中索引密文CTw,U是数据拥有者的索引密文CTw,DO=(A,B),或者是给被授权数据使用者的共享索引密文CTw,AU=(A',B),密文存储服务器使用自己的私钥SKS=a检查等式Y=H2(e(X,(T2/H(T1 a))a))是否成立,如果等式成立,则表示索引密文和搜索陷门相匹配,将索引密文CTw,U对应的数据密文发送给搜索者;否则,匹配测试失败,忽略该索引密文CTw,U;
步骤I的具体过程如下:
根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者根据自己当前使用的私钥SKDO和将启用的新私钥生成一个索引密文更新密钥然后将之发送给密文存储服务器;
步骤J的具体过程如下:
根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者的索引密文更新密钥UKDO和索引密文CTw,DO=(A,B),密文存储服务器重新计算索引密文的第一部分生成一个新索引密文
一种具有密钥更新与密文分享功能的可搜索公钥加密系统,包括:
系统参数生成模块,用于根据输入的安全参数生成系统的全局参数集;
密文存储服务器公私钥生成模块,用于根据系统的全局参数集,生成密文存储服务器的公私钥;
用户公私钥生成模块,用于根据系统的全局参数集,生成用户的公私钥,用户包括数据拥有者和被授权数据使用者;
索引密文生成模块,根据系统的全局参数集、数据拥有者的公钥、密文存储服务器的公钥和一个与数据密文相关联的关键词,数据拥有者生成索引密文;
索引密文重加密密钥生成模块,用于根据系统的全局参数集、数据拥有者的私钥和被授权数据使用者的私钥,数据拥有者和被授权数据使用者交互生成索引密文重加密密钥;
共享索引密文生成模块,用于根据系统的全局参数集、索引密文重加密密钥和数据拥有者的索引密文,密文存储服务器生成被授权数据使用者能够检索的索引密文;
搜索陷门生成模块,用于根据所系统的全局参数集、用户的私钥、密文存储服务器的公钥和待搜索的关键词,用户生成搜索陷门;
密文检索模块,用于根据系统的全局参数集、密文存储服务器的私钥、索引密文和搜索陷门,密文存储服务器测试索引密文和搜索陷门是否匹配,即测试索引密文和搜索陷门所包含的关键词是否相同,其中索引密文是数据拥有者的索引密文,或者是给被授权数据使用者的共享索引密文;若索引密文和搜索陷门匹配成功,密文存储服务器将该索引密文对应的数据密文发送给用户;否则,密文存储服务器忽略该索引密文对应的数据密文;
索引密文更新密钥生成模块,用于根据系统的全局参数集、数据拥有者当前使用的私钥和将启用的新私钥,数据拥有者生成索引密文更新密钥;
索引密文更新模块,用于根据系统的全局参数集、数据拥有者的索引密文更新密钥和数据拥有者的原始索引密文,密文存储服务器对数据拥有者的原始索引密文更新,生成新索引密文。
采用上述技术方案带来的有益效果:
首先,本发明提供了关键字隐私保持的密文更新功能,由于在索引密文更新过程中,无需对索引密文进行解密,密文存储服务器对关键字密文中的关键字信息一无所知,因此有效保护了关键字隐私。
其次,本发明同时使用接收者和指定存储服务器的公钥产生索引密文,只有指定的密文存储服务器才能执行测试操作,因此消除了搜索陷门传输中安全信道的要求。由于只有指定存储服务器使用其私钥才能执行匹配测试操作,因此外部攻击者即使拦截了搜索陷门,也无法破坏索引密文的不可区分性。
最后,本发明提供了密文共享功能。数据拥有者可以通过授权密文存储服务器使用其发送的索引密文重加密密钥来将其索引密文重加密,转化为其他用户能够直接检索的索引密文。因此,其他用户可以直接在密文存储服务器上访问和检索数据拥有者分享给他的的密文。
附图说明
图1是本发明的整体流程图;
图2是本发明的具体流程图;
图3是本发明中系统的组成示意图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
本发明提出的具有密钥更新与密文分享功能的可搜索公钥加密方法可利用双线性映射来实现,下面首先简要地介绍双线性映射的基本知识。
令q为素数,G为q阶乘法循环群,GT为q阶乘法循环群,g是乘法循环群G的生成元。若定义在乘法循环群G和乘法循环群GT上的一个映射fbp:G×G→GT满足下面的三个性质,则称该映射为有效的双线性映射。其中,fbp:G×G→GT是乘法循环群G和自身的笛卡尔积G×G到乘法循环群GT的映射,即双线性映射fbp:G×G→GT是指函数z=fbp(x,y),其中x,y∈G为自变量,z∈GT为因变量。
一个有效的双线性映射fbp:G×G→GT需满足以下三条性质:
(1)双线性:对于任意的满足fbp(gm,gn)=fbp(g,g)mn;
(2)非退化性:其中表示乘法循环群GT中的单位元;
(3)可计算性:对任意的都存在一个算法有效的计算fbp(gm,gn)。其中,群和循环群的概念为:设G为群,如果存在一个元素g∈G使得G={gn|n∈Z}(或G={ng|n∈Z}),则称G为乘法循环群(或加法循环群),称g是群G的生成元。若生成元g的阶为q(即q是使得g的幂等于群G的单位元的最小正整数),则称G为q阶循环群。此外,其中Zq是指整数模q的剩余类,即Zq={0,1,...,q-1}。
根据以上双线性对的描述,下面结合附图和实现例对本发明提出的具有密钥更新与密文分享功能的可搜索公钥加密方法作进一步说明,但并不作为对本发明的限定。
本发明所述方法涉及的用户如下:
(1)系统参数生成中心:系统中唯一的可信第三方,负责生成系统的全局参数集;
(2)密文存储服务器:负责生成自己的的公私钥,生成新索引密文和共享索引密文,并负责存储系统中的密文;在收到搜索陷门后,对密文进行检索,将符合要求的密文发送给用户;
(3)数据拥有者:负责生成初始公私钥、索引密文更新密钥、索引密文重加密密钥,并负责将待发送的数据加密成数据密文,然后将与数据相关联的关键词加密成索引密文并附加在数据密文上发送给密文存储服务器,生成待搜索关键词的搜索陷门,将陷门发送给密文存储服务器,授权密文存储服务器通过搜索陷门检索其接收到的密文。;
(4)被授权数据使用者:负责生成自己的公私钥,并负责生成待搜索关键词的搜索陷门,将陷门发送给密文存储服务器,授权密文存储服务器通过搜索陷门检索其接收到的密文。
参照图1和图2,本发明所述方法的步骤具体描述如下:
一种具有密钥更新与密文分享功能的可搜索公钥加密方法,所述方法包含以下步骤:
步骤A、根据安全参数,系统参数生成中心生成系统的全局参数集;
步骤B、根据系统的全局参数集,密文存储服务器生成自己的公私钥;
步骤C、根据系统的全局参数集,用户生成自己的公私钥,用户包括数据拥有者和被授权数据使用者;
步骤D、根据系统的全局参数集、数据拥有者的公钥、密文存储服务器的公钥和一个与数据密文相关联的关键词,数据拥有者生成索引密文,并将之附加在数据密文后构成可检索密文;
步骤E、根据系统的全局参数集、数据拥有者的私钥和被授权数据使用者的私钥,数据拥有者和被授权数据使用者交互生成索引密文重加密密钥;
步骤F、根据系统的全局参数集、索引密文重加密密钥和数据拥有者的索引密文,密文存储服务器生成被授权数据使用者能够检索的共享索引密文;
步骤G、根据系统的全局参数集、用户的私钥、密文存储服务器的公钥和待搜索的关键词,用户生成搜索陷门,用户包括数据拥有者和被授权数据使用者;
步骤H、根据系统的全局参数集、密文存储服务器的私钥、索引密文和搜索陷门,密文存储服务器测试索引密文和搜索陷门是否匹配,即测试索引密文和搜索陷门所包含的关键词是否相同,其中索引密文可以是数据拥有者的索引密文,也可以是共享给被授权数据使用者的索引密文。若索引密文和搜索陷门匹配成功,密文存储服务器将该索引密文对应的数据密文发送给用户;否则,密文存储服务器忽略该索引密文对应的数据密文;
步骤I、根据系统的全局参数集,数据拥有者的当前使用的私钥和数据拥有者将启用的新私钥,数据拥有者生成索引密文更新密钥;
步骤J、根据系统的全局参数集、数据拥有者的索引密文更新密钥和数据拥有者的原始索引密文,密文存储服务器更新原始索引密文,生成新索引密文。
优选地,所述步骤A的详细步骤如下:
步骤A.1、系统参数生成中心根据安全参数λ∈Z+生成一个λ比特的素数q,一个q阶乘法循环群G和一个q阶乘法循环群GT,并定义一个双线性映射fbp:G×G→GT,其中Z+为正整数集合,fbp:G×G→GT是乘法循环群G和自身的笛卡尔积G×G到乘法循环群GT的映射,即双线性映射fbp:G×G→GT是指函数z=fbp(x,y),其中,x,y∈G为自变量,z∈GT为因变量;
步骤A.2、从乘法循环群G中选择一个生成元g;
步骤A.3、定义三个哈希函数H:G→G,H1:{0,1}*→G,H2:GT→{0,1}l,其中,l∈Z+,H是乘法循环群G到乘法循环群G的哈希函数,H1是{0,1}*到乘法循环群G的哈希函数,H2是乘法循环群GT到长度为l的二进制符号串的哈希函数,{0,1}*是长度不固定的二进制符号串的集合,{0,1}l是长度为l的二进制符号串的集合;
步骤A.4、生成系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2}。
优选地,所述步骤B的详细步骤如下:根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},密文存储服务器在集合中随机选择自己的私钥SKS=a,并计算自己的公钥PKS=ga。
优选地,所述步骤C的详细步骤如下:根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},用户在集合中随机选择自己的私钥SKU=xU,并计算自己的公钥将数据拥有者当前使用的公私钥和将启用的新公私钥分别表示为(PKDO,SKDO)和被授权数据使用者的公私钥表示为(PKAU,SKAU)。
优选地,所述步骤D的详细步骤如下:
步骤D.1、根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者根据自己的公钥PKDO、密文存储服务器的公钥PKS以及一个与待发送数据密文相关联的关键词w,随机选择一个整数生成一个双线性映射值t=fbp(PKS,H1(w))r,其中,H1(w)为哈希函数H1输出的关键词w的哈希值;
步骤D.2、计算索引密文的第一部分A=(PKDO)r和索引密文的第二部分B=H2(t);
步骤D.3、发送者组合A,B生成索引密文CTw,DO,即索引密文CTw,DO=(A,B)由A,B两个部分构成,然后将之附加在数据密文上发送给密文存储服务器。
优选地,所述步骤E的详细步骤如下:
步骤E.1、根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者随机选择一个整数利用自己的私钥SKDO计算t1=nSKDOmod p作为他与被授权数据使用者的交互值,然后将之发送给被授权数据使用者;
步骤E.2、被授权数据使用者接收到t1后,利用自己的私钥SKAU计算t2=SKAU/t1作为他与数据拥有者的交互值,然后将之发送给数据拥有者;
步骤E.3、数据拥有者接收到t2后,利用随机整数n计算索引密文重加密密钥rkDO→AU=nt2,然后将之发送给密文存储服务器。
优选地,所述步骤F的详细步骤如下:根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},密文存储服务器根据索引密文重加密密钥rkDO→AU和数据拥有者的索引密文CTw,DO=(A,B),重新计算索引密文的第一部分生成共享索引密文CTw,AU=(A',B),即共享索引密文CTw,AU=(A',B)由A',B两个部分构成。
优选地,所述步骤G的详细步骤如下:
步骤G.1、根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},用户随机选择一个整数计算搜索陷门的第一部分T1=gr';
步骤G.2、用户利用自己的私钥SKU、密文存储服务器的公钥PKS以及待搜索的关键词w′,计算搜索陷门的第二部分其中,H1(w')为哈希函数H1输出的关键词w′的哈希值,为哈希函数H输出的密文存储服务器公钥PKS的r′次方的哈希值;
步骤G.3、用户组合T1和T2生成搜索陷门Tw',即搜索陷门Tw'=(T1,T2)由T1和T2两个部分构成,然后发送给密文存储服务器。
优选地,所述步骤H的详细步骤如下:根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},索引密文CTw,U=(X,Y)和搜索陷门Tw'=(T1,T2),其中索引密文CTw,U=(X,Y)可以是数据拥有者的索引密文CTw,DO=(A,B),也可以是共享给被授权数据使用者的索引密文CTw,AU=(A',B),密文存储服务器使用自己的私钥SKS=a检查等式Y=H2(e(X,(T2/H(T1 a))a))是否成立。如果等式成立,则表示索引密文和搜索陷门相匹配,将索引密文CTw,U对应的数据密文发送给搜索者;否则,匹配测试失败,忽略该索引密文CTw,U。
优选地,所述步骤I的详细步骤如下:根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者根据自己当前使用的私钥SKDO和将启用的新私钥生成一个索引密文更新密钥然后将之发送给密文存储服务器。
优选地,所述步骤J的详细步骤如下:根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者的索引密文更新密钥UKDO和索引密文CTw,DO=(A,B),密文存储服务器重新计算索引密文的第一部分生成一个新索引密文即新索引密文由A″,B两个部分构成。
参见图3,本发明还提出一种具有密钥更新与密文分享功能的可搜索公钥加密系统,包括系统初始化模块、密文存储服务器公私钥生成模块、用户公私钥生成模块、索引密文生成模块、索引密文重加密密钥生成模块、共享索引密文生成模块、搜索陷门生成模块、密文检索模块、索引密文更新密钥生成模块和索引密文更新模块,具体如下:
系统参数生成模块,用于根据输入的安全参数生成系统的全局参数集;
密文存储服务器公私钥生成模块,用于根据所述系统的全局参数集,生成密文存储服务器的公私钥;
用户公私钥生成模块,用于根据所述系统的全局参数集,生成用户的公私钥,用户包括数据拥有者和被授权数据使用者;
索引密文生成模块,根据系统的全局参数集、数据拥有者的公钥、密文存储服务器的公钥和一个与数据密文相关联的关键词,数据拥有者生成索引密文;
索引密文重加密密钥生成模块,用于根据所述系统的全局参数集、数据拥有者的私钥和被授权数据使用者的私钥,数据拥有者和被授权数据使用者交互生成索引密文重加密密钥;
共享索引密文生成模块,用于根据所述系统的全局参数集、索引密文重加密密钥和数据拥有者的索引密文,密文存储服务器生成被授权数据使用者能够检索的索引密文;
搜索陷门生成模块,用于根据所述系统的全局参数集、用户的私钥、密文存储服务器的公钥和待搜索的关键词,用户生成搜索陷门,用户包括数据拥有者和被授权数据使用者;
密文检索模块,用于根据所述系统的全局参数集、密文存储服务器的私钥、索引密文和搜索陷门,密文存储服务器测试索引密文和搜索陷门是否匹配,即测试索引密文和搜索陷门所包含的关键词是否相同,其中索引密文可以是数据拥有者的索引密文,也可以是共享给被授权数据使用者的索引密文。若索引密文和搜索陷门匹配成功,密文存储服务器将该索引密文对应的数据密文发送给用户;否则,密文存储服务器忽略该索引密文对应的数据密文;
索引密文更新密钥生成模块,用于根据所述系统的全局参数集、数据拥有者当前使用的私钥和将启用的新私钥,数据拥有者生成索引密文更新密钥;
索引密文更新模块,用于根据所述系统的全局参数集、数据拥有者的索引密文更新密钥和数据拥有者的原始索引密文,密文存储服务器对数据拥有者的原始索引密文更新,生成新索引密文。
实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种基于应用市场架构的服务安全方法及设备