机房360首页
当前位置:首页 » 数据安全 » 重视数据安全 保护数据

重视数据安全 保护数据

——数据库安全问题分析

来源:机房360 作者:盖国强 更新时间:2012-4-13 13:29:25

摘要:数据安全是一个永不过时的话题,而安全防范需要大家每一个人从日常做起,从细节做起,本文抛砖引玉,旨在提请大家注意安全问题。


  
  从Oracle Database11g开始,Oracle允许最多使用30个字符、大小写混合方式作为密码,同时支持DES和SHA-1算法进行加密(SHA-1算法支持大小写混合,通过初始化参数SEC_CASE_SENSITIVE_LOGON开关),使用password||salt的方式进行HASH加密。
  
  以下是Oracle9i数据库中口令的加密形式,DBA_USERS视图的PASSWORD字段显示了加密后的密钥:
  
  在Oracle11g中,密码从DBA_USERS视图中隐藏起来,这进一步的增强了安全性,即便具有访问视图权限的用户,也无法获得口令的加密串,由此我们也可以看出Oracle数据库软件的安全增强历程:
  
  口令的加密内容存储在底层的核心表(USER$是Oracle数据库的元数据表之一,仅超级用户或DBA用户才能访问)中,以下PASSWORD字段存储的是DES加密值,SPARE4存储的是SHA-1加密信息:
  
  关于口令的维护,Oracle支持各种约束性限制(通过utlpwdmg.sql脚本启用),诸如复杂程度、长度、有效期、失败登陆次数等等,通过这些增强,Oracle的口令限制可以定制出非常稳固的安全解决方案,如果你从未接触和研究过这些手段,那么可能就说明你的数据库还缺乏足够的第一层的安全防守。
  
  如果我们能够从Oracle的安全策略入手,学习一下Oracle的口令安全解决方案,那么就能够构建一套较为完善的基本安全解决方案。从Oracle的第一个Internet版本Oracle8i(1998年发布)开始,Oracle就提供了一个加密包DBMS_OBFUSCATION_TOOLKIT用于数据安全防护,这个加密包支持DES,3DES和MD5加密算法。
  
  通过非常简单的封装调用,DBMS_OBFUSCATION_TOOLKIT包就能够实现数据加密,以下是一个简单的示例输出,对于给定字符串进行MD5加密,以RAW方式返回加密结果(通过创建稳固的函数,可以实现用户登陆时的即时加密、比较、认证):
  
  从Oracle Database10g开始,DBMS_CRYPTO包被引入到数据库中,该程序包支持更广泛的加密算法,并用于替代DBMS_OBFUSCATION_TOOLKIT包,在新的版本中,诸如DES,3DES,AES,RC4,MD5,SHA-1,MD4,HMAC_MD5,HMAC_SH1等等加密算法和加密方式都被支持。
  
  通过选定的加密算法和加密方式,可以对重要数据进行加密和解密,我们不仅可以实现对于密码或数值、字符数据的加密,甚至可以对类似LOB等非结构化数据进行加密。以下范例是使用DES算法CBC模式和PKCS5补码规则的加密解密实现,示例模拟对于信用卡卡号的处理过程,金融类企业数据的安全性更为突出,需要进行安全加密的类型更为丰富:
  
  在本文最后我想重申的是,对于不同的数据库产品,都存在足够成熟的安全实现手段,应用这些安全手段就能够实现对于数据的基本保护,对于我们技术人最重要的是:认识和重视数据安全问题,并逐步推动企业或组织应用安全手段进行数据安全增强。
  
  重视数据,保护数据,重视数据安全问题,这是每一位技术人的共同使命!
  
  责任编辑:Randy

本文地址:http://www.jifang360.com/news/2012413/n646835290.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
更多
推荐图片