隐私信息检索(隐匿查询)
1 隐私信息检索概述
隐匿查询,也称隐私信息检索,是指查询方隐藏被查询对象关键词或客户id信息,数据服务方提供匹配的查询结果却无法获知具体对应哪个查询对象。数据不出门且能计算,杜绝数据缓存的可能性。
1.1 使用场景
隐私信息检索(private information retrieval),简称pir,是为了保障个人隐私在公共网络平台上的私密性而采用的策略。当用户在数据库上检索信息时,它将采用一定的方法来阻止数据库服务器知晓用户查询语句的相关信息,从而保护用户的查询隐私。隐私信息检索的发展和普及不仅仅需要隐私保密技术的不断提高,还需要人们对隐私保护认知的不断增强。在当前现实生活中,像医药数据库,专利数据库等对检索隐私有着较高要求的领域,隐私信息检索都具有很大的应用空间。
1.2 查询流程
- 数据方在数据库中存储的数据格式为<key, value>的格式;
- 查询方使用其要查询的key,进行加密后去数据方查询对应的value;
- 在查询过程中数据方无法获知查询方的key具体是多少,也并不清楚最终发送了哪条value给了查询方。
1.3 与不经意传输之间的差别
不经意传输:接收方想要获取发送方n个数据里的第i个,但是需要保证接收方只能拿到第i个数据,无法拿到其他数据,发送方也无法知道接收方拿的是第几个数据。
从不经意传输的定义来看和匿踪查询是比较接近的,但是不经意传输是需要查询者知道自己要查询的数据是在哪个位置,通常情况下查询者在查询前是无法知道具体要查询的位置。
隐私信息检索:查询方向数据库请求查询指定位置的数据,但需要保护查询方的查询位置不被数据库感知。和不经意传输技术不同的是,隐私信息检索是无需保护数据库的隐私的,数据库对于查询方来说是公开的,相当于是安全性弱化的不经意传输。
除开安全性的区别外,隐私信息检索的一个侧重研究目标就是减少通信量,根据上面的定义可以看出隐私信息检索的一种最简单实现就是数据库直接将所有数据发给查询方,查询方本地查询获取数据就行,但是这种方案效率太低了,特别是数据库数据量比较大时,数据传输时间太长,长到查询方的本地查询时间都可以忽略不计。因此现在有很多研究都是建立在多数据库服务副本的前提下去做查询时数据传输量的优化,以减少查询时间。
2 隐私信息检索发展过程(类型)
2.1 基于数论的PIR方案
大多数早期的cPIR方案都是基于数论问题的难度,如整数分解(例如见[8-11])。 已知的(非微不足道的)单服务器cPIR构造需要对每个数据库元素进行一些加密操作,与信息论的方案相比,这些方案的计算成本增加。在[12]中,Sion和Carbu-nar表明,数字理论的PIR方案并不实用,计算PIR回复的效率总是低于发送整个数据库。此外,这种基于因式分解的方案,在量子计算机时代将是不安全的[13]。
2.2 基于同态加密的PIR方案
一些PIR方案的构建使用了完全同态加密(Fully Homomorphic Encryption,FHE)方案。 Yi等人在[14]中提出了一种从FHE中构建PIR的通用方法。在这一构造之后,许多PIR协议被提出,使用基于格子和带错误学习(LWE)概率问题的FHE方案[15-18]。最近,Aguilar-Melchor等人在[16]中提出了XPIR,这是一个使用基于Ring-LWE的FHE方案的PIR结构,计算效率高,但通信成本大。 继[16]之后,Angel等人在[17]中能够显著改善其通信成本,与XPIR相比,只需稍稍增加一些计算量。与Angel等人的方案一样,Ali等人最近的工作[18]代表了PIR方案的最先进效率
2.3 基于编码理论的单服务器PIR方案
最近,Holzbaur, Hollanti和Wachter-Zeh在[19]中提出了第一个基于编码理论的单服务器PIR。然而,他们的提议在[20]中受到攻击。 [19]中的主要想法是通过使用随机线性代码的码字隐藏精心选择的错误向量来生成查询。 为了获得隐私,该线性代码由用户保持秘密。Aguilar-Melchor和Gaborit之前在一个基于格子的PIR方案中使用了同样的想法[21],没有使用线性代码的概念。该方案后来被Liu和Bi[22]使用lat-tice还原算法进行攻击。
3 基于同态加密的PIR方案计算过程举例
一种比较简单的、实现匿踪查询的思路:先通过某种方法定位到要查询的数据在查询方数据集里的哪个位置,然后通过不经意传输技术根据这个位置去拿要查询数据key对应的value。定位查询数据位置的方法,有一种方案是通过执行隐私集合求交算法,这样查询方就可以定位到查询数据对应的位置或者确定本次查询是否命中了。
接下来介绍另一种基于同态加密和多项式的匿踪查询算法流程,查询方拥有查询数据q,数据方拥有键值对<k1,v1>,<k2,v2>,…,<kn,vn>。
- 数据方将键值数据使用插值法构造出多项式 H ( x ) H(x) H(x),将所有键看出 x x x轴坐标构建出 F ( x ) F(x) F(x),并生成随机数 r r r,计算出多项式 G ( x ) = H ( x ) + r ∗ F ( x ) G(x)=H(x)+r*F(x) G(x)=H(x)+r∗F(x),易看出 G ( x ) G(x) G(x)和 H ( x ) H(x) H(x)的性质是一样的,带入键值对中的健可以算出对应值,带入其他数据算出的就是随机数了:
H
(
x
)
=
a
0
+
a
1
x
+
a
2
x
2
+
.
.
.
+
a
n
x
n
H
(
k
1
)
=
v
1
,
H
(
k
2
)
=
v
2
,
.
.
.
,
H
(
k
n
)
=
v
n
H(x) = a_0+a_1x+a_2x^2+...+a_nx^n \\ H(k_1)=v_1, H(k_2)=v_2, ...,H(k_n)=v_n\\
H(x)=a0+a1x+a2x2+...+anxnH(k1)=v1,H(k2)=v2,...,H(kn)=vn
F
(
x
)
=
(
x
−
k
1
)
(
x
−
k
2
)
.
.
.
(
x
−
k
n
)
=
c
0
+
c
1
x
+
c
2
x
2
+
.
.
.
+
c
n
F
(
k
1
)
=
0
,
F
(
k
2
)
=
0
,
.
.
.
,
F
(
k
n
)
=
0
F(x)=(x-k_1)(x-k_2)...(x-k_n) \\ =c_0+c_1x+c_2x^2+...+c_n\\ F(k_1)=0,F(k_2)=0,...,F(k_n)=0
F(x)=(x−k1)(x−k2)...(x−kn)=c0+c1x+c2x2+...+cnF(k1)=0,F(k2)=0,...,F(kn)=0
- 查询方生成全同态加密的秘钥对,将查询数据q使用公钥进行加密后,和公钥一起发送给数据方;(这里使用的是非对称加密方式,公钥只能加密,不能解密)
- 数据方使用公钥将加密后的数据q带入到F(x)和G(x)中计算,计算Enc(F(q))和Enc(G(q))并发送给查询方;(Enc()同态加密算法)
- 查询方使用私钥解密出F(q)和G(q),如果F(q)为0则说明查询命中了,G(q)就是查询到的数据,如果不为0则说明未查询到数据,G(q)就是随机值。
3.1同态加密
利用同态加密保护数据私密性的想法最早在1978年由Ron Rivest, Leonard Adleman, Michael Dertouzos等人提出,它的主要思想是通过具有同态性质的加密函数对数据进行加密,从而可以在不对数据进行解密的条件下对已加密的数据进行任何在可以在明文上进行的运算,也就是说,可以对加密后的信息进行一系列复杂的运算和分析而不影响其保密性。
简单来说,对于加密算法E,
- 如果满足 E(A)+E(B)=E(A+B), 我们将这种加密函数叫做加法同态(Paillier算法);
- 如果满足 E(A)×E(B)=E(A×B) ,我们将这种加密函数叫做乘法同态(RSA算法);
- 如果一个加密函数同时满足加法同态和乘法同态,称为全同态加密(Gentry算法);
根据不同加密方案对所支持功能的不同限制,同态加密方案可分为有限同态和完全同态(FHE)方案。有限同态的加密算法只支持某些特定的功能(如有限的加法和乘法运算)。有限同态算法容易实现,其计算开销也小;因此,这种算法已经在实践中使用。相比之下,完全同态算法可以支持任意函数,但其计算开销巨大。
3.2 正确性分析
通过基于键值对来构造多项式的方式来构造两个不同作用的多项式,F(x)用于查询方来判定该次查询是否命中,G(x)用于查询方在确定查询命中后,拿到查询到的数据。
3.3 安全性分析
对于查询方来说:他的查询数据是通过自己生成的秘钥对中的公钥加密后发送给数据方的,数据方是无法解开拿到查询数据的,只能通过同态加密的性质进行计算。
对于数据方来说:他的数据未直接发送给参与方,而是将加密后的查询数据带入到多项式中进行同态计算,再将两个多项式分别计算后的结果发送给查询方,查询方未拿到其他数据的相关信息,也就无法进行反推。
4 总结
匿踪查询本质是在传统的key-value查询的基础上,加入了隐私保护,使得查询方无法拿到数据方其他数据,数据方也无法知晓查询方查的是哪个key,实现了双向隐私保护,且可以通过提前hash取模分桶预处理的方式,在数据量比较大的时候通过离线预处理操作可以极大提高在线查询时的效率,能做到毫秒级响应,在金融、政务等跨机构数据共享计算的实际场景中有广泛应用前景。
参考文献
- Chor, B., Goldreich, O., Kushilevitz, E., Sudan, M.: Private information retrieval. In Proceedings of IEEE 36th annual foundations of computer science, pp. 41–50. IEEE (1995)
- Dvir, Z., Gopi, S.: 2-server PIR with subpolynomial communication. J. ACM (JACM) 63(4), 1–15 (2016)
- Beimel, A., Ishai, Y., Kushilevitz, E., Raymond, J-F.: Breaking the O(n1∕(2k−1)) barrier for information-the-oretic private information retrieval. In Proceedings of the 43rd annual IEEE symposium on foundations of computer science, 2002, pp. 261–270. IEEE (2002)
- Sun, H., Jafar, S.A.: The capacity of symmetric private information retrieval. IEEE Trans. Inform. Theory 65(1), 322–329 (2018)
- Sun, H., Jafar, S.A.: The capacity of robust private information retrieval with colluding databases. IEEE Trans. Inform. Theory 64(4), 2361–2370 (2017)
- Banawan, K., Ulukus, S.: The capacity of private information retrieval from coded databases. IEEE Trans. Inform. Theory 64(3), 1945–1956 (2018)
- Freij-Hollanti, R., Gnilke, O.W., Hollanti, C., Karpuk, D.A.: Private information retrieval from coded data-bases with colluding servers. SIAM J. Appl. Algebra Geom 1(1), 647–664 (2017)
- Dong, C., Chen, L.: A fast single server private information retrieval protocol with low communication cost. In European symposium on research in computer security, pp. 380–399. Springer (2014)
- Kushilevitz, E., Ostrovsky, R.: Replication is not needed: single database, computationally—private infor-mation retrieval. In Proceedings 38th annual symposium on foundations of computer science, pp. 364–373. IEEE (1997)
- Lipmaa, H., Pavlyk, K.: A simpler rate-optimal CPIR protocol. In International conference on financial cryptography and data security, pp. 621–638. Springer (2017)
- Stern, JP.: A new and efficient all-or-nothing disclosure of secrets protocol. In International conference on the theory and application of cryptology and information security, pp. 357–371. Springer (1998)
- Sion, R., Carbunar, B.: On the computational practicality of private information retrieval. In Proceed-ings of the network and distributed systems security symposium, pp. 2006–06. Internet Society (2007)
- Shor, P.W.: Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM Rev 41(2), 303–332 (1999)
- Yi, X., Kaosar, M.G., Paulet, R., Bertino, E.: Single-database private information retrieval from fully homomorphic encryption. IEEE Trans. Knowl. Data Eng. 25(5), 1125–1134 (2012)
- Brakerski, Z., Vaikuntanathan, V.: Efficient fully homomorphic encryption from (standard) LWE. SIAM J. Comput. 43(2), 831–871 (2014)
- Aguilar-Melchor, C., Barrier, J., Fousse, L., Killijian, M.-O.: XPIR: private information retrieval for everyone. Proc. Priv. Enhanc. Technol. 2016(2), 155–174 (2016)
- Angel, S., Chen, H., Laine, K., Setty, S.: PIR with compressed queries and amortized query processing. In 2018 IEEE symposium on security and privacy (SP). pp. 962–979 (2018)
- Ali, A., Lepoint, T., Patel, S., Raykova, M., Schoppmann, P., Seth, K., Yeo, K.: Communication–com-putation trade-offs in PIR. IACR Cryptol. ePrint Arch. (2019)
- Holzbaur, L., Hollanti, C., Wachter-Zeh, A.: Computational code-based single-server private informa-tion retrieval. In 2020 IEEE international symposium on information theory (ISIT), pp. 1065–1070. IEEE (2020)
- Bordage, S., Lavauzelle, J.: On the privacy of a code-based single-server computational PIR scheme. Cryptogr, Commun (2021)
- Melchor, CA, Gaborit, .: A fast private information retrieval protocol. In 2008 IEEE international sym-posium on information theory, pp. 1848–1852 (2008)
- Liu, J., Bi, J.: Cryptanalysis of a fast private information retrieval protocol. In Proceedings of the 3rd ACM international workshop on ASIA public-key cryptography, pp. 56–60 (2016)
- Kannan, R.: Minkowski’s convex body theorem and integer programming. Math. Oper. Res. 12(3), 415–440 (1987)
- Brakerski, Z., Vaikuntanathan, V.: Fully homomorphic encryption from ring-LWE and security for key dependent messages. In Annual cryptology conference, pp. 505–524. Springer (2011)
- Kushilevitz, E., Ostrovsky, R.: Replication is not needed: single database, computationally-private information retrieval. In Proceedings 38th annual symposium on foundations of computer science, pp. 364–373. IEEE (1997)