CN117407907A - 数据查询方法、装置、设备、存储介质及计算机产品 - Google Patents
数据查询方法、装置、设备、存储介质及计算机产品 Download PDFInfo
- Publication number
- CN117407907A CN117407907A CN202210799633.8A CN202210799633A CN117407907A CN 117407907 A CN117407907 A CN 117407907A CN 202210799633 A CN202210799633 A CN 202210799633A CN 117407907 A CN117407907 A CN 117407907A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- identification ciphertext
- target
- ciphertext
- 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 108
- 238000012545 processing Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013506 data mapping Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
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/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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据查询方法、装置、设备、存储介质及计算机产品,该方法包括:接收请求设备的数据查询请求,包括对待查询对象的身份标识信息加密得到的待查询对象的目标标识密文;获取目标标识密文的索引信息;在至少一个数据组中确定目标数据组,各个数据组包括多个查询对象的标识密文和对应的对象数据,不同数据组中各个查询对象的标识密文的索引信息不同,目标数据组中的任一查询对象的标识密文的索引信息与目标标识密文的索引信息相同;在可信执行环境中,在目标数据组中查找目标标识密文对应的对象数据并将查找到的对象数据发送至请求设备,可确保数据查询设备无法知晓待查询对象的身份信息,可保障待查询对象的隐私信息和数据安全。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据查询方法、数据查询装置、数据查询设备、计算机可读存储介质及计算机产品。
背景技术
随着计算机网络的不断发展,通过网络进行数据查询成为一个普遍的技术手段。数据查询服务提供方可根据查询请求方发送的查询信息,在数据库中进行检索与统计得到查询结果,将查询结果返回查询请求方。通常情况下,数据库以明文形式保存在数据查询服务提供方的服务器上。因此,在数据查询的过程中,存在信息泄露的风险,存在一定的安全隐患。
因此,如何提供一个安全可靠的数据查询环境,避免数据泄露,维护用户隐私安全,是本领域的研究热点。
发明内容
本申请提供了一种数据查询方法、装置、设备、存储介质及计算机产品,可隐藏待查询对象的身份信息,使数据查询设备无法知晓待查询对象的身份信息,维护待查询对象的隐私信息和数据安全。
一方面,本申请提供了一种数据查询方法,包括:
接收请求设备的数据查询请求,数据查询请求包括待查询对象的目标标识密文,目标标识密文是对待查询对象的身份标识信息进行加密得到的;
获取目标标识密文的索引信息;
在至少一个数据组中确定目标数据组,各个数据组包括多个查询对象的标识密文以及对应的对象数据,不同数据组中各个查询对象的标识密文的索引信息不同,目标数据组中的任一查询对象的标识密文的索引信息与目标标识密文的索引信息相同;
在可信执行环境中,在目标数据组中查找目标标识密文对应的对象数据;
通过可信执行环境,将查找到的对象数据发送至请求设备。
可见,本申请通过对待查询对象的身份标识信息进行加密,结合可信执行环境,可以从目标数据组中的多个查询对象中查找到请求设备所需的待查询对象的对象数据,并将查找到的对象数据发送至请求设备。其中,提供数据查询服务的设备中存在至少一个数据组,每个数据组包括了多个查询对象,由于从目标数据组中查找对象数据的步骤在可信执行环境中执行,使得提供数据查询服务的设备仅可得知被查者所属的数据组,而无法准确识别被查询者,即待查询对象的身份信息,实现被查者身份隐匿的目标,同时又能返回给请求设备所需的待查询对象的数据,避免提供数据查询服务的设备发送非必要的数据(例如数据库中其他对象的数据),保障了数据查询的数据安全,以及对查询对象的隐私保护。
在一种实现方式中,上述获取目标标识密文的索引信息的方法具体还可包括:对目标标识密文进行加密,得到目标标识密文的哈希值。
在一种实现方式中,上述获取目标标识密文的索引信息的方法具体还可包括:对目标标识密文进行取模运算,得到目标标识密文的余数。
在一种实现方式中,上述方法还包括:获取多个查询对象的标识密文以及对应的对象数据;对多个查询对象中各个查询对象的标识密文进行加密,得到各个标识密文的哈希值;将同一哈希值对应的标识密文以及标识密文对应的对象数据划分至同一数据组中,以构建至少一个数据组。
在一种实现方式中,上述方法还包括:获取多个查询对象的标识密文以及对应的对象数据;对多个查询对象中各个查询对象的标识密文进行取模运算,得到各个标识密文的余数;将同一余数对应的标识密文以及标识密文对应的对象数据划分至同一数据组中,以构建至少一个数据组。
在一种实现方式中,上述在至少一个数据组中确定目标数据组的方法具体还可包括:在至少一个数据组中查找索引信息与目标标识密文的索引信息相同的标识密文所在的数据组;将查找到的数据组确定为目标数据组;将目标数据组传输至可信执行环境。
可见,通过划分数据组的技术手段以及可信执行环境,使得提供数据查询服务的设备只能知晓待查询对象属于目标数据组,而无法定位待查询对象的具体身份信息。
在一种实现方式中,目标数据组、目标标识密文以及查找到的对象数据被缓存至可信执行环境的缓存器中;在将查找到的对象数据发送至请求设备之后,上述方法还包括:从缓存器中删除目标数据组、目标标识密文以及查找到的对象数据。
可见,通过删除可信执行环境中每次数据查询产生的缓存数据,可以进一步地保障数据安全,提升数据查询的隐私性。
第二方面,本申请提供了一种数据查询装置,包括:
接收单元,用于接收请求设备的数据查询请求,数据查询请求包括待查询对象的目标标识密文,目标标识密文是对待查询对象的身份标识信息进行加密得到的;
处理单元,用于获取目标标识密文的索引信息;在至少一个数据组中确定目标数据组,各个数据组包括多个查询对象的标识密文以及对应的对象数据,不同数据组中各个查询对象的标识密文的索引信息不同,目标数据组中的任一查询对象的标识密文的索引信息与目标标识密文的索引信息相同;在可信执行环境中,在目标数据组中查找目标标识密文对应的对象数据;
发送单元,用于通过可信执行环境,将查找到的对象数据发送至请求设备。
在一种实现方式中,处理单元还用于对目标标识密文进行加密,得到目标标识密文的哈希值。
在一种实现方式中,处理单元还用于对目标标识密文进行取模运算,得到目标标识密文的余数。
在一种实现方式中,处理单元还用于获取多个查询对象的标识密文以及对应的对象数据;对多个查询对象中各个查询对象的标识密文进行加密,得到各个标识密文的哈希值;将同一哈希值对应的标识密文以及标识密文对应的对象数据划分至同一数据组中,以构建至少一个数据组。
在一种实现方式中,处理单元还用于获取多个查询对象的标识密文以及对应的对象数据;对多个查询对象中各个查询对象的标识密文进行取模运算,得到各个标识密文的余数;将同一余数对应的标识密文以及标识密文对应的对象数据划分至同一数据组中,以构建至少一个数据组。
在一种实现方式中,处理单元还用于在至少一个数据组中查找索引信息与目标标识密文的索引信息相同的标识密文所在的数据组;将查找到的数据组确定为目标数据组;将目标数据组传输至可信执行环境。
在一种实现方式中,目标数据组、目标标识密文以及查找到的对象数据被缓存至可信执行环境的缓存器中;处理单元还用于在将查找到的对象数据发送至请求设备之后,上述方法还包括:从缓存器中删除目标数据组、目标标识密文以及查找到的对象数据。
第三方面,本申请提供了一种数据查询设备,包括处理器,适于实现一条或多条计算机程序;以及计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序由该处理器加载并实现本申请提供的数据查询方法。
第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时使该处理器实现本申请提供的数据查询方法。
第五方面,本申请提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备实现本申请提供的数据查询方法。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据查询方法系统的结构示意图;
图2为本申请实施例提供的一种数据查询方法的流程示意图;
图3为本申请实施例提供的一种可信执行环境的结构示意图;
图4为本申请实施例提供的一种数据查询方法的流程示意图;
图5为本申请实施例提供的另一种数据查询方法的流程示意图;
图6a为本申请实施例提供的一种数据组的结构示意图;
图6b为本申请实施例提供的一种构建数据组的方法示意图;
图6c为本申请实施例提供的另一种数据组的结构示意图;
图7为本申请实施例提供的一种数据查询装置的结果示意图;
图8为本申请实施例提供的一种数据查询设备的结果示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
数据查询业务的应用范围广泛,通常的数据查询方案为:由查询方向服务方发送想要查询的对象的身份信息等查询信息,服务方根据接收到的查询信息,与自身数据库中的数据进行比对,若数据库中存在该查询信息对应的对象数据,则返回此对象的查询数据至查询方。其中,服务方中的数据库中存储有多个对象的查询信息及对象数据。
在对如何提高数据查询的安全隐私问题的研究过程中,本申请提供了一种数据查询方案:查询方向服务方发送想要查询的对象的加密后的查询信息,服务方使用相同的加密方法将自身数据库中多个对象的查询信息进行加密,当接收到查询方发送的加密后的查询信息,则将该查询信息与数据库中的信息进行比对,若数据库中存在此加密后的查询信息,则返回该加密后的查询信息对应的对象数据。
在研究过程中发现,上述数据查询方法在传输的过程中需要确认待查询对象的身份信息,以确保返回与待查询对象对应的数据,存在泄露查询对象的隐私信息的风险,同时服务方也能够识别查询方所查询的对象的身份信息,容易造成查询对象的个人隐私泄露。在查询过程中,若仅对查询对象的查询信息进行加密,在传输过程中保护了查询对象的身份信息,但由于服务方了解查询信息与加密后的查询信息之间的对应关系,从技术角度而言,服务方能够识别查询方所查询的查询对象的身份信息,因此该方法依旧存在泄露个人隐私信息的风险。
基于此,本申请实施例提供了一种数据查询方法,能够使服务方无法得知被查询的对象的身份信息,以避免隐私泄露。该数据查询方法可应用于如图1所示的数据查询系统中。如图1所示,该数据查询系统包括一个或多个请求设备110,以及一台或多台数据查询设备120,请求设备与服务器通过有限网络或无限网络或者专用网络建立通信连接,并进行数据交互。
请求设备110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能家电、智能语音交互设备等智能设备。
请求设备110可用于将待查询对象的身份标识信息进行加密,得到目标标识密文;还可用于向数据查询设备120发送数据查询请求,该数据查询请求包括目标标识密文。此外,请求设备110还可用于接收由可信执行环境发送的对象数据。
数据查询设备120中配置有可信执行环境和数据库。数据查询设备120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器。
上述数据查询方法可由数据查询设备120执行,数据查询设备120可以接收由请求设备110发送的包括目标标识密文的数据查询请求,并获取目标标识密文的索引信息;根据目标标识密文的索引信息,在至少一个数据组中确定目标数据组;数据查询设备120还可用于将目标数据组发送至可信执行环境,从而得到与目标标识密文对应的对象数据,并通过可信执行环境将得到的对象数据发送至请求设备110。
上述数据查询方法中的目标标识密文、数据组、对象数据以及在数据查询过程中产生的目标标识密文的索引信息、目标数据组和查找到的对象数据可以是存储云数据库中,当执行数据查询方法时,数据查询设备从云数据库获取上述数据;或者,数据查询方法中产生的其他数据也可以是存储在区块链中的。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。由于区块链的上述特性使得存储在区块链上的数据不可篡改,保证了数据的安全性。
基于上述数据查询系统,本申请实施例提供的一种数据查询方法。如图2所示,服务方将数据库中的多个查询对象的身份标识信息进行加密得到标识密文,并生成每个标识密文对应的索引信息,根据索引信息构建数据组,每个数据组包括多个查询对象的标识密文以及对应的对象数据,使得不同数据组中各个查询对象的标识密文的索引信息不同,相同数据组中各个查询对象的标识密文的索引信息相同;服务方配置有可信执行环境,当服务方接收到查询方发送的数据查询请求时,根据该查询请求中携带的待查询对象的目标标识密文,生成目标标识密文的索引信息;服务方将数据库中的目标数据组发送至可信执行环境;目标数据组中的任意查询对象的标识密文的索引信息与目标标识密文的索引信息相同;在可信执行环境中,在目标数据组中查找与目标标识密文对应的对象数据,并通过可信执行环境将查找到的与目标标识密文对应的对象数据发送至请求设备。
其中,可信执行环境(Trusted Execution Environment,TEE)是设备主处理器上的一个安全区域,可以保证加载到该环境内部的代码和数据的安全性、机密性以及完整性。TEE可以形成一个隔离的、具有极高安全性的代码执行空间,提供的安全特征包含:隔离执行、可信应用的完整性、可信数据的机密性、安全存储等。可选地,本方案中的可信执行环境可根据英特尔软件防护拓展(Intel Software Guard Extensions,Intel SGX)技术构建。在本申请实施例中,通过可信执行环境,能够使得服务方可以定义一个安全区域,在这一区域中从目标数据组中找到待查询对象的对象数据,并发送至请求设备,使得服务方无法得知请求设备查询的对象是谁,从而维护查询对象的隐私,保障数据安全。
示例性的,图3为本申请实施例提供的一种可信执行环境结构示意图。如图所示,基于Intel SGX技术,可信执行环境关键的技术包括飞地(Enclave)机制,用于提供一个隔离的安全区域,Enclave具有可控的入口点,能够为其中存储的数据和运行的程序提供机密性、完整性保护。因此,在可信执行环境中,根据待查询对象的目标标识密文查找待查询对象的对象数据,能够保证待查询对象的数据安全与个人隐私。
本申请实施例提供的数据查询方法可应用于两个或两个以上的机构间的数据查询服务,尤其适用于一些对个人隐私保护要求高的业务场景中。
示例性的,本申请实施例提供的数据查询方法可应用于反欺诈服务中。随着移动互联网技术的发展,单一功能网站转型多功能平台,线上交易行为可能会受到来自多方的有组织攻击。以金融行业为例,各个环节都存在着被欺诈的可能性。例如,在申请阶段存在恶意逾期、中介代办、团伙欺诈等风险;在交易环节中,常见的有盗卡盗刷、养卡套现,甚至洗钱行为。因此,需要进行反欺诈服务,所谓反欺诈即是对欺诈行为进行识别的一项服务,例如向专业的大数据机构等对用户的信誉信息进行查询,辅助决策是否为用户提供贷款服务。示例性的,基于本申请实施例提供的数据查询方法,请求设备可以向发欺诈服务商(即数据查询设备)发送加密后的待查询对象的身份标识信息,并生成索引信息;在可信执行环境中,根据该索引信息查找到目标数据组,进一步再查找到该索引信息对应的对象数据(例如待查询对象的欺诈评分等数据)返回至请求设备,从而为发欺诈服务提供数据支持。在此过程中,既能保证反欺诈服务商无法识别待查询对象的个人信息,实现隐藏式查询的目标,同时还能够安全、保密地将待查询对象的对象数据返回至请求设备。
本申请实施例提供的数据查询方法还可应用于联邦学习中。其中,联邦学习又称为联邦机器学习,可应用于金融服务、物流、供应链等业务场景。联邦学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。在实际的应用场景中,假设有两个不同的企业A和B,它们拥有不同数据。比如,企业A有对象特征数据;企业B有产品特征数据和标注数据。这两个企业按照一般数据保护条例(General Data Protection Regulation,GDPR)准则是不能直接把双方数据加以合并的。假设A、B双方各自建立一个任务模型,每个任务可以是分类或预测,而这些任务也已经在获得数据时有各自用户的认可。由于数据不完整(例如企业A缺少标签数据,企业B缺少对象特征数据),或者数据不充分(例如数据量不足以建立好的模型),因此,在各端的模型有可能无法建立或效果并不理想。使用联邦学习就可以解决上述问题,使得A、B双方各自的数据存储于本地,通过联邦系统中基于本申请实施例提供的数据查询方法进行可靠的、加密的参数交换,建立一个双方共有的虚拟模型,在不违反数据隐私法规的情况下,在A和B各端建立高质量的模型。
以上对本申请实施例提供的数据查询方法进行了简要介绍,下面对该数据查询方法的具体实现方式进行详细阐述。
可以理解的是,在本申请的具体实施方式中,涉及到目标标识密文、数据组、对象数据以及在数据查询过程中产生的目标标识密文的索引信息、目标数据组和查找到的对象数据等相关的数据,当本申请以上实施例运用到具体产品或技术中时,相关数据均需要获得相关对象的许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
请参阅图4,图4为本申请实施例提供的一种数据查询方法的流程示意图。如图4所示的数据查询方法可应用于数据查询设备,该数据查询方法包括但不限于以下步骤:
S401:接收请求设备的数据查询请求,数据查询请求包括待查询对象的目标标识密文,目标标识密文是对待查询对象的身份标识信息进行加密得到的。
待查询对象可以是请求设备中任一服务中的用户、机构或公司等对象,每个待查询对象的身份标识信息可以是一个或多个标识信息。例如,若请求设备为银行系统中的设备,应用于信贷业务、银行卡发卡业务等场景,则待查询对象可以是银行的储蓄卡或信用卡用户,或者是欲向银行申请办理银行卡的用户等,则该待查询对象的身份标识信息可以为姓名、身份证号码、手机号等个人信息,数据查询请求则可以是用于向数据查询设备请求查询该待查询对象的信誉信息等数据;又如,在租赁业务场景中,待查询对象可以是向租赁机构租借产品的客户,其身份标识信息可以为身份证号码、手机号码、家庭住址等信息,则数据查询请求则可以是用于向数据查询设备请求查询此待查询对象的租借记录、个人信誉评分等数据。可选地,数据查询请求中可包括一个或多个待查询对象的目标标识密文,针对其中的每一个目标标识密文,可以同时或依次执行步骤S402,本申请对此不做限定。
请求设备中配置有加密服务,能够根据预设的加密方式对待查询对象的身份标识信息进行加密。其中,预设加密方式与数据查询设备使用的加密方式是相同的,请求设备和数据查询设备可以事先约定双方将使用的加密方式。可选的,为了进一步加强数据安全,请求设备和数据查询设备可以通过可信渠道,如电话、邮件、USB、光盘等渠道,约定预设加密方式。
可选的,预设加密方式可以为通过哈希函数进行加密。哈希函数(Hash)又称为散列函数,能够把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值或哈希值。哈希函数或散列函数是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。对于哈希函数而言,相同的输入一定会得到相同的输出,而不同的输入也可能会生成相同的输出,因此不可能根据哈希值确定唯一的输入值,即通过哈希函数对数据进行加密,是一种不可逆的加密方式。在本申请实施例中,预设加密方式所采用的哈希函数可以为信息摘要算法5(Message-Digest Algorithm 5,MD5)、安全散列算法256(SecureHashAlgorithm 256,SHA256)等算法。其中,MD5是输入不定长度信息,输出固定长度128比特的算法。经过程序流程,生成四个32位数据,最后联合起来成为一个128比特散列。
示例性的,请参阅表1,表1中展示了几种不同的输入(包括数值数据和文字数据)通过上述MD5算法得到的输出。
表1哈希加密算法示意表格
输入 | 输出 |
123456 | e10adc3949ba59abbe56e057f20f883e |
2275692 | 5606e85f88fe0895f12f280f24bd1ce3 |
广东省 | ab5cbe45a4512c19409460038b1cc17b |
北京市 | a8e56248e6af321cd989f97420bfa01a |
需要说明的是,上述MD5、SHA256等哈希函数理论上可能会出现碰撞,即不同的输入可能会得到相同的输出。在实际的使用过程中,以MD5为例,输出的数据为十六进制的32位数据,每一位数字的取值存在2128种可能,碰撞概率极小,因此可以忽略不计。
在一种实现方式中,当数据查询设备接收到请求设备发送的数据查询请求后,可以对请求设备进行身份鉴权。其中,进行身份鉴权可以为基于共享密钥的身份验证、基于生物学特征的身份验证和基于公开密钥加密算法的身份验证等多种方式。若请求设备未通过身份鉴权,则丢弃接收到的数据查询请求;若请求设备通过身份鉴权,则执行步骤S402。
S402:获取目标标识密文的索引信息。
目标标识密文的索引信息是根据目标标识密文进行二次加密、取模运算等方式进行数据映射,使得多个不同的输入数据通过数据映射后,能够得到相同的数值。因此,在数据查询设备中,若存储了待查询对象的数据,则也会存储待查询对象的目标标识密文的索引信息。
在一种实现方式中,获取目标标识密文的索引信息的方式可以是通过对目标标识密文进行加密,得到目标标识密文的哈希值,将该哈希值作为目标标识密文的索引信息。在此过程中,可以利用上述MD5、SHA256等哈希函数,人为地制造碰撞,使得不同的输入也能得到相同的输出。
在一种实现方式中,获取目标标识密文的索引信息的方式可以是通过对目标标识密文进行取模运算,得到目标标识密文的余数,将得到的余数作为目标标识密文的索引信息。
在一种实现方式中,获取目标标识密文的索引信息可以是在可信执行环境中执行的,使得数据查询设备无法定位待查询对象的索引信息,从而无法得知待查询对象的身份信息,进一步地加强了对隐私信息的保护和数据安全性。
需要说明的是,获取数据库中各个标识密文的索引信息所采用的方法与获取目标标识密文对应的索引信息所采用的方法需保持一致,如此才能保证数据查询服务的顺利执行。
在一种实现方式中,若查询设备的数据库中不存在与目标标识密文的索引信息相同的索引信息,则说明该查询设备中不存在待查询对象的相关数据或者请求设备发送的数据查询请求有误,可以向请求设备发送指示信息,用于指示请求设备此次数据查询请求失败,提示请求设备重新发送数据查询请求。若请求设备发送的数据查询请求中包括了多个待查询对象的目标标识密文,在数据组中只能查找到与其中一部分目标标识密文(记作A组)的目标数据组,而无法在数据组中查找到另一部分目标标识密文(记作B组)对应的目标数据组,则可以根据A组继续执行步骤S403,而针对B组,则可向请求设备发送指示信息,指示请求设备针对B组的数据查询服务请求失败。
S403:在至少一个数据组中确定目标数据组,各个数据组包括多个查询对象的标识密文以及对应的对象数据,不同数据组中各个查询对象的标识密文的索引信息不同,目标数据组中的任一查询对象的标识密文的索引信息与目标标识密文的索引信息相同。
在本申请中,数据查询设备的数据库中存储有一个或多个数据组,每个数据组包括了多个查询对象的标识密文和对应的对象数据,每个数据组对应了一个索引信息,不同数据组中各个查询对象的标识密文的索引信息不同。在数据组中查找索引信息与目标标识密文的索引信息相同的标识密文所在的数据组,表明待查询对象的目标标识密文以及对应的对象数据被划分在了该数据组。将查找到的数据组确定为目标数据组,并将目标数据组传输至可信执行环境。其中,传输至可信执行环境的数据中包括了该目标数据组中的所有查询对象的标识密文以及对应的对象数据。
可见,当查找到目标数据组后,后续的数据查询步骤将在可信执行环境中进行,使得数据查询设备无法得知待查询对象的身份信息,从而保护了待查询对象的个人隐私。
S404:在可信执行环境中,在目标数据组中查找目标标识密文对应的对象数据。
在可信执行环境中,目标数据组及目标数据组中的数据可缓存于其中。目标数据组中包括了多个查询对象的标识密文以及对应的对象数据。根据目标标识密文,在目标数据组中的多个标识密文中查找与目标标识密文相同的标识密文,进一步地,查找与目标标识密文相同的标识密文对应的对象数据,则查找的对象数据即为待查询对象的对象数据。
S405:通过可信执行环境,将查找到的对象数据发送至请求设备。
在本申请中,发送查找到的对象数据是与待查询对象对应的数据,确保了发送至请求设备的数据是所需的数据,且不会发送非必要的、未授权的数据,保护了数据的机密性和完整性。此外,发送过程是通过可信执行环境直接发送至请求设备,对数据查询设备来说该过程是隔离的、保密的,因此,可以确保数据查询设备无法识别待查询对象的身份信息,实现隐藏身份式的查询目标。
在一种实现方式中,目标数据组、目标标识密文以及查找到的对象数据在数据查询的过程中,被缓存至可信执行环境的缓存器中。当可信执行环境将查找到的对象数据发送至请求设备后,可信执行环境会将目标数据组、目标标识密文以及查找到的对象数据从缓存器中删除,从而维护待查询对象的隐私与数据安全。
可见,通过本申请实施例提供的数据查询方法,采取加密待查询对象的身份标识信息的方式,结合分组技术以及可信执行环境提供的安全区域,从目标数据组中查找对象数据的步骤在可信执行环境中执行,使得数据查询设备仅可得知被查者所属的数据组,而无法准确识别被查询者,即待查询对象的身份个人信息,实现被查者身份隐匿的目标,同时又能返回给请求设备所需的待查询对象的准确数据,避免数据查询设备发送非必要的数据(例如数据库中其他对象的数据),保障了数据查询的数据安全,以及对查询对象的隐私保护。
请参阅图5,图5为本申请实施例提供的另一种数据查询方法的流程示意图。如图5所示的数据查询方法可应用于数据查询设备,该数据查询方法包括但不限于以下步骤:
S501:将数据库中的多个查询对象的身份标识信息进行加密,得到各个查询对象的标识密文。
其中,数据库中查询对象可以是数据查询设备支持的任一业务中的用户、机构或公司等。数据查询设备中包括了一个或多个数据库。可选地,该数据库可以采用关系型数据库,如Oracle、MySQL等数据库;或者采用key-value型数据库,如Redis、MongoDB等数据库。
数据查询设备中配置有加密服务,可将数据库中存储的多个查询对象的身份标识信息,并按照与请求设备所采用的加密方式一致的预设加密方式,将每个身份标识信息进行加密处理,得到每个查询对象的标识密文。将各个查询对象的标识密文、与各个标识密文对应的对象数据,以及每个查询对象的标识密文与其对应的对象数据的对应关系存储于数据库中。可选地,进行加密处理的步骤可在可信执行环境中进行。
S502:对多个查询对象中各个查询对象的标识密文进行处理,得到各个标识密文的索引信息。
各个查询对象的标识密文的索引信息是根据标识密文进行二次加密、取模运算等方式进行数据映射,使得多个不同的输入数据通过数据映射后,能够得到相同的数值。
在一种实现方式中,获取标识密文的索引信息的方式可以是通过对标识密文进行加密,得到标识密文的哈希值,将该哈希值作为目标标识密文的索引信息。在此过程中,可以利用上述MD5、SHA256等哈希函数,人为地制造碰撞,使得不同的输入也能得到相同的输出。
在一种实现方式中,获取标识密文的索引信息的方式可以是通过对标识密文进行取模运算,得到标识密文的余数,将得到的余数作为标识密文的索引信息。
S503:将同一索引信息对应的标识密文以及标识密文对应的对象数据划分至同一数据组中,以构建至少一个数据组。
在一种实现方式中,若在步骤S502中采取的是通过对标识密文进行加密得到哈希值,将各个哈希值作为各个标识密文对应的索引信息的方式,由于人为地进行了碰撞处理,使得输入多个标识密文(包括相同的标识密文与不相同的标识密文),会产生相同的哈希值与互不相同的哈希值。基于此,可将同一哈希值对应的标识密文以及标识密文对应的对象数据划分至同一数据组中,以构建数据组,则每个数据组中包括多个查询对象的标识密文以及与标识密文对应的对象数据。同一个数据组中的任一查询对象的标识密文的索引信息均相同,属于不同数据组中的各个查询对象的标识密文的索引信息互不相同。其中,数据组的总数小于待查询对象的数目。
可选地,在一个数据组中有每个查询对象的标识密文、标识密文对应的对象数据、标识密文对应的索引信息,以及每个查询对象的上述三种数据之间的对应关系均存储于其所属的数据组中。示例性的,数据组中的数据的排列方式可参阅如图6a所示的示意图。
示例性的,请参阅图6b,图6b为根据标识密文的哈希值进行分组的示意图。首先根据标识密文A-F生成标识密文各自对应的哈希值1、2、3,并将哈希值为1的标识密文A和E划分至同一数据组①;将哈希值为2的标识密文C和D划分至同一数据组②;将哈希值为3的标识密文B和F划分至统一数据组③。
可选地,在一个数据组中有每个查询对象的标识密文、标识密文对应的对象数据,以及每个查询对象的标识密文和该标识密文对应的对象数据之间的对应关系;每一个数据组对应一个索引信息,数据组对应的索引信息为该数据组中任一标识信息对应的索引信息。示例性的,数据组中的数据的排列方式和数据组与索引信息的对应关系可以参阅如图6c的示意图。
在一种实现方式中,若在步骤S502中采取的是通过对标识密文进行取模运算得到余数,将各个余数作为各个标识密文对应的索引信息的方式,则根据取模运算的原理,输入多个不同的或相同的标识密文,会产生相同的余数与互不相同的余数。基于此,可将同一余数对应的标识密文以及标识密文对应的对象数据划分至同一数据组中,以构建数据组,则每个数据组中包括多个查询对象的标识密文以及与标识密文对应的对象数据。其中,数据组的总数小于待查询对象的数目。
S504:接收请求设备的数据查询请求,数据查询请求包括待查询对象的目标标识密文。
请求设备中配置有加密服务,能够根据预设的加密方式对待查询对象的身份标识信息进行加密,得到待查询对象的目标标识密文。其中,预设加密方式与数据查询设备使用的加密方式是相同的,请求设备和数据查询设备可以事先约定双方将使用的加密方式。
S505:获取目标标识密文的索引信息。
基于上述获取数据库中各个标识密文的索引信息的方法,可选地,可对标识密文进行加密得到目标标识密文的哈希值,将得到的哈希值作为目标标识密文的索引信息。可选地,还可对目标标识密文进行取模运算,得到余数,将得到的余数作为目标标识密文的索引信息。
在一种实现方式中,获取目标标识密文的步骤可以是在可信执行环境中执行的,使得数据查询设备无法定位待查询对象的索引信息,从而无法得知待查询对象的身份信息,进一步地加强了对隐私信息的保护和数据安全性。
需要说明的是,获取目标标识密文对应的索引信息所采用的方法与获取数据库中各个标识密文的索引信息所采用的方法需保持一致,如此才能保证数据查询服务的顺利执行。
在一种实现方式中,若查询设备的数据库中不存在与目标标识密文的索引信息相同的索引信息,则说明该查询设备中不存在待查询对象的相关数据或者请求设备发送的数据查询请求有误,可以向请求设备发送指示信息,用于指示请求设备此次数据查询请求失败,提示请求设备重新发送数据查询请求。若请求设备发送的数据查询请求中包括了多个待查询对象的目标标识密文,在数据组中只能查找到与其中一部分目标标识密文(记作A组)的目标数据组,而无法在数据组中查找到另一部分目标标识密文(记作B组)对应的目标数据组,则可以根据A组继续执行步骤S506,而针对B组,则可向请求设备发送指示信息,指示请求设备针对B组的数据查询服务请求失败。
S506:在至少一个数据组中确定目标数据组并传输至可信执行环境,目标数据组中的任一查询对象的标识密文的索引信息与目标标识密文的索引信息相同。
在本申请中,若数据库中存储有待查询对象的对象数据,则存在目标数据组。在数据库中的数据组中根据目标标识密文的索引信息进行查找,将查找到的数据组确定为目标数据组,并将目标数据组传输至可信执行环境,由可信执行环境中的缓存器进行缓存。其中,传输至可信执行环境的数据中包括了该目标数据组中的所有查询对象的标识密文以及对应的对象数据。
S507:在可信执行环境中,在目标数据组中查找目标标识密文对应的对象数据。
目标数据组中包括了多个查询对象的标识密文以及对应的对象数据。在可信执行环境的缓存器中,根据目标标识密文,在目标数据组中的多个标识密文中查找与目标标识密文相同的标识密文,进一步地,查找与目标标识密文相同的标识密文对应的对象数据,则查找的对象数据即为待查询对象的对象数据。
S508:通过可信执行环境,将查找到的对象数据发送至请求设备。
需要说明的是,此发送过程是通过可信执行环境执行的,发送的对象数据于数据查询设备而言是未知的,因此,数据查询设备无法得知查找到的对象数据的具体内容,也无法得知查找的对象数据是属于哪一个查询对象的,从而能够维护待查询对象的隐私和数据安全。
S509:删除可信执行环境中的缓存数据,缓存数据包括目标数据组、目标标识密文以及查找到的对象数据。
在数据查询的过程中产生的数据,如目标数据组、目标标识密文以及查找到的对象数据等均可以以缓存数据的形式,缓存与可信执行环境的缓存器中。当查找的对象数据已成功发送至请求设备后,将可信执行环境中的缓存数据删除,能够维护待查询对象的隐私与数据安全。
需要说明的是,基于同一发明构思,上述方式中数据查询方法的技术细节与原理可以参见S401-S405中的技术细节与原理,为简洁描述,在这里不再赘述。
请参阅图7,图7为本申请实施例提供的一种数据查询装置的结果示意图。如图7所示,数据查询装置包括接收单元710,处理单元720和发送单元730。其中:
接收单元710,用于接收请求设备的数据查询请求,数据查询请求包括待查询对象的目标标识密文,目标标识密文是对待查询对象的身份标识信息进行加密得到的;
处理单元720,用于获取目标标识密文的索引信息;在至少一个数据组中确定目标数据组,各个数据组包括多个查询对象的标识密文以及对应的对象数据,不同数据组中各个查询对象的标识密文的索引信息不同,目标数据组中的任一查询对象的标识密文的索引信息与目标标识密文的索引信息相同;在可信执行环境中,在目标数据组中查找目标标识密文对应的对象数据;
发送单元730,用于通过可信执行环境,将查找到的对象数据发送至请求设备。
在一种实现方式中,处理单元720还用于对目标标识密文进行加密,得到目标标识密文的哈希值。
在一种实现方式中,处理单元720还用于对目标标识密文进行取模运算,得到目标标识密文的余数。
在一种实现方式中,处理单元720还用于获取多个查询对象的标识密文以及对应的对象数据;对多个查询对象中各个查询对象的标识密文进行加密,得到各个标识密文的哈希值;将同一哈希值对应的标识密文以及标识密文对应的对象数据划分至同一数据组中,以构建至少一个数据组。
在一种实现方式中,处理单元720还用于获取多个查询对象的标识密文以及对应的对象数据;对多个查询对象中各个查询对象的标识密文进行取模运算,得到各个标识密文的余数;将同一余数对应的标识密文以及标识密文对应的对象数据划分至同一数据组中,以构建至少一个数据组。
在一种实现方式中,处理单元720还用于在至少一个数据组中查找索引信息与目标标识密文的索引信息相同的标识密文所在的数据组;将查找到的数据组确定为目标数据组;将目标数据组传输至可信执行环境。
在一种实现方式中,目标数据组、目标标识密文以及查找到的对象数据被缓存至可信执行环境的缓存器中;处理单元720还用于在将查找到的对象数据发送至请求设备之后,上述方法还包括:从缓存器中删除目标数据组、目标标识密文以及查找到的对象数据。
根据本申请的一个实施例,图4和图5所示的数据查询方法中所涉及的步骤可由图7所示的数据查询装置中的各个单元来执行。例如,图4中所示的步骤S401,以及图5所示的步骤S504可由图7中的接收单元710来执行,图4中所示的步骤S402、步骤403和步骤S404,以及图5所示的步骤S501-S503,步骤S505-S507和步骤S509可由图7中的处理单元720来执行;图4中所示的步骤S405和图5中所示的步骤S508可由图7中的发送单元730来执行。
根据本申请的一个实施例,图7所示的数据查询装置中的各个单元可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,数据查询装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
可以理解的是,本申请实施例所描述的数据查询装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可见,通过本申请实施例提供的数据查询方法,采取加密的方式,结合分组技术以及可信执行环境提供的安全区域,能够实现对数据查询设备隐藏待查询对象的身份信息,同时保证返回至请求设备的对象数据为其所需的数据,保护了数据的机密性和完整性。
请参阅图8,图8为本申请实施例提供的一种数据查询设备的结构示意图。如图8所示,本申请实施例中所描述的数据查询设备用于执行前文所述的图像检测方法,包括:处理器810、通信接口820及存储器830。其中,处理器810、通信接口820及存储器830可通过总线或其他方式连接,本申请实施例以通过总线连接为例。
其中,处理器810(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其可以解析计算机设备内的各类指令以及处理计算机设备的各类数据,例如:CPU可以用于解析向计算机设备所发送的开关机指令,并控制计算机设备进行开关机操作;再如:CPU可以在计算机设备内部结构之间传输各类交互数据,等等。通信接口820可选的可以包括标准的有线接口、无线接口(如Wi-Fi、移动通信接口等),受处理器810的控制用于收发数据。存储器830(Memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器830既可以包括计算机设备的内置存储器,当然也可以包括计算机设备所支持的扩展存储器。存储器830提供存储空间,该存储空间存储了计算机设备的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本申请对此并不作限定。
在本申请实施例中,处理器810通过运行存储器830中的可执行程序代码,执行如下操作:
接收请求设备的数据查询请求,数据查询请求包括待查询对象的目标标识密文,目标标识密文是对待查询对象的身份标识信息进行加密得到的;获取目标标识密文的索引信息;在至少一个数据组中确定目标数据组,各个数据组包括多个查询对象的标识密文以及对应的对象数据,不同数据组中各个查询对象的标识密文的索引信息不同,目标数据组中的任一查询对象的标识密文的索引信息与目标标识密文的索引信息相同;在可信执行环境中,在目标数据组中查找目标标识密文对应的对象数据;通过可信执行环境,将查找到的对象数据发送至请求设备。
在一种实现方式中,处理器810通过运行存储器830中的可执行程序代码,还可以执行如下操作:对目标标识密文进行加密,得到目标标识密文的哈希值。
在一种实现方式中,处理器810通过运行存储器830中的可执行程序代码,还可以执行如下操作:对目标标识密文进行取模运算,得到目标标识密文的余数。
在一种实现方式中,处理器810通过运行存储器830中的可执行程序代码,还可以执行如下操作:获取多个查询对象的标识密文以及对应的对象数据;对多个查询对象中各个查询对象的标识密文进行加密,得到各个标识密文的哈希值;将同一哈希值对应的标识密文以及标识密文对应的对象数据划分至同一数据组中,以构建至少一个数据组。
在一种实现方式中,处理器810通过运行存储器830中的可执行程序代码,还可以执行如下操作:获取多个查询对象的标识密文以及对应的对象数据;对多个查询对象中各个查询对象的标识密文进行取模运算,得到各个标识密文的余数;将同一余数对应的标识密文以及标识密文对应的对象数据划分至同一数据组中,以构建至少一个数据组。
在一种实现方式中,处理器810通过运行存储器830中的可执行程序代码,还可以执行如下操作:在至少一个数据组中查找索引信息与目标标识密文的索引信息相同的标识密文所在的数据组;将查找到的数据组确定为目标数据组;将目标数据组传输至可信执行环境。
在一种实现方式中,目标数据组、目标标识密文以及查找到的对象数据被缓存至可信执行环境的缓存器中;处理器810通过运行存储器830中的可执行程序代码,还可以执行如下操作:在将查找到的对象数据发送至请求设备之后,上述方法还包括:从缓存器中删除目标数据组、目标标识密文以及查找到的对象数据。
可见,通过本申请实施例提供的数据查询方法,采取加密的方式,结合分组技术以及可信执行环境提供的安全区域,能够实现对数据查询设备隐藏待查询对象的身份信息,同时保证返回至请求设备的对象数据为其所需的数据,保护了数据的机密性和完整性。
本申请还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据查询装置所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图4和图5所对应实施例中对数据查询方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
作为示例,上述程序指令可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。
上述计算机可读存储介质可以是前述任一实施例提供的数据查询装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前文图5对应实施例中对上述数据查询方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据查询设备的处理器以产生一个机器,使得通过计算机或其他可编程数据查询设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据查询设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据查询设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (11)
1.一种数据查询方法,其特征在于,所述方法包括:
接收请求设备的数据查询请求,所述数据查询请求包括待查询对象的目标标识密文,所述目标标识密文是对所述待查询对象的身份标识信息进行加密得到的;
获取所述目标标识密文的索引信息;
在至少一个数据组中确定目标数据组,各个数据组包括多个查询对象的标识密文以及对应的对象数据,不同数据组中各个查询对象的标识密文的索引信息不同,所述目标数据组中的任一查询对象的标识密文的索引信息与所述目标标识密文的索引信息相同;
在可信执行环境中,在所述目标数据组中查找所述目标标识密文对应的对象数据;
通过所述可信执行环境,将查找到的对象数据发送至所述请求设备。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标标识密文的索引信息,包括:
对所述目标标识密文进行加密,得到所述目标标识密文的哈希值。
3.根据权利要求1所述的方法,其特征在于,所述获取所述目标标识密文的索引信息,包括:
对所述目标标识密文进行取模运算,得到所述目标标识密文的余数。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取多个查询对象的标识密文以及对应的对象数据;
对所述多个查询对象中各个查询对象的标识密文进行加密,得到各个标识密文的哈希值;
将同一哈希值对应的标识密文以及所述标识密文对应的对象数据划分至同一数据组中,以构建所述至少一个数据组。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取多个查询对象的标识密文以及对应的对象数据;
对所述多个查询对象中各个查询对象的标识密文进行取模运算,得到各个标识密文的余数;
将同一余数对应的标识密文以及所述标识密文对应的对象数据划分至同一数据组中,以构建所述至少一个数据组。
6.根据权利要求1所述的方法,其特征在于,所述在至少一个数据组中确定目标数据组,包括:
在至少一个数据组中查找索引信息与所述目标标识密文的索引信息相同的标识密文所在的数据组;
将查找到的数据组确定为所述目标数据组;
将所述目标数据组传输至所述可信执行环境。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述目标数据组、所述目标标识密文以及所述查找到的对象数据被缓存至所述可信执行环境的缓存器中;
所述将查找到的对象数据发送至所述请求设备之后,还包括:
从所述缓存器中删除所述目标数据组、所述目标标识密文以及所述查找到的对象数据。
8.一种数据查询装置,其特征在于,所述装置包括:
接收单元,用于接收请求设备的数据查询请求,所述数据查询请求包括待查询对象的目标标识密文,所述目标标识密文是对所述待查询对象的身份标识信息进行加密得到的;
处理单元,用于获取所述目标标识密文的索引信息;在至少一个数据组中确定目标数据组,各个数据组包括多个查询对象的标识密文以及对应的对象数据,不同数据组中各个查询对象的标识密文的索引信息不同,所述目标数据组中的任一查询对象的标识密文的索引信息与所述目标标识密文的索引信息相同;在可信执行环境中,在所述目标数据组中查找所述目标标识密文对应的对象数据;
发送单元,用于通过所述可信执行环境,将查找到的对象数据发送至所述请求设备。
9.一种数据查询设备,其特征在于,包括:
处理器,适于实现一条或多条计算机程序;以及,
计算机存储介质,所述计算机存储介质存储由一条或多条计算机程序,所述一条或多条计算机程序由所述处理器加载并实现如权利要求1-7任一项所述的数据查询方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-7任一项所述的数据查询方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机存储介质中,所述计算机程序被处理器执行时用于实现如权利要求1-7任一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210799633.8A CN117407907A (zh) | 2022-07-08 | 2022-07-08 | 数据查询方法、装置、设备、存储介质及计算机产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210799633.8A CN117407907A (zh) | 2022-07-08 | 2022-07-08 | 数据查询方法、装置、设备、存储介质及计算机产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117407907A true CN117407907A (zh) | 2024-01-16 |
Family
ID=89487633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210799633.8A Pending CN117407907A (zh) | 2022-07-08 | 2022-07-08 | 数据查询方法、装置、设备、存储介质及计算机产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407907A (zh) |
-
2022
- 2022-07-08 CN CN202210799633.8A patent/CN117407907A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220321359A1 (en) | Methods and systems for ownership verification using blockchain | |
US11057366B2 (en) | Federated identity management with decentralized computing platforms | |
CN110555029B (zh) | 基于区块链的票务管理方法、装置及存储介质 | |
US20180160255A1 (en) | Nfc tag-based web service system and method using anti-simulation function | |
CN109862041A (zh) | 一种数字身份认证方法、设备、装置、系统及存储介质 | |
CN111464499A (zh) | 电子仓单溯源方法、装置、计算机设备及存储介质 | |
US20210352088A1 (en) | Centralized threat intelligence | |
CN106878318A (zh) | 一种区块链实时轮询云端系统 | |
CN113056741A (zh) | 基于分布式账本的简档验证 | |
CN104715187A (zh) | 用于认证电子通信系统中的节点的方法和装置 | |
WO2018156288A1 (en) | Systems, devices, and methods for in-field authenticating of autonomous robots | |
US20210241270A1 (en) | System and method of blockchain transaction verification | |
CN111161056A (zh) | 一种提高数字资产交易安全性的方法、系统及设备 | |
CN113569263A (zh) | 跨私域数据的安全处理方法、装置及电子设备 | |
CN109726578A (zh) | 一种新型动态二维码防伪解决办法 | |
CN116226289A (zh) | 基于区块链的电子凭证管理方法、装置、设备及存储介质 | |
Zhang et al. | Industrial Internet federated learning driven by IoT equipment ID and blockchain | |
CN110610418B (zh) | 基于区块链的交易状态查询方法、系统、设备及存储介质 | |
WO2018164673A1 (en) | Data message authentication based on a random number | |
CN113328860A (zh) | 一种基于区块链的用户隐私数据安全提供方法 | |
CN110598479B (zh) | 一种数据处理方法、装置以及计算机可读存储介质 | |
CN109547404B (zh) | 数据的获取方法及服务器 | |
CN114117388A (zh) | 设备注册方法、设备注册装置、电子设备以及存储介质 | |
CN117407907A (zh) | 数据查询方法、装置、设备、存储介质及计算机产品 | |
CN116055051A (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 |