发明名称 一种基于多级视图和触发器的数据库透明加解密方法
摘要 本发明用于对关系型数据库中的数据进行加密保护,防止信息被非法的窃取,在关系型数据库通用的视图和触发器的基础上,通过实现多级视图并结合基于行标识的触发器实现对敏感数据的自动加密和解密,达到对应用透明的目标,应用系统无需改造;通过多级视图,实现对数据库查询行为的精确判定,从而可以针对不同种类的查询行为,构建专门的基于LRU缓存管理机制的密文和明文数据缓存策略,构建对密文数据进行批量预解密处理的策略,实现高效的密文查询。
申请公布号 CN102243629A 申请公布日期 2011.11.16
申请号 CN201010169778.7 申请日期 2010.05.12
申请人 北京安华金和科技有限公司 发明人 赵飞
分类号 G06F17/30(2006.01)I;G06F21/00(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 代理人
主权项 一种基于多级视图和触发器的数据库透明加解密方法,采用在密文表上建立三级视图的方法,包括如下步骤:(1)在密文表上直接构建第一级视图,除了对表上的所有字段进行检索外,增加了一个伪列CALLTIMES,伪列CALLTIMES中保存一个伪列值AI,所述伪列值AI为每个数据库操作会话,在每次执行本视图的时候,自动生成的一个唯一的值,用于表示一次新的查询操作的开始;(2)在第一级视图上构建第二级视图,除了对一级视图的所有字段进行检索外,增加一个伪列TROWID,用于获取记录的行标识;在二级视图上构建INSTEADOF类型的触发器,其触发条件为INSERT和UPDATE,在触发器中调用加密函数来完成对敏感数据的加密并保存到密文表相应的加密字段中,在执行UPDATE操作时,触发器通过行标识来对密文表数据进行更新;对于被加密的字段,在第二级视图中调用解密函数来完成解密,调用解密函数时将第一级视图中伪列CALLTIMES的值和密文字段的唯一标识FIELDID(FIELDID的具体值是在对明文数据进行预处理的过程中生成的),作为参数传递给解密函数;(3)在第二级视图上构建第三级视图,这个视图中包含密文表的所有字段,并且和密文表字段的顺序是一致的,由于在二级视图中完成了对加密字段数据的解密,因此这里将返回二级视图解密后的明文数据。
地址 100081 北京市海淀区中关村南大街11号2号楼201室