CN114912127A - 一种基于区块链的多客户端可搜索加密方法 - Google Patents

一种基于区块链的多客户端可搜索加密方法 Download PDF

Info

Publication number
CN114912127A
CN114912127A CN202210236982.9A CN202210236982A CN114912127A CN 114912127 A CN114912127 A CN 114912127A CN 202210236982 A CN202210236982 A CN 202210236982A CN 114912127 A CN114912127 A CN 114912127A
Authority
CN
China
Prior art keywords
ind
key
data
document
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210236982.9A
Other languages
English (en)
Inventor
万震宇
陈洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China Normal University
Original Assignee
East China Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by East China Normal University filed Critical East China Normal University
Priority to CN202210236982.9A priority Critical patent/CN114912127A/zh
Publication of CN114912127A publication Critical patent/CN114912127A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • G06F2211/008Public Key, Asymmetric Key, Asymmetric Encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明公开了一种基于区块链的多客户端可搜索加密方法,属于可搜索加密技术领域。其中包括如下步骤:系统初始化;针对数据动态添加,构建索引;针对数据动态删除,构建索引;数据拥有者为用户分发属性密钥,并赋予某些关键字的搜索能力;用户生成关键字令牌,发起搜索请求;智能合约生成搜索令牌,执行搜索;用户解析搜索结果。该方法具有本地存储开销小、细粒度访问控制、支持多客户端搜索、支持数据动态更新、无单点故障、防篡改等优点,可用于医疗、教育等数据共享场景。

Description

一种基于区块链的多客户端可搜索加密方法
技术领域
本发明属于可搜索加密领域,具体为一种基于区块链的多客户端可搜索加密方法。
背景技术
随着云计算和大数据的发展,越来越多的个人和组织将数据外包给云服务提供商进行存储和共享。这种外包给第三方的行为可以有效降低本地的计算和存储开销,但也有可能造成敏感数据泄露或者第三方滥用数据的问题。为了解决这些问题,可以将数据加密后存储到云端,但加密后的数据就会失去原有的灵活性和可操作性,比如无法通过常规的关键字检索方法获取预期的数据。
可搜索加密是一种支持用户在密文上进行关键字查找的密码学原语,它能够为用户节省大量的网络和计算开销,并充分利用云端服务器庞大的计算资源进行密文上的关键字查找。区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、可追溯等特点。因此,利用区块链实现去中心化的可搜索加密方案具有重要的研究意义。
在实际应用场景中,数据拥有者还希望根据用户的角色授予不同的访问能力。此外,数据是不断产生的,其他客户端也有搜索密文的需求。因此,一个成熟的可搜索加密方案还要具备细粒度访问控制、数据动态添加及支持多客户端搜索等特性。
发明内容
本发明的目的在于针对背景技术里提到的问题,提出一种基于区块链的多客户端可搜索加密方法,该方法可应用于各种数据搜索和共享场景。
实现本发明目的的具体技术方案是:
一种基于区块链的多客户端可搜索加密方法,包括如下步骤:
步骤1:系统初始化
(1.1)初始时,数据拥有者输入安全参数λ,选择一个对称加密方案SE、一个属性基加密方案ABE、一个伪随机函数F和一个密码学哈希函数H;
(1.2)数据拥有者随机选择一个密钥k和两个大素数p、q;令n=pq,并选择一个元素
Figure BDA0003540303190000011
最后,公布公钥PK,并保密系统主密钥SK;
(1.3)数据拥有者选择一个大正整数CLen,并初始化智能合约的全局参数ctr=CLen,将智能合约部署到区块链中;其中,智能合约中初始化了一个空的哈希表结构EDB用于存储索引;
步骤2:数据动态添加操作
一次动态添加操作针对的是文档集;
(2.1)对于文档集DOC,数据拥有者依次为每个文档docind选择一个对称密钥kind,运行对称加密算法SE.Enc()进行加密;最后,将加密数据上传到云服务器;
(2.2)依次对文档集DOC按文档提取关键字,并构建索引;具体实现如下:
(2.2a)对文档docind∈DOC提取出文档标识符-关键字集(ind,Wind),其中
Figure BDA0003540303190000021
是文档docind拥有的关键字集合;
(2.2b)对于文档docind中提取出的关键字w∈Wind,计算关键字令牌ktw=F(k,g1 /w),进而计算搜索令牌stw=Hctr(ktw);
(2.2c)选择一个访问策略
Figure BDA0003540303190000022
和步骤(2.1)中文档docind的对称密钥kind,令mind=(ind||kind||op),运行
Figure BDA0003540303190000023
算法得到密文Cind,其中op为1表示数据添加操作;
(2.2d)对于密文Cind,计算key=H(stw||0),得到value←Map[key],其中Map为本次添加操作中存储数据的哈希表;如果value为空,那么计算
Figure BDA0003540303190000024
并将{key,value}添加到Map中;如果value不空,那么先从Map中移除{key,value},然后选择一个随机令牌rt←{0,1}λ,最后向Map中插入
Figure BDA0003540303190000025
Figure BDA0003540303190000026
(2.3)调用智能合约,将本次添加操作形成的索引数据上传到EDB中,并更新智能合约的公开参数ctr←ctr-1;
步骤3数据动态删除操作
(3.1)数据拥有者向云服务器发送需删除的数据的文档标识符集,然后云服务器返回加密文档集,并执行删除;
(3.2)利用加密文档对应的对称密钥和对称解密算法SE.Dec(),对加密文档集进行解密,得到原文档集DOC';
(3.3)依次对原文档集DOC'按文档提取关键字,并构建索引;具体实现如下:
(3.3a)文档doc'ind∈DOC'能够提取出文档标识符-关键字集(ind,W'ind),其中
Figure BDA0003540303190000031
是文档doc'ind拥有的关键字集合;
(3.3b)对于文档doc'ind中提取出的关键字w∈W'ind,计算关键字令牌ktw=F(k,g1 /w),进而计算搜索令牌stw=Hctr(ktw);
(3.3c)选择一个访问策略
Figure BDA0003540303190000032
令mind=(ind||op),运行
Figure BDA0003540303190000033
算法得到密文Cind,其中op为0表示数据删除操作;
(3.3d)对于密文Cind,计算key=H(stw||0),得到value←Map[key],其中Map为本次添加操作中存储数据的哈希表;如果value为空,那么计算
Figure BDA0003540303190000034
并将{key,value}添加到Map中;如果value不空,那么先从Map中移除{key,value},然后选择一个随机令牌rt←{0,1}λ,最后向Map中插入
Figure BDA0003540303190000035
Figure BDA0003540303190000036
(3.4)调用智能合约,将本次删除操作形成的索引数据上传到EDB中,并更新智能合约的公开参数ctr←ctr-1;
步骤4:数据拥有者向用户授权
(4.1)数据拥有者运行ABE.KeyGen()算法,输出某用户的属性密钥skS,最终通过安全信道分发给用户;
(4.2)用户向数据拥有者申请对某些关键字的搜索能力;
(4.2)数据拥有者根据用户的身份和属性,为用户选取能够授权的关键字集W;然后,数据拥有者计算授权关键字密钥skW,并将k、skW和授权关键字集W通过安全信道发送给用户;
步骤5:用户发起关键字搜索请求
(5.1)根据步骤1和步骤4,某用户此时持有密钥k、skS、skW和授权关键字集W;
(5.2)对于任意的关键字w∈W,用户计算关键字令牌ktw,并送给智能合约执行对关键字w的搜索;
步骤6:智能合约进行搜索
(6.1)智能合约根据参数ctr、CLen以及用户的关键字令牌ktw,循环计算新的搜索令牌stw,执行搜索;具体实现如下:
获取公开参数ctr,令j=ctr,循环执行如下步骤,直至j>CLen:
(6.1a)计算搜索令牌stw=Hj(ktw);
(6.1b)根据搜索令牌stw,计算key=H(stw||0),得到value←EDB[key];如果value不空,得到一个索引密文和一个随机令牌
Figure BDA0003540303190000041
(6.1c)当rt不空时,计算value'←EDB[H(rt||0)]和
Figure BDA0003540303190000042
得到一个索引密文和一个新的随机令牌rt;当rt不空时,循环执行本步;
(6.1d)执行j←j+1;
(6.2)保存搜索过程中得到的结果RES,返回给用户;
步骤7:用户解析搜索结果
(7.1)对于结果RES中的每一个密文C,用户使用属性密钥skS,执行ABE.Dec()算法,得到明文m,其中m为(ind||kind||op)或(ind||op);
(7.2)用户筛选出op为1的文档标识符及其对应的对称密钥,请求云服务器返回加密文档;
(7.3)对于返回的加密文档集,运行对称解密算法SE.Dec()得到原数据。
本发明具有以下优点:
1)支持数据动态添加和删除;
2)数据拥有者只需要本地存储几个隐私参数,本地存储开销降低到了常数级;
3)使用区块链代替中心化的服务器,实现了系统去中心化、数据防篡改、交易可验证可追溯等特性;
4)支持多客户端。用户获取某些关键字的访问能力后,可以本地生成关键字令牌,减少了用户和数据拥有者的交互,降低了通信开销;
5)实现了数据的细粒度访问控制。用户的能力受到关键字和属性的双重制约,用户只能搜索授权的关键字,用户属性用于控制解密的能力。
附图说明
图1是实施本发明的系统模型图;
图2是本发明初始化流程图;
图3是本发明数据动态添加流程图;
图4是本发明数据动态删除流程图;
图5是本发明数据拥有者向用户授权流程图;
图6是本发明用户发起关键字搜索请求流程图;
图7是本发明智能合约执行搜索流程图;
图8是本发明用户解析搜索结果流程图。
具体实施方式
下面结合实施例和附图对本发明的技术方案作进一步详细说明,但本发明的实施方式不限于此。
图1是实施本实施例的系统模型图,包括数据拥有者、用户、区块链、云服务器四个实体。数据拥有者主要负责系统初始化、分发属性密钥、授予用户关键字搜索能力、更新数据、建立索引和部署智能合约;用户即客户端,包括个人或组织等,可以访问授权数据。根据角色不同,客户端会被赋予不同的关键字搜索能力;区块链主要负责存储可搜索密文,并通过智能合约,执行搜索。云服务器主要负责存储加密数据,根据数据拥有者要求更新数据,为用户返回数据。系统初始化后,数据拥有者可以不断进行数据动态添加和删除操作来更新数据,用户可以不断发起搜索请求搜索数据。
实施例
下面是本实施例的具体实施步骤:
步骤1:系统初始化
图2是本实施例初始化流程图,主要包括以下步骤:
(1.1)初始时,数据拥有者输入安全参数λ,选择一个对称加密方案SE=(SE.Enc(),SE.Dec())、一个属性基加密方案ABE=(ABE.Setup(),ABE.KeyGen(),ABE.Enc(),ABE.Dec())、一个伪随机函数F:{0,1}λ×{0,1}*→{0,1}λ和一个密码学哈希函数H:{0,1}*→{0,1}*。其中ABE.Setup()、ABE.KeyGen()、ABE.Enc()和ABE.Dec()分别是属性基初始化、密钥生成、加密和解密算法,SE.Enc()和SE.Dec()分别是对称加密算法和对称解密算法。
(1.2)数据拥有者随机选择一个密钥k∈{0,1}λ。然后,根据强RSA难题,选择两个大素数p和q。令n=pq,并选择一个元素
Figure BDA0003540303190000051
然后,运行ABE.Setup(1λ)算法生成用于分发属性的属性公钥apk和属性主密钥ask。最后,公布公钥PK=(F,H,n,apk),并保密系统主密钥SK=(k1,p,q,g,ask)。
(1.3)数据拥有者选择一个大正整数CLen,并初始化智能合约的全局参数ctr=CLen,将智能合约部署到区块链中。其中,智能合约中初始化了一个空的哈希表结构EDB用于存储索引。
步骤2:数据动态添加操作
图3是本实施例的数据动态添加流程图。在本实施例中,一次动态添加操作针对的是文档集,主要包括以下步骤:
(2.1)对于文档集DOC,每个文档都有唯一的全局标识符ind。数据拥有者依次为每个文档docind∈DOC选择一个对称密钥kind,运行对称加密算法SE.Enc(kind,docind)进行加密。最后,将加密数据上传到云服务器。
(2.2)依次对文档集DOC按文档提取关键字,并构建索引。详细步骤如下:
对文档docind∈DOC提取出文档标识符-关键字集(ind,Wind),其中
Figure BDA0003540303190000061
是文档docind拥有的关键字集合。
对于文档docind∈DOC中提取出的关键字w∈Wind,计算关键字令牌ktw=F(k,g1/w),进而计算搜索令牌stw=Hctr(ktw)。
选择一个访问策略
Figure BDA0003540303190000062
和步骤(2.1)中文档的对称密钥kind,令mind=(ind||kind||op),运行
Figure BDA0003540303190000063
算法得到密文Cind,其中op为1表示数据添加操作。
对于密文Cind,计算key=H(stw||0),得到value←Map[key],其中Map为本次添加操作中存储数据的哈希表。如果value为空,那么计算
Figure BDA0003540303190000064
并将{key,value}添加到Map中;如果value不空,那么先从Map中移除{key,value},然后选择一个随机令牌rt←{0,1}λ,最后向Map中插入
Figure BDA0003540303190000065
Figure BDA0003540303190000066
(2.3)调用智能合约,将Map中的索引数据上传到EDB中,并更新智能合约的公开参数ctr←ctr-1。
步骤3数据动态删除操作
图4是本实施例的数据动态删除流程图。在本实施例中,一次动态删除操作针对的是文档集,主要包括如下步骤:
(3.1)数据拥有者向云服务器发送需删除的数据的文档标识符集,然后云服务器返回加密文档集,并执行删除。
(3.2)利用加密文档对应的对称密钥和对称解密算法SE.Dec(),对加密文档集进行解密,得到原文档集DOC'。
(3.3)依次对文档集DOC'按文档提取关键字,并构建索引。详细步骤如下:
对文档doc'ind∈DOC'提取出文档标识符-关键字集(ind,W'ind),其中
Figure BDA0003540303190000076
是文档doc'ind拥有的关键字集合。
对于文档doc'ind中提取出的关键字w∈W'ind,计算关键字令牌ktw=F(k,g1/w),进而计算搜索令牌stw=Hctr(ktw)。
选择一个访问策略
Figure BDA0003540303190000071
令mind=(ind||op),运行
Figure BDA0003540303190000072
算法得到密文Cind,其中op为0表示数据删除操作。
对于密文Cind,计算key=H(stw||0),得到value←Map[key],其中Map为本次添加操作中存储数据的哈希表。如果value为空,那么计算
Figure BDA0003540303190000073
并将{key,value}添加到Map中;如果value不空,那么先从Map中移除{key,value},然后选择一个随机令牌rt←{0,1}λ,最后向Map中插入
Figure BDA0003540303190000074
Figure BDA0003540303190000075
(3.4)调用智能合约,将Map中的索引数据上传到EDB中,并更新智能合约的公开参数ctr←ctr-1。
步骤4:数据拥有者向用户授权
图5是本实施例的数据拥有者向用户授权流程图,主要包括如下步骤:
(4.1)数据拥有者运行ABE.KeyGen(ask,S)算法,输出某用户的属性密钥skS,最终通过安全信道分发给用户。其中ask为属性公钥,S为用户的属性。
(4.2)用户向数据拥有者申请对某些关键字的搜索能力。
(4.2)数据拥有者根据用户的身份和属性,为用户选取可以授权的关键字集W。然后,数据拥有者计算授权关键字密钥
Figure BDA0003540303190000081
并将k、skW和授权关键字集W通过安全信道发送给用户。
步骤5:用户发起关键字搜索请求
图6是本实施例的用户发起关键字搜索请求流程图,主要包括如下步骤:
(5.1)根据步骤1和步骤4,某用户此时持有密钥k、skS、skW和授权关键字集W。
(5.2)对于任意的关键字w∈W,用户计算关键字令牌
Figure BDA0003540303190000082
并送给智能合约执行对关键字w的搜索。
步骤6:智能合约执行搜索
图7是本实施例的智能合约执行搜索流程图,主要包括如下步骤:
(6.1)获取公开参数ctr,令j=ctr,循环执行如下步骤,直至j>CLen:
计算搜索令牌stw=Hj(ktw)。
根据搜索令牌stw,计算key=H(stw||0),得到value←EDB[key]。如果value不空,得到一个索引密文和一个随机令牌
Figure BDA0003540303190000083
当rt不空时,计算value'←EDB[H(rt||0)]和
Figure BDA0003540303190000084
得到一个索引密文和一个新的随机令牌rt。当rt不空时,循环执行本步。
执行j←j+1。
(6.2)保存搜索过程中得到的所有索引密文,作为结果RES返回给用户。
步骤7:用户解析搜索结果
图8是本实施例的用户解析搜索结果流程图,主要包括如下步骤:
(7.1)对于结果RES中的每一个密文C,如果用户的属性能够满足C的访问策略,那么执行ABE.Dec(skS,C)算法,得到m,其中m类型为(ind||kind||op)或(ind||op);如果用户的属性不满足C的访问策略,则无法解密输出⊥。
(7.2)用户剔除op为0(已删除)的文档标识符及其对应的对称密钥,并将op为1(仍存在)的文档标识符集发送给云服务器,请求响应的文档。
(7.3)云服务器返回对应标识符的加密文档。针对每一个加密文档,用户利用加密该文档的对称密钥,运行对称解密算法SE.Dec()得到原文档。

Claims (4)

1.一种基于区块链的多客户端可搜索加密方法,其特征在于,包括如下步骤:
步骤1:系统初始化
(1.1)初始时,数据拥有者输入安全参数λ,选择一个对称加密方案SE、一个属性基加密方案ABE、一个伪随机函数F和一个密码学哈希函数H;
(1.2)数据拥有者随机选择一个密钥k和两个大素数p、q;令n=pq,并选择一个元素
Figure FDA0003540303180000011
最后,公布公钥PK,并保密系统主密钥SK;
(1.3)数据拥有者选择一个大正整数CLen,并初始化智能合约的全局参数ctr=CLen,将智能合约部署到区块链中;其中,智能合约中初始化了一个空的哈希表结构EDB用于存储索引;
步骤2:数据动态添加操作
一次动态添加操作针对的是文档集;
(2.1)对于文档集DOC,数据拥有者依次为每个文档docind选择一个对称密钥kind,运行对称加密算法SE.Enc()进行加密;最后,将加密数据上传到云服务器;
(2.2)依次对文档集DOC按文档提取关键字,并构建索引;
(2.3)调用智能合约,将本次添加操作形成的索引数据上传到EDB中,并更新智能合约的公开参数ctr←ctr-1;
步骤3数据动态删除操作
(3.1)数据拥有者向云服务器发送需删除的数据的文档标识符集,然后云服务器返回加密文档集,并执行删除;
(3.2)利用加密文档对应的对称密钥和对称解密算法SE.Dec(),对加密文档集进行解密,得到原文档集DOC';
(3.3)依次对原文档集DOC'按文档提取关键字,并构建索引;
(3.4)调用智能合约,将本次删除操作形成的索引数据上传到EDB中,并更新智能合约的公开参数ctr←ctr-1;
步骤4:数据拥有者向用户授权
(4.1)数据拥有者运行ABE.KeyGen()算法,输出某用户的属性密钥skS,最终通过安全信道分发给用户;
(4.2)用户向数据拥有者申请对某些关键字的搜索能力;
(4.2)数据拥有者根据用户的身份和属性,为用户选取能够授权的关键字集W;然后,数据拥有者计算授权关键字密钥skW,并将k、skW和授权关键字集W通过安全信道发送给用户;
步骤5:用户发起关键字搜索请求
(5.1)根据步骤1和步骤4,某用户此时持有密钥k、skS、skW和授权关键字集W;
(5.2)对于任意的关键字w∈W,用户计算关键字令牌ktw,并送给智能合约执行对关键字w的搜索;
步骤6:智能合约进行搜索
(6.1)智能合约根据参数ctr、CLen以及用户的关键字令牌ktw,循环计算新的搜索令牌stw,执行搜索;
(6.2)保存搜索过程中得到的结果RES,返回给用户;
步骤7:用户解析搜索结果
(7.1)对于结果RES中的每一个密文C,用户使用属性密钥skS,执行ABE.Dec()算法,得到明文m,其中m为(ind||kind||op)或(ind||op);
(7.2)用户筛选出op为1的文档标识符及其对应的对称密钥,请求云服务器返回加密文档;
(7.3)对于返回的加密文档集,运行对称解密算法SE.Dec()得到原数据。
2.根据权利要求1所述的多客户端可搜索加密方法,其特征在于,步骤(2.2)所述
依次对文档集DOC按文档提取关键字,并构建索引,具体实现如下:
(2.2a)对文档docind∈DOC提取出文档标识符-关键字集(ind,Wind),其中
Figure FDA0003540303180000022
是文档docind拥有的关键字集合;
(2.2b)对于文档docind中提取出的关键字w∈Wind,计算关键字令牌ktw=F(k,g1/w),进而计算搜索令牌stw=Hctr(ktw);
(2.2c)选择一个访问策略A和步骤(2.1)中文档docind的对称密钥kind,令mind=(ind||kind||op),运行
Figure FDA0003540303180000021
算法得到密文Cind,其中op为1表示数据添加操作;
(2.2d)对于密文Cind,计算key=H(stw||0),得到value←Map[key],其中Map为本次添加操作中存储数据的哈希表;如果value为空,那么计算value←H(stw||1)⊕(Cind||⊥),并将{key,value}添加到Map中;如果value不空,那么先从Map中移除{key,value},然后选择一个随机令牌rt←{0,1}λ,最后向Map中插入{key,H(stw||1)⊕(Cind||rt)}和{H(rt||0),H(rt||1)⊕H(rt||1)⊕H(stw||1)⊕value}。
3.根据权利要求1所述的多客户端可搜索加密方法,其特征在于,步骤(3.3)所述
依次对文档集DOC'按文档提取关键字,并构建索引,具体实现如下:
(3.3a)文档doc′ind∈DOC'能够提取出文档标识符-关键字集(ind,W′ind),其中
Figure FDA0003540303180000032
是文档doc'ind拥有的关键字集合;
(3.3b)对于文档doc′ind中提取出的关键字w∈W′ind,计算关键字令牌ktw=F(k,g1/w),进而计算搜索令牌stw=Hctr(ktw);
(3.3c)选择一个访问策略
Figure FDA0003540303180000033
令mind=(ind||op),运行
Figure FDA0003540303180000031
算法得到密文Cind,其中op为0表示数据删除操作;
(3.3d)对于密文Cind,计算key=H(stw||0),得到value←Map[key],其中Map为本次添加操作中存储数据的哈希表;如果value为空,那么计算value←H(stw||1)⊕(Cind||⊥),并将{key,value}添加到Map中;如果value不空,那么先从Map中移除{key,value},然后选择一个随机令牌rt←{0,1}λ,最后向Map中插入{key,H(stw||1)⊕(Cind||rt)}和{H(rt||0),H(rt||1)⊕H(rt||1)⊕H(stw||1)⊕value}。
4.根据权利要求1所述的多客户端可搜索加密方法,其特征在于,所述步骤(6.1),具体实现如下:
获取公开参数ctr,令j=ctr,循环执行如下步骤,直至j>CLen:
(6.1a)计算搜索令牌stw=Hj(ktw);
(6.1b)根据搜索令牌stw,计算key=H(stw||0),得到value←EDB[key];如果value不空,得到一个索引密文和一个随机令牌(Cind||rt)←value⊕H(stw||1);
(6.1c)当rt不空时,计算value'←EDB[H(rt||0)]和(C′ind||rt)←value'⊕H(rt||1)得到一个索引密文和一个新的随机令牌rt;当rt不空时,循环执行本步;
(6.1d)执行j←j+1。
CN202210236982.9A 2022-03-10 2022-03-10 一种基于区块链的多客户端可搜索加密方法 Pending CN114912127A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210236982.9A CN114912127A (zh) 2022-03-10 2022-03-10 一种基于区块链的多客户端可搜索加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210236982.9A CN114912127A (zh) 2022-03-10 2022-03-10 一种基于区块链的多客户端可搜索加密方法

Publications (1)

Publication Number Publication Date
CN114912127A true CN114912127A (zh) 2022-08-16

Family

ID=82762425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210236982.9A Pending CN114912127A (zh) 2022-03-10 2022-03-10 一种基于区块链的多客户端可搜索加密方法

Country Status (1)

Country Link
CN (1) CN114912127A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115758468A (zh) * 2022-12-05 2023-03-07 北京理工大学 具有前后向隐私支持非交互多用户可搜索加密方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115758468A (zh) * 2022-12-05 2023-03-07 北京理工大学 具有前后向隐私支持非交互多用户可搜索加密方法及系统

Similar Documents

Publication Publication Date Title
CN108494768B (zh) 一种支持访问控制的密文搜索方法及系统
Li et al. A hybrid cloud approach for secure authorized deduplication
Yang et al. Achieving efficient and privacy-preserving cross-domain big data deduplication in cloud
CN114826703B (zh) 基于区块链的数据搜索细粒度访问控制方法及系统
CN104780161A (zh) 一种云存储中支持多用户的可搜索加密方法
CN110166466A (zh) 一种可高效更新权限的多用户可搜索加密方法和系统
CN109981643A (zh) 一种细粒度查询授权的可搜索加密方法及系统
CN106326666A (zh) 一种健康档案信息管理服务系统
CN111556048B (zh) 一种支持密文模式匹配的属性基安全通信方法及系统
Li et al. Secure deduplication system with active key update and its application in IoT
Yin et al. A Novel Proxy Re-encryption Scheme Based on Identity Property and Stateless Broadcast Encryption Under Cloud Environment.
Chen et al. Toward forward and backward private dynamic searchable symmetric encryption supporting data deduplication and conjunctive queries
Chen et al. Password-authenticated searchable encryption
CN109783456B (zh) 去重结构搭建方法、去重方法、文件取回方法、去重系统
Lin et al. Secure deduplication schemes for content delivery in mobile edge computing
CN114912127A (zh) 一种基于区块链的多客户端可搜索加密方法
Yan et al. Secure and efficient big data deduplication in fog computing
Yang et al. Privacy‐Preserving Query Scheme (PPQS) for Location‐Based Services in Outsourced Cloud
Yang et al. Keyword searchable encryption scheme based on blockchain in cloud environment
Nayudu et al. Dynamic Time and Location Information in Ciphertext-Policy Attribute-Based Encryption with Multi-Authorization.
CN116611083A (zh) 一种医疗数据共享方法及系统
WO2019178792A1 (zh) 一种支持访问控制的密文搜索方法及系统
CN114900301A (zh) 一种满足mci安全且指定服务器的公钥可搜索加密方法
CN110851850B (zh) 一种可搜索加密系统的实现方法
Zhang et al. Dual-Server Boolean Data Retrieval for Highly-Scalable Secure File Sharing Services

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination