云 南 大 学 学 报 ( 自 然 科 学 版 ) ,2010,32 ( 6) : 646 ~ 651
Journal of Yunnan University
CN 53 - 1045 / N ISSN 0258 - 7971
数据库密文检索技术的设计与实现 *
张 璇1,彭 朋2,黄勤龙3
(
1.
云南大学 软件学院,云南 昆明
;
复旦大学 软件学院,上海
650091
2.
北京邮电大学 计算机科学与技术学院,北京
3.
)
100876
;
201620
摘要: 在归纳现有的数据库密文检索技术的基础上,利用高效的对称密码技术和
技术提出了一种数
据库加密以及密文检索方案,并进行了实现
经过实验证明,该方案可以很好的保证数据库的机密性,而且能够
在不对数据库解密的基础之上实现高效的密文数据检索,另外,基于已经实现的密文检索技术,还实现了对密
文数据库的其他操作,包括插入数据
Hash
.
更新数据以及删除数据
、
.
关键词: 数据库加密; 密文数据库检索; 对称密码算法;
中图分类号:
文章编号:
文献标识码:
算法
Hash
TP 309
A
0258 - 7971
(
)
2010
06 - 0646 - 06
.
随着科学技术的发展,信息已渗透到社会的各
个角落,起着越来越重要的作用
在这个信息化的
时代,信息存储的安全问题
敏感数据的防窃取和
、
数据库系统作
防篡改问题越来越引起人们的重视
为保存敏感数据的核心系统,其安全性将是信息产
业的重中之重
.
.
1
.
那么,针对存储在数据库中的数据,该如何提
供更为有效的保护手段呢? 加密仍然是保护敏感
],因为,如果数据库中的数
数据最为有效的手段[
据是以密文形式存储的,即便攻击者成功入侵了系
统并且获取了数据,所得到的也只是密文数据,只
要加密强度足够,并且解密密钥保护得当,攻击者
显然,这种将数据
仍然无法获取他所需要的信息
加密后再存储到数据库中的方法确实是一种非常
有效的保护数据库数据的手段,不过,传统的数据
库检索是基于明文数据进行的操作,对于密文数据
来说,无法直接使用,要解决这个问题,最为直接的
办法是在检索之前对数据库进行解密操作,然后对
解密后的明文数据库再进行检索,但是这种方法存
在
数据库中的数据表之间是
相互关联的,如果要检索数据,必须将整个数据库
解密,而如果数据库数据量非常大,每一次检索前
都需要解密的话,检索效率是非常难于让人接受
个致命的问题:
①
3
②
的,而且,如此巨大的开销在实际操作中是不可行
的;
检索过程中整个数据库是以明文形式存在
的,这又给攻击者以可乘之机以获取数据库中的有
用信息,因为,一旦一个数据库入侵者入侵了数据
库,他不仅能观察到数据库中所有加密的数据,而
且在一段时间内他可以控制整个数据库系统,在控
制期间,入侵者可以监测到大量用户发送过来的检
索信息以及数据库对这些检索命令所进行的相应
处理;
只要对数据库发出检索的命令,解密密钥
就会以某种形式运用到数据库进行解密操作,这也
因
很容易泄漏解密密钥而导致数据库数据的暴露
此,我们需要在保证安全性和高效率的基础上对数
据库进行加密,而在检索前不对数据库进行解密,
而是直接对密文数据库进行检索
③
.
.
本文在归纳了已有的数据库加密以及数据库密
文检索研究的基础之上,提出一种高效的基于密文
数据库的检索技术并加以实现,经过实验证明,这个
并且,基于
方法可以非有效地保护数据库中的数据
.
这个检索技术我们还实现了对于数据库的其他相关
操作,包括插入数据
更新数据以及删除数据
、
.
1 相关研究
1. 1 数据库加密 数据库的保密问题不仅包括在
* 收稿日期:
2009 - 12 - 21
基金项目: 云南省教育厅青年教师科学研究基金项目(
6Y0041D
) ; 云南大学理( 工) 科校级科研项目(
2007Q025C
) ; 云南大学软件学
院信息安全学科建设基金项目(
)
作者简介: 张 璇(
1978 -
2010KS06
) ,女,江苏人,讲师,主要从事数据隐私保护
.
安全电子支付方面的研究
、
.
第
6
期
张 璇等: 数据库密文检索技术的设计与实现
746
传输过程中采用加密保护和控制非法访问,还包括
对存储的敏感数据进行加密保护,使得即使数据不
幸泄露或者丢失,也难以造成泄密
同时,实现数据
.
库加密以后,各用户( 或用户组) 的数据由用户用自
己的密钥加密,数据库管理员获得的信息无法进行
正常脱密,从而保证了用户信息的安全[
另外,通
过加密,数据库的备份内容成为密文,从而能减少因
由此可见,数据
备份介质失窃或丢失而造成的损失
.
库加密对于数据库安全管理,是不可或缺的
目前数
.
]:
据库加密主要存在以下
个方面的问题[
]
2
.
3
2
.
(
1
) 由于数据库系统要执行大量的检索操作,
解密算法既要保证系统的安全
这就要求数据库加
、
性,又要保证对密文数据检索的方便和快速
但是
解密算法,及在其之上的
目前已提出的数据库加
、
删除方法还都不能同时满足系统
检索
、
的安全性和易用性要求
而寻找一个在不影响用户
正常使用前提下能够快速对数据进行加解密的方
法也成为数据库加密体系研究中迫切需要解决的
问题之一
添加
、
更新
、
.
.
.
.
(
2
“
”
”
为基础的
可信第三方
可信第三方
) 目前针对数据库加密体系中密钥管理的
这
“
的密钥管理方法与密码学中
应用和研究大多是以
种基于
用户本人以外的任何人都不可信的理论相悖
1. 2 密文数据的检索 数据库中存储密文数据
后,如何进行高效检索成为一个重要的问题
检索
语句一般不可以直接运用到密文数据库的检索过
程,传统的方法是首先对加密数据进行解密,然后
对解密数据进行检索,正如前面所述,这种方法是
因此,寻找一种既能保证数
不安全也是不高效的
据库安全性又能保证使用方便性( 如: 检索
插入
、
、
删除) 的数据库加密方法一直是数据库加密
更新
、
近年来,不断有学者研究并提出
的主要研究方向
基于密文数据库的索引机制和检索策略[
]:
.
.
.
2
(
1
) 密文数据索引机制: 对密文数据库建立索
现有密
地
、
引,主要是为了实现对密文数据的高效查询
.
文数据索引机制主要有对密文数据的直接索引
址加密的密文索引以及动态安全的密文索引[
]
2
.
对密文数据的直接索引方法的主要缺点是密
文索引树中的地址数据是以明文方式存放的,攻击
者可将各结点的密文数据按其对应的明文进行排
序,并利用部分明
密文对应的统计规律获得可用
、
于破译的关键信息[
2
,
]
4
.
地址加密的密文索引方法可以解决直接密文
索引的缺陷,但如果攻击者能同时动态跟踪数据库
的访问过程,则有可能找出密文与密文地址的对应
关系,得到可乘之机[
,
]
5
2
.
动态安全的密文索引方法虽然可以有效地对
抗攻击者对密文数据和索引的对应关系进行动态
追踪分析,但实现起来却非常复杂,需要采用双地
址索引,每次访问索引之后,都访问
个密文数据,
其中一个密文数据主要是为了产生混淆效果,敌手
通过动态分析检索过程和猜测,能完全知道密文数
据的排序关系的概率大大降低,从而使密文索引的
安全性有所提高[
,
]
6
2
2
(
) 密文数据查询策略: 目前密文数据库查询
种策略: 一种是不用解密而直接操作密文
2
主要有
数据,另外一种是分步查询[
]
2
2
.
.
.
7 - 10
直接操作密文数据的方法包括数据库的秘密
其中: 秘密同态技
同态技术和数据库的序加密等
]对加密算法提出了一定的约束条件,使满
术[
而数
足密文同态的加密算法的应用不具有普遍性
.
],序
据库的序加密方法主要采用序列密码算法[
5
列密码算法采用异或的运算方法,密钥序列不能重
复,如果对不同记录采取不同的密钥种子,则密钥
管理难度太大,如果对不同记录采取相同的密钥种
子,则会存在不少相同或相近的密文字段值,容易
受到统计攻击和已知明文攻击
11 - 12
分步查询[
]一般需要进行查询分解,先对
密文数据进行范围查询,缩小解密范围,快速解密
后再执行精确查询,查询策略的核心难点在于需要
尽量提高对密文数据库查询的准确率,缩小返回客
户端的密文数据的范围
.
.
目前,密文数据库查询技术面临的主要困难是
算法运行效率不高,过于复杂而不满足易用性,大
多不能支持模糊匹配查询,在处理多表查询时,会
产生大量的伪连接,解密工作量大大增加
在处理
多条件查询时,由于大量中间结果的产生,导致系
统运行效率下降[
]
2
.
在本文中,我们主要解决如何加密数据库并且
基于密文数据库进行高效且安全的数据检索,在我
们的解决方案中所有的敏感数据都以密文的形式
存储在数据库中并且基于密文来进行检索处理
我
们期望达到的目标是,不仅要保证数据库的安全
性,而且要保证数据库检索的速度能够达到一般应
用的要求,满足易用性
个目标,我们采
技术,因为对称密码技术
用对称密码技术和
为达到这
2
.
.
.
Hash
846
云南大学学报( 自然科学版)
第
32
卷
能较好地适应数据库的操作
解密速度快,算法安全,而且加密得到的密
不仅加
、
文是紧凑的,降低了数据库服务器的开销,采用
技术是为了充分利用其不可逆性,保护传输
Hash
到数据库的检索数据,提高安全性
.
2 数据库加密及密文数据库检索方案
2. 1 设计思想 基于对现有的数据库加密以及密
文检索技术的分析研究,我们参考文献[
]的方
案提出了一个支持数据库密文检索的方案,本方案
的主要设计思想如下:
13
(
1
前将经过加密处理( 见图
即每次加
) 数据库加密 明文数据在输入数据库之
) ,加密的粒度为分量,
解密的粒度为每条记录的分量数据,这
、
1
有
M
T
(
名为
T
记录中
后得到
.
假设数据表为
,表
条记录,其中一个属性的属性
的第
条
) 被加密
) 表示数据表
(
,
j
T
(
j
N
) ,
T
T
,
j
i
T
i
个属性和
) (
(
(
C
) 密文由
T
i
i
i
i < = M
) 字段的值,即明文分量
)
,
j
) 存入数据库( 见图
2
部分组成,第
.
部分为对分量
1
部分为基于第
1
(
2
,
) 进行对称加密的密文,第
j
(
2
T
部分密文生成的校验码,用于检索
2
i
.
(
3
) 为保证相同的数据项每次加密的结果都
不相同,在加密时,在数据项的后面添加伪随机数
.
) 在检索时,不解密数据库中的密文,通过
翻译用户提交的明文检索语句与数据库密文中的
校验码进行比较,从而获得检索结果( 见图
4
(
)
3
.
图 1 数据库加密
Fig. 1 Database encryption
图 2 加密粒度
Fig. 2 Encryption at element level
图 3 密文数据库检索
Fig. 3 Query over encrypted database
第
6
期
张 璇等: 数据库密文检索技术的设计与实现
946
.
密
2. 2 方案实现 整套方案包括了数据库加密
、
文数据库检索和检索结果解密,其中加密算法以对
称密码算法中的
为
例
2. 2. 1 数据库加密
为例,
算法以
Hash
SHA
AES
AES
) 元加密算法 以
1
位( 也可以是
加密算法的明文分
位) 作为一个
组
分组,对于每一个分组执行以下步骤进行加密,在
这里我们成为元加密,对明文数据项的加密是通过
元加密算法来实现的
位或者
256
128
192
(
.
一样的时候,密文数据不一样,增加破解的难度) ,
得到一个
步骤
128
: 用密钥
加密,得到
位的分组
;
B
对
进行
B
AES
K1
) ;
4
5
B
(
C1 = AESK1
: 通过
步骤
(
) ;
L
步骤
加密,得到密文
步骤
: 用
K2
6
7
密文
SHA
AES
C2.
SHA
算法求得
L
的哈希值
K2 =
对步骤一中得到的密文
进行
C1
C1
: 最后得到密文数据项
C2 = AESK2
(
) ;
SC = R + C1 +
为
P
128
位的明文,
为密钥,
C
为
128
K1
算法流程图如图
所示
.
5
K1
(
进行
P
对明文
) ;
P
算法求得明文
加密,
AES
的哈希值
P
(
A
2. 2. 2 密文数据库检索 假设检索的条件为
= A
为用户设置的检索项) ,检索语句为
“select
(
) 的
,表示验证成功,得到检索
A.
,表示验证失败,不存在符合检索条
,下列过程验证
Flag = 1
= A”
,
j
C
T
(
)
i
i
(
)
.
假定:
位的密文
步骤
得到密文
步骤
K2 = SHA
步骤
到密文
: 用密钥
1
SHA
C1 = AESK1
: 通过
2
(
) ;
P
: 用
K2
加密步骤
(
) ;
中得到的密文
,得
C1
1
C2 = AESK2
C1
步骤
: 最后得到加密的结果是
位的密文
3
4
128
+ AESSHA
(
)
P
(
AESK1
(
)
P
所示
.
4
C = C1 + C2 = AESK1
(
) )
P
.
算法流程图如图
(
2
假定:
为密钥
步骤
,
j
(
i
.
1
1
组得到
N
位) ,即
128
个
(
T
128
,
j
i
K1
位为
不足
成;
) 对数据库明文分量的加密
,
j
) 为明文分量,
C
T
(
i
) 为密文分量,
: 计算明文分量
i
(
T
,
j
) 的长度,按
位分组,余下的数据为
位分组和
个
) 为
N
128
128
(
L
构
L
L
步骤
: 对于
2
个
N
法进行加密得到结果
位的分组,用元加密算
128
;
步骤
进行填充,增加一串
伪随机数( 增加的随机数能够保证当明文数据是
: 对余下的数据
3
L
R
.
i
(
1
A
…
Flag = 0
)
: 将
* from T where T
明文是否为
结果;
件的记录
步骤
[
,
A
N
: 将
步骤
2
C
[
];
,
],
…
M
C
: 设
步骤
: 如果
步骤
4
分,
[
[
]和
C1
s
s
运算得到其哈希值
C2
]( 包括不足
,
j
3
(
i
[
1
[
s
步骤
],得到
步骤
5
: 用
K
[
]
CK
s
: 比较
= AESK
6
CK
,返回步骤
C1
AES
(
[
]和
s
,
Flag = 1
C2
4
等,
步骤
s + +
;
7
;
步骤
算法的流程图如图
: 返回
Flag
7
所示
6
划分为
个
位的分组
128
N
位的数据块) ;
[
A
1
],
128
) 划分为
个
M
256
位的分组
C
;
int s = 1
,把
s < = M
C
]用
[
],将
s
A
(
K = SHA
作 为
2
[
]划分为
s
个部
算法进行哈希
;
SHA
[
])
A
s
算 法 的 密 钥 加 密
])
[
s
]是否相等,如果相
[
s
; 否则,
进入
C1
;
Flag = 0
图 4 元加密算法
Fig. 4 Basic encryption algorithm
056
云南大学学报( 自然科学版)
第
32
卷
2. 2. 3 检索结果解密
(
1
) 元解密算法 对于
部分
256
,
先将其分为前后
位,由元加密算法我们可知,
果,所以只需要用
到明文
位的密文分组
,每个部分为
是
解密算法将
128
加密的结
解密即可得
AES
AES
C1
C1
C1
C2
2
,
C
P.
) 对数据库密文分量的解密
(
: 计 算 密 文 数 据 项
(
2
步骤
) 的 长 度 为
,
j
i
C
;
Length
步骤
分组,
2
: 计算得到
;
M = Length /128
步骤
: 对前
进行解密,得到前
3
M - 1
M - 1
(
C
) 有
,
j
i
M
个完整的
位
256
个分组用元解密算法分别
个分组解密的结果
;
R1
1
4
5
步骤
: 对最后一个分组用元解密算法解密后
去除伪随机数的部分,得到明文
步骤
: 得到明文数据项
;
R2
R1 + R2.
2. 2. 4 基于密文数据库的其他操作 本文前面实
现的数据库加密以及密文数据库检索技术可以很
容易的扩展为其他数据库操作,包括数据库的插
更新和删除,并且所有操作都是基于密文数据
入
、
库的
.
数据插入: 用户在输入明文数据后,系统自动
将明文数据项进行加密,然后再插入数据库
数据更新: 分解为数据检索和数据插入
.
2
个步
骤
.
数据删除: 首先利用数据库检索技术检索出需
要删除的数据记录,然后再将其删除
.
3 方案实现
》
《
VBR
. VBR
课程的教学软件
本方案设计完成后,在
安全电子支付与电子
货币
虚拟网上银行系统中
进行了实现
虚拟网上银行系统是模拟真实
世界中的网上银行系统,系统中的敏感数据采用本
方案实现了加密保护,整个系统数据库中的敏感数
据以密文形式保存( 图
查询密码和交
、
易密码都是采用本文的方案加密保护的数据 )
使
用本文的数据库加密以及密文检索方法,
虚
拟网上银行系统中的敏感数据得到了保护,而且本
系统经过实际使用证明,系统的执行效率并不会因
为实施加密操作以及密文检索而降低,完全不影响
整个系统的运行
中的账号
VBR
7
.
.
图 5 加密明文分量
Fig. 5 Encrypt data element T
(
,
)
j
i
图 6 密文数据库检索
Fig. 6 Query over encrypted database
第
6
期
张 璇等: 数据库密文检索技术的设计与实现
156
图 7 加密保存的数据
Fig. 7 Encrypted data in database
4 结束语
.
总的来说,密文数据库的检索是一项复杂的工
作,高效
安全的密文数据库检索更是数据库安全
、
在本文中,我们为了切实提高系
技术研究的热点
统的可用性,保证数据库的安全性,精心研究并实
现了高效且安全的密文数据库检索技术
在今后的
工作中我们将进一步研究检索算法,以使之能适应
诸如模糊查询
复合条件查询等各种复
、
杂查询模式的密文数据库检索机制
多表查询
、
.
.
参考文献:
[
]
1
DAVIDA GI
,
WELLS D L
,
cryption system with subkeys
(
) :
2
312-328.
KAM J B. A database en-
,
[
]
J
6
. ACM TODS
,
1981
[
] 朱勤,骆轶姝,乐嘉锦
2
.
数据库加密与密文数据查询
]
技术综述[
J
.
[
] 赵晓峰 叶震
3
.
东华大学学报,
543-548.
几种数据库加密方法的研究与比较
,
33
2007
) :
4
(
]
[
J
.
计算机技术与发展,
[
] 崔国华,洪帆,付小青,等
4
.
(
,
17
) :
2
219-222.
2007
数据库系统中一种更安全
) :
(
,
28
2000
7
]
的加密机制[
J
.
华中理工大学学报,
[
]
7
[
]
8
[
] 马勺布,胡磊,徐德启
6
.
一种动态安全的密文数据库
]
检索方法[
J
.
,
ADLEMAN L
计算机工程,
,
DERTOUZOS M L. On data
RIVEST R L
132-133.
,
31
2005
) :
6
(
banks and privacy homomorphism
/ / In DeMillo R
[
]
C
D. Foundations of Secure Computations. Academic
,
1978
:
Press
169-177.
FERRER D J. A new privacy and homomorphism appli-
. Information Processing Letters
1996
60
,
,
[
]
J
cations
(
) :
5
277-282.
[
] 杨勇,方勇,周安民
9
.
秘密同态技术研究及其算法实
]
现[
J
.
计算机工程,
,
31
(
2
)
:
2005
157-159.
[
] 王晓峰,王尚平
秘密同态技术在数据库安全中的
10
.
计 算 机 工 程 与 应 用,
,
39
(
14
) :
194-
2003
]
应用[
J
.
196.
[
]
11
[
]
12
[
]
13
HACIGUMUS H
,
LYER B
,
LI C
,
et al. Executing SQL
over encrypted data in the database - services - provid-
,
,
/ / ACM SIGMOD. Madison
Wisconsin
er Model
[
]
C
:
USA. 2002
216-227.
,
LYER B
HACIGUMUS H
,
MEHROTRA S. Query opti-
[
]
C
mization in encrypted database systems
/ / DASFFA
:
2005
Beijing
Database Systems for Advanced Applications.
,
China. 2005
,
ZHONG S
,
WRIGHT R N. Privacy -
43-55.
:
YANG Zhi-qian
[
]
5
29-31.
SONG D X
,
WAGNER D
,
PERRIG A. Practical tech-
preserving queries on encrypted data
pean Symposium on Research in Computer Security
[
]
C
/ /11th Euro-
,
niques for searches on encrypted data
/ / IEEE
Symposium on Security and Privacy. Berkeley
Califor-
[
C
]
,
:
2006
,
USA
,
2000
:
nia
44-55.
479-495.
( 下转第
页)
656
656
云南大学学报( 自然科学版)
第
32
卷
Pulse coupled neural network model parameter estimation
and image segmentation
HU Fang
,
ZHOU Dong-ming
(
Department of Communication Engineering
,
NIE Ren-can
,
Yunnan University
,
ZHAO Dong-feng
,
Kunming 650091
,
China
)
:
Abstract
In this paper
,
the wavelet analysis was applied to multi - layer decomposition of image. Then
,
it
was linked to the right as a model parameter estimates of W with decomposition of the low - frequency coefficients
of the reconstructed image. It was estimated an optimal threshold value of the threshold θ. The final maximum cor-
relation criterion was used to determine network iteration times N. A successful automatic image segmentation was
obtained. Experimental results showed that the method automatically estimated model parameters based on PCNN
,
segmentation images retained a good profile and more details.
;
;
;
pulse coupled neural network
parameter estimation
wavelet analysis
maximum correlation cri-
image to avoid over - smoothing effect
:
Key words
terion
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
( 上接第
页)
651
Design and implementation of query over encrypted data
(
1. School of Software
ZHANG Xuan1,
,
Yunnan University
,
,
Shanghai 201620
Fudan University
PENG Peng2,
HUANG Qin-long3
,
,
China
Kunming 650091
,
;
China
2. School of Software
,
Beijing University of Posts and Telecommunications
;
3. School of Computer Science and Technology
,
Beijing 100876
,
China
)
:
Abstract
In this paper
,
we first study some methods for queries over encrypted data
,
and then we present
and implement a database encryption and query solution which is based on symmetric encryption and Hash tech-
nology. Our experiments demonstrate that our solution can guarantee the security of the database and at the same
time provide efficient query. In addition
,
we have implemented data insertion
,
updating and deletion based on our
query technology.
:
Key words
database encryption
;
query over encrypted data
;
symmetric encryption algorithm
;
Hash algorithm