(计算机应用技术专业论文)数据库分组加密算法的研究.pdf_第1页
(计算机应用技术专业论文)数据库分组加密算法的研究.pdf_第2页
(计算机应用技术专业论文)数据库分组加密算法的研究.pdf_第3页
(计算机应用技术专业论文)数据库分组加密算法的研究.pdf_第4页
(计算机应用技术专业论文)数据库分组加密算法的研究.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(计算机应用技术专业论文)数据库分组加密算法的研究.pdf.pdf 免费下载

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

文档简介

论文题目: 专业: 硕士生: 指导老师: 数据库分组加密算法的研究 计算机应用技术 黄玉蕾 罗晓霞 摘要 ( 鳓一 ( 签名) 笋墨垒 随着信息技术的发展,数据库技术得到了广泛的应用,促使业界人士对该项技术进 行更为深入的研究。在数据库技术中有很多研究领域,数据库加密就是其中一个重要的 研究方向,对它进行深入研究不仅有着重要的理论意义,而且有着极其重要的应用价值。 本文对分组加密算法中的一些典型算法进行了分析和总结,然后在这些适合数据库 的分组加密算法基础上提出了新的分组加密算法。 首先,给出了适合数据库的分组加密算法。通过对典型的分组加密算法r c 5 、r c 6 、 i d e a 三种算法从加密和解密过程、安全性、密钥、加密效率,数据库的加密实现上, 分析并得出了适合数据库的分组加密算法。 其次,提出了用于解决数据库加密问题的新的分组加密算法r c i 算法。通过对r c 6 轮函数中的非线性函数、四个寄存器的输入和输出轮变换的改进,提出了一种基于r c 6 的新的分组加密算法r c i 。该算法从加解密效率、算法的简洁性、可扩展性、执行效率 及安全性上与r c 5 、r c 6 算法进行了分析、比较与测试。测试结果表明,r c i 算法提 高了字内的混淆速度,加快了雪崩效应和扩散速度,增强了抗攻击的强度,能够快速对 数据库中数值型和字符型数据的加解密,实现了对字符型数据加密的问题。 最后,使用地质钻孔数据库对r c i 算法进行了实验,实现了该算法及数据库链接 中的关键技术。实验结果表明r c i 算法具有加密速度快、强度高、实现简单等特点, 能够满足数据库安全的要求,具有一定的实用性和推广性。 关键词:数据库;加密算法;分组密码:r c 6 算法 研究类型:应用研究 s u b j e c t gr e s e a r c ho nb l o c ke n c r y p t i o na l g o r i t h mi nd a t a b a s e s p e c i a l t y :t h ea p p l i c a t i o no fc o m p u t e r n a m e :h u a n g y u l e i i n s t r u c t o r :l u ox i a o x i a a b s t r a c t ( s i g n a t u ) 型兰竺塑! 丝丝, ( s i g n a t u 代) 垒丝翌茎! 垒里兰:塾 w i t ht h ed e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y ,d a t a b a s eh a sb e e na p p l i e dw i d e l y , w h i c ha t t r a c t sm o r ea n dm o r ep e o p l ea t t e n t i o nt or e s e a r c hd e e p l yo ni t a sw ek n o w ,d a t a b a s e h a sm a n yr e s e a r c hf i e l d s d a t ae n c r y p t i o ni so n eo fi m p o r t a n tr e s e a r c hs u b j e c ti nt h o s ef i e l d s d e e p l yr e s e a r c h i n go nt h i ss u b j e c th a sm o s ti m p o r t a n tt h e o r e t i c a lv a l u ea n da p p l i c a t i o nv a l u e i nt h i st h e s i s ,an e we n c r y p t i o nb a s e do na n a l y z i n ga n ds u m m a r i z i n gs o m ec l a s s i cb l o c k a l g o r i t h m sw a sp r o p o s e d f i r s t l y ,b yi n v e s t i g a t i n ge n c r y p t i o n a n d d e c r y p t i o n , s e c u r i t y ,s e c r e t - k e y ,e n c r y p t i o n e f f i c i e n c ya n di m p l e m e n t a t i o no ft h r e ec l a s s i c a le n c r y p t i o na l g o r i t h m sr c 5 ,r c 6a n di d e a , an e w a l g o r i t h mo fd a t a b a s ee n c r y p t i o nw a sp u tf o r w a r d s e c o n d l y ,an e wb l o c ke n c r y p t i o na l g o r i t h m ,r c - i ,w a sp u tf o r w a r db yi m p r o v i n gt h e n o n l i n e a rf u n c t i o n , f o u rr e g i s t e r si n p u ta n do u t p u tr o t a t i o na m o u n t so ft h er c 6 c o m p a r i n g r c i 、析t l lr c 5a n dr c 6f r o mf i v ea s p e c t s :t h ee f f i c i e n c yo fe n c r y p t i o na n dd e c r y p t i o n , t h e c o n c i s e n e s s ,t h ee x p a n s i b i l i t y ,t h ee f f i c i e n c yo fe x e c u t i o na n dt h es e c u r i t y ,t h ee x p e r i m e n t a l r e s u l t si n d i c a t e dt h a tr c ia l g o r i t h me n h a n c e st h eg a r b l es p e e d ,s p e e d su pt h ea v a l a n c h ea n d d i f f u s i o n , a n ds t r e n g t h st h er e s i s t a n ta b i l i t y i ta l s oc a l ls p e e du pt h ec h a ra n dn u m b e ro f e n c r y p t i o na n dd e c r y p t i o ni nd a t a b a s e f i n a l l y ,w ei m p l e m e n tr c ia l g o r i t h mi ng e o l o g yd r i l l i n gd a t a b a s e t h ee x p e r i m e n t a l r e s u l ti n d i c a t e st h a tr c - ih a sb e s tp e r f o r m a n c ei ne n c r y p t i o na n dh i 曲i n t e n s i t y i tn o to n l y s a t i s f i e st h ed e m a n do fd a t a b a s e ss e c u r i t y ,b u ta l s oi se a s yt or e a l i z e d t h e r e f o r ei th a sb e t t e r p r a c t i c a b i l i t ya n d w i d e ra p p l i c a t i o nr a n g e k e y w o r d :d a t a b a s ee n c r i p t i o na l g o r i t h m b l o c kc i p h e r sr c 6 a l g o r i t h m t h e s i s :a p p l i c a t i o nr e s e a r c h 西要柳技夫学 学位论文独创性说明 本人郑重声明:所呈交的学位论文是我个人在导师指导下进行的研究工作 及其取得研究成果。尽我所知,除了文中加以标注和致谢的地方外,论文中不 包含其他人或集体已经公开发表或撰写过的研究成果,也不包含为获得西安科 技大学或其他教育机构的学位或证书所使用过的材料。与我一同工作的同志对 本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。 学位论文作者签名:兹刁、蕾日期:加略每占j 日1 2 日 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位期 间论文工作的知识产权单位属于西安科技大学。学校有权保留并向国家有关部 门或机构送交论文的复印件和电子版。本人允许论文被查阅和借阅。学校可以 将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或扫描等复制手段保存和汇编本学位论文。同时本人保证,毕业后结合学位 论文研究课题再撰写的文章一律注明作者单位为西安科技大学。 保密论文待解密后适用本声明。 学位论文作者签名:袁互、学指导教师签名:丐铌殳 力嘶年莎月2 日 1 绪论 1 绪论 1 1 研究目的及意义 随着计算机技术的发展以及网络技术在我国的迅速普及,以网络和数据库为依托的 电子商务、电子政务已经得到了广泛的应用。众所周知,数据库系统担负着存储和管理 信息的任务,集中存放着大量数据,为众多用户直接共享,泄漏或破坏这些信息将会造 成企业瘫痪,给国家带来巨大的损失,甚至危及国家安全。据美国一位隐私保护顾问预 计,现在全球每年发生的数据失窃案大约在1 0 0 0 万起左右,损失可达5 3 0 亿美元 事实证明,保证数据安全性的最好方法是将数据加密【2 j 。欧美国家虽然提供了一些 加密产品,但很难保证其中没有陷阱,国内目前也没有真正有效的数据库加密软件。因 此,为了信息安全,开发一个安全、可靠的数据库加密系统已迫在眉睫。 为了保证数据库数据的安全,一种有效的方法就是对数据库中的敏感数据进行加密 处理。即使黑客可以通过隐蔽通道访问数据库,也无法获取加密密钥,从而数据信息得 到较高的保护。有时内部的安全隐患远远高于来自外部的威胁。来自内部网络的攻击根 本不用通过防火墙的检查而是直接面向数据库,因而从内部发起的攻击比外部发起的攻 击带来的威胁更大,这就使得我们越来越关注对内部数据库的加密,以及怎样更好的对 内部数据库的加密成为我们研究的重要问题。 在大型数据库系统中,数据库管理员( d a t ab a s ea d m i n i s t r a t o r ,d b a ) 权力至高无上: 一方面负责各项系统管理工作,例如资源分配、用户授权、系统审计等;另一方面可以 查询数据库中的一切信息。而在实际应用中,一般只要求系统管理员只做系统管理工作。 对于系统数据,尤其是其中的敏感数据要和普通用户级别一样,不能直接查看。因而要 求限制数据库管理员的权力。对数据库进行加密处理是限制数据库管理员特权的有效途 径。在数据库加密系统中,数据以密文格式存放,在没有解密之前,数据库管理员无法 获得明文数据,从而保障了数据的安全。 因此,数据库的加密问题不仅包括在传输过程中采用加密保护和控制非法访问,还 包括对存储的敏感数据进行加密保护,使得即使数据不幸泄露或者丢失,也难以造成泄 密。 1 2 国内外商用数据库加密的研究现状 o r a c l e 公司的产品o r a c l e8 i 中,允许在数据库中直接加密字符型( s t r i n g ) 数据、二进 制( b i n a r y ) 数据和备注型( l o b ) 数据,这些数据加密,都使用了内置的 d b m so b f u s c a t i o nt o o l k i t 包 3 1 ,完成加密任务。该包包含了加密函数 西安科技大学硕士学位论文 d e s e n c r y p t ( ) 和解密函数d e s d e c r y p t 0 。这些加解密函数在数据传入数据库管理系统之 前,对字段值进行加密。例如,当用户访问加密数据时,工具包对用户提供透明的访问 方式,首先检查用户的合法性,如果用户合法再产生密钥,选择加密数据并解密,最后 返回结果集给用户。o r a c l e9 i 支持a e s 加密算法【4 l 。但是,美国对安全出口产品管理很 严,在低于o r a c l e9 i 的版本里,只能支持5 6 位长度的密钥。由于密钥长度有限,不能 满足我国数据库加密的要求。 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 版和更高版本中继续使用该功能1 5 j 。具体来说,d b 2 u d b 支持c h a r 和v a r c h a r 数据的字段级加密,它采用加密算法是分组算法r c 2 , 密钥的长度为1 2 8 位,通过数字摘要算法m d 2 从加密口令获得,与用户认证口令是相 互独立。存储加密数据时,一种方式是在数据操作语句( d m l ) 通过显式调用加密函数 ( e n c r y p t ) ,另外一种通过触发器监视插j k ( i m e r t ) 和更新( u p d a t e ) 语句,自动完成数据加密 过程。读取加密数据时,不会自动完成解密,而是要求在选择语句( s e l e c 0 显式调用解密 函数。如果不提供口令,数据以加密形式从表中读出;如果口令是错误的,将返回错误的 结果。加密口令的改变是通过更新语句( u p d a t e ) 完成,首先使用旧的1 2 1 令解密数据,然 后使用新的口令重新加密数据。密钥管理的工作由用户或应用程序负责。这种方法支持 加密字段的索引,但是,由于索引是建立在密文而不是明文的基础上,功能受到许多限 制。比如说它不能支持加密数据的范围查询。 m i c r o s o f t 公司在s q ls e r v e r2 0 0 0 并没有提供内置的数据库加密功能。但是,在 w i n d o w ss e r v e r2 0 0 0 中包含加密文件系统( e f s 。e n c r y p t e df i l es y s t e m ) 6 。,可以用来对数 据库中的各种数据( 如触发器、存储过程、自定义函数和视图) 进行文件级加密,w i n d o w s x p 也同样支持e f s 功能。e f s 是对n t f s 文件系统的一种扩充,可以把n t f s 文件以 加密的形式存储在磁盘上。在e f s 中,通过w i n d o w sc r y p t o a p i 组件完成加密和解密功 能以及密钥管理。e f s 既包括对称加密算法,也包括公开密钥加密算法。在对文件内容 加密时,使用了对称的分组算法d e s x ,对应的密钥称为文件加密密钥( f e k , f i l e e n c r y p t i o nk e y ) ,在安全存放f e k 时,使用了公开密钥加密算法r s a ,公钥用于加密存 放f e k 的文件,私钥由用户保管,用于解密存放f e k 的文件。实际上,这种加密保护 是在操作系统一级对数据库中的数据进行保护,加解密过程对d b m s 、用户和应用程 序都是透明的。 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 版引入了数据库加密功能【。7 1 。 它支持数据库级加密,加密功能是建立在文件基础上,数据库的所有文件都以加密形式 存储,而且对于同一数据库,所有文件的加密密钥是相同的。加密使用的算法为a e s 和m d s r ,其中,a e s 为默认的,密钥由用户在创建数据库时指定,密钥长度为1 2 8 位。访问加密数据时,必须解密加密数据库的所有文件。它不支持对已经存在的数据库 2 1 绪论 进行加密处理,如果要加密,只有新建一个加密数据库,把原来数据库中的所有表重新 装载到新的数据库中。对于密钥的变更,也只能采取同样的方法。 总体来说,国外商用数据库的加密算法并不完善。存在密钥长度短、加密的索引问 题、加密操作复杂性高,通用性差,个别商用数据库并不提供加密功能等问题。最重要 的是国内还没有成熟的数据库加密算法,这使得国内数据库的加密研究显得极其重要。 国内数据库的研究状况: ( 1 ) 武汉华工达梦数据库有限公司的d m 4 t 8 j d m 4 的安全级别达到b l 级,部分达到b 2 级。d m 4 的安全管理就是为保护存储在 d m 4 数据库中的各类敏感数据的机密性、完整性和可用性提供必要的技术手段,防止 对这些数据的非授权访问、修改和破坏,并保证被授权用户能按其授权范围访问所需要 的数据。d m 4 的安全功能包括:基于角色的访问控制、自主存取控制、强制存取控制 和审计等。但是,d m 4 并不提供存储数据的加密。 ( 2 1 东软的o p e n b a s es e c u r e1 o 【9 j 东软集团有限公司中间件技术分公司凭借着多年积累的数据库系统的开发经验,在 大型数据库管理系统o p e n b a s e 的基础上,依据中华人民共和国国家标准 ( g b l 7 8 5 9 19 9 9 ) 计算机信息系统安全保护等级划分准则,同时参照t c s e c 和t d i 对b 1 级的要求进行设计,并结合o p e n b a s e 的具体特点,自主研究开发了符合安全标 记保护级的o p e r d 3 a s es e c u r e1 0 。在o p e n b a s es e c u r e 中可以根据不同用户的需要以 及数据库中数据的敏感度,提供加密接口,集成数据库存储和传输加密算法,从而保证 数据存储和传输的安全,进一步提高了数据的安全性,但是所采用的加密算法安全性不 高,需要进一步完善加密算法。 ( 3 ) 人大、北大、中软和华中合作研发的可信c o b a s e v 2 0 【lu 】 可信c o b a s ev 2 0 依据t c s e c 和t d i 对b 1 级的要求进行系统设计,实现了基本 上达到b 1 级安全性的功能性能。它支持多种的安全实现机制和用户认证机制,保证数 据安全,在d b m s 一级提供数据库用户的创建和鉴别。可信c o b a s e 不支持存储数据 加密功能。 ( 4 ) 北京神舟航天软件技术有限公司的神舟o s c a r i l l j 神舟o s c a r 实现了可靠的用户身份认证,支持自主存取控制和安全的网络连接, 并提供对d b a 、普通用户、数据对象和特定数据操作的各种安全审计。神舟o s c a r 还 对数据的存放和传输提供了多种加密机制以满足不同应用的要求。 1 3 本文的组织 论文其后的章节组织如下: 第二章,数据库加密技术的分析,这里主要分析数据库加密所需要考虑的一些问题。 3 西安科技大学硕士学位论文 首先,讨论了实现数据库加密的主要技术,包括了传统数据库加密技术和数据库加密要 实现的目标。然后,阐述了数据安全技术的含义,尤其针对数据的安全性进行了分析, 包括数据的保密性、完整性、可用性、真实性。其次,讨论了数据库加密时,如何选择 加密算法、加密粒度、加密层次及密钥的管理。最后,分析了数据库与操作系统的关系, 并指出了针对加密算法的攻击方法。 第三章,常用分组加密算法的原理及安全性分析。这里主要针对国际上典型的分组 加密算法进行原理上的分析,总结了各种算法的优点和缺点。分析了r c 5 分组加密算 法、r c 6 分组加密算法、i d e a 分组加密算法,并进行了算法的安全性分析。 第四章,提出了一种新型分组加密算法r c i 。首先介绍该算法的数学基础,同时对 r c i 算法所涉及到的操作进行描述,如密钥的分配,加密和解密算法。其次,将该算法 与国际典型分组加密算法r c 5 、r c 6 进行了比较分析。 第五章,r c i 算法在数据库上的实现。主要介绍了在铅锌地质数据库中,如何在 s q ls e r v e r 系统中实现了存储数据加密功能。首先对地质数据库进行需求分析,并建 立地质数据库。其次介绍了在实现加密功能时,关键技术的实现,如v e c t o r 对象的使用, 字符型和数字型混合数据加密的实现,数据库连接问题连接池技术。最后在c 拌中 实现了r c i 的加密和解密。同时给出了实验结果。 第六章,总结全文,并对今后的研究方向做出了展望。 4 2 数据库加密技术概述 2 数据库加密技术概述 2 1 数据库加密的主要技术 数据加密技术是一种重要的信息安全技术,它通过某种加密算法将明文数据变换成 只有经过解密才可读的密文数据,使未经授权的访问即使得到密文数据也不能解读其信 息。 虽然数据库中的数据最终是以文件的形式存储在物理介质上,但不能将整个数据库 作为文件加密。一般情况下,文件是作为一个整体来使用的。传统的文件存储加密时从 头至尾顺序执行,访问加密文件时再从头至尾进行解密。数据库操作最小的单位是一个 数据元素,对数据库的数据存储时,有可能是逐个数据元素的存储,或是一段元素;同 时数据库文件较为庞大,如果每次访问数据库都进行一次全文加解密,那么数据的存储 速度将非常的缓慢,在实际中是不可行的。 2 1 1 传统数据库加密技术 数据库是为某一核心目标服务的数据集合,为了这种目的,通常数据库采用一定的 模型( 网状模型、层次模型、关系模型等) 将应用数据进行抽象,然后以结构化的方式 进行存储。 传统数据加密技术包括以下三种: ( 1 ) 对称加密 也称为共享密钥加密。发送者和接收者双方使用相同的密钥。由于安全强度高,加 密速度快,是最常用的加密技术。主要的加密算法有r c 5 算法和r c 6 算法、r i j n d a e l 等算法。对称加密算法的优点:算法所用操作简单,数据的加密和解密都使用同一个密 钥,速度大大高于非对称加密,适合大量数据的加密和解密。缺点:由于使用相同的密 钥加密和解密数据,所有的数据发送方和接收方都必须知道或可以访问加密密钥,必须 将此加密密钥发送给所有要求访问加密数据的一方。所以在密钥的生成、分发、备份、 重新生成和生命周期等方面常存在安全问题。而公钥加密属于非对称加密,不存在密钥 的分发问题,因此在多用户和网络系统中密钥管理非常简单,但由于它主要基于一些难 解的数学问题,所以实现时算法复杂度高,速度慢。 ( 2 ) 非对称加密 又称为公钥加密。加密与解密双方使用不同的密钥,并且利用现有的技术和设备不 能从公钥推出私钥。常用的公钥加密算法是r s a ,它不但可以用来加密数据,还可用来 进行身份认证和数据完整性验证。 5 西安科技大学硕士学位论文 ( 3 ) 混合加密 为了充分发挥对称加密与非对称加密的优势,混合加密方案被提出。在混合加密方 案中,加密者首先利用一个随机生成的密钥和对称加密算法加密数据,然后通过使用接 收者的公钥把随机密钥进行加密,并与密文一起传送给接受者。接收者通过自己的私钥 首先解密随机密钥,再利用其解密密文。此方案既利用了对称加密速度快的特点,也利 用了非对称加密安全强度高的特性。 “一次一密”的加密是最安全的一种加密技术,加密者在每次加密时都使用与明文长 度一样的随机密钥,并且每个密钥都不重复使用。但在数据库加密中,由于密钥的产生 和保存都存在很大的困难,因此在实际应用中并不常用。 2 1 2 数据库加密实现的目标 与一般的数据加密和文件加密相比,由于数据库中的数据有很强的相关性,并且数 据量大,因此对它的加密要比普通的数据和文件加密有更大的难度,密钥管理更加困难。 目前,对数据库的加密方式主要分为软件加密和硬件加密。软件加密可以采用库外加密, 也可以采用库内加密方式。库外加密方式即采用文件加密的方法,把数据库作为一个文 件,把每一个数据块当作文件的一个记录进行加密。文件系统与数据库管理系统交换的 就是块号。库内加密就是按加密的粒度来进行加密,可以进行记录加密,也可以进行字 段加密,还可以对数据元素进行加密。数据元素加密时,每个元素被当作一个文件进行 加密。硬件加密是在物理存储器( 磁盘) 与数据库文件之间加一个硬件装置,使之与实 际数据库脱离,加密时只对专一磁盘上的数据加密。对数据加密的过程可将数据打乱, 仅允许经过授权的人员访问和读取数据,从而确保数据的保密性,是一种有助于保护数 据的机制。原始数据( 称为“明文”) 与密钥值一起经过一个或多个数学公式处理后,数据 就完成了加密。此过程使原始数据转为不可读形式。加密过的数据称为“密文”。为使此 数据重新可读,数据接收方需要使用相反的数学过程以及正确的密钥将数据解密。 数据库加密要求做到: ( 1 ) 加密解密速度要快,尤其是解密速度要快,使用户感觉不到加密解密时延和 系统性能变化; ( 2 ) 授权机制要尽可能灵活。在多用户环境中使用数据库系统,每个用户只用到 其中小部分数据。所以,系统应有比较强的访问控制机制,再加上灵活的授权机制配合 起来对数据库数据进行保护。这样既增加了系统的安全性,又方便了用户的使用; ( 3 ) 需要提供一套安全的、灵活的密钥管理机制。密钥是加密算法的核心部分, 对数据库采取加密技术来保证数据库安全性的同时,如何保证密钥本身的安全性又是一 件非常困难的事情【1 2 1 3 ,1 4 l 。在数据库管理系统中,由于数据的共享性和存储数据的持久 性等原因,要求更加灵活和安全的密钥管理机制【l o ,1 5 】。 6 2 数据库加密技术概述 ( 4 ) 不影响数据库系统的原有功能,保持对数据库操作( 如查询,检索,修改, 更新) 的灵活性和简便性。对加密数据查询时,系统需要先对所有加密数据进行解密, 然后才能进行查询。但是解密的操作时间代价很大,这样使得系统的性能急剧下降 【1 6 ,1 7 ,1 8 】 o ( 5 ) 加密后仍允许用户对数据库不同的粒度进行访问。 2 2 数据库加密技术中的关键问题 ( 1 ) 加密算法的选择 加密算法是数据加密的核心,加密算法本身的好坏直接影响数据库的安全和性能。 通常来说,加密算法有对称算法( s y m m e t r i ca l g o r i t h m ) 和非对称算法( a s y m m e t r i c a l g o r i t h m ) 。对称算法又叫传统密码算法,在对称加密中,只有一个密钥用来加密和解密 信息。在对数据库存储数据进行加密时,对称加密算法使用最为广泛。与非对称加密算 法相比,对称加密算法的速度快了几十甚至几百倍,对系统的性能影响较小。对称算法 又可分为两类:分组密码( b l o c kc i p h e r ) 和序列密码( s t r e a mc i p h e r ) 。分组密码是在明文分 组和密文分组上进行运算,分组长度通常为6 4 位,但有时更长。序列密码算法采用异 或的运算方法,将明文逐位转换为密文。在运算速度上,序列密码算法是分组密码算法 的两倍左右。但是,序列密码算法中的密钥序列不能重复,因为它的安全性依赖于简单 的异或运算,如果每次产生同样的密钥序列,对攻击者来说,破译该算法就非常容易。 所以在实际应用中,数据库中存储数据的加密一般采用分组密码算法。 目前数据库加密常用的算法有a e s ( a d v a n t e de n c r y p t i o ns t a n d a r d ) ,d e s ( d a t a e n c r y p t i o ns t a n d a r d ) ,3d e s ,r c 5 ,r c 6 等。本文主要是在r c 5 、r c 6 基础上,研究出 一种新的数据库加密算法。 ( 2 ) 加密的层次 可以考虑在三个不同层次实现对数据库数据的加密,这三个层次分别是操作系统层 ( o s ) 、数据库管理系统( d b m s ) 内核层和d b m s 外层。 在o s 层,数据库是以文件的形式存在的,可以按文件形式加密数据库。它的优点 是对数据库管理系统的特殊性要求比较少,实际上只要增加一个中间层负责加、解密数 据即可。但是由于在数据库操作时必须全部加或解密数据库,因此往往需要付出很大的 时空代价。所以,在o s 层对数据库文件进行加密,只适合较小型的数据库,对于大型 数据库来说,目前还难以实现【1 9 】。 d b m s 内核层实现加密,是指数据在物理存取之前完成加解密工作。这种方式势 必造成d b m s 和加密器( 硬件或软件) 之间的接口需要d b m s 开发商的支持。这种加密 方式的优点是加密功能强,并且加密功能“几乎”不会影响d b m s 的功能。但这种加密方 式并不适合当前我国实际情况,因为我们现在使用的大型数据库管理系统绝大部分是国 7 西安科技大学硕士学位论文 外产品,其内核技术对我们是保密的,实现这种加密方式难度是很大的。 数据库加密的目的是防止内部人员泄密,即数据库管理员、数据库系统维护人员等。 在整个数据库中,敏感数据的种类和数量并不多,一般不超过1 0 ,采用加密数据库对 系统性能的影响不大。数据库加密系统应实现加解密、定义加密要求、密钥管理等功能 1 2 0 1 0 ( 3 ) 加密的粒度 加密粒度是指加密的最小单位。数据库加密不同于一般文件和数据加密,数据库在 数据层次上分为数据库表、数据记录和数据项,所以数据库数据加密的加密粒度通常有 文件级、字段级、记录级和数据项级。加密单位越小,适用范围越广,但实现难度就越 大。根据应用时具体要求的不同,实现时应采用不同的方法。 基于文件的数据库加密技术把数据库文件作为整体,用加密密钥和加密算法对整个 数据库文件加密,形成密文来保证数据的真实性和完整性。利用这种方法,数据的共享 是通过用户用解密密钥对整个数据库文件进行解密来实现的。但在实际应用中,这种加 密方法可行性不高。首先,数据修改的工作将变得十分困难,需要进行解密、修改、复 制和加密四个操作,增大了系统的时空开销。其次,即使用户只是需要查看某一条记录, 也必须将整个数据库文件解密,这样无法对用户屏蔽无关信息,造成泄密。 基于字段的数据库加密技术,就是以数据表中的不同记录作为基本加密单元进行加 密。该方法可以对数据库中单个数据元素进行加密。由于数据库系统中每条记录所包含 的信息具有一定的封闭性,即从某种程度上说它独立完整地存储了一个实体的数据,其 优点在于具有最小的加密粒度,具有更好的灵活性和适应性。这种方法的基本思路是: 在各自密钥的作用下,将数据库的每一个记录加密成密文并存放于数据库文件中;记录 的查找是通过将需查找的值解密成明文后进行的。 ( 4 ) 密钥的管理 在网络通讯系统中,每次通讯的会话密钥是动态产生的。会话一旦结束,本次会话 密钥也就失去作用,可以被清除掉。而数据库中数据是长期存放的,数据的加密密钥不 可能随用随清。如何产生和保护这些密钥,做到在从产生到消亡这段长时间内确保不会 被泄漏,这就对密钥的管理提出了更严格的要求。数据库客体之间隐含着复杂的逻辑关 系,一个逻辑结构可能对应着多个数据库物理客体,所以数据库加密不仅密钥量大,而 且组织和存储工作比较复杂,需要对密钥实现动态管理。 若用数据库密钥对单个数据元素重复加密,对于密文搜索攻击是脆弱的,若各字段 的数据元素分别用不同的密钥加密,则密钥个数= 记录个数字段个数1 2 ,其量是非常 惊人的,而对这么多的密钥进行管理是一件非常困难的事情。所以选择一种合理的密钥 管理方法是字段加密的关键所在。一般比较现实的方法是对一个字段使用一个加密密钥 加密,在密钥的管理上采用多级密钥管理,即再使用一个二级密钥对数据密钥进行加密, 8 2 数据库加密技术概述 以提高加密的安全强度并便于密钥的管理。 2 3 攻击加密数据库的方法 数据库加密后,数据以密文形式存在,但是这并不代表加密数据就安全可靠,攻击 者没有办法获取任何明文信息。通常来说,攻击加密数据库的方法有以下几种: ( 1 ) 获取密钥 在现代加密算法中,一旦获取了密钥,就能解密存储的密文而直接获得其对应的明 文值。获取密钥的途径有多种,一种最直接的途径是由于密钥管理不好而导致密钥泄漏; 另一种途径是攻击者通过常用的密码分析方法,如唯密文攻击 2 2 1 ( c i p h e r t e x t o n l ya t t a c k ) 、 已知明文攻击【3 2 1 ( k n o w n p l a i n t e x t a t t a c k ) 、选择明文攻击【3 2 】( c h o s e n p l a i n t e x t a t t a c k ) 、自适 应选择明文攻击【3 2 1 ( a d a p t i v e c h o s e n - p l a i n t e x ta t t a c k ) 等获取密钥。 ( 2 ) 对比明密文攻击 在对比明密文攻击中,分析者不仅可以得到一些消息的密文,而且也知道这些消息 的明文。数据库中,由于字段值存在重复的特征,如果采用相同算法和密钥进行加密, 那么,攻击者能够利用这种对应关系推导密文所对应的明文。 ( 3 ) 字典式攻击 编制一些可能出现的数据,用加密算法对这些数据进行加密,并将结果存储起来。 然后把它与密文进行比较,观察那个能够匹配,从而找出密文所对应的明文。前者的作 用相当于字典,所以把这种攻击方法称为字典式攻击。在数据库中,字段值具有特定的 数据类型,而且字段值还可能符合一些约束条件,这为编制字典提供了极大的方便,使 得这种攻击方法在数据库更为常见。 ( 4 ) 统计攻击 通常来说,明文数据呈现一定的概率分布,经过加密处理后,密文数据也会具有相 近的概率分布。利用这样一种特性,攻击者可以对密文发动统计攻击,以一定的置信度 获得明文信息。首先,对密文数据进行统计,得到它的概率分布。同时,攻击者还需要 知道明文数据的概率分布,通过比较两种概率,找出比较接近的概率对,很可能根据密 文推导出相应的明文。 进一步地,我们对这几种方法进行分类。第一类为精确攻击,攻击者能够准确地获 得密文对应的明文。第二类为猜测攻击,攻击者能够以一定的置信度猜测某一密文值所 对应的明文值,或者明文值所落在的范围。在数据库加密中,由于字段值存在重复和长 度短的特点,更容易实施这种攻击。 对加密数据库的攻击方法很多,本文给出了一些常见的攻击方法,随着加密技术在 数据库中应用的深入,攻击的方法也将会越来越多。 9 西安科技大学硕士学位论文 3 典型分组密码的安全性分析 3 1r c 5 分组密码 r s a 公司的r i v e s t 于1 9 9 4 年设计了迭代分组密码r c 5 2 引。分组长度2w ,密钥长 度b 和轮数,都是可变的。简记为r c 5 w r b 。r c 5 具有两个新颖的特点,其一是计算 部件的输入长度灵活可变,因此明文分组长度、密钥长度、迭代轮数是可变的;其二是 使用了依赖于数据的循环移位,这一部件与其它部件组合,使得输入与输出的关系大大 复杂化。它主要通过基于数据而变化的循环移位运算来实现数据的扩散和混淆。每次循 环移位的位数都依赖于输入的明文,事先不可预测。r c 5 算法中没有非线性的置换表, 循环移位是唯一的非线性运算,r c 5 的强度主要依靠与明文有关的数据循环移位。另外 算法中的异或操作提供了加密时的雪崩效应,即一个明文输入块中一位的改变会引起后 续轮中数据的多位改变,这集中体现了r c 系列算法的特点。 该密码既适合于软件实现又适合于硬件实现,具有运行速度快、强度高、易于实现 的优点。假定明文块、密文块都是6 4 ,此时,加密用到由密钥产生的2 ,+ 2 个子密钥: & ,s i ,e o e9 s 2 ,+ l 其中,是轮数,墨的规模为3 2 比特,i = 0 ,l ,2 厂+ l 。把输入分成a ,b 两个 部分,各3 2 比特。按l i t t l ee n d i a n 规定,a 的第一个字节进入寄存器a 的低位,第4 个字节进入最高位。 一个特定的r c 5 表示为r c 5 w r b ,其中w 是r c 5 中数据运算单位“字”的长度( 通 常有w = 1 6 ,3 2 ,6 4 ) ;r 是迭代轮数;b 是密钥种子按字节的长度( 即密钥种子为bb y t e 长,或8 bb i t 长) 。r c 5 的明文分组长度为2 w ,将其分为两个字进行运算。r c 5 的字运 算部件有以下4 种: ( 1 ) 逐比特异或“0 ”; ( 2 ) ( m o d2 w ) 加法“+ ”; ( 3 ) 字的循环左移) 【 ,y ”,其中x 和y 都是字,x , 、y ”,其中x 和y 都是字,桫y ,表示将字x 循环右移, 移动的位数是y 的低l 0 9 2 ( w ) 位的值。 r c 5 是参数变量的分组算法,实际上是由三个参数确定的一个加密算法组。一个特 定的r c 5 可以表示为i 地5 w r b 。其中这三个参数w 、r 和b 分别按照表3 1 所列定义1 2 4 1 1 0 3 典型分组密码的安全性分析 表3 1r c 5 算法的参数 3 1 1r c 5 分组密码加解密过程 加密算法 a i 斛s o b = b + s l f o rf = 1t o ,d o b e g i n a - ( ( a o b ) “ b ) + s 2 j b 2 ( ( b o a ) a ) o a a = ( ( a - s 2 ,) b ) o b e n d b = b s la = a - s o 、为向右旋转移位为向右旋转y l t 特。“一”为m o d 2 w 的减法。 3 1 2r c 5 算法安全性分析 r c 5 算法是一个非常快的分组密码,它设计简单、广泛使用了数据相关的循环移位 的思想,具有很强的抵抗攻击的能力。但是它处理1 2 8 位分组块时采用了2 个6 4 位的工作 寄存器,而a e s 不支持6 4 位操作,故存在效率和简洁方面存在不足【2 6 1 。 r c 5 是一种新的算法,但r s a 实验室花费了相当的时间来分析6 4 位分组的算法,在5 轮候的统计特性看起来非常好。在8 轮时,每个明文至少影响一个循环。对5 轮的r c 5 算法,。差分攻击需要22 4 个选择明文;对1 0 轮需要24 5 个;对1 2 轮需要2 5 3 个;对1 5 轮需要 2 鹋个。当然这里仅有2 6 4 个可能明文,所以该攻击对1 5 轮或以上的r c 5 是失败的。在6 西安科技大学硕士学位论文 轮时线形分析就是安全的,r i v e s t 推荐至少1 2 轮,甚至可能1 6 轮【2 7 】。这个轮数可以变化。 从混淆性和扩散性能出发,逐比特异或运算与( r n o d 2 w ) 加法运算的组合存在明显的 漏洞【2 8 1 ,比如当a 和b 取值为l 的分量不重合时,a ob = a + b ;又比如当a 和b 的低 位取值为1 的分量不重合时,aob 的低位等于a + b 的低位。但是如果再加入运算 “x y ”,混淆和扩散性能将大大改善,围绕r c 5 的许多论文已经发表1 2 9 3 3 1 。尽管还没 有发现对r c 5 的任何一种实用攻击,然而这些论文都提供了一些理论方的攻击方法。 这些攻击一般都基于这样一个事实,即运算x y ”中循环左移的位移量并不取决于y 的所有比特。 差分密码分析是以色列密码学家e l ib i h a m 和a d is h a m i r 于1 9 9 0 年提出,是迄今已 知的攻击迭代密码( 所谓迭代密码就是一迭代一个简单的轮函数为基础的密码,即通过 选择某个较为简单的密码变换,在密钥控制下以迭代方式多次利用它进行加密变换) 最 有效的方法之一,其基本思想是:通过分析明文对的差值对密文对的差值的影响来恢复 某些密钥比特。 r c 5 的一个显著特点就是它对数据循环移位的使用。移位量是由输入数据所确定的 随机值,预先都不是可知的。r c 5 的安全性依赖于旋转操作和多种运算的混合使用。攻 击r c 5 ,可以去攻击原始的秘密钥也可以攻击其扩展密钥表s ,基于后者的差分分析, 攻击是与秘密钥的长度无关的。当轮数r 很小时,对r c 5 的差分分析是很有效的0 4 j ,它 可以恢复扩展密钥表的每一个比特。当r = 9 时,攻击r c 5 3 2 所需的选择明文对是2 4 5 ( 与 1 6 轮d e s 相同) ,而当r = 1 2 时,需2 6 2 个明文对。当轮数很大时,差分攻击所需的明 文个数就已大得不现实了。因此,当r = 1 2 时,r c 5 足以抗击差分分析。详细对r c 5 加 密算法的差分分析可参阅文献1 4 4 1 。 3 2r c 6 分组密码 r c 6 是作为a e s ( a d v a n t e de n c r y p t i o ns t a n d a r d ) 的候选算法提交给n i s t 的一种新 的分组密码。它是在r c 5 的基础上设计的,以更好地符合a e s 的要求。 r c 6 秉承了r c 5 的设计简单、广泛使用数据相关的循环移位思想,同时增加了抵抗 攻击的能力,改进了r c 5 中循环

温馨提示

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

评论

0/150

提交评论