数据库承载着海量个人信息,甚至包含一些敏感信息。如何管理这些数据,对于不少企业来说,是一件棘手的事情。
现在,数据库开发人员可以使用成熟的工具和技术保护数据信息。如何保护?这个还要涉及对数学的巧妙应用。比如,一些最简单的系统看起来只是现代版本的密码,本质上是经典解码轮的数字版本。随着数学的发展,数字的应用变得更加灵活,密码开始复杂起来。实验室里试验了几十年的那些技术想法最终得到了研发和应用,成为了现实。
这些算法正在成为巩固业务关系和确保准确真实工作流程的基础。这些方法使公司可以更轻松地向客户提供个性化服务,同时保护他们的隐私。与此同时,这些方法能够在不妨碍服务交付的情况下更好地遵守管理数据流的法规。
以下是让数据库变得更安全的11 种工具和技术。
有时候,最简单的方法往往也足够实用。现代加密算法用一把钥匙加密数据,因此只有拥有钥匙的人才能读取数据。许多数据库可以使用AES等标准加密数据。如果这些硬件丢失,这能起到很好的数据保护作用。因为如果没有正确的加密密钥,数据仍然安全。
然而,这仍然存在局限性。如果攻击者能够入侵计算机,对称加密算法对运行中的计算机的保护程度是有限的。攻击者可以找到允许数据库处理合法操作的相同密钥。许多数据库提供了对“静止”信息进行加密的选项。例如,Oracle将其选项称为“透明数据加密”,这强调了开发人员则无需采取的其他必要的安全措施。
这种技术以不同的方式部署数学。它没有以加密形式锁定信息,而是增加了特定的噪声,因此很难找到具体的特定的数据个体。如果噪声数值正常,那么便不会影响整体统计数据,如平均值。这意味着,以年龄为例,从数据集中的年龄随机增加或减少几年,那么平均年龄将保持不变,因此难以找到年龄变动的具体个人,从而保护了用户隐私。
当然,差分隐私的使用依场景而定。如果合作伙伴不受信任,则可以使用差分隐私背后的数据集,通常仅为数据平均值和数据集的大小。在某种程度上来说,许多算法添加噪声做得很好,因为他们不会扭曲许多聚合的统计数据。目前,专家仍热衷于研究机器学习算法处理失真位,这是一个活跃的研究领域。
微软和谷歌提供将算法与数据存储的机器学习算法集成工具。例如,谷歌的Privacy-On-Beam将噪声添加机制与Apache Beam管道处理相结合。
将大文件归结为较小的数字,从而使其几乎无法逆转,这些计算有时被称为“消息验证代码”或“单向函数”。给定一个特定的结果或代码,找到将生成该特定代码的文件将花费太长时间。
哈希函数是区块链的重要组成部分,以一种可跟踪和识别篡改的方式将它们应用于数据的更新中。这可以防止加密货币交易中的欺诈行为,并且许多人正在将这些技术应用于需要确保数据一致的其他数据库。哈希函数可以帮助企业的数据合规。
美国国家标准与技术研究院 (NIST)的安全散列算法 (SHA)是广泛使用的标准集合。一些早期版本(如 SHA-0 和 SHA-1)具有明显的弱点,但较新的版本(如 SHA-2 和 SHA-3)则被认为比较安全。
像RSA或DSA这样的数字签名算法是更为复杂的计算,它将散列函数的篡改检测特性与带有认证信息的特定个人或机构相结合。他们依赖一个只有责任方知道的秘密密钥。例如,加密货币将财富的所有权与知道正确密钥的人联系起来,跟踪个人责任的数据库可以包括验证特定交易的数字签名。
简明的非交互式知识论证 (SNARK) 是数字签名更为复杂的一个版本,可以为复杂的个人信息证明,而不会泄露信息本身。这种技巧依赖于更复杂的数学,有时被称为“零知识证明”(ZKP)。
使用如SNARK和其他类似证明的数据库可以保护用户的隐私,同时确保他们合规。例如,一个非常简单的例子可能是数字驾驶执照,它可以证明一个人的年龄能够喝酒,但是不会透露他们的出生日期。一些人正在研究将该技术应用于疫苗护照。
SNARK和其他非交互式证明是一种热门的研究领域,这也基于各种编程语言的数十种算法。
处理使用传统加密算法锁定的数据的唯一方法是对其进行解密,这个过程可以将其暴露给任何有权访问计算机进行工作的人。同态加密算法使对加密信息进行计算而无需对其进行解密成为可能。最简单的算法允许进行一次算术运算,例如将两个加密数字相加。更复杂的算法可以进行任意计算,但速度通常要慢得多。为特定问题寻找最有效的方法也是一个热门的研究领域。
作为该领域研究的先驱之一,IBM发布了一个工具包,用于将其同态加密与适用于iOS和MacOS 的应用程序集成。
一些开发人员将他们的数据集拆分成很小的部分,然后将它们分发到许多独立的计算机中。有时这些位置会被打乱,因此无法预测哪台计算机将保存哪条记录。该解决方案主要用于软件包,这些软件包可以通过并行运行搜索或分析算法来加速所谓的大数据工作。最初的目的是速度,即快速保护数据的一种方式,但这也可能导致攻击弹性的扩大。
如果将一个数据集拆分成几块可以保护隐私,为什么不是无数块呢?比如常见的一种方式就是将数据直接存储在创建和使用的位置。用户的智能手机通常具有大量额外的计算力和存储空间。如果不需要集中分析和处理,那么避免将其传送到云服务器处理速度会更快、更具成本效益。
例如,许多浏览器支持复杂数据结构的本地存储。W3C标准包括用于具有键和值的文档样式模型的本地存储以及用于更多关系模型的索引版本。
一些研究人员正在通过随机生成新值来创建纯合成的数据集,但其方式遵循相同的模式并且在统计上基本相同。例如,一个名为RTI的研究智囊团创建了2010年美国人口普查数据的一个副本,包含随机住址的随机人群。这些人完全是虚构的,但他们的家庭住址和个人信息被选择为具有与真实值相同的基本统计资料。在许多情况下,研究人员可以测试算法生成与处理真实数据一样准确的数据保护方案。
一些研究人员正在开发工具来限制数据收集,并在存储数据之前对数据进行预处理。例如,Mozilla的Rally会跟踪想要研究互联网信息流的研究人员的浏览习惯,它会在调查期间安装一个特殊的插件,然后在最后将其删除。该工具将人群的关系形式化并强制执行收集和聚合的规则。
无状态计算是大部分网络的基础,许多高效驱动器能够以尽可能少的记录保存方式重新构建工作。在某些极端情况下,企业遵循了数据合规,且用户不太接受个性化服务时,删除数据库可以最大程度地保护用户隐私。