欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

选择和部署数据库加密方案时需要考虑四个问题

程序员文章站 2022-10-02 15:00:18
攻击者总是盯着企业的关键数据,企业将许多人力物力投入到保护数据及数据库的方案中,例如加密系统。而市场上的加密方案各有特色。那么,在选择数据库的加密方案时,企业需要考虑哪些问题呢?  ...

攻击者总是盯着企业的关键数据,企业将许多人力物力投入到保护数据及数据库的方案中,例如加密系统。而市场上的加密方案各有特色。那么,在选择数据库的加密方案时,企业需要考虑哪些问题呢?

 

1、性能:在我们决定加密数据时,需要考虑的一个最大问题是,其性能影响如何?而对这个问题的回答只能是“视方案而定”。在我们的经验中,透明加密执行起来很好,它对数据库的性能影响一般从5%到8%不等。本地数据库对象加密对性能的影响可达到15%到20%。所以,企业必须根据自己的配置状况和性能要求考虑好此问题。

 

2、操作:如果你要加密介质,最好能够保证在需要时能够及时从此介质恢复。这就要求你经常测试磁带。同样道理,如果你使用密钥轮换来满足监管要求,就应当试这个过程的操作过程和方式,并测试你的厂商如何处理生产环境中的新密钥和老密钥。你最好按照计划来进行,而不要在怀疑某个加密密钥遭受破坏后才去测试。

 

3、复杂程度:加密系统都很复杂。你必须考虑加密引擎在哪里,它如何加密数据及加密哪些数据,哪些数据不加密,怎样提供密钥等等。作为一位数据库管理员,你需要认识到这种复杂程度并保证自己完全理解加密系统如何工作,特别是在你要证实加密能够正确地满足合规要求时,这尤其重要。

 

加密的复杂性不仅体现在部署方面,还体现在实施阶段。有人认为加密只不过是一个简单的数学公式问题,甚至还有人说,“咱能自己搞定!”。此言差矣。许多很有才的安全专家都在建设自己的加密系统时栽了跟头。不要去建立自己的安全加密系统。否则,轻则造成不安全,重则会丢失所有数据。所以,你应当采用一种经过检查的可信的加密产品。

 

4、密钥管理:你需要一个密钥管理系统来保护密钥。管理员不能将密钥存储到数据库中,也不能将密钥存放到磁盘上。企业应当将密钥管理规划到预算和操作计划中。

 

事实上,加密所带来的安全性与加密密钥所提供的安全性是一样的。虽然有不少报道宣称黑客可以绕过加密,但一个设计和实施良好的加密算法实际上是不可能被破解的。正是由于这个原因,多数攻击者并不尝试破解加密算法。相反,他们想得到的是密钥。

 

密钥管理是一个简单的概念:软件服务或硬件服务生成并安全地管理加密密钥。典型的服务可以存储主钥,由此生成所有的其它密钥,生成新密钥,废弃老密钥,并安全地存储所有密钥。这些服务还具备多种常见的管理功能,如身份验证和授权;还可以提供责任分离功能,并可以审计日志的生成。

 

许多密钥管理器都有图形用户界面来支持管理任务。你需要的是一个可以支持满足自己密钥需要的管理器,它应当易于管理并能够与你的数据库实现集成。

 

我们已经看到许多小型公司将密钥存放到磁盘上,结果在有时在数据库启动时,密钥不可用,因而无法成功地启动数据库。密钥管理系统可以与数据库集成到一起,因而可以从密钥服务器协商取得密钥,并可以在无需管理员干预的情况下自动运行。不过,要实现这些功能,你首先要设置用于将数据库向密钥服务器认证的证书,以及密钥服务器到数据库的认证。

 

数据库厂商一般都提供密钥管理器,虽然其质量有很大不同。这就需要你做好功课了。如果你不愿意,就不必采用厂商提供的密钥管理器,而是采用满足你需求的第三方的密钥管理产品。记住:密钥管理无论对于安全还是操作都至关重要。绝对不可在此问题上掉以轻心