CN100576226C - 基于中国剩余定理的数据库加密方法 - Google Patents

基于中国剩余定理的数据库加密方法 Download PDF

Info

Publication number
CN100576226C
CN100576226C CN 200810063098 CN200810063098A CN100576226C CN 100576226 C CN100576226 C CN 100576226C CN 200810063098 CN200810063098 CN 200810063098 CN 200810063098 A CN200810063098 A CN 200810063098A CN 100576226 C CN100576226 C CN 100576226C
Authority
CN
China
Prior art keywords
key
database
encryption
data
circleplus
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.)
Expired - Fee Related
Application number
CN 200810063098
Other languages
English (en)
Other versions
CN101320409A (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.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN 200810063098 priority Critical patent/CN100576226C/zh
Publication of CN101320409A publication Critical patent/CN101320409A/zh
Application granted granted Critical
Publication of CN100576226C publication Critical patent/CN100576226C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种基于中国剩余定理的数据库加密方法,包括以下步骤:(1)指定数据库全局密钥,并保存至数据库的系统表中;(2)制定表密钥以及各字段密钥,并保存至数据库的系统表中;(3)存储数据时为每一条记录随机产生一个记录密钥,并结合数据库全局密钥、表密钥、以及字段密钥,调用加密算法完成数据的加密存储。本发明提供一种能有效提高解密效率的基于中国剩余定理的数据库加密方法。

Description

基于中国剩余定理的数据库加密方法
技术领域
本发明涉及一种数据库加密方法。
背景技术
当前信息化社会,各企业、政府机构和军事部门都已广泛采用数据库应用系统来存储各种资料和数据。这些数据中有相当一部分是机密信息,这些机密数据若以明文的形式存储容易被敌手非法盗取,从而对企业造成巨大的经济损失,对于政府、军事部门来说机密信息泄漏的损失将是灾难性的。因此有必要对这些机密数据采取必要的保护措施,即便敌手窃取这些数据也无法知道这些数据的确切含义。
通常数据库应用系统中会采用防火墙、入侵检测、以及身份验证等技术在不同层次上来保护数据存储的安全。然而对于有经验的黑客来说,要突破这些保护措施并不是很难;另外也不能避免直接盗取数据存储介质带来的数据泄漏。对数据进行加密存储是保护机密数据的最好方法。
现有的数据库加密技术主要有基于文件的加密以及基于数据项的加密两大类。但这两类加密都存在一些不足。基于文件的数据库加密是把数据库文件作为一个完整的单位,利用加密密钥和相应的加密算法进行加密,从而保护数据的完整性和机密性。但采用这种方法不管修改或者增加、删除等数据库操作都必须对整个数据库先解密,再加密,极大地增加了时间和空间上地开销。因此,在实际使用中基于文件地数据库加密技术已经基本被放弃。而基于数据项的加密符合数据库的特性,比较适合数据库加密操作。但是由于数据库中的数据量相当大的情况下,对每个数据项内容都运行一次加密算法(例如传统的DES算法),在时间上的性能损耗是可想而知的;另外这种方法为了使保证密钥安全,通常为每个数据项要指定不同的密钥,数据量越大就意味着密钥的数量越大,这也给密钥管理带来了极大的困难。
从技术实现来说数据库加密方案又可以分为两种:一是在数据库核心实现加密功能,这种方法可以更彻底地实现数据库加密与验证,且效率也较高,但必须紧密结合某一种数据库系统。另一种方法是在数据库核心之外扩展了加密和解密功能层,用户可以通过这个功能层使用带有加密功能的数据库,这种实现方式可以使产品支持不同的数据库系统。
发明内容
本发明提供一种能有效提高加解密效率的基于中国剩余定理的数据库加密方法。
本发明解决其技术问题所采用的技术方案是:
一种基于中国剩余定理的数据库加密方法,所述数据库加密方法包括以下步骤:
(1)、指定数据库全局密钥,并保存至数据库的系统表中;
(2)、指定表密钥以及各字段密钥,并保存至数据库的系统表中;
(3)、存储数据时为每一条记录随机产生一个记录密钥,并结合数据库全局密钥、表密钥、以及字段密钥,调用加密算法完成数据的加密存储,加密算法的处理过程包括:
(3.1)、由密钥产生器动态产生数据项密钥:Kij=g(DBK,TK,Ri,Fj),其中DBK为数据库全局密钥,TK为表密钥,Ri为第i个记录密钥,Fj为第j个字段密钥;g是一个密码学上的单向函数,其定义为: g ( DBK , TK , R i , F j ) = MD 5 ( DBK ⊕ TK ⊕ R i ⊕ F j ) , MD5是指密码学中的MD5算法,
Figure C20081006309800062
表示按位异或运算;
(3.2)、随机生成一组两两互为素数的正整数(d1,d2,d3,…di,…dn),1≤i≤n,计算 D = Π i = 1 n d i , D i = D / d i , ∏表示乘积运算,并选取Yi满足DiYi=1(mod di),mod表示取模运算;令ei=DiYi(1≤i≤n),以(e1,e2,e3,…ei,…en)作为记录真正的加密密钥,而(d1,d2,d3,…di,…dn)是真正的解密密钥;
(3.3)、执行加密公式: C = Σ j = 1 n e j ( F ij ⊕ K ij ) ( mod D ) , 其中Fij是明文值,C为密文值,∑表示求和运算;
(4)、读取数据时,从数据库的系统表读出密钥,调用解密算法完成读取数据过程,解密算法的处理过程为:
(4.1)、根据系统表读出的密钥计算Kij,计算过程同(3.1)
(4.2)、执行解密公式: F ij = C ( mod d i ) ⊕ K ij , ( 1 ≤ i ≤ n ) .
采用透明加(解)密模式,在数据库核心外增加一个加解密层用以完成所有加解密操作。
本发明的技术构思为:首先,根据中国剩余定理,不再需要为每个数据项运行一次加密算法,而只需要对整个记录运行一次加密算法,跟数据项加密方式相比直接减少了运行加密算法的次数,从而提高加密的时间性能;其次,数据项加密后密文与密文是一一对应的,而本方案加密后整个记录对应一个密文,从而破坏了明文密文之间的对应关系,也在一定程度上提高了数据的安全性。最后,采用多层密钥管理方式动态生成密钥有效的解决了密钥管理困难的问题。
本发明的有益效果主要表现在:1、能有效提高加解密效率;2、动态生成密钥降低密钥管理的复杂性。
附图说明
图1为基于中国剩余定理的数据库加密方法的原理示意图。
图2为用户创建数据库示意图。
图3为基于中国剩余定理的数据库加密的加解密算法流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图3,一种基于中国剩余定理的数据库加密方法,所述数据库加密方法包括以下步骤:
(1)、指定数据库全局密钥,并保存至数据库的系统表中;
(2)、指定表密钥以及各字段密钥,并保存至数据库的系统表中;
(3)、存储数据时为每一条记录随机产生一个记录密钥,并结合数据库全局密钥、表密钥、以及字段密钥,调用加密算法完成数据的加密存储,加密算法的处理过程包括:
(3.1)、由密钥产生器动态产生数据项密钥:Kij=g(DBK,TK,Ri,Fj),其中DBK为数据库全局密钥,TK为表密钥,Ri为第i个记录密钥,Fj为第j个字段密钥;g是一个密码学上的单向函数,其定义为: g ( DBK , TK , R i , F j ) = MD 5 ( DBK ⊕ TK ⊕ R i ⊕ F j ) , MD5是指密码学中的MD5算法,
Figure C20081006309800072
表示按位异或运算;
(3.2)、随机生成一组两两互为素数的正整数(d1,d2,d3,…di,…dn),1≤i≤n,计算 D = Π i = 1 n d i , D i = D / d i , ∏表示乘积运算,并选取Yi满足DiYi=1(mod di),mod表示取模运算;令ei=DiYi(1≤i≤n),以(e1,e2,e3,…ei,…en)作为记录真正的加密密钥,而(d1,d2,d3,…di,…dn)是真正的解密密钥;
(3.3)、执行加密公式: C = Σ j = 1 n e j ( F ij ⊕ K ij ) ( mod D ) , 其中Fij是明文值,C为密文值,∑表示求和运算;
(4)、读取数据时,从数据库的系统表读出密钥,调用解密算法完成读取数据过程,解密算法的处理过程为:
(4.1)、根据系统表读出的密钥计算Kij,计算过程同(3.1)
(4.2)、执行解密公式: F ij = C ( mod d i ) ⊕ K ij , ( 1 ≤ i ≤ n ) .
采用透明加(解)密模式,在数据库核心外增加一个加解密层用以完成所有加解密操作。
本实施例的具体工作过程为:
首先,用户创建数据库,创建数据库的同时默认创建一个系统表,用于存放后续的数据是否加密以及加密密钥等信息;同时指定数据库级密钥。
用户设计需要的数据表,定义这个表中的敏感(机密)信息字段,这些字段将在数据库中加密存储,其他信息仍将以明文形式进行存储。例如:定义某企业员工信息表,可能包含有员工姓名、性别、年龄、职位、技术职称、所属部门、月薪等字段。这些字段中的月薪、年龄对于员工来说可能是敏感信息,那么就可以定义这两个字段加密存储。同时还为这两个字段指定字段密钥。
向数据库添加数据时,根据系统表中加密标志决定该字段是否加密存储,如果需要加密存储则根据系统表中的密钥调用加密算法生成密文并存储。这个过程对用户来说是透明的。
同样,查询数据时也根据系统表中的加密标志决定是否需要进行解密处理。如果仅查询部分字段信息则不需要对整个记录进行解密。在上述例子中,若查询员工的姓名、性别、月薪信息,根据系统表中的加密标志可知姓名和性别都是明文存储的,不需要解密处理;月薪是加密存储的,需要调用解密算法进行解密。另一个加密字段年龄没有被查询到就不需要进行解密处理。这个过程对用户来说也是透明的。
非法用户绕过加解密部件盗取数据时只能得到没有实际意义的密文数据。
更具体地,可以用如下例子来描述加解密算法的计算过程。为更加简洁地描述计算过程示例中都直接使用数值类型数据,其它类型数据可按照二进制数据依次取两个字节进行类似计算。
算法计算过程示例:假设需要加密地一条明文记录有三个字段构成,它们的值分别为:F1=5,F2=6,F3=2;随机产生一组素数为:d1=31,d2=37,d3=41;密钥生成器生成的K1=11,K2=22,K3=33,那么计算如下:
预备计算:
D=d1*d2*d3=47027;
D1=D/d1=47027/31=1517;
D2=D/d2=47027/37=1271;
D3=D/d3=47027/41=1147;
Y1=15;
Y2=20;
Y3=40;
e1=D1*Y1=22755;
e2=D2*Y2=25420;
e3=D3*Y3=45880;
执行加密公式: C = [ e 1 * ( F 1 ⊕ K 1 ) + e 2 * ( F 2 ⊕ K 2 ) + e 3 * ( F 3 ⊕ K 3 ) ] Mod D
= [ 22755 * ( 5 ⊕ 11 ) + 25420 * ( 6 ⊕ 22 ) + 45880 * ( 2 ⊕ 33 ) ] Mod 47027 = 26767 ;
执行解密公式:
F 1 = ( C Mod d 1 ) ⊕ K 1 = ( 26767 Mod 31 ) ⊕ 11 = 5 ;
F 2 = ( C Mod d 2 ) ⊕ K 2 = ( 26767 Mod 37 ) ⊕ 22 = 6 ;
F 3 = ( C Mod d 3 ) ⊕ K 3 = ( 26767 Mod 41 ) ⊕ 33 = 2 .

Claims (2)

1、一种基于中国剩余定理的数据库加密方法,其特征在于:该方法具体包括以下步骤:
(1)、指定数据库全局密钥,并保存至数据库的系统表中;
(2)、指定表密钥以及各字段密钥,并保存至数据库的系统表中;
(3)、存储数据时为每一条记录随机产生一个记录密钥,并结合数据库全局密钥、表密钥、以及字段密钥,调用加密算法完成数据的加密存储,加密算法的处理过程包括:
(3.1)、由密钥产生器动态产生数据项密钥:Kij=g(DBK,TK,Ri,Fj),其中DBK为数据库全局密钥,TK为表密钥,Ri为第i个记录密钥,Fj为第j个字段密钥;g是一个密码学上的单向函数,其定义为: g ( DBK , TK , R i , F j ) = MD 5 ( DBK ⊕ TK ⊕ R i ⊕ F j ) , MD5是指密码学中的MD5算法,表示按位异或运算;
(3.2)、随机生成一组两两互为素数的正整数(d1,d2,d3,…di,…dn),1≤i≤n,计算 D = Π i = 1 n d i , D i = D / d i , ∏表示乘积运算,并选取Yi满足DiYi=1(moddi),mod表示取模运算;令ei=DiYi(1≤i≤n),以(e1,e2,e3,…ei,…en)作为记录真正的加密密钥,而(d1,d2,d3,…di,…dn)是真正的解密密钥;
(3.3)、执行加密公式: C = Σ j = 1 n e j ( F ij ⊕ K ij ) ( mod D ) , 其中Fij是明文值,C为密文值,∑表示求和运算;
(4)、读取数据时,从数据库的系统表读出密钥,调用解密算法完成读取数据过程,解密算法的处理过程为:
(4.1)、根据系统表读出的密钥计算Kij,计算过程同(3.1)
(4.2)、执行解密公式: F ij = C ( mod d i ) ⊕ K ij , ( 1 ≤ i ≤ n ) .
2、如权利要求1所述的基于中国剩余定理的数据库加密方法,其特征在于:在数据库核心外增加一个用以完成所有加解密操作的加解密层。
CN 200810063098 2008-07-10 2008-07-10 基于中国剩余定理的数据库加密方法 Expired - Fee Related CN100576226C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810063098 CN100576226C (zh) 2008-07-10 2008-07-10 基于中国剩余定理的数据库加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810063098 CN100576226C (zh) 2008-07-10 2008-07-10 基于中国剩余定理的数据库加密方法

Publications (2)

Publication Number Publication Date
CN101320409A CN101320409A (zh) 2008-12-10
CN100576226C true CN100576226C (zh) 2009-12-30

Family

ID=40180453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810063098 Expired - Fee Related CN100576226C (zh) 2008-07-10 2008-07-10 基于中国剩余定理的数据库加密方法

Country Status (1)

Country Link
CN (1) CN100576226C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579987A (zh) * 2017-09-22 2018-01-12 郑州云海信息技术有限公司 一种服务器云端诊断系统规则库二级加密、访问方法及系统
CN111324897B (zh) * 2018-12-13 2022-08-09 中国科学院深圳先进技术研究院 一种图像加密方法、装置及图像解密方法、装置
WO2022141056A1 (zh) * 2020-12-29 2022-07-07 杭州趣链科技有限公司 基于中国剩余定理的数据传输优化方法、装置和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1554047A (zh) * 2001-09-06 2004-12-08 因芬尼昂技术股份公司 计算模指数结果之装置及方法
US6959288B1 (en) * 1998-08-13 2005-10-25 International Business Machines Corporation Digital content preparation system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959288B1 (en) * 1998-08-13 2005-10-25 International Business Machines Corporation Digital content preparation system
CN1554047A (zh) * 2001-09-06 2004-12-08 因芬尼昂技术股份公司 计算模指数结果之装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
数据库中敏感数据加密方法的研究. 王巍.科技广场. 2007 *

Also Published As

Publication number Publication date
CN101320409A (zh) 2008-12-10

Similar Documents

Publication Publication Date Title
US9813389B2 (en) System and method for wireless data protection
CN104486315B (zh) 一种基于内容属性的可撤销密钥外包解密方法
CN103875001B (zh) 用于保护密码散列函数的执行的方法和系统
CN104363215B (zh) 一种基于属性的加密方法和系统
CN108768951B (zh) 一种云环境下保护文件隐私的数据加密和检索方法
US20050002532A1 (en) System and method of hiding cryptographic private keys
CN105262843A (zh) 一种针对云存储环境的数据防泄漏保护方法
CN102567688B (zh) 一种安卓操作系统上的文件保密系统及其保密方法
CN103329184A (zh) 数据处理装置以及数据保管装置
CN105100083A (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN101582760A (zh) 一种基于树结构的密钥加密存储方法
CN106533663B (zh) 数据加密方法、加密方设备及数据解密方法、解密方设备
CN106936820B (zh) 数据变长修改方法及其在大数据加密中的应用
CN110704858A (zh) 一种分布式环境下数据安全存储方法以及系统
JP6961324B2 (ja) 検索可能暗号処理システム
CN102811124B (zh) 基于两卡三码技术的系统验证方法
CN100576226C (zh) 基于中国剩余定理的数据库加密方法
Abo-Alian et al. Auditing-as-a-service for cloud storage
CN100531032C (zh) 密钥存储方法
Qi et al. Secure data deduplication with dynamic access control for mobile cloud storage
CN112134701B (zh) 敏感关键字可否认编辑加密方法
Dave et al. Securing SQL with access control for database as a service model
KR101105384B1 (ko) 키 암호화 및 셔플링이 적용된 부채널 공격에 안전한 키 관리방법
Sriram et al. Location based encryption-decryption system for android
CN110113331B (zh) 一种隐藏访问结构的分布式密文策略属性基加密方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091230

Termination date: 20120710