安全数据存储系统的设计与实现.doc_第1页
安全数据存储系统的设计与实现.doc_第2页
安全数据存储系统的设计与实现.doc_第3页
安全数据存储系统的设计与实现.doc_第4页
安全数据存储系统的设计与实现.doc_第5页
全文预览已结束

下载本文档

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

文档简介

山东大学毕业论文(设计)毕 业 论 文(设 计)论文(设计)题目: 安全数据存储系统的设计与实现 姓 名 学 号 学 院 软件学院 专 业 软件工程 年 级 2010级 指导教师 2011年 5月22日山东大学毕业设计(论文)成绩评定表学院:软件学院 专业:软件工程 年级:2010级学号姓名 设计(论文)成绩 设计(论文)题目 安全数据存储系统的设计与实现指 导 教 师 评 语 评定成绩: 签名: 年 月 日评 阅 人 评 语 评定成绩: 签名: 年 月 日答 辩 小 组 评 语答辩成绩: 组长签名: 年 月 日注:设计(论文)成绩=指导教师评定成绩(30%)评阅人评定成绩(30%)答辩成绩(40%) 目录摘要4第一章 绪论61.1研究背景61.2数据安全保护现状61.3 数据安全和信息安全发展趋势71.4目的和意义8第二章 数据安全保护的主要应用技术102.1加密算法102.1.1对称加密102.1.2非对称加密112.2 带关键词搜索的公钥加密算法(PEKS)132.3 基于双线性对的PEKS方案132.4 PBC库14第三章 数据安全存储系统设计153.1系统设计总体要求153.2系统设计总体目标153.2.1数据存储功能153.2.2 数据的关键词153.2.3系统初始化163.2.4 基于PEKS的加密设计163.2.5数据的检索173.3系统整体设计模块18第四章 数据安全存储系统设计194.1 系统初始化194.1.1结构体定义194.1.2 PEKS系统初始化194.1.3 RSA加密系统初始化214.2 数据存储的实现224.2.1 数据存储界面224.2.2数据检索流程实现224.2.3 PEKS系统实现234.3数据检索的实现254.3.1 数据检索界面254.3.2数据检索流程实现254.3.3数据检索中的PEKS实现26第四章 系统测试28第五章 结束语29致谢30参考文献31附录1 英文文献32附录2 中文译文36 摘要科学技术的发展和时代进步,从蒸汽机的发明开始,近代工业的突飞猛进,新兴产业的遍地开花都展现出蓬勃的生机,尤其是近三十年间,电子信息技术产业的发展更是展现了其实力和前景。纵观当今社会,信息的存储逐渐取代了传统的纸质形式,转而大多是以电子形式进行的。因为s电子存储介质容量大体积小,快速便捷,不易受损的性质成为了存储界的宠儿,然而衍生出的安全问题也同样值得关注。电子存储介质一旦受损,那么信息的安全何以保障,在信息化的当今时代,一旦信息泄露引发的问题可能足以致命。在这种形式下,基于数据的安全存储系统的设计与研究就显得极其必要。随着互联网的高速发展,众多企业和个人己经把大量数据交给第三方服务器存储,如何保证私有数据的机密性和隐私成为急需解决的问题。加密技术是保护数据机密性和隐私的一种较为有效的手段,然而对加密后的数据进行检索却是一项非常困难的工作。特别是在非可信环境的情况下,如何对加密数据进行高效地查询引起了人们普遍的关注。因此,可搜索加密成为了近几年的研究热点之一。可搜索加密分为带关键词检索的对称加密和带关键词检索的公钥加密。带关键词检索的对称加密有着简单、高效的优点,但无法实现对第三方数据的秘密检索。现有的带关键词检索公钥加密虽然可以实现对第三方数据的秘密检索,但效率不高。本文主要研究可搜索加密技术,针对现有的带关键词检索公钥加密方案中大量对运算需要消耗较多时间、效率不高等问题,提出了一种高效的带关键词检索的公钥加密方案。该方案既具备带关键词检索的对称加密简单、高效的优点关键词: 可搜索加密; 公钥加密; 带关键词检索的公钥加密 ABSTRACTWith the rapid development of Computer Science, electronic data Storage is becoming more popular. Most of data was stored as Electronic documents. It arouses wide concern of how to prove data Security. In the information systems, if storages were out of control, all the sensitive information and important data will be stolen, which Result in heavy losses. Therefore, to efficiently secure the data, its Necessary to research data security system based on encryption.With the rapid development of internet, a number of companies and individuals have stored data on a third Party server. How to ensure the confidentiality and Privacy of Private data has become an urgent Problem. Encryption is an effective means of Protecting the confidentiality and Privacy of data, but retrieval on the encrypted data is a very difficult task. Particularly due to non-trusted environment, how to search on encrypted data efficiently caused widespread concern. Thus, searchable encryption has become a hot topic in recent years.Searchable encryption can be divided into symmetric encryption with keyword search and Public key Encryption with Keyword Search (PEKS). Symmetric encryption with keyword search is simple and has high efficiency, but cannot realize the Private search for third-Party data. The Public key Encryption with Keyword Search can realize the Private search for third-Party data, but is inefficient. This Paper Mainly studies searchable encryption. Since great computation of pairings in PEKS schemes are still time consuming and inefficient, this Paper proposes a more efficient PEKS scheme. The new PEKS scheme not only retains the advantages of symmetric encryption with keyword search such as simplexes and high efficiency, but also can realize the private search for third一Party data. Keywords: Searchable encryption, Public key encryption; Public key Encryption with Keyword Search (PEKS) 第一章 绪论1.1研究背景随着时代的进步,我们已经进入了信息化社会,所以在这个时代信息是一切的基础,掌握信息才能掌握这个时代的脉搏,才能在这个信息时代取得自己的一片天。正是因为信息时代的到来,所以信息安全尤其显得重要。数据安全是信息安全中尤为重要的一环,也是具有决定意义的一环,对于信息安全的研究也是为了我们自身生活环境,国家发展的一项贡献。作为老百姓来说,信息安全也不可小视。举个例子来说,当购买了一套住房后,你的个人信息有可能会被无良商人泄露,从而一些建筑公司会主动打电话来询问户主是否需要装修等。这就是一种信息未得到安全保证的结果。现实生活中,计算机信息安全,网络信息安全都与我们自身息息相关。对于公司业务来说,如何保障大规模的数据安全更是一件刻不容缓的事。存储介质随着办公自动化的发展变得越来越大,如果不伴以安全辅助,那么一旦发生泄漏,损失难以估计即使在有防火墙,隔离装置等网络安全设备在阻止着基于网络的安全攻击,但是数据在存储中存在的漏洞和安全隐患却有可能在不经意间导致大规模的信息安全危害事故。从网上的调查数据可知,现如今大部分的信息泄露主要是内部人员所为,也就是说外来黑客的攻击只占小部分,大部分的信息泄露都是由于数据存储的管理制度不完善,内部人员随意窃取导致。在问题如此严重的当下,对于研发一个数据加密存储系统显得十分有必要。必须要保证在各种存储介质上的数据安全,以及在介质出现失控情况下的数据安全问题在大多数重要业务部门的敏感数据的应用热点下,数据安全系统应当构建在现有的计算机,软件网络设施之上,并融合在各个应用中,形成高效便利的方式和系统。作为必要的基础环节,使得信息系统的运作更为安全和完善。1.2数据安全保护现状 1.明文存储即使在强调信息安全的当今社会,也依然有单位或者个人对信息安全意识的缺乏,又或者对信息安全的不重视,他们将重要信息直接以明文的形式存储在介质中,包括移动硬盘或者计算机。然而一旦这些介质受到攻击,明文形式保存的信息就会遭到泄露,那么所带来的后果将是十分严重的,轻则需要重新录入,重则面临巨大损失。2.适用面狭窄在我完成这篇论文之前,我对加密这一领域也不甚了解,第一可能是我学艺不精,第二加密系统对个人用户似乎也没有很多的优化,一些优良的加密系统在大型设备上用的很广泛,而对个人用户来说操作不便,成本太高可能也是造成这个方面的主要原因。3.网络防护和加密隐藏现有的加密系统的调查和分析可知,一些加密系统似乎对网络这一块做得工作甚少,而且似乎也不愿意在自动隐藏上下工夫。这导致了一个重要问题,就是在一些网络系统中,用户信息很可能被直接在网络中获取明文信息,导致信息泄露。而自动隐藏功能更是应该被广泛应用,当计算机失控时,经过加密自动隐藏的数据不能显现时,这样才会为数据不被泄露提供有力的保障4.加密等级过低加密技术的发展必然导致反加密技术的进步,一些加密系统的加密强度已经不能满足现如今对加密系统的强度要求,效率和有效性应当逐步提升以满足用户的需求1.3 数据安全和信息安全发展趋势安全这个词不存在绝对性,任何一个系统都无法保证绝对的安全性。我们反复制定数据安全的需求和标准,正是由于这个原因,信息技术的提升,网络的日益完善与发达,都使得安全这个词的标准一再拔高,一再需要重新界定,一劳永逸解决这个问题显得多么的不切实际。所以要实现对数据的持续安全,就必须在这个信息高速发展的时代持续的关注和不断的解决。从整体来看,数据安全的趋势形成了如下四个方面1. 数据安全的重要性日渐增强。数据安全作为信息安全的核心组成部分,在信息安全中起着至关重要的作用。在当今这个时代,信息安全所涉及的领域包括国防,国民经济建设,企业发展,个人事业,这些大都与我们的生活发展息息相关,因此,信息安全显得尤为重要2. 数据安全概念的发展,安全手段的不断强化。安全这个词从诞生起就在不断的发展和深化。信息安全的特性如下,保密性,完整性,可用性,可控性,不可否认性。信息化时代进步的日益加快,信息在这几个特性下的发展也在逐步进行,并且在基于这几个方面上研究和发展。3. 数据安全系统的复杂性。现代信息系统发展带来了生活的便利,同时也带来了数据安全这一重大课题。可以看出,这个问题的解决必然会基于现代高新技术的支持,传统的方法是无法满足要求的。由此,各种新技术便应运而生。4. 数据安全涉及的面增广。从传统的实体化安全例如上锁,到现在的网络安全,存储安全等,同时一些加密技术如指纹识别,虹膜识别等1.4目的和意义1.为信息安全增添一道防护措施现在数据安全的概念已得到了广泛的普及,征服部门和企业都开始逐步增加了对信息安全的重视,虽说在很大一部分上是通过行政手段来提供的保障,但是在系统失效的情况下如何保护重要敏感的数据可谓重中之重。应运而生的数据安全系统可以对存储介质提供加密保护,即使系统出现失控或别的一些故障,数据安全系统依旧为数据安全提供者保障。由此可见,数据安全存储系统和行政管理的相互补充,有效的保护了数据安全2.增加普适性,为用户提供简单便捷的操作以及全面的数据保护在计算机技术与信息技术高速发展的今天,电子文档已经在大规模上取代了传统纸质介质,而且存储介质的容量的不断扩增,导致了现在用户会将大部分的资料存储在一个介质中,一旦该介质出现故障等问题足以致命。3.机密性网络中的一些数据是存在极高的机密性的,例如账号密码等一系列数据。这些数据让工作本身就成为了一种秘密性的行为。所以要实时确保该类信息的保密,确保信息即使在不被授权的情况下不会被第三方获得4.完整性数据安全中的重要一环就是要保障数据传输中的完整性,以防止数据的错序,丢失,重复等行为。保证信息的完整性是保障数据安全的基础,也是前提5.对于机密数据的访问必须经过身份验证数据的存储时运行在一个大的并且是实时开放的网络中的,所以对于机密数据的访问是必须要经过身份验证,以确保信息是来自真实身份的发送方。以防止在一方进行越权操作时,保证机密数据的完整6.不可抵赖性信息一旦存储,其不可抵赖性是毋容置疑的。很多信息安全的项目涉及到责任权利等问题,所以信息的不可抵赖性的作用体现的极为明显。信息既已操作,其操作行为会随之记录,这是基于公平公正性进行考虑的,所以必须要满足这一点 第二章 数据安全保护的主要应用技术2.1加密算法本文主要涉及的是数据安全,所以各种加密算法是重中之重。根据加密算法中秘钥类型的不同,可以将加密算法分为两类,对称加密和非对称加密。2.1.1对称加密采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。因此加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要。因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题。常用对称加密算法 DES:使用一个 56 位的密钥以及附加的 8 位奇偶校验位(每组的第8位作为奇偶校验位),产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 轮循环,使用异或,置换,代换,移位操作四种基本运算。3DES:3DES(即Triple DES)是DES向AES过渡的加密算法(1999年,NIST将3-DES指定为过渡的加密标准),加密算法,其具体实现如下:设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密文,这样:3DES加密过程为:C=Ek3(Dk2(Ek1(P),3DES解密过程为:P=Dk1(EK2(Dk3(C)AES:密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael 加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。 2.1.2非对称加密非对称加密算法需要两个密钥:公开密钥(public key)和私有密钥(private key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。常用非对称加密算法1.RSA:RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA的算法涉及三个参数,n、e1、e2。其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod(p-1)*(q-1)=1。(n,e1),(n,e2)就是密钥对。其中(n,e1)为公钥,(n,e2)为私钥。1RSA加解密的算法完全相同,设A为明文,B为密文,则:A=Be2 mod n;B=Ae1 mod n;(公钥加密体制中,一般用公钥加密,私钥解密)e1和e2可以互换使用,即:A=Be1 mod n;B=Ae2 mod n;RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解RSA就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。 RSA 的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。人们已能分解多个十进制位的大素数。因此,模数n必须选大一些,因具体适用情况而定。2. Diffie-Hellman密钥交换一种确保共享KEY安全穿越不安全网络的方法,它是OAKLEY的一个组成部分。Whitefield与Martin Hellman在1976年提出了一个奇妙的密钥交换协议,称为Diffie-Hellman密钥交换协议/算法(Diffie-Hellman Key Exchange/Agreement Algorithm).这个机制的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥。然后可以用这个密钥进行加密和解密。但是注意,这个密钥交换协议/算法只能用于密钥的交换,而不能进行消息的加密和解密。双方确定要用的密钥后,要使用其他对称密钥操作加密算法实际加密和解密消息。基于原根的定义及性质,可以定义Diffie-Hellman密钥交换算法.该算法描述如下: 1.有两个全局公开的参数,一个素数q和一个整数a,a是q的一个原根. 2.假设用户A和B希望交换一个密钥,用户A选择一个作为私有密钥的随机数XA(XAq),并计算公开密钥YA=aXA mod q。A对XA的值保密存放而使YA能被B公开获得。类似地,用户B选择一个私有的随机数XBg, param-pairing);element_init_G1(pk-h, param-pairing);element_init_Zr(sk-alpha, param-pairing);element_random(pk-g); element_random(sk-alpha); element_pow_zn(pk-h, pk-g, sk-alpha);return 0;4.1.3 RSA加密系统初始化public class RSA /创建密钥对生成器,指定加密和解密算法为RSA public String Skey_RSA(int keylen)/输入密钥长度 String output = new String5; /用来存储密钥的e n d p q try KeyPairGenerator kpg = KeyPairGenerator.getInstance(RSA); kpg.initialize(keylen); /指定密钥的长度,初始化密钥对生成器 KeyPair kp = kpg.generateKeyPair(); /生成密钥对 RSAPublicKey puk = (RSAPublicKey)kp.getPublic(); RSAPrivateCrtKey prk = (RSAPrivateCrtKey)kp.getPrivate(); BigInteger e = puk.getPublicExponent(); BigInteger n = puk.getModulus(); BigInteger d = prk.getPrivateExponent(); BigInteger p = prk.getPrimeP(); BigInteger q = prk.getPrimeQ(); output0=e.toString(); output1=n.toString(); output2=d.toString(); output3=p.toString(); output4=q.toString(); catch (NoSuchAlgorithmException ex) Logger.getLogger(RSA.class.getName().log(Level.SEVERE, null, ex); return output; 4.2 数据存储的实现4.2.1 数据存储界面4.2.2数据检索流程实现在主界面点击储存按钮后,程序会跳转至数据存储界面,在关键字一栏输入关键字,在数据栏输入数据完成后,点击保存按钮后,会实现事件响应,系统会将数据content和关键字keyword发送至PEKS系统中进行后续的操作,PEKS系统在接受关键词和数据后会在系统内进行加密操作,并返回密文cipher,系统会将cipher发送至存储系统SaveImpl,调用.save 函数进行存储,具体代码实现如下save1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String keyword1 = keyword.getText(); String content1 = content.getText(); PEKSSystem peksSys = new PEKSSystem(); String cipher = peksSys.save(keyword1, content1); SaveImpl si = new SaveImpl(cipher);si.save();4.2.3 PEKS系统实现(1)生成密钥后,对即将进行加密存储的数据的关键进行PEKS加密,其中pk为公钥,keyword为关键词,keywordlen为关键词长度,cipher为密文,具体实现代码如下:int PEKS(sysparams *param, pubkey *pk, unsigned char *keyword, int keywordLen, PEKSCipher *cipher) /PEKS密文生成函数element_t r, tmp1, tmp2;element_init_G1(cipher-c1,param-pairing);element_init_GT(cipher-c2,param-pairing);element_init_Zr(r, param-pairing);element_random(r); element_pow_zn(cipher-c1, pk-g, r);element_init_G1(tmp1, param-pairing);element_from_hash(tmp1,keyword,keywordLen);element_init_G1(tmp2, param-pairing);element_pow_zn(tmp2, pk-h, r);element_pairing(cipher-c2, tmp1, tmp2);return 0;(2) 使用RSA加密算法对数据进行加密,具体代码实现如下,content为输入PEKS系统中的明文pu

温馨提示

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

评论

0/150

提交评论