本申请涉及信息安全,特别涉及一种基于全同态加密的数据库隐私保护和查询方法及装置。
背景技术:
1、随着以区块链、5g、物联网、云计算、人工智能等为代表的新一代信息技术与国民日常生活的的深度融合,大量的个人数据被外包到外部数据库进行采集、加工、处理、流转。由此可见,数据隐私保护的核心并非将数据严防死守、人为设立数据孤岛;而是在充分保障数据流动能力与数据价值挖掘能力的前提下,维护隐私数据的保密性与安全性,实现数据的“可用不可见”。
2、因此,迫切需要一种可公开验证的技术在保证数据库能够正常查询的情况下不泄露用户的个人隐私数据。
技术实现思路
1、本申请提供一种基于全同态加密的数据库隐私保护和查询方法及装置,用于数据库外包场景下的数据查询和隐私保护,利用全同态加密技术,不仅保证了数据外包场景下数据不被泄露,保护用户隐私,而且能够在加密数据库上进行明文sql查询和密文sql查询操作。
2、本申请第一方面实施例提供一种基于全同态加密的数据库隐私保护和查询方法,包括以下步骤:接收客户端的密文sql查询请求;根据所述密文sql查询请求在加密数据库中进行检索,得到多个tfhe密文检索结果;根据密文转换算法对所述多个tfhe密文检索结果进行密文转换,得到ckks密文检索结果;将所述ckks密文检索结果和所述加密数据库进行聚合,得到经过sql查询的密文结果,并将所述sql查询的密文结果发送至客户端。
3、可选地,在本申请的一个实施例中,在接收所述客户端的密文sql查询请求之前,还包括:接收所述客户端发送的加密数据库,并保存在本地,其中,所述加密数据库为所述客户端利用ckks同态加密算法对本地数据库进行加密得到。
4、可选地,在本申请的一个实施例中,加密数据库检索包括密文的比较和密文间的逻辑运算,根据所述密文sql查询请求在所述加密数据库中进行检索,包括:在密文的比较阶段,将所述加密数据库的密文和sql的密文按照sql的检索条件进行比较,得到多个比较结果,其中,在满足比较条件时,输出加密数值1的密文,在不满足比较条件时,输出加密数值0的密文;在密文间的逻辑运算阶段,根据sql检索条件之间的逻辑函数,执行密文间的逻辑运算。
5、可选地,在本申请的一个实施例中,将所述加密数据库的密文和sql的密文按照sql的检索条件进行比较,包括:基于tfhe的密文自举过程进行密文比较,通过计算所述加密数据库的密文和sql的密文的差值,构造msb函数的查找表多项式,执行tfhe的自举函数,得到比较结果。
6、可选地,在本申请的一个实施例中,在逻辑运算之后,还包括:对所述sql的密文的噪声进行刷新。
7、可选地,在本申请的一个实施例中,将所述ckks密文检索结果和所述加密数据库进行聚合,包括:对所述ckks密文检索结果和所述加密数据库进行ckks的同态加法和同态乘法。
8、本申请第二方面实施例提供一种基于全同态加密的数据库隐私保护和查询方法,包括以下步骤:利用ckks同态加密算法对sql查询请求进行加密,得到密文sql查询请求,将所述密文sql查询请求发送至服务端;接收服务端发送的sql查询的密文结果,其中,所述sql查询的密文结果为所述服务端将所述密文sql查询请求在加密数据库中进行检索得到的多个tfhe密文检索结果进行密文转换,得到ckks密文检索结果,并将所述ckks密文检索结果和所述加密数据库进行聚合得到;对sql查询的密文结果进行解密,得到sql查询结果。
9、可选地,在本申请的一个实施例中,将所述密文sql查询请求发送至所述服务端之前,还包括:利用ckks同态加密算法对本地数据库进行加密,得到所述加密数据库,并将所述加密数据库发送至服务端。
10、本申请第三方面实施例提供一种基于全同态加密的数据库隐私保护和查询装置,包括:请求接收模块,用于接收客户端的密文sql查询请求;检索模块,用于根据所述密文sql查询请求在加密数据库中进行检索,得到多个tfhe密文检索结果;转换模块,用于根据密文转换算法对所述多个tfhe密文检索结果进行密文转换,得到ckks密文检索结果;聚合模块,用于将所述ckks密文检索结果和所述加密数据库进行聚合,得到经过sql查询的密文结果,并将所述sql查询的密文结果发送至客户端。
11、本申请第四方面实施例提供一种基于全同态加密的数据库隐私保护和查询装置,包括:加密模块,用于利用ckks同态加密算法对sql查询请求进行加密,得到密文sql查询请求,将所述密文sql查询请求发送至服务端;结果接收模块,用于接收服务端发送的sql查询的密文结果,其中,所述sql查询的密文结果为所述服务端将所述密文sql查询请求在加密数据库中进行检索得到的多个tfhe密文检索结果进行密文转换,得到ckks密文检索结果,并根据所述ckks密文检索结果和所述加密数据库进行聚合得到;解密模块,用于对sql查询的密文结果进行解密,得到sql查询结果。
12、本申请实施例的基于全同态加密的数据库隐私保护和查询方法及装置,利用tfhe同态加密方案和ckks同态加密方案,主要在与现有的同态加密算法在实际应用中根据不同任务选择不用的算法和参数,没有一个同态加密算法在所有的应用上都是最高效的。使用ckks同态加密方案对数据进行加密,并在查询中将ckks密文转换为tfhe密文进行检索,检索后将tfhe密文转化为ckks密文进行聚合,从而完成在密文数据库上进行sql查询。由此,利用全同态加密技术,不仅保证了数据外包场景下数据不被泄露,保护用户隐私,而且能够在数据库上进行查询操作,完成对密文的计算。
13、本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
1.一种基于全同态加密的数据库隐私保护和查询方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,在接收所述客户端的密文sql查询请求之前,还包括:
3.根据权利要求1所述的方法,其特征在于,加密数据库检索包括密文的比较和密文间的逻辑运算,根据所述密文sql查询请求在所述加密数据库中进行检索,包括:
4.根据权利要求3所述的方法,其特征在于,将所述加密数据库的密文和sql的密文按照sql的检索条件进行比较,包括:
5.根据权利要求3所述的方法,其特征在于,在逻辑运算之后,还包括:
6.根据权利要求1所述的方法,其特征在于,将所述ckks密文检索结果和所述加密数据库进行聚合,包括:
7.一种基于全同态加密的数据库隐私保护和查询方法,其特征在于,包括以下步骤:
8.根据权利要求7所述的方法,其特征在于,将所述密文sql查询请求发送至所述服务端之前,还包括:
9.一种基于全同态加密的数据库隐私保护和查询装置,其特征在于,包括:
10.一种基于全同态加密的数据库隐私保护和查询装置,其特征在于,包括: