1.本发明涉及数据查询领域,特别是涉及一种数据查询方法、相关装置和介质。
背景技术:
2.随着数据时代发展,隐私数据越来越受人们关注,大家对隐私保护越来越强烈。为了满足人们日常检索的需求,密文查询已经广泛使用在检索技术领域。
3.现有的密文查询方法的缺点:
4.1、查询者的查询条件被泄露,查询者的查询数据也是隐私数据,目前密文计算方法都是保障源数据的隐私,忽视了查询者的查询条件数据也是隐私数据,因此查询者的数据通常都有被泄密的风险;
5.2、由于数据需要加密运算,密文运算效率低,因此查询效率很低;
6.3、目前的密文计算都是在密文计算平台运算,即数据查询方需发送查询目标值密文计算平台,导致数据离开本地,易发生泄露的问题。
7.针对相关技术中存在密文查询存在查询条件数据泄露,溢价查询效率低的问题,目前还没有提出有效的解决方案。
技术实现要素:
8.鉴于上述状况,有必要针对现有技术中密文查询存在查询条件数据泄露,溢价查询效率低的问题,提供一种数据查询方法、相关装置和介质。
9.一种数据查询方法,包括:
10.对原始数据集开放的字段内容进行加密,得到第一加密数据;
11.将所述第一加密数据进行哈希运算得到第一哈希值,并发送所述第一哈希值至平台;
12.接收所述平台基于所述第一哈希值与第二哈希值进行哈希碰撞之后的结果值,所述第二哈希值为所述平台基于数据获益终端输入的查询信息进行加密后再进行哈希运算得到的值;
13.根据所述结果值查询所述原始数据集,得到查询后的结果集,并将所述结果集进行加密后通过所述平台返回给所述数据获益终端。
14.进一步的,上述数据查询方法,其中,所述对原始数据集开放的字段内容进行加密,得到第一加密数据的步骤包括:
15.获取平台发送的第一加密密钥,所述第一加密密钥为对称密钥通过第一公钥进行加密后的密钥;
16.利用所述第一公钥对应的私钥对所述第一加密密钥进行解密,得到所述对称密钥;
17.利用所述对称密钥对原始数据集开放的字段内容进行加密,得到第一加密数据。
18.进一步的,上述数据查询方法,其中,所述将所述结果集进行加密后通过所述平台
返回给所述数据获益终端的步骤包括:
19.获取所述平台发送的第二公钥,所述第二公钥为所述数据获益终端的密钥;
20.利用第二公钥对所述对称密钥进行加密,得到第二加密密钥,并用所述对称密钥对所述结果集进行加密,得到第三加密数据;
21.将所述第二加密密钥和所述第三加密数据发送至所述平台,以使所述平台返回至所述数据获益终端。
22.进一步的,上述数据查询方法,其中,所述根据所述结果值查询所述原始数据集的步骤包括:
23.根据所述结果值确定所述字段内容,并根据所述字段内容查询所述原始数据集中对应的整行数据。
24.进一步的,上述数据查询方法,其中,所述对原始数据集开放的字段内容进行加密的步骤之前还包括:
25.上传原始数据集,并获取可被查询的字段内容;
26.将所述字段内容进行上架,以触发自动化脚本,通过所述脚本向平台请求下发密钥。
27.本发明还提供了另一种数据查询方法,包括:
28.获取数据提供终端发送的第一哈希值,所述第一哈希值为所述数据提供终端对原始数据集开放的字段内容加密,并进行哈希运算后的值;
29.获取数据获益终端发送的查询信息,并对所述查询信息进行加密和哈希运算后,得到第二哈希值;
30.所述第一哈希值与第二哈希值进行哈希碰撞,并发送碰撞结果至所述数据提供终端;
31.接收所述数据提供终端发送的第三加密数据,所述第三加密数据为所述数据提供终端对根据所述结果值查询到的结果集进行加密后的数据;
32.返回所述第三加密数据至所述数据获益终端,以使所述数据获益终端对所述第三加密数据进行解密,得到所述结果集。
33.进一步的,上述数据查询方法,其中,所述原始数据集开放的字段内容采用对称密钥进行加密,所述第三加密数据为所述结果集通过所述对称密钥加密后的数据,所述接收所述数据提供终端发送的第三加密数据的步骤之前还包括:
34.获取所述数据提供终端发送的密钥请求,并基于所述密钥请求发送第二公钥至所述数据提供终端,以使所述数据提供终端利用所述第二公钥对所述对称密钥进行加密,得到第二加密密钥,所述第二公钥为所述数据获益终端的公钥;
35.所述接收所述数据提供终端发送的第三加密数据的步骤还包括:
36.接收所述数据提供终端发送的所述第二加密密钥,所述第二加密密钥为所述对称密钥通过所述第二公钥进行加密后的密钥;
37.所述返回所述第三加密数据至所述数据获益终端的步骤包括:
38.返回所述第二加密密钥和所述第三加密数据发送至所述数据获益终端,以使所述数据获益终端基于所述第二公钥对应的私钥对所述第二加密密钥进行解密,以得到到所述对称密钥,并利用所述对称密钥对所述第三加密数据进行解密,以得到所述结果集。
39.本发明实施例还提供了一种数据查询装置,包括:
40.第一加密模块,用于对原始数据集开放的字段内容进行加密,得到第一加密数据;
41.计算模块,将所述第一加密数据进行哈希运算得到第一哈希值,并发送所述第一哈希值至平台;
42.第一获取模块,用于接收所述平台基于所述第一哈希值与第二哈希值进行哈希碰撞之后的结果值,所述第二哈希值为所述平台基于数据获益终端输入的查询信息进行加密后再进行哈希运算得到的值;
43.查询模块,用于根据所述结果值查询所述原始数据集,得到查询后的结果集,并将所述结果集进行加密后通过所述平台返回给所述数据获益终端。
44.进一步的,上述数据查询装置,其中,所述第一加密模块包括:
45.第一获取单元,用于获取平台发送的第一加密密钥,所述第一加密密钥为对称密钥通过第一公钥进行加密后的密钥;
46.解密单元,用于利用所述第一公钥对应的私钥对所述第一加密密钥进行解密,得到所述对称密钥;
47.第一加密单元,用于利用所述对称密钥对原始数据集开放的字段内容进行加密,得到第一加密数据。
48.进一步的,上述数据查询装置,其中,所述查询模块包括:
49.第二获取单元,用于获取所述平台发送的第二公钥,所述第二公钥为所述数据获益终端的密钥;
50.第二加密单元,用于利用第二公钥对所述对称密钥进行加密,得到第二加密密钥,并用所述对称密钥对所述结果集进行加密,得到第三加密数据;
51.发送单元,用于将所述第二加密密钥和所述第三加密数据发送至所述平台,以使所述平台返回至所述数据获益终端。
52.进一步的,上述数据查询装置,还包括:
53.设置模块,用于上传原始数据集,并获取可被查询的字段内容;
54.上架模块,用于将所述字段内容进行上架,以触发自动化脚本,通过所述脚本向平台请求下发密钥。
55.本发明还提供了另一种数据查询装置,包括:
56.第二获取模块,用于获取数据提供终端发送的第一哈希值,所述第一哈希值为所述数据提供终端对原始数据集开放的字段内容加密,并进行哈希运算后的值;
57.第二加密模块,用于获取数据获益终端发送的查询信息,并对所述查询信息进行加密和哈希运算后,得到第二哈希值;
58.哈希碰撞模块,用于所述第一哈希值与第二哈希值进行哈希碰撞,并发送碰撞结果至所述数据提供终端;
59.第一接收模块,用于接收所述数据提供终端发送的第三加密数据,所述第三加密数据为所述数据提供终端对根据所述结果值查询到的结果集进行加密后的数据;
60.第一发送模块,用于返回所述第三加密数据至所述数据获益终端,以使所述数据获益终端对所述第三加密数据进行解密,得到所述结果集。
61.进一步的,上述数据查询装置,其中,所述原始数据集开放的字段内容采用对称密
钥进行加密,所述第三加密数据为所述结果集通过所述对称密钥加密后的数据,所述数据查询装置还包括:
62.第二发送模块,用于根据所述数据提供终端发送的密钥请求发送第二公钥至所述数据提供终端,以使所述数据提供终端利用所述第二公钥对所述对称密钥进行加密,得到第二加密密钥,所述第二公钥为所述数据获益终端的公钥;
63.所述数据查询装置还包括:
64.第二接收模块,用于接收所述数据提供终端发送的所述第二加密密钥,所述第二加密密钥为所述对称密钥通过所述第二公钥进行加密后的密钥;
65.所述第一发送模块用于将所述第二加密密钥和所述第三加密数据发送至所述数据获益终端,以使所述数据获益终端基于所述第二公钥对应的私钥对所述第二加密密钥进行解密,以得到到所述对称密钥,并利用所述对称密钥对所述第三加密数据进行解密,以得到所述结果集。
66.本发明还提供了一种数据提供终端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现上述所述的方法。
67.本发明还提供了一种平台,包括存储器、处理器以及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现上述的方法。
68.本发明还提供了一种可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现上述任一所述的方法。
69.本发明中,数据提供终端通过对原数据集开放的字段列内容进行加密后,再进行哈希运算得到第一哈希值,上传到平台。数据查询方,根据自身需求,输入查询信息,平台进行加密后,再运用哈希运算得到第二哈希值。通过第一哈希值和第二哈希值进行哈希碰撞,得出碰撞结果,将结果返回给数据提供终端,数据提供终端根据结果值判断,将查询结果共享给数据获益方。本发明中通过加密技术对查询条件数据进行加密,以及通过哈希计算碰撞保证查询条件数据的安全,不被泄露,解决了查询过程中的信任问题,并且通过哈希映射碰撞,提高了密文查询的效率,降低了密文查询成本。
附图说明
70.图1为本发明第一实施例中数据查询方法的流程图;
71.图2为本发明第二实施例中数据查询方法的流程图;
72.图3为本发明第三实施例中数据查询方法的流程图;
73.图4为本发明第四实施例中数据查询装置的结构框图;
74.图5为本发明第五实施例中数据查询装置的结构框图;
75.图6为本发明实施例中数据提供终端、平台的通用硬件结构示意图。
76.如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
77.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的
前提下所获得的所有其他实施例,都属于本技术保护的范围。
78.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
79.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
80.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
81.请参阅图1,为本发明第一实施例中的数据查询方法,包括步骤s11~s14。
82.步骤s11,对原始数据集开放的字段内容进行加密,得到第一加密数据。
83.本实施例应用于数据提供终端,该数据提供终端用于存储数据,例如为数据库或存储设备、服务器等。该数据提供终端与平台连接,该平台为数据查询平台,其可以为实体服务器、计算机设备、构成云服务端的服务器、或者设置专用于秘密计算的专用设备等。
84.具体实施时,数据提供终端上传原始数据集,并获取用户设置的可被查询字段内容进行上架。该字段内容为用户查询的对象信息,例如为id、姓名等。上架操作触发自动化脚本,脚本向平台请求下发密钥,以对公开的字段内容进行加密。可以理解的,该密钥可以为平台提供的对称密钥k。该原始数据集中包含有该对象信息的所有数据,即通过该对象信息可以确定对应的数据。
85.数据提供终端利用平台下发的密钥对对外开放的字段内容进行加密,以得到第一加密数据。
86.步骤s12,将所述第一加密数据进行哈希运算得到第一哈希值,并发送所述第一哈希值至平台。
87.数据提供终端将第一加密数据通过哈希算法进行哈希运算,第一哈希值,并发送
第一哈希值至平台。即数据提供终端发生至平台的数据为哈希值,通过对该字段内容进行加密和哈希运算后,可以实现数据不出本地,避免泄露查询信息。
88.步骤s13,接收所述平台基于所述第一哈希值与第二哈希值进行哈希碰撞之后的结果值,所述第二哈希值为所述平台基于数据获益终端输入的查询信息进行加密后再进行哈希运算得到的值。
89.步骤s14,根据所述结果值查询所述原始数据集,得到查询后的结果集,并将所述结果集进行加密后通过所述平台返回给所述数据获益终端。
90.该数据获益终端为请求获取该数据提供方的数据的一方,该数据获益终端可以为用户终端(如手机、平板电脑或计算机等设备)。该数据获益终端发送查询信息至平台以请求查询数据提供终端中对应的数据。该查询信息与数据提供终端开放的字段内容对应,例如为id或姓名。
91.平台获取到该查询信息后,对该查询信息进行加密后,再利用哈希算法进行哈希运算,得到第二哈希值。可以理解的,平台对查询信息进行加密,采用的是与该公开字段相同的加密密钥,即平台中的对称密钥k。平台将双方的哈希值进行碰撞,以根据哈希映射关系确定查询的对象是否存在。当哈希碰撞后,数据获益终端的哈希值和数据提供方的哈希值一样,将一样的结果值h1返回。
92.以金融风控场景为例,数据提供方设置的原始数据集开放字段设为id、name。即原始数据集中有对应id=3,name=张三的数据。通过哈希计算,得到id=eccbc87e4b5ce2fe28308fd9f2a7baf3;name=615db57aa314529aaa0fbe95b3e95bd3。数据获益方输入id=3,name=张三,平台通过哈希计算得到,id=eccbc87e4b5ce2fe28308fd9f2a7baf3,name=615db57aa314529aaa0fbe95b3e95bd3。再通过哈希映射碰撞,发现数据获益方的哈希值和数据提供方的哈希值一样,将一样的结果h1,id=eccbc87e4b5ce2fe28308fd9f2a7baf3,name=615db57aa314529aaa0fbe95b3e95bd3,返回给数据提供方,数据提供方根据返回的h1,找到id=3,name=张三对应的数据,即结果集,并将查询到的结果集加密后通过平台返回给数据获益方。可以理解的,该结果集的加密也采用该对称密钥k。数据获益方接收到该加密后的结果集后进行解密,得到该结果集。
93.本实施例中,数据提供终端通过对原数据集开放的字段列内容进行加密后,再进行哈希运算得到第一哈希值,上传到平台。数据查询方,根据自身需求,输入查询信息,平台进行加密后,再运用哈希运算得到第二哈希值。通过第一哈希值和第二哈希值进行哈希碰撞,得出碰撞结果,将结果返回给数据提供终端,数据提供终端根据结果值判断,将查询结果共享给数据获益方。本实施例中通过加密技术对查询条件数据进行加密,以及通过哈希计算碰撞保证查询条件数据的安全,不被泄露,解决了查询过程中的信任问题,并且通过哈希映射碰撞,提高了密文查询的效率,降低密文查询成本。
94.请参阅图2,为本发明第二实施例中的数据查询方法,包括步骤s21~s29。
95.步骤s21,发送第一密钥请求至平台,并获取所述平台基于所述第一密钥请求反馈的第一加密密钥,所述第一加密密钥为对称密钥通过第一公钥进行加密后的密钥。
96.步骤s22,利用所述第一公钥对应的私钥对所述第一加密密钥进行解密,得到所述对称密钥。
97.具体实施时,用户平台下载私钥ka或者是向平台注册第一公钥kb,并上传用户的
私钥ka至数据提供终端。数据提供终端上传原始数据集,并获取用户选择的可被查询的字段内容进行上架。上架操作触发自动化脚本,脚本向平台请求下发第一加密密钥,该第一加密密钥为对称密钥k通过第一公钥kb进行加密后的密钥。可以理解的该第一公钥kb与私钥ka对应,数据提供终端可通过私钥ka将第一加密密钥进行解密获取对称密钥k。这样做的目的,保证对称密钥k的绝对安全,即使在传输过程中被窃取,密钥k也是在公钥kb的加密保护下,没有私钥ka授权下,无法获取到密钥k。
98.步骤s23,利用所述对称密钥对原始数据集开放的字段内容进行加密,得到第一加密数据。
99.根据数据共享者设置的可被查询的字段内容,利用对称密钥k将其字段列内容进行加密,得到第一加密数据ka1。
100.步骤s24,将所述第一加密数据进行哈希运算得到第一哈希值,并发送所述第一哈希值至所述平台。
101.步骤s25,接收所述平台基于所述第一哈希值与第二哈希值进行哈希碰撞之后的结果值,述第二哈希值为所述平台基于数据获益终端输入的查询信息进行加密后再进行哈希运算得到的值。
102.步骤s26,根据所述结果值确定所述字段内容,并根据所述字段内容查询所述原始数据集中对应的整行数据,得到查询后的结果集。
103.平台将数据提供终端的第一哈希值和数据获益终端的第二哈希值进行哈希碰撞,如果碰撞结果是无,则给数据获益终端返回结果无,如碰撞有结果,则将碰撞的结果值h1返回给数据提供终端。
104.根据返回结果h1确定被加密的内容,即第一加密数据ka1,并使用密钥k将其解密获取a1,再通过a1获取原始数据集中对应的整行数据m,m即为查询到的结果集。
105.步骤s27,发送第二密钥请求至所述平台,并获取所述平台基于所述第二密钥请求反馈的第二公钥,所述第二公钥为所述数据获益终端的密钥。
106.步骤s28,利用所述第二公钥对所述公钥进行加密,得到第二加密密钥,并用所述对称公钥对所述结果集进行加密,得到第三加密数据。
107.步骤s29,将所述第二加密密钥和所述第三加密数据发送至所述平台,以使所述平台返回至所述数据获益终端。
108.数据提供终端向平台请求数据获益终端的第二公钥kb1。并使用密钥k加密数据m,第三加密数据km,再使用第二密钥kb1加密密钥k,得到第二加密密钥。数据提供终端将该第二加密密钥和第三加密数据km发送至平台。平台返回第三加密数据和第二加密密钥至数据获益终端。数据获益终端接收到信息后,通过kb1对应的私钥ka1解密第二加密密钥获取密钥k,再使用密钥k解密km,获得最终结果集数据m。
109.本实施例中数据提供终端通过对原数据集开放的字段内容采用对称密钥加密,得到第一加密数据,将第一加密数据进行哈希运算得到第一哈希值,在上传第一哈希值到平台。数据获益方,根据自身需求,输入查询信息,平台使用对称密码加密,得到第二加密数据,再运用哈希运算得到第二哈希值。通过对比第一哈希值和第二哈希值的哈希映射关系,得出碰撞结果,将碰撞结果返回给数据提供终端,数据提供终端根据结果值判断,将查询结果共享给数据获益方。本实施例通过对称加密和非对称加密的方式对查询信息以及查询结
果进行加密,保障信息的安全流通。并且,通过通过哈希映射碰撞,提高了运算速率,并保护了查询者的查询条件数据的安全,从而实现密文查询过程中查询者的数据隐私保护。
110.请参阅图3,为本发明第三实施例中的数据查询方法,该数据查询方法应用于数据查询系统,该数据查询系统包括数据提供终端、平台、数据获益终端。该数据提供终端用于存储数据,其可以为数据库或可用于存储信息的计算机设备或存储器;该平台用于数据查询;该数据获益终端为数据查询客户端,其可以为手机,平板电脑或计算机设备等,通过该数据获益终端登录该平台以进行数据查询。该数据查询方法包括步骤s31~s41。
111.步骤s31,数据提供终端发送第一密钥请求至平台,以请求获取密钥。
112.步骤s32,所述平台基于所述密钥请求发送第一加密密钥至所述数据提供终端,所述第一加密密钥为对称密钥通过第一公钥进行加密后的密钥。
113.步骤s33,所述数据提供终端利用所述第一公钥对应的私钥对所述第一加密密钥进行解密,得到所述对称密钥,并利用所述对称密钥对原始数据集开放的字段内容进行加密,得到第一加密数据,以及将所述第一加密数据进行哈希运算后得到的第一哈希值发送至所述平台。
114.该数据提供终端对开放的字段内容的处理可参照第一实施例和第二实施例,此处不予赘述。
115.步骤s34,数据提获益方发送查询信息至所述平台。
116.该查询信息即为用户输入的用于查询数据提供终端的数据的字段,其与数据提供终端开放的字段内容对应,例如为id或姓名。
117.步骤s35,所述平台接收到所述查询信息后利用所述对称密钥进行加密,得到第二加密数据,并对所述第二加密数据进行哈希运算得到第二哈希值。
118.平台方利用对称密钥对查询信息进行加密,得到第二加密数据,对第二加密数据进行哈希运算得到第二哈希值。
119.步骤s36,所述平台将所述第一哈希值与第二哈希值进行哈希碰撞,并发送碰撞结果至所述数据提供终端。
120.步骤s37,所述数据获取方根据所述结果值查询所述原始数据集,并发送第二密钥请求至所述平台。
121.步骤s38,所述平台基于所述第二密钥请求发送第二公钥至所述数据获益终端。
122.每个用户对应一对公私钥对,该第一公钥即为数据提供方的公钥,该第二公钥即为数据获益方的公钥。具体实施时,用户可在平台下载私钥或者是用户向平台注册公钥。
123.步骤s39,所述数据获益终端利用第二公钥对所述对称密钥进行加密,得到第二加密密钥,并用所述公钥对所述结果集进行加密,得到第三加密数据,以及将所述第二加密密钥和所述第三加密数据发送至所述平台。
124.步骤s40,所述平台返回所述第三加密数据和所述第二加密密钥至所述数据获益终端。
125.步骤s41,所述数据获益终端基于所述第二公钥对应的私钥对所述第二加密密钥进行解密,以得到到所述对称密钥,并利用所述对称密钥对所述第三加密数据进行解密,以得到所述结果集。
126.请参阅图4,为本发明第四实施例中的数据查询装置,包括:
127.第一加密模块41,用于对原始数据集开放的字段内容进行加密,得到第一加密数据;
128.计算模块42,将所述第一加密数据进行哈希运算得到第一哈希值,并发送所述第一哈希值至平台;
129.第一获取模块43,用于接收所述平台基于所述第一哈希值与第二哈希值进行哈希碰撞之后的结果值,所述第二哈希值为所述平台基于数据获益终端输入的查询信息进行加密后再进行哈希运算得到的值;
130.查询模块44,用于根据所述结果值查询所述原始数据集,并将查询出的结果集进行加密后通过所述平台返回给所述数据获益终端。
131.进一步的,上述数据查询装置,其中,所述第一加密模块41包括:
132.第一获取单元,用于获取平台发送的第一加密密钥,所述第一加密密钥为对称密钥通过第一公钥进行加密后的密钥;
133.解密单元,用于利用所述第一公钥对应的私钥对所述第一加密密钥进行解密,得到所述对称密钥;
134.第一加密单元,用于利用所述对称密钥对原始数据集开放的字段内容进行加密,得到第一加密数据。
135.进一步的,上述数据查询装置,其中,所述查询模块44包括:
136.第二获取单元,用于获取所述平台发送的第二公钥,所述第二公钥为所述数据获益终端的密钥;
137.第二加密单元,用于利用第二公钥对所述对称密钥进行加密,得到第二加密密钥,并用所述对称密钥对所述结果集进行加密,得到第三加密数据;
138.发送单元,用于将所述第二加密密钥和所述第三加密数据发送至所述平台,以使所述平台返回至所述数据获益终端。
139.进一步的,上述数据查询装置,还包括:
140.设置模块,用于上传原始数据集,并获取可被查询的字段内容;
141.上架模块,用于将所述字段内容进行上架,以触发自动化脚本,通过所述脚本向平台请求下发密钥。
142.请参阅图5,为本发明第五实施例中的数据查询装置,包括:
143.第二获取模块51,用于获取数据提供终端发送的第一哈希值,所述第一哈希值为所述数据提供终端对原始数据集开放的字段内容加密,并进行哈希运算后的值;
144.第二加密模块52,用于获取数据获益终端发送的查询信息,并对所述查询信息进行加密和哈希运算后,得到第二哈希值;
145.哈希碰撞模块53,用于所述第一哈希值与第二哈希值进行哈希碰撞,并发送碰撞结果至所述数据提供终端;
146.第一接收模块54,用于接收所述数据提供终端发送的第三加密数据,所述第三加密数据为所述数据提供终端对根据所述结果值查询到的结果集进行加密后的数据;
147.第一发送模块55,用于返回所述第三加密数据至所述数据获益终端,以使所述数据获益终端对所述第三加密数据进行解密,得到所述结果集。
148.进一步的,上述数据查询装置,其中,所述原始数据集开放的字段内容采用对称密
read
‑
only memory,简称为eeprom)、电可改写rom(electrically alterable read
‑
only memory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(static random
‑
access memory,简称为sram)或动态随机存取存储器(dynamic random access memory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器(fast page mode dynamic random access memory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extended date out dynamic random access memory,简称为edodram)、同步动态随机存取内存(synchronous dynamic random
‑
access memory,简称sdram)等。
160.存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。
161.处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的数据查询方法。
162.在其中一些实施例中,该数据提供终端和平台还可包括通信接口83和总线80。其中,如图6所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。
163.通信接口83用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。通信接口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
164.总线80包括硬件、软件或两者,将对应设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(data bus)、地址总线(address bus)、控制总线(control bus)、扩展总线(expansion bus)、局部总线(local bus)。举例来说而非限制,总线80可包括图形加速接口(accelerated graphics port,简称为agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,简称为eisa)总线、前端总线(front side bus,简称为fsb)、超传输(hyper transport,简称为ht)互连、工业标准架构(industry standard architecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(low pin count,简称为lpc)总线、存储器总线、微信道架构(micro channel architecture,简称为mca)总线、外围组件互连(peripheral component interconnect,简称为pci)总线、pci
‑
express(pci
‑
x)总线、串行高级技术附件(serial advanced technology attachment,简称为sata)总线、视频电子标准协会局部(video electronics standards association local bus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
165.另外,结合上述实施例中的数据查询方法,本技术实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据查询方法。
166.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
167.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来
说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些
本文用于企业家、创业者技术爱好者查询,结果仅供参考。