




已阅读5页,还剩77页未读, 继续免费阅读
(计算机软件与理论专业论文)数据库加密系统相关技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川师范大学硕士学位论文 数据库加密系统相关技术研究 计耸机软件与理论专业 研究生陈睿指导教师袁丁 数据库作为信息系统的重要组成部分,在整个系统的构建和应用中承担着 核心的角色,在信息系统的安全保障方面也占据着重要的地位。 目前,对数据库加密的研究在国内外都是一个新兴的课题。通常采取的安 全措施是在传输信道中保护数据的安全,其方法是在数据传输的过程中对数据 进行加密,传输到目的地后再解密。还有就是使用一些传统措施,如访问控制、 防火墙和入侵检沏0 等来保护系统的安全。但这些措施并不能解决所有的安全问 题。这是因为数据库内部的数据是以明文的方式保存的,目前大多数的数据库 都还没有使用数据库加密这一方式来保护其内部数据,而只是依赖于这些外部 手段。 为解决e 述问题,我们可以采用数据库加密的方式来保护数据。通过数据 加密、密钥管理、用户访问控制等一系列的手段来保护数据库内部数据的安全。 同时结合传输信道上的安全措施,就可以为重要数据搭建起一个安全的平台。 有效地保护重要数据资料。 本文的工作是进行数据库加密系统的研究,主要研究在服务器端对数据进 行加密保护时需要解决的一系列的技术问题,包括数据库加脱密引擎、数据字 典、前后台的数据库接口、密钥管理等内容。这其中以加脱密引擎和密钥管理 为重点。我们将讨论在加脱密引擎的实现过程中会遇到的六个重要问题,解决 好这些问题,加脱密引擎才能正常、高效的工作,同时密钥管理模块借鉴了经 典的二级表用户权限控制方式,同时在其基础上进行了一些改进,将用户口令、 用户密钥、用户类密钥和数据类密钥很好的结合在一起。最后,还提出使加脱 四川师范大学硕士学位论文 密模块和密钥管理的协调工作的解决方案。 传输信道安全生研究和用户身份认证系统是另一个重要的模块。将服务器 端与传输信道安全性结合在_ 起就可以为数据撑起一个安全的屏障。为验证本 文的提出的解决方案,我们实现了一个单机的模拟系统,在其中实现了数据库 加密系统的大部分功能,并验证我们提出的一系列解决方案,经过测试表明本 文的方案是可行的。 关键词:数据安全;加密;解密;密文数据库;加脱密引擎;数据字典; 密钥管理;主密钥;用户权限 i i 四川师范大学硕士学位论文 t h er e l e v a n tt e c h n o l o g i cr e s e a r c ho fd a t a b a s e e 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 r s o 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 :c h e nr u i s u p e r v i s o r :y u a nd i n g d a t a b a s e ,a s a n i m p o r t a n t p a r t o f i n f o r m a t i o ns y s t e m ,p l a y sa k e y r o l e i n t h e w h o l ec o n s t r u c t i o na n da p p l i c a t i o no f t h es y s t e ma n da l s oi nt h es a f e t y p r o t e c t i o no f i n f o r m a t i o ns y s t e m p r e s e n t l y ,s e c r e t r e s e a r c h o n d a t a b a s e i s a n e w t o p i c b o t h a t h o m e a n da b r o a d , t h eu s u a l l ym e a s u r ea d o p t e di st op r o t e c tt h ed a t ad u r i n gt r a n s f o r m i n g t h em e t h o di s t oa d dc o d ei n t od a t ad u r i n gt h ep m c e s so f d a t a - t r a n s f o r m i n g ,a n dt h e nd e c o d ew h e n r e a c h i n gt h ed e s t i n a t i o n t h e r ea r es o m e o t h e rt r a d i t i o n a lm e a s u r e s , s u c ha sa c c e s s c o n t r o l ,f i r e w a l l a n d i n t r t m i o n d e t e c t i o na n ds o o n h o w e v e r , t h e s e m e a s u r e s c a n n o t s o l v ea l lt h o s es e c u r i t yp r o b l e m s b e c a u s et h ed a t ai nd a t a b a s ei sk e p tu n d e rs p e c i f i e d t e r m s ,f o rt h em o m e n d a t ai nm o s to f d a t a b a s ea r en o tp r o t e c t e db ye n c r y p 血gf o r m , b u tb yu s i n gt h e s eo u t s i d em e t h o d s t os o l v e t h e s e p r o b l e m s m e n t i o n e d a b o v e , w e c a n p r o t e c t d a t a b y d a t a b a s e e n e r y p t i n g b yd a t a b a s ee n c r y p t i n g , a n dk e ym a n a g e m e n ta n d u s e r sa c c e s sc o n t r o l , w ec a np r o t e c tt h ed a t a b a s ef r o md e s t r o y i n g a tt h es a r n et i m e ,c o m b i n e dw i t hs a f e t y m e a s u r e si nt r a n s f o r m i n g ,w ec a nb u i l das a f ep l a t f o r mf o ri m p o r t a n td a t a b a s et o e f f e c f i v e l y p m t e c tm ) 0 r t a n td a t a t h ep a p e ra i m sa tt h er e s e a r c ho f d a t a b a s ee n c r y p t i n g , t h ee m p h a s i si so nt h e s o l u t i o no f as e r i e so f t e c h n i q u ep r o b l e m sw h i l ed a t a b a s ee n c r y p t i n g , i n c l u d i n g d a t a b a s ee n c r y p t i o na n dd e c r y p t i o ne n g i n e ,d a t ad i c t i o n a r y , d a t a b a s ei n t e r c o n n e c ta n d k e ym a n a g e m e n t a m o n g w h i c hk e ym a n a g e m e n ta n dd a t a b a s ee n c r y p f i o na n d d e c r y p t i o ne n g i n ea r em o s ti m p o r t a n t w ew i l ld i s c u s ss i xi m p o r t a n tq u e s t i o n sd u r i n g t h e p r o c e s s o f d e c r y p f i n g , o n l y b y s o l v i n g t h e s e p r o b l e m s c a n t h ee n g i n e f u n c t i o n e f f i c i e n t l y , w ea l s oa p p l yc o n t r o lo nu s e r s r i g h t s i nk e ym a n a g e m e n t , a n dm a k e s o m ec h a n g e s i n i t ,a n d m a k e p a s s w o r d ,u s e r k e y a n d f i g u r e s k e y b e i n g c o m b i n e d 【i i 四川师范大学硕士学位论文 w e l lt o g e t h e r f i n a l l y ,ip u tf o r w a r ds o m em e t h o d so n m e d i a t i n gw o r ko f e n c r y p t i o n a n d d e c l 2 , p t i o n m o d u l e a n d k e y m a n a g e m e n t s a f e t yo f t r a n s f o r m i n gm a da n di d e n t i f i c a t i o ns y s t e mo f u s e r sa r eu n d e r t a k e nb y a n o t h e r p a r t n e r w e c a r l b u i l d as a f es c l e e n f o r d a t a b a s e b y c o m b i n i n gs 豇惯a n d t r a n s f o r m i n g r o a d i n o r d e r t oc h e c k u p t h o s e m e t h o d s , w e m a k e a i m i t a t i o ns y s t e m o f s i n g l em a c h i n eb e c o m er e a l i z e d , 证w h i c hm o s tf u n c t i o n sa r ep o s s i b l e s oa st o p r o v e t h a to t l r m e t h o d sa r ef e a s i b l e k e yw o r d s :d a t as e c u r i t y ;, e n c r y p f i o n ;d e c r y p t i o n ;c n c r 3 9 t i o nd a t a b a s e ;d a t a b a s e e n c r y p t i o ne n g i n e ;d a t ad i c t i o n a r y , k e ym a n a g e m e n t ;m a i nk e y , u s e r s 1 i 班 v 四j l l l , l 币范大学学位论文独创性及 使用授权声明 本人声明:所呈交学位论文,是本人在导师塞工 指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任 何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。 本人承诺:已提交的学位论文电子版与论文纸本的内容一致。如因不符而 引起的学术声誉上的损失由本人自负。 本人同意所撰写学位论文的使用授权遵照学校的管理规定: 学校作为申请学位的条件之一,学位论文著作权拥有者须授权所在大学拥 有学位论文的部分使用权,即:1 ) 已获学位的研究生必须按学校规定提交印 刷版和电子版学位论文,可以将学位论文的全部或部分内容编入有关数据库进 行检索:2 ) 为教学和科研目的,学校可以将公开的学位论文或解密后的学位 论文作为资料在图书馆、资料室等场所或在校园网上供校内师生阅读、浏览。 论文作者签名:1 嚎廖 。矿年厂月1 日 四川师范大学硕士学位论文 第一章引言 1 1 研究目的与意义 计算机与通信技术的飞速发展和广泛应用,使我们步入了信息化的社会, 在其中计算机和计算机网络扮演着越来越重要的角色,整个社会对以计算机为 主的信息系统的钧嘲鹫鼓逸来越高,因此,计算机信息系统的管理就成为社会 生活中不可或缺的部分。在其中信息安全更是显得十分重要,因为并非所有信 息都是对外开放,非公众信息就需要保密不然,就有可能导致个 隐私信息 暴露、账号密码被盗,大则国家机密失窃、重要部门功雠痪,造成巨大的损 失。 信息安全逐渐成为现代信息系统中的重要组成部分,同时也是近年来计算 机领域的研究热点。而作为计算机信息系统的核心部分的数据库管理系统 ( d b m s ) 担负着集中存储和处理大量信息的任务,因而成为信息安全和防范攻 击的焦点。些传统的技术,以及物理安全和操作系统安全机制为数据库提供 了一定的安全措施,但这些方法并不能完全保证数据库内信息的安全,特别是 政府要害部门、军事部门及商业、财政金融等部门和些敏感数据( 如信用卡、 身份证、个人的医疗信威的安全。其中主要原因在于在绝大多数信息系统中, 核心数据和资料是以明文的方式存储,没有加密的数据库就如同没有上锁的文 件柜。这就使得叫璧非法的用户可以绕过外层的物理萄猪系统保护进入到数据 库中进行数据的窃取和破坏。 为解决上述问题,增强普通关系数据库管理系统的安全性,有必要建立一 个安全、高效的数据库加密系统,提供个安全适用的数据库使用平台,对通 信和数据库存储的内容实施有效保护,将敏感数据以密文的形式保存在数据库 中,使数据库以密文方式存储并在密文状态下工作,确保数据安全。这样,即 使发生数据的失窃,若无相应的密钥解密,则这些密文数据对于窃取者是毫无 用处的,亦不会造成重要信息的泄露。所以数据库加密处理对于保证数据的安 全性具有非常重要的意义阱骂缸圳。 四川师范大学硕士学位论文 总之,数据库安全应该与操作系统、网络安全、c v u 并重,共同组成信 息安全战略的重d 。数据库加密系统研究的目的就是为加强数据库内部数据的 安全性,通过数据加密、密钥管理、用户访问控制等一系列的手段来保护数据 库内部数据的安全,再结合传输信道e 的安全措施,为重要数据建立个安全 的运行环境。 1 2 课题来源 本课雹来源于; 国家自然科学基金项目( 6 0 4 7 3 0 3 0 ) 四川省科技厅科技攻关项目( 0 5 g c _ 猢7 - - 0 0 8 ) 四川省科技厅应用基础研究项目( 0 4 j y 0 2 9 - 0 5 1 1 ) 四川省教育厅重点课题基金( 2 0 0 3 a 0 5 5 ) 1 3 目前国内外的现状 目前国内数据库加密系统的研究还处于起步的阶段,许多的研究都还是停 留在对理论的论证方面。 文矾9 】就数据库加密系统的设计与实现作了个全局性的说明,对数据库 加密系统的各个方面都有涉及,起到个总体性、综述性的作用。文巍1 6 】中 则提出了加密管理程序包括的几大部分,例如创建加密字典、删除加密字典、 表加密、表脱密、表修复、加密字典权限管理等,并且提出了实现这些模块的 步骤。对于进行加密系统的研究起到了前导性的作用。 文献【3 】例# 猖】提出了加密数据库系统中的密钥管理的基本结构。其中包 括了各级密钥的产生、分配,密钥的分级管理,二级表的生成,各类密钥的保 护等内容。基本阐明了如何在数据库加密系统中进行密钥管理。对密文数据审 中的数据进行运算( 求和、平均等) 与对明文进行运算是不样的概念,这就是 秘密同态,文献【2 9 】是关于秘密同态的内容,它提出个秘密同态实现的思路, 可以沿着这样一条思路进行密文数据运算的研究。 2 四川师范大学硕士学位论文 有一些公司也在做这方面的尝试,取得了一定的成果,它们开发出一些数 据库加密系统产品,比如:武汉华工安鼎信息技术有限公司的安鼎数据库安全 保密支撑平台。但这样的系统还是有进一步完善的空间,可以通过不断的研究 使其功能更为完善,更能i 看应市场的需求,因为现在基本没有种成熟的产品 出来。 其中的商用研究有: ( 1 ) 武汉华工达梦数据库有限公司的d m 4 t 3 0 i 。d m 4 的安全级别达到b l 级, 部分达到b 2 级。d m 4 的安全管理就是为保护存储在d m 4 数据库中的各类敏 感数据的机密性、完整性和可用性提供必要的技术手段,防止对这些数据的非 授权泄露、修改和破坏,并保证被授权用户能按其授权范围访问所需要的数据。 d m 4 的安全功能包括:基于角色的访问控制、自主存取控制、强制存取控制 和审计等。但是,d m 4 并不提供存储数据的加密。 ( 2 ) 东软的o p e nb a s es e c u r e1 俨”。东软集团有限公司中间件技术分公 司凭借着多年积累的数据库系统的开发经验,在大型数据库管理系统o p e n b a s e 的基础上,依据中华人民共和国国家标准( g b l 7 8 5 9 _ 1 9 9 9 ) 计算机信息 系统安全保护等级划分准则,同时参照t c s e c 和t d 工对b 1 级的要求进行 设计,+ 并结合o p e nb a s e 的具体特点,自主研究开发了符合安全标记保护级 的o p e n b a s e s e c u r e1 0 。在o p e n b a s e s e c u r e 中可以根据不同用户的需要以 及数据库中数据的敏感度,提供加密接口,集成数据库存储和传输加密算法, 从而保证数据存储和传输的安全,进步提高了数据的安全性。 ( 3 ) 人大、北大、中软和华中合作研发的可信e o t m v 2 o 阎。可信e o b a s c v 2 。依据t c s e c 和t i ) 工对b 1 级的要求进行系统设计,实现了基本上达到 b 1 级安全性的功能性能。它支持多种的安全实现机制和用户认证机制,保证 数据安全,在d b m s 级提供数据库用户的创建和鉴别。可信c o b a s e 不支 持存储数据加密功能。 ( 4 ) 北京神舟航天软件技术有限公司的神舟o s c a r t a a l 。神舟o s c a r 实 现了可靠的用户身份认证,支持自主存取控制和安全的网络连接,并提供对 d b a 、普通用户、数据对象和特定数据操作的各种安全审计。神舟o s c a r 还 对数据的存放和传输提供了多种加密机制以满足不同应用的要求。 3 四川师范大学硕十学位论文 从7 0 年代初期,欧美等发达国家就开始制订了一系列的安全标准。其中, 被广泛使用的有以下两个标b f 胡: ( 1 ) 可信计算机系统评价标准侗称t c s e c ,t r u s t e dc o m p u t e rs y s t e m e v a l u , 缸o nc 打t ( a - i a ) ,美国从七十年代就开始从事安全数据库管理系统的理论研 究,到了八十年代,为适应计算机安全技术飞速发展的需要,美国于1 9 8 3 年 发布了“可信计算机系统评估标准口c s e c ) ”( 桔皮书) ,1 9 8 5 年又发布了其修 订版,桔皮书中对安全系统的评价按照四大类共七个等级划分不同的安全级 别。即分为d c 1 。晓,b 1 ,b 2 ,b 3 ,a 1 七个等级,如表l - l 所示。其中a l 级为最高级别,d 为最低安全级别,每级别都必须包含低级的功能。桔皮 书的发布有力地促进了安全计算机系统的研究,也促进了安全数据库管理系统 的研究。从1 9 8 5 年开始实施的s e a v i e w 计划提出了多级安全数据库管理系统 的重要概念如安全视图、多实例、完整性等,对安全d b m s 的研究产生了巨 大的影响。之后,其它的些公司和研究机构如: i r w 公司的a s d ( 计划达到 a l 级的安全d b m s ) ,s cc 嗽c o m p 堍t e c h n o l o g yc o r p o r a t i o n 的l d v 等也 对安全d 啦船进行了深入研究,提出了多级安全d b m s 的数据模型、完整性 机制( 唯性、引用问题等) 、提出了基于恶意d b m s 威胁模型的数据库安全与 保护系统。另外,还有些学者对多级安全数据库进行了一些有益的研究。 ( 2 ) 可信计算机系统的评估标准关于数据库系统的解释( 简称t d i , t r u s t e d d ;m a b a s e i n t e r p r e t a t i o n ) 。由于数据库系统在整个计算机系统的地位非常 重要,在此基础上,1 9 9 4 年美国国防部的国家计算机安全中, 娜i c s c , n 撕o n a l c o m p 嘶s 。c l 珂t yc c 瓜神颁布了t d l t d i 是t c s e c 向应用软件特别是数据 库管理系统扩展的结果,是对t c s e c 在数据库方面的解释。t d i 在使用中参 照t c s e c ,并对t c s e c 中定义的安全级别、安全目标及各个安全级别的说明 加以继承,同时又对可信计算机t c b 概念迸一步发展而得到t c b 子集c i b s u t ,s d s ) 。在t d i 中也介绍了标准的技术背景,基本概念和标准的内容,t d i 与t c s e c 的功能相同,也为生产者、评估者及研究者提供权威的依据。 4 四川师范大学硕士学位论文 级别定义 h l 设计的形式化验证 b 3安全域 1 3 2 结构化保护 b 1 标记安全保护 晓 受控制的存取保护 c l 自主安全保护 d 最小保护 国外的商用研究有: ( 1 ) o r a c l e 公司在其产品o r a c l e 8 i 的第二版( 8 1 6 ) 第一次允许数据和应用程 序管理者可以在数据库里直接加密字符 r i i l g ) 数据、- z 进肯* j o i n a r y ) 数据和大对 i g l o b ) 数据,通过使用内置的d b m so b f u s c a t 工o nt o o l k i t 包完成 加密任务例。 ( 2 ) i b m 公司在其产品d b 2u d b ( u n i v e r s a ld a t a b a s e ) 7 1 版第一次引入对 字符型数进行加解密的功能,并在d b 2u d b7 2 版和更高版本中继续使用【3 q 。 ( 3 ) m i c r o s o r 公司在s q l s e r v e r 2 0 0 0 并没有提供内置的数据库加密功能。 但是,在w m d o w s 2 0 0 0 s c i v 矗 中包含加密文件系统但f s ,e n c t ) g t e d f i l e s y s t e m ) 【硐,可以用来对数据库中的各种数据( 如触发器、存储过程、自定义函数和视 图碡挂行文件级加密,w m d o w ax p 也同样支持e f s 功能。 ( 4 ) s y b a s e 公司在其产品a d a p t i v es e r v e ra n y w h e r e8 0 版引入了数据库 加密功甜3 9 】。它支持数据库级加密,加密功能是建立在文件基础上,数据库的 所有文件都以加密形式存储,而目对于同数据库,所有文件的加密密钥是相 同的。加密使用的算法为a e s 和m d s r 。 由以上国内外的研究现状可见,国外在数据库加密的研究方面处于领先地 位,这是因为我国目前使用的主流数据库产品基本匕由国外生产,因此它们也 四川师范大学硕士学位论文 可以很容易开发出与其数据库产品相关的数据库加密工具。虽然国外在这方面 的研究达到了一个很高的水平,但是由于数据库加密技术的特殊性,很多这方 面的应用局限在其军队、国防等保密单位,所以其核心技术也不会轻易流向其 它国家。因此我们很难得到这些数据库加密的技术,即使别国愿意提供数据库 加密的技术,由于安全性的问题,我们也不会将其用在一些核心的部门。因此, 对于机密数据库的保护,只能是依靠本国的技术。 国内在这方面的研究还处于起步阶段。我们使用的数据库,包括大、中、 小型数据库,基本上也是国外的产品,我们的开发也只能在别人现有数据库的 基础匕进行些工具的开发。要达到实用的目的,还有很多的问题没有得到解 决,比如数据库加密后的数据快速查询问题、加密之后如何保持数据表之间的 联系的问题、以及进行数据运算的问题和在加密数据库系统匕进行二次开发等 诸多问题都还没有得到圆满的解决,很多都还停留在理论的研究上,如果能解 决好这些问题,就可以使密文数据库与普通数据库在使用上没有什么差别,同 时还能提高数据的安全性,那么对于数据库加密系统的推广是大有好处的。尽 管已经有人做过这项工作,但我们的目的是为了在别人的基础上进步完善数 据库加密系统,为解决在实现数据库加密的过程中遇到的种种问题提供些可 行的方案,从技术层面来完善数据库平台,以满足数据库对安全性的要求。我 相信通过这样步一步的工作,可以让我国的数据库安全体系的理论得到更迸 一步的完善。虽然粼捷的是万里长征中的一小段,但也非常的有意义。 1 4 本文所做的工作 通过大量的查阅和研究国内外有关数据库加密系统的资料,并在结合现代 最新密码和安全技术的基础上,本文提出了一个数据库加密系统的设计方案, 并根据这个方案来解决了实现数据库加密系统的些关键技术问题。具体有以 下几个工作; l 、提出了个数据库加密系统的总体设计方案。 这个方案可以解决网络数据库的安全访问问题,也可以解决本地数据库的 数据安全问题。同时对设计的数据库加密系统的体系结构作了详细的描述和流 6 四川师范大学硕士学位论文 程说明。 2 、锯决了实现数据库加密系统的一些关键技术问题。 这些问题的解决与否直接关系到本数据库加密系统能否顺利的实现,主要 包括以下几个方面: ( 1 ) 密文表的建立问题。 包括密文表的字段类型问题、密文表的字段长度问题 ( 2 ) 密文数据的管理问题。 包括明文表中的关键字段的问题、自增类型字段的问题、添加更新数据时 要注意以前明文表的数据类型问题 ( 3 ) 加密过程中的外键处理问题。 不同的数据库,其外键信息的查找方式是不一样的,本文通过实践给出了 两种常用数据库的外键查找语句,通过它们可以对数据表的外键进行相关的操 作。 ( 4 ) 数据库密钥管理问题。 主要包括密钥保护、用户访问控制两个部分。本文采用的密钥管理方案借 鉴t 1 9 2 0 e p i 勺 典二级表的用户访问权限控制方式。同时在其基础上提出 了个改进的二级表的用户权限控制方式,并解决了密钥管理和加脱密模块的 协同工作的问题。 ( 5 ) s q l 语句的明文密文转换问题。 加脱密蒯斯i 效率问题。 ( 7 ) 研究了数据字典的构成问题。 3 、从理论上说明了提出方案的正确性和可行性。 4 、开发出个模拟系统从实践的角度来证明解决方案的可行性。 1 6 本文的组织结构 本文主要论述了数据库加密系统的开发与研究,并介绍了其相关理论及技 论殳结构如下 7 四川师范大学硕士学位论文 第一章:介绍课题背景、研究意义、来源和国内外研究现状及本文工作等 内容。 第二章:介绍数据库加密系统的体系结构,并根据当今数据库应用的具体 现状和我国具体实际情况,提出了数据库加密的方式、层次和内容。描述了数 据库访问的流程等。 第三章:重点讨论了数据库加脱密引擎的实现问题。主要集中讨论在实现 加脱密引擎的过程中所要解决的难点问题和给出的一系列解决方案。从实践的 角度对其进行了详细的说明和论证。该章是重点章节,也是本文重点研究的内 容。 第四章:主要是讨论密钥管理的内容,说明了密钥的产生、分配、管理等 一系列问题,同时结合用户的权限控制描述了二级表在用户权限管理的作用以 及实现的过程。 第五章:介绍个已实现的模拟系统,并讨论其主要模块的功能和实现的 具体过程,将前几章的解决方案匣用于这个恢拟系统,分析其运行的情况,主 要说明解决方案的实用性。 1 6 小结 数据库中保存着大量的数据信息,是外部系统数据的来源。任何安全实施 都应以此为起点,并以在数据库这一级己实现最强的安全控制作为结束的评判 标准。 经过近几年的研究和发展,数据库加密技术已经比校成熟。而反拷贝的信 息安全技术才是真正可靠的技术,数据库加密技术就是此类技术之一。如果数 据库没有相应的加密保护措施,只要使用硬盘拷贝机,轻轻按一个按钮就可以 在n 。分钟之内拷走全部数据! 而此时,防火墙、入侵检澳4 等防护系统是起不到 安全保卫作用的。而数据库加密后以密文方式存储,即使被窃取、被拷贝,机 密数据也不会被敌对方获取,而他们获取的,只不过是一堆几乎无法破解的密 文。因此,数据库加密技术还是很有市场前景,它不但关系到个人的资料信息 的安全,也关系到国家重要信息的安全。 四川师范大学硕士学位论文 第二章数据库加密系统的系统结构 2 1 数据库加密系统的主要功能与特性 个行之有效的数据库加密系统主要有以下七个方面的功能和特性【i 】: 1 、身份认证:用户除提供用户名、口令外,还必须按照系统安全要求提 供其它相关安全凭证。系统可以选择使用终端密钥、用户u s br y强 身份认证的安全性。 2 、通信加密与完整性保护:有关数据库的访问在网络传输中都被加密, 通信的目的地还可以校验通信的完整性;通信一次一密的意义在于防重放、防 篡改。 3 、数据库数据存储加密与完整性保护:系统采用数据项级存储加密,即 数据库中不同的记录、每条记录的不同字段都采用不同的密钥加密,辅以校验 措施来保证数据库数据存储的保密性和完整性,防止数据的非授权访问和修 改。 4 、数据库加密设置:系统中可以选择需要加密的数据列,以便用户选择 那些敏感信息进行加密而非全部数据都加密。只对用户的敏感数据加密,可以 提高数据库的访问速度,也有利于用户在效率与安全性之间进行自主平衡。 5 、多级密钥管理模式:主密钥和主密钥变量保存在安全区域,二级密钥 受主密钥变量的加密保护,数据加密的密钥存储或传输时利用二级密钥加密保 护,使用时受主密钥保护。 6 、安全备份:系统提供数据库明文备份功能( 为防止灾难发生,系统提 供明文形式的数据库内容备份功能,以防止丢失密钥或数据造成灾难性后果) 和密钥备份功能( 用户可以同时使用数据库管理系统的备份功能和数据库加密 系统的密钥备份功能来同时备份密文和密钥,在需要时进行恢复) 。 7 、通用接口和广泛的平台支持:系统采用开放的体系结构,支持标准s q l 语句。 四川师范大学硕士学位论文 2 2 加密系统的注意要点 2 2 1 加密的层次 加密的层次分为两个方面,一个方面是数据库本身进行加密的层次问题, 另方面是在数据库内部对数据进行加密的层次问题。 对于对数据库本身的加密,可以考虑在三个不同层次实现对数据库数据的 加密,这三个层次分别是o s 层、d b m s 内核层和d b m s 外层田,如图2 1 所 示。 抖dbms l 操作系统 应用程序 i d b m s 回 :+ i 操懒 d b 峪外层自密关系图 瞄内层加密关系图 图2 - 1 数据库加密的方式 在o s 层,无法辨认数据库文件中的数据关系,从而无法产生合理的密钥, 也无法进行合理的密钥管理和使用。所以,在o s 层对数据库文件进行加密, 对于大型数据库来说,目前还难以实现。 在d b m s 内核层实现加密,是指数据在物理存取之前完成加脱密工作。 这种方式势必造成d b m s 和加密暑导( 硬件或软件) 之间的接口需要d b m s 开发 商的支持。这种加密方式的优点是加密功能强,并且加密功能几乎不会影响 d b m s 的功能。其缺点是在服务器端进行加脱密运算,加重了数据库服务器 i o 四川师范大学硕士学位论文 的负载。 比较实际的做法是将数据库加密系统做成d b i v , _ s 的个外层工具。采用 这种加密方式时,加脱密运算可以有两种选择: ( 1 ) 加脱密运算可以放在客户端进行,其优点是不会加重数据库服务器的 负载,并可实现网上的传输加密,缺点是加密功能会受一些限制,而且在客户 端的软件如果被破解,其安全性也会受影响。 ( 2 ) 在服务器端专门用个加脱密服务器来进行数据的加脱密处理,然后 将数据通过安全信道传输给用户,其优点是不会加重客户端的负载,用户可以 下载很小的软件就可实现数据浏览,缺点是通信的信道必须要安全才行。 如何选择合适的方法要根据网络传输的安全性、服务器的负荷能力以及用 户机器的计算能力来进行选择。实际上可以结合这两种方式的优点来进行数据 安全加脱密和传输。 本文采用的是先在服务器端用一个加脱密服务器来对数据进行加脱密的 操作,然后将所有明文用用户密钥进行加密,通过安全信道传输到客户端时用 户再用用户密钥进行解密,由于使用用户密钥对所有信息一次解密比对密文进 行数据项的加脱密运算时间要少很多,这样可以让客户端进行少量的运算就可 得到明文数据,由此对,脚苣的安全性要求可以降低一点。 数据库内部数据的加密粒度可细分为相应的数据库级、表级、记录级、字 段级和数据项级。可根据不同的应用需要,选择合适的加密粒度。 数据库级:加密的对象是整个数据库,这意味着对所有的用户数据表、系 统数据表、索引、视图和存储过程等等都进行加密处理。这种加密方法的特点 是简单,只需要对存储在磁盘中的相应数据库文件进行加密处理即可,密钥的 数量少,个数据库只对应个密钥,管理方便。但是,数据库一个重要特征 是数据的共享性,数据被多个用户和应用共享使用,需要接受大量的随机访问。 对数据库的修改工作也变得很困难,每次均需要进行解密、修改、复制和加密 四个操作,极大地增加了系统的开销。一般来说,用户访问数据库时,是为了 将符合条件的记录检索出来,一旦采用数据库级加密方式,即使只需要查询少 量的记录,也需要对整个数据库进行解密,对系统性能会产生极大的影响,也 无法实现对文件中不需要让用户知道的信息的控制。因此,这种方法只适用于 四川师范大学硕士学位论文 能回避这些限制的应用环境,比如,辅存中备份的数据库,由于使用的频率较 低,可以采取这种加密粒度。这种加密方法完全是照搬操作系统中文件的加密 方法,用于数据库的加密显然不适合。 表级:加密的对象是数据库中的表。这种加密方法完全是照搬操作系统中 的文件加密方法,_ 般的数据库包含多个表,只需要对其中些包含敏感信息 的表进行加密,以保护它们的安全性。与数据库级加密比较,采用表级加密粒 度,系统的查询性能会有所改善。对于未加密表的查询,与传统查询方法样, 系统性能不会受至4 影响;对于加密表的查询,只需要解密对应的加密表,两不 要解密整个数据库。 记录级( 行级) :加密的对象是数据表中的记录,记录中各字段值连接起 进行加密处理,加密后输出列字符串。在实现记录级加密时,通过调用专门 的加密函数,对页面中记录进行加密。与数据库和表级加密相比,这种加密的 粒度更细,可选择的灵活性更好。但是,基于记录的数据库保护有个缺点, 就是其操作的对象是记录,解密时也是以记录为单位进行的,这样不能保证对 某个记录中不需要的字段不解密,在选择某个字段的某些记录时,如果不对含 有这个字段的所有记录进行解密就无法进行选择。因此,这种方法比上两种能 更好地保护数据的安全,但其灵活性不高。 字段级( p o 级) :加密的对象是关系中的某个字段。字段级加密是个很好 的选择,因为在实际生活中,_ 鸯重要和敏感的信息往往出现在关系中的某些 列,如信用卡号、身份证号、银行账号等,只需要对这些重要数据进行加密保 护,而没有必要对普通数据也进行加密。但是这种方法也有缺点,若用数据库 密钥对单个字段列的数据元素重复加密,对于密文援索攻击是脆弱的。不过这 种方式加密方法与记录加密方法相比,具有较高的效率,我们可以根据需要解 密特定的字段,而不需要将整个记录都解密。 数据项级( 字段值级) :加密的对象是记录中的某个字段值,它是数据库加 密的最小粒度。数据项级加密的安全性和灵活度最高,它的实现方式与字段级 加密相似,只是各字段的数据项分别用不同的数据项密钥加密,其密钥个数= 记录个数x 字段个数,数量是非常惊人的,因此密钥管理将会非常复杂,下面 一节将详细讨论和分析这种加密方式。 四川师范大学硕士学位论文 鉴于以上几种加密层次的特点和硬件的不断发展,使大量的数据计算不再 是加密系统的瓶颈,现在一般i 氧用的是在数据项级的加密方法,以增强数据 的安全性,当然,对于些安全要求不太高的场合也可以用其它n 。种方式来进 行加密操作。本文对数据库内部数据采用的是数据项级的加密方式。 首先是数据类型的处理,不同数据库的d b m s 支持的数据类型是不样 的,因此必须处理好加脱密过程中的数据类型,避免因d 】弧幅不支持而导致 操作失败。其次是数据存储问题的处理,加密之后最好能不增加或者少增加对 数据库空间的开销,也节约有限的数据车j j i t 务器资源。同时,还要处理好表中 索引字段、表之间的关系等问题,比如索引字段、关系运算的比较字段、表间 的连接码字段就不能加密,否则会影响到数据表的正常运算和相互之间的关 系。 2 2 3 密钥的管理 密钥管理是数据库加密系统的重要模块之一,因为密文数据库的安全依赖 于密钥的安全性,如果密钥被盗取,那么整个数据库也就没有任何安全保证。 般的数据库系统应用中,对密钥是进行分级管理。如何处理好各级密钥的关 系,以保证数据的安全,这是需要注意的问题。特别是对于数据项加密的方式, 密钥的数量非常巨大,如何进行有效的组织和存储,需要特别关注。 2 2 4 用户访问控制及信罐安全 作为数据库系统,其数据是提供给用户来使用的,因此,如何作好用户访 问控制也是很重要的内容。其中主要包括有:用户身份的认证、用户请求的传 输及请求的数据的传输,在这些过程中要保证数据的安全。本文采用的方法是 用户访问时先用基于k e r b e r o s 的用户身份认证系统来进行身份的验证,通过验 证之后再进行用户请求的处理,最后将用户请求的数据用用户密钥加密,然后 四j i l l 范大学硕士学位论文 通过安全信道传输给客户端,在客户端再进行解密并显示给用户。 22 5 透明性 对于用户来说,客户端的解密操作和后台数据库加密系统都应该是透明 的。用户在操作时应当感受不到密文数据库的存在,不需要用户来承担数据库 加密系统的部分工作,另_ 层意思是说数据库加密系统的的工作效率相对明 文数据库不能有太大的差别,不会对用户对数据库的录入、查询、修改等操作 有什么影响。 2 3 数据项加密概述 下面简单讨论一下数据项加密方式的原理,考虑个有n 条记录,m 个 属性的关系数据库。强表示第i 条( i n ) 记录e 的第j 仉j m ) 属性的数据项。 取个数据库密钥k 。加密算法e 是任意种j n t x 搠n 密算法( 例如a e s 算 法) ,d 为e 对应的解密算法。则密文c i = e ,) ( j ) ,加密和脱密采用同一密 钥蝎。 当) ( i i 的长度小于块加密算法所需块长,要对) ( | i 进行扩展,使其达到足够 的长度:当的长度大于块长,但非块长的整数倍时,可以有两种处理方式: 一是将其扩展成长度的整数倍,= 是对不够块长的部分采用序列密码加密方法 进行加密。这里暂时先考虑) ( i i 为块长整数倍的情况。 对加密算法e 而言,它应是一个标准的具有较高安全强度的块加密算法, 且需满足以下一些性质: ( 1 ) 当给定密文n k ,) 。时,在不知道密钥k 的情况下,难以求出x 及其 有关信息; ( 2 ) 当给定如下若干个 明文,密文霸:p ,x i ,f - i k ,x t p , x i ,n k , x p 时,仍难于求出k ( 3 ) 当给定 3 上 数据审接口模块一:用户访问接口 jrj 工 黼燃h h 一 王 数据库接口模瑰二:后台数据接口i 、 上上 数据库服务器 由系统结构图可以看出数据库加脱密引擎主要是由加脱密模块、密钥管理 模块、数据字典模块以及数据接口模块所组成。加脱密模块根据加密数据字典 以及密钥管理模块传递的用户权限、数据类密钥等对数据服务器的数据进行加 密或者解密的处理;密钥管理模块主要是负责对用户类密钥、数据类密钥以及 用户访问权限等进行相关的管理工作,当用户访问数据库时会先在密钥管理模 四川师范大学硕士学位论文 块中进行用户权限的确认:数据字典用于保存在加脱密过程中预先设置或者操 作完成之后的些参数,以便数据解密之后能够正确的还原数据及数据库先前 的关系;数据库接口是为了屏蔽各数据库和用户程序的差异而专门设置的一个 通用的接口,用于数据库| 之间的通信。 1 、加脱密模块 加脱密模块是整个加脱密引擎的核心部分,包括数据库加脱密引擎的初始 化、内部命令的处理、数据字典信息的管理与检索、密文s q l 服务、实现加 解密算法并对相关数据进行加密或者解密的处理等。其中两个最主要的部分是 加密模块与脱密模块。 加密模块主要负责数据的加密部分。其中,加密算法起到很重要的作用。 不同的加密算法,其自1 1 密强度和加密速度均不样。在对称加密算法中,a e s 汇聚了安全、性能、易用和灵活的优点,因此,a e s 是首选的算: 去【1 “,本文的 加脱密引擎采用的也是a e s 算法。加密模块除了对数据进行加密外,还要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 2313-2025多参数在线激光粒度仪校准规范
- 2025年福州东盟海产品交易所有限公司总经理职位职业经理人市场化选聘考前自测高频考点模拟试题及参考答案详解一套
- 2025福建三明大田县公开招聘紧缺急需专业教师7人考前自测高频考点模拟试题及1套完整答案详解
- 小学安全培训收费标准表课件
- 2025年临沂兰陵县教育系统部分事业单位公开招聘教师(5人)考前自测高频考点模拟试题有答案详解
- 2025江苏连云港市海州湾发展集团有限公司及子公司招聘20人考前自测高频考点模拟试题及完整答案详解
- 2025广东广州市中山大学孙逸仙纪念医院超声科医教研岗位招聘模拟试卷及答案详解(历年真题)
- 安全培训教学课件制作
- 2025江西吉安市直三家公立医院编外招聘33人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025福建省高速公路集团有限公司招聘43人考前自测高频考点模拟试题及参考答案详解
- 电信明厨亮灶合同范本
- 临床医师定期考核必刷题库及答案(一)
- 职业本科《大学英语》课程标准
- 2024年承包建设工程合同
- 英语语法课程教学大纲
- 《陆上风电场工程概算定额》NBT 31010-2019
- 水平四初中羽毛球大单元教学教案(18课时)
- 2024年河北石家庄市高速公路集团限公司面向社会公开招聘收费人员150名公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 酒店住宿抵款协议书
- 【基于WBS分解图的工程项目施工进度管理与优化案例探析22000字(论文)】
- 配电箱安全专项教育培训课件
评论
0/150
提交评论