CN106529327B9 - 混合云环境下面向加密数据库的数据存取系统及方法 - Google Patents

混合云环境下面向加密数据库的数据存取系统及方法 Download PDF

Info

Publication number
CN106529327B9
CN106529327B9 CN201610876906.9A CN201610876906A CN106529327B9 CN 106529327 B9 CN106529327 B9 CN 106529327B9 CN 201610876906 A CN201610876906 A CN 201610876906A CN 106529327 B9 CN106529327 B9 CN 106529327B9
Authority
CN
China
Prior art keywords
data
module
key
user
encryption
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.)
Active
Application number
CN201610876906.9A
Other languages
English (en)
Other versions
CN106529327B (zh
CN106529327A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201610876906.9A priority Critical patent/CN106529327B9/zh
Publication of CN106529327A publication Critical patent/CN106529327A/zh
Application granted granted Critical
Publication of CN106529327B publication Critical patent/CN106529327B/zh
Publication of CN106529327B9 publication Critical patent/CN106529327B9/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种混合云环境下面向加密数据库的数据存取系统及方法,系统包括用户模块、密钥管理模块、数据加解密模块、数据完整性验证模块、身份认证模块、权限控制模块、数据存储模块。本发明方法实现的具体步骤为:(1)上传数据;(2)生成密钥;(3)加密数据;(4)存储数据;(5)完整性验证;(6)身份认证;(7)权限控制;(8)发起查询;(9)加密查询语句;(10)密文查询;(11)解密密文;(12)加密查询结果;(13)解密查询结果。本发明实现了数据在公有云中的安全存储和查询。

Description

混合云环境下面向加密数据库的数据存取系统及方法
技术领域
本发明属于计算机技术领域,更进一步涉及云计算技术领域中的一种混合云 环境下面向加密数据库的数据存取系统及方法。本发明可用于大数据背景下,实 现外包数据的安全存储和查询。
背景技术
目前数据库加密方案相对较多,但面临着不能抵抗第三方公有云被动攻击, 不能利用密文索引进行范围查询,造成性能严重下降等问题。现有的数据库安全 增强方案往往采用应用层加密存储或者多级视图的技术实现方式。应用层加密方 式的缺点是应用必须对数据进行加解密,增加编程复杂度;加密后的数据不能作 为条件进行检索;同时对于已有的系统无法透明实现应用改造。多级视图方案的 重要缺陷是数据加解密均在第三方公有云进行,因此,当数据解密后,公有云仍 可以获得用户的查询结果,并不能从根本上实现对用户数据的保护。
中国移动通信集团公司在其申请的专利“一种云数据库加密方法、系统及装 置”(申请号:201310393464.9,公开号:CN104426973A)公开了一种云数据库 加密方法、系统及装置。该方法的具体步骤包括:(1)数据上传客户端接收来自 数据申请客户端的一个以上密钥对中的公钥,所述密钥对由数据申请客户端生 成,且对应不同的计算种类;(2)数据上传客户端对数据明文进行预处理,并根 据可能进行的计算种类,采用对应的密钥对中的公钥对预处理后的数据明文进行 加密,得到数据密文,将所述数据密文及其对应的数据明文的预处理方式发送至 云数据库。该方法存在的不足之处是:加密密钥的存储不能从根本上实现对数据 的安全保护。该系统包括数据申请客户端,用于生成一个以上密钥对,将密钥对 中的公钥发送至数据上传客户端;所述密钥对对应不同的计算种类;数据上传客 户端,用于对数据明文进行预处理,并根据可能进行的计算种类,采用对应的密 钥对中的公钥对预处理后的数据明文进行加密,得到数据密文,将所述数据密文 及其对应的数据明文的预处理方式发送至云数据库;云数据库,用于保存所述数 据密文及其对应的数据明文的预处理方式。该系统存在的不足之处是:没有保证 云端数据完整性验证功能,不能发现云数据库上的数据遭受到攻击。
南京邮电大学在其申请的专利“一种数据库加密方法及该加密数据库查询方 法”(申请号:201610129024.6,公开号:CN105787387A)公开了一种数据库加 密方法及该加密数据库查询方法。该专利涉及一种数据库加密方法,具体设计引 入等值加密算法、保存加密算法和同态加密算法针对数据库中的数据进行分类加 密,并存储在服务器端数据库中,消除了不可信服务器端探查、泄露机密数据的 隐患,从而保护了数据的隐私性;并且该专利还涉及一种基于数据库加密方法的 该加密数据库查询方法,在具体设计引入等值加密算法、保存加密算法和同态加 密算法针对数据库中的数据进行分类加密的基础之上,提供了在密文上直接执行 查询操作的处理方法,提高了执行效率,并减少了用户的通信和计算开销。该方 法存在的不足之处是:在每列数据最外层采用随机加密进行加密,不能在加密数 据列上建立索引,造成性能严重下降。
发明内容
本发明的目的是针对上述现有技术的不足,提出一种混合云环境下面向加密 数据库的数据存取系统及方法。
实验本发明目的的思路是,为了实现对第三方公有云上数据的安全存储与查 询,数据拥有者在上传数据的过程中,用户模块按照数据密级的不同将数据进行 密级划分,私有云服务器的不同模块对上传的数据进行加密处理;用户查询数据 时,首先要经过私有云服务器上的不同模块,对用户进行身份认证和权限控制, 使得用户在其权限范围内实现在密文数据上进行查询。为防止恶意攻击者对公有 云上的数据进行篡改,在数据完整性验证模块,实现了对公有云上数据的完整性 验证。
本发明的系统包括用户模块、密钥管理模块、身份认证模块、权限控制模块、 数据加解密模块、数据存储模块、数据完整性验证模块,其中:
所述的用户模块,用于按照拟保护的数据密级类别,对数据库中的数据进行 密级划分;将数据库中密级划分后的数据,按照对应的密级分别上传到数据加解 密模块;用户在用户模块输入查询语句;用户模块与密钥管理模块协商查询的会 话密钥;将查询语句发送给数据加解密模块;利用查询的会话密钥对查询结果密 文数据进行解密,得到明文数据查询结果;将明文数据查询结果返回给用户;
所述的密钥管理模块,用于构建基于B+树索引结构的密钥中心;从密钥管 理模块的密钥中心中任意选择一个密钥作为主密钥,将主密钥作为树的根节点, 树中的每个节点对应一个密钥;利用密钥哈希公式,计算树中每个子节点的密钥; 将树中叶子节点的密钥存储在密钥管理模块的密钥中心;密钥管理模块与用户模 块协商产生查询的会话密钥;将会话密钥分别保存在密钥管理模块的密钥中心和 用户模块中;
所述的身份认证模块,用于根据用户输入的用户名和口令判断用户是否是合 法用户,若是,则通过验证,执行权限控制,否则,重新执行身份认证;
所述的权限控制模块,用于判断当前用户是否为内网访问或者外网访问中的 用户的身份属性为管理员,若是,则发起查询,否则,重新执行身份认证;
所述的数据加解密模块,用于从密钥管理模块的密钥中心中分离出随机加密 密钥,利用随机加密算法,对绝密级类别的数据进行加密,得到绝密级数据密文; 从密钥管理模块的密钥中心中分离出可搜索加密密钥,利用可搜索加密算法,对 秘密级类别的数据进行加密,得到秘密级数据密文;利用差分隐私方法,对公开 级类别的数据进行处理,得到处理后的公开级数据信息;将绝密级数据密文、秘 密级数据密文、处理后的公开级数据信息分别发送给数据存储模块;从密钥管理 模块的密钥中心中分离出可搜索加密密钥,利用可搜索加密方法对查询条件加 密,得到查询条件密文,向数据存储模块发起查询请求;利用可搜索加密算法对 匹配的密文结果进行解密,得到明文查询结果;采用查询的会话密钥对密文查询 结果加密,得到加密信息,将加密信息发送给用户模块;
所述的数据存储模块,用于接收数据加解密模块发送来的加密数据,将加密 数据存储在数据存储模块的数据库中;利用可搜索加密算法,在数据存储模块的 数据库中建立索引,利用索引查询数据库中的内容,利用查询结果生成证据,将 证据返回到数据完整性验证模块;利用可搜索加密算法建立的索引,在数据库里 对查询条件密文进行检索,得到匹配的密文结果,发送给数据加解密模块;
所述的数据完整性验证模块,用于使用向量承诺方法,分别计算出公共参数、 承诺和辅助信息,并对承诺及计数器进行签名;验证数据存储模块返回的证据是 否与数据完整性验证模块生成的承诺和签名匹配,若不匹配,则认为数据库中的 数据遭到恶意篡改,拒绝验证。
本发明的方法包括步骤如下:
(1)上传数据:
(1a)用户模块按照拟保护的数据密级类别对数据库中的数据进行密级划 分;
(1b)用户模块将数据库中密级划分后的数据按照对应的密级分别上传到 数据加解密模块;
(2)生成密钥:
(2a)密钥管理模块建立基于B+树索引结构的密钥中心,用于存储管理密 钥,B+树的叶子节点的总数等于数据库中数据表的总数;
(2b)从密钥管理模块的密钥中心中任意选择一个密钥作为主密钥,将主 密钥作为树的根节点,树中的每个节点对应一个密钥;
(2c)密钥管理模块利用密钥公式,计算每一个树中子节点的密钥;
(2d)密钥管理模块将所有的树中叶子节点的密钥,存储到密钥管理模块 的密钥中心;
(3)加密数据:
(3a)数据加解密模块从密钥管理模块的密钥中心中分离出随机加密密钥, 利用随机加密算法,对绝密级类别的数据进行加密,得到绝密级数据密文;
(3b)数据加解密模块从密钥管理模块的密钥中心中分离出可搜索加密密 钥,利用可搜索加密算法,对秘密级类别的数据进行加密,得到秘密级数据密文;
(3c)数据加解密模块,利用差分隐私方法,对公开级类别的数据进行处 理,得到处理后的公开级数据信息;
(3e)数据加解密模块,将绝密级数据密文、秘密级数据密文、公开级数 据信息分别发送给数据存储模块;
(4)存储数据:
数据存储模块接收到数据加解密模块发送来的加密数据,将加密数据存储在 数据存储模块的数据库中;
(5)完整性验证:
(5a)数据完整性验证模块,使用向量承诺方法,分别计算公共参数、向 量承诺和辅助信息,对承诺及计数器进行签名;
(5b)利用可搜索加密算法,在数据存储模块的数据库中建立索引,利用 索引查询数据库中的内容,得到查询结果,利用查询结果生成证据,将证据返回 到数据完整性验证模块;
(5c)验证数据存储模块返回的证据是否与数据完整性验证模块生成的承 诺和签名匹配,若发现证据与承诺和签名不匹配,则认为数据库中的数据遭到恶 意篡改,拒绝验证;
(6)身份认证:
(6a)用户在身份认证模块输入用户名和口令;
(6b)判断用户输入的用户名和口令是否与数据库中存储的用户名和口令 匹配,若是,则认为该用户是合法用户,执行步骤(7),否则,执行步骤(6);
(7)权限控制模块判断当前用户是否为内网访问或者外网访问中的用户的 身份属性为管理员,若是,则执行步骤(8),否则,执行步骤(6);
(8)发起查询:
(8a)用户在用户模块输入查询语句;
(8b)用户模块与密钥管理模块协商查询的会话密钥,密钥管理模块产生 查询的会话密钥,将会话密钥分别保存在密钥管理模块的密钥中心和用户模块 中;
(9)加密查询语句:
(9a)用户模块将查询语句发送给数据加解密模块;
(9b)数据加解密模块从密钥管理模块的密钥中心中分离出可搜索加密密 钥,利用可搜索加密方法对查询条件加密,得到查询条件密文,向数据存储模块 发起查询请求;
(10)密文查询:
数据存储模块利用可搜索加密算法建立的索引,在数据库里对查询条件密文 进行检索,得到匹配的密文结果,发送给数据加解密模块;
(11)解密密文:
数据加解密模块,利用可搜索加密算法对匹配的密文结果进行解密,得到明 文查询结果;
(12)加密查询结果:
数据加解密模块,采用查询的会话密钥,利用随机加密算法对密文查询结果 加密,得到加密信息,将加密信息发送给用户模块;
(13)解密查询结果:
(13a)用户模块收到加密信息后,采用查询的会话密钥,利用随机加密算 法对加密信息进行解密,得到明文数据查询结果;
(13b)用户模块将明文数据查询结果返回给用户。
本发明与现有技术相比具有以下优点:
第一,本发明的系统通过数据完整性验证模块,使用向量承诺方法,分别计 算公共参数、向量承诺和辅助信息,对承诺及计数器进行签名,克服了现有技术 中没有保证云端数据完整性验证功能,不能发现云数据库上的数据遭受到攻击的 缺点,使得本发明具有抵抗恶意攻击者、保证云端数据完整性的优点。
第二,由于本发明的系统通过密钥管理模块建立基于B+树索引结构的密钥 中心,用于存储管理密钥,树中的每个节点对应一个密钥,密钥管理模块将树中 叶子节点的密钥存储在密钥中心,克服了现有技术中加密密钥的存储不能从根本 上实现对数据的安全保护的缺点,使得本发明具有更安全高效的密钥管理的优 点。
第三,由于本发明的方法通过从密钥中心中分离出可搜索加密密钥,利用可 搜索加密算法,对秘密级数据进行加密,得到秘密级数据密文,利用可搜索加密 算法建立的索引,在数据库里对查询语句密文进行检索,得到匹配的密文结果, 克服了现有技术中在每列数据最外层采用随机加密进行加密,不能在加密数据列 上进行建立索引,造成性能严重下降的缺点,使得本发明具有本发明具有能够在 加密数据上建立索引、进行查询的优点。
附图说明
图1是本发明系统的模块图;
图2是本发明方法的流程图;
图3是本发明的数据上传过程中数据加密示意图;
具体实施方式
下面结合附图对本发明做进一步的描述。
参照附图1,对本发明的系统做进一步的描述。
本发明的系统包括用户模块、密钥管理模块、数据加解密模块、数据完整性 验证模块、身份认证模块、权限控制模块、数据存储模块。
所述的用户模块,用于按照拟保护的数据密级类别,对数据库中的数据进行 密级划分;将数据库中密级划分后的数据,按照对应的密级分别上传到数据加解 密模块;用户在用户模块输入查询语句;与密钥管理模块协商查询的会话密钥, 产生查询的会话密钥,将会话密钥分别保存到密钥管理模块的密钥中心和用户模 块中;将查询语句发送给数据加解密模块;利用查询的会话密钥对查询结果密文 数据进行解密,得到明文数据查询结果;将明文数据查询结果返回给用户。
所述的密钥管理模块,用于构建基于B+树索引结构的密钥中心;从密钥管 理模块的密钥中心中任意选择一个密钥作为主密钥,将主密钥作为树的根节点, 树中的每个节点对应一个密钥;利用密钥哈希公式,计算树中每个子节点的密钥; 将树中叶子节点的密钥存储在密钥管理模块的密钥中心;与用户模块协商查询的 会话密钥,产生查询的会话密钥,将会话密钥分别保存在密钥管理模块的密钥中 心和用户模块中。
所述的身份认证模块,用于根据用户输入的用户名和口令判断用户是否是合 法用户,若是,则通过验证,执行权限控制,否则,重新执行身份认证。
所述的权限控制模块,用于判断当前用户是否为内网访问或者外网访问中的 用户的身份属性为管理员,若是,则发起查询,否则,重新执行身份认证。
所述的数据加解密模块,用于从密钥管理模块的密钥中心中分离出随机加密 密钥,利用随机加密算法,对绝密级类别的数据进行加密,得到绝密级数据密文; 从密钥管理模块的密钥中心中分离出可搜索加密密钥,利用可搜索加密算法,对 秘密级类别的数据进行加密,得到秘密级数据密文;利用差分隐私方法,对公开 级类别的数据进行处理,得到处理后的公开级数据信息;将绝密级数据密文、秘 密级数据密文、处理后的公开级数据信息分别发送给数据存储模块;从密钥管理 模块的密钥中心中分离出可搜索加密密钥,利用可搜索加密方法对查询条件加 密,得到查询条件密文,向数据存储模块发起查询请求;利用可搜索加密算法对 匹配的密文结果进行解密,得到明文查询结果;采用查询的会话密钥对密文查询 结果加密,得到加密信息,将加密信息发送给用户模块。
所述的数据存储模块,用于接收数据加解密模块发送来的加密数据,将加密 数据存储在数据存储模块的数据库中;利用可搜索加密算法,在数据存储模块的 数据库中建立索引,利用索引查询数据库中的内容,利用查询结果生成证据,将 证据返回到数据完整性验证模块;利用可搜索加密算法建立的索引,在数据库里 对查询条件密文进行检索,得到匹配的密文结果,发送给数据加解密模块。
所述的数据完整性验证模块,用于使用向量承诺方法,分别计算出公共参数、 承诺和辅助信息,并对承诺及计数器进行签名;验证数据存储模块返回的证据是 否与数据完整性验证模块生成的承诺和签名匹配,若不匹配,则认为数据库中的 数据遭到恶意篡改,拒绝验证。
参照附图2,对本发明的方法做进一步的描述。
步骤1,上传数据。
用户模块,按照拟保护的数据密级类别对数据库中的数据进行密级划分,密 级类别是指绝密、秘密、公开。
用户模块,将数据库中密级划分后的数据按照对应的密级分别上传到数据加 解密模块。
步骤2,生成密钥。
密钥管理模块建立基于B+树索引结构的密钥中心,用于存储管理密钥,B+ 树的叶子节点的总数等于数据库中数据表的总数。
从密钥管理模块的密钥中心中任意选择一个密钥作为主密钥,将主密钥作为 树的根节点,树中的每个节点对应一个密钥。
密钥管理模块按照密钥公式,计算树中每个子节点的密钥。
密钥公式如下:
Cx,y=H(Px-1)
其中,Cx,y表示树中第x层中的第y个节点的密钥,H(·)表示哈希函数,Px-1 表示树中第x-1层的父节点的密钥。
密钥管理模块判断树中子节点的密钥是否全部计算完毕,若是,则执行下一 步,否则,执行计算树中子节点的密钥。
密钥管理模块将所有的树中叶子节点的密钥,存储到密钥管理模块的密钥中 心。
步骤3,加密数据。
下面结合附图3对本发明的数据加密过程做进一步的说明。数据加解密模块 从密钥管理模块的密钥中心中分离出随机加密密钥,利用随机加密算法,对绝密 级类别的数据进行加密,得到绝密级数据密文。
数据加解密模块从密钥管理模块的密钥中心中分离出可搜索加密密钥,利用 可搜索加密算法,对秘密级类别的数据进行加密,得到秘密级数据密文。
数据加解密模块,利用差分隐私方法,对公开级类别的数据进行处理,得到 处理后的公开级数据信息。
数据加解密模块,将绝密级数据密文、秘密级数据密文、公开级数据信息分 别发送给数据存储模块。
步骤4,存储数据。
数据存储模块接收到数据加解密模块发送来的加密数据,将加密数据存储 在数据存储模块的数据库中。
步骤5,完整性验证。
数据完整性验证模块,使用向量承诺方法,分别计算公共参数、向量承诺和 辅助信息,对承诺及计数器进行签名。
利用可搜索加密算法,在数据存储模块的数据库中建立索引,利用索引查询 数据库中的内容,得到查询结果,利用查询结果生成证据,将证据返回到数据完 整性验证模块。
验证数据存储模块返回的证据是否与数据完整性验证模块生成的承诺和签 名匹配,若发现证据与承诺和签名不匹配,则认为数据库中的数据遭到恶意篡改, 拒绝验证。
步骤6,身份认证。
用户在身份认证模块输入用户名和口令。
身份认证模块判断用户输入的用户名和口令是否与数据库中存储的用户名 和口令匹配,若是,则验证通过,执行权限控制,否则,执行身份认证。
步骤7,权限控制。
权限控制模块,判断当前用户是否为内网访问或者外网访问中的用户的身份 属性为管理员,若是,则发起查询,否则,执行身份认证。
步骤8,发起查询。
用户在用户模块输入查询语句。
密钥管理模块将私钥和证书发送给用户模块。
用户模块利用密钥管理模块的公钥对接收到的信息进行加密。
密钥管理模块利用私钥解密接收到的信息,得到用户模块的密钥信息,由此 产生查询的会话密钥,将会话密钥分别保存在密钥管理模块的密钥中心和用户模 块中。
步骤9,加密查询语句。
用户模块将查询语句发送给数据加解密模块。
数据加解密模块从密钥管理模块的密钥中心中分离出可搜索加密密钥,利用 可搜索加密方法对查询条件加密,得到查询条件密文,向数据存储模块发起查询 请求。
步骤10,密文查询。
数据存储模块利用可搜索加密算法建立的索引,在数据库里对查询条件密文 进行检索,得到匹配的密文结果,发送给数据加解密模块。
步骤11,解密密文。
数据加解密模块,利用可搜索加密算法对匹配的密文结果进行解密,得到明 文查询结果。
步骤12,加密查询结果。
数据加解密模块,采用查询的会话密钥,利用随机加密算法对密文查询结果 加密,得到加密信息,将加密信息发送给用户模块。
步骤13,解密查询结果。
用户模块收到加密信息后,采用查询的会话密钥,利用随机加密算法对加密 信息进行解密,得到明文数据查询结果。
用户模块将明文数据查询结果返回给用户。

Claims (4)

1.一种混合云环境下面向加密数据库的数据存取系统,包括用户模块、密钥 管理模块、身份认证模块、权限控制模块、数据加解密模块、数据存储模块、数 据完整性验证模块,其中:
所述的用户模块,用于按照拟保护的数据密级类别,对数据库中的数据进行 密级划分;将数据库中密级划分后的数据,按照对应的密级分别上传到数据加解 密模块;用户在用户模块输入查询语句;用户模块与密钥管理模块协商查询的会 话密钥;将查询语句发送给数据加解密模块;利用查询的会话密钥对查询结果密 文数据进行解密,得到明文数据查询结果;将明文数据查询结果返回给用户;
所述的密钥管理模块,用于构建基于B+树索引结构的密钥中心;从密钥管 理模块的密钥中心中任意选择一个密钥作为主密钥,将主密钥作为树的根节点, 树中的每个节点对应一个密钥;利用密钥哈希公式,计算树中每个子节点的密钥; 将树中叶子节点的密钥存储在密钥管理模块的密钥中心;密钥管理模块与用户模 块协商产生查询的会话密钥;将会话密钥分别保存在密钥管理模块的密钥中心和 用户模块中;
所述的身份认证模块,用于根据用户输入的用户名和口令判断用户是否是合 法用户,若是,则通过验证,执行权限控制,否则,重新执行身份认证;
所述的权限控制模块,用于判断当前数据使用者是否为内网访问或者外网访 问中的数据使用者的身份属性为管理员,若是,则发起查询,否则,重新执行身 份认证;
所述的数据加解密模块,用于从密钥管理模块的密钥中心中分离出随机加密 密钥,利用随机加密算法,对绝密级类别的数据进行加密,得到绝密级数据密文; 从密钥管理模块的密钥中心中分离出可搜索加密密钥,利用可搜索加密算法,对 秘密级类别的数据进行加密,得到秘密级数据密文;利用差分隐私方法,对公开 级类别的数据进行处理,得到处理后的公开级数据信息;将绝密级数据密文、秘 密级数据密文、处理后的公开级数据信息分别发送给数据存储模块;从密钥管理 模块的密钥中心中分离出可搜索加密密钥,利用可搜索加密方法对查询条件加 密,得到查询条件密文,向数据存储模块发起查询请求;利用可搜索加密算法对 匹配的密文结果进行解密,得到明文查询结果;采用查询的会话密钥对密文查询 结果加密,得到加密信息,将加密信息发送给用户模块;
所述的数据存储模块,用于接收数据加解密模块发送来的加密数据,将加密 数据存储在数据存储模块的数据库中;利用可搜索加密算法,在数据存储模块的 数据库中建立索引,利用索引查询数据库中的内容,利用查询结果生成证据,将 证据返回到数据完整性验证模块;利用可搜索加密算法建立的索引,在数据库里 对查询条件密文进行检索,得到匹配的密文结果,发送给数据加解密模块;
所述的数据完整性验证模块,用于使用向量承诺方法,分别计算出公共参数、 承诺和辅助信息,并对承诺及计数器进行签名;验证数据存储模块返回的证据是 否与数据完整性验证模块生成的承诺和签名匹配,若不匹配,则认为数据库中的 数据遭到恶意篡改,拒绝验证。
2.一种混合云环境下面向加密数据库的数据存取方法,包括如下步骤:
(1)上传数据:
(1a)用户模块按照拟保护的数据密级类别对数据库中的数据进行密级划 分;
(1b)用户模块将数据库中密级划分后的数据按照对应的密级分别上传到 数据加解密模块;
(2)生成密钥:
(2a)密钥管理模块建立基于B+树索引结构的密钥中心,用于存储管理密 钥,B+树的叶子节点的总数等于数据库中数据表的总数;
(2b)从密钥管理模块的密钥中心中任意选择一个密钥作为主密钥,将主 密钥作为树的根节点,树中的每个节点对应一个密钥;
(2c)密钥管理模块利用密钥公式,计算每一个树中子节点的密钥;
(2d)密钥管理模块将所有的树中叶子节点的密钥,存储到密钥管理模块 的密钥中心;
(3)加密数据:
(3a)数据加解密模块从密钥管理模块的密钥中心中分离出随机加密密钥, 利用随机加密算法,对绝密级类别的数据进行加密,得到绝密级数据密文;
(3b)数据加解密模块从密钥管理模块的密钥中心中分离出可搜索加密密 钥,利用可搜索加密算法,对秘密级类别的数据进行加密,得到秘密级数据密文;
(3c)数据加解密模块,利用差分隐私方法,对公开级类别的数据进行处 理,得到处理后的公开级数据信息;
(3e)数据加解密模块,将绝密级数据密文、秘密级数据密文、公开级数 据信息分别发送给数据存储模块;
(4)存储数据:
数据存储模块接收到数据加解密模块发送来的加密数据,将加密数据存储 在数据存储模块的数据库中;
(5)完整性验证:
(5a)数据完整性验证模块,使用向量承诺方法,分别计算公共参数、向 量承诺和辅助信息,对承诺及计数器进行签名;
(5b)利用可搜索加密算法,在数据存储模块的数据库中建立索引,利用 索引查询数据库中的内容,得到查询结果,利用查询结果生成证据,将证据返回 到数据完整性验证模块;
(5c)验证数据存储模块返回的证据是否与数据完整性验证模块生成的承 诺和签名匹配,若发现证据与承诺和签名不匹配,则认为数据库中的数据遭到恶 意篡改,拒绝验证;
(6)身份认证:
(6a)用户在身份认证模块输入用户名和口令;
(6b)判断用户输入的用户名和口令是否与数据库中存储的用户名和口令 匹配,若是,则认为该用户是合法用户,执行步骤(7),否则,执行步骤(6);
(7)权限控制模块判断当前用户是否为内网访问或者外网访问中的用户的 身份属性为管理员,若是,则执行步骤(8),否则,执行步骤(6);
(8)发起查询:
(8a)用户在用户模块输入查询语句;
(8b)用户模块与密钥管理模块协商查询的会话密钥,密钥管理模块产生 查询的会话密钥,将会话密钥分别保存在密钥管理模块的密钥中心和用户模块 中;
(9)加密查询语句:
(9a)用户模块将查询语句发送给数据加解密模块;
(9b)数据加解密模块从密钥管理模块的密钥中心中分离出可搜索加密密 钥,利用可搜索加密方法对查询条件加密,得到查询条件密文,向数据存储模块 发起查询请求;
(10)密文查询:
数据存储模块利用可搜索加密算法建立的索引,在数据库里对查询条件密文 进行检索,得到匹配的密文结果,发送给数据加解密模块;
(11)解密密文:
数据加解密模块,利用可搜索加密算法对匹配的密文结果进行解密,得到明 文查询结果;
(12)加密查询结果:
数据加解密模块,采用查询的会话密钥,利用随机加密算法对密文查询结果 加密,得到加密信息,将加密信息发送给用户模块;
(13)解密查询结果:
(13a)用户模块收到加密信息后,采用查询的会话密钥,利用随机加密算 法对加密信息进行解密,得到明文数据查询结果;
(13b)用户模块将明文数据查询结果返回给用户。
3.根据权利要求2所述的混合云环境下面向加密数据库的数据存取方法, 其特征在于,步骤(1a)中所述的密级是指绝密、秘密、公开三种类别。
4.根据权利要求2所述的混合云环境下面向加密数据库的数据存取方法, 其特征在于,步骤(2c)中所述的密钥公式如下:
Cx,y=H(Px-1)
其中,Cx,y表示树中第x层中的第y个节点的密钥,H(·)表示哈希函数,Px-1 表示树中第x-1层的父节点的密钥。
CN201610876906.9A 2016-10-08 2016-10-08 混合云环境下面向加密数据库的数据存取系统及方法 Active CN106529327B9 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610876906.9A CN106529327B9 (zh) 2016-10-08 2016-10-08 混合云环境下面向加密数据库的数据存取系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610876906.9A CN106529327B9 (zh) 2016-10-08 2016-10-08 混合云环境下面向加密数据库的数据存取系统及方法

Publications (3)

Publication Number Publication Date
CN106529327A CN106529327A (zh) 2017-03-22
CN106529327B CN106529327B (zh) 2019-03-26
CN106529327B9 true CN106529327B9 (zh) 2023-02-03

Family

ID=58333067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610876906.9A Active CN106529327B9 (zh) 2016-10-08 2016-10-08 混合云环境下面向加密数据库的数据存取系统及方法

Country Status (1)

Country Link
CN (1) CN106529327B9 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106953722B (zh) * 2017-05-09 2017-11-07 深圳市全同态科技有限公司 一种全同态加密的密文查询方法和系统
CN107370725A (zh) * 2017-06-21 2017-11-21 西安电子科技大学 一种云环境下通用加密数据库的存取方法及系统
CN107506659B (zh) * 2017-07-27 2020-04-07 西安电子科技大学 一种基于sgx的通用数据库的数据保护系统及方法
CN107644175A (zh) * 2017-09-13 2018-01-30 南京南瑞集团公司 一种防止sql注入的方法
CN109992986B (zh) * 2017-12-29 2021-05-11 中国移动通信集团上海有限公司 一种敏感数据的脱敏处理方法及装置
CN108132866A (zh) * 2018-01-11 2018-06-08 郑州云海信息技术有限公司 一种监测操作系统数据完整性的方法及系统
CN108734016A (zh) * 2018-04-17 2018-11-02 新大陆(福建)公共服务有限公司 一种数据持久层的访问方法以及计算机设备
CN108595968A (zh) * 2018-04-20 2018-09-28 北京数字认证股份有限公司 一种数据保护方法、装置及设备
CN108734023B (zh) * 2018-04-28 2021-12-21 西安电子科技大学 一种密文数据库系统的访问与集成系统及方法
CN108985094B (zh) * 2018-06-28 2020-07-21 电子科技大学 云环境下实现密文空间数据的访问控制和范围查询方法
US20220058290A1 (en) * 2018-12-20 2022-02-24 Nippon Telegraph And Telephone Corporation Analysis query response system, analysis query execution apparatus, analysis query verification apparatus, analysis query response method, and program
CN109995522B (zh) * 2019-03-08 2022-01-04 东南大学 一种具有密钥协商功能的安全数据镜像方法
CN109981267B (zh) * 2019-03-22 2021-06-08 西安电子科技大学 大规模用户多密钥场景云加密数据库系统及存储查询方法
CN110309673A (zh) * 2019-07-04 2019-10-08 华盾技术(深圳)有限责任公司 一种自适应可定制的加密云数据库系统及加密方法
CN110474962B (zh) * 2019-07-16 2022-03-08 佛山市南海区华南新能源汽车产业促进中心 一种基于边缘计算的数据核查系统及方法
CN110489996B (zh) * 2019-07-31 2021-04-13 山东三未信安信息科技有限公司 一种数据库数据安全管理方法及系统
CN110730158B (zh) * 2019-09-03 2021-07-02 郑州轻工业学院 混合云安全调度方法及混合云安全调度系统
CN112671691B (zh) * 2019-10-16 2022-08-30 重庆傲雄在线信息技术有限公司 一种数据验证系统
CN111784001B (zh) * 2020-09-07 2020-12-25 腾讯科技(深圳)有限公司 一种模型训练方法、设备及计算机可读存储介质
CN112380557B (zh) * 2020-12-01 2021-10-12 江西师范大学 一种关系型数据库加密方法及该加密数据库查询方法
CN113420049B (zh) * 2021-06-21 2023-06-27 平安银行股份有限公司 数据流通方法、装置、电子设备及存储介质
CN113449293A (zh) * 2021-07-14 2021-09-28 上海交通大学 基于可信执行环境的密文搜索系统与方法
CN115510071B (zh) * 2022-10-27 2023-06-02 杭州煋辰数智科技有限公司 一种大数据快速组合查询的动态索引方法
CN115834209B (zh) * 2022-11-24 2023-08-01 广州鲁邦通智能科技有限公司 一种基于vpn连接的远程服务器及其登录方法
CN115982777B (zh) * 2023-02-13 2023-10-03 西安大地测绘股份有限公司 私有云下面向移动端的地理信息数据安全使用系统及方法
CN117610079B (zh) * 2024-01-23 2024-04-09 中汽智联技术有限公司 数据安全处理方法、设备和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529728B2 (en) * 2003-09-23 2009-05-05 Salesforce.Com, Inc. Query optimization in a multi-tenant database system
CN102685148B (zh) * 2012-05-31 2014-10-15 清华大学 一种云存储环境下的安全网盘系统的实现方法
CN103595730B (zh) * 2013-11-28 2016-06-08 中国科学院信息工程研究所 一种密文云存储方法和系统
CN103731432B (zh) * 2014-01-11 2017-02-08 西安电子科技大学昆山创新研究院 一种支持多用户的可搜索加密方法
CN104135362B (zh) * 2014-07-21 2017-06-16 南京大学 一种基于差分隐私发布的数据的可用性计算方法

Also Published As

Publication number Publication date
CN106529327B (zh) 2019-03-26
CN106529327A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
CN106529327B9 (zh) 混合云环境下面向加密数据库的数据存取系统及方法
JP6941146B2 (ja) データセキュリティサービス
Bhardwaj et al. Security algorithms for cloud computing
CN111130757B (zh) 一种基于区块链的多云cp-abe访问控制方法
CN109614818B (zh) 可授权的基于身份的带关键词搜索加密方法
Nagaraju et al. Trusted framework for online banking in public cloud using multi-factor authentication and privacy protection gateway
JP6884642B2 (ja) データ再暗号化を介して機密データを保護するためのコンピュータ実施システムおよび方法
CN104158827B (zh) 密文数据共享方法、装置、查询服务器和上传数据客户端
CN106936771A (zh) 一种基于分级加密的安全云存储方法和系统
CN105743888A (zh) 一种基于关键字搜索的代理重加密方案
CN106254324A (zh) 一种存储文件的加密方法及装置
CN112989375B (zh) 一种分级优化加密无损隐私保护方法
CN103701787A (zh) 一种基于公开密钥算法实现的用户名口令认证方法
Selvamani et al. A review on cloud data security and its mitigation techniques
Qiu Ciphertext database audit technology under searchable encryption algorithm and blockchain technology
CN110572392A (zh) 一种基于Hyperledger网络的身份认证方法
CN107104792B (zh) 一种便携式移动口令管理系统及其管理方法
Zhang et al. Distributed ciphertext-policy attribute-based encryption with enhanced collusion resilience and privacy preservation
Jabbar et al. Design and Implementation of Hybrid EC-RSA Security Algorithm Based on TPA for Cloud Storage
Wadhwa et al. Framework for user authenticity and access control security over a cloud
Suresha et al. Enhancing data protection in cloud computing using key derivation based on cryptographic technique
CN104468535B (zh) 适合云环境的密文存储与连接查询系统及方法
Yingkai et al. A kind of identity authentication under cloud computing environment
CN112182616B (zh) 核心表数据的密码技术安全控制方法及系统
CN113037686B (zh) 多数据库安全通信方法和系统、计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Ma Jianfeng

Inventor after: Ma Xindi

Inventor after: Zhang Shizhe

Inventor after: Miao Yinbin

Inventor after: Zhang Kai

Inventor after: Shen Yulong

Inventor after: Lu Di

Inventor before: Ma Xindi

Inventor before: Yao Qingsong

Inventor before: Yuan Tao

Inventor before: Ma Jianfeng

Inventor before: Li Hui

Inventor before: Zhang Shizhe

Inventor before: Miao Yinbin

Inventor before: Zhang Kai

Inventor before: Li Jinku

Inventor before: Lu Di

Inventor before: Xi Ning

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
CI03 Correction of invention patent

Correction item: Claims|Description

Correct: correct

False: error

Number: 13-01

Page: ??

Volume: 35

CI03 Correction of invention patent