(计算机应用技术专业论文)基于扩展存储过程的数据库加密系统研究.pdf_第1页
(计算机应用技术专业论文)基于扩展存储过程的数据库加密系统研究.pdf_第2页
(计算机应用技术专业论文)基于扩展存储过程的数据库加密系统研究.pdf_第3页
(计算机应用技术专业论文)基于扩展存储过程的数据库加密系统研究.pdf_第4页
(计算机应用技术专业论文)基于扩展存储过程的数据库加密系统研究.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机应用技术专业论文)基于扩展存储过程的数据库加密系统研究.pdf.pdf 免费下载

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

文档简介

武汉理上人学硕士学位论文 摘要 近年来,面临互联网经济巨大的前景和风险共存的事实,安全问题逐步 成为企业信息主管关注和讨论的焦点。现在,许多企业具有一定的安全意识, 常常使用一些传统措施,如访问控制、防火墙和入侵检测等来保护系统的安 全。这些措施是非常重要的,但是并不能解决所有的安全问题。特别地,在 当前分布式和基于网络的应用环境下,用户访问系统的途径多样化,数据库 系统面临着形形色色的安全威胁。例如:某些非授权用户可能绕过系统的访问 控制机制入侵数据库,非法地获取数据;存放数据的介质丢失,造成数据库中 的数据泄漏;内部管理人员利用其自身权限从事不当行为等等。 引起数据库不安全的一个主要原因是:原始数据以明文形式存放在数据 库中,如果我们对数据库中的数据进行加密处理,那么上述问题就可以得到 解决,即使某一用户非法入侵到系统中或盗得了数据库文件,没有解密密钥, 他也不能得到所需数据。所以数据库的加密处理对保护数据的安全性具有非 常重要的意义。 作者在收集和分析了大量近年来国内外的安全数据库文献资料后,对数 据库加密系统的结构进行了深入研究,并提出了一种新的数据库加密系统模 型基于扩展存储过程的数据库加密系统的实现模型。 论文中的首先分析了目前信息安全领域中,数据库安全所存在的问题; 接着深入研究了数据库加密系统的相关理论,对密文索引、密钥管理等数据 加密系统中的关键技术给出了详细的阐述;然后系统地介绍了扩展存储过程 技术;提出了基于扩展存储过程的数据库加密系统的系统架构,确定了系统 的设计目标,给出了系统的逻辑模型,分析了系统的逻辑模块结构,进行了各 逻辑模块的设计;最后,根据论文中提出的逻辑模型,设计实现了基于扩展 存储过程的数据库加密系统,并详细分析了系统实现过程中所采用的主要关 键技术。 论文中所设计的数据库加密系统,己成功应用于湖北省交通厅科技计划 项目一一“湖北水路交通规费征稽网络信息系统”,很好的解决了项目中敏感 数据的存储安全问题。 关键字:数据库加密,扩展存储过程,s q l 分析,用户自定义函数 武汉理r 大学硕士学位论文 a b s t r a c t a st h e 蠡璩to fh u g ep r o s p e c to ft h ei n t e r n e te c o n o m ye x i s t i n gw i t ht h e v e n t u r ei nr e c e my e a r s ,t h es a f ep r o b l e mh a sg r a d u a l l yb e c o m et h ef o c u so f e m e r p r i s ei n f o r m a t i o na n dt h em a n a g e r sa t t e n t i o na n dd i s c u s s i o n a tp r e s e m , m a n ye m e r p r i s e sh a v eac e r t a i ne x t e n to fs a f c t yc o n s c i o u s n e s s ,a n dt h e yo r e nu s e s o m et r a d i t i o n a lm e a s u r e s ,e g a c c e s sc o n t r o l , n r e w a l l ,i n b r e a k i n gd e t e c t ,t o k e e pt h ea p p l i c a t i o ns y s t e ms a f e e s p e c i a l l y ,u n d e rt h ep r e s e n td i s t r i b u t i n ga n d n e t w o r k - b a s e d a p p l i c a t j o ne n v i r o 蛐q e n t , t h ea p p r o a c h e so fu s e r s解c e s s i n g s y s t e mh a v ed i v e r s i f i e d ,a n dt h ed a t a b a s es y s t e m sa r ef a c i n gv a r i o u ss a f b t yr i s k s f o re x a m p l e ,s o m eu n g r a n t e du s e r sm a yi n t r u d ed a t a b a s et h r o u 曲r o u n d i n gt h e s y s t e ma c c e s sc o n t r o lm e c h a n i s m ,a n dg e tt h ed a t ai 1 1 e g a l ;t h el o s to fd a t as t o r i n g m e d i u mc o u l dr e s u l ti nt h ed a t a - t e a k i n gi nt h ed a t a b a s e ;t h ei n t e r n a lm a n a g e rd o m i s f e a s a n c eu t i l i z i n gh i so w n p u r v i e w i nt h et r a d i t i o n a lm e t h o d ,t h eo r i g i n a ld a t as t o r e di nt h ed a t a b a s eu s i n gt h e f b r mo fp l a i n t e x t ,a n dt h i si sam o s t l yr e a s o na r i s i n gt h ei n s e c u r i t yd a t a b a s e i f w ee n c r y p t e dt h ed a t ai nt h ed a t a b a s e ,w ew i l ls 0 1 v et 1 1 ep r o b l e ma b o v e t h o u g h a n y o n ew h o c a ni n t m d et l l es y s t e mi 1 1 e g a io rs t e a it h ed a t a b a s ef i l e ,h es t i l ic a n n o tg e tt h e 出n ah ew a n ti fo n l yw i t h o u tt h ed e c r y p t i o nk e y a sar e s u l t ,t h e e n c r y p tp r o c e s s j n go fd a t a b a s ei sr a t h e ri m p o r t a n tt od a t as a f c t y t h ea u t h o rc o l l e c t e da f l da l l a l y z e dal o to f1 i t e r a t u r ea n di n f o r m a t i o nb o t h h e r ea n da b r o a do nt h ed a t a b a s es e r c t l r i t y a f t e rs t u d y i n gd e e pi n t ot h es t r u c t u r e o fd a t a b a s e e n c r y p t i o ns y s t e m ,t h ea u t h o rb r i n gf o r w a r d an e wd a t a b a s e e n c r y p t i o ns y s t e mm o d e l 一t h ei m p l e m e n t a t i o nm o d e lo fd a t a b a s ee n c r y p t i o n s y s t e mb a s e do nt h ee x t e n d e ds t o r e dp r o c c d u r e t h em o s tw o r ki nt h et h e s i sa r ea sf o l l o w s :f i r s t ,a r e ra n a l y z i n gt h ep r o b l e m e x i s t i i l go nt h ed a t a b a s es a f e t yi nt h ep r e s e n ti n f o r m a t i o ns e c u r i t yf l e l d ,m e a u t h o rb r i n gf o r w a r dad a t a b a s ee n c r y p t i o nd e s i g ni d e ab a s e do nt h ee x t e n d e d s t o r e d p r o c e d u r e ;s e c o n d , s t u d y i n g i n t ot h et h e o r i e s a r o u n d i n g 武汉理工大学硕士学位论文 d a t a b a s e - e n c r y p t i o ns y s t e m ,e x p l a i n i n gt h ec r y p t o g r a p hi n d e x ,k e ym a n a g e m e n t a n ds o m eo t h e rk e yt e c h n o l o g i e si n d e t a i l ;t h i r d ,i n t r o d u c i n gt h ee x t e n d e d s t o r e d p r o c e d u f et e c h n o l o g i e st o t a l l y ;t h e n ,p u t t i n gf b r w a r d i n gd a t a b a s e e n c r y p t i o ns y s t e mf h b r i cb a s e do nt h ee x t e n d e ds t o r e dp r o c e d u r e ,c o n f i r m i n gt h e s y s t e md e s i g n i n go b j e c t ,o f 诧r i n gt h es y s t e ml o g i cm o d e l ,a n a l y z i n gt h es t r u c t u r e o fs y s t e ml o g i cm o m l l e s ,a n dp r o v i d i n gt 1 ed e s i g no fe a c hl o g i cm o d u l e ;a tl a s t , a c c o r d i n gt o ,t h el o g i cm o d u l ei nt h ep a p e r ,t h ed e s i g nc o m p l e t et h ed a t a b a s e e n c r y p t i o ns y s t e mb a s e do nt h ee x t e n d e ds t o i e dp r o c e d u r e ,a n da n a l y z i n gt h e7 m o s t l yk e yt e c h n o i o g i e sa d o p t e di nt h ep r o c e s s i n go fc o n l p l e t i n gt h es y s t e mi n d e t a i l t h ed a t a b a s ee n c r y p t i o ns y s t e md e s j g n e db ya u t h o rh a si m p i e m e n t e di nt h e p r o j e c tw h i c hi si nt h eh u b e ic o m m u n i c a t i o nd e p a r t m e n t ss c i e n t i 行cp 1 砒1 一h u b e i w a t e r w a yc h a r g i n gn e t w o r km a n a g e m e n ti n f o r m a t i o ns y s t e m ,a n dp r i m e l ys 0 1 v c d s e c u r i t yp r o b l e mo fs t o r i n gs e n s i t i v i t yd a t a 1 ( e y w o r d s :d a t a b a s ee n c r y p t ,e x t e n d e ds t o r e dp r o c e d u r e ,s q la n a l y s e ,u d f i i i 武汉理t 大学硕士毕业论文 1 1 课题的背景及来源 1 1 1 课题背景 第1 章引言 大型数据库管理系统的运行平台一般是w i n d o w sn t 和u n i x ,这些操作 系统的安全级别通常为c 1 、c 2 级( 参见表1 1 ) 。它们具有用户注册、识别用 户、任意存取控制( d a c ) 、审计等安全功能。虽然d b m s 在o s 的基础上 增加了不少安全措麓,例如基于权限的访问控制等,但o s 和d b m s 对数据 库文件本身仍然缺乏有效的保护措施。因此对数据库中的敏感数据i l 】进行加 密处理,是增强数据库安全的措施之一。 在传统的数据库系统中,数据库管理员的权力至高无上,他既负责各项 系统管理工作,又可以查询数据库中的一切信息。为此,不少系统以种种手 段来削弱系统管理员的权力。实现数据库加密以后,各用户( 或用户组) 的 数据由用户用自己的密钥加密,数据库管理员获得的信息无法进行正常解密, 从而保证了用户信息的安全。另外,通过加密,数据库的备份内容成为密文, 从而能减少因备份介质失窃或丢失而造成的损失。由此可见,数据库加密对 于企业内部安全管理,也是不可或缺的。 1 1 2 课题来源 课题的来源是湖北省交通厅科技计划项目一“湖北水路交通规费征稽 网络信息系统”。 该系统是按照交通部有关规费管理的规范开发,适用于以省级港航管理局 ( 规费中心) 为龙头,覆盖各市州港航局( 所,处) 规费中心和各县市港航处( 所) , 各基层费收站点的四级网络规费征稽系统。它兼容了光纤专线、电信专线、 a d s l 和m o d e m 拨号等多种网络通信方式,进行规费征稽的网络传输,具 有断点续传功能:确保数据的一致性与准确性。 具有以下功能: ( 1 ) 对船舶基本信息,用户基本信息,港口及规费基本信息管理。 ( 2 ) 船籍港固定规费、航养费、水路运输管理费、船舶进出港港务费征。 武汉理j = 大学硕士毕业论文 f 3 ) 票据分发、缴销、作废、查询统计。 ( 4 ) 费收情况的查询及把查询结果转换为w o r d 文档。 f 5 ) 规费报表、政策发布、规费数据电子票据基本信息的上传下载。 系统具有多级安全措施,采用用户身份,确认用户身份,身份证书保存在 用户的电子密钥中,除身份证书外,每个用户电子密钥中还保存了用户的授 权证书,每个用户的授权证书由c a 根证书签名发放生效,实现系统的权限 控制。 本课题的研究目标即为解决系统中的数据存储安全问题,并最终将研究 成果应用于实际项目中,解决了系统中如“票据费目”、“费率”,“用户密码”、 “用户角色”等敏感信息的存储安全问题。 以下是“湖北水路交通规费征稽网络信息系统”的项目成果通过“湖北 省科技信息研究院查新检索中心”( 国家一级科技查新咨询单位) 的国内查新 结果: 目前,国内有关水路规费征稽管理网络系统的研究与应用的文献报道不 多,如检索到的“江苏省航道规费计算机联网收费系统”和“浙江省水路规 费征稽业务管理系统”,与检索文献比较,项目有如下几点查新点: ( 1 ) 覆盖省、地( 市、州) 县、站四级站点的全省水路规费征收网络系 统,该系统采用分布数据库模式。 ( 2 ) 自主开发出数据库动态库加密、加解密引擎,并将自主开发的数据 库动态库、加解密引擎运用于s o ls e r v e r 中。 ( 3 ) 开发出基于c s 模式下分布式数据断点续传系统( 该系统成功运 用于省、地( 市、州) 、县、站四级收费站的分布式数据上传和下载) ( 4 ) 实现水路规费征收网络系统与湖北港航电子政务整合和共享。 1 2 国内外研究现状分析 数据库管理系统经历了3 0 多年的发展演变,己经取得了辉煌的成就, 发展成了一门内容丰富的学科,形成了总量达数百亿美元的一个软件产业。 根据g a r t n e rd a t a q u e s t 公司的调查,2 0 0 0 年国际数据库市场销售总额达8 8 亿美元,比1 9 9 9 年增长l o 。根据c c i d 的报告,2 0 0 0 年的中国数据库管 理系统市场销售总额达2 4 8 亿元,比1 9 9 9 年增长了4 1 7 ,占软件市场总 销售额的l o 8 。可见,数据库己经发展成为一个规模巨大、增长迅速的市 场。关于数据库安全,美国从七十年代就开始从事安全数据库管理系统的理 2 武汉理工大学硕十毕业论文 论研究,到了八十年代,为适应计算机安全技术飞速发展的需要,美国于1 9 8 3 年发布了“可信计算机系统评估标准( t c s e c ) ”,1 9 8 5 年又发布了其修订版, 桔皮书中对安全系统的评价按照四大类共七个等级划分不同的安全级别。即 分为d ,c l ,c 2 ,b l ,b 2 ,b 3 ,a 1 七个等级,如表1 1 所示。 表1 1t c s e c t d i 的安全等级 獭黼誊。: ! ; ! 4 “ j ;惫义;t ;l g 。_ j 蓦蓦r i 窖 ;| ? i a 1 设计的形式化验证 b 3 安全域 b 2 结构化保护 b l 标记安全保护 c 2受控制的存取保护 c 1 受控制的存取保护 d 最小保护 其中a 1 级为最高级别,d 为最低安全级别,每一级别都必须包含低一 级的功能。桔皮书的发布有力地促进了安全计算机系统的研究,也促进了安 全数据库管理系统的研究。 目前,国内流行的大量数据库和网络操作系统产品基本上依赖于进口, 版权多属美国所有( l i n u ) ( 除外) ,且销售的产品无源程序代码,或者是内核公 开且可供调用的产品极少,这就加大了自主安全保护的技术难度。根据公开 的资料,我国对多级安全数据库的研究从9 0 年代初开始,到9 0 年代中期有 一些外挂式数据库安全部件出现。华中科技大学曾在1 9 9 6 1 9 9 8 年间研制出 了一个基于o r a c l e7 的外挂式数据库安全平台。郑州轻工业学院在 1 9 9 7 1 9 9 8 年研究了如何基于安全约束实现多级安全数据库。浙江大学在 1 9 9 8 2 0 0 0 年研制出了基于恶意d b m s 威胁模型的数据库安全与保护系统。 另外,还有一些学者对多级安全数据库进行了一些有益的研究。 1 3 本文工作 本文中,作者提出了一种基于扩展存储过程的数据库加密系统的实现模 型,并且使用扩展存储过程编程技术、d e l p h i 组件编程技术和智能卡( u k e y ) 编程技术最终实现了该模型的应用系统。 具体来说,本文研究成果有: 武汉理t 大学硕士毕业论文 提出了基于扩展存储过程的数据库加密系统的实现模型 给出了模型中各模块逻辑分析 模型中提出了对数据加密的方式:对数据库中的敏感信息进行字段级 的存储加密。 实现了与模型对应的的应用系统,并应用于湖北省交通厅科技计划项 目一一“湖北水路交通规费征稽网络信息系统”。 1 4 论文的组织结构 本论文内容的章节安排如下: 第1 章引言部分,概述了课题的研究背景以及来源,分析了国内外相关 方向的研究情况,给出了论文的组织结构。 第2 章阐述了数据库加密理论。对加密算法、密钥管理、加密字典、完 整性约束和强制访问控制等数据库加密理论中的核心技术做了总结,分析了 数据库加密后对d m b s 功能的影响,是实现系统逻辑模型的理论基础。 第3 章简单介绍系统模型中用到的密码技术,重点分析d e s 密码系统。 最后介绍了密码技术在智能卡( u k e y ) 和m i c r o s o f ts q ls e r v e r 中的应用。 第4 章对扩展存储过程的工作原理、执行特征和设计与应用扩展存储过 程的方法进行了讨论。 第5 章提出了“基于扩展存储过程的数据库加密系统”的设计目标及其 实现模型。将其模型按逻辑结构划分为:加解密引擎、数据库对象模块、加 密管理程序三大模块,并详细阐述了各模块的逻辑结构。 第6 章根据前一章的系统实现模型的设计,针对系统实现过程中所用到 的关键技术,给出详细的阐述,并介绍了所实现系统的使用方法。 第7 章对全文的研究工作进行了总结,指出了系统的不足。并确定了下 一步的研究方向。 4 武汉理工大学硕士毕业论文 第2 章数据库加密概述 本章我们在介绍数据库加密系统基本概念的基础上,研究了“加密粒度” 和“密钥管理”等数据库加密系统中的关键技术。 2 1 数据库加密系统 随着信息技术的发展翻,数据的安全问题被提到前所未有的高度。一方 面,企业本身需要对自己的关键数据进行有效的保护:另一方面,越来越多 的企业开始从应用服务提供商( a p p l i c a t i o ns e r v i c ep r o v i d e r ,a s p ) 处获得应用 支待和服务,在这种情况下,企业的业务数据存放在a s p 处,其安全性无法 得到有效的保障。因为传统的数据库保护方式是通过设定口令字和访问权限 等方法实现的,这就留下了一个很大的安全漏洞一数据库管理员可以不加限 制地访问数据库中的所有数据。解决这一问题的关键是要对数据本身加密, 即使数据不幸泄露或丢失,也难以被人破译。 数据库加密系统,其实现的主要功能是:对存储在数据库中的数据进行 不同级的存储加密。这样就有效的保护了存储在数据库中的重要数据,即使 某一用户非法入侵到系统中或盗得了数据库文件,没有解密密钥,他也不能 得到所需数据。所以数据库的加密处理对保护数据的安全性具有非常重要的 意义。 2 2 加密系统的基本概念嗍 【访问控制】:在开放的系统中,对一个主体访问一个客体功能、服务和 能力的限制。 【自主访问控制】:一神基于对主体及或客体所属主体组的识别来限制 对客体的访问,自主是指对其它主体具有授予某种访问权限的主体能够自主 的( 直接或间接地) 将访问权或访问权的某个子集授予给其它的主体。 【强制访问控制】:一种基于客体所包含信息的敏感度和主体对该敏感度 的客体是否有正式的存取授权来限制对客体的访问的机制。 【敏感数据】作为一个工作定义,可以说敏感数据就是不应公开的数据。 武汉理t 大学硕士毕业论文 要确定哪些数据是敏感数据,取决于具体的数据库和数据的含义。 【多级安全】是军事安全模型的一种数学描述,它用计算机可实现的方 式定义。多级安全模型有两个重要性质:简单安全特性和一般特性。它是d o d 在6 0 年代提出的,它的基本思想是:对于每一个主体( 用户) 和每一个客体( 基 表) 都分配一个访问类。访问类是由一个密级( c l a s s i f i c a t i o n ) 和一个签证 f c l e a r a n c e l 组成。主体对客体是否有访问权是由主体和客体的访问类的比较 关系决定。 【多级安全的粒度】是指一个多级安全所控制的最小单位。它的含义与 并发控制的粒度相似。多级安全的粒度通常可以分为:表级、列级、元组级、 元素级。其中表级最大,元素级最小。 【加密粒度】采用同一密钥和加密算法进行加密的数据粒度。 2 3 数据库的加密层次 数据库加密,大致可以分为两种方式:d b m s 外部加密和d b m s 内部加 密,如图2 1 所示。 j 寞 一定义加密要求工其 据 库 应 用 已譬 系 统 数 据 霹 应 用 纂 统 ( a ) d b m s 外部加密( b ) d b m s 内部加密 图2 1 数据库加密的方式 d b m s 外部加密唧1 1 0 j ,一般选择在应用程序和操作系统,通过调用加解 密函数来完成加密数据的存储和访问。例如,在操作系统层次实现加密时, 可以利用它文件管理系统的功能,直接对存储数据的文件进行加密:在应用程 序层次实现加密时,可以先由应用程序完成数据的加密工作,然后把加密数 据传输到d b m s 并以这种加密形式存储起来。d b m s 外部加密的优点是,不 需要修改d b m s ,只需要在应用程序或者操作系统中增加相应的加解密模块 即可。但是,这种方法也有一些缺点,首先它不能支持各种加密粒度。例如, 在应用程序中加密时,由于应用程序访问d b m s 的接口支持属性级,所以只 能对属性值进行加密,而不能对更大的单元( 如记录、表等) 加密。其次,它 武汉理工大学硕士毕业论文 仅仅对用户数据进行加密,而不能对元数据、索引数据、日志等进行加密。 再者,数据的完整性检查需要应用程序来完成,因为数据加密后,没有办法 在d b m s 完整性检查,而需要在应用程序中增加这项功能,实现起来非常麻 烦。在操作系统中加密时,加密的粒度是基于文件,对应到数据库中则是相 应的表或者整个数据库,这种加密粒度非常粗糙,最直接的影响是,加解密 的工作相当大,极大地降低系统性能。 在d b m s 内部加密邮“,一般选择在数据物理存取之前进行加解密操作。 也就是说,d b m s 在将内存中的数据写到如磁盘时,进行加密操作,而从磁 盘读取数据到内存中时,进行相应的解密操作。这种方法的优点是,由于 d b m s 能够区分各种粒度的数据,所以可以支持各种粒度的加密,加密的灵 活性较好。另外,在d b m s 内部实现加密,可以更有效地和d b m s 内部的 访闯控制机制、授权机制等各种功能结合起来。更重要的是,数据库一个重 要特点是被多个应用共享,这种方法的加解密都是在d b m s 内部完成,对 应用程序是透明的,不需要在多个应用中进行修改,容易保持数据的一致性。 缺点是需要修改d b m s 的内核,d b m s 是一个非常复杂的软件,对它进行修 改是一件非常艰巨任务。 2 4 加密粒度 按照数据库的结构层次,数据库的加密粒度叫5 1 可以分为数据库级、表 级、记录级、字段级和数据项级。根据不同的应用需要,选择合适的加密粒 度。 2 4 1 数据库级 加密的对象是整个数据库,这意味着对所有的用户数据表、系统数据表、 索引、视图和存储过程等等都进行加密处理。这种加密方法简单,只需要对 存储在磁盘中的相应数据库文件进行加密处理即可,密钥的数量少,一个数 据库只对应一个密钥,管理方便。但是,数据库一个重要特征是数据共享性 高,被多个用户和应用共享使用,需要接受大量的随机访问。一般来说,用 户访问数据库时,是为了将符合条件的记录检索出来。如果采用数据库级加 密方式,即使只需要查询少量的记录,也需要对整个数据库进行解密,对系 统性能会产生极大的影响。但是,对于辅存中备份的数据库,可以采取这种 武汉理丁火学硕士毕业论文 加密粒度。 2 4 2 表级 加密的对象是数据库中的表。通常来说,数据库包含多个表,只需要对 其中一些包含敏感信息的表进行加密,以保护它们的安全性。与数据库级加 密比较,采用表级加密粒度,系统的查询性能会有所改善,因为对于未加密 表的查询,与传统查询方法一样,系统性能不会受到影响,对于加密表的查 询,只需要解密对应的加密表,而不要解密整个数据库。在实行表级加密时, 可以采用对存储数据的磁盘块( 页面) 进行加密。但是,这种方法与d b m s 集 成时,需要对d b m s 内部一些核心模块进行修改,包括对语法分析器、解释 器和查询执行器的修改,而目前一些主流的商用d b m s 都不开放源代码,很 难把这种方法与它们集成起来。 2 。4 t 3 记录级( 行级) 加密的对象是数据表中的记录,记录中各字段值连接一起进行加密处理, 加密后输出一列字符串。在实现记录级加密时,通过调用专门的加密函数, 对页面中记录进行加密。与数据库和表级加密相比,这种加密的粒度更细, 可选择的灵活性更好。比如说,一个公司的人事资料,要求对部门经理职位 以上的人员采取加密措施进行保密,那么可以只选择这些记录加密,而不必 要对所有记录进行加密。但是,和表级加密一样,这种方法也需要对d b m s 内核进行修改。 2 4 4 引字段级( 列级) 加密的对象是关系中的某个字段。字段级加密是一个很好的选择,因为 在实际生活中,一些重要和敏感的信息往往出现在关系中的某些列,如信用 卡号、身份证号、银行账号等,只需要对这些重要数据进行加密保护,而没 有必要对普通数据也进行加密。例如,有一个客户表,它包含客户i d 、姓名、 地址和信用卡号。在这个表中,没有必要去加密客户i d ,我们最想加密的字 段是信用卡号。在实现字段级加密时,可以采取多种方式,既可以在d b m s 外部( 比如,应用程序) 完成,也可以在d b m s 内部( 比如,内模式) 完成。 武汉理上人学硕士毕业论文 2 4 5 数据项级( 字段值级) 加密的对象是记录中的某个字段值,它是数据库加密的最小粒度。数据 项级加密的方法更为灵活,它的实现方式与字段级加密相似,但其密钥管理 将会更加复杂。 2 5 关键技术 2 5 1 加密算法 加密算法是数据加密的核心,加密算法本身的好坏直接影响数据库加密 的安全和性能。个好的加密算法产生的密文应该频率平衡,随机无重码规 律,周期很长而又不可能产生重复现象。攻击者很难通过对密文频率、重码 等特征的分析获得成功。通常来说,加密算法有对称算法( s y m m e t r i c a l g o r i t h m ) 和非对称算法( a s y m m e t r i ca l g o r i t h m “q 。对称算法有时又叫传统密 码算法,就是加密密钥能够从解密密钥推算出来,反过来也成立。在大多数 对称算法中,加密密钥和解密密钥是相同的。 在对数据库存储数据进行加密时,对称加密算法使用最为广泛。这是因 为,与非对称加密算法相比,对称加密算法的速度快了几十甚至几百倍,对 系统的性能影响较小。对称算法又可分为两类:序列密码( s t r e 锄c i p h e r ) 和分 组密码( b l o c kc i p h e r ) 。分组密码是在明文分组和密文分组上进行运算,分组 长度通常为6 4 位,但有时更长。根据分组的模式,分组密码算法又可分成电 子密码本( e c b ,e i e c t r o n i cc o d eb o o k ) 和密码分组链接( c b c ,c i p h e r b l o c k c h a i n i n g ) 。e c b 模式把一个明文组加密成一个密文组,每个明文分组可被独 立地进行加密,这对于数据库中加密随机存取的文件,是非常有用。如果一 个数据库用e c b 模式进行记录级加密,那么任意一个记录可以独立于其它记 录被添加、删除或者解密。c b c 模式将一种反馈机制加进分组密码中,即前 一分组的加密结果被反馈到当前分组的加密中,这样使得每个密文分组不仅 依赖于产生它的明文分组,而且依赖于所有前面的明文分组。 序列密码算法采用异或的运算方法,将明文逐位转换为密文。在运算速 度上,序列密码算法是分组密码算法的两倍左右。但是,序列密码算法中的 密钥序列不能重复,因为它的安全性依赖于简单的异或运算,如果每次产生 同样的密钥序列,对攻击者来说,破译该算法就非常容易。所以在实际应用 亟堡堡兰叁堂堡主兰些堡塞 中,数据库中存储数据的加密一般采用分组密码算法。目前数据库加密常用 的算法有a e s ( a d v a n c e de n c r y p t i o ns t a n d a r d ) , d e s( d a t ae n c r y p t i o n s t a n d a r d l ,3d e s ,r c 5 。 2 5 2 密钥管理 密钥管理【1 棚1 是密文数据库的重要组成部分。安全地管理密钥,在数据 解密时快速地获得密钥是十分必要的。在密文数据库系统中,通常采用三级 密钥管理方案。这里以三级密钥管理方案为例介绍密钥管理的方法。 用户访问密文数据库系统的流程如图2 2 所示。 图2 2 三级密钥管理结构 用户必须首先通过“用户表”进行用户身份的认证。“用户表”采用一级 密钥即主密钥加密。通过身份认证后,用户方可以访问“数据表”。“数据表” 经三级密钥即工作密钥加密。在查询中,通过三级密钥解密返回给用户。 在密文数据库系统中构建用户表,用于存储用户名、用户口令。用户口 令以哈希( h a s h ) 值的形式存放。用户表采用一级密钥进行加密。所有用户必 须首先访问用户表,通过用户身份的认证才可以进行下一步的访问。包括系 统管理员( d b a ) 也必须如此。 整个系统设有一个系统主密钥。它将定期更换以保护“用户表”和加密 字典表等。主密钥的泄漏将导致系统的安全失效。 二级密钥和三级密钥是由系统随机产生。当用户创建一个表时,系统随 机产生一个密钥作为二级密钥存放在加密字典中。如果采用的是表级加密粒 度,则这个密钥就是工作密钥,用来加密表中的数据。如果采用字段级、记 录级或数据项级加密粒度,该密钥用来加密三级密钥。当用户向表中插入数 据,系统随机生成三级密钥。如果是字段级加密,三级密钥经二级密钥加密 后存放入数据字典。数据项级或记录级加密,密钥可以加密后存放在数据表 1 0 武汉理工大学硕士毕业论文 的附加字段中。 通过一级密钥加密二级密钥,通过二级密钥加密三级密钥,即二级密钥 和三级密钥都是以密文方式存放在数据库中。三级密钥作为数据加密密钥为 表级、字段级、记录级、数据项级加密粒度进行加密。比较用户的安全等级 标志和需要访问数据的安全等级标志,当用户的安全等级标志高于或等于要 访问数据的安全等级标志时,采用三级密钥对数据表中的数据进行解密,将 明文数据返回给用户。对于用户写数据到数据库中,当用户的安全等级标志 低于或等于要写入的安全等级标志时,产生随机密钥,作为三级工作密钥, 加密数据写入数据库,采用二级密钥加密三级密钥,将加密后的密钥写入数 据库。即对于敏感数据及其加密密钥以密文形式存入数据库。 在密钥管理中,除了多级密密钥的方式,还应注意密钥管理过程中的几 个方面:密钥的生成、使用、存储、备份、恢复以及销毁等。具体说明如下: 密钥的生成 算法的安全性依赖于密钥,如果用一个弱的密钥产生方法,那么整个系 统都将是弱的。d e s 有5 6 位的密钥,正常情况下任何一个5 6 位的数据串都 能成为密钥,所以共有2 ”种可能的密钥。 密钥的生成与所有使用的生成算法有关。如果生成的密钥强度不一致, 则称该算法构成的密钥空间是非线性密钥空间,否则是线性密钥空间。大部 分密钥生成算法采用随机过程或者伪随机过程来生成密钥。随机过程一般采 用一个随机数发生器,它的输出是一个不确定的值。伪随机过程一般采用噪 声源技术,通过噪声源的功能产生二进制的随机序列或者与之对应的随机数。 常用的噪声源包括基于力学的噪声源、基于电子学的噪声源和基于混沌理论 的噪声源。 a n s i 的x 9 1 7 标准定义了一种线性密钥空间的密钥生成方法。令女为主 密钥,k 为6 4 比特的随机种子,7 1 为时标,e 为任选的加密算法,设 r 。2 e l ( t ( i ) ok ) + 。2 e ( 巨( z ) o 只,) 则足为每次产生的密钥。 密钥的使用与存储 密钥的使用是指从密钥的存储介质上获取密钥进行加密和解密的技术活 动。在密钥的使用过程中,要保证密钥不被泄露出去,同时也要在密钥过了 使用期的时候更换一个密钥的使用,并从存储介质上删除该密钥。密钥的使 用应保证顺利实现加密和解密,确保密钥的安全,发挥加密系统的功能。 武汉理工大学硕士毕业论文 密钥的存储介质可分为无介质、记录介质和物理介质几种。 无介质就是不存储密钥,或者说是把密钥存储在头脑中。这种方法也许 是最安全的,也许是最不安全的。但是,一旦你遗忘了密码,其后果可想而 知,这种方法只适用于一段时间的通信密钥的保存。 记录介质就是密钥存储的计算机磁盘,存储在该计算机上的密钥对于这 台计算机的非授权人员来说是安全的。 物理介质对于密钥存储而言,应该是一个不错的选择。把密钥存储在一 个特殊的物理介质上,如i c 卡,智能卡等。显然,这种物理介质便于携带、 安全、方便。当需要使用密钥时,我们可以把物理介质插入到计算机终端设 备的读入装置中,然后把密钥读入到系统中。 密钥的备份与恢复 密钥的备份是指在密钥使用期内,存储该密钥的一个受保护的拷贝,用 于恢复遭到破坏的密钥。密钥的恢复是指当一个密钥由于某种原因被破坏, 并且没有被泄露出去时,从它的一个备份拷贝重新得到该密钥的过程。密钥 的备份与恢复机制保证了即使密钥丢失,受密钥加密保护的重要信息也能恢 复。 2 5 3 加密字典 借鉴数据字典的思路创建加密字典i lj ,用于保护密文数据的定义。 数据字典( d a t ad i c t i o n a r y ) 的主要任务是描述( 或定义) 数据库系统中各类 对象、对象之间的联系和它们的使用规则。一个数据库系统所涉及的对象大 致可分为如下几类: ( 1 ) 与数据组织结构有关的对象,包括数据库( 一个系统可能容纳多个数 据库) 、模式、子模式、记录类型( 或类) 、数据项、物理文件及索引等; ( 2 ) 与系统运行、配置有关的对象,包括存储过程、实物、终端、客户 机等: ( 3 ) 与询问优化有关的对象,包括访问例程、代价估算所用的各类信息 等: ( 4 ) 与完整、安全控制有关的对象,包括用户、角色、用户标识、访问 授权、密钥及各类完整约束条件等: ( 5 ) 与系统监控有关的对象,包括触发器、审计项目及数据字典本身的 变化 武汉理工人学硕士毕业论文 支持数据字典功能的数据库管理系统能够自动建立和更新数据字典。如 o r a c l e 的数据字典就是数据库管理系统的一部分,系统自动建立并更新一组 数据字典表。o r a c l e 数据字典由很多基本表和视图组成,用于记录有关基本 表、视图结构描述以及用户授权和完整性约束等系统信息。数据字典中约有 4 0 个视图,是在数据字典基本表的基础上定义的,可为用户提供数掘库的直 观信息。其中包括系统的所有用户及其标识,所有数据库对象( 如基本表、视 图、索引、同义词等) 的名称及描述,各种数据库对象的空间分配和使用情况, 用户授权信息等。 加密字典用于保存和管理系统中的加密信息。其主要任务是描述( 或定义) 密文数据库系统中各类对象所采用的加密算法、加密粒度等。一个密文数据 库系统所涉及的对象大致包括数据表,视图,索引,密钥;与完整、安全控制 有关的对象,包括用户、角色、用户标识、访问授权、密钥及完整约束条件 等。 2 5 4 密文索5 在密文数据库系统中,数据以密文的形式存放在数据库中。一般加密算 法会改变数据的大小关系。这样就给数据库的查询和检索带来一定的困难。 因而。有些文献提出,在设计密文数据库时,不对检索条件,外键等进行加 密,即这些数据以明文方式存放在数据库中。这样固然可以轻易地解决了密 文数据库的检索和索引的问题。但是,由于并不是所有的外键,都是非敏感 的。而且,作为查询条件的字段常常是敏感的数据。例如,主管或者财务很 可能采用“工资”或“奖会”作为查询条件进行查询。 通过构造台理的索引机制来提高密文数据库系统的查询速度。提高查询 速度的关键在于尽量减少对密文数据进行解密的次数。在没有密文索引洲机 制的情祝下,对杳询条件字段中的所有数据进行解密,找到需要的记录,提 交给用户。这样在系统数据量不大情况下,对系统的效率影响不是特别的明 显。但是随着数据的增多,系统效率急剧下降,以至用户难以忍受。 密文索引实际上是一种无序文件的索引,因为在形成数据文件时,其记 录并不一定按主关键字的顺序排列f 图2 3 ) 。为加快查找速度,可以把它组 织成索引文件。 垫堡望王盔堂堡主望些堡苎 一 稠密索引主文件 二级索g 级索 9 8 6 0 1 琴 9 8 6 0 5 7 9 8 6 0 2 9 8 6 0 1 9 8 6 0 l 卜_ 9 8 6 0 2 9 8 6 0 3 9 8 6 0 l 9 8 6 0 4 9 8 6 0 4 9 9 7 0 0 、 9 3 鳓9 8 缁 , j 。, 9 3 6 0 3 i ! n i 9 8 6 9 0 9 8 6 粥 9 锚钾 : 9 9 7 0 0 i 、 : 9 s 6 9 0 9 8 6 9 6 9 9 6 9 7 , 图2 3 索引结构图 通常明文数据库的索引文件与数据文件是分别存放的。其索引文件一般 只记录排序后记录的相对信息。而在构建密文数据库索引时,除了要保存数 据记录在数据库中的相对位置信息外,还应记录数据库中相应字段的安全类 别信息,以便查询时确认用户是否可以浏览记录的密文内容。在建立索引文 件结构和设计查询算法时,总体上应坚持下述原则: ( 1 ) 查询算法的选择。查询时要尽量减少对密文数据解密的次数,从而减 少解密数据在查询时占用的时间。这需要在实现算法时尽可能减少与密文的 比较次数。 ( 2 ) 建立索引的“分治原则”,即应尽量减少集中建立密文索引文件所花 费的时间。 通常采用的索引方式有b t r e e 和b + t r e e 结构。当记录不便于顺序存放 时,常用稠密索引指示记录的位置,而稠密索引是顺序文件,可用b + 树组织, 这时文件的逻辑形式如图2 ,4 。带稠密索引的8

温馨提示

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

评论

0/150

提交评论