本发明涉及计算机数据安全检索,具体涉及一种基于加密查询的数据匿名安全检索方法。
背景技术:
1、数据匿名检索技术是一种保护数据隐私的方法,允许用户在无需公开原始数据的情况下,从数据集中检索所需信息。传统的数据匿名检索通常采用模糊搜索技术或者普通的密钥加密查询的模式。模糊搜索技术允许用户使用模糊查询来检索数据,将查询结果的相关性与原始数据的隐私进行平衡。通过将查询参数进行模糊化处理,可以在保护数据隐私的同时提供搜索服务。
2、模糊查询存在以下的问题:模糊搜索技术可能降低搜索结果的准确性、模糊搜索可能在大规模数据集上产生较高的计算开销、模糊化处理无法充分保障查询参数的隐私性,从而可能泄露关键信息。
3、密钥加密存在以下的问题:密钥需要在双方共享存在密钥泄露的风险、数据持有方还是可以通过密钥获取用户查询信息,不能完全做到数据匿名检索的要求。
技术实现思路
1、在传统的数据库查询中,访问者将查询条件传给服务器,然后服务器根据请求的查询条件获取查询结果,对于服务器而言查询条件和查询结果都是明文状态,这种查询访问就存在隐私泄露的风险,服务器可以获取到这些查询条件和查询结果。
2、有鉴于现有相关技术的不足,本发明提供一种基于加密查询的数据匿名安全检索方法,使用本专利的特有基于同态加密检索加密技术,可以实现不依赖于密钥共享就可以查询加密的数据,从而做到数据持有方无法知道查询内容和查询的结果真正做到隐匿查询的效果。并且通过本专利特有的陷门同态加密技术实现数据无需解密就能检索查询,提升了查询的效率。
3、为实现上述目的,本方案采用如下技术方案:一种基于加密查询的数据匿名安全检索方法,其至少包括如下步骤:
4、s1、数据所有者使用同态加密算法对数据库中的数据进行加密;
5、s2、数据库中在加密的数据上使用陷门函数建立索引;
6、s3、将查询条件数据通过陷门函数生成陷门,将生成的陷门发送给数据所有者进行查询;
7、s4、数据所有者收到数据查询方提供的查询陷门后在数据的索引陷门中进行检索从而获取数据;
8、s5、将获取的数据返回给数据查询方。
9、进一步的,在步骤s2中,陷门函数在加密的数据上建立索引的具体实施过程如下:
10、s21、选择陷门函数
11、选择一个陷门函数,以便在加密状态下执行搜索;
12、s22、确定函数参数
13、确定陷门函数所需的参数包括公共参数以及特定于每个用户或每个查询的私有参数;
14、s23、生成陷门
15、使用陷门函数和函数参数将明文转换为陷门,并且使用用户私有参数实现每个用户生成的陷门索引是唯一索引的数据;
16、s24、执行检索
17、将生成的陷门应用于加密数据进行数据的检索,以实现在加密状态下的安全搜索,并且采用同态加密中的乘法同态性。
18、进一步的,在步骤s3中,数据查询方将查询条件数据通过预先定义的陷门函数生成一个陷门,实现陷门与要搜索的明文相关,然后将陷门发送给数据所有者进行查询,实现了数据所有者收到的是陷门数据,无法获取查询方的真实查询条件数据。
19、进一步的,在步骤s4中,数据所有者收到查询方提供的查询陷门后在数据的索引陷门中进行检索从而获取数据,实现了加密状态下执行搜索、可以通过同态加密中的乘法同态性来实现,即将索引与查询陷门相乘,得到的结果可以解密为匹配的密文。
20、进一步的,在得到匹配的密文后,陷门检索结果返回给数据查询方,数据查询方对结果进行解密密文,以获得明文结果。
21、本发明采用以上技术方案,至少具有如下有益效果:
22、1、避免密钥共享数据泄露的问题:使用本专利的特有基于同态加密检索加密技术,可以实现不依赖于密钥共享就可以查询加密的数据,从而做到数据持有方无法知道查询内容和查询的结果真正做到隐匿查询的效果。
23、2、查询过程中数据持有方不再涉及解密实现效率提升:常见的隐秘查询技术在安全性方面是通过依赖于公钥密码算法和对称密码算法安全性,需要做密钥共享同步等复杂操作,需要将相关数据全部解密逐个遍历查询,数据处理的复杂度为o(n),通过本专利的加密查询数据匿名安全检索方法,实现了通过搜索陷门保证在加密状态下仍然能够有效地执行搜索操作,省去了数据解密后查询的过程,完成数据检索查询的复杂度只有o(1)。
24、3、本技术主要采用基于同态加密的搜索协议并且使用基于陷门函数(trapdoorfunction)的方案,实现数据匿名安全检索过程不依赖于密钥共享,区别于普通的隐匿查询采用直接密钥解密数据逐个查询遍历。实现数据加密存储并且查询不依赖于密钥共享解密的数据匿名安全检索方法,实现了真正的隐匿查询,基于索引陷门优化了查询过程,提高了查询效率。
1.一种基于加密查询的数据匿名安全检索方法,其特征在于:其至少包括如下步骤:
2.根据权利要求1上述的方法,其特征在于:在步骤s2中,陷门函数在加密的数据上建立索引的具体实施过程如下:
3.根据权利要求2所述的方法,其特征在于:在步骤s3中,数据查询方将查询条件数据通过预先定义的陷门函数生成一个陷门,实现陷门与要搜索的明文相关,然后将陷门发送给数据所有者进行查询,实现了数据所有者收到的是陷门数据,无法获取查询方的真实查询条件数据。
4.根据权利要求3所述的方法,其特征在于:在步骤s4中,数据所有者收到查询方提供的查询陷门后在数据的索引陷门中进行检索从而获取数据,实现了加密状态下执行搜索、可以通过同态加密中的乘法同态性来实现,即将索引与查询陷门相乘,得到的结果可以解密为匹配的密文。
5.根据权利要求4所述的方法,其特征在于:在得到匹配的密文后,陷门检索结果返回给数据查询方,数据查询方对结果进行解密密文,以获得明文结果。