一种das模型中的数据库密钥管理方法

文档序号:7561439阅读:775来源:国知局
专利名称:一种das模型中的数据库密钥管理方法
技术领域
本发明涉及一种DAS模型中的数据库密钥管理方法,属于电子文本组织归类领 域。
背景技术
传统的密钥管理通常采用二级密钥管理,第一级密钥作为主密钥,用来加密和解 密工作密钥,第二级密钥为工作密钥,用来加密和解密数据,这种密钥管理模式的工作密钥 和密文数据存储于相同的数据库中,这对工作密钥的管理非常有利,但在数据库中数据库 管理员享有最高权限,他可以在任何时候提取工作密钥,并在毫无监测的情况下解密数据 库密文,同时,非法获取管理员权限的攻击者也可以轻而易举地解密数据库密文。针对此问 题,现有的密钥管理策略可分为硬件安全模块(Hardware Security Module,HSM)和安全服 务器两种。HSM用于提供密钥的安全存储,HSM通过硬件模块保障密钥的安全存储,在加密 /解密时,工作密钥通过HSM动态获得,使用完成后从服务器内存中清除工作密钥。另一种 方法是单独建立安全服务器,通过安全服务器管理用户、角色、权限、密钥。在DBMS中,由安 全模块和安全服务器通信来验证用户的身份和权限,并加密或解密数据。DBA负责数据库的 资源管理,而所有安全参数均由安全管理员(Security Administrator, SA)管理。现有的数据库加密密钥管理策略可以大致分为三类第一,密钥管理策略可以安全地保存主密钥,但并未给出妥善的工作密钥管理策 略。在实际中,工作密钥的安全直接关系到数据库中密文数据是否可以恢复为明文。第二,基于XML技术,采用数据库二级密钥管理策略,这种策略采用了一个三级 XML结构存储工作密钥,而将XML和主密钥存储于Smartcard中,这种密钥管理模式保证了 密钥的安全性,也提高了密钥的获取速度,但由于Smartcard中密钥的存储数量有限,受到 了存储空间的限制。第三,基于线性空间的正交基方法,采用一种子密钥数据库加密算法,这种方法对 数据库的所有记录进行加密,解密时只需解密相应数据项,但这种方法加密模式过于简单, 且产生了不必要的加密/解密冗余。

发明内容
针对目前DAS模型密钥管理中安全保障困难、存储空间受限等问题,提出一种DAS 模型中的数据库密钥管理方法,能够同时适用于关系数据库和XML数据库,在安全性方面, HSM的存储方式杜绝了在服务器端获得主密钥或工作密钥的可能,密钥字典将二级密钥信 息存储于服务器端,解除了密钥存储数量的限制,多叉树路径哈希值的存储策略隐藏了二 级密钥信息和数据库密文的链接,保障了密钥的安全性。本发明的技术方案如下一种DAS模型中的数据库密钥管理方法,包括以下步骤第一步通过关系数据库和XML数据库的路径,构造密钥字典;
第二步二级密钥信息存储于数据库服务器端,在对数据进行加密或解密时,通过 密钥字典查询确定二级密钥信息,将二级密钥信息传输至客户端;第三步数据所有者使用主密钥在客户端的HSM中产生工作密钥,而由工作密钥 完成数据的加密和解密。其中第一步中密钥字典构造方法包括以下步骤A 根据数据库的加密粒度信息,构建密钥字典多叉树,其中包括数据的表名、字段 名、XML路径、记录ID和二级密钥信息,由加密粒度确定具体包含内容;B:若数据库为关系型数据库,密钥字典多叉树路径的构建方式为Key Dictionary-TableName-Column Name-Record ID-Encryption Information ;C 若数据库为XML数据库,密钥字典多叉树路径的构建方式为Key Dictionary-TableName-Record ID-XMLPath-Encryption Information ;D 将密钥字典多叉树按深度优先方式拆分为多条路径,每条路径的格式为 PathlRootNode-ChildNode-----LeafNode},并求得其哈希值;E 将二级密钥信息存储到多叉树路径对应的NodeValue字段中,构建完成密钥字
Fffi. 其中第一步中在密钥字典查询的方法为首先客户端提交数据库检索请求,通过 数据库的密文检索模块获取检索结果;其次根据数据库检索请求获得多叉树的路径信息, 包括表名、记录ID、字段信息、XML路径,对此路径求哈希,并在密钥字典中查询该哈希值对 应的二级密钥信息;然后将二级密钥信息返回至客户端,由HSM完成二级密钥信息的加密, 获得工作密钥;最后由HSM提供工作密钥并完成数据库密文结果的解密,向用户返回明文 结果。其中第二步中查询确定二级密钥信息的方法包括以下步骤步骤1执行数据库密文检索,将检索到的密文结果返回至客户端,并根据数据库 检索请求确定检索的表名、字段名、XML路径、记录ID相关信息;步骤2构建密钥字典多叉树路径,并对所构建的XML路径求哈希,向服务器端提交 二级密钥信息的查询请求;步骤3服务器端收到查询请求后,将客户端求得的哈希值作为关键词,在密钥字 典表中进行检索,获得二级密钥信息;步骤4将查询结果二级密钥信息返回至客户端,由HSM提取主密钥,完成二级密钥 信息的加密,获得工作密钥;步骤5由HSM采用工作密钥完成数据库密文结果的数据解密,并将明文结果返回 给用户。本发明的有益效果 本发明针对HSM中密钥数量受限的问题,提出由HSM存储主密钥,而通过多叉树结 构建立密钥字典,将二级密钥信息存储于服务器端的密钥管理策略。这种策略通过哈希技 术保证密钥字典的安全性,服务器端难以根据密钥字典判断密文与二级密钥信息的对应关 系,HSM的主密钥存储方式也保证了主密钥和工作密钥的安全性,同时,由哈希值的快速匹 配提取密钥的方式,显著提高了二级密钥信息的提取速度,进而提高了数据库密钥的使用 效率。附图 说明

图1本发明的DAS模型中的数据库密钥管理方法流程框图;图2本发明的DAS模型中的数据库密钥管理方法中关系数据库的密钥字典;图3本发明的DAS模型中的数据库密钥管理方法XML数据库的密钥字典;图4本发明的DAS模型中的数据库密钥管理方法中多叉树结构图;图5本发明的DAS模型中的数据库密钥管理方法中密钥查询与提取流程图。
具体实施例方式下面结合附图和实施例,对本发明所述的技术方案作进一步的阐述。如图1示,主密钥存储于客户端的HSM中,所以密钥信息的管理不再由传统模式的 数据库管理员完成,而是数据所有者通过HSM完成,如今Smartcard已成为公认的最安全和 廉价的HSM设备,由于持有Smartcard的人是数据所有者,因此这种模式避免了来自外部入 侵者和内部管理人员的攻击,进而保障了密钥管理的安全性。二级密钥信息按密钥字典格 式存储于服务器端,在对数据进行加密/解密时,先查询加密/解密中所需的二级密钥信 息,将二级密钥信息传输至客户端,数据所有者使用主密钥在客户端的HSM中产生工作密 钥,而由工作密钥完成数据的加密和解密。根据数据库结构特征的不同,分别建立关系数据库和XML数据库的密钥字典结 构,如图2、图3示,为了能够适应多种粒度的加密,采用多叉树的数据结构,这样无论是关 系数据库,还是XML数据库,其密钥字典的建立方式是能够通用的。另一方面,基于多叉树 存储结构的数据查询效率不高。在DAS模型中,数据库密文检索完成后,将检索结果返回至 客户端,检索结果可能是明文也可能是密文;若是密文,客户端在密钥字典中查询到二级密 钥信息的时间很长,虽然数据库密文检索的效率得到提高,但大部分时间会消耗在密文结 果的解密上。针对此问题,提出一种基于哈希查询的二级密钥信息快速检索策略,这种策略将 多叉树按其路径进行拆分,通过关系模式存储每条路径的哈希值、二级密钥信息、加密粒度 和相关加密信息,所以关系数据库和XML数据库的密钥字典都被转化为相应的关系数据存 储,而对多叉树路径求哈希的方式间接加密了数据库的表名、字段名、XML路径等敏感信息, 使服务器端无法在二级密钥信息和多叉树路径之间建立起对应关系,此外,主密钥存储于 Smartcard中,服务器端更加无法获得工作密钥,因此,密钥信息的安全性获得了保障,而通 过哈希字段的快速匹配,可获得和数据库明文检索性能接近的密文检索效率。在图2、图3示的多叉树结构中,根据加密粒度的不同,密钥字典中需要加密的敏 感信息包括数据库表名、字段名、记录ID、XML数据库的节点路径等信息,二级密钥信息只 用来产生工作密钥,因此二级密钥信息本身不需要加密。假设密钥字典的多叉树结构如图4 所示,按照深度优先遍历将多叉树的每条路径求哈希后,将哈希值存储于服务器端,多叉树 路径按如下格式存储Hash (Path {RootNode-ChiIdNode-----LeafNode})RootNode, ChildNode, LeafNode分别代表根节点、子节点和叶子节点。由于多叉 树的路径不会出现重复,且对路径求哈希后的长度也是相同的,因此这种存储方式不会受到基于频率的攻击和基于数据大小的攻击。 在密钥字典的构建过程中,采用深度优先遍历多叉树方式取得每条路径,根据路 径哈希值存储二级密钥信息,密钥字典的产生过程为步骤1根据数据库的加密粒度信息,构建密钥字典多叉树,其中可能包括数据的 表名、字段名(关系型数据库)、XML路径(XML数据库)、记录ID和二级密钥信息,由加密 粒度确定具体包含哪些项,如加密粒度为记录级的关系型数据库,多叉树包含表名、记录ID 和二级密钥信息;步骤2若数据库为关系型数据库,密钥字典多叉树路径的构建方式为 KeyDictionary-Table Name-Column Name-Record ID-Encryption Information ;步骤3若 数据库为XML数据库,密钥字典多叉树路径的构建方式为Key Dictionary-Table Name-R ecordlD-XMLPath-Encryption Information ;步骤4将密钥字典多叉树按深度优先方式拆分为多条路径,每条路径的格式为 PathlRootNode-ChildNode-----LeafNode},并求得其哈希值;步骤5将二级密钥信息存储到多叉树路径对应的NodeValue字段中,构建完成的 密钥字典如表1所示。表1密钥字典
权利要求
1.一种DAS模型中的数据库密钥管理方法,其特征在于包括以下步骤 第一步通过关系数据库和XML数据库的路径,构造密钥字典;第二步二级密钥信息存储于数据库服务器端,在对数据进行加密或解密时,通过密钥 字典查询确定二级密钥信息,将二级密钥信息传输至客户端;第三步数据所有者使用主密钥在客户端的HSM中产生工作密钥,而由工作密钥完成 数据的加密和解密。
2.如权利要求1所述的一种DAS模型中的数据库密钥管理方法,其特征在于其中第 一步中密钥字典构造方法包括以下步骤A 根据数据库的加密粒度信息,构建密钥字典多叉树,其中包括数据的表名、字段名、 XML路径、记录ID和二级密钥信息,由加密粒度确定具体包含内容;B:若数据库为关系型数据库,密钥字典多叉树路径的构建方式为Key Dictionary-TableName-Column Name-Record ID-Encryption Information ;C :若数据库为XML数据库,密钥字典多叉树路径的构建方式为Key Dictionary-TableName-Record ID-XMLPath-Encryption Information ;D 将密钥字典多叉树按深度优先方式拆分为多条路径,每条路径的格式为PathlRootNode-ChildNode-----LeafNode},并求得其哈希值;E 将二级密钥信息存储到多叉树路径对应的NodeValue字段中,构建完成密钥字典。
3.如权利要求1或2所述的一种DAS模型中的数据库密钥管理方法,其特征在于其 中第一步中在密钥字典查询的方法为首先客户端提交数据库检索请求,通过数据库的密 文检索模块获取检索结果;其次根据数据库检索请求获得多叉树的路径信息,包括表名、记 录ID、字段信息、XML路径,对此路径求哈希,并在密钥字典中查询该哈希值对应的二级密 钥信息;然后将二级密钥信息返回至客户端,由HSM完成二级密钥信息的加密,获得工作密 钥;最后由HSM提供工作密钥并完成数据库密文结果的解密,向用户返回明文结果。
4.如权利要求1或2所述的一种DAS模型中的数据库密钥管理方法,其特征在于其 中第二步中查询确定二级密钥信息的方法包括以下步骤步骤1执行数据库密文检索,将检索到的密文结果返回至客户端,并根据数据库检索 请求确定检索的表名、字段名、XML路径、记录ID相关信息;步骤2构建密钥字典多叉树路径,并对所构建的XML路径求哈希,向服务器端提交二级 密钥信息的查询请求;步骤3服务器端收到查询请求后,将客户端求得的哈希值作为关键词,在密钥字典表 中进行检索,获得二级密钥信息;步骤4将查询结果二级密钥信息返回至客户端,由HSM提取主密钥,完成二级密钥信息 的加密,获得工作密钥;步骤5由HSM采用工作密钥完成数据库密文结果的数据解密,并将明文结果返回给用户。
全文摘要
本发明涉及一种DAS模型中的数据库密钥管理方法,属于电子文本组织归类领域。通过关系数据库和XML数据库的路径,构造密钥字典;二级密钥信息存储于数据库服务器端,在对数据进行加密或解密时,通过密钥字典查询确定二级密钥信息,将二级密钥信息传输至客户端;数据所有者使用主密钥在客户端的HSM中产生工作密钥,而由工作密钥完成数据的加密和解密。本发明能够同时适用于关系数据库和XML数据库,在安全性方面,HSM的存储方式杜绝了在服务器端获得主密钥或工作密钥的可能,密钥字典将二级密钥信息存储于服务器端,解除了密钥存储数量的限制,多叉树路径哈希值的存储策略隐藏了二级密钥信息和数据库密文的链接,保障了密钥的安全性。
文档编号H04L29/06GK102143159SQ20111000656
公开日2011年8月3日 申请日期2011年1月13日 优先权日2011年1月13日
发明者刘念, 周亚建, 平源, 彭维平, 杨义先 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1