分享
分销 收藏 举报 申诉 / 34
播放页_导航下方通栏广告

类型安全数据存储系统的设计与实现.doc

  • 上传人:精***
  • 文档编号:4133086
  • 上传时间:2024-07-31
  • 格式:DOC
  • 页数:34
  • 大小:144.04KB
  • 下载积分:12 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    安全 数据 存储系统 设计 实现
    资源描述:
    山东大学毕业论文(设计) 毕 业 论 文(设 计) 论文(设计)题目: 安全数据存储系统的设计与实现 姓 名 学 号 学 院 软件学院 专业 软件工程 年 级 2010级 指导教师 2011年 5月22日 山东大学毕业设计(论文)成绩评定表 学院:软件学院 专业:软件工程 年级:2010级 学号 姓名 设计(论文)成绩 设计(论文)题目 安全数据存储系统的设计与实现 指 导 教 师 评 语 评定成绩: 签名: 年 月 日 评 阅 人 评 语 评定成绩: 签名: 年 月 日 答 辩 小 组 评 语 答辩成绩: 组长签名: 年 月 日 注:设计(论文)成绩=指导教师评定成绩(30%)+评阅人评定成绩(30%)+答辩成绩(40%) 目录 摘要4 第一章绪论6 1。1研究背景6 1。2数据安全保护现状6 1.3 数据安全和信息安全发展趋势7 1.4目的和意义8 第二章数据安全保护的主要应用技术10 2。1加密算法10 2.1.1对称加密10 2。1。2非对称加密11 2.2 带关键词搜索的公钥加密算法(PEKS)13 2。3 基于双线性对的PEKS方案13 2.4 PBC库14 第三章数据安全存储系统设计15 3。1系统设计总体要求15 3。2系统设计总体目标15 3。2。1数据存储功能15 3.2。2 数据的关键词15 3。2。3系统初始化16 3.2。4 基于PEKS的加密设计16 3。2.5数据的检索17 3.3系统整体设计模块18 第四章数据安全存储系统设计19 4.1 系统初始化19 4.1.1结构体定义19 4。1。2 PEKS系统初始化19 4。1。3 RSA加密系统初始化21 4。2 数据存储的实现22 4。2.1 数据存储界面22 4。2。2数据检索流程实现22 4。2。3 PEKS系统实现23 4。3数据检索的实现25 4.3。1 数据检索界面25 4.3.2数据检索流程实现25 4.3。3数据检索中的PEKS实现26 第四章系统测试28 第五章结束语29 致谢30 参考文献31 附录1 英文文献32 附录2 中文译文36 摘要 科学技术的发展和时代进步,从蒸汽机的发明开始,近代工业的突飞猛进,新兴产业的遍地开花都展现出蓬勃的生机,尤其是近三十年间,电子信息技术产业的发展更是展现了其实力和前景。纵观当今社会,信息的存储逐渐取代了传统的纸质形式,转而大多是以电子形式进行的.因为s电子存储介质容量大体积小,快速便捷,不易受损的性质成为了存储界的宠儿,然而衍生出的安全问题也同样值得关注.电子存储介质一旦受损,那么信息的安全何以保障,在信息化的当今时代,一旦信息泄露引发的问题可能足以致命.在这种形式下,基于数据的安全存储系统的设计与研究就显得极其必要。 随着互联网的高速发展,众多企业和个人己经把大量数据交给第三方服务器存储,如何保证私有数据的机密性和隐私成为急需解决的问题。加密技术是保护数据机密性和隐私的一种较为有效的手段,然而对加密后的数据进行检索却是一项非常困难的工作。特别是在非可信环境的情况下,如何对加密数据进行高效地查询引起了人们普遍的关注。 因此,可搜索加密成为了近几年的研究热点之一。可搜索加密分为带关键词检索的对称加密和带关键词检索的公钥加密.带关键词检索的对称加密有着简单、高效的优点,但无法实现对第三方数据的秘密检索。现有的带关键词检索公钥加密虽然可以实现对第三方数据的秘密检索,但效率不高.本文主要研究可搜索加密技术,针对现有的带关键词检索公钥加密方案中大量对运算需要消耗较多时间、效率不高等问题,提出了一种高效的带关键词检索的公钥加密方案。该方案既具备带关键词检索的对称加密简单、高效的优点 关键词:可搜索加密; 公钥加密; 带关键词检索的公钥加密 ABSTRACT With 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, it’s 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 Privatesearch 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 andinefficient, 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)为私钥。[1] RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e2 mod n;B=A^e1 mod n;(公钥加密体制中,一般用公钥加密,私钥解密) e1和e2可以互换使用,即: A=B^e1 mod n;B=A^e2 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(XA〈q),并计算公开密钥YA=a^XA mod q。A对XA的值保密存放而使YA能被B公开获得。类似地,用户B选择一个私有的随机数XB〈q,并计算公开密钥YB=a^XB mod q.B对XB的值保密存放而使YB能被A公开获得。 3。用户A产生共享秘密密钥的计算方式是K = (YB)^XA mod q.同样,用户B产生共享秘密密钥的计算是K = (YA)^XB mod q.这两个计算产生相同的结果: K = (YB)^XA mod q = (a^XB mod q)^XA mod q = (a^XB)^XA mod q (根据取模运算规则得到) = a^(XBXA) mod q = (a^XA)^XB mod q = (a^XA mod q)^XB mod q = (YA)^XB mod q 因此相当于双方已经交换了一个相同的秘密密钥. 4。因为XA和XB是保密的,一个敌对方可以利用的参数只有q,a,YA和YB。因而敌对方被迫取离散对数来确定密钥.例如,要获取用户B的秘密密钥,敌对方必须先计算 XB = inda,q(YB) 然后再使用用户B采用的同样方法计算其秘密密钥K。 Diffie-Hellman密钥交换算法的安全性依赖于这样一个事实:虽然计算以一个素数为模的指数相对容易,但计算离散对数却很困难。对于大的素数,计算出离散对数几乎是不可能的。 下面给出例子。密钥交换基于素数q = 97和97的一个原根a = 5。A和B分别选择私有密钥XA = 36和XB = 58。每人计算其公开密钥 YA = 5^36 = 50 mod 97 YB = 5^58 = 44 mod 97 在他们相互获取了公开密钥之后,各自通过计算得到双方共享的秘密密钥如下: K = (YB)^XA mod 97 = 44^36 = 75 mod 97 K = (YA)^XB mod 97 = 50^58 = 75 mod 97 从|50,44|出发,攻击者要计算出75很不容易 2。2 带关键词搜索的公钥加密算法(PEKS) 带关键词的公钥加密(Public key encryption with keyword search)是一种新型的密码体制,允许我们在经过加密的数据上进行关键词搜索,不仅保证数据接收方的隐私,同时提供了一种方法,使得我们无须对数据进行解密就能快速有效地进行搜索操作。 一个非交互的带关键词检索的公钥加密体制包含如下四个概率多项式时间算法: (l)初始化: 输入安全参数k,输出密钥对(私钥以及公钥); (2)PEKS算法:以接收者的公钥以及关键词w作为输入,通过PEKS算法计算出可用于搜索关键词w的密文s, (3)限门产生算法:以接收者的私钥和关键词w作为输入,生成关键词w的限门,; (4)关键词检索算法:输入关键词w的限门以及一个PEKS密文如果w=w’,该算法返回”Yes",否则返回”No”; 2.3 基于双线性对的PEKS方案 带关键词检索的公钥加密(PEKS)有多种构造,大部分都是使用椭圆曲线上的双线性对进行构造。总体上,是使用了两个阶为素数p的群,以及一个在这两个群上的双线性对,该双线性对满足以下属性: (1) 可计算性:给定g,,有一个多项式时间算法能够计算; (2) 双线性:对于任何整数,有 (3) 非退化性:如果g为的生成元,则为的生成元: BONEH等人基于以上的双线性对性质构造了如下带关键词检索的公钥加密方案,同时使用两个哈希函数和,方案由如下四个算法构成: (1)初始化:输入安全参数p决定群,的大小,算法随机选择一个整数,以及群G,的一个生成元g。输出 (2):首先计算,随机数,输出 (3):输出 (4)(:令S=[A,B],如果,输出“yes",否则输出“no,”。 2。4 PBC库 PBC库是一种c语言开发的开源高精度数值运算库,在GMP库之上开发,主要提供了椭圆曲线上的配对运算.本文在PEKS的运算中使用到了PBC库中的一些数据类型和函数调用: (1)数据类型: Element_t :elements of an algebraic structure Pairing_t:pairings where elements belong;can initialize from sample from sample pairing parameters bundled with PBC in the param subdirectory Pbc_param_t: used to generate pairing parameters (2)函数: Void element_init_G1(element_t e,pairing_t pairing) Void element_init_G2(element_t e,pairing_t pairing) 第三章 数据安全存储系统设计 随着计算机网络技术、信息技术飞速发展,诸如电子商务等数字化产业正在世界范围内迅速崛起.从政府机关、企事业单位、科研院所、高校,甚至是普通人都越来越习惯于使用计算机存储信息和数据,同时利用局域网和互联网实现互联互通和信息共享。因此确保数据信息的安全存储成为实现信息安全的首要条件。 3。1系统设计总体要求 数据安全存储系统提供给用户加密重要涉密文档,既要安全可靠,又要方便快捷,因此应能满足以下要求: 1。实用性:尽量满足数据安全保护的各种需求,操作方便简单。 2。稳定性:研发过程中,尽量考虑各种可能出现的意外情况,保证系统能稳定运行,并建立健全的数据恢复机制,避免给用户带来不必要的损失。 3.先进性:采用目前先进的技术及实现方法,保证系统各项功能性能良好. 4. 安全性:保证保护的数据不被有效窃取。 3.2系统设计总体目标 本系统设计以安全存储数据为最终目标,主要完成以下功能: 3。2。1数据存储功能 数据的存储是本系统的基础,也是必须满足的功能之一。该系统是将数据以密文的形式存入硬盘,所以数据存储系统需要保证以明文形式输入的数据可以输送至加密系统.当加密完成后,以密文形式传出的数据可以传送回数据存储系统,并将其安全的存储在硬盘上。所以当用户需要存储数据时,首先应选择数据的存储路径,然后进入数据输入界面输入数据,当数据输入完成后,系统将执行上述操作 3.2.2 数据的关键词 由于本系统是基于PEKS的数据存储,PEKS即带有关键词搜索的公钥加密。所以在公钥加密的基础上,关键词的提取也是本系统的一个基础要点。关键词在提取完成后也会被输入加密系统。而在数据检索时,关键词的作用不言而喻。所以在系统的设计中加入了关键词输入的部分,以用来记录数据的关键词 3。2.3系统初始化 系统在初始化时,会自动取安全大素数p,g是p的本原根,p和g作为公开的参数。存储模块选择一个保密的随机整数作为自己的私钥,而存储模块的公钥为,数据检索系统选择保密随机整数作为自己的私钥,相应的公钥则为。在用户模块中包含公钥加密算法E,伪随机序列生成器G,加密关键词所需的带密钥的和秘密参数UN的安全哈希函数H,带密钥c的伪随机函数。 3。2。4 基于PEKS的加密设计 用户模块向存储模块发送包括关键词(,.。.)的消息msg,用户模块采用如下方式对消息和关键词进行加密 (1) 输入公钥,然后对整个消息进行加密得到; (2) 计算,计算;其中为用带密钥的安全哈希函数H求x的值 (3) 用伪随机序列生成器G生成n-m为的,计算,加在Si后面,得到n位的,其中为带密钥的伪随机函数 (4) 计算关键词密文 (5) 将密文发送给存储模块 输入关键词w和公钥PKa 生成带密钥的随机函数 生成安全哈希函数 伪随机数列生成器 3。2.5数据的检索 本文主要论述的是基于PEKS的数据存储,所以数据的检索是本文的重点。 当用户提出获取关键词w的数据时,用户首先通过用户模块生成搜索陷门,然后将搜索陷门传送给存储模块进行检索. 具体步骤如下; (1) 首先在用户模块上输入自己的私钥和关键词kw (2) 用户模块根据输入的私钥,自动计算 (3) 用户模块根据得到的TK计算,为关键词kw生成陷门,其中: (4) 向存储模块发送,请求检索带有关键词kw的消息 3。3系统整体设计模块 加密数据 存储数据 关键词检测 密文存储 关键词加密 存储模块 生成陷门 检索数据 用户界面 PEKS系统 用户模块 数据安全系统按照功能和操作划分,主要分为两大模块:用户模块和存储模块 用户模块:主要实现用户界面,包括数据存储界面和数据检索界面。数据加密系统以及陷门生成系统 (1)数据加密系统:对即将存储的数据进行加密,采用公钥加密的方式进行加密,以确保其安全强度 (2)关键词加密系统:用于对传来的关键词w进行加密,并将密文与(1)中系统加密形成的密文共同传输给存储模块 (3)陷门生成系统:在数据检索时用于生成陷门,并实现和存储模块的连接,以便数据的检索 存储模块:主要用来实现对用户模块传来的密文的存储功能以及在数据检测时对关键词检测并选择消息的功能 (1) 关键词检索系统:其中含有关键词检索函数test,对于传递来的陷门函数,进行关键词检索 (2) 密文存储:对于传递来的密文,存储模块将会将他写入到硬盘里 第四章 数据安全存储系统设计 4。1 系统初始化 4.1.1结构体定义 (1) 双线性对结构体 typedef struct sysparam{ pairing_t pairing; }sysparams; (2) 公钥对结构体 typedef struct pubkey{ element_t g, h; }pubkey; (3) 私钥结构体 typedef struct privatekey{ element_t alpha; }privatekey; (4) PEKS密文结构体 typedef struct PEKSCipher{ element_t c1, c2; }PEKSCipher; (5) 陷门结构体 typedef struct Trapdoor{ element_t t; }Trapdoor; 4。1。2 PEKS系统初始化 (1) 首先调用PCB库中的函数,形成双线性初始化函数,其中pbc_pairing_init_demo为pbc库中的函数,具体实现代码如下: int pbc_pairing_init_demo(pairing_t pairing) { char *PairingInitString = "type a\n" ”q 8780710799663312522437781984754049815806883199414208211028653399266475630880222957078625179422662221423155858769582317459277713367317481324925129998224791\n” ”h 12016012264891146079388821366740534204802954401251311822919615131047207289359704531102844802183906537786776\n” "r 730750818665451621361119245571504901405976559617\n” ”exp2 159\n" "exp1 107\n" ”sign1 1\n” "sign0 1\n"; char s[1000]; int rv; pbc_param_t param; FILE *fp = stdin; fp = fopen("a。param”, ”r”); if (!fp) printf(”error opening %s", ”a.param”); size_t count = fread(s, 1, 1000, fp); if (!count) printf("input error”); fclose(fp); rv = pairing_init_set_buf(pairing, PairingInitString,strlen(PairingInitString)); if (rv) { return rv; } rv = pairing_is_symmetric(pairing); if (!rv) { return —2; } return 0; } (2) 当系统进行存储操作时,首先系统会生成密钥,调用keygen函数生成密钥,其中pk为公钥,sk为私钥。其中调用了PCB库中的函数,代码实现如下 int keygen(sysparams *param, pubkey *pk, privatekey *sk) { element_init_G1(pk-〉g, 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 String[5]; //用来存储密钥的e n d p q try { KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA”); kpg.initialize(keylen); //指定密钥的长度,初始化密钥对生成器 KeyPair kp = kpg。generateKeyPair(); //生成密钥对 RSAPublicKey puk = (RSAPublicKey)kp。getPubl
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:安全数据存储系统的设计与实现.doc
    链接地址:https://www.zixin.com.cn/doc/4133086.html
    页脚通栏广告

    Copyright ©2010-2025   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork