基于对称密码的数据库检索系统设计.doc
《基于对称密码的数据库检索系统设计.doc》由会员分享,可在线阅读,更多相关《基于对称密码的数据库检索系统设计.doc(43页珍藏版)》请在沃文网上搜索。
1、 【摘 要】随着计算机和各种智能设备的普及,各种各样的信息数据呈现出爆炸式的增长,信息的安全已成为大家十分关注的问题。作为信息的最重要的一个载体数据库的安全成为人们关注的焦点。作为数据库安全的核心,数据库加密技术能有效的弥补传统数据库安全手段的不足。本课题主要研究基于对称密码的数据库检索系统,利用DES和AES加密技术实现对数据库中数据的加密,设计了可视化操作界面,在界面上可以对数据进行增加、删除、修改,实现了对数据库中明文、密文的检索并统计了检索效率。加密技术提供高质量的数据保护,加密程序具有一定的复杂性。结果表明:AES加密算法的安全性及检索效率均高于DES加密算法。【关键字】 数据加密
2、DES AES 数据检索【Abstract】With the development of computer and many other intelligent devices, all kinds of information and data is growing at high speed. Information security has attracted more and more peoples attention. As the carrier of information, database has become the focus of us. As the core o
3、f database security, database encryption technology can effectively compensate for the lack of traditional database security methods. This paper mainly studies the database retrieval system based on symmetric cipher. DES and AES encryption technology is used to encrypt the data in the database. Visu
4、al interface is designed on witch we can add, delete and modify data. Last but not least, the retrieval of plaintexts and cipher text is achieved. At the same time, retrieval efficiency is count. Encryption technology can provide high-quality data protection and has high complexity. The result shows
5、 that AES is much safer and more efficient than DES.【Keywords】 Data Encryption DES AES Database Retrieval目 录前 言11 绪论31.1 DES加密算法31.2 AES加密算法41.3 数据库安全与隐私保护51.4 章节安排72 数据库安全技术分析82.1 数据库安全可采用的技术82.2 数据库系统保护92.3 数据库的加密层次102.4 数据库加密技术要求102.5 加密数据库的国内外研究现状113总体设计153.1 编程环境介绍153.2 设计思路与功能164 基于对称密码的数据库检索实
6、现194.1 加密算法部分的实现194.2 成绩检索及效率检测实现224.3 其他模块实现244.4 所实现功能的演示操作265 检索效率统计及结果分析295.1 效率统计的具体实现295.2 效率统计的结果分析31结 论32致 谢34参考文献35附 录37前 言随着网络技术的不断发展,计算机在社会生活的许多方面都得到了应用。然而在计算机给人们的工作和生活带来方便的同时,各种安全隐患也应运而生了。为了提高网络系统的安全性能,人们采用了许多保护手段,如:在系统中增加防火墙和入侵监测系统等,但是这些措施仍然不能避免系统遭受破坏,不能完全保证系统的安全性。数据库系统作为信息系统的核心部件,数据库文件
7、作为信息的聚集体,显然其安全性将是信息系统安全性的重要指标。使用没有安全保证的数据库,一个信息系统不可能具有高的安全性能。所以,数据库的安全问题已成为信息安全领域的主要研究课题之一。为了提高数据库的安全性能,数据库厂商也提供了许多安全措施,目前大型数据库ORACLE、SYBASE都提供了有关的用户标识和鉴定、存取控制、视图、审计功能、数据库备份与恢复等基本安全技术。然而这些功能显然是不够的,这些安全技术只能满足一般的数据库安全应用,而对于高度敏感性数据,数据库系统所提供的安全性措施难以保证数据的安全性,数据库中数据是以明码文方式存放的,只要黑客避开了系统认证,进入到数据库系统中,他就可以盗取或
8、修改数据库中他需要的任何数据。此外,威胁数据库安全的并不完全是外部人员,系统内部的管理人员或企业内部职员对数据库安全的威胁更大,此时防火墙、入侵检测等防护措施没有任何作用,他们很容易实现对数据库的拷贝、修改等操作,从而给企业造成重大损失。另外,数据库管理系统的运行平台一般是Windows和Unix,DBMS(database management system)和这些操作系统的安全级别通常为C2级。它们对于数据库文件缺乏有效的保护措施,突破了操作系统的访问控制,就可以直接窃取或篡改数据库文件内容。为了防止用户非法使用,保证数据库数据的安全,必须对数据库中存储的重要敏感数据进行保护处理。密码技术
9、就是一种有效的方法。事实证明,这也是最经济可行的方法,它使得在一种潜在不安全的环境中保证通信的安全。由于国内的计算机、数据库和网络的应用总体上要比国外落后,所以相应地,数据库加密的研究和应用也落后国外若干年。在我国,很多公司、企业,甚至国家部门使用的网络软硬件产品、防火墙软硬件、入侵检测产品、操作系统甚至包括数据库产品在内都严重依赖国外。国外在其出口的产品中是否留有后门不得而知。因此,国内对数据库加密的需求非常迫切,通过加密,可以从根本上、自主地保证数据的安全性。从这点来说,数据库的加密技术是我们在信息安全领域应该抓住的契机从加密层次上考虑,采取修改DBMS内核的方式来达到数据库加密的效果,对
10、我们来说是不现实的,修改DBMS内核的工作量不可低估,更为困难的是,这种方式必然要DBMS开发商的全力支持,这一点几乎是不可能的。事实上,修改DBMS内核并不是实现数据库加密的唯一方法,通过DBMS外围构造加密程序包的方法,同样可以达到数据库加密的效果,国内有关机构也是从这方面进行研究的。从理论研究上来看,在我国高校,清华和华中理工大学在加密数据库的研究方面起步比较早。从九十年代中期开始,这两个高校对加密数据库进行了一定的探讨。例如,清华大学在1995年有人提出密钥转换表的密钥管理方案、提出多级密钥的思想。而华中理工大学对如何在加密数据库环境下提高查询速度进行了一些理论探讨,还对分布式环境下数
11、据库加密的密钥管理提出一些见解。还有人提出将网络的密文传输通信与数据库静态加密结合起来,组成所谓的“网络密文数据库。从实践上来看,华中科技大学提出的数据库加密系统,能够初步达到对数据库加密的效果,可以由用户选择加密的表和字段,做到加密对应用程序透明。但是,其中也存在着一些问题。例如,采用多级密钥管理模式,加密机制过于复杂。整个加密机制需要硬件支持,使得系统的易用性受到影响。但是,他们的探索是非常有意义的,并且取得了一些令人鼓舞的结果。341 绪论1.1 DES加密算法本世纪五十年代以来,密码学研究领域出现了最具代表性的两大成就。其中之一就是1971年美国学者塔奇曼 (Tuchman)和麦耶(M
12、eyer)根据信息论创始人香农(Shannon)提出的多重加密有效性理论创立的,后于1977年由美国国家标准局颁布的数据加密标准。 DES密码实际上是Lucifer密码的进一步发展。它是一种采用传统加密方法的分组密码。它的算法是对称的,既可用于加密又可用于解密。美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的通常称为DES密码算法,要求主要为以下四点:提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;具有相当高的复杂性,使得破译的开销超过可能获得的
13、利益,同时又要便于理解和掌握;DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础;实现经济,运行有效,并且适用于多种完全不同的应用。1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DES, Data Encryption Standard)。之后随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。DES算法的入口参数有三
14、个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES主要处理64比特数据分组,每个DES循环处理输入数据的一个64比特数据分组,这个64比特数据分组随后被分为两个32比特数据分组。使用专用加密函数(这个专用的加密函数使用当前循环的独特子密钥)来加密右半部分数据分组,然后与左半部分数据分组进行异或操作以形成一个新的用于下次循环的右半部分数据分组,而前一个右半部分数据被替换为用于下次循环的左半部分数据分组。DES算法是这样工作的:如Mode为加密,则用Key
15、 去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在
16、金融交易网络的流行做法。1.2 AES加密算法随着对称密码的发展,DES数据加密标准算法由于密钥长度较小(56位),已经不适应当今分布式开放网络对数据加密安全性的要求,因此1997年NIST公开征集新的数据加密标准,即AES。经过三轮的筛选,比利时Joan Daeman和Vincent Rijmen提交的Rijndael算法被提议为AES的最终算法。此算法将成为美国新的数据加密标准而被广泛应用在各个领域中。尽管人们对AES还有不同的看法,但总体来说,AES作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点。AES设计有三个密钥长度:128,192,256位,相对而言,AE
17、S的128位密钥比DES的56位密钥强1021倍。AES是分组密钥,算法输入128位数据,密钥长度也是128位。用Nr表示对一个数据分组加密的轮数(加密轮数与密钥长度的关系如表1所列)。每一轮都需要一个与输入分组具有相同长度的扩展密钥的参与。由于外部输入的加密密钥K长度有限,所以在算法中要用一个密钥扩展程序把外部密钥K扩展成更长的比特串,以生成各轮的加密和解密密钥。AES算法主要包括三个方面:轮变化、圈数和密钥扩展。圈变化:AES每一个圈变换由以下三个层组成:非线性层进行Subbyte变换;线行混合层进行ShiftRow和MixColumn运算;密钥加层进行AddRoundKey运算。Subb
18、yte变换是作用在状态中每个字节上的一种非线性字节转换,可以通过计算出来的S盒进行映射; ShiftRow是一个字节换位,它将状态中的行按照不同的偏移量进行循环移位,而这个偏移量也是根据Nb的不同而选择的;在MixColumn变换中,把状态中的每一列看作GF(28)上的多项式a(x)与固定多项式c(x)相乘的结果。 b(x)=c(x)*a(x)的系数这样计算:*运算不是普通的乘法运算,而是特殊的运算,即 b(x)=c(x)a(x)(mod x4+1) 对于这个运算 b0=02。a0+03。a1+a2+a3 令xtime(a0)=02。a0其中,符号“。”表示模一个八次不可约多项式的同余乘法;对
19、于逆变化,其矩阵C要改变成相应的D,即b(x)=d(x)a(x);密钥加层运算(addround)是将圈密钥状态中的对应字节按位“异或”;根据线性变化的性质,解密运算是加密变化的逆变化。这里不再详细叙述。轮变化:对不同的分组长度,其对应的轮变化次数是不同的,本课题以128位的AES进行加解密运算,其迷药长度为4字节,分组大小4字节,要进行10次轮变化。密钥扩展:AES算法利用外部输入密钥K(密钥串的字数为Nk),通过密钥的扩展程序得到共计4(Nr+1)字的扩展密钥。它涉及如下三个模块: 位置变换(rotword)把一个4字节的序列A,B,C,D变化成B,C,D,A; S盒变换(subword)
20、对一个4字节进行S盒代替; 变换RconiRconi表示32位比特字xi-1,00,00,00。这里的x是(02),如 Rcon1=01000000;Rcon2=02000000;Rcon3=04000000扩展密钥的生成:扩展密钥的前Nk个字就是外部密钥K;以后的字W等于它前一个字Wi-1与前第Nk个字Wi-Nk的“异或”,即W=Wi-1W- Nk。但是若为Nk的倍数,则W=Wi-NkSubword(Rotword(W-1)Rconi/Nk。1.3 数据库安全与隐私保护随着网络技术和通信技术的日益成熟以及网络通信带宽的不断增加,越来越多客户信息、交易信息、医疗信息等涉及到个人隐私的数据以电子
21、化的方式被存储和管理。为了避免昂贵的管理和聘请专业管理人员的费用,越来越多的企业寻求一种能够提供基本的硬件基础设施以外的数据管理服务,如提供容量计划、DBMS (database management system)、访问控制管理等以减少自身维护、管理带来的大量开销。数据库服务作为一种新的数据管理模式满足了企业需求,并可以提供与本地数据库一样的数据管理服务。数据库服务虽然可以为客户提供必要的硬件、软件维护等,但是由于越来越多的数据信息涉及到个人的隐私,如一个人是否患有不希望公开的传染病或癌症,而且企业间的竞争以及数据库隐私数据窃取促使企业选择具有安全和隐私保护能力的数据库管理技术。因此,本节从
22、数据库服务需要解决的如下4个方面的安全、隐私保护关键问题以及一个用来进一步提高数据库服务可用性的访问控制安全机制展开分析: (1)数据库的内容往往涉及企业的隐秘信息,因此,数据库服务需要有完善的数据安全机制来保证数据库的内容不会泄露(数据的机密性(data confidentiality)); (2)服务提供者不一定可信,可能像企业维护自己的数据库一样可信,因此数据库服务需要保证数据库的内容不会被破坏(数据的完整性(data integrity)); (3)服务提供者不能随意删除或添加自己的任意的数据,因此,数据库服务需要保证服务提供者提供的数据是正确的,返回客户的结果是完备的(数据的完备性(
23、data completeness)); (4)服务提供者不能察觉客户查询相应数据的目的,客户能够从个数据元素中检索第i个元素而不被服务提供者发现客户对第f个元素感兴趣(查询隐私保护(query privacy preserving)); (5)数据库服务在保证上述4个方面的安全与隐私的同时,也需要保证数据库的可用性,否则这样的数据库服务没有实际应用价值,因此,在数据库服务的可用性方面也提出了挑战:除了通过建立某个属性的索引信息保证数据库的可用性以外,如何开发数据库服务中的安全、有效的访问控制技术,使得在满足上述安全的情况下不同的用户具有不同的访问特权(访问控制策略(access contro
24、l policy))。隐私保护近年来越来越受到人们的关注。隐私的泄露一方面是管理人员泄密,另一方面就是黑客盗取。第一方面的原因要从体制上加强防范,在此不再赘述。第二方面则可以通过数据库加密技术来避免。数据库加密技术的应用既解决了数据库安全性的问题,又提高了对用户隐私的防护力度,具有非常重要的意义。1.4 章节安排第一章为绪论,介绍加密算法、数据库安全等方面内容。第二章为数据库安全技术分析,介绍数据库安全可采用的技术、系统保护、加密层次和加密技术要求等方面内容。第三章为本课题的总体设计,介绍编程环境与整体设计思路及功能。第四章为本课题的实现过程,介绍了比较重要部分的功能实现以及总的操作演示结果。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 对称 密码 数据库 检索系统 设计