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