CN116662388A - 一种高效的隐匿查询方法和系统 - Google Patents

一种高效的隐匿查询方法和系统 Download PDF

Info

Publication number
CN116662388A
CN116662388A CN202310588081.0A CN202310588081A CN116662388A CN 116662388 A CN116662388 A CN 116662388A CN 202310588081 A CN202310588081 A CN 202310588081A CN 116662388 A CN116662388 A CN 116662388A
Authority
CN
China
Prior art keywords
query
algorithm
hidden
column
request
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
CN202310588081.0A
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.)
Shandong Inspur Science Research Institute Co Ltd
Original Assignee
Shandong Inspur Science Research Institute 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 Shandong Inspur Science Research Institute Co Ltd filed Critical Shandong Inspur Science Research Institute Co Ltd
Priority to CN202310588081.0A priority Critical patent/CN116662388A/zh
Publication of CN116662388A publication Critical patent/CN116662388A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及隐匿查询技术领域,具体为一种高效的隐匿查询方法和系统,包括以下步骤:利用初始化Setup算法输入:编码后的数据矩阵输出:查询提示H矩阵;利用查询Query算法:输入:IDi∈N,和特征Fj∈|F|和安全范围参数w(默认参数为1024),输出:恢复密钥请求参数qu,和范围C;有益效果为:本发明提出的高效的隐匿查询方法和系统,通过减少查询的频率,复用查询参数,从而提升查询效率,用户可以多行多列同时查询。同时,针对数据更新场景,查询参数更新较少,降低服务端重复计算参数和客户端更新参数压力。

Description

一种高效的隐匿查询方法和系统
技术领域
本发明涉及隐匿查询技术领域,具体为一种高效的隐匿查询方法和系统。
背景技术
隐匿查询,也称为隐私信息检索,是一种在不向服务器暴露用户查询内容的情况下,获取相应的信息的密码学技术。
现有技术中,当前大多数隐匿查询方案基于全同态等技术实现,实现效率较低。另外,方案的效率受数据库大小影响较大,难以满足数据量大的场景,而且多数方案均未考虑数据库更新场景。本发明提出一种高效的隐匿查询方法,该方法查询请求量和下载量均为常数,与数据库大小无关;针对数据更新场景,查询参数更新较少。
发明内容
本发明的目的在于提供一种高效的隐匿查询方法和系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种高效的隐匿查询方法,所述隐匿查询方法包括以下步骤:
利用初始化Setup算法输入:编码后的数据矩阵输出:查询提示H矩阵;
利用查询Query算法:输入:IDi∈N,和特征Fj∈|F|和安全范围参数w(默认参数为1024),输出:恢复密钥请求参数qu,和范围C;
利用服务响应Answer算法输入:输入数据矩阵请求信息/>请求范围C;输出:响应向量/>
利用恢复查询Recover算法输入:要搜索的列号[Cj]∈C,恢复密钥 以及/>输出:数据/>对应的值;
利用查询更新Update算法输入:原原数据矩阵/>发生变化的某条数据/>输出:更新后/>
优选的,初始化Setup算法具体包括:
随机生成利用Genmatrix算法生成随机矩阵/>
执行计算提示矩阵
返回(H,seed)。
优选的,查询Query算法具体包括:
根据索引生成Genindex算法解析对应的行号Ri∈[1,…,m]、列号Cj∈[1,…,t];
随机生成和离散高斯噪声向量e∈χm
利用Range(Cj,w)生成C=[Ca,Cb];
计算其中u为第Ri个元素为1,其他元素为0的向量;
返回恢复密钥s、列号Cj和请求参数C=[Ca,Cb]。
优选的,服务响应Answer算法具体包括:
根据R=[a,b]抽取数据矩阵D第a列,第a+1列,直到第b列,构建矩阵
计算
优选的,恢复查询Recover算法具体包括:
计算H[:,Cj]表示提示矩阵的第Cj列;计算
通过Decoder查表方式恢复出真正的值。
优选的,查询更新Update算法具体包括:
读取的第Cj列/>
计算
本地更新H的第Cj列,即为H′。
一种高效的隐匿查询系统,所述查询系统包括:用户查询客户端、隐匿查询服务server以及数据库三个必备模块;
客户端初始化,调用初始化Setup算法生成相应的参数,并向隐匿查询服务获取最新的提示参数H;
客户端根据ID和查询的特征,基于Genindex算法生成查询索引[行号,列号],调用Query算法模块生成请求参数qu和恢复密钥s;客户端保存s,供恢复查询结果时使用;隐匿查询服务发起查询请求,请求参数为“qu+C,其中C为列的请求范围;
隐匿查询服务校验请求参数有效后,根据请求参数生成隐匿查询结果ans;如何请求无效,返回查询失败;
客户端得到ans后,利用恢复密钥s以及要搜索的列号[Cj],利用恢复查询Recover算法进行查询恢复,最后进行Decode进行解码,获得真实的数据。
与现有技术相比,本发明的有益效果是:
本发明提出的高效的隐匿查询方法和系统,通过减少查询的频率,复用查询参数,从而提升查询效率,用户可以多行多列同时查询。同时,针对数据更新场景,查询参数更新较少,降低服务端重复计算参数和客户端更新参数压力。
附图说明
图1为本发明系统流程图;
图2为本发明系统关键流程图。
具体实施方式
为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明提供一种技术方案:一种高效的隐匿查询方法,所述隐匿查询方法包括以下步骤:
1.初始化Setup算法
输入:编码后的数据矩阵
输出:查询提示H矩阵
算法步骤:
a)随机生成利用Genmatrix算法生成随机矩阵
b)执行计算提示矩阵
c)返回(H,seed)。
2.查询Query算法:
输入:IDi∈N,和特征Fj∈|F|和安全范围参数w(默认参数为1024)
输出:恢复密钥请求参数qu,和范围C;
算法步骤:
a)根据索引生成Genindex算法解析对应的行号Ri∈[1,…,m]、
列号Cj∈[1,…,t];
b)随机生成和离散高斯噪声向量e∈χm
c)利用Range(Cj,w)生成C=[Ca,Cb]
d)计算其中u为第Ri个元素为1,其他元素为0的向量;
e)返回恢复密钥s、列号Cj和请求参数C=[Ca,Cb];3.服务响应Answer算法
输入:输入数据矩阵请求信息/>请求范围C;
输出:响应向量
算法步骤:
a)根据R=[a,b]抽取数据矩阵D第a列,第a+1列,直到第b列,构建矩阵
b)计算
4.恢复查询Recover算法
输入:要搜索的列号[Cj]∈C,恢复密钥以及/>
输出:数据对应的值;
算法步骤:
a)计算H[:,Cj]表示提示矩阵的第Cj列;
b)计算
c)通过Decoder查表方式恢复出真正的值。
5.查询更新Update算法
输入:原原数据矩阵/>发生变化的某条数据
输出:更新后
算法步骤:
a)读取的第Cj列/>
b)计算
c)本地更新H的第Cj列,即为H′
此外,当新增某列时,按上述步骤计算,只需在H后,增加相应的列即可,其他参数不变。
本发明以128比特安全性为例,LWE的公共参数包括矩阵q=232,n=210,m≥nlog2q,扩张因子/>离散高斯分布χ,/>代表原始数据经过编码后的数据库矩阵,其他p为明文空间(p<<q,通常小于1000),t为数据库可变的列数。s小写加粗字母的表示列向量,大写字母通常表示矩阵,如H为提示矩阵。
数据处理包括:
数据准备
为提升查询效率,业务相关性高的放在一张数据表中。同时,为了保证用户隐私,表的大小应具有一定的不可区分性,例如数据条目不少于10万条。
数据编码
数据库编码(特征编码)指将原始数据和明文空间直接的转换,主要包括Encoder和Decoder,主要通过查表的方式实现;其中,Encoder将原始数据(枚举Enum、字符串String、int等)映射到明文空间/>
由于算法理论要求明文空间为Zp,通过热编码方式,将一些字符串等类型进行类型转换;如果身高特征int类型直接转换为有限域为了减少特征的维度,可以进行特征压缩方式,提高资源利用率。比如:性别和婚姻状态,原属于两个特征;如果单独编码,需要占用两个/>的空间大小,造成资源浪费。可通过将两个特征压缩为一个特征(男-已婚、男-未婚、女-已婚、女-未婚)—(0,1,2,3,4),资源利用率可提升一倍。
假设p的上限1000,则最多可1000个特征值,对于一些字符串类型,往往会超过1000,需要对字符串进行拆分为多个特征进行处理。
特征编码示例表1
数据库示例表2
假设ID为全局唯一且有序,通常情况数据模板创建好后,不会进行频繁更新。本发明只讨论固定数据特征情况下,特征值更新情况。数据库采用列更新和新增的方式,行数为固定值m;总的数据条目为N,特征数量为F,
构造数据库矩阵D为行数为m,列数t=N*F/m;
实施例二
提出基础算法
算法1:索引生成Genindex算法:
输入:IDi∈N,和特征Fj∈|F|;其中N为数据总量,|F|为所有特征总量
输出:要查询的数据对应的index=(Ri,Cj)∈m×t。
计算步骤:
a)根据mod函数计算(k,r)=IDimodm,其中k为商,r为余数;
b)令Ri=r,记|F|=h,计算Cj=k·|F|+Fj
c)返回index=(Ri,Cj)
随机矩阵A生成Genmatrix算法
输入:随机种子seed;
输出:矩阵其中
算法步骤:
1、计算temp=SHA256(seed),分为8个片段,每个片段为32bit,每个片段即为A的一个元素;
2、依次循环Hashtemp=SHA256(temp),进行按列填充,直到矩阵A元素填满。
随机扩展Range算法
输入:扩展种子和集合宽度/>
输出:生成随机范围[a,b]
算法步骤:
1、随机拆分w=w1+w2
2、分别计算a=r-w1,b=r+w2
3、返回范围[a,b];
随机n扩展l-Range算法
输入:扩展种子其中ri<rj,(i<j)和集合宽度
输出:生成随机范围[a,b]
算法步骤:
Ifr1+rl<w,
a)计算temp=w-r1+rl
b)随机拆分temp=w1+w2
c)分别计算a=r1-w1,b=rl+w2
d)Return[a,b];
Else
Return Zq
实施例三
提出扩展算法(支持多行多列查询)
1、批量查询Muti-query算法
输入:l个IDi,…,IDi+l-1∈N,和特征Fj∈|F|和安全范围参数w(默认1024)
输出:恢复密钥查询参数QU,和范围R;
算法步骤:
a)将l个ID根据索引生成Genindex算法解析对应的行号
Ri∈[1,…,m]、列号Cj∈[1,…,t];(以下假设l个用户均分布在不同的行)
b)随机生成密钥矩阵和离散高斯噪声向量E∈χl×m
c)利用Range(Cj,w)生成C=[Ca,Cb];
d)计算其中/>由l个列向量组成,每个列向量第Ri个元素为1,其他元素为0的向量;
e)返回恢复密钥S和请求参数C=[Ca,Cb];
2、批量服务响应Muti-Answer算法
输入:输入数据矩阵请求信息/>请求范围R;
输出:响应向量
算法步骤:
a)根据C=[Ca,Cb]抽取数据矩阵D第Ca列,第Ca+1列,直到第Cb列,构建矩阵w为安全范围参数;
b)计算
3、批量恢复查询Muti-Recover算法
输入:要搜索的列号[Cj]∈C,恢复密钥
以及/>
输出:IDi,…,IDi+l-1对应的k个特征Fj,…,Fj+k-1对应的值
算法步骤:
a)将l个ID根据索引生成Genindex算法解析对应的行号
Ri,…,Ri+l-1∈[1,…,m]、列号Cj,…,Cj+k-l∈C;(假设只获取其中一个)
b)对于每个行号Ri和列号,计算
得到/>其中,H[:,Cj]表示提示矩阵的第Cj列;
对于每一个计算/>
实施例四
一种如权利要求1-6任意一项所述的高效的隐匿查询方法用的高效的隐匿查询系统,其特征在于:所述查询系统包括:用户查询客户端、隐匿查询服务server以及数据库三个必备模块;
具体操作步骤如下:
步骤1)客户端初始化,调用初始化Setup算法生成相应的参数,并向隐匿查询服务获取最新的提示参数H;
步骤2)客户端根据ID和查询的特征,基于Genindex算法生成查询索引[行号,列号],调用Query算法模块生成请求参数qu和恢复密钥s;客户端保存s,供恢复查询结果时使用;隐匿查询服务发起查询请求,请求参数为“qu+C,其中C为列的请求范围;
步骤3)隐匿查询服务校验请求参数有效后,根据请求参数生成隐匿查询结果ans;如何请求无效,返回查询失败;
步骤4)客户端得到ans后,利用恢复密钥s以及要搜索的列号[Cj],利用恢复查询Recover算法进行查询恢复,最后进行Decode进行解码,获得真实的数据。
在步骤1)中,默认打开客户端时,就同步更新H数据,确保在步骤4之前完成参数更新,否则会导致恢复失败。
在步骤2)、步骤3)中,对用户请求参数进行校验,如qu参数长度为m是否正确,请求C范围是否正确;默认情况下需要进行用户鉴权;以上验证通过后,生成隐匿查询结果ans;
在步骤4)中,根据数据建表时的特点,可以依次按列号恢复该ID下的其他特征即可。更进一步,用户可以恢复出Ri行对应的C范围的列的所有数据。具备隐匿查询权限的用户,理论上可以恢复出全部数据。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (7)

1.一种高效的隐匿查询方法,其特征在于:所述隐匿查询方法包括以下步骤:
利用初始化Setup算法输入:编码后的数据矩阵输出:查询提示H矩阵;
利用查询Query算法:输入:IDi∈N,和特征Fj∈|F|和安全范围参数w(默认参数为1024),输出:恢复密钥请求参数qu,和范围C;
利用服务响应Answer算法输入:输入数据矩阵请求信息/>请求范围C;输出:响应向量/>
利用恢复查询Recover算法输入:要搜索的列号[Cj]∈C,恢复密钥 以及/>输出:数据/>对应的值;
利用查询更新Update算法输入:原原数据矩阵/>发生变化的某条数据/>输出:更新后/>
2.根据权利要求1所述的一种高效的隐匿查询方法,其特征在于:初始化Setup算法具体包括:
随机生成利用Genmatrix算法生成随机矩阵/>
执行计算提示矩阵
返回(H,seed)。
3.根据权利要求1所述的一种高效的隐匿查询方法,其特征在于:查询Query算法具体包括:
根据索引生成Genindex算法解析对应的行号Ri∈[1,…,m]、列号Cj∈[1,…,t];
随机生成和离散高斯噪声向量e∈χm
利用Range(Cj,w)生成C=[Ca,Cb];
计算其中u为第Ri个元素为1,其他元素为0的向量;
返回恢复密钥s、列号Cj和请求参数C=[Ca,Cb]。
4.根据权利要求1所述的一种高效的隐匿查询方法,其特征在于:服务响应Answer算法具体包括:
根据R=[a,b]抽取数据矩阵D第a列,第a+1列,直到第b列,构建矩阵
计算
5.根据权利要求1所述的一种高效的隐匿查询方法,其特征在于:恢复查询Recover算法具体包括:
计算表示提示矩阵的第Cj列;
计算
通过Decoder查表方式恢复出真正的值。
6.根据权利要求1所述的一种高效的隐匿查询方法,其特征在于:查询更新Update算法具体包括:
读取的第Cj列/>
计算
本地更新H的第Cj列,即为H′。
7.一种如权利要求1-6任意一项所述的高效的隐匿查询方法用的高效的隐匿查询系统,其特征在于:所述查询系统包括:用户查询客户端、隐匿查询服务server以及数据库三个必备模块;
客户端初始化,调用初始化Setup算法生成相应的参数,并向隐匿查询服务获取最新的提示参数H;
客户端根据ID和查询的特征,基于Genindex算法生成查询索引[行号,列号],调用Query算法模块生成请求参数qu和恢复密钥s;客户端保存s,供恢复查询结果时使用;隐匿查询服务发起查询请求,请求参数为“qu+C,其中C为列的请求范围;
隐匿查询服务校验请求参数有效后,根据请求参数生成隐匿查询结果ans;如何请求无效,返回查询失败;
客户端得到ans后,利用恢复密钥s以及要搜索的列号[Cj],利用恢复查询Recover算法进行查询恢复,最后进行Decode进行解码,获得真实的数据。
CN202310588081.0A 2023-05-24 2023-05-24 一种高效的隐匿查询方法和系统 Pending CN116662388A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310588081.0A CN116662388A (zh) 2023-05-24 2023-05-24 一种高效的隐匿查询方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310588081.0A CN116662388A (zh) 2023-05-24 2023-05-24 一种高效的隐匿查询方法和系统

Publications (1)

Publication Number Publication Date
CN116662388A true CN116662388A (zh) 2023-08-29

Family

ID=87721724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310588081.0A Pending CN116662388A (zh) 2023-05-24 2023-05-24 一种高效的隐匿查询方法和系统

Country Status (1)

Country Link
CN (1) CN116662388A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117194756A (zh) * 2023-11-02 2023-12-08 北京信安世纪科技股份有限公司 数据处理方法、装置及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117194756A (zh) * 2023-11-02 2023-12-08 北京信安世纪科技股份有限公司 数据处理方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN106161006B (zh) 一种数字加密算法
CN116662388A (zh) 一种高效的隐匿查询方法和系统
CN110475038B (zh) 一种结合最小闭包编码的字符画生成式隐藏及恢复方法
CN101702240A (zh) 基于dna子序列运算的图像加密方法
US11070231B2 (en) Reducing storage of blockchain metadata via dictionary-style compression
CN116108506B (zh) 一种元宇宙数字资产安全管理系统
Sendrier Encoding information into constant weight words
Chang et al. Cryptanalysis of an encryption scheme for binary images
CN110602498B (zh) 一种自适应有限状态熵编码的方法
US20070092075A1 (en) Image public key generation method
CN116032476B (zh) 基于序列分解的电子合同内容智能加密方法
CN117640069A (zh) 基于马尔可夫链的多方区块链隐蔽通信生成模型
CN107609059B (zh) 一种基于j-w距离的中文域名相似度量方法
CN116664123A (zh) 一种基于区块链技术的数字钱包设计方法
Zhou et al. Distributed arithmetic coding with interval swapping
CN112422273B (zh) 一种基于比特自检puf的无偏响应去偏结构及生成方法
Sun et al. On the security of the secure arithmetic code
Shanmugasundaram et al. Text preprocessing using enhanced intelligent dictionary based encoding (EIDBE)
CN112634492A (zh) 一种基于杰林码的智能门锁加密方法、设备及存储介质
Yan et al. Secret image sharing based on error-correcting codes
Shoukat et al. An Improved Method of Vigenere Cipher to Securely Compress the Text by using Relative Frequency
Nisperos et al. A Coverless Approach to Data Hiding Using DNA Sequences
CN115473610B (zh) 一种用于安全多方计算的数据编解码方法及求交方法
JP2002271206A (ja) データ符号化復号方法、データ符号化復号システム、及びデータ復号装置
CN115208667A (zh) 通过混合编程实现芯片与文件进行双重加密解密方法

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