CN114254344A - 一种基于区块链的共享数据库的隐私数据范围查询方法 - Google Patents
一种基于区块链的共享数据库的隐私数据范围查询方法 Download PDFInfo
- Publication number
- CN114254344A CN114254344A CN202111542593.0A CN202111542593A CN114254344A CN 114254344 A CN114254344 A CN 114254344A CN 202111542593 A CN202111542593 A CN 202111542593A CN 114254344 A CN114254344 A CN 114254344A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- algorithm
- range
- query
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000013507 mapping Methods 0.000 claims abstract description 4
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
Abstract
本发明提供了一种面向基于区块链的共享数据库的隐私数据范围查询方法。解决了基于区块链的共享数据库中加密数据范围查询的难题,同时,本发明支持多数据库系统使用不同密钥加密,在不共享密钥的情况下支持密文域的范围匹配。本发明提供的RngMatch算法,首先对数据分块,并把块和预比较结果加密建立索引并随机排序,在匹配时,通过双线性映射加密元语判断两个块是否相等,从而把范围匹配问题转换为了模式的匹配,保护了数据大小关系不被泄露。此外,算法还建立了子索引进一步提高了算法的执行效率,因算法具有高效的执行效率,因此算法支持部署到智能合约,通过智能合约自动执行范围匹配,因智能合约具有透明性,因此数据匹配结果的可靠性得到了保障。
Description
技术领域
本发明涉及共享数据库中隐私数据范围查询的技术领域,尤其是涉及一种基于区块链的共享数据库中隐私数据范围查询方法。
背景技术
目前,区块链技术的快速发展带动了去中心化应用的快速发展。其中,基于区块链的共享数据库,因其实现了安全的数据共享而吸引了学术界和产业界的大量关注,他们利用区块链为不同实体建立可信的平台,以共享数据和计算资源,其抗篡改能力和强大的容错能力得到了广泛的认可。尽管共享数据库将数据进行了聚合,方便用户一次查询所有数据,但数据共享引起的隐私数据泄露问题引起了用户的关注。如果共享数据库系统包含用户敏感信息,例如用户的年龄、住址、医疗档案等信息,将这些数据库数据直接共享到透明区块链平台上,不可避免地会暴露出用户隐私信息。因此,如果不能解决用户隐私数据泄露问题,基于区块链的共享数据库可共享的数据范围将受到很大限制。
为了解决基于区块链的共享数据库隐私泄露的问题,目前已有一些基于区块链的数据库加密搜索的研究。然而,现有的隐私保护方案大部分只关注加密的关键字搜索,而对加密数据范围查询的研究非常少。支持加密数据范围搜索的解决方案有保序加密查询方案和隐序加密查询方案,虽然两种方案都可以用于密文域的范围查询,但是这两种加密算法都需要使用同一个密钥加密,因此这两种解决方案只适用于单用户场景,而协同数据面向的是多用户,所以,这两种解决方案并不能应用于共享数据中。此外,保序加密搜索方案会泄露数据的大小顺序和数据库列间相关性。攻击者可以利用这些泄漏和有关数据分布的背景知识推断明文值。另一方面,智能合约也有一些局限性,现有智能合约只能支持有限的加密工具,如双线性对和哈希函数。计算复杂的加密技术不适合部署到智能合约上实现加密范围查询。
发明内容
本发明的目的在于提供一种基于区块链的共享数据库中隐私数据范围查询方法,以解决现有技术中存在的不支持多用户和密文域中不支持范围查询的技术问题。
为解决上述技术问题,本发明提供的一种基于区块链的共享数据库中隐私数据范围查询方法,包括在共享数据库中进行隐私数据范围查询方法和隐私数据更新方法。
采用上述技术方案,本发明具有如下有益效果:
本发明提供的基于区块链的共享数据库中隐私数据范围查询方法,支持在密文域中进行范围查询,并且攻击者无法得知数据的大小关系,保证了隐私数据的安全性,用户可以放心的将自己的隐私数据存储到共享数据库中,而不会泄露。此方法具有高效的执行效率,可以由智能合约自动执行。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的系统架构概览图;
图2为本发明实施例提供的密文域范围搜索流程图;
图3为本发明实施例提供的案列解释图;
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合具体的实施方式对本发明做进一步的解释说明。
如图1所示,本实施例提供的系统架构概览图。从图中可以看到系统由3个实体组成,他们分别是用户,多数据库系统,区块链平台。为了来自不同平台的数据库可以相互共享数据,数据所有者需要把加密索引部署到区块链上。用户将自己的查询条件加密并传送到区块链上,收到用户的查询请求后,智能合约执行范围匹配,从加密的索引中找出与查询条件匹配的记录,并将搜索结果返回给用户。
本发明使用v表示数据库值,使用v′表示v的密文,使用v*表示用户的查询值。本发明解决的问题可以描述为:智能合约高效地从来自不同数据库的密文v′组成的数据集中找出所有符合用户搜索条件v*的记录,并安全地返回给用户。此过程包含三个步骤:
S1.数据库初始化:数据拥有者将数据DB作为输入,将得到(EDB, PK,SK),其中EDB是加密的范围索引,{PK,SK}是公钥和私钥对。
S2.查询:用户使用公钥PK对查询值v*和范围谓词s∈{>,<}进行加密,将加密结果发送给智能合约,智能合约从数据库加密索引 EDB中查询出所有与查询范围相匹配的结果。
其中对数据库记录的加密可以使用传统的对称密钥加密,不属于本发明范畴,不进行具体描述。
为了支持在基于区块链的共享数据库中进行范围查询而不泄露用户隐私,需要解决的问题是如何安全的比较两个加密的数据值而不泄露他们的大小关系。保序和隐序加密都不适合,因为不同的数据索引是被不同的数据库拥有者使用自己的私钥加密的,而不同的数据库拥有者的私钥是各不相同的。在数据拥有者密钥不同的情况下,智能合约很难对保序加密或者隐序加密后的数据执行匹配运算,并且这两种加密算法会泄露密文的大小关系。
为了解决上述问题,我们设计了基于bit块的加密算法,可以让智能合约比较不同数据库拥有者加密的数据库密文。我们的核心思想是把数据分割成等长的bit块,用公钥对每个bit块和预知的范围比较结果加密。因此,对密文大小的比较转换成了对等长bit 块和范围谓词的模式匹配。在范围比较后,智能合约只知道查询条件和数据库加密索引匹配成功了,但是不知道他们的大小关系。
在执行数据查询时,数据库拥有者,首先把数据库字段C对应的数据值v进行分割,分割成长度为d个bit的b个块,第i个 bit块使用v|i表示,对v|i进行如下运算:
σ是随机数,γ1是数据拥有者的私钥,β是密钥管理机构分发的安全参数,是块v|i的前缀,H是哈希函数,C是字段的属性。j∈ {0,…,2d-1}是一个包含d个bit的块的所有可能的值,s= cmp(v|i,j)是对应的第i个块v|i和j的比较结果,可能是{>,<,=}。例如:d为2,v|i=“01”,“s||j”将会包含三种可能,即{“> ||00”,“<||10”,“<||11”}。因为加入了C,所以只有搜索字段C 的时候,才会匹配成功。同时,每个bit块的前缀经过哈希运算,嵌入到公式(1)中,保障了需要比较的两个bit块只有位置相同的时候才能比较大小。
通过以上步骤,可以完成密文域的范围匹配,但是在进行块匹配的时候,可能需要匹配多次,为了提高匹配效率,本发明提供了子索引建立方法,通过子索引的建立,可以直接对比子索引相同的条目。通过公式(4)可以建立数据库子索引,通过公式(5)可以建立查询陷门的子索引。智能合约执行匹配时,先使用查询陷门的子索引tk1找到与之匹配的然后通过公式(3)比较和
链上加密索引的构建:
算法1展示了基于范围的索引的建立过程。对每个数据库值v,数据库拥有者首先将其分割成长度为d个bit的b个块 {v|1,v|2,…,v|b},将b个块逐一和所有可能的比较目标j比较,并把比较结果进行加密,得到其中是的子索引。当所有块完成加密后,采用PRPπ算法随机排列{ct1,ct2,…,ctb}来隐藏原始块的位置。最终,算法输出加密的数据库值ctI。
图2展示了范围查询过程,分为三个步骤:
S1.数据库初始化,包含以下过程:
1)每个数据库拥有者和用户从密钥管理机构获取安全参数 {β,b,d}。除此之外,他们还向智能合约交一些保证金来保障系统的激励制度。
2)数据库拥有者将字段C的值v从数据库DB(v)= {id1,id2,…,idn}中抽取出来,其中{id1,id2,…,idn}为数据库行编号。
3)对于每个值v,数据拥有者使用EncIndex算法生成索引的密文ctI。同时,通过标准加密算法把多个行ID打包成一个密文EIDv,即EIDv=Enc(k,id1||…||idn)
4)数据拥有者把(ctI,EIDv)作为加密索引部署到智能合约上。
S2.数据范围查询,包含以下过程:
3)用户使用PRPπ算法将{tkπ(1),tkπ(2),…,tkπ(b)}进行重新排列。
4)用户将查询请求tkq作为一个区块链交易发送到智能合约,与此同时,系统从数据拥有者账户里将查询费用扣除。
5)智能合约执行RngMatch算法从区块链上存储的索引EDB 中匹配出所有与范围查询请求{tk1,ctI}匹配的结果。
6)智能合约记录范围匹配成功的结果EIDv并返回给用户。
为了更清楚的描述本发明的工作过程,以SQL查询为例来对本发明工作过程进行阐述,SQL语句如下,选出所有年龄小于15的行编号:
我们假设数据库中有一行年龄为9的数据,图3-2展示了年龄为9的块构建示意图。9被分割成两个bit块,“10”和“01”,对于“10”块,其需要对比的有“00”,“01”和“11”,因为是第一块,所以其前缀为空,使用⊥表示,使用块前缀、字段名、安全参数对预比较结果进行运算,掩去其包含的真实信息。对于“01”块,其需要对比的有“00”,“10”和“11”,前缀为“10”,使用块前缀、字段名、安全参数对预比较结果进行运算,掩去其包含的真实信息。
图3-1为查询范围“<15”的块构建示意图。首先15被分割为“11”和“11”两块,对于第一个“11”块连同“<”,块前缀⊥,字段名一起构建索引tk1,并形成查询陷门。
智能合约在比较查询条件和数据库索引时,使用子索引tk1和块密文Z1进行如下运算,如果等式成立则匹配成功,如果不相等则匹配不成功:
根据双线性映射原理,有e(ua,vb)=e(u,v)ab,可知如果等式(6) 成立,匹配成功。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
算法1:EncIndex
算法2:RngMatch。
Claims (5)
1.一种面向基于区块链的共享数据库的隐私数据范围查询的方法,其特征在于每个数据库采用不同密钥进行加密,在不共享密钥的情况下,用户可以对所有共享的加密数据进行范围查询,包含共享数据库索引建立和共享加密数据范围查询两个模块。
2.根据权利要求1所述的共享数据库索引建立模块,其特征在于,包含以下步骤:
1)每个数据库拥有者和用户从密钥管理机构获取安全参数{β,b,d}。除此之外,他们还向智能合约交一些保证金来保障系统的激励制度。
2)数据库拥有者将字段C的值v和对应的编号从数据库DB(v)={id1,id2,...,idn}中抽取出来,其中{id1,id2,...,idn}为数据库行编号。
3)对于每个值v,数据拥有者使用Enclndex算法生成索引的密文ctI。同时,通过标准加密算法把多个行ID打包成一个密文EIDv,即EIDv=Enc(k,id1||…||idn)
4)数据拥有者把(ct1,EIDv)作为加密索引部署到智能合约上。
3.根据权利要求1所述的共享加密数据范围查询模块,其特征在于,包含以下步骤:
3)用户使用PRPπ算法将{tkπ(1),tkπ(2),...,tkπ(b)}进行重新排列。
4)用户将查询请求tkq作为一个区块链交易发送到智能合约,与此同时,系统从数据拥有者账户里将查询费用扣除。
5)智能合约执行RngMatch算法从区块链上存储的索引中匹配出所有与范围查询请求匹配的结果。
6)智能合约记录范围匹配成功的结果EIDv。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111542593.0A CN114254344B (zh) | 2021-12-14 | 2021-12-14 | 一种基于区块链的共享数据库的隐私数据范围查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111542593.0A CN114254344B (zh) | 2021-12-14 | 2021-12-14 | 一种基于区块链的共享数据库的隐私数据范围查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114254344A true CN114254344A (zh) | 2022-03-29 |
CN114254344B CN114254344B (zh) | 2024-03-08 |
Family
ID=80795294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111542593.0A Active CN114254344B (zh) | 2021-12-14 | 2021-12-14 | 一种基于区块链的共享数据库的隐私数据范围查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114254344B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168909A (zh) * | 2022-09-07 | 2022-10-11 | 翼方健数(北京)信息科技有限公司 | 一种基于比较索引的密文数据范围查询方法和系统 |
CN116340366A (zh) * | 2023-05-25 | 2023-06-27 | 中国信息通信研究院 | 基于区块链的数据共享存储方法、装置、设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015198098A1 (en) * | 2014-06-26 | 2015-12-30 | Telefonaktiebolaget L M Ericsson (Publ) | Privacy-preserving querying mechanism on privately encrypted data on semi-trusted cloud |
CN109784931A (zh) * | 2019-02-27 | 2019-05-21 | 成都埃克森尔科技有限公司 | 一种基于区块链的数据查询平台的查询方法 |
CN110049066A (zh) * | 2019-05-23 | 2019-07-23 | 中国科学院软件研究所 | 一种基于数字签名和区块链的资源访问授权方法 |
CN111291407A (zh) * | 2020-01-21 | 2020-06-16 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的隐私保护的数据共享方法 |
CN113194078A (zh) * | 2021-04-22 | 2021-07-30 | 西安电子科技大学 | 一种云端支持隐私保护的排序多关键字搜索加密方法 |
-
2021
- 2021-12-14 CN CN202111542593.0A patent/CN114254344B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015198098A1 (en) * | 2014-06-26 | 2015-12-30 | Telefonaktiebolaget L M Ericsson (Publ) | Privacy-preserving querying mechanism on privately encrypted data on semi-trusted cloud |
CN109784931A (zh) * | 2019-02-27 | 2019-05-21 | 成都埃克森尔科技有限公司 | 一种基于区块链的数据查询平台的查询方法 |
CN110049066A (zh) * | 2019-05-23 | 2019-07-23 | 中国科学院软件研究所 | 一种基于数字签名和区块链的资源访问授权方法 |
CN111291407A (zh) * | 2020-01-21 | 2020-06-16 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的隐私保护的数据共享方法 |
CN113194078A (zh) * | 2021-04-22 | 2021-07-30 | 西安电子科技大学 | 一种云端支持隐私保护的排序多关键字搜索加密方法 |
Non-Patent Citations (3)
Title |
---|
PENG YANQING: "FalconDB: Blockchainbased Collaborative Database", ACM. PROCEEDINGS OF THE 2020 ACM SIGMOD, pages 352 - 637 * |
SHU JIANGANG: "Proxy-Free Privacy- Preserving Task Matching with Efficient Revocation in Crowdsourcing", PROOCEEDINGS OF IEEE SYMPOSIUM ON SECURITY AND PRIVACY, pages 117 - 130 * |
YU GUO: "FedCrowd:A Federated and Privacy-Preserving Crowdsourcing Platform on Blockchain", IEEE TRANSACTIONS ON SERVICES COMPUTING, vol. 15, no. 4, pages 2060 - 2073 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168909A (zh) * | 2022-09-07 | 2022-10-11 | 翼方健数(北京)信息科技有限公司 | 一种基于比较索引的密文数据范围查询方法和系统 |
CN116340366A (zh) * | 2023-05-25 | 2023-06-27 | 中国信息通信研究院 | 基于区块链的数据共享存储方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114254344B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Popa et al. | CryptDB: processing queries on an encrypted database | |
CN106934301B (zh) | 一种支持密文数据操作的关系型数据库安全外包数据处理方法 | |
WO2017036547A1 (en) | Method for providing encrypted data in a database and method for searching on encrypted data | |
CN106599719A (zh) | 支持高效密钥管理的密文检索方法 | |
CN114254344A (zh) | 一种基于区块链的共享数据库的隐私数据范围查询方法 | |
Tian et al. | Privacy preserving query processing on secret share based data storage | |
Peng et al. | LS-RQ: A lightweight and forward-secure range query on geographically encrypted data | |
Li et al. | Multi-keyword fuzzy search over encrypted cloud storage data | |
Wang et al. | An efficient and privacy-preserving range query over encrypted cloud data | |
Talha et al. | Enhancing confidentiality and privacy of outsourced spatial data | |
Talha et al. | Facilitating secure and efficient spatial query processing on the cloud | |
Cui et al. | Secure Boolean spatial keyword query with lightweight access control in cloud environments | |
Qin et al. | Privacy-preserving substring search on multi-source encrypted gene data | |
Song et al. | Efficient privacy‐preserved data query over ciphertext in cloud computing | |
Hahn et al. | Efficient multi-user similarity search over encrypted data in cloud storage | |
Gao et al. | Secure approximate nearest neighbor search over encrypted data | |
Xu et al. | Symmetric searchable encryption with supporting search pattern and access pattern protection in multi‐cloud | |
Baby et al. | On query execution over encrypted data | |
Pramanick et al. | Searchable encryption with pattern matching for securing data on cloud server | |
Raghavendra et al. | DRSIG: Domain and Range Specific Index Generation for Encrypted Cloud Data | |
Kawamoto et al. | Private range query by perturbation and matrix based encryption | |
Li et al. | A multi-user shared searchable encryption scheme supporting SQL query | |
Singh et al. | Secure k-NN as a service over encrypted data in multi-user setting | |
Yamaguchi et al. | Privacy preserving data processing | |
Tzouramanis | Secure range query processing over untrustworthy cloud 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |