数据库信息加密方法和系统技术方案

技术编号:3842271 阅读:281 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数据库信息加密方法和使用该方法的数据库信息加密系统,属于信息安全技术领域。本发明专利技术方法包括:通过密码设备单元加密数据表中的敏感字段,并为其创建指向加密后的数据表的同名视图;维护用户对密钥的使用权限,和加密所使用的密码设备单元、加密方式和密钥;对于有权限的用户,允许其顺利读取并修改加密信息;对于无权限的用户,读取加密信息时使用随机密钥错误解密,修改加密信息时则返回获取密钥失败信息。本发明专利技术系统包括一个安全管理主机和一个或多个数据库服务器主机,并设置抽象密码设备组件提供统一的加解密接口并调用一个或多个不同的密码设备单元实现加解密。本发明专利技术可用于数据库信息的加密。

【技术实现步骤摘要】

本专利技术涉及数据库信息安全,具体地说,涉及一种数据库信息加密方法和使用该方法 的数据库信息加密系统。属于信息安全

技术介绍
随着信息化进程的不断推进,信息资产成为了企业的核心资产之一,如何采用技术手 段维护企业业务数据的安全性已成为企业普遍关注的问题。而作为数据存储和管理的核心 部件,数据库系统的安全性更是引起的广泛的重视。在配置了信息系统的企业中,通常会雇佣数据库管理员来进行数据库系统的维护和管 理,这些超级用户拥有数据库中所有数据的控制权。然而,在现代企业业务流程中,数据 库管理员仅是技术人员,而并非这些数据的所有者。 一旦数据库管理员被收买,将企业的 机密数据泄露出去,将对企业造成非常严重的损害。如何限制数据库管理员滥用权限成为 信息系统应用中亟待解决的问题之一。此外,存储介质的丢失也是企业信息系统的重要威胁之一。竞争对手可以通过窃取服 务器磁盘等手段,获得存储介质,并进一步解析出敏感数据。解决信息系统中敏感数据的机密性问题,其最有效手段就是进行加密。数据库管理系 统厂商纷纷在产品中提供了相应的安全功能,现有DBMS产品中支持加密的包括0racle、 DB2和MS-SQL Server。下表1对各DBMS产品中的加密机制进行了列表对比。表l: DBMS内部加密机制对比名称密钥管理特点针对威胁加密粒度实现方法Oracle完全由服务器管理,安 全管理员操作存储介质丢失字段级在磁盘操作过程加解 密DB2由用户口令生成,存储 口令提示保护私人数据, 非拥有者拒绝 访问字段级扩展SQL语句和函数实 现SQLServer根密钥受操作系统保保护私人数据,字段级扩展SQL语句和函数实5<table>table see original document page 6</column></row><table>通过对0racle、 DB2和SQL Server的分析不难发现,使用数据库管理系统所提供的 加密机制实现敏感数据的机密性保护,存在着难以克服的缺点,主要体现在以下三个方面:(1) 对上层应用不透明,更新成本高。企业信息系统一旦投入使用,其生命周期往 往很长,这主要是因为信息系统的造价较高,且业务数据模型基本稳定。若要在应用中增 加对敏感数据的加密保护策略,除了需要采购支持加密功能的DBMS,还需对原有的应用层 软件进行改造。由于数据库管理系统所提供的加密机制往往使用特殊的SQL语句,对上层 应用的更改就不可避免,部署成本极高。(2) 密钥由数据库管理员管理,难以防范数据库管理员滥用权限。在oracle和sql server提供的加密机制之中,加解密密钥依赖于数据库管理员进行管理;DB2中虽然密钥 是由用户口令经变化生成的,但用户口令也存储于数据库系统之内,数据库管理员依然可 以通过获取用户口令再进一步的获取数据加解密密钥。使用数据库管理系统提供的加密机 制,就无法避免密钥受到数据库管理员的控制。数据库管理员掌握着密钥,也就间接的掌 握了敏感数据,如何限制数据库管理员对权限的滥用,成为难以解决的问题(3) 密钥和密文数据保存在同一服务器中,存储介质丢失风险大。由于库内加密模 式的局限,用户用于加解密的密钥也依赖数据库系统进行管理。 一旦攻击者获取了存储介 质,就可以首先找出库内存储的密钥,然后对密文信息进行解密,存储介质丢失所引起的 风险巨大。
技术实现思路
本专利技术的目的在于克服现有技术中存在的问题,提供一种数据库信息加密方法和使用 该方法的数据库信息加密系统。本专利技术所述数据库信息加密方法包括a) 对于一个或多个数据库中的一个或多个数据表,使用相同或不同的密码设备单元, 以相同或不同的密钥加密其中一个或多个敏感字段,并为其创建同名视图,所述视图指向 加密后的数据表;b) 维护数据库用户对加密密钥的使用权限,以及各个经加密的敏感字段在加密时所 使用的密码设备单元、加密方式和密钥;C)用户请求读取经加密的数据表时,检查用户是否具有相应的敏感字段的密钥使用 权限,若是,则取得并使用密钥以和所述加密方式相应的解密方式解密,用户获得正确的 敏感字段信息;若否,则使用随机密钥以和所述加密方式相应的解密方式解密,用户获得 经错误解密的敏感字段信息;所述随机密钥优选为和所述正确的密钥长度相同的由随机数 生成的密钥。所述方法还可包括d)用户请求修改所述经加密的敏感字段信息时,检査用户是否具有相应敏感字段的 密钥使用权限,若是,则加密修改后的内容;若否,则返回获取密钥失败信息,不进行数 据修改操作。优选地,步骤a)所述加密通过由抽象密码设备组件提供的统一的接口实现,所述抽象 密码设备组件进一步调用一个或多个不同的所述密码设备单元实施加解密操作,所述密码 设备单元由所述抽象密码设备组件管理,并可以动态的加载或移除。优选地,对于步骤a)所述一个或多个数据库,每个数据库均可使用单独的所述抽象密 码设备组件,或各个数据库共享同一个所述抽象密码设备组件。优选地,所述密码设备单元可以是硬件加密设备或软件加密设备。优选地,步骤a)通过下述方法实现对数据表A中的敏感字段col实施加密i. 生成一个长度为k-length的随机数key,作为加密密钥;ii. 在待加密的数据表A中创建一个新的字段col—encrypt;iii. 对敏感字段col以key为密钥,选定加密设备和加密方式进行加密,并将密文 存储于col—encrypt中;iv. 将col字段中的所有信息置为空;v. 将数据表A改名为A—bak;vi. 创建基于A—bak的视图A,所述视图对应的字段包括AjDak中除AjDak.col和 A—bak. col—encrypt之外的所有字段和A. col字段,所述A. col字段的定义为col的值 等于对A—bak. col—encrypt字段解密所得到的内容。优选地,步骤c)所述密钥可以更新,所述更新使用事务进行封装以保证操作的完整性, 所述更新按照下述步骤进行事务开始;使用当前密钥解密关系;使用新密钥加密关系; 销毁当前密钥;事务结束。此外,本专利技术还提供了使用上述方法的数据库信息加密系统,如图1所示,本专利技术所 述系统包括一个安全管理主机和一个或多个数据库服务器主机;所述安全管理主机包括安全管理组件和与之数据连接的密码元数据管理单元;所述安全管理组件为安全管理员提供用户接口,以设定密文安全策略;所述密码元数据管理单元维护数据库用户对加密密钥的使用权限,以及各个经加密的 敏感字段在加密时所使用的密码设备单元、加密方式和密钥;所述数据库服务器主机包括数据库管理系统,加密代理单元,抽象密码设备组件和一 个或多个密码设备单元;所述加密代理单元和所述安全管理组件,所述数据库管理系统和 抽象密码设备组件数据连接;各个密码设备单元均和所述抽象密码设备组件数据连接;所述数据库管理系统提供标准SQL查询接口,接受用户操作请求并返回操作结果,所 述操作请求包括数据的查询和修改等;所述加密代理单元接受加解密请求并在所述抽象密码设备组件的协调下指导所述密 码设备单元进行加解密操作,并返回加解密结果。具体地,所述安全管理组件包括一个在线监听装置;所述在线监听装置用于接收发自 加密代理单元的密钥査询本文档来自技高网
...

【技术保护点】
一种数据库信息加密方法,其特征在于,所述方法包括: a)对于一个或多个数据库中的一个或多个数据表,使用相同或不同的密码设备单元,以相同或不同的密钥加密其中一个或多个敏感字段,并为其创建同名视图,所述视图指向加密后的数据表; b) 维护数据库用户对加密密钥的使用权限,以及各个经加密的敏感字段在加密时所使用的密码设备单元、加密方式和密钥; c)用户请求读取经加密的数据表时,检查用户是否具有相应的敏感字段的密钥使用权限,若是,则取得并使用密钥以和所述加密方式相应的解 密方式解密,用户获得正确的敏感字段信息;若否,则使用随机密钥以和所述加密方式相应的解密方式解密,用户获得经错误解密的敏感字段信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈驰张敏咸鹤群安然
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1