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

下载本文档

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

文档简介

论文题目:网络数据库的加密技术研究与应用 专业:计算机应用技术 硕士生:朱斌( 签名) 指导教0 i g :薛弘晔( 签名) 摘要 作为数据存储的“仓库”,数据库的安全性无疑在计算机信息安全中占有举足轻重的 地位。而对数据库数据进行加密,则是保护数据库信息安全的重要手段之一。因此对加 密技术在数据库中应用的研究,有着十分重要的现实意义。现有的数据库加密方式多是 单级加密,本文提出了一种多级加密的方法,这是一种不同于现有加密方式的全新理念。 首先,本文对数据库加密技术和密码技术进行了详细研究,主要从加密层次和加密 解密过程对典型密码技术进行研究。 其次,本文在密码技术和数据库加密技术研究的基础上,对加密关系模式、密钥的 管理和加密保护进行了研究,针对流行的s q l 注入攻击数据库的方法进行了详细的介 绍,并且提出了解决办法。 最后,设计出一个二级加密方式,第一级对用户的数据库口令采用m d 5 力i 密,第二级 对存储于数据库中的口令密文表再进行一次m d 5 j h 密。这种加密方式可以提高数据库中 口令的安全性。 系统的实现过程中,以e c l i p s e 3 1 和t o m c a t5 0 为开发工具,在开发过程中贯彻了面向 对象的编程思想。系统分为若干功能模块,各功能模块有机的结合形成了一个整体的加 密系统。最后对文章进行了分析,并对未来的工作进行了展望。 关键词:加密数据库;非对称加密算法;s o l 注入;m d 5 加密 研究类型:应用研究 s u b j e c t :n e t w o r kd a t a b a s ee n c r y p t i o nt e c h n o l o g yr e s e a r c ha n d a p p l i c a t i o n s p e c i a l t y :c o m p u t e ra p p l i c a t i o nt e c h n o l o g y n a m e:z h ub i n i n s t r u c t o r :x u eh o n g y e a b s t r a c t ( s i g n a t ur e ) ( s i g n a t u r e ) z 从易讥 a st h ed a t as t o r a g e ”w a r e h o u s e ”a n dt h es e c u r i t yo ft h ed a t a b a s ei nt h e c o m p u t e r i n f o r m a t i o ns e c u r i t yw i l lu n d o u b t e d l yo c c u p ya p i v o t a lp o s i t i o n a n dd a t ae n c r y p t i o no nt h e d a t a b a s e ,t h ed a t a b a s eo fi n f o r m a t i o ns e c u r i t yi st op r o t e c to n eo ft h ei m p o r t a n tm e a n s s ot h e e n c r y p t i o nt e c h n o l o g yi nt h ed a t a b a s ea p p l i c a t i o no ft h er e s e a r c hh a sav e r yi m p o r t a n t p r a c t i c a ls i g n i f i c a n c e m o s to ft h ep a s ta n de x i s t i n gd a t a b a s e e n c r y p t i o nm e t h o di s s i n g l e - l e v e le n c r y p t i o n ,t h ep a p e rp r o p o s e sam u l t i l e v e le n c r y p t i o nm e t h o d s t h i si sd i f f e r e n t f r o mt h ee x i s t i n ge n c r y p t i o nm e t h o do fn e wi d e a s f i r s t ,t h i sd a t a b a s ee n c r y p t i o nt e c h n o l o g ya n dp a s s w o r dc a r r i e do u td e t a i l e dt e c h n i c a l s t u d i e s ,m a i n l yf r o mt h ee n c r y p t i o na n dd e c r y p t i o na n de n c r y p t i o nl e v e lo ft h et y p i c a lp r o c e s s o f c r y p t o g r a p h i ct e c h n i q u e st os t u d y s e c o n d l y , t h ep a p e ri nc r y p t o g r a p h ya n dd a t a b a s ee n c r y p t i o nt e c h n o l o g yo nt h eb a s i so f t h ee n c r y p t i o nm o d e l s ,k e ym a n a g e m e n ta n de n c r y p t i o np r o t e c t i o nf o rt h er e s e a r c h , d a t a b a s e a t t a c k sa g a i n s tp o p u l a rm e t h o d si nd e t a i l ,a n dm a d eas o l u t i o n f i n a l l y , t h ed e s i g no fas e c o n d a r ye n c r y p t i o nm e t h o d ,t h ef i r s tl e v e lo ft h eu s e r s p a s s w o r dd a t a b a s eu s i n gm d 5e n c r y p t i o n ,t h es e c o n d 1 e v e ls t o r a g ei nt h ed a t a b a s eo f p a s s w o r d st a b l et om a k ea n o t h e rm d 5e n c r y p t i o n t h i se n c r y p t i o nm e t h o dc a ni n c r e a s et h e d a t a b a s ep a s s w o r ds e c u r i t y 7 t h ei m p l e m e n t a t i o no ft h es y s t e mi no r d e rt oe c l i p s e 3 1t o m c a t5 0a n dd e v e l o p m e n t t o o l si nt h ed e v e l o p m e n tp r o c e s sb yi m p l e m e n t i n gt h ei d e a so f o b j e c t - o r i e n t e dp r o g r a m m i n g s y s t e mi sd i v i d e di n t oan u m b e ro ff u n c t i o n a lm o d u l e s ,t h em o d u l e so r g a n i cc o m b i n a t i o no f a no v e ra l le n c r y p t i o ns y s t e m s f i n a l l y , t h ea r t i c l ew a s a n a l y z e d ,a n dt h ef u t u r e k e yw o r d s :d a t a b a s ee n c r y p t i o n a s y m m e t r i c a le n c r y p t i o na l g o r i t h m s q li n j e c t i o n m d 5e n c r y p t i o n t h e s i s :a p p l i c a t i o nr e s e a r c h 乓料技大学 学位论文独创性说明 本人郑重声明:所呈交的学位论文是我个人在导师指导下进行的研究工作及 其取得研究成果。尽我所知,除了文中加以标注和致谢的地方外,论文中不包含 其他人或集体已经公开发表或撰写过的研究成果,也不包含为获得西安科技大学 或其他教育机构的学位或证书所使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中做了明确的说明并表示了谢意。 学位论文作者签名柰斌、 日期炒夕哦即 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位期间 论文工作的知识产权单位属于西安科技大学。学校有权保留并向国家有关部门或 机构送交论文的复印件和电子版。本人允许论文被查阅和借阅。学校可以将本学 位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存和汇编本学位论文。同时本人保证,毕业后结合学位论文研究课 题再撰写的文章一律注明作者单位为西安科技大学。 保密论文待解密后适用本声明。 学位论文作者签名:宋斌 指导教师签名:酉趴呼 指导教师签名:1 ,奢扒m 孑 矽吵年伊月矽日 1 绪论 1 1 选题背景 1 绪论 在当今社会中,随着计算机网络技术和数据库技术的飞快发展,信息安全问题,尤 其是网络数据库的安全问题在人类社会活动、经济活动中起着越来越重要的作用。网络 数据库安全问题已经成为影响国家全局和长远利益的急待解决的重大关键问题。网络数 据库安全不但是发挥信息革命带来的高效率、高效益的有力保证,而且是对霸权、抵御 信息侵略的重要屏障。 随着i n t e r n e t 技术越来越多地融入现代信息系统的开发,信息安全逐渐成为现代信 息系统中的重要组成部分,同时也是近年来计算机领域的研究热点。作为计算机系统的 核心软件,数据库管理系统( d b m s ) 担负着集中存储和处理大量信息的任务。因此,数 据库系统容易成为黑客攻击的重要目标。传统地,物理安全和操作系统安全机制为数据 库提供了一定的安全措施和技术,但这些方法并不能全部满足数据库安全的需求,特别 是无法保证一些重要部门( 如政府、金融、国防) 和一些敏感数据( 如信用卡、身份证、个 人的医疗信息) 的安全。造成不安全的一个主要原因是因为原始数据以可读形式存放在 数据库中。一旦某一用户非法获取用户名和口令,或者绕过操作系统( 或d b m s ) 的控制 入侵到系统中,可以访问和修改数据库中的信息。据人民网2 0 0 2 年6 月9 日报到,苏州市 某省级重点中学的计算机教师罗某,在5 月1 8 同向江苏省教育厅会考办的考试服务器发 动了攻击,他以黑客的身份两次闯入会考办的考试服务器,一共删除全省中小学信息技 术等级考试文件达1 0 0 多个。同样地,存储数据介质( 如磁盘、光盘、磁带等) 丢失也会导 致数据库中的数据泄漏。例如,在加拿大的多伦多,e b a y 网站公开拍卖一个磁盘,磁盘 中有数百个银行客户的一些记录。这是由于银行在处理旧的磁盘设备时,没有删除其中 的数据就把它作为废旧设备卖给了e b a y 。此外,数据库中数据的完整性和真实性没有办 法解决。如果我们对数据库中的数据进行加密处理,那么就上述问题可以得到解决,即 使某一用户非法入侵到系统中或者盗得数据存储介质,没有相应的解密密钥,他仍然不 能得到所需数据。所以数据库加密处理对于保证数据的安全性具有非常重要的意义 数据库是计算机领域发展最快的学科之一i l 】;因为它既是一门非常实用的技术,也 是一门涉及面广、研究范围宽的学科。数据库系统所管理、存储的数据是各个部门宝贵 的信息资源。在信息化时代来临、i n t e m e t 高速发展的今天,信息资源的经济价值和社会 价值越来越明显。建设以数据库为核心的信息系统和应用系统,对于提高企业的效益、 改善部门的管理、改进人们的生活均具有实实在在的意义。正因为数据库技术与经济、 社会的发展和信息化建设有着密切的关系,数据库技术和网络技术联系起来,这门学科 西安科技大学硕士学位论文 才获得了巨大的源动力和深厚的应用基础。 自从2 0 0 2 年加入w t o 以来,我们国家正在经历着信息化的变革,渐渐融入国际社会 经济贸易体系。国家信息化发展的良好开局预示着我国面对的将是一个更加开放的数字 化、网络化和信息化的发展环境,经济全球化以及信息技术与网络技术的高度融合发展 将给我国带来历史上难得的发展机遇。信息化水平的提高给我们带来巨大机遇的同时, 也将严峻的挑战摆在我们面前。由于信息系统本身的脆弱性和同益复杂性,加之社会发 展的不稳定因素,我国面临的信息安全问题逐渐凸现,直接影响到国民经济正常运行和 社会的稳定。因此,信息安全,尤其是其中的网络数据库的安全在国家的经济和社会发 展中起着至关重要的作用。数据库存储了大量的、即时或历史的数据信息,它们将是整 个系统的重要资源。后台数据库的访问控制问题将成为整个系统研发过程中非常重要的 一环。 本文针对网络数据库在信息安全中的重要地位,对网络数据库安全性进行研究。 1 2 网络安全研究现状 网络安全技术是伴随着网络的诞生而出现的,但直n 8 0 年代末才引起关注,9 0 年代 在国外获得了飞速的发展。近几年频繁出现的安全事故引起了各国计算机安全界的高度 重视,计算机网络安全技术也因此出现了同新月异的变化。 目前,计算机网络安全领域的主要研究问题包括1 2 】: ( 1 ) 安全协议理论和技术; ( 2 ) 安全结构体系理论和技术; ( 3 ) 网络安全和安全产品; ( 4 ) 密码理论和技术; ( 5 ) 信息安全对抗理论和技术; ( 6 ) 网络协议标准理论和技术。 同时,作为一个全方位的计算机网络安全体系结构,网络安全领域的研究问题,则 包括网络的物理安全、访问控制安全、系统安全、用户安全、信息加密、安全传输和管 理安全等,而具体可用的便有主机安全技术、身份认证技术、访问控制技术、密码技术、 防火墙技术、安全审计技术、安全管理技术、系统漏洞检测技术、黑客跟踪技术等。 1 3 网络数据库安全研究现状 随着网络技术在社会各个领域的广泛应用,网络数据库安全与传统意义上的数据库 安全概念已有所区别。传统数据库安全是指数据库本身所提供的安全。然而在互联网时 代,网络数据库与网络有着非常大的联系,网络数据库所面对的安全威胁,则变为基于 网络对数据库中信息的窃取、篡改和破坏、计算机病毒、特洛伊木马等对数据库系统的 2 1 绪论 渗透、攻击行为。这个问题只能靠网络安全技术加以解决。 到目前为止,计算机领域的人,除了对上述基本问题进行研究外,还对一些特殊的 网络数据库安全措施进行了研究。例如:身份认证、数据库访问授权、日志记录和客户 端密钥存储等一些安全措施。 当今社会上,很多集体和个人对一些问题进行了具体的研究: 研究数据库管理系统的安全性:目前在计算机应用领域广泛使用的美国大型数据 o r a c l e ,s y b a s e ,s q ls e r v e r 均是数亿甚至百亿美元的投入,他们的强大功能在相当时间内 是国产数据库所难以替代的。因此,对这些数据库安全性的研究变的非常重要。目前, 很多人进行这方面的研究。 研究数据库数据加密【4 】:对一些重要部门或敏感领域的应用,仅靠数据库管理系统 ( d a m s ) 所采取的措施难以完全保证数据的安全性,某些用户尤其是一些内部用户仍可 能非法获取用户名、口令字,或利用其他方法越权使用数据库,甚至可以直接打开数据 库文件来窃取或篡改信息。因此,有必要对数据库中存储的重要数据进行加密处理,以 实现数据存储的安全保护。目前的d a m s 对数据库的加密问题基本都没有经过仔细考 虑,如果在d a m s 层考虑这一问题,那么数据库加密将会出现新的格局。 研究数据库审计系统:数据库的安全不仅仅依赖于管理系统的访问控制等设置,事 后的审计追踪对数据库的保护也有重要意义。虽然数据库管理系统本身提供了审计功 能,但仅仅只是对审计数据进行记录,以供事后查询。而要想做到实时控制,就要依靠 审计系统。这种系统指的是能够在篡改事件发生时自动发现,使审计功能达到高度自动 化。国外已经有对各种数据库系统都适用的数据库审计系统,如d ba u d i te x p e r t2 0 【7 j , 能够自动记录改动前和改动后的数据,进行及时恢复,并且对现在各种流行的数据库都 能适用。目前我国的审计系统还处于起步阶段,对于审计的数据量以及相应速度与国外 相比都有一定的差距。 研究身份认证问题,设计的系统要求对用户进行角色分类,根据角色的不同对用户 提供相应的身份认证。在网站内部,数据库对于操作平台是丌放的,因此对网站操作采 用基于智能卡的口令认证方案进行认证;对普通用户采用数字签名的口令认证技术。研 究角色存取控制授权问题,根据用户的角色,系统授予用户不同的使用数据库的权限。 研究访问审计跟踪问题惮j 。对每次访问或试图访问数据库的行为进行记录,并跟踪 记录与安全性有关的操作。即:操作类型( 查询、修改、添加、删除) ,操作终端标识 与操作者标识,操作日期和时间。 总的来说,我国的网络数据库安全研究起步晚,产业化投入较少,力量分散,与技 术先进国家有差距,自主的数据库安全设备不能满足国家信息化的需求,国外高安全级 的安全产品对我国实行封锁禁售。然而我国的网络信息安全研究毕竟已具备了一定的基 础和条件,尤其是作为信息安全的核心技术密码学研究方面积累较多,基础较好。随着 3 西安科技大学硕士学位论文 国家对数据库安全重视程度的提高,加大投入,恰当组织,相信可以取得实质性的进展。 总之,随着网络和数据库技术的发展,网络数据库安全性问题在现在已经变的越来 越重要,网络数据库的安全同益成为近年来倍受关注的问题之一。 1 4 论文的体系结构 第一章绪论本章介绍了现在国内外的数据库安全研究现状的情况,特别是国外现 在数据库的加密技术的具体研究。 第二章数据库加密技术本章介绍了加密数据库的基本要求以及数据库加密层次。 第三章密码技术本章首先对密码学进行简单的介绍,然后,从加密解密两个方面, 详细介绍了d e s 、r s a 、m d 5 算法。 第四章数据库加密系统的分析与设计本章介绍了加密字符串存储与查询的体系 结构,并且介绍了字符串数据查询算法、密钥的管理、s q l 注入。 第五章数据库口令二级的m d 5 j h 密的实现本章详细介绍了数据库口令的m d 5 j h 密的系统的实现。 第六章总结全文本章对工作进行了总结并对今后的研究方向做出了展望。 4 2 数据库加密技术 2 1 概述 2 数据库加密技术 随着电子商务的兴起,数据的安全问题被提到前所未有的高度。一方面,企业本身 需要对自己的关键数据进行有效的保护;另一方面,越来越多的企业开始从应用服务提 供商( a p p l i c a t i o ns e r v e rp r o v i d e r , a s p ) 处获得应用支持和服务,在这种情况下,企业的业务 数据存放在a s p 处,其安全性无法得到有效的保障。因为传统的数据库保护方式是通过设 定口令字和访问权限等方法实现的,这就留下一个很大的安全漏洞一d b a 可以不加限制 地访问数据库中的所有数据。解决这一个问题的关键是要对数据本身加密,即使数据的存 储时间比较长,相应密钥的保存时间也随着数据生命周期而定。若所有数据使用同一密钥, 则保密性差,若不同的元组采用不同的密钥,则密钥太多,造成管理复杂【8 】。因此,不能 简单采用一般通用的加密技术,而必须针对数据库的特点,研究响应加密方法和密钥管理 方法。在多级安全加密数据库管理系统中,提供了密码控制手段来保护数据库中存储的重 要数据。 大型数据库管理系统的运行平台一般是w i n d o w sn e t 和u n i x ,这些操作系统的安全 级别通常为c 1 ,c 2 级。它们具有用户注册、识别用户、任意存取控制( d a c ) 、审计等 安全功能。虽然d b m s 在o s 的基础上增加了不少安全措施,例如基于权限的访问控制等, 但o s 和d b m s 对数据库文件本身仍然缺乏有效的保护措施,有经验的网上黑客会绕道而 行,直接利用o s i 具窃取或篡改数据库文件内容。这种隐患被称为通向d b m s 的“隐秘 通道 ,它所带来的危害一般数据库用户难以觉察。分析和堵塞“隐秘通道”被认为是 b 2 级的安全技术措施。对数据库中的敏感数据进行加密处理,是堵塞这一“隐秘通道 的有效手段【8 1 。 据有关资料报道,8 0 的计算机犯罪来自系统内部。在传统的数据库系统中,d b a ( 数 据库管理员) 的权利至高无上,他既负责各项系统管理工作,例如资源分配、用户授权、系 统审计等,又可以查询数据库中的一切信息。为此,不少系统以种种手段来削弱系统管理 员的权利。实现数据库加密以后,各用户( 或用户组) 的数据由用户自己的密钥加密, d b a ( 数据库管理员) 获得的信息无法进行正常脱密,从而保证了用户信息的安全。另外, 通过加密,数据库的备份内容成为密文,从而能减少因备份介质失窃或丢失而造成的损 失。由此可见,数据库加密对于企业内部安全管理,也是不可或缺的 9 1 。 西安科技大学硕士学位论文 2 2 加密数据库的基本要求 2 2 1 加密粒度的选择 数据库加密的粒度一直是一个令人困扰的问题。一般来讲,数据库加密的粒度可以有 三种:表,记录和数据项。 ( 1 ) 表级加剖8 】 表级加密是在表一级进行加密,加密解密的对象是整个表。这种加密方法完全是照 搬操作系统中文件的加密方法,用于数据库的加密显然是不合适的。 ( 2 ) 记录级加密【8 】 记录级加密是在表一级上进行,即记录加密方法。它将数据库中的记录看成操作对 象,统一作加密解密处理。这种方法比第一种能更好地保证数据的安全,使用时较为方便, 但其灵活性不高。 ( 3 ) 数据项加密 9 1 第三种方法则是直接对数据库记录中的各个数据项进行加密,即数据项加密( 也称 字段加密) 的方法。这种方法的安全性和灵活性最高,也最为复杂。 数据项加密方法与记录加密方法相比,具有较高的效率。例如,在记录加密方法中, 为了对记录中的某些属性进行操作,必须先将整个记录脱密,然后取出特定的数据项进行 运算。这显然将严重影响整个数据库的处理能力。而在数据项加密方法中,可以直接对 特定的数据项进行解密,从而提高了系统的效率。数据加密通过对明文进行复杂的加密操 作,以达到无法发现明文和密文之间、密文和密钥之间的内在关系。但是,d b m s 要完 成对数据库文件的管理和使用,必须要具有能够识别部分数据的条件。因此,只能对数据 库中数据进行部分加密。以下几种字段不能加密【1 0 j : ( 1 ) 索引字段不能加密 为了达到迅速查询的目的,数据文件需要建立一些索引,不论是字典式的单词索引、 b 树索引或者h a s h 函数索引等,它们的建立和应用必须是明文状态,否则将失去索引的 作用。 ( 2 ) 关系运算的比较字段不能加密 d b m s 要组织和完成关系运算,参加并、差、积、商、投影、选择和连接等操作的数 据一般都要经过条件筛选,这种“条件 选择项必须是明文,否则d b m s 无法进行比较 筛选。 6 2 数据库加密技术 ( 3 ) 表问的连接码字段不能加密 数据模型规范化以后,数据库表之间存在着密切的联系,这种相关性往往是通过“外 部编码”联系的,这些编码若加密就无法进行表与表之间的连接运算。 2 2 2 加密算法的选择 由于加密最早是因保密通讯的需要而产生的,现有的加密算法几乎都是针对通讯的 特点而设计的,至今还没有专门用于数据库加密的加密算法。我们只有根据数据库系统的 特点,将现有的加密算法应用到数据库加密中来。由于在数据库中,数据需要长期存放,长 度是固定的,我们采用的是高强度的块加密算法,有关加密算法的选择在第三章将作详细 分析。 2 2 3 密钥的管理 在网络通讯系统中,每次通讯的会话密钥是动态产生的。会话一旦结束,本次会话密 钥也就失去作用,可以被清除掉。而数据库中数据是长期存放的,数据的加密密钥不可能 随用随清。如何产生和保护这些密钥,做到在从产生到消亡这段长时间内确保不会被泄露, 这就对密钥的管理提出了更严格的要求【l 们。数据库客体之间隐含着复杂的逻辑关系,一 个逻辑结构可能对应着多个数据库物理客体,所以数据库加密不仅密钥量大,而且组织和 存储工作比较复杂,需要对密钥实现动态管理。 2 2 4 时空上的开销 数据库加密所带来的最大不利因素就是会引起数据库系统效率的降低。数据库系统 的最大特点是对数据要进行频繁的检索,并且查询速度要快。对数据库加密后,频繁的数 据查询操作将导致需不停地对数据库中的数据进行解密,从而使查询速度受到影响。处理 不当,会使得数据库的响应时间变得不可忍受,数据库加密也就失去了意义。另一方面, 数据加密后,有可能造成密文空间的扩展,同时,密钥的存放也需要占用一定的存储空间, 这些都给系统带来了空间上的额外丌销。事实上,效率问题,特别是时间开销问题,是影 响数据库加密的最重要的因素。此外,对数据库的合法用户来说,数据的录入、修改和检 索操作应该是透明的,不需要考虑数据的加解密问题l l 训。 针对上述这四个问题,我们研制加密系统时,采用了以下几种方法【1 9 】: ( 1 ) 加密采用数据项加密方法,即字段加密方法; ( 2 ) 数据项加密算法采用d e s 力i 密算法; 7 西安科技大学硕士学位论文 ( 3 ) 数据项密钥采取随机生成的方式; ( 4 ) 数据项加密密钥用m d s j f l 密算法产生的公钥加密存储; 2 3 数据库加密的层次 我们可以考虑在三个不同层次实现对数据库内数据的加密,这三个层次分别是o s 、 d b m s 内核层和d b m s 外层【2 0 1 。 2 3 1 在操作系统层次对数据库加密 数据库中的数据最终还是存在操作系统的文件中,所以对数据库加密的一种可能方 式是转化为对数据库文件进行加密。但显而易见,这种方式是不可取的。假设整个数据 库中的数据仅存储在一个文件中( 每个表对应与一个独立的操作系统文件系统的情形也 类似) 。由于操作系统文件是不可分割的,所以这种加密方式虽然非常易于实现,但是会造 成以下问题【2 0 1 ( 1 ) 为了读取某个或某些数据,就必须对整个加密的数据库进行解密;而有数据需要 插入,也必须对整个加密数据库解密,加入新的数据,然后又对数据库进行加密。这样的 系统响应速度显然不可接受。 ( 2 ) 而且,这种对整个数据库进行加密的方式必然会造成频繁的加解密操作。考虑到加 解密操作是消耗一定系统资源的操作,所以这种方式也一定会对整个数据库系统的性能 造成严重影响。 ( 3 ) 频繁的加密解密操作都使用到相同的密钥,必然会形成密钥的反复使用,从而降 低加密系统的可靠性。 ( 4 ) 由于加密是针对整个数据库来做的,关系数据库原有的权限控制视图触发器等机 制将很难实现,这会严重影响关系数据库的优势的发挥。 总的来说,在操作系统层,无法辨认数据库文件中的数据关系,从而无法产生合理的密 钥,也无法进行合理的密钥管理和使用。所以,在操作系统层对数据库进行加密,对于大型 数据库来说,是没有实际意义的。 2 3 2 在d b m s 内核层实现加密 在d b m s 内核实现加密的优点是加密功能强。这种加密方式如图2 1 所示。 数据库经过多年的发展之后,具有了一个比较稳定的架构。而如果采用修改d b m s 8 2 数据库加密技术 内核的方式来建立加密数据库系统,必然需要在数据库中建立一些内置的、基本的加解 密原语,进而创立出带有加解密功能的数据库定义语句( d l l ) ,带有加解密功能的数据库 操纵语句( d m l ) 。商用数据库厂商对修改d b m s 内核持谨慎态度。因为商用数据库一 般都有着大量的用户。大范围地改动d b m s 会给数据库厂商带来很大的风险。如果由 我们采取这种方式来修改d b m s 内核,存在的问题更加难以解决,因为修改d b m s 内核的 工作量也是不可低估的,而且这种方式必然需要d b m s 开发商的全力支持。考虑到现实的 因素,这种方式也是不适合我们的。 图2 id b m s 内核层加密关系图 2 3 3 将数据库加密系统做成d b m s 的一个外层工具 比较实际的做法是将数据库加密系统做成d b m s 的一个外层工具( 如图2 2 所示) 。 图2 2d b m s 外层加密关系图 9 西安科技大学硕士学位论文 图2 2 中,“加密定义工具”模块( 实际对应着在下面要提到的加密字典管理程序) 的主要 功能有两个: 定义如何对每个数据库表数据进行加密。在创建了一个数据库表之后,通过这一工具对 该表的加密特点进行定义: 定义哪些用户对加密数据具有合法访问的权利。而“加密器 ( 实际上对应着在后 面将要提到的数据库加解密引擎) 根据加密要求自动完成对数据库数据的加解密采用这 种加密方式时,某些加解密运算可以放在客户端进行,其优点是不会加重数据库服务器。 1 0 3 密码技术 3 密码技术 采用密码技术是保护信息安全的主要手段之一。密码技术自古有之,到目前为止,已 经从外交和军事领域走向公开,并且是结合数学,计算机科学,电子与通信等诸多科学于一 身的交叉学科。它不仅具有保证信息机密性的信息加密功能,而且具有数字签名,身份验 证,秘密分存,系统安全等功能。所以,使用密码技术不仅可以保证信息的机密性,而且可以 保证信息的完整性和正确性,防止信息被篡改,伪造和假冒。 3 1 密码学简介 3 1 1 密码学基础 在密码学中,需要通过加密加以保护而进行变换的原报文称为明文。明文经过变换成 为一种不可直接辨读的隐蔽形式称为密文。明文与密文的关系2 5 1 : c = e k ( m ) m = d k ( c ) 其中: c 是密文,m 是明文,参数k 叫做密钥。 e 是加密或加密过程:完成明文到密文的变换过程。 d 是解密或解密过程:是加密的逆过程,即由密文恢复出明文的过程。 对明文进行加密时所采用的映射函数或变换规则称作加密算法。 对密文进行解密时所采用的( 逆) 映射函数或者( 逆) 变换规则称作解密算法。 加密和解密操作通常在密钥的控制下进行,在近代密码体系中加密密钥和解密密钥 可以是不同的【2 7 1 。 3 1 2 密码学原理简介 数据私密性要求被存储或传输的数据是经过加密变换的,达到即使信息载体( 数据编 码) 被第三者窃取或窃听到,都无法或难于侦查得信息的实际内容的目的。保证数据的私 密性是编码技术的最高目标,其技术核心是在加密密钥k e 的控制下按照加密算法e 对 要保护的数据( 即明文m ) 进行加密映射为密文c ,使攻击截取者无法理解它的实际含义, 记为c = e ( m ,k e ) 。而解密是在解密密钥k d 的控制下按照解密算法d ( e 和d 是相互 匹配) 对密文c 进行逆变换后还原为明文m ,记为m = d ( c ,k d ) ,其原理见图3 1 : 西安科技大学硕士学位论文 图3 1 普通加密解密过程 3 2 加密技术 加密技术可分为对称密钥密码技术和非对称密钥密码技术,对称密钥密码技术要求 加密解密双方拥有相同的密钥。而非对称密钥密码技术是加密解密双方拥有不相同的密 钥,在现在计算机应用水平下,加密密钥和解密密钥在计算机上是不能相互算出的。下面 分别介绍这两种技术的代表性算法:数据加密标准d e s ( d a t ae n c r y p t i o ns t a n d a r d ) 和r s a 公钥密码【2 引。 对称加密技术有一个明显的优势,就是a n 解密速度快,适合于对大量的数据加密。 3 2 1d e s 密码算法 d e s 是一种分组密码。它的基本思想源于信息理论创始人香农发表的保密系统 的通信理论中的两个概念:混乱和扩散。在混乱技术中,通过改变一小段信息可以使得 输入位与输出位没有明显的关系。扩散技术则试图使明文中一位的影响能扩散到密文中 的其它多位。将两个相对较弱的密码技术联合起来使用将得到更强的保密性,因此,d e s 算法的基础就是移位变换和替代变换两种不同的密码技术交替使用。 假定明文m 和密钥k 都是6 4 位比特的0 ,1 符号串。设 m = m lm 2 m 6 4 k = k 1k 2 k 6 4 其中:m i ,k i = 0 或li = l ,2 ,6 4 说明:密钥只有5 6 比特有效,k 8 ,k 1 6 ,k 2 4 ,k 3 2 ,k 4 0 ,k 4 8 ,k 5 6 ,k 6 4 这8 位是奇偶校 验位在算法中不起作用。 3 2 2d e s 加密过程 在d e s 加密流程图中,共有1 6 次迭代过程。现将第i 次迭代过程描述如下: l i = r i - l r i = l i 1of ( r i - i , k i ) ,其中l i 1 和r i 1 分别是第i 1 次迭代结果的左右两部分, 1 2 3 密码技术 各3 2 比特l o ,是初始输入经置换的结果o 是按位作不进位加法运算。k i 是由6 4 位密 钥产生的4 8 位子密钥,f 的功能是将3 2 比特的输入转换为3 2 比特的输出: 图3 2 d e s 加密流程图 1 3 西安科技大学硕士学位论文 3 2 3d e s 解密过程 在上面讨论的加密处理中,下列关系是成立的: l i = r i 1 r i = l i 1of ( r i i ,k i ) 这两个等式表明每次迭代的结果仅依赖前一次的加密。由此可推断: r i 1 = l i l i 1 = r iof ( r i 1 ,k i ) 将代入式又有: ( 9l i 1 = r iof ( l i ,k i ) 由此可见,d e s 算法是可逆的。在d e s 算法中,使用同一函数f 既可以正向加密 又可以反向进行解密,唯一的变化是解密过程中密钥必须按逆序使用。即d e s 解密过程 表达如下: d e s = i p - 1 t i t 2 。t 1 5 t 1 6 i p 3 2 4r s a 密码算法 r s a 是由三位发明者r i v e s t ,s h a m i r , a d l e m a n 的第一个字母联合构成的。它的依据 是著名的欧拉定理:若整数a 和m 互素,a 中( m ) 三1m o dm 。其中( m ) 是比m 小, 与m 互素的正整数个数。 r s a 公钥密码由下面几个要素构成的: 取两个素数p 和q ( 保密) 。 计算n _ p 宰q ( 公开) 。 计算( n ) = ( p 一1 ) ( q 一1 ) ( 保密) 。 选取整数e 满足( e ,( n ) ) = 1 ,即e 和中( n ) 互素,e 公开。 计算d 满足d e = 1 ( n ) ,d 保密。 加密算法:已知明文m ,c d ( m ) = m 。m o dn 解密算法:m - - d ( c ) 三c dm o d n 3 2 5m d 5 密码算法 m d 5 的全称是m e s s a g e d i g e s ta l g o r i t h m5 【2 2 】( 信息摘要算法) ,m d 5 是一种不可 逆的算法,即对生成的密文求逆,对应着无穷个逆。在9 0 年代初由m i tl a b o r a t o r yf o r c o m p u t e rs c i e n c e ( i t 计算机科学实验室) 和r s a d a t as e c u r i t yi n c 2 9 1 ( r s a 数据安全 公司) 的r o n a l dl r i v e s t 开发出来,经m d 2 、m d 3 和m d 4 发展而来。它的作用是 让大容量信息在用数字签名软件签署私人密钥前被“压缩 成一种保密的格式( 就是把 1 4 3 密码技术 一个任意长度的字节串变换成一定长的大整数) 。不管是m d 2 、m d 4 还是m d 5 ,它们 都需要获得一个随机长度的信息,并产生一个1 2 8 位的信息摘要。虽然这些算法的结构 或多或少有些相似,但是m d 2 的设计与m d 4 和m d 5 完全不同,是因为m d 2 是为 8 位机器做过设计优化的,而m d 4 和m d 5 却是面向3 2 位的电脑。这三个算法的描 述和c 语言源代码在i n t e m e tr f c s1 3 2 1 3 4 1 中有详细的描述,这是一份最具权威的文档, 由r o n a l dl r i v e s t 在1 9 9 2 年8 月向1 e f t 提交。m d 5 广泛用于加密和解密技术上。 比如在u n i x 系统中用户的密码就是以m d 5 ( 或其它类似的算法) 经加密后存储在文 件系统中。当用户登录的时候,系统把用户输入的密码计算成m d 5 值,然后再去和保 存在文件系统中的m d 5 值进行比较,进而确定输入的密码是否正确。通过这样的步骤, 系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性,这不但可 以避免用户的密码被具有系统管理员权限的用户知道,而且还在一定程度上增加了密码 被破解的难度。 正是因为这个原因,现在被黑客使用最多的一种破译密码的方法就是一种被称为 跑字典”1 3 0 j 的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另 一种是用排列组合方法生成的,先用m d 5 程序计算出这些字典项的m d 5 值,然后再 用目标的m d 5 值在这个字典中检索。我们假设密码的最大长度为8 个字节,同时密 码只能是字母和数字,共2 6 + 2 6 + 1 0 = 6 2 个字符,排列组合出的字典的项数则是 p ( 6 2 ,1 ) + p ( 6 2 ,2 ) + + p ( 6 2 ,8 ) ,那也已经是一个天文数字了,存储这个字典就需要t b 级的 磁盘阵列,而且这种方法还有一个前提,就是能获得目标账户的密码m d 5 值的情况下 才可以。这种加密技术被广泛的应用于u n i x 系统中,这也是为什么u n i x 系统比一般 操作系统更为坚固一个重要原因。 ( 1 ) m d 5 在注册信息中的应用 m d 5 算法的不可逆性在实际应用中产生什么作用呢。这里我举一个例子:我们到 银行取钱输入密码时,一般是源码被存近了银行的主机,如果银行的内部人员或黑客侵 入到数据库,很轻易地就窃取了你的源码。如果输入源码后,立即用m d 5 加密,把所得 密文储存进系统。而以后用户每次仍是自己输源码,但我们只需比对m d 5 密文即可。系 统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。由于m d 5 不可逆,所以m d 5 密文无论被谁知道都无法窃得源码。现在大多数网站的数据库系统储 存密码时都是使用m d 5 算法加密。 ( 2 ) m d 5 在数据库中的应用 网站往往将用户的账号,密码等信息使用非加密的方式存到数据库,账号使用类为 v a r c h a r 的u s e r c o u n t 字段,同样,密码也是采用v a r c h a r 的p a s s w o r d 字段,但如果 采用加密方式存储密码信息,就必须改变密码字段p a s s w o r d 的类型为了6 位二进制方 式,但m d 5 是单次加密算法,加密以后的信息不可以解密,所以如果用户丢失密码, 西安科技大学硕士学位论文 任何人很难找到用户原来的密码。这时, 密码的功能。另外采用这样的加密方式, 重新注册。 网站失去了很重要的功能,就是获取已忘记的 必须完全修改以前的用户资料,要求用户完全 此外,m d 5 还应用于8 0 2 1 x 3 2 】认证中,e a p m d 5 认证采用m d 5 算法,用户密码 不以明文方式在网上传输,从而保证了认证信息的安全。另外,大家比较熟悉的即时通 信软件m y i m 也使用m d 5 算法。利用m d 5 算法来进行文件校验的方案,被大量应用 在软件下载站点、论坛数据库和系统文件安全等方面。 ( 3 ) m d 5 算法的基本原理 m d 5 算法【2 5 】以5 1 2 位分组来处理输入文本,每一分组又划分为1 6 个3 2 位子分组 算法的输出由4 个3 2 位分组组成,将它们级联形成一个1 2 8 位散列值。 第1 步:填充 m d 5 的第1 步是在原消息中增加填充位,目的是使原消息长度等于一个值,即比 5 1 2 的倍数少6 4 位。例如,如果原消息长度为1 0 0 0 位,则要填充4 7 2 位,使消息长 度为1 4 7 2 位,因为6 4 + 1 4 7 2 = 1 5 3 6 ,是5 1 2 的倍数( 1 5 3 6 = 5 1 2 3 ) 。 这样,填充后,原消息的长度为4 4 8 位( 比5 1 2 少6 4 ) ,9 6 0 位( 比1 0 2 4 少6 4 位) ,1 4 7 2 位( 比1 5 3 6 少6 4 位) ,等等。 图3 3m d 5 加密填充过程 图3 3 填充过程,例如,可以是4 4 8 位( 4 4 8 = 5 1 2 6 4 ) 或9 6 0 位( 9 6 0 = 2 5 1 2 一6 4 ) 或1 4 7 2 ( 1 4 7 2

温馨提示

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

评论

0/150

提交评论