




已阅读5页,还剩58页未读, 继续免费阅读
(计算机软件与理论专业论文)数据库加密技术及在招投标系统中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨丁程大学硕十学位论文 摘要 随着i n t e m e t 的不断发展以及信息处理的不断增多,数据库安全问题变 得日益重要。数据库中原始数据一般以明文形式存储,很容易被外部恶意攻 击者窃取。目前,数据加密技术成为一种有效的保护敏感数据的手段。但是, 数据库加密后会影响系统原有性能,一些查询操作不能在密文上直接执行。 因此,需要寻求一种安全、高效的解决办法。 首先,本文对数据库加密的关键技术,包括加密粒度的选择、加密层次 的选择、加密算法的选择和密钥管理进行了研究。然后深入分析了针对数值 型数据的保持顺序加密算法o p e s ,在此基础上提出了保持顺序加密算法 m o e s ,并且对其性能进行了分析。m o e s 算法在加密数据类型、目标函数 选择、存储桶划分和重复数据处理等方面进行了改进。改进后的算法可以对 数值型数据及字符型数据进行加密,同时在明文值平铺阶段隐藏了重复数据, 提高了算法的加密效果。 最后,本文将m o e s 算法具体应用到招投标系统的数据库j n 解密引擎 中,结合身份认证和密钥管理技术提出了一个完整的招投标系统的安全框架 结构,在用户可以接受的系统响应时间下提高了数据安全性。 关键词:数据库加密;存储桶:加解密引擎;密钥管理 哈尔滨工程大学硕士学位论文 a b s t r a c t a l o n gw i mt h e c o n t i n u o u s d e v e l o p m e n t o fi n t e m e t t e c h n o l o g y a n d i n c r e a s e m e n to fi n f o r m a t i o nn e e d e dt ob ep r o c e s s e d ,t h ed a t a b a s es e c u r i t yi s b e c o m i n gm o r ea n dm o r ei m p o r t a n t t h eo r i g i n a ld a t ai no n ed a t a b a s ei su s u a l l y s t o r e da st h ef o r mo fp l a i n t e x t ,w h i c hc a nb es t o l e nb ya t t a c k e r se a s i l y r e c e n t l y , t h ee n c r y p t i o nt e c h n o l o g yi so n eo ft h ee f f i c i e n tm e t h o d st op r o t e c ts e n s i t i v ed a t e b u tt h ed a t a b a s ee n c r y p t i o nw i l la f f e c tt h ep e r f o r m a n c eo ft h es y s t e m ,a n ds o m e q u e r yo p e r a t i o n sc a nn o tb ee x e c u t e dd i r e c t l yi nt h ec i p h e r t e x t t h e r e f o r , as a f e a n de f f i c i e n ts o l u t i o nn e e d st ob ep r e s e n t e d f i r s t l y , t h ek e yt e c h n o l o g yo f d a t a b a s ee n c r y p t i o n ,i n c l u d i n gt h es e l e c t i o no f e n c r y p t i o ng r a n u l a t i o n ,e n c r y p t i o nl a y e r s a n dt h e a l g o r i t h m s ,a n dk e y m a n a g e m e n t , i si n t r o d u c e d s e c o n d l y , t h eo p e si sd e e p l ya n a l y z e d ,a n dt h e m o e si sp r e s e n t e di nt h i st h e s i sb a s e do no p e s i t sp e r f o r m a n c ei sa l s oa n a l y z e d 。 m o e si sm o d i f i e di ne n c r y p t i o nd a t at y p e ,t h es e l e c t i o no ft a r g e tf u n c t i o n ,b u c k e t p a r t i t i o n a n dr e p e a t e dd a t ap r o c e s s i n g t h em o d i f i e da l g o r i t h mc a ne n c r y p tt o b o t ho fn u m e r i cd a t aa n dc h a r a c t e rd a t a a n dt h er e p e a t e dd a t ai sh i d d e ni nt h e p h a s eo fp l a i n t e x tt i l i n g t h e r e f o r et h ee n c r y p t i o ne f f e c ti si m p r o v e d f i n a l l y , m o e sa l g o r i t h mi sa p p l i e di n t ot h ed a t a b a s ee n c r y p t i o ne n g i n eo f a b i ds y s t e m c o m b i n e dw i t hi d e n t i f ya n dt h ek e ym a n a g e m e n tt e c h n o l o g y , a c o m p l e t es e c u r i t yf r a m e w o r ko fab i ds y s t e mi sp r o d u c e d t h i sf r a m e w o r kc a n i m p r o v et h ed a t as e c u r i t yi nt h er e a s o n a b l es y s t e mr e s p o n s et i m ew h i c hc a nb e a c c e p t e db yu s e r s k e y w o r d s :d a t a b a s ee n c r y p t i o n ;b u c k e t ;e n c r y p t i o ne n g i n e ;k e ym a n a g e m e n t 哈尔滨工程大学 学位论文原创性l 声明 本人郑重声明:本论文的所有工作,是在导师的指导 下,由作者本人独立完成的。有关观点、方法、数据和文 献的引用已在文中指出,并与参考文献相对应。除文中已 注明引用的内容外,本论文不包含任何其他个人或集体已 经公开发表的作品成果。对本文的研究做出重要贡献的个 人和集体,均己在文中以明确方式标明。本人完全意识到 本声明的法律结果由本人承担。 作者( 签字) : 日期:z 刀彦年3 月j 3 日 哈尔滨工程大学硕七学位论文 1 1 研究背景 第1 章绪论 随着i n t e m e l 的迅速发展,信息化的电子政务己经成为经济和政治领域 的热点研究对象,招投标系统作为电子政务的一个重要应用,也逐渐成为研 究的热点。招投标系统的本质是招标单位利用电子方式与投标商之间实现在 线的招投标操作,帮助招标单位实现网络技术与传统资源的有效结合。招投 标系统有很多现实的意义。首先,它能够更好的体现出公平、公正、公开的 原则,并且在提高工作效率的同时。降低了招标工作的成本:其次,它可以 让投标商更好的参与到招投标活动中,了解更多的招投标信息。 在招投标系统中,信息的存储与管理基本上是由数据库来完成的,所以 系统的信息安全主要涉及的就是数据库安全。但是,数据库安全与数据库应 用又是一对矛盾体。提高数据库的安全性需要增加许多安全措施以防止外部 恶意攻击者的窃取和数据的泄密,必然会影响到数据库的运行性能;提高数 据库的运行性能也会影响到数据库的安全性。 随着网络环境的开放,新的攻击手段和攻击行为层出不穷。针对存储敏 感数据的数据库,外部恶意攻击者或者内部数据库管理员的攻击行为将不可 避免。造成不安全的一个主要原因是原始数据以可读形式存放在数据库中。 一旦某一用户非法获取用户名和口令,或者绕过操作系统( 或数据库管理系 统d b m s ) 的控制入侵到系统中,就可以访问和修改数据库中的信息,同样, 存储数据介质( 如磁盘、光盘、磁带等) 丢失也会导致数据库中的数据泄漏。 例如,在加拿大的多伦多,e b a y 网站曾经公开拍卖一个磁盘,但是磁盘中仍 然存有数百个银行客户的相关记录。这是由于银行在处理旧的磁盘设备时。 并没有删除其中的数据,而是直接把它作为废旧设备卖给了e b a y 。2 0 0 6 年 3 月2 0 日,美国著名咨询研究公司f o r r e s t e r 的远程电信会议给出了关于企业 数据库遭受攻击的调查资料,该资料显示大约有5 0 0 0 万顾客信息受到攻击, 这些攻击有8 0 来自内部”。 哈尔滨工程大学硕士学位论文 因此,在数据库作为一种服务( d a s ,d a t a b a s ea sas e r v i c e ) 1 的背景下, 如何在不影响数据库性能的基础上,提高数据库的安全性已经成为一个研究 热点。 1 2 课题的目的和意义 网络的迅速发展致使黑客技术不断泛滥,以及人为因素的影响,使数据 库安全问题更多的集中在访问权限控制之外,即绕过d b m s 的操作系统级的 入侵。最常见也是最简单的入侵手段是直接获取操作系统级上的数据库文件。 即使使用最简单的n o t e p a d 等字处理软件也可以实现对s q ls e r v e r 等数据库 文件的读操作,所以数据信息需要加密后再保存以保证数据库信息的安全性。 在招投标系统中,核心数据和资料都是以数据库的方式存储,数据库没 有加密就如同文件柜没有上锁,对那些别有用心的人而言,剽窃、修改易如 反掌。数据库加密系统1 是为增强普通关系数据库管理系统的安全性而设计 开发的。目的就是提供一个安全适用的数据库加密平台,对数据通信和数据 库存储的内容进行有效的保护。它通过通信加密、数据库存储加密等安全方 法满足了数据库数据存储、通信的保密和完整性要求,使数据库信息以密文 方式存储并在密文方式下工作,保证了数据安全。 目前,国内大多数的信息系统,从硬件系统到应用软件甚至开发工具基 本上都是国外的产品。按照t c s e c ( 美国可信计算机系统评估标准) 给出的 系统安全级别划分,信息系统安全划分为a 、b 、c 、d 四个等级”,其中,d 类的属于基本没有安全措施的产品,c 类只提供安全保护措施,一般不称为 安全产品,b 类才是真正意义上的安全产品,是实施强制存取控制的产品。 对于大多数商用数据库而言( ! t t l o r a c l e 、s q ls e r v e r 、m y s q l 等) ,这些产 品的安全等级都较低,最高的安全等级为c 2 级,通常操作系统( 女n w i n d o w s n t 和u n i x ) 的安全级别为c 1 、c 2 级。而更高级别的数据库产品对我国是限制 出口的。所以,国内暂时还没有较成熟的自主开发的安全数据库产品,这就 使研究并解决数据库数据的安全性成为十分重要的课题。 数据库管理系统d b m s 的运行平台一般是w i n d o w sn t 2 0 0 0 和u n i x ,这 些操作系统的安全级别通常为c 2 级。它们具有用户注册、用户识别、任意存 2 哈尔滨t 程大学硕士学位论文 取控制( d a c ) 、视图、审计等安全功能。虽然d b m s 在操作系统的基础上 又增加了一些安全措施,例如基于权限的访问控制等。但这些安全措施并不 能完全满足数据库安全的需求,特别是无法保证一些敏感数据的安全。造成 不安全的原因主要是由于原始数据以明文且可读的形式存放在数据库中。一 旦外部攻击者非法获取用户名和口令,或者绕过操作系统( 或d b m s ) 的控 制直接入侵到系统中,可以剽窃和修改数据库中的信息,这种隐患被称为通 向d b m s 的“隐秘通道”1 ,而且它所带来的危害很难被数据库的一般用户觉 察。分析和堵塞“隐秘通道”被认为是b 2 级的安全技术措施。另外,数据库 中数据的真实性没有办法证实。为了保证数据库数据的安全,堵塞“隐秘通 道”,只有对数据库中的数据进行加密处理,那么上述问题才能够得到真正 的解决,即使外部攻击者非法入侵到系统中或者成功盗取数据存储介质,但 是没有相应的解密密钥,就仍然不能得到明文数据。所以对数据库数据的加 密操作对于保证数据的安全性和真实性具有非常重要的意义。 在传统的数据库系统中,数据库管理员拥有很多重要的权限,既可以负 责各项系统管理工作( 例如资源分配、用户授权、系统审计等) ,又可以查 询数据库中的一切信息。但是在实际应用中,系统管理员只可以做系统管理 工作,无权访问敏感数据。某些外部攻击者冒充数据库管理员,窃取整个数 据库的数据。这种情况将会造成数据库信息的重大损失。目前,有不少系统 以各种手段来减少系统管理员的权力。实现数据库数据的加密以后,每个用 户的数据用自己的密钥加密,数据库管理员或其他非法用户即使获得这些加 密信息也无法进行正常解密,从而保证了数据信息的安全。此外,数据库的 备份内容也可以是密文,这样就能够减少因这些备份介质失丢失而造成数据 的损失。因此,实行数据库加密对于保证数据安全十分重要。 1 3 国内外研究现状 1 3 1 基于文件的数据库加密技术 基于文件的数据库加密技术是指把数据库文件作为一个整体加密,通过 这样的方式来保证数据的完整性和真实性。这种加密技术是利用用户密钥解 密整个数据库从而实现数据解密的。但是在实际的应用过程中,由于其存在 3 哈尔滨工程大学硕士学何论文 很大的缺陷而受到了限制。首先,修改数据的操作将变得十分复杂,需要经 过解密、修改、复制和加密四个操作,这极大的增加了时空开销:其次,如 果用户只需要查看其中的一条记录,那么也需要将整个数据库文件解密,这 样无法实现对数据库中用户不需要的数据信息的控制。 1 3 2 基于记录的数据库加密技术 一般而言,数据库系统中每条记录所包含的信息具有一定的封闭性,即 从某种程度上说它独立完整地存储了一个实体的数据。如果一个用户只允许 访问数据库少数记录,而不是大量的记录,那么采用记录加密方式较好。因 此,基于记录的加密技术具有灵活、高效和适应性强等优点,是最常用的数 据库信息加密手段。这种方法的基本思路是:在各自密钥的作用下,将数据 库的每一个记录加密成密文并存放于数据库文件中;记录的查找是通过将需 查找的值加密成密码文后进行的。这种方式实质上是把数据库的每一行记录 作为一个文件来进行加解密,此时每行记录必须有一个密钥与之匹配。 然而基于记录的数据库加密技术有两个缺点,首先,在解密一条记录时, 只能解密该条记录的所有字段,那些无需解密的字段也将被解密,增大了时 空开销。在选择某个字段的某些记录时,必须对含有这个字段的所有记录进 行解密,否则就无法进行选择。其次是密钥生成和管理较为复杂。 1 3 3 子密钥加密技术 为了解决基于记录的数据库加密技术存在的问题,g i d a v i d 等人提出了 子密钥数据库加密技术m 。子密钥加密算法的核心思想是根据数据库( 特别 是关系型数据库) 中数据组织的特点,在加密时以记录为单位进行加密操作, 而在解密时以字段为单位对单项数据进行解密操作。两者所用的密钥是不同 的,加密所用的密钥是针对整个记录的密钥,而解密所用的密钥是针对单个 数据项的子密钥。该算法的理论依据是著名的中国剩余定理”。 中国剩余定理:假设m ? ,m 知,m 一是聆个两两互素的正整数,那么,对于 任意整数a i 彳知4 一,同余方程组x 三a ,( m o d m f ) ( 1 f ,z ) 必有解,并且任 意两个解在模m ,m 2 ,m 万下同余。 4 哈尔滨1 = 程大学硕士学位论文 在文献 1 0 】中介绍了子密钥加密技术的加解密算法: 加密算法:假设一个待加密的记录有,1 个明文字段乃凡,r ,选取万个 不同的两两互素的正整数m j ,m 2 ,m 拜,令 m = 丌m ,= m r n , i = 1 选取巧满足m ,z 兰l ( m o dm ,) ,其中l f 刀。令k ,= m ,r ( 1 i 甩) ,以 ( r ,局,凰) 作为记录的加密密钥,c 表示记录的密文,则加密运算为: c 兰k f _ f ( r o o d m ) | _ 一 i = 1 解密算法:m i 为字段f i 的解密子密钥,根据中国剩余定理,解密运算为: f 暑c ( m o d m 。) ( 1 ,甩) 子密钥加密技术的优点在于理论上原理简单,并可以对单个数据项解密, 克服了单纯的记录加密所存在的问题。缺点是实际应用时必须对每个记录生 成加密密钥,并对每个数据项生成解密密钥,对于大型的数据库文件,密钥 管理是非常困难的。 1 。3 4 基于字段的数据库加密技术 基于字段的数据库加密,就是以不同记录的不同字段作为基本加密单位 进行加密,该方法可以对数据库中单个数据元素进行加密。其优点是具有最 小的加密粒度,具有更好的适应性与灵活性。但是,它也存在着明显的缺点。 首先,加解密效率降低;其次,如果各字段的数据元素分别用不同的密钥加 密,则密钥个数= 记录个数字段个数,其数量将是非常惊人的,根本无法 进行管理;再次,如果用数据库密钥对每个数据元素重复加密,那么极易受 到密码文分析和密码文替代的攻击。 为了解决基于字段的数据库加密技术种存在的问题,这里介绍另外一种 可行的字段加密方案,该方案中的主密钥只有一个,但各个数据元素所用的 密钥是不同的。 文献 1 0 中详细介绍了这种加密技术。考虑一个有个记录的文件,每 个记录有m 个字段,设玛表示第f 个记录的第,个字段的明文值,用c v = 反 5 哈尔滨丁程大学硕士学位论文 表示用数据库密钥k 对加密得到的密文。使用这种方法,由于是用 同一个密钥反复对数据值加密,对于密文搜索攻击显然是不安全的。解决这 个问题的方法是对每个数据元素用不同的加密密钥。用妊表示第f 个记录的 第,个字段的加密子密钥,用c o = ( x 盯) 表示对值勘用密钥饧加密。假 设使用加密算法d e s ,如果凰小于8b y t e ( d e s 块的大小) ,那么重复写彳 盯直到填满8b y t e 为止;如果x 盯超过8b y t e ,就用密码分组链“”。该方案的 关键就是如何生成子密钥局,。 假设每个记录的第一个字段唯一标识这个记录,也就是说这个字段是数 据库的主关键字,并且不能被加密。设r ,= x ,是记录i 的标识符,e 是字段 歹的标识符。子密钥杨被定义为x 0 = g ( r ,乃,固,这里g 是一个子密钥生成 函数,k 是数据库密钥。对g 的要求如下: 第一,为了保证子密钥的安全,g 必须是数据库密钥的密码学单向函数。 g 应满足下面的条件:首先,生成重复子密钥的概率应该尽量低,从而使相 同的明文元素用不同的子密钥加密,生成不同密文的概率尽量高:其次,生 成的子密钥不是弱密钥,从x ,的密文中获得其明文值在计算上是不可行的: 再次,从一个子密钥获得另外一个子密钥在计算上是不可行的。 第二,子密钥生成函数应该是最有效的。在设计子密钥生成函数时应该 考虑到下面几个方面:首先,所生成的子密钥在记录f 或字段,中是唯一 的;其次,生成可以对整条记录f 解密的子密钥为;再次,生成可以对某个 字段中的所有记录,解密的子密钥局。 1 3 5 秘密同态技术 上述的几种数据库加密技术可以应用于不同的环境,但是存在一个共同 的问题,无法直接对加密数据进行查询、修改等操作。也就是说,对密文数 据库的加密数据,如果需要进行求和、求平均值等操作,必须解密所有数据 后进行相应的操作,然后将数据重新加密后再存入数据库中。这样不仅增加 了查询等操作的空间开销,还无法做到敏感数据对用户的真正透明。 秘密同态是由r i v e s t 等人于1 9 7 8 年提出的,是允许直接对密文进行操作 的加密变换。但是由于其对对己知明文攻击是不安全的,后来由d o m i n g o 做 6 哈尔滨工程大学硕十学位论文 一r i 置薯i 昌宣i 墨i i i i 暑i 宣i 宣苗i i ;i i ;宣i i i ;暑;昌宣i ;i j i i i 暑暑置皇j 置宣i i 叠j 了进一步的改进。秘密同态技术最早是用于对统计数据进行加密的,由算法 的同态性,保证了用户可以对敏感数据进行操作但又不泄露数据信息。秘密 同态技术是建立在代数理论之上的,其基本思想如下: 假设历,和代表加密、解密函数,明文数据空间中的元素是有限集合 m 1 , m 2 ,坛) ,若a ( e , i ( m 1 ) ,e k i ( m 2 ) ,e k l ( m , , ) ) = e k d f l ( m 1 ,m e 尥) ) 成立,且 d k 2 ( a ( e k j ( 蝎) ,e k l ( m 2 ) ,e k l ( m n ) ) ) = f l ( m l ,m e ,坛) 同时成立,其中反和代表运 算,则称函数族( e k l ,仇厶a , f 1 ) 为一个秘密同态。 1 。3 6 其它相关研究 目前,与之相近的研究还有使用随机数的和、多项式函数和存储桶的概 念进行加密。 1 随机数的和 目前有一个简单的方案1 ,用c = 二髟计算整数p 的加密值。其中弓 是由可靠随机数生成器足产生的第个值。不幸的是,在有大量的p 需要加密时, 对加密矽和解密c 的代价受到抑制。 一个更加严重的问题就暴露估计的脆弱性。由于两个加密值之间期望的 距离和相应的明文之间的距离成比例,明文的分布特性可以从加密值中推出。 假设给出了均匀分布和高斯分布两类输入分布,那么从两类分布的数据样本 中采用该方法获得加密值的分布后,对于任何一种输入分布,一旦输入分布 和密文分布按比例对应到o 和1 2 _ 间,每个存储桶中点的数量在明文分布和密 文分布中几乎是一样的。因此,密文和明文基本服从相同的分布。 2 多项式函数 采用一个严格递增的多项式函数序列来加密整数值“”,并保持其顺序。 这些多项式可以简单到一阶或二阶,其系数由密钥产生。一个整数值以下述 方式被加密:函数的输出是下一个函数的输入。相应的,一个加密值也可以 通过相反方法来进行解密。但是这个加密方法没有使用输入分布,加密值的 分布形状取决于输入分布的形状,因此通过加密值的分布形状猜测出明文的 大概分布范围。 7 哈尔滨- t 程大学硕士学位论文 3 存储桶 采用一个传统的加密方法对元组进行加密”,但是为每个属性值生成一 个存储桶编号。这个编号表示非加密值属于哪个分割,并可以索引。出现在 查询中的常数被相应的存储桶编号替代。很明显,查询的结果包含必须移除 的错误采样数,该操作要在解密后的一个后续处理过程中进行。这种过滤很 复杂,这是由于存储桶编号可能用于连接、子查询等操作。错误数据的数量 取决于包含分割的宽度。在一个粗糙分割的存储桶中“。后续处理操作是多 余的。在另一方面,一个好的分割却使得该方案的暴露估计很脆弱,尤其是 在相等宽度的分割下。 1 4 本文所做的工作 本文所做的工作主要有两点: ( 1 ) 实现了针对数值型数据及字符型数据的保持顺序加密算法。讨论了 o p e s ( o d e rp r e s e r v i n ge n c r y p t i o ns c h e m e ) 加密算法,在此基础上,提出了 保持顺序加密算法m o e s ( m a i n t a i no r d e re n c r y p t i o ns c h e m e ) 。m o e s 算法 可以对数值型数据及字符型数据加密,增加了目标分布函数的选择功能,优 化了存储桶数量的确定方法,并且对m o e s 算法的安全性及性能进行了分析。 ( 2 ) 设计实现了招投标系统的安全框架。针对招投标系统的特点,通过 传输和存储访问两个方面对数据库中的数据实现了安全控制,并且将m o e s 加密算法具体应用到招投标系统的数据库安全模块中。 1 。5 本文结构和组织 全文共分4 章,具体的结构为: 第l 章介绍本文的研究背景、意义、主要内容和组织结构。 第2 章首先介绍了数据库安全现状,并且说明了数据库加密的范围和要 实现的目标;然后介绍了数据库加密的技术原理,包括加密粒度的选择、加 密层次的选择和加密算法的选择等。最后介绍了数据库加密的相关问题,包 括存储加密和传输加密的区别、加密性能代价等。 第3 章在讨论o p e s 加密算法的基础上,提出了针对数值型数据及字符 8 哈尔滨工程大学硕士学位论文 型数据的保持顺序加密算法m o e s ,在加密数据类型、目标分布函数选择和 存储桶数目确定等方面进行了改进和优化,并对m o e s 算法的安全性和性能 进行了分析。 第4 章针对招投标系统的安全特点,在数据传输和数据存储访问两个方 面,通过身份认证、数据库加解密引擎和密钥管理等方法实现了数据安全性 控制,并且将m o e s 加密算法具体应用到数据库加解密引擎中。 9 哈尔滨工程大学硕士学位论文 第2 章数据库加密技术概述 随着信息技术的发展,对敏感数据的安全性要求越来越高。由于数据库 加密技术可以为d b m s 提供更高的安全性,因此得到广泛应用。下面对数据 库安全面临的问题、数据库加密要实现的目标、数据库加密的一般原理及数 据库加密的实现方法进行分析和阐述。 2 1 数据库安全现状 2 1 1 数据库的安全需求 面对外部攻击者可能造成的安全威胁,可以将数据库的安全需求归纳为 五个方面:数据的完整性、数据的保密性、用户鉴别、访问控制和安全审计。 下面详细的介绍一下这五个方面的具体需求: 1 数据的完整性 数据的完整性是指数据库中存储的数据和数据库系统在对外通信的过程 中,通过网络传输的数据不被未授权用户或者非法用户所修改。数据库系统 必须保证只有系统授权的用户才能对数据进行插入、修改和删除,以保证数 据库的一致性和真实性。 在物理完整性方面,要求从硬件和环境方面保护数据库的安全,防止数 据被破坏或不可读。例如,应该有措施以保证掉电时数据不会丢失或者被破 坏;存储介质损坏时数据的可利用性问题;还应该有防止各种灾害( 如火灾、 地震等) 对数据库造成的不可弥补的损失,应该有灾后快速恢复数据库的能 力。数据库的物理完整性与数据库所留驻的计算机系统的硬件可靠性及安全 性有关,也与环境的安全保障措施有关。 在逻辑完整性方面,要求保持数据库逻辑结构的完整性,需要严格控制 数据库的创建与删除、数据库表的建立、修改和删除的操作,这些操作只有 数据库管理员才能进行。逻辑完整性还包括数据库结构和数据库表结构设计 的合理性,尽量减少字段与字段之间、数据库表与数据库表之间不必要的关 l o 哈尔滨t 程大学硕士学位论文 i i 联,减少不必要的冗余字段,防止发生修改一个字段的值影响其他字段的情 况。 在元素完整性方面,元素完整性主要是指保证数据字段内容的正确性。 元素完整性需要由d b m s 、应用软件的开发者和用户共同完成。 2 数据的保密性 数据的保密性是指存储和通信过程中,数据不能被非授权用户窃取或修 改。首先,数据库只有对敏感数据进行加密存储,才能保证数据不被系统管 理员、非授权用户或外部恶意攻击者窃取或修改,即使数据不幸泄露或丢失, 也不易被解密。但是,加密敏感数据在防止对数据进行恶意攻击的同时也显 著的降低了数据库的访问效率。因此,需要解决数据保密性与可用性之间的 矛盾。其次,为保护数据在传输过程中不被非法截取,对传输过程中的数据 也需要实施加密保护措施。主要的方法是用户身份鉴别( 限制每个用户的访 问权限,从而可对其进行审计跟踪) 。 3 用户鉴别 用户鉴别是指根据用户提供的身份信息,判断其身份的合法性。这是防 止用户非法访问数据库的第一步。数据库系统必须进行严格的用户身份认证, 便于审计追踪和限制授权用户的访问。 4 访问控制 访问控制是指允许用户只能访问被授权访问的数据,以及限制不同的用 户有不同的访问模式。数据库系统必须指定具体数据的授权访问用户。用户 可能被授权读取、修改、删除或增加一个值、整个字段或记录,甚至是重组 数据库。 5 可审计性 可审计性是指能够对所有的数据库访问进行审计记录,以进行审计分析, 从而追踪到访问或修改过数据元素的用户。同时系统还可以根据审计记录采 取记录、报警或者关闭连接等必要措施,以阻止正在进行的非授权访问。 2 1 2 数据库的安全威胁 数据库在信息系统中的核心地位是数据库面临着更加严重的安全威胁。 哈尔滨工稃大学硕士学位论文 凡是可能造成数据库中存储数据错误( 遗漏、非授权的修改、删除等) 、数据 的非法获取、拒绝正常服务等行为都属于对数据库的安全造成了威胁。数据 库的安全威胁主要来自人为恶意攻击、自然灾害、设备故障或管理失误等。 其中对数据库安全威胁最大的是人为恶意攻击。恶意攻击将造成非法获取数 据、非法篡改数据和引发系统的拒绝服务等多种安全威胁。其攻击手段主要 有: ( 1 ) 非法用户通过窃取被授权用户的用户名、口令及密钥等手段访问其 未被授权访问的数据。 ( 2 ) 使用被授予访问权限的帐户来进行未被授权的操作,也就是合法用 户的越权行为。 ( 3 ) 绕过d b m s 直接对数据库文件进行读写。 ( 4 ) 利用病毒、特洛伊木马等破坏性程序,在特定的条件下,攻击者可 以绕过系统设置的安全机制进入系统以达到破坏和窃取数据的目的。 ( 5 ) 通过拒绝服务攻击,使服务器过载、崩溃,从而阻止合法用户对数 据的正常访问。 ( 6 ) 通过控制通信,例如错误信息的插入、故意的延时或无序传送等手 段通过网络进入系统窃取数据并进行破坏性操作。 ( 7 ) 在数据传输信道上采用搭线窃听、电磁接受、传输监控等手段窃取 数据。 2 2 数据库加密的范围 通过对明文进行复杂的加密操作,以达到无法发现明文和密文间、密文 和密钥间的内在关系,也就是说经过加密的数据经得起来自o s 和d b m s 的 攻击。另一方面,d b m s 要完成对数据库文件的管理和使用,必须具有能够 识别部分数据的条件。因此,只能对数据库中数据进行部分加密。 1 索引项宇段不能加密 为了达到迅速查询的目的,数据库文件需要建立一些索引。无论是字典 式的单词索引、b 树索引或h a s h 函数索引等,它们的建立和应用必须是明 文状态,否则将失去索引的作用。有的d b m s 中可以建立簇聚索引,这类索 1 2 哈尔滨t 程大学硕士学位论文 引也需要在明文状态下建立和维护使用。 2 关系运算的比较字段不能加密 d b m s 要组织和完成关系运算,参加并、差、积、商、投影、选择和连 接等操作的数据一般都要经过条件筛选,这种“条件 选择项必须是明文, 否则d b m s 将无法进行比较筛选。 3 表间的连接码字段不能加密 数据模型规范化以后,数据库表之间存在着密切的联系,这种相关性往 往是通过“外部编码”进行联系的,这些编码如果加密则无法进行表与表之 间的连接运算。 2 3 数据库加密要实现的目标 数据库加密之后,数据的管理和用户的访问都会发生相应的变化。加密 系统比一般数据库系统多了密钥和控制信息,基于密钥的算法“町通常有两类: 对称加密和非对称加密。要合理存储与使用这些信息以保证数据库的使用效 率和性能。因此,数据库加密要实现的目标是“: 1 字段加密 目前条件下,加解密的粒度是每个记录的字段数据。如果以文件或记录 为单位进行加密,必然会形成密钥的反复使用,从而降低加密系统的可靠性 或者因加解密时间过长而无法使用。只有以记录的字段数据为单位进行加解 密,才能适应数据库操作,同时进行有效的密钥管理并完成“一次一密 的 密码操作。 2 密钥动态管理 数据库客体之间隐含着复杂的逻辑关系,一个逻辑结构可能对应着多个 数据库物理客体,所以数据库加密不仅密钥量大,而且组织和存储工作比较 复杂。需要对密钥实现动态管理。通过密钥管理机制,保证数据库用户权限 的完整性和一致性。配合授权机制,达到保护敏感数据的目的。数据库加密 形成的密文数据库较明文数据库增加了密钥管理机制。数据库的加密粒度是 字段加密,会使用大量的加密密钥。这些密钥不可能由用户记忆和手工管理, 必须由密钥管理机制管理。 哈尔滨丁程人学硕士学位论文 3 合理处理数据 这包括几方面的内容:首先,要恰当的处理数据类型,否则d b m s 将会 因加密后的数据不符合定义的数据类型而拒绝加载;其次,需要处理数据的 存储问题,实现数据库加密后,应基本上不增加空间开销。在目前条件下, 数据库关系运算中的匹配字段,如表间连接码、索引字段等数据不宜加密。 文献字段虽然是检索字段,但也应该允许加密,因为文献字段的检索处理采 用了有别于关系数据库索引的正文索引技术。 4 身份认证与授权 一个数据库加密系统,其安全性是首要的,因此用户授权作为数据库管 理系统的重要功能在加密系统中也应该实现。数据库加密通过身份认证,确 认合法用户对数据库系统的访问,阻止非法用户访问。通过合理设计加密数 据的授权机制,即使是数据库系统管理员也得不到数据加密密钥,而不可能 解读非授权的数据信息。由于数据库管理员具有很高的权限,数据库加密要 求对用户的身份认证、授权机制进行重新设计。 5 不影响合法用户的操作 数据库系统在加密后不可避免的会增加响应时间,因为我们在存取数据 时需要额外的加解密操作,所以建立加密系统时,在保证安全的前提下,应 尽量使用实现较快的加密算法来建立简便的加密系统,使得加密系统的响应 时间在用户接受的范围内。此外,对数据库的合法用户来说,数据的录入、 修改和检索等操作应该是透明的,不需要考虑数据的加解密问题。 6 安全性 由于系统会反复使用,仅靠加密算法的保密很难保证信息的安全,所以 我们选取的加密算法的安全性应该只基于密钥的长度,而不基于算法或控制 机制的秘密。这样即使数据库入侵者能获取算法和控制机制,由于关键信息 都被足够长的密钥加密,就不能得到有效信息。当然,我们选择的算法本身 应该具有足够的抗分析破解能力。算法和密钥长度都有足够的抗分析破解能 力,这样的加密系统才是安全的。 1 4 哈尔滨工程大学硕十学位论文 2 4 数据库加密技术原理 2 4 1 加密粒度的选择 数据库的加密粒度是指数据加密的最小单位,主要有表、记录、字段等。 在数据库中执行加密时,加密粒度越小,则可以选择加密数据的灵活性就越 大,但是产生的密钥数量也越大,带来管理方面的问题。数据库中加密粒度 的选择要根据需要,充分衡量安全性和灵活性等需求。在选择的过程中,可 以只选择敏感数据进行加密,减少执行加密时消耗的资源和投入的费用。 加密粒度的选择可以是: ( 1 ) 属性值:每个元组的属性值可以单独加密,是可选的最小粒度。属 性值级加密的方法更为灵活,它的实现方式与字段级加密相似,但其密钥管 理将会更加复杂。 ( 2 ) 字段:可以仅仅加密属性的某些字段值。字段级加密是一个很好的 选择,因为在实际的应用程序中,一些敏感数据往往出现在关系中的某些字 段,如信用卡号、身份证号、银行账号等,只需要对这些敏感数据进行加密 保护,而没有必要对普通数据也进行加密。 ( 3 ) 记录:数据库表中的每个记录单独加密。加密时,记录中各字段值 连接在一起进行加密处理,加密后输出一列字符串。在实现记录级加密时, 通过调用专门的加密函数,对页面中记录进行加密。 ( 4 ) 页块:般自动加密处理时选择。需要加密的数据页块存储在硬 盘上,对整个页块进行加密。 加密粒度的选择有一个基本原则:避免加密非敏感数据。如果一个记录 只包含少数敏感字段,我们选择记录或块作为加密粒度,那么就会造成一定 的浪费。而如果整个表都是需要加密的敏感数据,那么,选择页作为加密粒 度效率会比较高。以文件或列为单位进行加密,一方面密钥需要反复使用, 加密系统的可靠性将会降低,另一方面加解密不必要的一些信息可能导致时 间会过长而无法使用。在目前条件下,加解密的粒度一般选择字段。 哈尔滨工程大学硕士学位论文 2 4 2 加密层次的选择 目前条件下,可以考虑在三个不同的层次上对数据库数据进行加解密。 这三个层次分别为:操作系统层( o s ) 、d b m s 内核层和d b m s 外核层。 1 操作系统层加解密 在o s 层,数据库以文件的形式存储在操作系统中,所以对数据库加密 就转化成对数据库文件加密。假设整个数据库数据仅存储在一个文件中,由 于o s 文件不可分割,加密非常容易实现,但同时存在以下几个问题: ( 1 ) 降低数据库响应的速度。当要读取或插入数据时( 可能只是一个数 据) ,都必须对整个数据库文件进行加解密,这样必然将影响数据库的响应速 度。 ( 2 ) 影响这个数据库系统的性能。这是因为频繁的加解密操作使得这种 加密方式造成严重的系统资源消耗。 ( 3 ) 降低加密系统的可靠性。这种加密方式只需一个密钥,但单一密钥 的反复使用大大降低了加密系统的可靠性。 ( 4 ) 由于加密是针对整个数据库的,所以数据库原有的权限控制、视图、 触发器等机制将很难实现,这会严重影响关系数据库的优势的发挥。 总之,在o s 层,无法辨认数据库文件中的数据关系,从而无法产生合 理的密钥,也无法进行合理的密钥管理和使用。所以,在o s 层对数据库文 件进行加密,对大型数据库来说,目前还难以实现。 2 d b m s 内核层加解密 d m b s 内核层加密,是指数据在物理存取之前完成加解密工作。在d b m s 内核层实现加密的过程( 见图2 1 ) 有如下特点渺”: 图2 1d b m s 内核层加解密关系 1 6 哈尔滨工程大学硕十学位论文 ( 1 ) 加解密执行时间:在数据存入数据库或从数据库中取出时,也即在 物理数据存取之前。 ( 2 ) 加解密执行主体:在d b m s 内部,由用户定制的或者d b m s 提供 的存储过程或函数执行。 ( 3 ) 加解密过程:在存储数据时,通过触发器调用加密存储过程对数据 加密,然后将密文数据存入数据库;在读取数据时,触发器调用相应存储过 程解密数据,然后读出结果。 ( 4 ) 加解密算法:由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 一般只提供 有限的加密算法与强度供选择,自主性受限。 通过上面的分析,可以对密钥存储进行改进,这样能够更好的利用这种 加密方式的优点。改进的方法是单独存储密钥或采用二级密钥管理策略。单 独存储密钥是将密钥存储在操作系统或者与数据库分离的独立存储媒质上, 而采用二级密钥管理策略则可以提高密钥安全性。 3 d b m s g i 核层加解密 在d b m s 外核层加密,是指加解密过程发生在d b m s 之外,d b m s 直 接管理的是数据信息加密后的密文。具体的加密过程如图2 2 所示。 在d b m s 外核层加密的过程中,加密定义工具模块的功能主要是定义每 个数据库表的加解密方式。当创建一个数据库表时,加密定义工具模块将对 其加密方式进行定义;数据库应用系统模块的功能主要是完成数据库的定义 和操作。数据库加密系统将根据加密要求自动完成对数据库数据的加解密。 1 7 哈尔滨工程大学硕十学位论文 加解密过程多数在客户端实现,也可以由专门的加密软件或者硬件实现。 图2 2d b m s 外核层加解密关系 与d b m s 内核层加密相比,d b m s 外核层加密具有以下优点:首先,由 于加解密操作都是通过客户端或者专门的加解密软硬件完成的,因此减少了 数据库服务器和d b m s 的运行负担;其次,由于加密密钥和加密数据可以分 开存储,提高了数据库加密系统的安全性:再次,由于是从客户端n i l e 务器 的配合,一次可以实现端到端的密文传输。但是,d b m s 外核层加密也存在 着一定的缺点,主要是对数据库操作的效率将有所降低。 4 不同层次实现数据库加解密的效果比较 下面对不同层次实现数据库加解密的方法进行比较。“: 在操作系统( o s ) 层执行加解密,数据库元素以及各元素之间的关系无 法辨认,所以无法生成合理的密钥并对其进行管理。一般在o s 层,数据库 文件要么不加密,要么对整个数据库文件进行加密,加解密操作不能合理执 行。尤其对于大型数据库来说,在操作系统层实现数据库加解密,目前还很 难有效的保证数据库的安全,因此在选择加密层次时一般不采用在o s 层进 行数据库加密。 在d b m s 层执行加解密,不会增加额外的处理负担,因此对d b m s 本 身性能影响较小;另外,实现了密钥与密
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030预约排班软件行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030防水夹克行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030锌球行业市场深度分析及前景趋势与投资研究报告
- 2025-2030铂合金行业市场发展分析及发展趋势与投资研究报告
- 2025-2030遥控无线电设备行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 周长-长方形周长(教学设计)-2024-2025学年三年级上册数学北师大版
- 小学一年级上册心理健康教育教学计划范文
- 九年级体育 教学设计(素质练习1) 人教新课标版
- 浙教版科学七年级上 第一章 第四节 科学测量 教学设计
- 快乐成长(教学设计)2024-2025学年三年级下册数学北师大版
- 前列腺癌临床路径(最全版)
- 国家旅游局新版团队出境旅游合同模板
- 油管保护盖板涵专项施工方案(共45页)
- 管道探伤焊口计算表
- 4S店三表一卡标准模板
- 南京地铁四号线风井主体结构施工方案
- 高中生物竞赛 第九章 染色体畸变课件
- 四年级下册《小数的意义和性质》整理和复习
- 弯板件冲压工艺及模具设计
- 土壤污染修复技术对比分析
- 3万高炉转炉混合煤气柜技术规程
评论
0/150
提交评论