数据库安全和隐私保护

本文最后更新于 2024年9月26日 凌晨

1 介绍

当下常见的数据库系统着重于性能和可用性的优化,却忽视了对数据安全和隐私的保护。然而,数据库系统通常存储大量涉及个人隐私的敏感信息,如姓名、地址、支付信息等。一旦这些数据遭到泄露,将给用户带来严重的隐私侵害和经济损失。因此,在数据库系统中有效实施数据隐私保护措施,成为当前数据安全领域的重中之重。

然而目前的问题是,尽管现在研究了很多保护数据隐私的方法,但是在工业界却缺乏实际的应用,一方面是因为两者的结合需要积累大量工程实践经验,如果仅仅进行简单的组合,可能导致新的安全风险,另一方面是实际结合十分看中应用场景,需要根据实际情况在安全和性能上进行取舍。

为此,本文首先对使用场景进行简要介绍,然后介绍一些常用的隐私保护技术,最后介绍一些应用这些技术的实用框架。

2 常见模型

首先对场景进行划分,当下数据库系统的实际应用中大致可以分为三种模型:

2.1 客户端-服务端模型

客户端-服务端模型是最基本的模型,在此模型中,客户端是数据库系统的用户,服务端是单个数据库系统。客户端从服务端中查询信息,需要注意的是客户端是不可信的,其可能从服务端获取敏感数据。然而仅仅根据查询限制来保护隐私是不够的,例如在一些数据分析应用中,客户可能利用数据挖掘技术从可获得数据中发掘一些敏感信息。为此,可以使用差分隐私技术进行数据保护,即对数据添加噪声,但此时需要对查询准确性和隐私保护进行取舍。

2.2 联邦数据库系统

随着数据量的增加,往往需要将数据进行分布式存储。而在此模型中,客户端同样是不可信的,而服务端是一个联邦数据库系统,数据被存储于不同的数据库系统中,在进行数据查询时,需要进行数据的汇集,此时数据库间也是不可信的,某个数据库可能受到了攻击而传递了虚假的信息。一般来说需要一个可信任的代理节点(Honest Broker)进行数据汇集。此时不同的数据节点会将敏感信息加密后传递给可信任节点。

然而这个过程中存在侧信道信息泄漏(Side-channel leakage)问题,即通过系统的物理信息导致的信息泄漏,例如根据程序执行时间的长短推算加密算法中的密钥长度。为防止这个问题,需要让计算过程保证保密性,对此,可以对本地数据使用差分隐私后再传递、使用Secure Multi-party Computation方法,即在多个参与方不泄漏各自输入的前提下共同计算一个函数的值、使用可信任的硬件设备。

2.3 云服务模型

随着云服务的发展,用户可以选择云服务进行数据分析。然而此时云服务端是不可信的,用户无法确保云服务商能够安全保护数据隐私,此时可以使用Private Information Retrieval技术,即不泄漏用户访问记录的情况下从数据库中检索信息。

3 隐私保护技术

3.1 计算安全性

如前文所述,有多个数据节点,在进行查询聚合时,多方参与但不能完全信任这些节点,为此,需要保证计算过程的安全性(Secure Computation)。一方面,数据本身需要被加密传递,另一方面,计算过程需要被隐藏(oblivious),不能因为计算过程导致信息的泄漏。

3.1.1 Secure Multi-party Computation

为此提出了Secure Multi-party Computation。举一个简单的例子,当需要进行求和计算时,首先给其中一个节点一个随机值r,然后这个节点计算此节点中的数据与r的求和结果后传递给下一个节点,依次传递给所有节点后获得最终结果。因为最开始的r是随机且无意义的,所以节点无法推断出上一个节点中存储的数据。

然而当节点间可以互相串通时,r值可以被相减消除从而推断出某个节点中存储的值。所以需要再次考虑应用场景:节点间是否能串通、多少节点保证拿到输出、节点恶意行为程度等。

除了算法的设计,也可以直接使用一些底层工具如:

  • 混淆电路(Garbled Circuit),将计算任务转换为电路,然后通过"混淆"电路的方式,使得参与方无法获知电路的具体结构和行为,从而实现计算过程的隐私保护。

  • 零知识证明(Zero Knowledge Proof),允许一个参与方向另一个参与方证明自己掌握某个秘密,而无需泄露任何关于该秘密的信息。

  • 全同态加密(Full Homomorphic Encryption),允许在密文上直接执行各种计算,而不需要先对密文进行解密。

3.1.2 Trusted Execution Environment

除此之外,我们可以利用硬件来创造一个可信执行环境(Enclave),常见的如Intel SGX、AMD TrustZone等处理器芯片,在这个环境中保证了执行过程的保密性以及通信通道的安全性。在应用中,我们可以将数据库系统中可能会导致信息泄漏的执行部分分出,在Enclave环境下执行,不被信任的软件无法从这个环境中获得除返回值外的其他信息,从而避免侧信道信息泄漏问题。

然而这样的环境仍有性能上的缺陷,数据的移动需要较大的时间开销,所以需要对隐私保护和性能做取舍。

3.2 差分隐私

之前的内容主要是在数据获取层面上的保护,而差分隐私则是对数据内容本身的保护。

一般针对的是OLAP型数据库,返回数据的分析结果时,可能间接导致隐私信息可以被推断出。

差分隐私不是一个具体的算法,是一种概念/约束,即要求数据共享中不能根据统计特征反推出单一记录的内容。换句话说,若观察者无法分辨一个算法的输出是否使用了某一特定个体的信息,这样的算法就是差分隐私的。

具体的公式定义中,对于任意两个汉明距离为1的数据集xxxx^{'},有:

Pr[M(x)S]eεPr[M(x)S]Pr[M(x)\in S] \le e^{\varepsilon}Pr[M(x^{'})\in S]

ε\varepsilon被称为隐私预算,一般而言,值越小,隐私保护越好。

约束目的是让两个数据集之间的差异尽可能小,从而无法从两种查询结果的差异中推断出单条数据。

要想将差分隐私技术应用到数据库系统中,需要考虑如何添加噪声。可以设置一个敏感度n,对于每个查询算子,对结果增添或去除n条记录。但在多表连接的情况下,敏感度计算取决于maxKey,这样会导致不同的敏感结果。还要注意重复查询时导致分布信息的泄漏问题。

另外,可以使用Private Data-Manipulation Language,作为一种专门为隐私保护数据处理设计的特殊语言,可以在不泄露原始数据的前提下,为用户提供安全的数据操作能力。

目前已经有部分将差分隐私融入数据库系统的实践,如Google DP、Airavat、PINQ等系统。

4 集成框架

虽然有许多安全方案,但是将其集成到数据库系统中需要更多的努力。

由于系统的攻击面是整个堆栈,所以仅仅使用加密存储是不够的,因此需要集成更多的隐私保护技术。另一方面,目前的解决方案是独立的,不同的方案专注于数据库的不同流程,比如计算安全一节中介绍的方案解决的是如何在处理数据的过程中保护数据,而差分隐私解决的是如何保护数据的返回结果,而组合这些技术需要考虑更多的事情。

首先,在集成的过程中,需要保证从客户端发送查询请求到接收到结果的整个过程是安全的,并且有较好的性能,另外要有可用性,不需要消耗过多的资源并且隐私保护的过程是可理解的。

使用安全计算,会导致性能的降低,使用差分隐私,会导致准确度的降低,也会影响性能,如果进行简单的组合,导致的是较低的准确度与速度。因此需要高效的应用办法。

针对Secure Multi-party Computation,提出了Conclave框架,采用混淆电路保护中间结果,将大规模数据进行分区,拆分数据查询过程为本地处理(local cleartext processing)、MPC处理、两者并行处理,这样可以优化不必要的MPC过程,从而提高性能,但是此框架只考虑了计算安全。

针对Trusted Execution Environment,提出了Opaque框架,作为分布式的隐私保护数据分析平台应用于Spark。相对于MPC有更好的性能,缺点在于需要特定的硬件设备。

进一步有Shrinkwrap数据查询框架,结合了差分隐私技术,同时使用基于混淆电路的MPC。在差分隐私查询执行过程中,适当地披露一些中间结果的基数信息来帮助更好的优化。利用差分隐私代替部分MPC过程,从而提高了性能。同样有Crypto-assisted框架,也是结合了安全计算和差分隐私,可以为多个数据所有者提供安全的数据查询能力并且有较高的查询准确度。

5 总结

本文粗略介绍了数据库系统安全和隐私保护的一些相关的技术,以及将这些技术集成到数据库系统中的一些框架。

然而还有更多的问题需要解决,例如更新数据时过于精确的匹配模式导致的隐私问题、不同设备间数据同步导致的信息泄漏问题等等,另外还要考虑事务的ACID特性,客户端方面查询时的接口设计,可能需要传递一些参数来选择不同的隐私保护算法,以及算法对浮点数的支持等等。

随着数据量的日益增长,数据安全和隐私保护问题越来越重要,虽然目前的隐私保护技术有很多,但是集成到数据库系统会带来更多的挑战,有更多的问题亟待解决。

6 参考

[1] He, **, et al. “Practical security and privacy for database systems.” Proceedings of the 2021 International Conference on Management of Data. 2021.

[2] Volgushev, Nikolaj, et al. “Conclave: secure multi-party computation on big data.” Proceedings of the Fourteenth EuroSys Conference 2019. 2019.

[3] Zheng, Wenting, et al. “Opaque: An oblivious and encrypted distributed analytics platform.” 14th USENIX Symposium on Networked Systems Design and Implementation (NSDI 17). 2017.

[4] Bater, Johes, et al. “Shrinkwrap: Differentially-private query processing in private data federations.” arxiv preprint arxiv:1810.01816 (2018).

[5] Roy Chowdhury, Amrita, et al. “Cryptϵ: Crypto-assisted differential privacy on untrusted servers.” Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data. 2020.


数据库安全和隐私保护
https://gentlecold.top/20240515/security-and-privacy-for-database/
作者
GentleCold
发布于
2024年5月15日
许可协议