(计算机软件与理论专业论文)数据库加密系统研究(1).pdf_第1页
(计算机软件与理论专业论文)数据库加密系统研究(1).pdf_第2页
(计算机软件与理论专业论文)数据库加密系统研究(1).pdf_第3页
(计算机软件与理论专业论文)数据库加密系统研究(1).pdf_第4页
(计算机软件与理论专业论文)数据库加密系统研究(1).pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机软件与理论专业论文)数据库加密系统研究(1).pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

四门i 师范大学硕士学位论文 数据库加密系统研究 计箕狮敬件与理论专业 研究生冯朝胜指导教师袁丁 在现在的许多信息系统中,数据库因存放了大量重要的信息和数据而成为 这些系统的核心部分,因而数据库中数据的安全问题就成为十分重要的问题。 以明文形式存放的数据,即使置于口令、防火墙和入侵检测系统的保护之下, 也很容易被窃取、盗用和破坏。另外,互联网的普及,移动通信、笔记本电脑 的广泛使用也对数据库安全构成了极大的威胁。所以,数据库的安全问题已成 为当前行业和企业用户迫在眉睫的安全问题。 在目前的技术条件下,保护数据和信息最行之有效的方法就是将它 i 2 n 密 后再存储在数据库中,因为加了密的数据和信息,即使被窃取、被拷贝、被截 获,获取者因无法破解窃取的密文而无从知晓它们对应的机密数据。要有效地 对数据库中的数据和信息进行加密保护,就必须建立数据库加密系统。本论文 就详细地给出了一个数据库加密系统的设计和实现方案。 本文提出的数据库加密系统设计和实现方案是在借鉴国内的一个很典型 的数据库加密系统设计方案的基础上提出来的。本文在设计数据库加密系统方 案的过程中在保证数据库安全的前提下力图解决该典型方案的两个重大不足: 一是适用范围较窄,另一个是密钥管理方案不合理。针对该典型方案仅适用于 单机环境的不足,所设计的系统采用的是基于c s 结构的多层应用程序架构, 这样的结构使得所实现的系统不仅能在单机上运行,还能在局域网和广域网这 样的分布式环境中运行,这无疑会大大提高加密系统的实用性,使其更具推广 价值。针对典型方案在密钥管理上不灵活、不合理的缺点,本文提出的密钥管 理方案根据不同数据安全要求的不问将数据分成不同的安全数据类,根据不同 用户访问权限的不同将用户分成不同的用户类。每一种数据类分配有一个密 四川师范大学硕士学位论文 钥,不同数据类的密钥是不同的,所有用户类密钥都是由若干数据类密钥基于 中国剩余定理“集成”出来的,反过来,系统很容易将用户的用户类密钥“分 解”成其所能访问的安全数据类密钥,这就意味着本密钥管理方案并不要求用 户拥有其能访阿的所有数据类的密钥,而只要求用户掌握由中国剩余定理计算 出的一个用户类密钥。文中的讨论表明,正是使用了这种简单易行的“集成” 和“分解”的方法,数据类的增加或删除、用户类的增加或删除和用户权限的 变更都变得很容易实现,因此,本文提出的密钥管理方案使得密钥管理更简单、 更灵活、更合理。本文给出的加脱密模块设计方案在保留原典型方案台理设计 的基础上,着重强调了如何解决设计和实现中的几个关键问题。为了验证本文 提出方案的正确性和可行性,专门实现了一个简易的模拟系统。测试模拟系统 所得的数据表明本数据库加密系统设计方案切实可行。 关键字:加密,解密,数据库加密引擎,安全数据类,用户类,加密字典 用户权限表,密钥管理,中国剩余定理 四川师范大学硕士学位论文 r e s e a r c ho fd a t a b a s ee n c r y p t i o ns y s t e m m a j o r :c o m p u t e rs o f t w a r ea n dt h e o r y g r a d u a t es t u d e n t :f e n gc h a o s h e n g s u p e r v i s o r :y u a nd i n g n o w a d a y s ,am a j o r i t yo fi n f o r m a t i o ns y s t e m ss t o r eal a r g en u m b e ro fi m p o r t a n t d a t ai nd a t a b a s e s , a sr e n d e r sd a t a b a s e st ob e c o m et h ec o r eo ft h e s es y s t e m s c o n s e q u e n t l y , s e c u r i t yo fd a t a b a s e sb e c o m e si m p o r t a n ta n du r g e n t t h o s ed a t a , w h i c ha r es t o r e di np l a i nt e x ta n da r ee v e np r o t e c t e d b yp a s s w o r d sa n df i r e w a l l sa n d i n t r u s i o nd e t e c t i o ns y s t e m s ,a r ee a s i l yf i l c h e d ,p e c u l a t e da n dd e s t r o y e d b e s i d e s , w i d e l yu s i n gh l t e r n e t , m o b i l ec o m m u n i c a t i o na n di a o t e b o o kc o m p u t e r s ,t o o , e x t r e m e l yt h r e a t e ns e c u r i t yo fd a t a b a s e s t h e r e f o r e ,s e c u r i t yo fd a t a b a s e sb e c o m e sa u r g e n tp r o b l e m a m o n g a l lt h ef e c h n i q u e sa n dr o e t h o d sp r o t e c t i n gd a t a , i ti st h er o o s tp r a c t i c a b l et o e n c r y p td a t aa n ds t o r ee n c r y p t e dd a t a , b e c a u s ee v e ni fe n c r y p t e dd a t aa r ef i l c h e d , c o p i e d ,o rp e c u l a t e d ,a t t a c k e r sa r ei n c a p a b l eo fu n d e r s t a n d i n gt h e s ed a t ai nt h a tt h e y a r ei n c a p a b l eo fd e c r y p t i n gt h e s ed a t a i no r d e rt o p r o t e c t i n gd a t ab ym e a n so f e n c r y p t i n gd a t a , i ti sn e c e s s a r yt os e tu pad a t a b a s ee n c r y p t i o ns y s t e m ,b e c a u s e b e s i d e se n c r y p f i o n ,p r o t e c t i n gd a d aa l s oc o n c e r nm a n yo t h e rp r o b l e m ss u c ha sk e y m a n a g e m e n t t h i sp a p e rj u s tg i v e sad e s i g na n di m p l e m e n t a t i o ns c h e m eo fd a t a b a s e e n c r y p t i o ns y s t e mi nd e t a i l i ti sb a s e do n ad o m e s t i ct y p i c a ls c h e m eo fd e s i g na n di m p l e m e n t a t i o no fd a t a b a s e e n c r y p t i o ns y s t e mt h a tt h i ss c h e m ei nt h i sp a p e ri sp r o p o s e d t h et y p i c a ls c h e m eh a s t w os e r i o u sd i s a d v a n t a g e s , o n eo fw h i c hi st h a tt h ee n c r y p t i o ns y s t e mb a s e do nt h e s c h e m ec a nr u no nas i n g l ec o m p t u t e r , a n dt h eo t h e ri st h a ti tl a c k so ff l e x i b i f i t ya n d r a t i o n a l i t yi nk e ym a n a g e m e n t i nv i e wo ft h ef i r s td r a w b a c k , t h es y s t e md e s i g n e di n t h i sp a p e ra d o p t st h em u l t i l a y e ra p p l i c a t i o np r o g r a mf r a m e w o r kb a s e do nc s a r c h i t e c t u r e s l l c ha r c h i t e c t u r ee n a b l i n gt h es y s t e r nt or u no nt l eu n i ta n da l s oi ns u c h d j s 砸b u t e da r c h i t e t u r ea sl a na n dw a n , a sw i l lu n d o u b t e d l yi m p r o v ep r a c t i c a b i l i t y o ft h ee n c r y p t i o ns y s t e mg r e a t l ya n dm a k ei tm o r ee a s yt ob ep o p u l a r i z e d t ot h e s e c o n dd i s a d v a n t a g e ,t h i sp a p e rp r e s e n t san e ws c h e m eo fk e ym a n a g e m e n t i nt h e 四川师范大学硕士学位论文 i w ws c h e l l t e , t h ed a t aa l ed i v i d e di n t od i f f e r e n ts e l - ed a t u md a s s e sb a s e do n d i f f e r e n tr e q u i r e m e n t so fa c c e s s i n gd a t a , w h i l eu s e r sa r ec o r r e s p o n d i n g l yd i v i d e di n t o d i f f e r e n tu s e rd a s s e sa c c o r d i n gt od i f f e r e n ta c c e s sa u t h o r i z a t i o n e a c hd a t u mc l a s si s d i s t r i b u t e dak e y , a n dd i f f e r e n td a t u md a s s e sh a v ed i f f e r e n tk e y s a l lu s e rc l a s sk e y s a l ef i g u r e do u tw i t hs e v e r a ld a t u mc l a s sk e v sa n dt h ec h i n e s er e m a i n d e rt h e o r e m i nt u r n ,t l l es y s t e r ne a s i l yw o r k so u tt h ek e y so ft h o s es e c u r ed a t u md a s sa c c e s s e db v a l lu s e ro n l ya c c o r d i n gt oh i su s e rc l a s sk e y h e n c e ,t h i sk e ym a n a g e m e n ts c h e m e r e q u e s t sa nu s e rt oo w r to n l yak e yi n s t e a do fk e y so fa l lt h ed a t u md a s s e sw h i c hc a n b ea c c e s s e db yh i m d i s c u s s i o ni nt h i sp a p e rs h o w st h a ti ti sj u s tt h i sm e t h o dt h a t r e n d e r si te a s yt oa d da n dd e l e t ead a t u md a s so rau s e rc l a s sa n da l t e rau s e r sa c c e s s a u t h o r i z a t i o n t h e r e f o r e ,t h ek e ym a n a g e m e n ts c h e m em a k e si ts i m p l e ra n dm o r e f l e x i b l ea n dm o r er e a s o n a b l et o m a r i a g ek c v s 而ed e s i g ns c h e m eo f e n c r y p t i n g d e c r y p t i n gm o d u l eg i v e ni nt h i sp a p e rf o c u s e so uh o wt os o l v es o m ek e y p r o b l e m sc o n f r o n t e dw i t hd u r i n gd e s i g n i n ga n di m p l e m e n t i n gd a t a b a s ee n c r y p t i o n s y s t e m ,a n dh o l dt h o s ev a l i dd e s i g no ft h et y p i c a ls c h e m e f o rt h ep u r p o s eo f v e r i f y i n gv a l i d i t ya n dp r a c t i e a b i l i t yo ft h ed e s i g na n di m p l e m e n t a t i o ns c h e m eo f d a t a b a s ee n c r y p t i o ns y s t e mg i v e ni nt h i s p a p e r , as i m p l es i m u l a t i o ns y s t e mi s i m p l e m e n t e d n ee x p e r i m e n t a ld a t ao ht h es i m u l a t i o ns h o w st h a tt h es c h e m eo f d e s i g na n di m p l e m e n t a t i o no fd a t a b a s ee n c r y p t i o ns y s t e mp r o p o s e db yt h i sp a p e ri s p r a c t i c a b l e k e yw o r d s :e n c r y p t i o n , d c e r y p t i o n ,d a t a b a s ee n c r y p t i o ne n g i n e ,s e c u r ed a t u mc l a s s , u s e rc l a s s ,w o r d b o o kf o re n c r y p t i o n ,k e ym a n a g e m e n t ,t h et a b l eo f u s e ra c c e s sa u t h o r i z a t i o n , t h ec h i n e s er e m a i n d e r t h e o r e m 四j 1 1 师艳大学硬士学位论文 四川师范大学学位论文独创性及使用授权声明 本人声明:所呈交学位论文,是本人在导师盎工指导下,独立进行研究 工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人 或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和 集体,均己在文中以明确方式标明。 本人承诺:已提交的学位论文电子版与论文纸本的内容一致。如因不符而 引起的学术声誉上的损失由本人自负。 本人同意所撰写学位论文的使用授权遵照学校的管理规定: 学校作为申请学位的条件之一,学位论文著作权拥有者须授权所在大学拥 有学位论文的部分使用权,即:1 ) 已获学位的研究生必须按学校规定提交印 刷版和电子版学位论文,可以将学位论文的全部或部分内容编入有关数据库进 行检索;2 ) 为教学和科研目的,学校可以将公开的学位论文或解密后的学位 论文作为资料在图书馆、资料室等场所或在校园网上供校内师生阅读、浏览。 论文作者签名:、冯钢日生 2 0 0 6 年4 月8 日 四 i l 师范大学硕士学位论文 第一章引言 1 1 研究目的与意义 随着计算机的发展与普及,以计算机网络和数据库为依托的电子商务、电 子政务也开始流行起来。众所周知,数据库系统担负着存储和管理信息的任务, 集中存放着大量数据,而且又为众多用户直接共享,泄漏或破坏这些信息将会 造成企业瘫痪,给国家带来巨大的损失,甚至危及国家安全。信息安全技术在 电子商务系统中的作用也越来越重要,它不仅守护着商家和客户的重要机密, 维护着商务系统的信誉和财产,同时为服务方和被服务方提供极大的方便,因 此,在电子商务系统中采用必要和恰当的安全技术和手段能充分提高电子商务 系统的可用性和可推广性。在这里,除了采用必要的防火墙、防病毒和防攻击 等网络安全措旋作为数据库外部的保护之外,还需要采取适当的措旄进行数据 库内数据的防护。事实证明,保证数据安全性的最好方法是将数据加密n ,欧 美国家虽然提供了一些加密产品,但很难保证其中没有陷阱,国内目前也没有 真正有效的数据库加密软件,因此,为了企业、政府甚至是国家的安全,开发 一个安全、可靠的数据库加密系统已迫在眉睫。本论文旨在利用现有的密码技 术和数据库技术提出一个实用性很强的数据库加密系统设计和实现方案,并且 该方案应首先从理论上保证基于该方案实现的系统应该具有安全性、可靠性和 实用性,真正成为数据保护的屏障。这对于电子商务、电子政务乃至整个信息 时代的发展无疑都具有重要而深远的意义。 1 2 国内外研究现状及发展情况 如何保证数据库中数据安全的问题一直是人们关注的问题,直是人们研 究的热点问题。然而,对于数据库安全的研究几乎都是集中在如何在数据库应 用系统和数据库管理系统( d b b l s ) 之间添加一个专门用于加密的加密器( 或模 块) ,很少把对数掘进行加密保护的部分独立出来作为一个专门的系统来进行 研究,直到最近人们才逐渐认识到研究和实现个专门的数据库加密系统的重 要性,因而可以说对于数据库加密系统的研究才刚刚起步,也许正因为这个原 四川师范大学硕士学位论文 因,关于数据库加密系统的研究文献很少见。下匦就从加密层次、加脱密模块、 密钥管理和密文数据库操作几个方面来说明数据库加密研究现状和发展情况。 数据库加密层次 现在数据库系统中主要基于三个层次进行数据库鹋加密工作:即o s 、d b m s 内核层、d b m s 外层“。 1 ) 在0 s 层,由于无法辨认数据库文件中的数据关系,从而无法产生合理的 密钥,也无法进行合理的密钥管理和使用,因此,在o s 层对数据库文件进行 加密,对于大型数据库来说,目前还难以实现。 图卜1d 明s 内核层加密关系图 图1 吨d 嘣s 外核层加密关系图 2 ) 在d b m s 内核层实现加密,是指数据在物理存取之前完成加脱密工作,如图 卜l 。这种方式造成d b m s 和加密器( 硬件或软件) 之间的接口需要d b m s 开发商 的支持。这种方式的优点是加密功能强,并且加密功能几乎不会影响d b m s 的 功能:缺点是在服务器一端进行加脱密运算,加重了数据库服务器的负载。 3 ) d i n s 外层加密是将数据库加密系统做成d b m s 的个外层工具,见图卜2 。 这是最适当的一种做法。采用这种加密方式时,加脱密运算可以放在客户端进 行t 其优点是不会加重数据库服务器的负载并可实现网上传输加密,缺点是加 密功能会受一些限制。 作为一种通过加密方式来保护数据的专门系统,数据库加密系统并不是一 哩川师范大学硕士学链论文 个数据库应用系统,而是一个将d b m s 部分功能、加密器和密钥管理三者紧密 结合起来的系统。显然,数据库加密系统实际上主要实现的还是加密器( 包括 加密定义工具) 的功能,它既可工作于数据库应用系统与d b m s 之间( 图1 3 ) , 又可作为一个独立工作的系统直接与d i n s 交互( 图1 - 4 ) 。本文设计的数据库 加密系统就采取的是第二种方式,用户所有的数据操作都通过系统提供的界面 而不是o b m s 提供的界面来完成,加解密工作对用户是透明的,加解密的强度 由数据的安全类别决定,安全性越高的数据,其对应的密钥长度越长。 数据库 加密系统 i i l d b l v l s i 图卜3 嵌入式数据库加密系统 图1 q 独立式数据库加密系统 加脱密模块 加脱密模块,作为数据库加密系统的核心模块,直接影响着整个系统的安 全性、稳定性和可靠性,所以它的设计将对整个系统的设计造成重大影响。可 能是因为数据库加密系统的研究刚刚起步,讨论加脱密模块设计的文献很少, 只有文献 2 4 给出了该模块的详细设计。通过对该设计的认真分析和研究, 发现该模陕的设计较为合理,并且该设计的合理l 生得到了基于该设计方案的由 华工安鼎公司开发出的数掘库加密系统的证实。 密钥的管理方案 文献 2 给出的加脱密模块设计的同时,也给出了密钥管理方案。该方案是 一个二级密钥管理方案。一级密钥为主密钥,二级密钥为工作密钥。主密钥的 作用是对二级密钥信息加密生成工作密钥。工作密钥用于对数据库数据的加脱 四川师范大学硕士学位论文 密。这里的二级密钥信息指的是加密数据在所属数据表中的行信息和列信息。 该方案的虽大优点是提出了将密钥分级的思想,其不足也是很明显的,主要有 三个不足:一是工作效率效率不高,其采取的“一次一密”的加密方式虽然能 够保证对数据的加密强度,但那是以耗费大量时间为代价的;二是主密钥更换 困难,一当主密钥更换,所有的工作密钥都要更换,进而要对所有的数据都进 行一次先脱密后加密的过程,这会耗费大量时间;三是没有提供保护主密钥的 有效措施,一旦主密钥泄漏,所有的数据都将“暴露无遗”,采用“一次一密” 的加密方式也就没有任何意义。 文献 5 6 提出了将数据和用户进行分类的密钥管理方案。该方案根据数 据安全要求的不同将数据分成不同的安全数据类,不同的安全数据类的安全级 另u 是不一样的,因而对应的密钥也是不一样的;根据不同用户权限的不同将用 户分成不同的用户类,不同用户类的密钥是不同的,用户类密钥由数据类密钥 基于某种方法生成,然而该方案并没有给出由数据类密钥生成用户类密钥的有 效方法。文献c 7 基于文献 5 6 的密铝管理方案找到了一种使用平方剩余函 数将数据类密钥转换为用户类密钥的方法,并在一个实现了的管理信息中得到 有效应用,这从实践的角度说明了将数据和用户分类的重要性、正确性和可行 性。然而,在数据分类大于2 的情况下要找到合适的平方剩余函数就会变得很 困难,而事实上数据的分类常常都远多于2 个,因而基于平方剩余函数的密钥 管理方案在数据库加密系统中并不可行。 密文数据库操作 当加密数据存放到密文数据库后,问题就出现了,那就是对于所形成的密 文数据库无法进行操作,也就是说,对于密文数据库,若要对某些字段进行统 计、平均、求和等数学运算时,必须先对这些字段进行解密运算,然后对明文 进行数学运算,之后再加密。这样一来首先就增大了时空开销;其次,在实际 应用中,对于某些重要或敏感数据,无法满足用户对其进行操作但又不让用户 了解其中的信息( 例如,在每个教师的工薪信息保密的情况下绘教师的工薪增 加1 5 ) 的需要。如果能对密文数据库进行数学运算和常规的数据库操作,显 然能够解决上面存在的问题,并可以大大削减加、解密所需要的时空开销,大 四川师范大学硕士学位论文 大提高数据库的运行效率。秘密同态刚”( h o m o m o r p h i s m ) 技术就是一个能解决 上述问题的方法。文献 1 0 将秘密同态技术应用于密文数据库中从理论上解决 了密文数据的操作的问题,即在不解密的情况下就可对数据进行想要进行的操 作。然而,该技术的实用性不强,因为引入该技术的一个重要目的是解决对密 文数据库进行操作加解密会消耗大量对闯的问题,而该技术本身用到的运算是 计算很耗时的大数模运算,这意味着该技术不仅不能减少时间消耗,还可能大 大增加时间消耗。目前对于密文的处理除了解密成明文、处理后再加密的方法 外还没有其它更有效的方法、 1 3 本文所做的工作 通过大量查阅和研究有关数据库加密的国内外文献,并在结合现代最新 密码和安全技术的基础上,本人提出了一个数据库加密系统设计方案。具体地 讲,做了如下工作: 1 ) 提出了一个全新的数据库加密系统总体结构设计方案。该方案使得基于该 方案的数据库加密系统不仅适用于单机环境,还适用于用途更为广泛的分 布式环境: 2 ) 解决了数据库加密系统加脱密模块在设计过程中遇到的几个关键性难题。 3 ) 提出了一个全新的数据库加密系统密钥管理方案。该方案使得用户只需拥 有一个密钥就可实现对不同安全级别数据的访问。 4 ) 从理论上说明了提出方案的正确性和可行性。 5 ) 丌发出的模拟系统从实践的角度一定程度地证明了方案的可行性。 1 4 本论文的组织结构 本论文是在笔者作为主要研究人员在研究四川省科技厅课题“数据 库加密系统”的过程中形成的。论文共五章,第一章主要介绍了本课题的研 究目的和意义、研究现状和发展趋势;第二章给出了系统的体系结构和应用程 序架构设计并说明了如何在系统中进行数据安全通信;第三章和第四章分别详 细地介绍了构成系统的两大模块即加脱密模块和密钥管理模块的设计;第五章 主要介绍了笔者已经实现了的简易模拟系统的一些主要模块的接口和功能。 四川师范大学硕士学位论文 第二章数据库加密系统总体设计 2 1 数据库加密系统设计的基本要求 根据研究,一个良好的数据库加密系统应该满足以下基本要求。1 : 1 数据分级 通常,在数据库中不同数据的安全要求是不一样的,这就要求将数据合理 地分成不同的安全级别,这个工作应该由有关单位的数据管理权威机构( 以后 称作中央授权机构c a ) 来完成,具体的某个数据属于哪种安全级别,一般说来, 考虑到数据库加密系统数据“安全第一”的原则和处理的数据为单位所有而非 个人所有的特点,应由专门的数据库管理员来确定,一般用户无需也无权确定 数据是否加密和数据的安全级别。 2 列加密 在目前条件下,加脱密粒度以列为单位比较合理,即同一列数据使用相 同的密钥进行加密。如果以字段数据为单位进行加密,虽然不同的字段使用不 同的密钥加密能够实现加密强度最高的“一次密”“加密,然而,生成子 密钥却会消耗大量时间,而以列为单位分配密钥进行加密,虽然会因为密钥的 反复使用而相对地降低了加密的强度,然而目前的象a e s 这样的主流对称加密 算法的加密强度既使是在密钥反复使用的情况下也足以确保数据的安全。 3 密钥动态管理 数据库客体之间隐含着复杂的逻辑关系,一个逻辑结构可能对应着多个数 据库物理客体,所以数据库加密不仅密钥量大,而且组织和存储工作比较复杂, 需要对密钥实现动态管理。 4 合理处理数据 这包括几方面的内容。首先要恰当地处理数据类型,否则d b m s 将会因加 密后的数据不符合定义的数据类型而拒绝加载;其次,需要处理数据的存储问 题,实现数据库加密后,应基本上不增加空间丌销。在目前条件下,数据库关 系运算中的匹配字段,如表间连接码、索引字段等数据不宜加密。文献字段虽 然是检索字段,但也应该允许加密,因为文献字段的检索处理采用了有别于关 系数据库索引的正文索引技术“。 四川师范大学硕士学位论文 图2 1密文数据库体系结构图 5 不影响合法用户的操作 加密系统影响数据操作响应时间应尽量短,在现阶段,平均延迟时间不应 超过1 lo 秒。此外,对数据库的合法用户来说,数据的录入、修改和检索操作 应该是透明的,不需要考虑数据的加脱密问题。 2 2 数据库加密系统的体系结构设计 2 2 1 数据库加密系统的体系结构 w ) q 9 目i 范大学硕士学位论文 图2 - 1 是文献 1 4 1 5 给出的目前较典型的具有加密功能的数据库应用系 统的体系结构。通过分析不难发现,图2 - 1 所给出的的体系结构要求客户端程 序来完成数据是否加密的判断,显然,这不符合数据库加密系统设计的用户无 权判定数据是否加密的基本要求。根据数据库加密系统设计的基本要求并结合 图2 - 1 ,本文设计的加密系统的体系结构如图2 - 2 所示。 图2 _ 2 数据库加密系统体系结构图 2 2 2 各程序模块功能 1 ) 客户代理。客户代理接收应用程序的注册和认证请求、密钥管理请求和对 o d b c 接口的函数调用请求,并将这些请求分别转发到相应的处理模块,在处 理结束后接收送回的执行结果,返回给应用程序。 2 ) 服务器代理。服务器代理为客户代理提供访问密文数据库的服务。服务器 代理判断客户有访问权限后执行客户代理送来的函数调用,并返回结果。当执 四川师范大学硕士学位论文 行查询、插入等涉及密文数据的操作时,服务器代理根据需要对数据进行加密 或解密。服务器代理中最重要的模块是“加脱密模块”。该模块主要负责数据 的加密、脱密和加密字典的管理工作。关于该模块的体系结构、子模块的功能 设计以及实现该模块会遇到哪些难题将在第三章详细讨论。 3 ) 通信模块。通信模块为客户代理和服务器代理之间的通信提供普通信道和 安全信道。普通信道传输无需保密的数据,安全信道传输需要保密的数据。通 信模块之间采用基于k e r b e m s 协议1 1 】协商好的会话密钥加密数据实现安全通 信。 4 ) 密钥管理模块。密钥管理模块负责用户密钥、数据密钥和系统密钥的生成、 分配、修改、维护、销毁等各种密钥的管理工作。加脱密模块的所需的密钥都 来自于它。密钥管理模块的详细设计将在第四章讨论。 5 ) 注册认证模块。注册认证模块用来确保合法用户才能登录数据库加密系统, 任何用户都不能冒充其它用户来使用系统。另外,该模块还提供了用户注册功 能,任何用户都必须经过注册后才能使用数据库加密系统。 6 ) 用户程序模块。用户程序模块主要向用户提供系统的用户界面和接口,其 要实现的几乎都是一些发出“请求”这样很简单功能,和后面提到的客户端程 序大致相当。用户使用该模块发出的注册和认证请求后,真正执行注册和任务 的是“注册和认证模块”。用户发出申请密钥的请求后,真正负责密钥生成和 分配的是“密钥管理模块”,用户程序模块后面要做的仅仅是接收分配来的密 钥并将其加密存入加密卡或智能卡“6 1 中。在用户发出数据处理请求时,处理数 据的任务是由服务器代理中的“数据加脱密模块”来具体实现。 2 2 3 访问数据库流程 以下是对用户程序访问数据库流程的简单描述。 1 ) 客户机上的用户程序发出连接数据库请求,即用户登录数据库: 2 ) 客户代理将登录请求通过通信模块送给加密服务器上的服务器代理 并接收返回的结果; 3 ) 如登录失败,客户代理通知用户程序连接数据库“失败”;如成功, 则返回连接成功消息,用户这时可访问数据库。 四川师范大学硕士学位论文 4 ) 如用户访问的是明文数据库,则服务器代理不调用“数据加脱密模 块”,只需将所有请求传递到0 d t c 驱动程序管理器:否则转5 开始访 问密文数据库流程; 5 ) 服务器代理要求用户输入访问密文库所需的用户类密钥( 可以存储于 加密卡或智能卡中) ,然后由通信模块进行客户代理和服务器代理的 身份认证,确定本次连接所使用的会话密钥。服务器代理得到此用户 所属的用户类的密钥。此时用户与网络密文数据库成功连接: 6 ) 连接成功后,客户代理将用户程序之后的函数调用请求依次发送到服 务器代理,并依次等待服务器代理返回调用结果; 7 ) 服务器代理根据客户代理的函数调用访问数据库,并返回结果。根据 访问数据所属的数据类,由用户类密钥得到数据类密钥。当对密文数 据库中的内容进行写或修改操作时,先利用数据类密钥对要更改的数 据进行加密,然后写入数据库;读操作时,利用数据类密钥对得到的 结果集解密后再返回客户代理; 8 ) 客户代理将结果返回用户程序; 9 ) 用户程序完成数据库访问,请求断开连接: 1 0 ) 客户代理向服务器代理发出断开连接请求。服务器代理与数据库断开 连接,两通信模块断开连接。 其中第5 ) ,7 ) 步涉及到密钥管理和密钥转换:第7 ) 步是访问密文数据 库的主要步骤。 2 2 4 简化的体系结构图 图2 _ 3 简化的系统体系结构图 四川师范大学硕士学位论文 图2 - 3 是简化后的体系结构图,由该图容易知道,加密系统主要由加脱密 模块、密钥管理模块、注册认证模块和用户程序模块组成,其中,加脱密模块 和密钥管理模块是系统最核心的两个模块。 2 - 3 数据库加密系统应用程序架构设计 图2 _ 4 数据库加密系统应用程序架构图 图2 - 5 加密系统客户端程序功能模块图 j ! l l 川师范大学硕士学位论文 本系统采用图2 - 4 这种多层应用程序架构。客户端只负责显示界面和发出 各种数据库操作请求,复杂的数据加脱密处理则由专门的加脱密服务器来完 成。 2 3 1 客户端程序设计 客户端程序功能模块图见图2 - 5 。 “用户注册请求模块”的功能是向中央授权机构c a 发送注册请求信息, 在得到中央授权机构许可的情况下再发送用户注册信息。注册的任务由位于c a 处的认证服务器来完成。 “用户申请密钥模块”的功能是获得用户密钥。用户在认证服务器上注册 后就可以向密钥管理服务器申请密钥,密钥管理服务器会根据用户的注册信息 决定用户的类型,进而为其生成相应的用户类密钥。“用户密钥申请模块”收 到用户密钥后,将其用用户的公钥加密后存储起来( 最好是存储在用户的加密 卡或智能卡中) 。 “身份认证请求模块“的功能是向认证服务器发出身份认证的请求。只有 经过注腮的合法用户才能通过身份认证,只有经过认证的用户才能对数据进行 处理。 “用户密钥读取模块”的作用是从加密卡或智能卡中解密用户密钥,并用 和加脱密服务器协商好的会话密钥( 在认证后得到) 加密后传送到加脱密服务 器j “请求数据处理模块“的功能是向加脱密服务器提出数据库操作请求。具 体的数据库操作由加脱密服务器来完成。如有必要,“请求数据处理模块”在 数据库服务器完成请求的操作后,接收处理结果并将其显示出来。 “请求管理字典模块”的功能是向加脱密服务器提出管理加密字典的请 求。“加密字典”是加脱密服务器对数据进行加脱密处理的直接依据,加脱密 服务器正是根据“加密字典”来完成用户请求的数据处理任务的。显然,只有 数据库管理员才有权调用“请求管理字典模块”。 四川师范大学硕士学位论文 2 3 2 服务器端程序设计 加脱密服务器提供服务主要有数据的加密、数据的解密、语法分析、数掘 库服务器的一致访问、管理加密字典等。数据库加解密是数据加密系统最核心 的功能,数据库加密系统正是采用了加密这种方式来保护数据的。语法分析的 主要作用是将用户以系统赋予的面向人的语言提出的数据库操作请求转换成 数据库管理系统能识别的s q l 命令。数据库服务器的一致访问则要保证用户在 对不同的数据库管理系统进行同样的数据库操作时使用同样用户命令,而将该 用户命令转换成不同数据库管理系统的s q l 命令则由加脱密服务器的数据库访 问接口程序来完成,这个转换过程对于用户而言是透明的。 密钥管理服务器主要的功能是管理整个数据库加密系统所包含的所有密 钥。数据库加密系统的密钥大致可以分成三类:用户密钥、数据密钥和系统密 钥,这些密钥的产生、分配、保管、各份、修改等工作都由密钥管理服务器来 完成。 加脱密服务器和密钥管理服务器是数据库加密系统最核心的两个服务器, 数据库加密系统的两大模块即“数据加脱密模块”和“密钥管理模块”就分别 运行在这两个服务器上。这两大服务器并不是完全独立,而是紧密相关的,因 为加脱密服务器所使用的密钥和用户权限表都来源于密钥管理服务器。当密钥 管理服务器上的数据类密钥发生变化时,加脱密服务器必须对存放于数据库服 务器上经过加密处理的数据重新加密。由于“数据加脱密模块”和“密钥管理 模块”是整个加密系统的两个核心模块,所以将在后面两章详细讨论它们。 认证服务器的引入主要有如下几个目的: 一、防止非法用户登陆数据库加密系统: 二、防止合法用户获取不应获得的服务: 三、防止攻击者提供虚假服务。 显然,为了充分地保证整个数据库加密系统的安全性,服务器和客户端是 要进行双向认证的,而为了做到这一点,整个系统可执行k e r b e r o s 协议“3 。 数据库服务器上运行着数据库管理系统。数据库管理系统( d a t ab a s e m a n a g e m e n ts y s t e m ,d b m s ) 是一个专门负责数据库管理和维护的计算机软件 系统。它是数据库系统的核心,对数据库系统的功能和性能有着决定陛影响。 四川师范大学硕士学位论文 d b m s 的主要职能为“7 “”: ( 1 ) 有正确的编译功能,能正确执行规定的操作; ( 2 ) 能正确执行数据库命令: ( 3 ) 保证数据的安全性、完整性,能抵御一定程度的物理破坏,能维护和提 交数据库内容; ( 4 ) 能识别用户,分配授权和进行访问控制,包括身份识另和验证; ( 5 ) 顺利执行数据库访问,保证网络通信功能。 备份服务器的主要功能是将存储于数据库服务器上的重要数据备份起来。 由于数据库服务器上存储了许多十分重要的数据,这些数据都可能因为事务内 部的故障、系统故障、介质故障和计算机病毒与黑客、甚至用户的误操作而遭 到破坏,这些数据的破坏或丢失往往会带来不可估量的损失,为此将这些数据 按照合理的备份策略进行备份是十分重要的和必要的。本备份服务器采用的备 份策略是:冷备份、增量备份、每天定期各份”。 2 3 3 用户请求服务的过程 下面就来详细说明客户获取服务的过程。 一、用户注册过程: 1 ) 用户向认证服务器发送注册请求;在得到服务器许可的情况下发 送用户信息; 2 ) 认证服务器通过查询数据库审查用户身份是否真实有效,在确认 用户身份真实有效的情况下,向用户发送分配给他的登录认证服 务器的用户账号: 3 ) 用户接收登录账号。有了认证服务器登录账号,用户就能向密钥 管理服务器和加脱密服务器提出服务请求。 二、用户申请密钥过程 1 ) 用户向认证服务器发出请求与密钥管理服务器通信的请求; 2 ) 认证服务器在认证了用户身份的情况下向用户发送一张使其能 与密钥管理服务器通信的“票据”( 关于“票据“,k e r b e r o s 协 四川师范大学硕士学位论文 议有详细说明) ; 3 ) 用户将用户身份信息、请求密钥信息连同“票据“发送到密钥管 理服务器: 4 ) 密钥管理服务器通过检查“票据”以确认用户身份是否已经得到 认证; 5 ) 在确认用户身份已经得到认证后,密钥管理服务器查询数据库以 确定用户所属的用户类型,进而根据用户类型生成该用户的密钥 并将该密钥发送给用户; 6 ) 用户接收来自密钥管理服务器的密钥,并将它存储到加密卡或智 能卡中。 三、用户申请数据处理( 假设是修改密文数据) 过程 1 ) 用户向认证服务器发出与加脱密服务器通信的请求; 2 ) 认证服务器在认证了用户身份的情况下向用户发送一张使其能 与加脱密服务器通信的“票据”; 3 ) 用户将身份信息和“票据”起发送给加脱密服务器; 4 ) 加脱密服务器在核实了“票据”后与用户客户机建立起连接: 5 ) 用户发出“打丌数据库”的请求: 6 ) 加脱密服务器根据用户要求打开相应的数据库: 7 ) 用户发出“读数据”请求: 8 ) 加脱密服务器要求用户提供密钥; 9 ) 客户端程序从用户的加密卡或智能卡中读出用户密钥并发送给 加脱密服务器; 1 0 ) 加脱密服务器通过检查“加密字典”以确定用户所要读取数据所 属数据类型,再通过检查“用户权限表”以确定用户是否有权读 取该数据。如果用户无权读取该数据,则提示用户“无权做此操 作”;否则,由用户密钥导出对应的数据类密钥,然后将数据解 密后发送给用户: 1 1 ) 用户对读出的数据修改后,向加脱密服务器发“保存”请求: 1 2 ) 加脱密服务器检查“用户权限表”以确定该用户是否有权修改该 四川师范大学硕士学位论文 类数据。如果有权修改,将修改后的数据用对应的数据类密钥加 密后存入数据所在的原来位置。 1 3 ) 用户向加脱密服务器发“中断连接“请求”: 1 4 ) 加脱密系统服务器关闭打开的数据库并断开和用户所在客户机 的连接。至此整个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论