数据是应用的核心。对于绝大多数应用,存储数据的数据库是系统日常管理的重中之重。
数据库安全背景
根据verizon2014年的统计数据,96%数据攻击行为是针对数据库进行的。数据库已经成为外部入侵与内部渗透最主要的目标。
近些年来,用户权限隔离与口令防护为核心的传统安全策略已经越来越不能适应数据库访问安全管理要求。
例如,很多企业将系统主机日常运营维护工作都外包给第三方公司。因此第三方技术人员有操作系统权限登录数据库主机。
在此情况下,即使没有数据库账号,人员仍然有机会通过物理存储的数据文件解析出数据库中的数据。
数据库加密技术原理
针对物理存储的数据库文件安全问题,目前比较流行的防护方案是数据库存储加密。其底层原理本质上是TDE (Transparent Data Encryption)技术——一种透明数据加密技术
目前国际主流数据库都有自己的TDE加密解决方案。其核心是实现:一、在数据写入存储介质前将数据进行加密,实现存储加密;二、在从存储介质加载数据到内存前进行解密,实现数据的正常读取。
以Oracle数据库为例,从11g版本开始,TDE加密可以实现针对数据列(相当于数据表)和表空间的多级加密层次,能够满足约大多数加密管理要求。
数据库加密作用
1、防止物理文件的非法解析
在TDE加密之前,数据库的底层存储实际上是未经处理的。数据文件、备份磁带、归档日志等都存在泄密风险。
目前专业领域已有免费的解析软件,可对数据文件直接解析,输出结构化原始数据。
经过TDE处理后,存储在物理磁盘中的文件已经完成加密。即使反向解析仍显示乱码。
2、防止外部入侵非法访问数据
除数据库本身的TDE加密方案外,部分数据安全技术厂家能够通过TDE插件的形式与数据库集成交互实现加解密操作。
这种方式,可以实现独立于数据库控制体系之外的部分增强功能,即使数据库用户口令被获取,也无法访问到受保护的数据。
3、控制高权限用户访问
大型数据库中,都存在sys、sysdba、sa或root之类的超级管理员用户。这些用户对数据库的访问权限非常大,且不易监管。如果意外泄露权限,甚至合法持有此类权限的人员本身存在问题,数据库将面临巨大风险。
第三方实现的TDE方案,能够在管理数据加解密的同时,控制数据库管理员用户的访问,减少风险隐患。
TDE加密风险
1、数据库访问性能下降
毫无疑问,TDE的加解密是要消耗服务器计算资源的。对于事务繁忙、资源压力大的业务系统数据库,启用TDE之前,必须要全面权衡性能下降的风险。
通常情况下,启用TDE会提升服务器5%-10%的CPU占用。内存和磁盘的占用情况视具体的操作系统和硬件环境而定,影响结果差异较大。
2、TDE密钥的管理风险
以Oracle数据库为例,TDE的加解密过程涉及3个密码:一个是钱包密码,用来启动和关闭钱包;一个是master密钥,用来加解密表密钥;一个是表密钥,用来加解密数据。钱包密码是管理员用户手工输入的,master密钥和表密钥是系统管理的。
可见,钱包密码的管理非常重要。如果钱包密码丢失,则整个数据库加密的数据无法恢复。
3、TDE加密平台管理风险
第三方实现的数据库TDE加密系统,是部署在另外单独的硬件服务器中的。
根据木桶原理,加密系统所在的软硬件平台安全性至关重要。其各方面的资源配置与安全策略等管理要求必须不低于数据库服务器本身,才能够与数据库匹配使用。否则加密系统出现故障,数据库也将无法正常访问。
论文写作素材
在论文写作过程中,对于安全性要求比较高的项目背景,可以将数据库安全防护的内容纳入其中,丰富写作的素材。以下仅举例说明其可能涉及的管理过程。
1、计划过程组
在规划范围、规划风险、规划质量管理等管理过程中,可以体现在数据库加密是否纳入项目范围;加密相关WBS识别出哪些安全风险以及相应的应对措施;质量管理目标中的数据库安全指标体系制定等内容。
2、执行过程组
在实施质量保证和组建项目团队等管理过程中,可以体现为严格按照质量标准要求管理TDE过程中产生的密钥,做好备份保护机制;在招募团队时寻找有数据库加密实操经验的技术人员等。
3、监督和控制过程组
在控制质量和控制风险等管理过程中,可以体现为关注数据库加密后对核心业务功能响应速度影响的测试评估,以及采取的控制措施(申请额外的CPU或内存资源等);增强TDE加密管理系统平台风险管控,搭建高可用性环境等。