CN112000632A - 密文的分享方法、介质、分享客户端及系统 - Google Patents

密文的分享方法、介质、分享客户端及系统 Download PDF

Info

Publication number
CN112000632A
CN112000632A CN202010760006.4A CN202010760006A CN112000632A CN 112000632 A CN112000632 A CN 112000632A CN 202010760006 A CN202010760006 A CN 202010760006A CN 112000632 A CN112000632 A CN 112000632A
Authority
CN
China
Prior art keywords
ciphertext
sharing
plaintext
key
file
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.)
Granted
Application number
CN202010760006.4A
Other languages
English (en)
Other versions
CN112000632B (zh
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.)
Tianyi Electronic Commerce Co Ltd
Original Assignee
Tianyi Electronic Commerce Co Ltd
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 Tianyi Electronic Commerce Co Ltd filed Critical Tianyi Electronic Commerce Co Ltd
Priority to CN202010760006.4A priority Critical patent/CN112000632B/zh
Publication of CN112000632A publication Critical patent/CN112000632A/zh
Application granted granted Critical
Publication of CN112000632B publication Critical patent/CN112000632B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1013Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to locations
    • 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/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
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种密文的分享方法、介质、分享客户端及系统,所述密文的分享方法包括:确定待分享的明文文件集合、明文文件ID集合及关键词集合;创建与所述明文文件集合中各个明文文件对应的查询密钥和对称加密密钥;根据所述对称加密密钥对各个所述明文文件进行加密,生成密文,并将所述密文发送至服务端;结合所述明文文件ID集合以及关键词集合在区块链中部署智能合约;向授权成功的访问客户端发送所述查询密钥和对称加密密钥,以使所述访问客户端结合所述查询密钥通过所述智能合约获取密文,并通过所述对称加密密钥将所述密文解密得到明文。本发明所提供的的密文分享方法实现了数据拥有者与访问者双向的数据安全分享。

Description

密文的分享方法、介质、分享客户端及系统
技术领域
本发明属于网络技术与安全的技术领域,涉及一种密文的分享方法,特别是涉及一种密文的分享方法、介质、分享客户端及系统。
背景技术
目前,隐私数据的托管存储使得数据的机密性保护和按需(关键词)检索成为用户关切,基于可搜索加密的密文分享机制赋予了用户密文查询能力的同时保证了数据的隐私安全性。然而目前的密文安全分享策略无法同时实现无中心环境下的多关键词可排序检索,模糊关键词检索,以及检索结果可验证等功能,在实际应用中,如电子医疗记录系统中的病例数据分享、基于云存储的隐私数据查询等应用场景下,无法提供用户精度较高、模糊关键词检索等灵活的密文查询能力,降低了用户体验与方案实用性。
因此,如何提供一种密文的分享方法、介质、分享客户端及系统,以解决现有技术无法在无中心环境下通过准确、可靠的密文检索实现数据拥有者与访问者双向的数据安全分享等缺陷,成为本领域技术人员亟待解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种密文的分享方法、介质、分享客户端及系统,用于解决现有技术无法在无中心环境下通过准确、可靠的密文检索实现数据拥有者与访问者双向的数据安全分享的问题。
为实现上述目的及其他相关目的,本发明一方面提供一种密文的分享方法,所述密文的分享方法包括:确定待分享的明文文件集合、明文文件ID集合及关键词集合;创建与所述明文文件集合中各个明文文件对应的查询密钥和对称加密密钥;根据所述对称加密密钥对各个所述明文文件进行加密,生成密文,并将所述密文发送至服务端;结合所述明文文件ID集合以及关键词集合在区块链中部署智能合约;向授权成功的访问客户端发送所述查询密钥和对称加密密钥,以使所述访问客户端结合所述查询密钥通过所述智能合约获取密文,并通过所述对称加密密钥将所述密文解密得到明文。
于本发明的一实施例中,在所述确定待分享的明文文件集合、明文文件ID集合及关键词集合的步骤之前,所述密文的分享方法还包括:通过初始化生成公共参数;所述公共参数用于确定待分享的明文文件集合、明文文件ID集合及关键词集合。
于本发明的一实施例中,所述结合所述明文文件ID集合以及关键词集合在区块链中部署智能合约的步骤包括:基于所述明文文件ID集合以及关键词集合,利用位置敏感哈希函数及二进制向量数据结构生成二叉树状加密索引;将所述二叉树状加密索引嵌入区块链的智能合约中。
于本发明的一实施例中,所述基于所述明文文件ID集合以及关键词集合,利用位置敏感哈希函数及二进制向量数据结构生成二叉树状加密索引的步骤包括:通过词干提取算法,抽取相似单词的词干,以获取所述关键词集合;将所述关键词集合中每个单词利用一元分词转化为一元分词向量;计算每个所述单词在所述明文文件ID集合中每一个明文文件中的权重;根据所述一元分词向量和所述权重,构建每一个明文文件的权重向量;利用所有的明文文件的权重向量建立所述二叉树状加密索引。
于本发明的一实施例中,所述向授权成功的访问客户端发送所述查询密钥和对称加密密钥的步骤包括:通过属性密码学对所述访问客户端进行访问权限管理;当判定所述访问客户端授权成功时,通过去中心化的属性加密或密钥交换将所述查询密钥和对称加密密钥分享至所述访问客户端。
本发明另一方面提供一种介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的密文的分享方法。
本发明又一方面提供一种分享客户端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述分享客户端执行所述的密文的分享方法。
本发明最后一方面提供一种密文的分享系统,所述密文的分享系统包括:分享客户端,用于确定待分享的明文文件集合、明文文件ID集合及关键词集合;创建与所述明文文件集合中各个明文文件对应的查询密钥和对称加密密钥;根据所述对称加密密钥对各个所述明文文件进行加密,生成密文,并将所述密文发送至服务端;结合所述明文文件ID集合以及关键词集合在区块链中部署智能合约;向授权成功的访问客户端发送所述查询密钥和对称加密密钥,以使所述访问客户端结合所述查询密钥通过所述智能合约获取密文,并通过所述对称加密密钥将所述密文解密得到明文;服务端,用于存储所述分享客户端生成的密文;访问客户端,用于在授权成功后,接收所述分享客户端发送的所述查询密钥和对称加密密钥,以及结合所述查询密钥通过所述智能合约获取密文,并通过所述对称加密密钥将所述密文解密得到明文。
于本发明的一实施例中,所述访问客户端根据待检索的关键词集合、查询密钥和对称加密密钥生成检索令牌,并将所述检索令牌发送至所述智能合约,以使所述智能合约检索所述访问客户端需访问的密文。
于本发明的一实施例中,所述智能合约根据所述检索令牌和二叉树状加密索引计算与所述待检索的关键词集合匹配的文件ID集合,并将所述文件ID集合发送至所述访问客户端,以使所述访问客户端根据所述文件ID集合中的信息从所述服务端中获取密文集合、并对所述密文集合解密后获取明文;所述二叉树状加密索引是基于所述明文文件ID集合以及关键词集合,利用位置敏感哈希函数及二进制向量数据结构生成的,并嵌入所述智能合约中。
如上所述,本发明所述的密文的分享方法、介质、分享客户端及系统,具有以下有益效果:
本发明结合区块链、LSH函数与Bloom Filter,通过建立基于关键词Bloom Filter的二叉树加密索引,构建了高效的支持模糊、可排序的多关键词无中心可验证的密文分享机制。利用平衡二叉树索引结构,模糊关键词检索的时间复杂度可以约束在对数上限内。基于智能合约的检索机制保证了检索结果的正确可验证性,通过触发合约,查询方的预存费用将会在得到正确结果后由合约进行扣除,用于支付给数据拥有者与矿工。数据查询方可以在无中心环境下,灵活的进行模糊关键词检索,得到最关联的文件查询结果,并相信检索结果是正确的;而数据拥有者也可以通过正确的分享数据获得相应的报酬,从而在数据拥有者与查询方之间建立细粒度高效的数据分享通道。
附图说明
图1显示为本发明的密文的分享方法于一实施例中的原理流程图。
图2显示为本发明的密文的分享方法于一实施例中的系统初始化示意图。
图3显示为本发明的密文的分享方法于一实施例中的密钥生成示意图。
图4显示为本发明的密文的分享方法于一实施例中的智能合约部署流程图。
图5显示为本发明的密文的分享方法于一实施例中的加密索引生成流程图。
图6显示为本发明的密文的分享方法于一实施例中的数据外包原理图。
图7显示为本发明的密文的分享系统于一实施例中的系统架构图。
图8显示为本发明的密文的分享系统于一实施例中的各参与方操作流程图。
图9显示为本发明的密文的分享系统于一实施例中访问客户端的令牌生成原理图。
图10显示为本发明的密文的分享系统于一实施例中智能合约的数据获取原理图。
图11显示为本发明的密文的分享系统于一实施例中的电子医疗健康记录系统实例图。
图12显示为本发明的密文的分享系统于一实施例中的异构身份联盟的跨域数据分享系统实例图。
元件标号说明
1 分享客户端
2 服务端
3 访问客户端
S11~S15 步骤
S141~S142 步骤
S141A~S141E 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明所述的密文的分享方法利用一元分词unigram、LSH(Locality-SensitiveHashing,位置敏感哈希)和布隆过滤器Bloom Filter建立加密索引实现模糊多关键词密文检索;结合平衡二叉树将密文检索时间复杂度降低至对数级;通过部署智能合约完成检索结果的可验证性,从而达到数据拥有者与访问者双向的数据安全分享。
以下将结合图1至图12详细阐述本实施例的一种密文的分享方法、介质、分享客户端及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本实施例的密文的分享方法、介质、分享客户端及系统。
请参阅图1,显示为本发明的密文的分享方法于一实施例中的原理流程图。如图1所示,所述密文的分享方法优选应用于分享客户端,即数据拥有者Data Owner(DO),具体包括以下几个步骤:
S11,确定待分享的明文文件集合、明文文件ID集合及关键词集合。
在S11之前,所述密文的分享方法还包括:通过初始化生成公共参数。所述公共参数用于确定待分享的明文文件集合、明文文件ID集合及关键词集合。具体地,所述公共参数用于在所述密文的分享方法执行过程中规定密钥长度、安全等级、算法符号及所运行的安全域大小或其他在现有密文分享时公共参数可以实现的功能。
请参阅图2,显示为本发明的密文的分享方法于一实施例中的系统初始化示意图。如图2所示,数据拥有者Data Owner在这个阶段生成公共参数,并给定安全参数λ,选择一组l个LSH(Locality-Sensitive Hashing,位置敏感哈希)函数H:{hi:{0,1}160→[λ]},i∈[l]。
S12,创建与所述明文文件集合中各个明文文件对应的查询密钥和对称加密密钥。
请参阅图3,显示为本发明的密文的分享方法于一实施例中的密钥生成示意图。如图3所示,DO在这个阶段生成查询密钥sk={k1,M1,M2},并随机选择一个对称加密密钥enk,将密钥生成时的符号定义进行列表管理,形成表1。
表1密钥生成阶段符号意义表
k<sub>1</sub> λ位{0,1}字符串
M<sub>1</sub>,M<sub>2</sub> 实数域上的λ×λ可逆矩阵
S13,根据所述对称加密密钥对各个所述明文文件进行加密,生成密文,并将所述密文发送至服务端。
具体地,DO首先用对称加密密钥enk加密明文
Figure BDA0002612797940000051
生成密文CT,将密文CT上传到服务端。
S14,结合所述明文文件ID集合以及关键词集合在区块链中部署智能合约。
请参阅图4,显示为本发明的密文的分享方法于一实施例中的智能合约部署流程图。如图4所示,S14包括:
S141,基于所述明文文件ID集合以及关键词集合,利用位置敏感哈希函数及二进制向量数据结构生成二叉树状加密索引。
请参阅图5,显示为本发明的密文的分享方法于一实施例中的加密索引生成流程图。如图5所示,S141包括:
S141A,通过词干提取算法,抽取相似单词的词干,以获取所述关键词集合。
具体地,请参阅图6,显示为本发明的密文的分享方法于一实施例中的数据外包原理图。如图6所示,DO基于文件ID集合
Figure BDA0002612797940000052
抽取关键词集合
Figure BDA0002612797940000054
利用LSH函数、Bloom Filter生成二叉树状加密索引EIDX。
在该步骤中,对文件
Figure BDA0002612797940000056
抽取关键词集合
Figure BDA0002612797940000055
利用stemming词干提取算法,抽取相似单词的词干。
S141B,将所述关键词集合中每个单词利用一元分词转化为一元分词向量。
具体地,对
Figure BDA0002612797940000062
中的每个单词
Figure BDA0002612797940000063
用一元分词unigram转化为{0,1}160的160位向量形式。
S141C,计算每个所述单词在所述明文文件ID集合中每一个明文文件中的权重。
具体地,由Score(wj,Fi)=1+fji/|Fi|计算每个单词
Figure BDA0002612797940000064
在Fi中的权重,其中fji为词频,|Fi|为总词频。
S141D,根据所述一元分词向量和所述权重,构建每一个明文文件的权重向量。
具体地,构建Fi的Bloom Filterλ+1位向量Bi:根据LSH函数集合H,将每个单词wj的unigram向量投射到Bi的l个槽中,在槽中累加wj的权重。其中,Bi的第λ+1位为1。
S141E,利用所有的明文文件的权重向量建立所述二叉树状加密索引。
具体地,对文件集合
Figure BDA0002612797940000065
对应的所有B={Bi},建立平衡二叉树索引Tidx,建立流程如下:
a.叶节点包含文件ID Fi、服务端存储地址、与基于Bloom Filter Bi构建的节点的数据向量等信息;
b.如果第m层节点数目为偶数,则第m-1层节点的数据向量为其左右子节点对应数据向量的按位求和(最后第λ+1位不变);
c.如果第m层节点数目为奇数,则第m-1层除最后一个节点外的节点的数据向量为其左右子节点对应数据向量的按位求和,最后一个节点的数据向量等于第m层最后一个节点的数据向量(最后第λ+1位不变)。
进一步地,根据平衡二叉树索引Tidx,建立加密索引EIDX,建立流程如下:
首先,对Tidx的每个节点,生成加密数据向量{Vu1,Vu2};
其中,若k1的第i位为0,则{Vu1,Vu2}的第i位等于节点数据向量的第i位;否则,{Vu1,Vu2}的第i位为随机数,且其求和等于节点数据向量的第i位;{Vu1,Vu2}的第λ+1位为1;利用查询向量的矩阵M1,M2加密{Vu1,Vu2}的前λ位为
Figure BDA0002612797940000061
然后,将对每个节点按上述处理后的Tidx作为EIDX。
以上二叉树加密索引的建立实现了将关键词的词频插入二叉树加密索引的叶节点的基于布隆过滤器的数据向量中,父节点的数据为其左右子节点的数据向量的对应位的和,当内节点的数据向量与检索令牌向量内积结果不满足Top-k门限要求时,则该内节点的分支可以剪枝,以实现模糊多关键词可排序检索的优化。
S142,将所述二叉树状加密索引嵌入区块链的智能合约中。
S15,向授权成功的访问客户端发送所述查询密钥和对称加密密钥,以使所述访问客户端结合所述查询密钥通过所述智能合约获取密文,并通过所述对称加密密钥将所述密文解密得到明文。
在本实施例中,S15包括:
首先,通过属性密码学对所述访问客户端进行访问权限管理。
然后,当判定所述访问客户端授权成功时,通过去中心化的属性加密或密钥交换将所述查询密钥和对称加密密钥分享至所述访问客户端。
具体地,访问客户端向分享客户端申请访问权限,分享客户端与访问客户端之间可以利用诸如属性密码学或其他访问权限的方法进行访问权限管理。若授权成功,分享客户端分享sk和enk给访问客户端,密钥分享方法可以采用去中心化的属性加密、DiffieHellman迪菲-赫尔曼密钥交换等策略。
本发明所述的密文的分享方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
本实施例提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述密文的分享方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的计算机可读存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的计算机存储介质。
本发明所述的分享客户端包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述分享客户端执行所述的密文的分享方法。
上述的存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Alication SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable GateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
请参阅图7和图8,分别显示为本发明的密文的分享系统于一实施例中的系统架构图和本发明的密文的分享系统于一实施例中的各参与方操作流程图。如图7所示,所述密文的分享系统布置于区块链中,通过区块链中的智能合约完成访问客户端所需密文的检索工作,具体包括:分享客户端1、服务端2和访问客户端3。
结合图8,将分享客户端定义为数据拥有者Data Owner(DO),将访问客户端定义为数据访问者Data User(DU),各参与方的操作如下:
1)DO运行算法Setup(1λ)生成公共参数,同时,DO选定待分享的明文文件集合
Figure BDA0002612797940000081
及其文件ID集合
Figure BDA0002612797940000083
抽取关键词集合
Figure BDA0002612797940000084
2)DO运行算法KeyGen(1λ)生成查询密钥sk,用于明文
Figure BDA0002612797940000082
的对称加密密钥enk等。
3)DO加密明文
Figure BDA0002612797940000088
生成密文CT,将CT上传到服务端。例如IPFS(Inter PlanetaryFile System,分布式文件系统)存储等。
4)DO基于文件ID集合
Figure BDA0002612797940000086
抽取关键词集合
Figure BDA0002612797940000085
利用LSH函数、Bloom Filter生成二叉树状加密索引EIDX,DO向区块链部署智能合约Contract,并将EIDX嵌入合约。
5)DU向DO申请数据共享权限,若成功,DO发送查询密钥sk和对称加密密钥enk给DU。
6)DU选取关键词集合
Figure BDA0002612797940000087
同样利用LSH函数和Bloom Filter基于算法
Figure BDA0002612797940000089
生成检索令牌TP,DU将检索令牌TP发送给合约Contract。
7)智能合约Contract执行查询算法Search(EIDX,TP)获取Top-k相关度的文件ID集合,并将结果(文件ID和服务端存储地址)返回DU。
8)DU获取智能合约反馈的检索结果(文件ID和服务端存储地址)。
9)DU基于文件ID集合向服务端申请获取密文集合。
10)服务端向DU反馈密文集合。
11)DU根据对称加密密钥enk解密密文获取明文。
在图7的系统架构中,所述分享客户端1用于确定待分享的明文文件集合、明文文件ID集合及关键词集合;创建与所述明文文件集合中各个明文文件对应的查询密钥和对称加密密钥;根据所述对称加密密钥对各个所述明文文件进行加密,生成密文,并将所述密文发送至服务端;结合所述明文文件ID集合以及关键词集合在区块链中部署智能合约;向授权成功的访问客户端发送所述查询密钥和对称加密密钥,以使所述访问客户端结合所述查询密钥通过所述智能合约获取密文,并通过所述对称加密密钥将所述密文解密得到明文。
所述服务端2用于存储所述分享客户端生成的密文。
所述访问客户端3用于在授权成功后,接收所述分享客户端发送的所述查询密钥和对称加密密钥,以及结合所述查询密钥通过所述智能合约获取密文,并通过所述对称加密密钥将所述密文解密得到明文。
在本实施例中,所述访问客户端根据待检索的关键词集合、查询密钥和对称加密密钥生成检索令牌,并将所述检索令牌发送至所述智能合约,以使所述智能合约检索所述访问客户端需访问的密文。
请参阅图9,显示为本发明的密文的分享系统于一实施例中访问客户端的令牌生成原理图。如图9所示,DU基于待检索关键词集合
Figure BDA0002612797940000091
sk和enk,利用LSH函数和布隆过滤器Bloom Filter生成检索令牌TP,并上传到Contract。在基于布隆过滤器建立的检索令牌中插入服从正态分布的随机变量,使得智能合约在执行检索时,无法直接获得文件与检索令牌的真实关联度,且两次同样关键词的搜索向量在检索时得到的文件关联度也不同,从而使得检索令牌对公开的区块链来说是不可区分的,进而保护查询方隐私;此外,采用基于正态分布的随机变量同样保证了文件关联度的可排序性。令牌生成过程具体包括:
1)对每个单词
Figure BDA0002612797940000092
利用stemming算法提取词干,并转化为unigram向量形式;
2)随机采样随机变量x~N(μ,σ2)服从正态分布;
3)利用LSH函数集合H将单词的unigram向量投射到Bloom FilterQ的对应位置,并在该位置累加x;
4)Q的第λ+1位为随机数t;
5)加密上述向量Q:
若k1的第i位为0,则{Q1,Q2}的第i位为随机数,且其求和等于Q的第i位;
否则,{Q1,Q2}的第i位分别等于Q的第i位;
{Q1,Q2}的第λ+1位为随机数,其和为t;
利用查询向量的矩阵M1,M2加密{Q1,Q2}的前λ位为
Figure BDA0002612797940000094
即为检索令牌TP。
在本实施例中,所述智能合约根据所述检索令牌和二叉树状加密索引计算与所述待检索的关键词集合匹配的文件ID集合,并将所述文件ID集合发送至所述访问客户端,以使所述访问客户端根据所述文件ID集合中的信息从所述服务端中获取密文集合、并对所述密文集合解密后获取明文;所述二叉树状加密索引是基于所述明文文件ID集合以及关键词集合,利用位置敏感哈希函数及二进制向量数据结构生成的,并嵌入所述智能合约中。
请参阅图10,显示为本发明的密文的分享系统于一实施例中智能合约的数据获取原理图。如图10所示,Contract通过检索令牌TP与EIDX二叉树计算与待查询关键词集合
Figure BDA0002612797940000093
最匹配的Top-k文件ID集合并分别发送给DU和服务端。利用智能合约,在智能合约上进行基于平衡二叉树加密索引结构的递归关键词检索,在关于文件数目的对数级检索时间内,实现公平可验证的密文分享。具体的:
1)对EIDX的每个节点,令关联度Rel为其节点加密数据向量与TP的内积,Relr为文件与关键词集合的真实关联度(计算方法为将TP的非0位置1,与节点的加密数据向量取前λ位做内积),则
Figure BDA0002612797940000101
其中,μ是指令牌生成过程步骤2)中正态分布的μ,t是指令牌生成过程步骤4)中Q的第λ+1位。
2)Contract建立空表ResList,对EIDX从根节点递归计算:
若当前节点为内节点:
若Rel大于表ResList的最小关联度,进入节点的左右子节点递归执行;
否则,放弃当前分支;
若当前节点为叶子节点:
若Rel大于表ResList的最小关联度,则将当前叶子节点对应的文件ID、服务端存储地址及当前Rel插入表ResList,并保持表ResList的Rel倒序排列。
3)Contract将ResList发送给DU,并将服务费从DU预存资金中扣除,支付给DO和Contract的执行矿工。
4-5)DU按照收到的Top-k文件ID集合及其存储地址,从服务端处拿到地址对应的密文集合CT,DU利用密钥enk解密获得明文
Figure BDA0002612797940000102
本发明利用一元分词、LSH哈希与Bloom Filter等技术,构建基于二叉树的加密索引,实现了密文状态的模糊、可排序多关键词检索,并将基于二叉树的检索过程放到智能合约执行以实现无中心的检索结果可验证与公平支付机制。方案的安全性由对称加密以及基于哈希的Bloom Filter保证,使得数据拥有者的密文机密性、查询方的关键词隐私性均得到满足。较之一些采用诸如双线性映射的密文分享方案,本发明实现方式简单,功能更加丰富,可应用于多运营商共同维护的联盟区块链,可受到多方监督,并仅需部署包含平衡二叉树密文索引与检索逻辑的智能合约,无需对现有系统架构的修改。本发明适用于诸如云存储、电子医疗记录系统、物联网等涉及机密数据托管、查询的场景。此外,可以通过引入代理计算节点的方式将数据拥有者建立树状加密索引结构等操作外包到代理计算节点以降低数据拥有者的计算复杂度,也可以利用诸如属性密码学等方法在数据拥有者和查询方之间实现更加细粒度的查询密钥分享。因此本发明在不同的应用场景中的可扩展性较强。
以下将本发明所述的密文的分享系统应用于以下两个具体场景中,以对本发明的技术方案和产生的技术效果作进一步说明。
请参阅图11,显示为本发明的密文的分享系统于一实施例中的电子医疗健康记录系统实例图。如图11所示,本发明的该应用实例为电子医疗健康记录系统EHR。在EHR系统中,病人可以将病例数据托管到医疗机构维护的诸如健康云中,以享受便捷的云存储服务,然而由于病例数据包含病人的隐私信息,为了保证用户信息安全,病例数据需要加密存储。同时,为了为用户提供优质医疗服务,包括医院的医生、各医疗研究机构的研究者可能都需要获取用户的病例数据以进行研究,此时,支持对加密病例数据的按需检索可以使得数据查询方(医生、研究者等)更高效的获取相关的病例记录。
由于病例数据中关键词众多、文件数也很多,因此支持模糊关键词的可排序查询就显得尤为重要。通过建立各参与方(如运营商)共同维护的区块链环境,利用本发明的技术方案,可以实现无中心环境下的高效模糊可排序多关键词密文查询,达到安全的病例数据分享。
请参阅图12,显示为本发明的密文的分享系统于一实施例中的异构身份联盟的跨域数据分享系统实例图。如图12所示,本发明的该应用实例为异构身份联盟环境下的跨域数据分享。在异构身份联盟环境中,数据分享的双方可能分处在不同的信任域内,域间可能不存在公共的信任根,因此利用中心化(如PKI-Public Key Infrastructure,公钥基础设施)等无法解决互信与隐私数据共享问题。
利用本发明的技术方案,可以通过部署多方(如电信等运营商)维护的(联盟)区块链,由链上智能合约进行检索逻辑,将数据拥有者与数据查询方在信任域关系上解耦,达到密文共享目的。由于本发明技术方案可以在查询密钥分享过程中集成去中心化的属性密码学等多种方案,因此可以满足细粒度的跨域权限管理。同时,本发明主要实现的多关键词可排序模糊检索,也使得异构身份联盟中用户数据分享更加灵活。
本发明所述的密文的分享系统可以实现本发明所述的密文的分享方法,但本发明所述的密文的分享方法的实现设备包括但不限于本实施例列举的密文的分享系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。
需要说明的是,所述密文的分享系统可应用于多种类型的硬件设备。所述分享客户端、访问客户端和服务端的硬件设备例如可以是包括存储器、存储控制器、一个或多个处理单元(CPU)、外设接口、RF电路、音频电路、扬声器、麦克风、输入/输出(I/O)子系统、显示屏、其他输出或控制设备,以及外部端口等组件的计算机;所述分享客户端、访问客户端包括但不限于如台式电脑、笔记本电脑、平板电脑、智能手机、智能电视、个人数字助理(Personal Digital Assistant,简称PDA)等个人电脑。所述服务端可以根据功能、负载等多种因素布置在一个或多个实体服务器上,也可以由分布的或集中的服务器集群构成。
综上所述,本发明所述密文的分享方法、介质、分享客户端及系统提供了一种分布式无中心环境下支持模糊多关键词的可排序检索、检索结果可验证的密文查询方法。本发明利用LSH与Bloom Filter构建加密索引,使得方法支持模糊多关键词的可排序的密文检索;同时,通过建立平衡二叉树状索引结构将查询的时间复杂度降低至对数级;此外,本发明利用智能合约,实现了无中心环境下的检索结果的正确性保证。由此,提高了在诸如云计算等隐私数据托管环境中数据安全分享方法的实用性,可以应用于无中心环境下的密文数据安全分享,云存储中的隐私数据的安全存储与按需检索、电子医疗记录系统中的病例数据的密文查询、异构身份联盟中敏感身份信息共享等场景中。本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

1.一种密文的分享方法,其特征在于,所述密文的分享方法包括:
确定待分享的明文文件集合、明文文件ID集合及关键词集合;
创建与所述明文文件集合中各个明文文件对应的查询密钥和对称加密密钥;
根据所述对称加密密钥对各个所述明文文件进行加密,生成密文,并将所述密文发送至服务端;
结合所述明文文件ID集合以及关键词集合在区块链中部署智能合约;
向授权成功的访问客户端发送所述查询密钥和对称加密密钥,以使所述访问客户端结合所述查询密钥通过所述智能合约获取密文,并通过所述对称加密密钥将所述密文解密得到明文。
2.根据权利要求1所述的密文的分享方法,其特征在于,在所述确定待分享的明文文件集合、明文文件ID集合及关键词集合的步骤之前,所述密文的分享方法还包括:
通过初始化生成公共参数;所述公共参数用于确定待分享的明文文件集合、明文文件ID集合及关键词集合。
3.根据权利要求1所述的密文的分享方法,其特征在于,所述结合所述明文文件ID集合以及关键词集合在区块链中部署智能合约的步骤包括:
基于所述明文文件ID集合以及关键词集合,利用位置敏感哈希函数及二进制向量数据结构生成二叉树状加密索引;
将所述二叉树状加密索引嵌入区块链的智能合约中。
4.根据权利要求3所述的密文的分享方法,其特征在于,所述基于所述明文文件ID集合以及关键词集合,利用位置敏感哈希函数及二进制向量数据结构生成二叉树状加密索引的步骤包括:
通过词干提取算法,抽取相似单词的词干,以获取所述关键词集合;
将所述关键词集合中每个单词利用一元分词转化为一元分词向量;
计算每个所述单词在所述明文文件ID集合中每一个明文文件中的权重;
根据所述一元分词向量和所述权重,构建每一个明文文件的权重向量;
利用所有的明文文件的权重向量建立所述二叉树状加密索引。
5.根据权利要求1所述的密文的分享方法,其特征在于,所述向授权成功的访问客户端发送所述查询密钥和对称加密密钥的步骤包括:
通过属性密码学对所述访问客户端进行访问权限管理;
当判定所述访问客户端授权成功时,通过去中心化的属性加密或密钥交换将所述查询密钥和对称加密密钥分享至所述访问客户端。
6.一种介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5中任一项所述的密文的分享方法。
7.一种分享客户端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述分享客户端执行如权利要求1至5中任一项所述的密文的分享方法。
8.一种密文的分享系统,其特征在于,所述密文的分享系统包括:
分享客户端,用于确定待分享的明文文件集合、明文文件ID集合及关键词集合;创建与所述明文文件集合中各个明文文件对应的查询密钥和对称加密密钥;根据所述对称加密密钥对各个所述明文文件进行加密,生成密文,并将所述密文发送至服务端;结合所述明文文件ID集合以及关键词集合在区块链中部署智能合约;向授权成功的访问客户端发送所述查询密钥和对称加密密钥,以使所述访问客户端结合所述查询密钥通过所述智能合约获取密文,并通过所述对称加密密钥将所述密文解密得到明文;
服务端,用于存储所述分享客户端生成的密文;
访问客户端,用于在授权成功后,接收所述分享客户端发送的所述查询密钥和对称加密密钥,以及结合所述查询密钥通过所述智能合约获取密文,并通过所述对称加密密钥将所述密文解密得到明文。
9.根据权利要求8所述的密文的分享系统,其特征在于:
所述访问客户端根据待检索的关键词集合、查询密钥和对称加密密钥生成检索令牌,并将所述检索令牌发送至所述智能合约,以使所述智能合约检索所述访问客户端需访问的密文。
10.根据权利要求9所述的密文的分享系统,其特征在于:
所述智能合约根据所述检索令牌和二叉树状加密索引计算与所述待检索的关键词集合匹配的文件ID集合,并将所述文件ID集合发送至所述访问客户端,以使所述访问客户端根据所述文件ID集合中的信息从所述服务端中获取密文集合、并对所述密文集合解密后获取明文;所述二叉树状加密索引是基于所述明文文件ID集合以及关键词集合,利用位置敏感哈希函数及二进制向量数据结构生成的,并嵌入所述智能合约中。
CN202010760006.4A 2020-07-31 2020-07-31 密文的分享方法、介质、分享客户端及系统 Active CN112000632B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010760006.4A CN112000632B (zh) 2020-07-31 2020-07-31 密文的分享方法、介质、分享客户端及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010760006.4A CN112000632B (zh) 2020-07-31 2020-07-31 密文的分享方法、介质、分享客户端及系统

Publications (2)

Publication Number Publication Date
CN112000632A true CN112000632A (zh) 2020-11-27
CN112000632B CN112000632B (zh) 2024-05-14

Family

ID=73463579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010760006.4A Active CN112000632B (zh) 2020-07-31 2020-07-31 密文的分享方法、介质、分享客户端及系统

Country Status (1)

Country Link
CN (1) CN112000632B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671735A (zh) * 2020-12-16 2021-04-16 江苏通付盾区块链科技有限公司 一种基于区块链和重加密的数据加密分享系统及方法
CN112784040A (zh) * 2020-12-08 2021-05-11 国网甘肃省电力公司信息通信公司 基于语料库的垂直行业文本分类方法
CN112925956A (zh) * 2021-03-25 2021-06-08 广西师范大学 一种物联网大规模时序数据访问控制方法
CN115495792A (zh) * 2022-11-08 2022-12-20 三未信安科技股份有限公司 一种具有隐私保护的模糊关键词可搜索加密方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874516A (zh) * 2017-03-15 2017-06-20 电子科技大学 一种云存储中基于kcb树和布隆过滤器的高效密文检索方法
US20170300713A1 (en) * 2015-09-30 2017-10-19 Robert Bosch Gmbh Method and System for Verifiable Searchable Symmetric Encryption
US20190281296A1 (en) * 2018-03-07 2019-09-12 Tencent America LLC Flexible tree structure
CN110599147A (zh) * 2019-09-17 2019-12-20 福州大学 一种基于区块链的密文检索公平支付方法及系统
CN110999255A (zh) * 2019-03-29 2020-04-10 阿里巴巴集团控股有限公司 使用高可用性的可信执行环境检索区块链网络的访问数据
US20200125563A1 (en) * 2016-12-30 2020-04-23 Robert Bosch Gmbh Method and System for Fuzzy Keyword Search Over Encrypted Data
KR20200091112A (ko) * 2019-01-22 2020-07-30 동국대학교 경주캠퍼스 산학협력단 블록체인 기술을 이용한 정보 공유 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170300713A1 (en) * 2015-09-30 2017-10-19 Robert Bosch Gmbh Method and System for Verifiable Searchable Symmetric Encryption
US20200125563A1 (en) * 2016-12-30 2020-04-23 Robert Bosch Gmbh Method and System for Fuzzy Keyword Search Over Encrypted Data
CN106874516A (zh) * 2017-03-15 2017-06-20 电子科技大学 一种云存储中基于kcb树和布隆过滤器的高效密文检索方法
US20190281296A1 (en) * 2018-03-07 2019-09-12 Tencent America LLC Flexible tree structure
KR20200091112A (ko) * 2019-01-22 2020-07-30 동국대학교 경주캠퍼스 산학협력단 블록체인 기술을 이용한 정보 공유 방법
CN110999255A (zh) * 2019-03-29 2020-04-10 阿里巴巴集团控股有限公司 使用高可用性的可信执行环境检索区块链网络的访问数据
US10757084B1 (en) * 2019-03-29 2020-08-25 Alibaba Group Holding Limited Retrieving access data for blockchain networks using highly available trusted execution environments
CN110599147A (zh) * 2019-09-17 2019-12-20 福州大学 一种基于区块链的密文检索公平支付方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
闫玺玺;原笑含;汤永利;陈艳丽;: "基于区块链且支持验证的属性基搜索加密方案", 通信学报, no. 02 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112784040A (zh) * 2020-12-08 2021-05-11 国网甘肃省电力公司信息通信公司 基于语料库的垂直行业文本分类方法
CN112784040B (zh) * 2020-12-08 2023-02-28 国网甘肃省电力公司信息通信公司 基于语料库的垂直行业文本分类方法
CN112671735A (zh) * 2020-12-16 2021-04-16 江苏通付盾区块链科技有限公司 一种基于区块链和重加密的数据加密分享系统及方法
CN112925956A (zh) * 2021-03-25 2021-06-08 广西师范大学 一种物联网大规模时序数据访问控制方法
CN112925956B (zh) * 2021-03-25 2022-03-08 广西师范大学 一种物联网大规模时序数据访问控制方法
CN115495792A (zh) * 2022-11-08 2022-12-20 三未信安科技股份有限公司 一种具有隐私保护的模糊关键词可搜索加密方法和系统

Also Published As

Publication number Publication date
CN112000632B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
CN106127075B (zh) 一种云存储环境下基于隐私保护的可搜索加密方法
Vijayakumar et al. RETRACTED ARTICLE: E-Health Cloud Security Using Timing Enabled Proxy Re-Encryption
Salam et al. Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage
EP2901359B1 (en) Secure private database querying with content hiding bloom filters
CN112000632B (zh) 密文的分享方法、介质、分享客户端及系统
CN109784931B (zh) 一种基于区块链的数据查询平台的查询方法
CN107948146B (zh) 一种混合云中基于属性加密的连接关键词检索方法
Zheng et al. Efficient privacy-preserving data merging and skyline computation over multi-source encrypted data
CN109361644B (zh) 一种支持快速搜索和解密的模糊属性基加密方法
WO2016129259A1 (ja) サーバ装置、データ検索システム、検索方法および記録媒体
CN108021677A (zh) 云计算分布式检索引擎的控制方法
CN108038128A (zh) 一种加密文件的检索方法、系统、终端设备及存储介质
CN110866135A (zh) 一种基于响应长度隐藏的k-NN图像检索方法及系统
Yuan et al. Towards privacy-preserving and practical image-centric social discovery
Gahi et al. Privacy preserving scheme for location-based services
Mohammed et al. Securing medical records based on inter-planetary file system and blockchain
CN117421771A (zh) 一种面向结构化数据的可搜索加密方法、装置及电子设备
Revathi S et al. Tracy–Singh product and genetic whale optimization algorithm for retrievable data perturbation for privacy preserved data publishing in cloud computing
Raj et al. Enhanced encryption for light weight data in a multi-cloud system
CN116611083A (zh) 一种医疗数据共享方法及系统
CN115694974A (zh) 一种基于协同可搜索的密文数据共享方法及系统
Verma et al. Secure digital documents sharing using blockchain and attribute-based cryptosystem
Sude et al. Authenticated CRF based improved ranked multi-keyword search for multi-owner model in cloud computing
Smilarubavathy et al. Paillier homomorphic encryption with K-means clustering algorithm (phekc) for data mining security in cloud
Zhang et al. Achieving proof of shared ownership for the shared file in collaborative cloud applications

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
GR01 Patent grant