Chinaunix首页 | 论坛 | 博客
  • 博客访问: 512861
  • 博文数量: 294
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 4260
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-23 06:10
文章分类

全部博文(294)

文章存档

2011年(1)

2008年(293)

我的朋友

分类: 服务器与存储

2008-06-24 15:43:36

在信息安全工作中,企业数据库加密是最令人畏缩的工作了。除了管理可能存在的兼容性、可靠性和运行需求问题外,安全部门还要面对大量的加密选项、密钥管理缺陷、以及应用程序的综合需求。虽然数据库加密决不容轻视,但具备一些知识和规划就会对确保一个项目的成功大有帮助。

  任何加密工作的第一步都是确定保护什么数据,以及要防范的对象是谁。我曾经合作过很多客户,他们都试图跳过这一步而直接进入技术配置。这些客户的数目之多,一定会让你大吃一惊。在实施技术之前,必须提前解决如下问题:

  • 你想阻止数据库用户使用数据吗?
  • 你想要保护数据不受外部攻击吗?
  • 你需要保护所有的数据,还是仅仅是像信用卡数字那样的一列数据?

  只有两种方法真正实用于加密技术,每一种都将直接决定着组织系统结构的选择。

  媒体保护加密

  第一种方法是媒体保护加密。在这种方式中,全部数据库都有可能被加密,其目的是保护数据库文件或内容,以防物理或虚拟方式窃取。这里需要注意的是有人会偷取数据库文件或者储存数据的媒体。如果你担心有人侵入服务器并窃取数据库文件,或是当你换出硬盘时丢失数据库文件,选择这种方法是相当正确的。尽管这种方法可能能够保护数据,防止系统管理员或其他有权访问保存数据库的地址的用户盗窃。但是,这种方法不能阻止数据管理员或者用户(或者任何侵入其账户的人)访问这些数据。

  媒体加密是相当直接的,并有大量好产品和技术可供选择。由于是在数据库以外加密,因而它影响数据库性能的可能性就更小,也不需要对数据库或应用程序作出任何改变。一些数据库管理系统包括这样一种可供选择的加密技术:允许在数据表格或整个数据库水平上加密。或者,可以选择使用几乎任何一种高性能文件或文件夹加密工具。在这两种情况下,加密操作是在服务器上进行的,如果它超出可接受的限制以外,会反过来影响性能。这时就要考虑使用一种内嵌式加密设备,该设备带有专用硬件来加速加密进程。

  加密和责任分离

  第二种组织采用的方法的是责任分离加密。如果你的企业为了阻止管理员看到数据,以及其它类似情形的发生,需要对数据库中的信用卡数字进行加密,那么这是最好的选择。责任分离加密比对媒体保护加密要复杂得多;它包括保护数据,以防合法数据库用户盗窃,并要求数据库本身进行更多的改变。几乎每种情况下,这都意味着需要进行列级加密。如果列是一个单独的区域,不是一个主要的或是外部密钥,不依赖于其用于标定性能的系统结构,也不受限于范围搜索,那么对于加密而言,这就是一种不错的选择。反之,它仍然可以用于加密,但需要改变主要的数据库和应用程序。

  既然你能够按照所构建的加密技术进行规划,那么为列级加密技术设计一个新的数据库的过程就是非常简单的。此外,一些含有繁琐的应用程序附件的遗留体系,需要一个主要密钥进行加密,对于这些体系,该项目将持续2-3年。大部分加密方案都中途破产,其难点是由密钥关系,指标和任何必要应用程序的改变决定的。

  数据库加密的一些建议

  虽然所有主要的数据库管理系统提供了列级加密,但是没有一个系统支持去除那些数据库默认的密钥。我的建议是尽量使用本地的加密性能,不要使用第三方密钥管理产品来将密钥从数据库中分离出来。该策略允许安全管理者,而不是数据库管理者,对密钥进行管理,支持责任分离。不论其他任何人告诉你什么,你都不要尝试加密主要密钥。最后,确定你真正得到了你期望的利益——数据库加密无法防止SQL入,并无法阻止一个有权进入的危险账户。

  关于域加密,我的建议是:如果可能的话,尽量避免在现存的数据库中使用加密,而要在含有敏感信息的数据库中构建加密技术。比如,在将信用卡数据从现存系统中分离出来的时候,我的一些大型企业客户正采用信用卡数据来构建安全中心库,这些信用卡数据是用于交易的、并已经经过加密。如果需要在现存系统中分离职责,可以考虑使用媒体保护加密,然后可以添加另一种数据库安全技术——比如数据库活动监控——来实现责任分离。

阅读(614) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~