[发明专利]一种共有云中Key-Value数据库加密与安全查询的方法有效
申请号: | 201711399104.4 | 申请日: | 2017-12-22 |
公开(公告)号: | CN108170753B | 公开(公告)日: | 2021-08-17 |
发明(设计)人: | 王丹;杨萍;赵文兵;杜金莲;付利华;杜晓林;苏航 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F16/24 | 分类号: | G06F16/24;G06F16/25;G06F21/60;H04L29/06 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 张慧 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种共有云中Key‑Value数据库加密与安全查询的方法,包括:采用基于多层次自描述的Key‑Value数据库安全保护模型定制数据安全保护方案,通过安全代理secureKeyValue根据安全保护方案对key‑Value数据库加密与查询处理。本发明的方法适用于所有的Key‑Value型数据库,能很好的保护共有云环境中用户数据的机密性和完整性。 | ||
搜索关键词: | 一种 共有 key value 数据库 加密 安全 查询 方法 | ||
步骤1、基于多层次自描述的Key‑Value数据库安全保护模型
数据库安全保护模型,将Key‑Value存储模型中的所有元素,按功能及层次分解成不同的处理单位:元数据、加密原语、数据元素、加密原语到数据元素的映射,每个处理单位对应各自不同的描述模块;其中,元数据包括:数据库表名、列族名、行键元数据和对元数据加密的算法的引用;加密原语包含:列出所有加密原语的各项参数,即:密钥、密钥长度、初始化向量、加密后输出内容的大小;数据元素包含:列出数据记录中的数据域的信息,根据此信息确定应用于数据域的加密原语;加密原语到数据元素的映射,用于为数据元素模块中需要加密的数据指定其对应的加密原语;数据库安全保护模型使用基于JSON格式的数据库安全保护模型描述语言为数据集定制安全方案;
步骤2、key‑Value数据库加密与查询处理
用户将数据和安全方案发送至代理后,代理使用安全方案加密数据,并将加密后的数据格式化为合法的数据输入发送给云数据库服务端;同理,当终端应用发起查询请求后,代理将使用安全方案加密查询内容,格式化为符合Key‑Value数据库查询语义的新的查询语句,发送查询请求至云数据库服务器;云数据库服务器接收到代理发送来的加密后的查询请求后,在密文数据库上进行查询,查询过程与在未加密的Key‑Value数据库一致,云数据库服务端将查询响应传送至代理,由代理进行数据完整性验证后,将密文查询响应解密,使查询响应以明文发送给终端应用。
2.如权利要求1所述的共有云中Key‑Value数据库加密与安全查询的方法,其特征在于,Key‑Value数据库看作由任意数量n的列族组成,如式(1)所示,D={cf1,cf2,…,cfn} (1)
每个列族又包括任意数量m个列,如式(2),同时,对数据库表中指定行键rowKey的记录而言,每个列族中的列与其对应的列值构成了一个键值对<k,v>,
cfi={c1,c2,…,cm} (2)
为定制安全方案,引入一个超级行键的概念,记为δ,给定一个行键rk,寻找可以与它设置相同安全方案的其他行键,采用一个匹配函数σ(i(k),j(k))决定两个行键rki,rkj对应的第k个列族记录是否可以合并,如式(3)所示。
超级行键δ,定义为:δij(k)=(rki(k),rkj(k))
函数δ(rki(k),rkj(k))定义如下:
其中,num(rki(k))是行键rki指向记录的列族cfk中列的数量;dataType(rki(k))是列族cfk中各个列对应单元的数据类型。
3.如权利要求1所述的共有云中Key‑Value数据库加密与安全查询的方法,其特征在于,步骤2中代理进行数据完整性验证过程为:数据拥有者首先使用安全模型描述语言通过安全模型为数据集定制安全方案,数据拥有者将数据集和安全方案发送给代理;代理使用安全方案对数据集进行加密并且计算每条记录中加密行键的哈希值来检查查询响应数据的真实性。该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711399104.4/,转载请声明来源钻瓜专利网。