CN110750797A - 基于组合加密的云数据库加密方法 - Google Patents
基于组合加密的云数据库加密方法 Download PDFInfo
- Publication number
- CN110750797A CN110750797A CN201910925931.5A CN201910925931A CN110750797A CN 110750797 A CN110750797 A CN 110750797A CN 201910925931 A CN201910925931 A CN 201910925931A CN 110750797 A CN110750797 A CN 110750797A
- Authority
- CN
- China
- Prior art keywords
- encryption
- ciphertext
- mod
- algorithm
- layer
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 241000153282 Theope Species 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000234282 Allium Species 0.000 description 1
- 235000002732 Allium cepa var. cepa Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
- G06F21/6227—Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于组合加密的云数据库加密方法,将加法同态加密和乘法同态加密相结合,在一定程度上实现了全同态加密。在组合加密算法的基础上,添加了一层代理层,通过重写SQL语句,可以同时完成相同的操作,以减少密文更新的次数,减少客户端和数据库端之间的网络传输。本发明提高了算法的效率,发挥了云计算的计算能力和存储能力,而且最大限度地避免了云上的数据安全问题;可以同时完成相同的操作,减少了密文更新的次数,减少客户端和数据库端之间的网络传输;能够在运算之后进行其他运算;大大降低了网络传输和应用层更新密文的压力。
Description
技术领域
本发明属于加密技术领域,涉及同态加密和数据库相关知识,具体设计一种基于组合加密的云数据库加密技术。
背景技术
云数据库是在云计算软件即服务概念下形成的云服务模式,它通过改变数据库服务器的组织模式来扩展整体存储容量。服务器软件和硬件维护由云服务提供商的专业维护人员管理,以确保服务的可靠性。云环境中的数据保护与传统模式中的数据保护有很大的区别:在传统模式下,数据存储在用户本地,通常是受信任的。但是,在云环境中,用户将其数据外包给云服务提供商,则用户的数据安全由云服务提供商直接保证,将存在安全风险。
要解决云数据库系统中数据安全的隐患,其重点在于支持密文操作的加密算法。一个优秀的加密中间层,在保证云数据库安全的同时,可以降低网络传输和客户端解密的压力,最大限度地利用云计算的优势。
现有的加密算法是使用组合加密直接对明文进行加密,然后将密文存储在数据库中。当执行不同的密文操作后对应操作的密文会不一样,需要更新密文。这种方法的优点是它简单而直接,缺点是需要更新多次密文,这将导致更大的网络传输压力,同时会加大客户端的负担。
在长达30年的时间里,同态加密的工作没有取得突破。这是因为同态加密算法必须同时支持任何操作才能成为一种常见的方法,即完整全同态加密算法,但它几乎是不可能通过一个单一的功能来实现这一目标。一种只能支持有限个操作或单个操作类型的同态加密方案在算法上称为部分同态加密。例如,RSA、EIGamal、GoldwasserMicali、Benalo和Paillier是部分同态加密算法。这些算法只能支持乘法同态或加法同态,也只能支持在加法同态的基础上的少量乘法运算,因此它们不是完全同态加密算法。
全同态加密是理论上最好的方法。全同态加密技术可以在不解密数据的情况下对密文进行运算操作,结果与相应的明文运算后的结果一致。全同态加密算法需要用一种更巧妙的方法来构造。所有这些"巧妙"的方法都有一个公分母,所有这些都需要通过模数运算来实现,以支持在一定数量的运算内同时满足同态加法和同态乘法。但是,这可能会产生副作用:密文中总是有噪音。而噪声会随着密文操作的数量增加,最终导致解密功能无法正确恢复明文。因此,全同态加密技术还不成熟,密钥太大,加密效率很低,不能投入实际应用。
发明内容
为解决上述问题,本发明提出了一种基于组合加密的云数据库加密方法,在组合加密方法的基础上,添加了一层代理层,通过重写SQL语句,可以同时完成相同的操作,以减少密文更新的次数,减少客户端和数据库端之间的网络传输。
为了达到上述目的,本发明提供如下技术方案:
基于组合加密的云数据库加密方法,包括如下步骤:
应用层生成加密算法的密钥、更新密文、将查询的SQL语句发送到代理层;
代理层重写SQL语句,将明文查询转换为密文查询,确定相同操作的优先级,并发送到DBMS层;
所述DBMS层将密文存储在数据库中,并对数据进行管理;
所述加密算法采用对称加密算法AES、非对称算法RSA、Paillier和保序加密算法对信息进行加密。
进一步的,所述RSA、paillier和OPE加密算法的密文用特殊符号连接。
进一步的,所述RSA作为乘法同态加密方案,其方案如下:
密钥生成:
选择两个不同的大素数p,q,使n=p·q.,计算其欧拉函数r=(p-1)·(q-1).;
随机选择一个整数e来满足1<e<r和gcd(e,r)=1;
计算e的逆,d=e-1mod r;
公钥是(n,e),私钥是(n,d);
加密:输入明文m,密文为c=me mod n;
解密:输入密文c,明文为m=cd mod n;
所述Paillier算法作为加法同态加密方案,其方案如下:
密钥生成:
选择两个不同的大素数。设n=p.q.计算其欧拉函数r=(p-1)·(q-1);
计算λ=lcm(p-1,q-1);
公钥是(n,g),私钥是(λ,μ);
加密:输入明文m∈Zn,随机选择密文c=gm·rnmod n2;
解密:输入密文C,明文.m=L(cλmod n2)·μmod n;
OPE加密算法如下:
对于一个键k,明文x<y,有OPEk(x)<OPEK(y)。
进一步的,在两个不同的操作之间将密文发送到应用层,对数据进行解密和重新加密之后,更新后的密文数据被发送到代理层,代理层执行下一次密文运算操作。
进一步的,在进行一次相同的运算时尽可能多地进行密文计算,然后将密文传输到应用层进行密文更新。
与现有技术相比,本发明具有如下优点和有益效果:
1.提高了算法的效率,发挥了云计算的计算能力和存储能力,而且最大限度地避免了云上的数据安全问题。
2.通过重写SQL语句,可以同时完成相同的操作,减少了密文更新的次数,减少客户端和数据库端之间的网络传输
3.两个不同的操作之间将密文发送到应用层,对数据进行解密和重新加密之后,更新后的密文数据被发送到代理层,代理层执行下一次密文运算操作,从而能够在运算之后进行其他运算。
4.这大大降低了网络传输和应用层更新密文的压力。
附图说明
图1为系统的sql查询过程。
图2为密文更新过程。
具体实施方式
以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明采用组合同态加密代替全同态加密,提高了算法的效率,具体采用对称加密算法AES、非对称算法RSA、Paillier和保序加密算法对信息进行加密。不同类型的数据使用不同的加密算法,AES加密算法可以通过比较密文信息来判断明文是否相等,RSA加密算法满足乘法同态,即明文的乘法结果等于密文的乘法结果。Paillier加密算法满足加法同态,也就是说,结果密文的加法结果等于明文的加法结果。利用不同加密算法的特点,可以对存储在数据库中的密文执行一些SQL操作。出于安全原因,数据库不存储加密密钥,解密工作完全由客户端执行,云服务器在最大程度上进行密文运算的工作。这种方法不仅发挥了云计算的计算能力和存储能力,而且最大限度地避免了云上的数据安全问题。
本发明在组合加密算法的基础上,添加了一层代理层,通过重写SQL语句,可以同时完成相同的操作,以减少密文更新的次数,减少客户端和数据库端之间的网络传输。改进后的云数据库系统由三部分组成。第一部分是应用层,主要功能是生成密钥、更新密文和发送SQL请求。第二部分是代理层,主要功能是重写SQL语句。第三部分是DBMS层,主要功能是将密文存储在数据库中,并对数据进行管理。
表1显示了加密系统层次结构,并简要介绍了各层的功能。
表1系统层次
重写SQL语句有两个目的,第一个目的是将明文查询转换为密文查询,第二种目的是确定相同操作的优先级,以减少密文更新的次数。然后代理层将计算的密文返回到应用层上的应用程序,应用层更新密文,并将更新后的密文发送到代理层。然后,代理层继续下一种类型的运算。
远程数据库服务器执行查询的步骤是接SQL查询语句,然后对其进行分析,将实质性文本格式转换为内部二进制结构组合,然后将其提交给内部优化器以处理查询结构。但是,在密集数据库的情况下,数据库无法处理用户的常规明文SQL查询请求。
因此,对于此系统,在代理服务器提交真实的SQL查询语句之前,我们要做的第一件事就是处理用户的常规明文SQL查询请求。因此,对于此系统,在代理服务器提交真实的SQL查询语句之前,我们首先要做的是分析用户的查询,然后系统的加密和解密模块用优化过的SQL语句代替原始的SQL查询语句,并且用密文字段代替明文字段。
每个加密层的工作流如图1所示。应用层将查询的SQL语句发送到代理层,然后代理层将SQL语句重写并发送到DBMS层。
具体的加密过程如图2所示。第一步是使用组合加密算法对数据进行加密。
具体的说,本发明设计了一种简化的洋葱加密策略,将RSA、paillier和OPE加密算法的密文用特殊符号(例如’|’,可由用户指定)连接,使加密密文同时满足乘法、加法和比较运算。但是,这种方法有一个缺点,当密文执行一种运算时,只更新相应的同态加密密文,而不更新其他加密算法密文,因此在运算之后不能进行其他运算了。
解决方案是在两个不同的数学运算(如加法操作和乘法操作)之间将密文发送到应用层,对数据进行解密和重新加密之后,更新后的密文数据被发送到代理层,代理层执行下一次密文运算操作。
这就产生了一个新问题,即来回传输密文和更新密文会增加额外的负担。本文提出了一种优化方案,在进行一次相同的数学运算时尽可能多的进行密文计算。然后将密文传输到应用层进行密文更新,这大大降低了网络传输和应用层更新密文的压力。
本发明将加法同态加密和乘法同态加密相结合,在一定程度上实现了全同态加密。具体地说,本发明选择RSA作为乘法同态加密方案。加密方案的安全性是基于大数分解的难度。
具体的加密方案如下所示:
密钥生成:
1.选择两个不同的大素数p,q。使n=p·q。计算其欧拉函数r=(p-1)·(q-1)。
2.随机选择一个整数e来满足1<e<r和gcd(e,r)=1。(gcd是求最大公约数)
3.计算e的逆,d=e-1mod r.。
4.公钥是(n,e),私钥是(n,d)。
加密:输入明文m,密文为c=me mod n.。
解密:输入密文c,明文为m=cd mod n。
本发明选择Paillier算法作为加法同态加密方案。
特定的加密方案如下所示:
密钥生成:
选择两个不同的大素数。设n=p.q.计算其欧拉函数r=(p-1)·(q-1)。
计算λ=lcm(p-1,q-1)(1cm表示求最小公倍数)。
公钥是(n,g),私钥是(λ,μ)。
解密:输入密文C,明文.m=L(cλmod n2)·μmod n。
保序对称加密(OPE)是一种确定性加密方案,它使密文能够保持明文的顺序。如果有一个键k,明文x<y,有OPEk(x)<OPEK(y)。OPE算法的特点使其适用于处理数据库查询语句中的by、min、max、sort和其他操作,而不会破坏用户数据的机密性。
第二步分析SQL语句的组合,然后将相同的操作重写为相同的语义。第三步分别计算相同运算的结果,然后合并结果。最后,将结果返回到应用层,应用层负责向用户显示结果。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (5)
1.基于组合加密的云数据库加密方法,其特征在于,包括如下步骤:
应用层生成加密算法的密钥、更新密文、将查询的SQL语句发送到代理层;
代理层重写SQL语句,将明文查询转换为密文查询,确定相同操作的优先级,并发送到DBMS层;
所述DBMS层将密文存储在数据库中,并对数据进行管理;
所述加密算法采用对称加密算法AES、非对称算法RSA、Paillier和保序加密算法对信息进行加密。
2.根据权利要求1所述的基于组合加密的云数据库加密方法,其特征在于:所述RSA、paillier和OPE加密算法的密文用特殊符号连接。
3.根据权利要求1或2所述的基于组合加密的云数据库加密方法,其特征在于:所述RSA作为乘法同态加密方案,其方案如下:
密钥生成:
选择两个不同的大素数p,q,使n=p·q,计算其欧拉函数r=(p-1)·(q-1);
随机选择一个整数e来满足1<e<r和gcd(e,r)=1;
计算e的逆,d=e-1mod r;
公钥是(n,e),私钥是(n,d);
加密:输入明文m,密文为c=memod n;
解密:输入密文c,明文为m=cdmod n;
所述Paillier算法作为加法同态加密方案,其方案如下:
密钥生成:
选择两个不同的大素数,设n=p.q,计算其欧拉函数r=(p-1)·(q-1);
计算λ=lcm(p-1,-1);
公钥是(n,g),私钥是(λ,μ);
解密:输入密文C,明文.m=L(cλ mod n2)·μmod n;
OPE加密算法如下:
对于一个键k,明文x<y,有OPEk(x)<OPEK(y)。
4.根据权利要求1所述的基于组合加密的云数据库加密方法,其特征在于:在两个不同的操作之间将密文发送到应用层,对数据进行解密和重新加密之后,更新后的密文数据被发送到代理层,代理层执行下一次密文运算操作。
5.根据权利要求1所述的基于组合加密的云数据库加密方法,其特征在于:在进行一次相同的运算时尽可能多地进行密文计算,然后将密文传输到应用层进行密文更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910925931.5A CN110750797B (zh) | 2019-09-27 | 2019-09-27 | 基于组合加密的云数据库加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910925931.5A CN110750797B (zh) | 2019-09-27 | 2019-09-27 | 基于组合加密的云数据库加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750797A true CN110750797A (zh) | 2020-02-04 |
CN110750797B CN110750797B (zh) | 2023-11-03 |
Family
ID=69277266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910925931.5A Active CN110750797B (zh) | 2019-09-27 | 2019-09-27 | 基于组合加密的云数据库加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750797B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639349A (zh) * | 2020-05-14 | 2020-09-08 | 瀚高基础软件股份有限公司 | 一种数据加密处理方法、装置和存储介质 |
CN112039653A (zh) * | 2020-08-28 | 2020-12-04 | 西安电子科技大学 | 基于神经网络激活单元的云外包数据加解密方法 |
CN112632625A (zh) * | 2020-12-31 | 2021-04-09 | 深圳昂楷科技有限公司 | 数据库安全网关系统、数据处理方法、电子设备 |
CN113111357A (zh) * | 2021-03-09 | 2021-07-13 | 深圳市教育信息技术中心(深圳市教育装备中心) | 字段加密方法、装置、设备和介质 |
CN113742370A (zh) * | 2021-11-02 | 2021-12-03 | 阿里云计算有限公司 | 全加密数据库的数据查询方法、统计信息密文生成方法 |
WO2023010273A1 (zh) * | 2021-08-03 | 2023-02-09 | 浙江大学 | 一种支持可组合sql查询的加密数据库方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294698A (zh) * | 2017-07-25 | 2017-10-24 | 西安电子科技大学 | 单密文同态计算的全同态加密方法 |
CN109409129A (zh) * | 2018-10-23 | 2019-03-01 | 杭州弗兰科信息安全科技有限公司 | 一种基于sql改写实现的数据库同态加密方法 |
-
2019
- 2019-09-27 CN CN201910925931.5A patent/CN110750797B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294698A (zh) * | 2017-07-25 | 2017-10-24 | 西安电子科技大学 | 单密文同态计算的全同态加密方法 |
CN109409129A (zh) * | 2018-10-23 | 2019-03-01 | 杭州弗兰科信息安全科技有限公司 | 一种基于sql改写实现的数据库同态加密方法 |
Non-Patent Citations (2)
Title |
---|
李东民: "支持密文查询的云数据库加密技术 研究" * |
李东民: "支持密文查询的云数据库加密技术研究" * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639349A (zh) * | 2020-05-14 | 2020-09-08 | 瀚高基础软件股份有限公司 | 一种数据加密处理方法、装置和存储介质 |
CN111639349B (zh) * | 2020-05-14 | 2022-09-06 | 瀚高基础软件股份有限公司 | 一种数据加密处理方法、装置和存储介质 |
CN112039653A (zh) * | 2020-08-28 | 2020-12-04 | 西安电子科技大学 | 基于神经网络激活单元的云外包数据加解密方法 |
CN112632625A (zh) * | 2020-12-31 | 2021-04-09 | 深圳昂楷科技有限公司 | 数据库安全网关系统、数据处理方法、电子设备 |
CN113111357A (zh) * | 2021-03-09 | 2021-07-13 | 深圳市教育信息技术中心(深圳市教育装备中心) | 字段加密方法、装置、设备和介质 |
WO2023010273A1 (zh) * | 2021-08-03 | 2023-02-09 | 浙江大学 | 一种支持可组合sql查询的加密数据库方法 |
US11734448B2 (en) | 2021-08-03 | 2023-08-22 | Zhejiang University | Method for encrypting database supporting composable SQL query |
CN113742370A (zh) * | 2021-11-02 | 2021-12-03 | 阿里云计算有限公司 | 全加密数据库的数据查询方法、统计信息密文生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110750797B (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110750797B (zh) | 基于组合加密的云数据库加密方法 | |
Döttling et al. | From selective IBE to full IBE and selective HIBE | |
KR102354456B1 (ko) | 프라임 모듈로 이중 캡슐화에 기초한 일대다 분산 키 관리 기능을 갖춘 포스트 퀀텀 비대칭 키 암호 시스템 | |
US8559631B1 (en) | Systems and methods for efficient decryption of attribute-based encryption | |
US10277395B2 (en) | Cryptographic key-generation with application to data deduplication | |
Camenisch et al. | Blind and anonymous identity-based encryption and authorised private searches on public key encrypted data | |
US6490352B1 (en) | Cryptographic elliptic curve apparatus and method | |
CN103023637B (zh) | 一种云存储中可撤销的关键字搜索公钥加密及搜索方法 | |
US20130275752A1 (en) | Method and system for secure multiparty cloud computation | |
US20020164033A1 (en) | Efficient techniques for sharing a secret | |
Zheng et al. | Practical approaches to attaining security against adaptively chosen ciphertext attacks | |
Moghaddam et al. | A hybrid encryption algorithm based on RSA small-e and efficient-RSA for cloud computing environments | |
JP2001034164A (ja) | 秘密分散システム及び記憶媒体 | |
Benzekki et al. | A secure cloud computing architecture using homomorphic encryption | |
Jarrous et al. | Secure hamming distance based computation and its applications | |
Odelu et al. | An effective and secure key-management scheme for hierarchical access control in e-medicine system | |
CN108650302A (zh) | 一种基于区块链的云箱安全技术 | |
Chen et al. | A restricted proxy re‐encryption with keyword search for fine‐grained data access control in cloud storage | |
Dua et al. | A study of applications based on elliptic curve cryptography | |
Brakerski et al. | Better security for deterministic public-key encryption: The auxiliary-input setting | |
Zhao et al. | A privacy preserving homomorphic computing toolkit for predictive computation | |
DAYIOĞLU | Secure database in cloud computing-cryptdb revisited | |
Abo-Alian et al. | Auditing-as-a-service for cloud storage | |
Zhang et al. | Oblivious multi-keyword search for secure cloud storage service | |
Vo-Huu et al. | EPiC: efficient privacy-preserving counting for MapReduce |
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 |