数据库应用安全:如何平衡加密与访问控制

日期: 2010-08-16 作者:Andreas Antonopoulos翻译:王勇 来源:TechTarget中国 英文

通常情况下,公司一些最敏感的数据存储在数据库中。这些数据包括医疗记录、员工记录、信用卡号码、社会保障号码等,它们受隐私法规的监管,必须加以保护。   然而,与此同时,公司必须在敏感数据的安全性与可用性之间进行折中,以满足因合法的商业使用而访问这些数据的需求,包括为保持业务连续性而进行的备份和远程复制。最强大的数据隐私保护技术是加密。

但是,为了既切实保证敏感数据的安全性而又不影响业务的连续性,使用加密技术时必须小心。在保护敏感数据以及平衡加密与访问控制方面,数据库应用安全的一些最佳实践值得借鉴:   数据最小化与模糊处理   保护敏感数据的最好、最有效的办法是当初就不存储或少存储数据。因此,公司……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

通常情况下,公司一些最敏感的数据存储在数据库中。这些数据包括医疗记录、员工记录、信用卡号码、社会保障号码等,它们受隐私法规的监管,必须加以保护。

  然而,与此同时,公司必须在敏感数据的安全性与可用性之间进行折中,以满足因合法的商业使用而访问这些数据的需求,包括为保持业务连续性而进行的备份和远程复制。最强大的数据隐私保护技术是加密。但是,为了既切实保证敏感数据的安全性而又不影响业务的连续性,使用加密技术时必须小心。在保护敏感数据以及平衡加密与访问控制方面,数据库应用安全的一些最佳实践值得借鉴:

  数据最小化与模糊处理

  保护敏感数据的最好、最有效的办法是当初就不存储或少存储数据。因此,公司应该经常检查下列数据最小化问题:

  • 该数据将来还需要吗?
  • 可以只存储用于身份验证的部分数据(例如社会保障号码的后四位)吗?
  • 可以使用其他不太敏感的数据(例如宠物的名字)进行身份验证吗?
  • 可以使用或存储数据的hash值(例如MD5、SHA)而不是原始数据本身吗?

  在许多情况下,这些问题可以减少需要存储的数据量并降低数据的敏感程度。

  数据加密

  公司可以对数据库中的数据进行加密,以防止其被盗或意外泄漏。在加密数据库中的数据时,有三个关键问题需要考虑:在何处加密数据、如何加密数据以及在何处存储密钥。下面将分别讨论这些问题:

  在何处加密数据——加密可以在应用层、数据库或底层存储器中进行。如果加密在数据库中进行,则还可以对特定字段、列、表或者整个数据库加密。当然,在应用层、数据库和底层存储器中加密各有利弊。

  由于应用层加密是在系统的最高层对数据进行加密,所以数据对应用层之下的各层都不可见。如果加密在应用层进行,则数据库、操作系统、网络以及数据经过的所有其他路径都只能看到加密后的形式。

  应用层加密的问题在于,通常会有多个高层应用程序需要访问数据,这些应用程序将需要密钥副本对数据进行解密。可以获得密钥副本的应用程序越多,密钥遭到泄漏的可能性就越大。

  但是,如果加密在较低的层进行,则你还需要进一步在其他层进行加密。例如,当数据流经数据库和应用程序之间的网络时需要对其进行加密,否则数据对网络层将是可见的。这将会引入需要加以保护的其他加密密钥。在何处进行加密是一种微妙的平衡,取决于应用程序和数据流的体系结构。

  如何加密数据——加密可以利用软件、硬件或者软件硬件相结合的方式实现。具体采用何种方式加密,取决于你希望达到的吞吐量(Mb/s)。如果希望获得较大的吞吐量,则你可能需要一些硬件加速方式。无论采用何种加密方式,有一个问题别无选择:始终使用先进的、强大的、基于标准的加密和密钥管理系统;不要试图发明自己的加密和密钥管理系统,你自己的加密和密钥管理系统可能奏效也可能不能奏效。目前,一些高端服务器处理器已经内置了支持AES(高级加密标准)的加密基元(Encryption Primitives),可以实现比基于软件的算法快得多(高达9倍)的加密。

  在何处存储密钥——加密最大的挑战不是加密本身,而是密钥的存储和分配。加密数据的安全性和可访问性并不高于密钥本身。密钥必须悉心保护,以防攻击者窃取。同时,密钥必须与加密数据分开存储,但又要可供加密/解密算法访问。另一方面,必须对密钥进行备份和复制,以便当原始数据和原始密钥由于灾难而丢失时可以解密备份数据。你选择的任何密钥管理系统必须支持下列功能:

  • 安全存储密钥。
  • 认证和跟踪审计对密钥的访问。
  • 托管或恢复密钥,以防密钥丢失。
  • 备份密钥并将密钥安全地传输到远程位置,以供恢复之用。

  加密标准

  许多加密和密钥管理系统都通过了以下两个实用标准的认证:美国联邦信息处理标准(Federal Information Processing Standard,FIPS)140,其安全级别分为1到4级;通用标准评估保证等级(Common Criteria Evaluation Assurance Level,CCEAL),其安全级别分为1到7级。这些标准提供了一个指标,可以比较不同系统的加密算法、密钥存储和密钥管理机制的安全性。级别越高意味着加密算法、密钥存储方法、防篡改硬件和密钥管理机制越好。例如,FIPS在确定一个认证级别时,考虑了11个不同方面的安全性。你应该根据数据的敏感程度和你所在地区的监管要求,选择合适的安全级别。

  数据库应用极为复杂,由多层松散耦合的组件构成。数据库应用的安全性难以保证,但又包含了公司最敏感的数据。然而,利用数据最小化和加密技术,公司可以巧妙地在数据的安全性、可访问性和可用性之间取得平衡。

翻译

王勇
王勇

相关推荐

  • 结束“智能手机加密”是蓄意误导吗?

    纽约地区检察官Cyrus Vance发布“智能手机加密和公共安全报告”2.0版,根据该报告指出,曼哈顿地区检察官办公室“自2014年10月以来合法没收423部苹果iPhone和iPad,因为默认设备加密而无法访问这些设备”,Vance称无法访问设备的数量在不断增加中……

  • 如何能在遭遇勒索软件攻击时硬气地“拒绝支付”?

    在勒索软件攻击事件发生之前就彻底地思考响应策略是非常关键的。准备好一套清晰的响应计划帮助企业决定是否需要为被劫持或加密的数据支付赎金,有助于理性地对付攻击,并制定最佳决策。

  • 为何我们要检查SSL流量?

    数据流量加密是否有利于网络安全?某种程度上来说,的确如此。然而美好的事物往往都是鱼和熊掌不可兼得,为提高安全性而牺牲应用性能是我们需要避免的事情……

  • 对于企业来说,自加密驱动器是好的选择吗?

    加密敏感数据是信息安全的关键要素,因为这可确保企业信息的保密性。然而,大多数用户发现很难部署加密,并且,企业管理员通常难以对所有用户设备执行加密。而自加密驱动器和设备正是这些加密问题的潜在解决方案……