CN112560065A - 一种数据库密文直接索引的方法 - Google Patents
一种数据库密文直接索引的方法 Download PDFInfo
- Publication number
- CN112560065A CN112560065A CN202011544005.2A CN202011544005A CN112560065A CN 112560065 A CN112560065 A CN 112560065A CN 202011544005 A CN202011544005 A CN 202011544005A CN 112560065 A CN112560065 A CN 112560065A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- encryption
- ciphertext
- security
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000008569 process Effects 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 239000000306 component Substances 0.000 description 6
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Images
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Power Engineering (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种数据库密文直接索引的方法,其中,包括:对数据库访问的用户经过该安全代理服务,在安全代理服务中进行数据加密以及存取控制的安全策略;安全代理服务通过数据库的访问接口进行数据在数据库中的存储,安全代理服务存在于客户端应用与数据库存储引擎之间,完成库中数据的加解密工作;安全代理服务先创建实例,再依据自定义参数启服务,接着绑定应用,最后借助协议识别模块完成前置代理数据加解密业务过程;已配置策略的数据表列,在数据库存储是以密文形态存在;安全代理服务针对输入的明文数据进行加密处理,加密的粒度为分步迭代量,每次加解密的粒度为每条记录的分量数据。
Description
技术领域
本发明涉及数据安全技术,特别涉及一种数据库密文直接索引的方法。
背景技术
目前,计算机大批量数据存储的安全问题、敏感数据的防窃取和防篡改问题越来越引起人们的重视。数据库系统作为计算机信息系统的核心部件,数据库文件作为信息的聚集体,其安全性将是信息产业的重中之重。
数据库管理系统的运行操作系统之上,操作系统通常都具有用户注册、识别用户、任意存取控制(DAC)、审计等安全功能。虽然DBMS在OS的基础上增加了不少安全措施,例如基于权限的访问控制等,但OS和DBMS对数据库文件本身仍然缺乏有效的保护措施,有经验的网上黑客会“绕道而行”,直接利用OS工具窃取或篡改数据库文件内容。实现数据库加密以后,各用户(或用户组)的数据由用户用自己的密钥加密,数据库管理员获得的信息无法进行正常脱密,从而保证了用户信息的安全。
然而通常的应用改造加密和网络设备进行加密时,相关业务人员对密文的检索往往是受限制的,使得加密后性能大幅度下降。传统的方法是首先对加密数据进行解密,然后对解密数据进行检索,这种方法是不安全也是不高效的。
数据库的保密问题不仅包括在传输过程中采用加密保护和控制非法访问,还包括对存储的敏感数据进行加密保护,使得即使数据不幸泄露或者丢失,也难以造成泄密。同时,实现数据库加密以后,各用户(或用户组)的数据由用户用自己的密钥加密,数据库管理员获得的信息无法进行正常脱密,从而保证了用户信息的安全。另外,通过加密,数据库的备份内容成为密文,从而能减少因备份介质失窃或丢失而造成的损失。由此可见,数据库加密对于数据库安全管理,是不可或缺的。不过目前数据库加密主要存在以下的问题:
由于数据库系统要执行大量的检索操作,这就要求数据库加、解密算法既要保证系统的安全性,又要保证对密文数据检索的方便和快速。但是目前已提出的数据库加、解密算法,及在其之上的检索、添加、更新、删除方法还都不能同时满足系统的安全性和易用性要求。而寻找一个在不影响用户正常使用前提下能够快速对数据进行加解密的方法也成为数据库加密体系研究中迫切需要解决的问题之一。
发明内容
本发明的目的在于提供一种数据库密文直接索引的方法,用于解觉现有技术解决如何加密数据库并且基于密文数据库进行高效且安全的数据检索的问题。
本发明一种数据库密文直接索引的方法,其中,包括:对数据库访问的用户经过该安全代理服务,在安全代理服务中进行数据加密以及存取控制的安全策略;安全代理服务通过数据库的访问接口进行数据在数据库中的存储,安全代理服务存在于客户端应用与数据库存储引擎之间,完成库中数据的加解密工作;安全代理服务先创建实例,再依据自定义参数启服务,接着绑定应用,最后借助协议识别模块完成前置代理数据加解密业务过程;已配置策略的数据表列,在数据库存储是以密文形态存在;安全代理服务针对输入的明文数据进行加密处理,加密的粒度为分步迭代量,每次加解密的粒度为每条记录的分量数据;数据检索时,不解密数据库中的密文,通过翻译用户提交的明文检索语句与数据库中密文的校验码进行比较,最终得到检索结果。
根据本发明所述的数据库密文直接索引的方法的一实施例,其中,安全代理服务实现响应配置策略对数据库列进行加密,利用分校验码实现密文数据检索,最后安全代理服务实现密文解密,并将解密结果向应用系统返回。
根据本发明所述的数据库密文直接索引的方法的一实施例,其中,加密算法以对称密码算法AES开展;Hash算法以SHA256进行。
根据本发明所述的数据库密文直接索引的方法的一实施例,其中,加密算法封装到安全代理服务中,对用户业务系统透明。
根据本发明所述的数据库密文直接索引的方法的一实施例,其中,加密时针对原文数据辅助以伪随机数。
根据本发明所述的数据库密文直接索引的方法的一实施例,其中,安全代理服务针对输入的明文数据进行加密处理,数据表为M,该数据表有P个属性、Q条记录,其中一个属性的属性名为M(i,i<=P),M(i,j)表示数据表M的第j条记录中M(i)字段的值。
根据本发明所述的数据库密文直接索引的方法的一实施例,其中,密文由2部分组成,对分量进行对称加密的密文和基于该密文生成的校验码,该校验码用于检索。
本发明的目的是提出一种安全且高效的数据库密文直接检索的办法,在发明中所有的敏感数据都以密文的形式储存在数据库中并且基于密文来检索处理。本发明不仅要保证数据的安全,还要保证数据库的检索达到一般应用的要求,满足易用性。采用对称密码技术和Hash技术,因为对称密码技术不仅加、解密速度快,算法安全,而且加密得到的密文是紧凑的,降低了数据库服务器的开销,采用Hash技术是为了充分利用其不可逆性,保护传输到数据库的检索数据,提高安全性。
附图说明
图1为数据库加密系统组成图;
图2为安全代理处理逻辑图;
图3为数据库加密示意图;
图4为加密粒度示意图;
图5为加密算法应用示意图;
图6为加密明文分步迭代量逻辑图;
图7为密文数据检索示意思图;
图8为密文数据库检索逻辑图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1为数据库加密系统组成图,如图1数据库加密系统包括数据库市场、数据库服务、应用管理、协议识别处置四个模块,整个工作模式遵循先创建实例,再依据自定义参数启服务,接着绑定应用,最后借助协议识别模块完成前置代理数据加密以及解密的业务过程。
已配置策略的数据表列,在数据库存储是以密文形态存在,避免了非法获取数据库权限的用户查阅敏感数据。
本发明一种数据库密文直接索引的办法,利用在数据库之前增加一道安全代理服务,如图2以及图3所示,对数据库访问的用户必须经过该安全代理服务,在此服务中实现如数据加解密、存取控制等安全策略;然后安全代理服务通过数据库的访问接口实现数据在库中的最终存储。安全代理服务存在于客户端应用与数据库存储引擎之间,负责完成库中数据的加解密工作。
(二)数据加密
AES加密算法的128位明文作为一个分组,对每个分组执行如下步骤完成加密过程(P表示128位明文,K1表示密钥、C表示128位密文),详情如图4以及图5所示:
1、K1对明文P进行AES加密,得到密文C1=AESK1(P);
2、SHA算法获取明文P的HASH值:K2=SHA256(P);
3、K2加密密文C1,得到密文C2,C2=AESK2(C1);
4、得到加密的结果为128位密文C=C1+C2
(三)明文分步迭代加密
如图6所示,假定:T(i,j)为明文分量,C(i,j)为密文分量,K1为密钥
1、计算明文分量T(i,j)的长度,按128位为1组得到N个128位分组,余下数据为M(M不足128位),即T(i,j)由N个128位分组和M构成
2、N个128位分组,用加密算法加密得到结果R
3、余下的数据M进行填充,同时增加辅助伪随机数(确保明文数据相同,加密结果每次均不同,类似于一次性口令认证)
4、K1对B进行AES加密,获取密文C1=AESK1(B)
5、SHA256算法苑M的HASH,K2=SHA256(M)
6、K2对密文C1进行AES加密,得到密文C2=AESK2(C1)
(四)密文数据检索
图7为密文数据库检索流程图,密文数据库检索利用对称密码技术和HASH技术,如图7以及图8所示,假设检索的条件为T(i)=A(A为用户设置的检索项),检索语句为下列过程验证C(i,j)的明文是否为A。(Flag=1,表示验证成功,得到检索结果;Flag=0,表示验证失败,不存在符合检索条件的记录。)
第一步:将A划分为N个128位的分组A[1],…,A[N](包括不足128位的数据块);
第二步:将C(i,j)划分为M个256位的分组C[1],…,C[M];
第三步:设int s=1;
第四步:如果s<=M,把C[s]划分为2个部分,C1[s]和C2[s],将A[s]用SHA算法进行哈希运算得到其哈希值K=SHA(A[s]);
第五步:用K作为AES算法的密钥加密C1[s],得到CK[s]=AESK(C1[s]);
第六步:比较CK[s]和C2[s]是否相等,如果相等,s++,返回步骤4,Flag=1;否则,Flag=0进入
第七步:返回Flag;
(五)检索结果解密
检索结果解密包括两部分,针对密文进行解密、针对分步迭代分量进行解密,详情如下
256位的密文分组C,将其分为前后两部分C1、C2,每个部分为128位,通过解密算法可知,C1是AES加密的结果,所以用AES解密算法将C1解密即可得到明文P。
密文数据C(i,j)的长度假定为length;计算C(i,j)M个完整256位分组,M=length/128;前M-1分组用解密算法分别进行解密,得到前M-1个分解密的结果R1;对最后一个分组用解密算法解密后去除伪随机数部分,得到明文R2;最终明文数据为R1+R2。
本发明构建了一种先进的数据库密文检索办法,突破了应用改造加密及网络设备加密在密文索引查询方面的限制。利用对称密码技术和HASH技术,既能保证数据的安全,还能保证数据库的检索达到一般应用的要求,满足易用性。数据库进行数据加密后,利用专有的密文检索技术,依然能够对密文数据提供索引能力,从而保持数据库的高效访问能力。产品通过密文索引技术,突破了应用改造加密及网络设备加密在密文索引查询方面的限制;在保证索引数据的高度安全基础上,提供了对密文数据为检索条件的索引查询。
本发明可以切实提高系统的可用性,保证数据库的安全性,精心研究并实现了高效且安全的密文数据库检索技术。在今后的工作中我们将进一步研究检索算法,以使之能适应诸如模糊查询、多表查询、复合条件查询等各种复杂查询模式的密文数据库检索机制。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (7)
1.一种数据库密文直接索引的方法,其特征在于,包括:对数据库访问的用户经过该安全代理服务,在安全代理服务中进行数据加密以及存取控制的安全策略;安全代理服务通过数据库的访问接口进行数据在数据库中的存储,安全代理服务存在于客户端应用与数据库存储引擎之间,完成库中数据的加解密工作;
安全代理服务先创建实例,再依据自定义参数启服务,接着绑定应用,最后借助协议识别模块完成前置代理数据加解密业务过程;
已配置策略的数据表列,在数据库存储是以密文形态存在;
安全代理服务针对输入的明文数据进行加密处理,加密的粒度为分步迭代量,每次加解密的粒度为每条记录的分量数据;
数据检索时,不解密数据库中的密文,通过翻译用户提交的明文检索语句与数据库中密文的校验码进行比较,最终得到检索结果。
2.如权利要求1所述的数据库密文直接索引的方法,其特征在于,安全代理服务实现响应配置策略对数据库列进行加密,利用分校验码实现密文数据检索,最后安全代理服务实现密文解密,并将解密结果向应用系统返回。
3.如权利要求1所述的数据库密文直接索引的方法,其特征在于,加密算法以对称密码算法AES开展;Hash算法以SHA256进行。
4.如权利要求3所述的数据库密文直接索引的方法,其特征在于,加密算法封装到安全代理服务中,对用户业务系统透明。
5.如权利要求1所述的数据库密文直接索引的方法,其特征在于,加密时针对原文数据辅助以伪随机数。
6.如权利要求1所述的数据库密文直接索引的方法,其特征在于,安全代理服务针对输入的明文数据进行加密处理,数据表为M,该数据表有P个属性、Q条记录,其中一个属性的属性名为M(i,i<=P),M(i,j)表示数据表M的第j条记录中M(i)字段的值。
7.如权利要求1所述的数据库密文直接索引的方法,其特征在于,密文由2部分组成,对分量进行对称加密的密文和基于该密文生成的校验码,该校验码用于检索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011544005.2A CN112560065A (zh) | 2020-12-24 | 2020-12-24 | 一种数据库密文直接索引的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011544005.2A CN112560065A (zh) | 2020-12-24 | 2020-12-24 | 一种数据库密文直接索引的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112560065A true CN112560065A (zh) | 2021-03-26 |
Family
ID=75031941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011544005.2A Pending CN112560065A (zh) | 2020-12-24 | 2020-12-24 | 一种数据库密文直接索引的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112560065A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115033925A (zh) * | 2022-08-11 | 2022-09-09 | 三未信安科技股份有限公司 | 一种数据库安全检索方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080133935A1 (en) * | 2004-06-01 | 2008-06-05 | Yuval Elovici | Structure Preserving Database Encryption Method and System |
KR101548654B1 (ko) * | 2014-09-03 | 2015-09-02 | 서울과학기술대학교 산학협력단 | 보안성이 있는 암호화 체계를 구비하고 순서 버킷을 이용하는 데이터베이스 쿼리 장치 및 방법 |
CN105610793A (zh) * | 2015-12-18 | 2016-05-25 | 江苏大学 | 一种外包数据加密存储与密文查询系统及其应用方法 |
CN106599719A (zh) * | 2016-12-12 | 2017-04-26 | 西安电子科技大学 | 支持高效密钥管理的密文检索方法 |
CN108628867A (zh) * | 2017-03-16 | 2018-10-09 | 北京科瑞云安信息技术有限公司 | 面向云存储的多关键词密文检索方法和系统 |
CN109255248A (zh) * | 2018-08-28 | 2019-01-22 | 福建南威软件有限公司 | 一种基于加解密算法的全文检索方法 |
CN109858263A (zh) * | 2019-01-21 | 2019-06-07 | 北京城市网邻信息技术有限公司 | 数据存储检索方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-24 CN CN202011544005.2A patent/CN112560065A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080133935A1 (en) * | 2004-06-01 | 2008-06-05 | Yuval Elovici | Structure Preserving Database Encryption Method and System |
KR101548654B1 (ko) * | 2014-09-03 | 2015-09-02 | 서울과학기술대학교 산학협력단 | 보안성이 있는 암호화 체계를 구비하고 순서 버킷을 이용하는 데이터베이스 쿼리 장치 및 방법 |
CN105610793A (zh) * | 2015-12-18 | 2016-05-25 | 江苏大学 | 一种外包数据加密存储与密文查询系统及其应用方法 |
CN106599719A (zh) * | 2016-12-12 | 2017-04-26 | 西安电子科技大学 | 支持高效密钥管理的密文检索方法 |
CN108628867A (zh) * | 2017-03-16 | 2018-10-09 | 北京科瑞云安信息技术有限公司 | 面向云存储的多关键词密文检索方法和系统 |
CN109255248A (zh) * | 2018-08-28 | 2019-01-22 | 福建南威软件有限公司 | 一种基于加解密算法的全文检索方法 |
CN109858263A (zh) * | 2019-01-21 | 2019-06-07 | 北京城市网邻信息技术有限公司 | 数据存储检索方法、装置、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115033925A (zh) * | 2022-08-11 | 2022-09-09 | 三未信安科技股份有限公司 | 一种数据库安全检索方法 |
CN115033925B (zh) * | 2022-08-11 | 2022-10-28 | 三未信安科技股份有限公司 | 一种数据库安全检索方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Blaze | A cryptographic file system for UNIX | |
EP1515215B1 (en) | Method and apparatus for secure delivery and rights management of digital content by means of document indexing | |
CN101587479B (zh) | 面向数据库管理系统内核的数据加解密系统及其方法 | |
US7111005B1 (en) | Method and apparatus for automatic database encryption | |
US8375224B2 (en) | Data masking with an encrypted seed | |
EP2430789B1 (en) | Protection of encryption keys in a database | |
US8386797B1 (en) | System and method for transparent disk encryption | |
US9003177B2 (en) | Data security for digital data storage | |
US20030208686A1 (en) | Method of data protection | |
US20100095118A1 (en) | Cryptographic key management system facilitating secure access of data portions to corresponding groups of users | |
US20040010699A1 (en) | Secure data management techniques | |
US20090240956A1 (en) | Transparent encryption using secure encryption device | |
JP4167476B2 (ja) | データ保護・保管方法/サーバ | |
AU2002213436A1 (en) | Method and apparatus for automatic database encryption | |
CN103107889A (zh) | 一种可搜索的云计算环境数据加密存储系统和方法 | |
US20080133905A1 (en) | Apparatus, system, and method for remotely accessing a shared password | |
CN112989375B (zh) | 一种分级优化加密无损隐私保护方法 | |
AU2017440029B2 (en) | Cryptographic key generation for logically sharded data stores | |
CN104618096A (zh) | 保护密钥授权数据的方法、设备和tpm密钥管理中心 | |
CN108170753B (zh) | 一种共有云中Key-Value数据库加密与安全查询的方法 | |
CN1588365A (zh) | 密文全文检索技术 | |
Tarigan | Use of Electronic Code Book (Ecb) Algorithm in File Security | |
CN112560065A (zh) | 一种数据库密文直接索引的方法 | |
US8006307B1 (en) | Method and apparatus for distributing secure digital content that can be indexed by third party search engines | |
JP4338185B2 (ja) | ファイルの暗号化・復号方法 |
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 |