CN108170753A - 一种共有云中Key-Value数据库加密与安全查询的方法 - Google Patents

一种共有云中Key-Value数据库加密与安全查询的方法 Download PDF

Info

Publication number
CN108170753A
CN108170753A CN201711399104.4A CN201711399104A CN108170753A CN 108170753 A CN108170753 A CN 108170753A CN 201711399104 A CN201711399104 A CN 201711399104A CN 108170753 A CN108170753 A CN 108170753A
Authority
CN
China
Prior art keywords
data
key
database
value
cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711399104.4A
Other languages
English (en)
Other versions
CN108170753B (zh
Inventor
王丹
杨萍
赵文兵
杜金莲
付利华
杜晓林
苏航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201711399104.4A priority Critical patent/CN108170753B/zh
Publication of CN108170753A publication Critical patent/CN108170753A/zh
Application granted granted Critical
Publication of CN108170753B publication Critical patent/CN108170753B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种共有云中Key‑Value数据库加密与安全查询的方法,包括:采用基于多层次自描述的Key‑Value数据库安全保护模型定制数据安全保护方案,通过安全代理secureKeyValue根据安全保护方案对key‑Value数据库加密与查询处理。本发明的方法适用于所有的Key‑Value型数据库,能很好的保护共有云环境中用户数据的机密性和完整性。

Description

一种共有云中Key-Value数据库加密与安全查询的方法
技术领域
本发明属于计算机软件领域,尤其涉及一种共有云中Key-Value数据库加密与安全查询的方法。
背景技术
数据分析,企业,多媒体应用以及包括基因组学、结构生物学、天文学、气象学在内的科学研究,工程和经济领域的许多应用都利用云计算来处理海量数据集。大数据和移动应用是云计算中两个最重要的增长领域。它们使用的许多云服务都必须在严格的延时限制下运行,此外这些云服务必须处理海量数据量,并为非常大的用户群体同时提供可靠的服务。传统的关系型数据库已无法满足海量数据的处理和在线应用程序的实时需求,NoSQL数据库具有存储模式灵活,响应时间快,强可用性以及优秀的可伸缩性等特点。与关系型数据库相比,NoSQL 数据库的优势对大数据应用至关重要。因此,更多的云服务提供商开始使用NoSQL数据库。
在云计算的外包服务模式下,云服务提供商的服务是非完全可信的,尤其是对于运行在共有云上的应用,为满足多用户的操作需求,数据通常以明文来被存储和处理。这就使得用户的敏感数据面临着被泄露的极大风险。近年来,不断发生的云计算服务的信息泄露事件加剧了人们对数据安全和隐私的担忧,限制了云计算的发展。2011年4月,索尼旗下的PlayStation 网站遭到攻击,索尼的PS3和音乐,动画云服务网络Qriocity用户的个人信息包括姓名、生日、住址等遭到泄露,受影响用户达到7700万余人。2014年1月,摩根大通(JPMorganChase) 遭受了一起网络攻击,约7600万户家庭和700万家小企业的个人身份信息及信用卡数据受损。
对敏感数据的保护,在最近的研究中,最通用的解决方法是加密,即数据在被上传至云服务器前必须被加密以防止信息泄露。虽然采用传统的加密算法可以保护数据的存储安全,但在处理数据时,则需要先将密文解密,在明文上操作,操作结束后再加密,因此在数据处理过程中,敏感数据容易遭到内部泄露和外部攻击。尤其是当使用包含个人敏感信息较多的数据库,如健康档案或财务记录,无法满足云服务端对其操作,但又不了解具体信息的需要,使得整个数据库都暴露在易受攻击的环境中。因此研究在密文数据库上的查询和数据处理是非常重要的。
保序加密方案(OPES),可以直接在密文上建立索引和执行比较和区间查询,但不支持求和(SUM)和求平均(AVG),且保序加密算法是弱加密的,有可能泄露明文的顺序关系,不能很好的保护敏感数据。对称加密算法,如REA等被用来单独加密数据库中的数据,提高了查询的处理效率,但是却没有考虑查询用户的隐私保护及数据处理过程中可能带来的信息泄露。隐私同态机制把在明文上的一组操作映射到密文上的一系列操作,可直接在密文上进行复杂的查询如距离查询等。但它容易受到唯密文攻击。全同态加密算法在理论上支持在密文上进行常见的运算如加、减、乘、除等,但在当前还没有实际应用意义,与对明文数据处理相比,现有的全同态加密算法将对加密数据的处理时间增加了多个量级。除此之外,数据完整性也应该是云端应用选择一个数据库的重要因素,尤其是在共有云的情况下,各个应用对应的不同虚拟机共享同样的物理平台,数据完整性就更为重要了。在已有的工作中很多只考虑了数据机密性,没有考虑数据完整性。
Key-Value数据库相比较于关系数据库,最大的特点就是模式自由。同理,对Key-Value 数据库加密也应该是“模式自由的”,即允许对数据库执行不同安全级别的加密,且针对键域和不同类型的值域可以根据操作需要选择不同的加密方案。除此之外,应支持多用户访问加密的Key-Value数据库,应对终端用户隐藏安全保护机制的复杂性,如加密的执行,密钥的管理等,终端用户对加密数据库的访问应该与对明文数据库访问相同。最后,云端数据库服务器对加密后的数据库的管理与明文数据库的管理相同,保留分布式数据库的所有特点。对加密后的查询请求,云端服务器不需要做任何改动,用和对明文处理一样的方式来处理密文数据库。
为实现上述目标,提出了一种基于多层次自描述的Key-Value数据库安全保护模型。该模型适用于所有Key-Value类型的数据库,可支持不同用户的不同安全等级的数据安全保护需要。为有效描述该安全模型,设计了一种基于JSON格式的数据库安全保护模型描述语言,使用户能够生成个性化的安全方案。支持对安全方案的高效验证,用户能够在本地完成所有的安全评估,避免了将大量错误的Key-Value对发送至云服务器,减轻了云服务端的工作负载,缩短了云服务端的响应延时。为使用户透明地访问云端加密的Key-Value数据库,也为了使云端的数据库管理系统不需要做任何改变;设计了服务于用户,连接用户到云服务端的安全代理secureKeyValue。secureKeyValue对数据库中的数据,数据使用者发起的查询以及云服务端的响应执行高效地加密、解密操作。数据的存储和查询都处于加密状态,能有效地保护敏感数据。提供了数据完整性验证方法,可同时保护用户数据的机密性,并保证数据的完整性。
发明内容
本发明要解决的技术问题是,提供一种共有云中Key-Value数据库加密与安全查询的方法。
为实现上述目的,本发明采用如下的技术方案:
Key-Value数据库安全保护模型。该模型适用于所有Key-Value类型的数据库。可支持不同用户的不同安全等级的数一种共有云中Key-Value数据库加密与安全查询的方法,包括以下步骤:
步骤1、基于多层次自描述的Key-Value数据库安全保护模型
数据库安全保护模型,将Key-Value存储模型中的所有元素,按功能及层次分解成不同的处理单位:元数据、加密原语、数据元素、加密原语到数据元素的映射,每个处理单位对应各自不同的描述模块;其中,元数据包括:数据库表名、列族名、行键元数据和对元数据加密的算法的引用;加密原语包含:列出所有加密原语的各项参数,即:密钥、密钥长度、初始化向量、加密后输出内容的大小;数据元素包含:列出数据记录中的数据域的信息,根据此信息确定应用于数据域的加密原语;加密原语到数据元素的映射,用于为数据元素模块中需要加密的数据指定其对应的加密原语;数据库安全保护模型使用基于JSON格式的数据库安全保护模型描述语言为数据集定制安全方案;
步骤2、key-Value数据库加密与查询处理
用户将数据和安全方案发送至代理后,代理使用安全方案加密数据,并将加密后的数据格式化为合法的数据输入发送给云数据库服务端;同理,当终端应用发起查询请求后,代理将使用安全方案加密查询内容,格式化为符合Key-Value数据库查询语义的新的查询语句,发送查询请求至云数据库服务器;云数据库服务器接收到代理发送来的加密后的查询请求后,在密文数据库上进行查询,查询过程与在未加密的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中各个列对应单元的数据类型。
作为优选,步骤2中代理进行数据完整性验证过程为:数据拥有者首先使用安全模型描述语言通过安全模型为数据集定制安全方案,数据拥有者将数据集和安全方案发送给代理;代理使用安全方案对数据集进行加密并且计算每条记录中加密行键的哈希值来检查查询响应数据的真实性。
本发明的有益效果如下:
(1)提出了一种基于多层次自描述的Key-Value据安全保护需要。
Key-Value数据库模式自由,有基于最基本key-Value存储模型的数据库(如Redis),还有面向文档的数据库(如MongoDB),以及基于列族的数据库(如HBase)等。这些数据库最基本的数据组成单元虽然都是键值对,但总体的存储模型又各不相同。因此,需要一种通用安全模型,能够适用于所有的Key-Value数据库。本发明提出的数据库安全保护模型,将 Key-Value存储模型中的所有元素,按功能及层次分解成不同的处理单位:元数据、加密原语、数据元素、加密原语到数据元素的映射,每个处理单位对应各自不同的描述模块。可根据所使用的Key-Value数据库选择适用的描述模块,这样该模型可以很好的扩展至不同的Key-Value数据库。
在共有云环境中,不同的用户或应用,有不同的安全需求。因此要能根据用户安全需求,结合数据库的存储模式以及要保护的数据类型,定制不同安全级别的加密方案。同时应考虑到加密密钥经常变化,且一个密钥只用于一个数据元素的加密带来的影响,且加密算法是固定的,一个加密算法可用于对多个数据元素加密。因此,将密钥和加密算法分开赋值和描述是非常必要的。本发明提出的数据库安全保护模型,对数据库各类型的数据元素、加密原语、加密原语与数据元素的映射关系分别建模。且模型使用本发明设计的基于JSON的安全保护模型描述语言来描述,方便用户透明地定制数据安全保护方案。
(2)设计了一种基于JSON格式的数据库安全保护模型描述语言。该描述语言可以提供对数据库安全保护模型的JSON描述,生成数据库安全保护方案。
选用JSON格式的主要原因是,多数Key-Value数据库如MongoDB,HBase等都支持JSON 格式的查询和响应,且JSON格式便于人机解读。
(3)设计了一个安全代理secureKeyValue,用来保护数据机密性,保证数据完整性。多用户可通过SecureKeyValue透明地访问加密的Key-Value数据库,且不需要对云数据库服务端的Key-Value数据库管理系统做任何改动。
安全代理secureKeyValue可以为使用DBaaS的网络和移动应用提供安全的查询处理,适用于不同的应用场景。第一种组织情况,当所有用户属于同一个组织时,代理可以运行在有防火墙防护的可信服务器上,此时,客户端和代理之间的通信是安全的。第二种组织情况,当不同的客户端通过公共网络访问云服务时,要么在客户端运行代理程序,只有加密数据才通过公共线路传输;要么用安全套接字协议建立一个从客户端到代理的安全连接。图1给出了服务于用户,连接用户与云服务端的安全代理的整体结构图。
安全代理secureKeyValue主要功能有三个:①用安全方案对数据、查询请求加密,查询响应解密;②对加密查询请求的语义格式化;③对查询响应进行数据完整性验证。可以看到, secureKeyValue的引入,使数据在传输和存储过程中都处于加密状态,保护了数据的机密性。同时,还保证了数据的完整性。
(4)采用基于元数据的散列消息认证码的方法验证数据完整性。
(5)对发明提出的模型和方法进行了测试,本发明的方法适用于所有的Key-Value型数据库,能很好的保护共有云环境中用户数据的机密性和完整性。
附图说明
图1secureKeyValue安全代理结构图;
图2安全保护模型结构图;
图3元数据结构及功能图;
图4加密原语结构及功能图;
图5数据元素结构及功能图;
图6加密原语到数据元素的映射;
图7输入数据和查询语句的格式化过程;
表1元数据的描述语言;
表2RSA加密原语的描述语言;
表3样本数据库数据元素的描述语言;
表4样本数据库加密原语到数据元素映射关系的描述语言。
具体实施方式
如图1所示,本发明提供一种共有云中Key-Value数据库加密与安全查询的方法,包括:采用基于多层次自描述的Key-Value数据库安全保护模型定制数据安全保护方案,通过安全代理secureKeyValue根据安全保护方案对key-value数据库加密与查询处理。
下面,就基于JSON格式的数据库安全保护模型描述语言、数据库安全保护模型、查询和数据合法化以及查询处理、数据及查询和响应完整性四个方面来进行详细阐述。
1.基于JSON格式的数据库安全保护模型描述语言
Key-Value数据库模式自由,以其中使用最为广泛的HBase数据库为研究对象来介绍安全方案描述语。HBase数据库中有多个列族,每个列族可包含数量不等的列,对不同行键的数据记录而言,允许某列是空值,允许相同的列具有不同的数据类型。HBase中的列在某种程度上类似于关系数据库中的属性。我们需要完整的属性列表才能为数据库中的数据提供安全保护。从一般情况上看,数据库的表属于所有记录的集合。但在这里,我们可以看作是所有列族的集合。即一个数据库表D看作由任意数量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中各个列对应单元的数据类型。
2.基于多层次自描述的Key-Value数据库安全保护模型
数据库安全保护模型,将Key-Value存储模型中的所有元素,按功能及层次分解成不同的处理单位:元数据、加密原语、数据元素、加密原语到数据元素的映射,每个处理单位对应各自不同的描述模块。如图2所示,这四部分构成了安全保护模型的主体,四个组成部分和各自的功能如下:
(1)元数据:包括数据库表名,列族名,行键等元数据和对元数据加密的算法的引用。图3给出了元数据模块的结构及功能,键值对是key-Value数据库中最基本的数据模型。在图 3中,数据库名称,以及其它被认为是数据库元数据的属性,如列族名,都应该以合适的加密模块对其加密。键用作索引来访问引用ref指向数据的相关值。初始化向量(IV)是对加密模块中加密算法的固定大小、随机的输入数据。如表1所示,是对元数据的JSON描述。在该例子中,分配长度是128bit密钥的AES加密算法对数据库表名和各列族名加密。
表1
(2)加密原语:列出所有加密原语的各项参数,如:密钥,密钥长度,初始化向量,加密后输出内容的大小。加密原语选择的标准包括:(a)抵御攻击的安全性;(b)算法实施的成本;(c)加密和解密过程是否可以并行执行以及算法执行的内存需求。加密模块的结构组成和功能介绍如图4所示。表2给出了RSA加密原语的JSON描述,secureKeyValue根据其中的键值对可以抽取加密算法的各个参数。
表2
我们用RSA和AES加密原语对提出的理论进行了验证,加密原语是开放式的,用户可以添加最适合于其应用安全需求的加密原语。在我们的设计中,加密原语,加密密钥,和初始化值都是分开定义的。这样做的原因是考虑到用户的安全需求可能会发生改变,加密原语不变动或变动较小,但密钥和初始化值却可能会经常变动。
(3)数据元素:列出数据记录中的数据域的信息,需要根据此信息确定应用于数据域的加密原语。为能保证实现应用需要的安全等级,应在数据元素部分给出数据库中所有敏感数 据的描述。图5介绍了数据元素的结构。在图示例中给出了数据元素的所有属性。例如:数 据元素的名称、数据类型和值。表3中的数据元素部分包括6个字段,其中有4个字段:“id”, “name”,“email”,“salary”需要加密。
表3
(4)加密原语到数据元素的映射,这是数据库安全模型的最后一部分,该部分的功能是为数据元素模块中需要加密的数据指定其对应的加密原语。该部分的结构如图6所示。表4给出了样本数据库中,加密原语到数据元素的映射,如“id”和“name”字段分别用AES和RSA加密算法。
表4
3.加密key-Value数据库的查询处理
在介绍查询处理前,首先需阐述一下输入数据和查询语句的格式化。用户将数据和安全方案发送至代理后,代理使用安全方案加密数据,并将加密后的数据格式化为合法的数据输入发送给云数据库服务端。同理,当终端应用发起查询请求后,代理将使用安全方案加密查询内容,格式化为符合Key-Value数据库查询语义的新的查询语句,发送查询请求至云服务端。图7描述了输入数据和查询语句的格式化流程。
云数据库接收到代理发送来的加密后的查询请求后,在密文数据库上进行查询,查询过程与在未加密的Key-Value数据库一致,云数据库服务端将查询响应传送至代理,由代理进行数据完整性验证后,将密文查询响应解密,使查询响应以明文发送给终端应用。
4.数据、查询和响应的数据完整验证
完整性和机密性是数据安全的两个重要组成方面,完整性要求数据不能被篡改。本发明给出了对云数据库服务端数据完整性的验证方法。数据拥有者首先使用安全模型描述语言通过安全模型为数据集定制安全方案,然后,数据拥有者将数据集和安全方案发送给代理。代理使用安全方案对数据集进行加密并且计算每条记录中加密行键的散列消息认证码(HMAC)。本发明以Hase数据库为例,采用了加密行键的散列消息认证码,如果用于其他数据库,如 MongoDB则可使用其它元数据信息的HMAC码,如加密的文档号的HMAC码。任意一个散列值的长度都为固定的512bit。代理将加密的行键与其对应的HMAC一一对应起来并将结果保存在哈希表中。一旦代理接收到来自云服务端的查询响应,就立刻启动验证过程,即重新
计算加密行键的哈希值来检查查询响应数据的真实性。具体过程如算法1所示。
假设代理是完全可信的,而云服务是不可信的。数据拥有者只信任代理。因此,该数据完整性验证算法可以保证,所有由内部或外部攻击者进行的主动攻击都将被检测到。消息认证码(MAC)是通过密钥散列消息认证码(HMAC)创建的,如式(4)所示。
在式(4)中,H是哈希函数,是异或运算符,K是用户密钥,oPad与iPad是填充字符。
算法2给出了64字节块大小的HMAC函数的伪代码。每条数据记录的加密行键和由此计算出来与之对应的哈希值可以以键-值对的形式存储在哈希表里,从而允许代理在验证过程中以在O(1)的时间完成查找。

Claims (3)

1.一种共有云中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中代理进行数据完整性验证过程为:数据拥有者首先使用安全模型描述语言通过安全模型为数据集定制安全方案,数据拥有者将数据集和安全方案发送给代理;代理使用安全方案对数据集进行加密并且计算每条记录中加密行键的哈希值来检查查询响应数据的真实性。
CN201711399104.4A 2017-12-22 2017-12-22 一种共有云中Key-Value数据库加密与安全查询的方法 Active CN108170753B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711399104.4A CN108170753B (zh) 2017-12-22 2017-12-22 一种共有云中Key-Value数据库加密与安全查询的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711399104.4A CN108170753B (zh) 2017-12-22 2017-12-22 一种共有云中Key-Value数据库加密与安全查询的方法

Publications (2)

Publication Number Publication Date
CN108170753A true CN108170753A (zh) 2018-06-15
CN108170753B CN108170753B (zh) 2021-08-17

Family

ID=62523394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711399104.4A Active CN108170753B (zh) 2017-12-22 2017-12-22 一种共有云中Key-Value数据库加密与安全查询的方法

Country Status (1)

Country Link
CN (1) CN108170753B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032862A (zh) * 2019-04-01 2019-07-19 中科天御(苏州)科技有限公司 一种防撞库攻击的数据动态防护方法及装置
CN110660450A (zh) * 2019-09-23 2020-01-07 长沙学院 一种基于加密基因组数据的安全计数查询与完整性验证装置和方法
CN112187904A (zh) * 2020-09-22 2021-01-05 四川长虹电器股份有限公司 基于多媒体系统的参数解密方法及系统
CN112463837A (zh) * 2020-12-17 2021-03-09 四川长虹电器股份有限公司 一种关系型数据库数据存储查询方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610793A (zh) * 2015-12-18 2016-05-25 江苏大学 一种外包数据加密存储与密文查询系统及其应用方法
US20170126638A1 (en) * 2015-11-02 2017-05-04 Servicenow, Inc. Selective Encryption Configuration
CN106856468A (zh) * 2015-12-08 2017-06-16 中国科学院声学研究所 一种部署在云存储服务端的安全代理装置与安全代理方法
CN106934301A (zh) * 2017-02-24 2017-07-07 中国科学院大学 一种支持密文数据操作的关系型数据库安全外包数据处理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170126638A1 (en) * 2015-11-02 2017-05-04 Servicenow, Inc. Selective Encryption Configuration
CN106856468A (zh) * 2015-12-08 2017-06-16 中国科学院声学研究所 一种部署在云存储服务端的安全代理装置与安全代理方法
CN105610793A (zh) * 2015-12-18 2016-05-25 江苏大学 一种外包数据加密存储与密文查询系统及其应用方法
CN106934301A (zh) * 2017-02-24 2017-07-07 中国科学院大学 一种支持密文数据操作的关系型数据库安全外包数据处理方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANAM ZAHID等: "Security of sharded NoSQL databases: A comparative analysis", 《2014 CONFERENCE ON INFORMATION ASSURANCE AND CYBER SECURITY (CIACS)》 *
MOHAMMAD AHMADIAN: "Secure query processing in cloud NoSQL", 《2017 IEEE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS (ICCE)》 *
任梦吟: "智能电网下的云计算隐私保护与安全存储研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
李威杰: "非关系数据库加密模型的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032862A (zh) * 2019-04-01 2019-07-19 中科天御(苏州)科技有限公司 一种防撞库攻击的数据动态防护方法及装置
CN110032862B (zh) * 2019-04-01 2022-12-16 中科天御(苏州)科技有限公司 一种防撞库攻击的数据动态防护方法及装置
CN110660450A (zh) * 2019-09-23 2020-01-07 长沙学院 一种基于加密基因组数据的安全计数查询与完整性验证装置和方法
CN112187904A (zh) * 2020-09-22 2021-01-05 四川长虹电器股份有限公司 基于多媒体系统的参数解密方法及系统
CN112463837A (zh) * 2020-12-17 2021-03-09 四川长虹电器股份有限公司 一种关系型数据库数据存储查询方法
CN112463837B (zh) * 2020-12-17 2022-08-16 四川长虹电器股份有限公司 一种关系型数据库数据存储查询方法

Also Published As

Publication number Publication date
CN108170753B (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
US11652608B2 (en) System and method to protect sensitive information via distributed trust
US20210099287A1 (en) Cryptographic key generation for logically sharded data stores
AU2018367363B2 (en) Processing data queries in a logically sharded data store
CN105262843B (zh) 一种针对云存储环境的数据防泄漏保护方法
US8447983B1 (en) Token exchange
Liu et al. Nonlinear order preserving index for encrypted database query in service cloud environments
CN110110163A (zh) 安全子字符串搜索以过滤加密数据
CN106022155A (zh) 用于数据库安全管理的方法及服务器
JP2014002365A (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
CN107948146A (zh) 一种混合云中基于属性加密的连接关键词检索方法
CN108170753A (zh) 一种共有云中Key-Value数据库加密与安全查询的方法
AU2017440029B2 (en) Cryptographic key generation for logically sharded data stores
US10929402B1 (en) Secure join protocol in encrypted databases
JP2009510616A (ja) データベース内の機密データを保護するためのシステム及び方法
US11133926B2 (en) Attribute-based key management system
He et al. Differentially private set intersection for asymmetrical id alignment
He et al. Multi-party privacy-preserving record linkage method based on trusted execution environment
Duan et al. A searchable encryption scheme with hidden search pattern and access pattern on distributed cloud system
Amamou et al. Towards a Better Security in Public Cloud Computing
Nita et al. Searchable Encryption
WO2023069444A1 (en) Personal data protection
Sabbarwal et al. Review on Security and Privacy of Cloud ERP System
Xue et al. Privacy-Preserving Location Sharing via LWE-based Private Information Retrieval
Zhu et al. Privacy-preserving and Trusted Keyword Search for Multi-tenancy Cloud
Ramya User Level Runtime Security Auditing for the Cloud Using Aes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant