CN115017107A - 基于保护隐私的数据检索方法、装置、计算机设备及介质 - Google Patents
基于保护隐私的数据检索方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN115017107A CN115017107A CN202210625553.0A CN202210625553A CN115017107A CN 115017107 A CN115017107 A CN 115017107A CN 202210625553 A CN202210625553 A CN 202210625553A CN 115017107 A CN115017107 A CN 115017107A
- Authority
- CN
- China
- Prior art keywords
- hash
- retrieval
- vector
- file
- server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 239000013598 vector Substances 0.000 claims abstract description 144
- 230000006870 function Effects 0.000 claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 12
- 230000000694 effects Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- 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
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例属于数据安全和隐私保护技术领域,涉及一种基于保护隐私的数据检索方法,包括对待上传的文件列表中每个文件提取特征向量;获取与哈希表预设数量对应的哈希函数,使用每个哈希函数计算每个特征向量的哈希值;根据哈希值配置哈希表;将每个文件进行加密,得到加密文件列表;将加密文件列表和哈希表上传至服务端;获取目标文件的检索向量,使用哈希函数计算检索向量,得到检索哈希向量;将检索哈希向量发送至服务端。本申请还提供一种基于保护隐私的数据检索装置、计算机设备及介质。本申请实现数据文件加密上传、特征值不暴露、检索过程加密,达到保护数据文件安全、用户隐私的效果。
Description
技术领域
本申请涉及数据安全和隐私保护技术领域,尤其涉及一种基于保护隐私的数据检索方法、装置、计算机设备及介质。
背景技术
随着云计算的迅速发展,用户开始将数据迁移到云端服务器,以此避免繁琐的本地数据管理并获得更加便捷的服务。为了保证数据安全和用户隐私,数据一般是以密文存储在云端服务器中,但是用户将会遇到如何在密文上进行查找的难题。可搜索加密(searchable encryption,简称SE)是近年来发展的一种支持用户在密文上进行关键字查找的密码学原语,它能够为用户节省大量的网络和计算开销,并充分利用云端服务器庞大的计算资源进行密文上的关键字查找。
但是,当前的可搜索加密方案大部分都使用基于关键字搜索的方法。当用户重复搜索同一个关键字时,会泄露云服务器上存储的数据的信息,导致用户数据隐私的泄露。
发明内容
本申请实施例的目的在于提出一种基于保护隐私的数据检索方法、装置、计算机设备及介质,以解决相关技术中使用关键词搜索造成用户数据隐私泄露的技术问题。
为了解决上述技术问题,本申请实施例提供一种基于保护隐私的数据检索方法,应用于客户端,采用了如下所述的技术方案:
确定待上传的文件列表,对所述文件列表中每个文件提取特征向量;
获取与哈希表预设数量对应的哈希函数,使用每个所述哈希函数计算每个所述特征向量的哈希值;
根据所述哈希值配置所述哈希表;
将每个所述文件进行加密,得到加密文件列表;
将所述加密文件列表和所述哈希表上传至服务端;
获取目标检索向量,使用所述哈希函数计算所述目标检索向量,得到检索哈希向量;
将所述检索哈希向量发送至所述服务端,接收所述服务端基于所述检索哈希向量进行检索得到的检索结果。
进一步的,所述对所述文件列表中每个文件提取特征向量的步骤包括:
根据所述特征向量的预设维度,从每个所述文件提取与所述预设维度对应的文本特征;
根据预配置编码文件,将每个所述文本特征进行形式化处理,得到每个所述文件的特征向量。
进一步的,所述使用每个所述哈希函数计算每个所述特征向量的哈希值的步骤包括:
确定所述哈希函数的输出域、第一可变参数和第二可变参数;
根据特征向量、所述第一可变参数及所述第二可变参数,计算得到向量值;
对所述向量值和所述输出域进行取模运算,得到所述哈希值。
进一步的,所述根据所述哈希值配置所述哈希表的步骤包括:
将所有所述哈希表的所有表块的每个比特值设置为初始值;
根据所述哈希值确定目标表块,根据所述特征向量确定所述目标表块的目标比特;
将所述目标比特的比特值更改为目标值;
对所述目标比特左右两边的比特进行或操作,得到配置完成的哈希表。
为了解决上述技术问题,本申请实施例提供一种基于保护隐私的数据检索方法,应用于服务端,采用了如下所述的技术方案:
将接收到客户端发送的加密文件列表和哈希表进行存储;
接收所述客户端发送的检索哈希向量,根据所述检索哈希向量对所述哈希表进行检索,得到检索结果。
进一步的,所述根据所述检索哈希向量对所述哈希表进行检索,得到检索结果的步骤包括:
根据所述检索哈希向量确定所述哈希表对应的表块,提取所有所述表块;
将所有所述表块进行逐位与操作,得到比特结果;
根据所述比特结果得到对应的目标文件,将所述目标文件作为检索结果。
为了解决上述技术问题,本申请实施例还提供一种基于保护隐私的数据检索装置,应用于客户端,采用了如下所述的技术方案:
提取模块,用于确定待上传的文件列表,对所述文件列表中每个文件提取特征向量;
计算模块,用于获取与哈希表预设数量对应的哈希函数,使用每个所述哈希函数计算每个所述特征向量的哈希值;
配置模块,用于根据所述哈希值配置所述哈希表;
加密模块,用于将每个所述文件进行加密,得到加密文件列表;
上传模块,用于将所述加密文件列表和所述哈希表上传至服务端;
所述计算模块,还用于获取目标文件的检索向量,使用所述哈希函数计算所述检索向量,得到检索哈希向量;
发送模块,用于将所述检索哈希向量发送至所述服务端,接收所述服务端基于所述检索哈希向量进行检索得到的检索结果。
为了解决上述技术问题,本申请实施例还提供一种基于保护隐私的数据检索装置,应用于服务端,采用了如下所述的技术方案:
接收模块,用于将接收到客户端发送的加密文件列表和哈希表进行储存;
检索模块,用于接收所述客户端发送的检索哈希向量,根据所述检索哈希向量对所述哈希表进行检索,得到检索结果。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
该计算机设备包括客户端以及与所述客户端连接的服务端,所述客户端包括第一存储器和第一处理器,所述第一存储器中存储有计算机可读指令,所述第一处理器执行所述计算机可读指令时实现如上所述的基于保护隐私的数据检索方法的步骤;所述服务端包括第二存储器和第二处理器,所述第二存储器中存储有计算机可读指令,所述第二处理器执行所述计算机可读指令时实现如上所述的基于保护隐私的数据检索方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的基于保护隐私的数据检索方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请通过确定待上传的文件列表,对文件列表中每个文件提取特征向量;获取与哈希表预设数量对应的哈希函数,使用每个哈希函数计算每个特征向量的哈希值;根据哈希值配置哈希表;将每个文件进行加密,得到加密文件列表;将加密文件列表和哈希表上传至服务端;获取目标文件的检索向量,使用哈希函数计算检索向量,得到检索哈希向量;将检索哈希向量发送至服务端,接收服务端基于检索哈希向量进行检索得到的检索结果;本申请通过对每个文件提取的特征向量进行哈希计算,得到与每个文件对应的哈希表,并基于检索哈希向量从云端服务器检索文件,能够实现数据文件加密上传、特征值不暴露、检索过程加密,保证存储数据的服务器看不到数据文件,也不知道用户具体的检索内容,达到保护数据文件安全、用户隐私的效果。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的基于保护隐私的数据检索方法的一个实施例的流程图;
图3是本申请的哈希表结构示意图;
图4是本申请的逐位与操作的一个实施例的示意图;
图5是根据本申请的基于保护隐私的数据检索装置的一个实施例的结构示意图;
图6是根据本申请的基于保护隐私的数据检索装置的另一个实施例的结构示意图;
图7是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请提供了一种基于保护隐私的数据检索方法,可以应用于如图1所示的系统架构100中,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的基于保护隐私的数据检索方法一般由服务器/终端设备执行,相应地,基于保护隐私的数据检索装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的基于保护隐私的数据检索方法的一个实施例的流程图,包括以下步骤:
步骤S201,确定待上传的文件列表,对文件列表中每个文件提取特征向量。
在本实施例中,用户选择要上传至服务端的文件,假设用户确定上传n个文件,则n个文件组成文件列表,文件列表为(f1,f2,…,fn),其中,fi为文件名称。对每个文件进行特征向量提取,其中,特征向量是维度为d的向量,维度d可以根据实际情况进行设置,比如说,设定d=50,则一个文件最多只能提取50个特征。
假设文件fi的特征向量为qi(i=1,2,…,n),可以使用词袋模型算法、one-hot算法等成熟的文本处理算法对文件进行特征向量提取。
在一些可选的实现方式中,上述对文件列表中每个文件提取特征向量的步骤包括:
根据特征向量的预设维度,从每个文件提取与预设维度对应的文本特征;
根据预配置编码文件,将每个文本特征进行形式化处理,得到每个文件的特征向量。
假设特征向量的预设维度为d,从文件中提取出d个文本特征,文本特征最为文本的关键词,提取出来的文本特征可能存在文字、字母等,例如,提取的文本特征为{“深圳”,“天气”、“人口”、“经济发展指标”,……},无法用于后续计算处理,则需要对文本特征进行形式化处理,表示成为计算机能够用于计算的数字。
具体的,将文本特征转化为整数值,其中,转化方法可以采用任何一种编码形式,将关键词与其对应的编码进行配置得到编码文件,根据编码文件将文本特征转化为数值,得到特征向量。例如,深圳的编码额为1,经济的编码为2,人口的编码为3,经济发展指标的编码为4,则上述文本特征转化为特征向量(1,2,3,4,……)。
步骤S202,获取与哈希表预设数量对应的哈希函数,使用每个哈希函数计算每个特征向量的哈希值。
其中,哈希表的数量为M个,分别为LSH1,LSH2,……,LSHj,其中,M为大于零的整数,每个哈希表对应一个哈希函数(即LSH算法)。每个哈希表中,有W个表块对应LSH算法的输出域的W个不同取值;每个表块有n个比特,对应着n个文件,哈希表的结构示意图具体参见图3所示。
在本实施例中,使用每个哈希函数计算每个特征向量的哈希值的步骤包括:
确定哈希函数的输出域、第一可变参数和第二可变参数;
根据特征向量、第一可变参数及第二可变参数,计算得到向量值;
对向量值和输出域进行取模运算,得到哈希值。
LSH算法定义为:
LSHj=ha,b(qi)=(a·qi+b)mod W
其中,j=1,2,…,M;i=1,2,…,n;W为固定整数参数,为LSH算法的输出域,它的取值决定算法的输出域多大,比如,设定W=100,那么算法的输出空间只能是{0,1,2,…,99}集合;qi为文件fi的特征向量;a为第一可变参数,是一个d维向量;b是第二可变参数,是一个整数;a·q运算是向量之间求内积,(a·qi+b)的值即为向量值。
应当理解,LSH算法用于映射特征向量,并且满足:两个特征向量越类似,映射得到的结果相同的概率越大。
通过a,b的不同取值,可以得到不同的LSH算法。在本实施例中,有M个哈希表,对应有M个LSH算法,,例如,假设W=100,M=3,即对应生成三个不同的LSH算法,则取三对不同的(a,b)值,分别为(a1,b1)、(a2,b2)和(a3,b3),得到如下三个LSH算法:
需要说明的是,每个LSH算法的输出值范围都在整数集合{0,1,2,…,99}之内。
在本实施例中,采用如上的LSH算法计算出每个文件的特征向量的哈希值,即得到每个文件对应的哈希值。应当理解,本实施例中对文件的搜索即是对哈希值的检索,不同特征向量经过一个LSH算法计算可能得到相同的值(称为“发生碰撞”),但是经过多个LSH算法计算,发生碰撞的概率就会大幅度降低,提升检索的准确度。
步骤S203,根据哈希值配置哈希表。
具体的,将所有哈希表的所有表块的每个比特值设置为初始值;根据哈希值确定目标表块,根据特征向量确定目标表块的目标比特;将目标比特的比特值更改为目标值;对目标比特左右两边的比特进行或操作,得到配置完成的哈希表。
其中,初始值可以设置为0,目标值设置为1。先把所有哈希表的所有表块的每个比特都置为初始值0,假设第i个文件在第j个哈希表的哈希值为LSHj(qi)=r,则把第j个哈希表的第r个表块(目标表块)的第i个比特(目标比特)设置为1,并将第i个比特左右两边的比特进行或操作。
具体的,将第r个表块记为B,则B(1)、B(2)、……、B(n)分别代表B的每个比特,或操作如下:
B(i)←B(i-1)∨B(i)∨B(i+1),
即将B(i)设置为1后,相应的,把B(i-1)和B(i+1)设置为1,这样,可以提高文件检索时的容错率。
步骤S204,将每个文件进行加密,得到加密文件列表。
为了保证数据文件的机密性,不能把数据文件直接上传至服务端,需要经过加密后再进行上传。
在本实施例中,将每个文件进行加密,具体的,从密钥管理中心获取加密密钥,从预设加密算法池中随机选取一个加密算法,通过选取出来的加密算法使用加密密钥对文件进行加密。
其中,密钥管理中心,是公钥基础设施中的一个重要组成部分,负责为信息安全系统提供密钥的生成、保存、备份、更新、恢复、查询等密钥服务,以解决分布式企业应用环境中大规模密码技术应用所带来的密钥管理问题。密钥管理中心用于保存用户指定的加密密钥,当用户没有进行加密密钥指定时,可以用于生成加密密钥。
常见的加密算法包括AES(Advanced Encryption Standard,高级加密标准)加密算法、RSA加密算法以及MD5(message-digest algorithm 5,信息摘要算法)加密算法等。
在本实施例中,依次对每个文件进行加密,加密完成后,得到加密文件列表。
步骤S205,将加密文件列表和哈希表上传至服务端。
在本实施例中,将加密文件列表和配置完成的哈希表上传到服务端,服务端即为云端服务器。
服务端接收到加密文件列表和哈希表后,将列表中的加密文件合哈希表进行存储,可以避免繁琐的本地数据管理,同时为后续用户从服务器中进行数据检索提供便利。
需要强调的是,为进一步保证加密文件列表和哈希表的私密和安全性,上述加密文件列表和哈希表还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
步骤S206,获取目标检索向量,使用哈希函数计算目标检索向量,得到检索哈希向量。
在本实施例中,用户根据要检索的文本或者关键词组合,生成目标检索向量,其目标检索向量生成过程和上述文件特征向量的生成过程一致,在此不再赘述。
其中,目标检索向量也是一个d维向量。
假设目标检索向量为cv,对于每个LSHj(j=1,2,…,M),计算LSHj(cv),得到M个哈希值构成检索哈希向量,为hcv=(hcv1,hcv2,…,hcvM)。
步骤S207,将检索哈希向量发送至服务端,接收服务端基于检索哈希向量进行检索得到的检索结果。
在本实施例中,将检索哈希向量发送至服务端,服务端根据检索哈希向量对哈希表进行检索,进而得到相对应的文件,这样可以保证检索过程加密,避免泄露用户数据隐私。
在一些可选的实现方式中,服务端根据检索哈希向量对哈希表进行检索,得到检索结果的步骤包括:
根据检索哈希向量确定哈希表对应的表块,提取所有表块;
将所有表块进行逐位与操作,得到比特结果;
根据比特结果得到对应的目标文件,将目标文件作为检索结果。
具体的,服务端接收到客户端发送的检索哈希向量hcv=(hcv1,hcv2,…,hcvM),把哈希表LSHj对应的第hcvj个表块提取出来,一共提取M个表块,将M个表块进行逐位“与”操作,得到比特结果,将比特结果中为1的比特对应的目标文件作为检索结果,其中,目标文件为文件或者文件组合,将检索得到的目标文件返回给客户端。
举例说明,假设W=100,M=3,(a,b)值分别为(a1,b1)、(a2,b2)和(a3,b3),确定目标检索向量为cv,则分别使用如下LSH算法计算目标检索向量cv:
则hcv=(k1,k2,k3)。
将hcv=(k1,k2,k3)发送至服务端,服务端将LSH1的第k1表块,LSH2的第k2表块和LSH3的第k3表块提取出来,将这三个表块进行逐位“与”操作,具体参见图4所示,将得到结果中为1的比特对应的文件或文件组合作为检索结果,将检索结果发送到客户端,供用户查看。
在本实施例中,使用检索哈希向量进行文件检索,可以避免暴露隐私。
在本实施例中,主要包含两个阶段,数据处理阶段和数据搜索阶段,数据处理阶段主要由客户端执行,数据搜索阶段主要由服务端执行,在数据处理阶段,客户端将文件列表中所有的文件提取特征,并生成哈希表,再将文件加密后上传给服务端;在数据搜索阶段,客户端将一个检索向量发送给服务端,服务端通过检索向量进行搜索,从加密文件列表中找到匹配的一个或多个加密文件,返回给客户端。
本申请通过对每个文件提取的特征向量进行哈希计算,得到哈希值,根据哈希值配置每个文件对应的哈希表,并基于检索哈希向量从云端服务器检索文件,能够实现数据文件加密上传、特征值不暴露、检索过程加密,保证存储数据的服务器看不到数据文件,也不知道用户具体的检索内容,达到保护数据文件安全、用户隐私的效果。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图5,作为对上述图2所示方法的实现,本申请提供了一种基于保护隐私的数据检索装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的基于保护隐私的数据检索装置500设置于客户端,包括:提取模块501、计算模块502、配置模块503、加密模块504、上传模块505以及发送模块506。其中:
提取模块501用于确定待上传的文件列表,对所述文件列表中每个文件提取特征向量;
计算模块502用于获取与哈希表预设数量对应的哈希函数,使用每个所述哈希函数计算每个所述特征向量的哈希值;
配置模块503用于根据所述哈希值配置所述哈希表;
加密模块504用于将每个所述文件进行加密,得到加密文件列表;
上传模块505用于将所述加密文件列表和所述哈希表上传至服务端;
所述计算模块502还用于获取目标文件的检索向量,使用所述哈希函数计算所述检索向量得到检索哈希向量;
发送模块506用于将所述检索哈希向量发送至所述服务端,接收所述服务端基于所述检索哈希向量进行检索得到的检索结果。
需要强调的是,为进一步保证加密文件列表和哈希表的私密和安全性,上述加密文件列表和哈希表还可以存储于一区块链的节点中。
基于上述基于保护隐私的数据检索装置500,通过对每个文件提取的特征向量进行哈希计算,得到哈希值,根据哈希值配置每个文件对应的哈希表,并将加密文件和哈希表发送至服务端,能够实现数据文件加密上传、特征值不暴露,保证存储数据的服务器看不到数据文件,保证数据文件的机密性。
在本实施例中,提取模块501包括提取子模块和处理子模块,其中:
提取子模块用于根据所述特征向量的预设维度,从每个所述文件提取与所述预设维度对应的文本特征;
处理子模块用于根据预配置编码文件,将每个所述文本特征进行形式化处理,得到每个所述文件的特征向量。
本实施例通过对文本特征进行形式化处理,方便后续进行相应计算。
在本实施例中,计算模块502进一步用于:
确定所述哈希函数的输出域、第一可变参数和第二可变参数;
根据特征向量、所述第一可变参数及所述第二可变参数,计算得到向量值;
对所述向量值和所述输出域进行取模运算,得到所述哈希值。
在本实施例中,配置模块503包括设置子模块、确定子模块、更改子模块以及或操作子模块,其中:
设置子模块用于将所有所述哈希表的所有表块的每个比特值设置为初始值;
确定子模块用于根据所述哈希值确定目标表块,根据所述特征向量确定所述目标表块的目标比特;
更改子模块用于将所述目标比特的比特值更改为目标值;
或操作子模块用于对所述目标比特左右两边的比特进行或操作,得到配置完成的哈希表。
本实施例可以提高文件检索时的容错率。
本申请提供了一种基于保护隐私的数据检索装置的另一个实施例,该装置600设置于服务端,包括:接收模块601和检索模块602。其中:
接收模块601用于将接收到客户端发送的加密文件列表和哈希表进行储存;
检索模块602用于接收所述客户端发送的检索哈希向量,根据所述检索哈希向量对所述哈希表进行检索,得到检索结果。
基于上述基于保护隐私的数据检索装置600,通过检索哈希向量进行文件检索,能够实现特征值不暴露、检索过程加密,保证服务器不知道用户具体的检索内容,达到保护数据文件安全、用户隐私的效果。
在本实施例中,检索模块602进一步用于:
根据所述检索哈希向量确定所述哈希表对应的表块,提取所有所述表块;
将所有所述表块进行逐位与操作,得到比特结果;
根据所述比特结果得到对应的目标文件,将所述目标文件作为检索结果。
在本实施例中,使用检索哈希向量进行文件检索,可以避免暴露隐私。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图7,图7为本实施例计算机设备基本结构框图。
所述计算机设备7包括该计算机设备包括客户端71以及与客户端71连接的服务端72,客户端71包括第一存储器711和第一处理器712,服务端72包括第二存储器721和第二处理器722,通过系统总线相互通信连接第一存储器711、第一处理器712、第一网络接口713,通过系统总线相互通信连接第二存储器721、第二处理器722、第二网络接口723。需要指出的是,图中仅示出了具有组件71-72的计算机设备7,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述第一存储器711和所述第二存储器721都至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述第一存储器711和所述第二存储器721可以是所述计算机设备7的内部存储单元,例如该计算机设备7的硬盘或内存。在另一些实施例中,所述第一存储器711和所述第二存储器721也可以是所述计算机设备7的外部存储设备,例如该计算机设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述第一存储器711和所述第二存储器721还可以既包括所述计算机设备7的内部存储单元也包括其外部存储设备。本实施例中,所述第一存储器711和所述第二存储器721通常用于存储安装于所述计算机设备7的操作系统和各类应用软件,例如基于保护隐私的数据检索方法的计算机可读指令等。此外,所述第一存储器711和所述第二存储器721还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述第一处理器712和所述第二处理器722在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。第一处理器712和第二处理器722通常用于控制所述计算机设备7的总体操作。本实施例中,所述第一处理器712和所述第二处理器722用于运行所述第一存储器711和所述第二存储器721中存储的计算机可读指令或者处理数据,例如运行所述基于保护隐私的数据检索方法的计算机可读指令。
所述第一网络接口713和所述第二网络接口723可包括无线网络接口或有线网络接口,第一网络接口713和第二网络接口723通常用于在所述计算机设备7与其他电子设备之间建立通信连接。
本实施例通过处理器执行存储在存储器的计算机可读指令时实现如上述实施例基于保护隐私的数据检索方法的步骤,通过对每个文件提取的特征向量进行哈希计算,得到哈希值,根据哈希值配置每个文件对应的哈希表,并基于检索哈希向量从云端服务器检索文件,能够实现数据文件加密上传、特征值不暴露、检索过程加密,保证存储数据的服务器看不到数据文件,也不知道用户具体的检索内容,达到保护数据文件安全、用户隐私的效果。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于保护隐私的数据检索方法的步骤,通过对每个文件提取的特征向量进行哈希计算,得到哈希值,根据哈希值配置每个文件对应的哈希表,并基于检索哈希向量从云端服务器检索文件,能够实现数据文件加密上传、特征值不暴露、检索过程加密,保证存储数据的服务器看不到数据文件,也不知道用户具体的检索内容,达到保护数据文件安全、用户隐私的效果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种基于保护隐私的数据检索方法,应用于客户端,其特征在于,包括下述步骤:
确定待上传的文件列表,对所述文件列表中每个文件提取特征向量;
获取与哈希表预设数量对应的哈希函数,使用每个所述哈希函数计算每个所述特征向量的哈希值;
根据所述哈希值配置所述哈希表;
将每个所述文件进行加密,得到加密文件列表;
将所述加密文件列表和所述哈希表上传至服务端;
获取目标检索向量,使用所述哈希函数计算所述目标检索向量,得到检索哈希向量;
将所述检索哈希向量发送至所述服务端,接收所述服务端基于所述检索哈希向量进行检索得到的检索结果。
2.根据权利要求1所述的基于保护隐私的数据检索方法,其特征在于,所述对所述文件列表中每个文件提取特征向量的步骤包括:
根据所述特征向量的预设维度,从每个所述文件提取与所述预设维度对应的文本特征;
根据预配置编码文件,将每个所述文本特征进行形式化处理,得到每个所述文件的特征向量。
3.根据权利要求1所述的基于保护隐私的数据检索方法,其特征在于,所述使用每个所述哈希函数计算每个所述特征向量的哈希值的步骤包括:
确定所述哈希函数的输出域、第一可变参数和第二可变参数;
根据特征向量、所述第一可变参数及所述第二可变参数,计算得到向量值;
对所述向量值和所述输出域进行取模运算,得到所述哈希值。
4.根据权利要求1所述的基于保护隐私的数据检索方法,其特征在于,所述根据所述哈希值配置所述哈希表的步骤包括:
将所有所述哈希表的所有表块的每个比特值设置为初始值;
根据所述哈希值确定目标表块,根据所述特征向量确定所述目标表块的目标比特;
将所述目标比特的比特值更改为目标值;
对所述目标比特左右两边的比特进行或操作,得到配置完成的哈希表。
5.一种基于保护隐私的数据检索方法,应用于服务端,其特征在于,包括下述步骤:
将接收到客户端发送的加密文件列表和哈希表进行存储;
接收所述客户端发送的检索哈希向量,根据所述检索哈希向量对所述哈希表进行检索,得到检索结果。
6.根据权利要求5所述的基于保护隐私的数据检索方法,其特征在于,所述根据所述检索哈希向量对所述哈希表进行检索,得到检索结果的步骤包括:
根据所述检索哈希向量确定所述哈希表对应的表块,提取所有所述表块;
将所有所述表块进行逐位与操作,得到比特结果;
根据所述比特结果得到对应的目标文件,将所述目标文件作为检索结果。
7.一种基于保护隐私的数据检索装置,应用于客户端,其特征在于,包括:
提取模块,用于确定待上传的文件列表,对所述文件列表中每个文件提取特征向量;
计算模块,用于获取与哈希表预设数量对应的哈希函数,使用每个所述哈希函数计算每个所述特征向量的哈希值;
配置模块,用于根据所述哈希值配置所述哈希表;
加密模块,用于将每个所述文件进行加密,得到加密文件列表;
上传模块,用于将所述加密文件列表和所述哈希表上传至服务端;
所述计算模块,还用于获取目标文件的检索向量,使用所述哈希函数计算所述检索向量,得到检索哈希向量;
发送模块,用于将所述检索哈希向量发送至所述服务端,接收所述服务端基于所述检索哈希向量进行检索得到的检索结果。
8.一种基于保护隐私的数据检索装置,应用于服务端,其特征在于,包括:
接收模块,用于将接收到客户端发送的加密文件列表和哈希表进行储存;
检索模块,用于接收所述客户端发送的检索哈希向量,根据所述检索哈希向量对所述哈希表进行检索,得到检索结果。
9.一种计算机设备,包括客户端以及与所述客户端连接的服务端,所述客户端包括第一存储器和第一处理器,所述第一存储器中存储有计算机可读指令,所述第一处理器执行所述计算机可读指令时实现如权利要求1至4中任一项所述的基于保护隐私的数据检索方法的步骤;所述服务端包括第二存储器和第二处理器,所述第二存储器中存储有计算机可读指令,所述第二处理器执行所述计算机可读指令时实现如权利要求5至6中任一项所述的基于保护隐私的数据检索方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的基于保护隐私的数据检索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210625553.0A CN115017107A (zh) | 2022-06-02 | 2022-06-02 | 基于保护隐私的数据检索方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210625553.0A CN115017107A (zh) | 2022-06-02 | 2022-06-02 | 基于保护隐私的数据检索方法、装置、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115017107A true CN115017107A (zh) | 2022-09-06 |
Family
ID=83072401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210625553.0A Pending CN115017107A (zh) | 2022-06-02 | 2022-06-02 | 基于保护隐私的数据检索方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115017107A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115186145A (zh) * | 2022-09-09 | 2022-10-14 | 华控清交信息科技(北京)有限公司 | 一种隐私关键词查询方法、装置及系统 |
CN116436704A (zh) * | 2023-06-13 | 2023-07-14 | 深存科技(无锡)有限公司 | 面向用户隐私数据的数据处理方法和数据处理设备 |
CN116488922A (zh) * | 2023-05-09 | 2023-07-25 | 甘肃鑫泽盛物流有限责任公司 | 一种基于区块链的电商数据传输方法及装置 |
CN116486981A (zh) * | 2023-06-15 | 2023-07-25 | 北京中科江南信息技术股份有限公司 | 健康数据的存储方法、健康数据的读取方法和装置 |
CN117113385A (zh) * | 2023-10-25 | 2023-11-24 | 成都乐超人科技有限公司 | 一种应用于用户信息加密的数据提取方法及系统 |
-
2022
- 2022-06-02 CN CN202210625553.0A patent/CN115017107A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115186145A (zh) * | 2022-09-09 | 2022-10-14 | 华控清交信息科技(北京)有限公司 | 一种隐私关键词查询方法、装置及系统 |
CN115186145B (zh) * | 2022-09-09 | 2022-11-18 | 华控清交信息科技(北京)有限公司 | 一种隐私关键词查询方法、装置及系统 |
CN116488922A (zh) * | 2023-05-09 | 2023-07-25 | 甘肃鑫泽盛物流有限责任公司 | 一种基于区块链的电商数据传输方法及装置 |
CN116488922B (zh) * | 2023-05-09 | 2024-04-05 | 武汉市启视传媒有限公司 | 一种基于区块链的电商数据传输方法及装置 |
CN116436704A (zh) * | 2023-06-13 | 2023-07-14 | 深存科技(无锡)有限公司 | 面向用户隐私数据的数据处理方法和数据处理设备 |
CN116436704B (zh) * | 2023-06-13 | 2023-08-18 | 深存科技(无锡)有限公司 | 面向用户隐私数据的数据处理方法和数据处理设备 |
CN116486981A (zh) * | 2023-06-15 | 2023-07-25 | 北京中科江南信息技术股份有限公司 | 健康数据的存储方法、健康数据的读取方法和装置 |
CN116486981B (zh) * | 2023-06-15 | 2023-10-03 | 北京中科江南信息技术股份有限公司 | 健康数据的存储方法、健康数据的读取方法和装置 |
CN117113385A (zh) * | 2023-10-25 | 2023-11-24 | 成都乐超人科技有限公司 | 一种应用于用户信息加密的数据提取方法及系统 |
CN117113385B (zh) * | 2023-10-25 | 2024-03-01 | 成都乐超人科技有限公司 | 一种应用于用户信息加密的数据提取方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115017107A (zh) | 基于保护隐私的数据检索方法、装置、计算机设备及介质 | |
CN113364760A (zh) | 一种数据加密处理方法、装置、计算机设备及存储介质 | |
CN109766707B (zh) | 基于区块链的数据处理方法、装置、设备和介质 | |
CN113220734A (zh) | 课程推荐方法、装置、计算机设备及存储介质 | |
CN113761577B (zh) | 一种大数据脱敏的方法、装置、计算机设备及存储介质 | |
CN112328486A (zh) | 接口自动化测试方法、装置、计算机设备及存储介质 | |
CN111680477A (zh) | 导出电子表格文件的方法、装置、计算机设备及存储介质 | |
CN112988674A (zh) | 大数据文件的处理方法、装置、计算机设备及存储介质 | |
CN113434906B (zh) | 数据查询方法、装置、计算机设备及存储介质 | |
CN114398477A (zh) | 基于知识图谱的政策推荐方法及其相关设备 | |
CN113709181A (zh) | 基于浏览器插件的网站登录方法、装置、设备及存储介质 | |
CN115085934A (zh) | 基于区块链和组合密钥的合同管理方法及相关设备 | |
CN111651749A (zh) | 基于密码找回账号的方法、装置、计算机设备及存储介质 | |
CN112436943A (zh) | 基于大数据的请求去重方法、装置、设备及存储介质 | |
CN112182107A (zh) | 名单数据获取方法、装置、计算机设备及存储介质 | |
CN115203391A (zh) | 一种信息检索方法、装置、计算机设备及存储介质 | |
CN113283759B (zh) | 账户风险画像更新方法、装置、设备及存储介质 | |
CN113452783B (zh) | 区块链云架构的数字化paas开放平台系统及实现方法 | |
CN114722361A (zh) | 基于摩斯编码的数据防护方法、装置、设备及存储介质 | |
CN114912003A (zh) | 文档搜索方法、装置、计算机设备及存储介质 | |
CN112307518B (zh) | 签名信息处理、显示方法、装置、电子设备及存储介质 | |
CN114615325A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN112416875A (zh) | 日志管理方法、装置、计算机设备及存储介质 | |
CN112732789A (zh) | 基于区块链的可搜索加密方法和电子设备 | |
CN112732790A (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 |