102061 朱彬枫 论文正文.docx
- 文档编号:23748908
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:37
- 大小:816.91KB
102061 朱彬枫 论文正文.docx
《102061 朱彬枫 论文正文.docx》由会员分享,可在线阅读,更多相关《102061 朱彬枫 论文正文.docx(37页珍藏版)》请在冰豆网上搜索。
102061朱彬枫论文正文
杭州国际服务工程学院(信息科学与工程学院)
本科生毕业设计(论文)正文格式
(2012届始执行)
面向安全云存储的文档共享平台的设计与实现
摘要
近年来随着信息技术的飞速发展,云计算越来越热门,而作为云计算衍生出来的云存储因其TB级的存储能力、低廉的价格、部署便捷等优点逐渐获得了企业、政府等群体性组织的青睐。
然而云安全事故在近几年发生的频率不断上升,这严重制约了云存储的推广与发展。
面向安全云存储的文档共享平台针对目前主流云存储产品存在的数据安全性低、云存储服务提供商不可信、云上数据缺乏严格访问控制等问题,采用安全网关将存储与加密分离,把所有的加密工作都放在安全网关上进行,并使用一种最新的加密技术,密文策略属性基加密,结合混合加密机制对数据进行加密,实现了云存储中数据的安全存储、灵活共享以及对已加密数据的严格访问控制。
本平台前端可以有多种客户端形态,比如网站、移动APP等,后端的云存储服务可扩展性较强,可以同时支持主流的公有云及自建的私有云,适用于企业、政府等群体性组织在云存储环境下文档的安全管理。
关键词:
安全云存储,属性基加密,密文策略,访问控制
DESIGNANDIMPLEMENTATIONOFSECUREDOCUMENTSHARINGPLATFORMONCLOUDSTORAGE
ABSTRACT
Inrecentyears,withtherapiddevelopmentofinformationtechnology,cloudcomputinghasbecomemoreandmorepopular,andascloudcomputingderivedthecloudstoragegainedcompanies,governmentsandotherorganizations’recognitiongraduallybecauseofitsTBlevelofstoragecapacity,lowpriceandconvenientdeploymentadvantages.However,thefrequencyofcloudsecurityincidents’occurrencewasrisinginrecentyearscontinuously,whichseverelyrestrictedthepromotionanddevelopmentofcloudstorage.Inordertosolvecurrentmainstreamcloudstorageproducts’issues,suchaslowdatasecurity,untrustedcloudstorageserviceproviders,thelackofstrictaccesscontrolforclouddataandsoon,thispaperdesignsandimplementasecuredocumentsharingplatformoncloudstorage,whichusessecuritygatewaytoseparatestorageandencryption,allofencryptionwillbedoneonthesecuritygateway,andtheplatformusesanewencryptiontechnology,ciphertextpolicyattributebasedencryption,combinghybridencryptionmechanismtoencryptdatatoachievesecurestorageofdata,flexiblesharingandstrictaccesscontrolofencrypteddataoncloudstorage.Theplatformhasmanyclientforms,suchastheweb,APPs.Inaddition,itscloudstorageserviceswithhighexpandabilityisapplicableformainstreampubliccloudandprivatecloud,whichalsocanhelptheorganizationslikecompaniesandgovernmentsachievethesecuritymanagementofdocumentsinthecloudstorage.
Keywords:
securecloudstorage,ABE,ciphertextpolicy,accesscontrol
目录
第一章绪论1
1.1背景理论1
1.2实践意义1
1.3国内外研究现状与发展趋势1
1.4研究内容2
第二章开发技术4
2.1微软ASP.NET技术简介4
2.2面向服务体系结构(SOA)的WebService技术概述4
2.3三层架构概述5
2.4数据库概述5
第三章平台设计7
3.1架构设计7
3.1.1平台架构图7
3.1.2基本框架搭建7
3.2功能设计9
3.2.1平台WebService功能设计9
3.2.2平台客户端功能设计10
3.2.3平台管理端功能设计10
3.3数据库设计10
3.3.1数据库需求分析10
3.3.2数据E-R图11
3.3.3数据表11
第四章平台实现14
4.1环境配置14
4.1.1开发环境14
4.1.2运行环境14
4.2平台WebService实现14
4.2.1用户登录接口14
4.2.2文件上传下载接口15
4.2.3云存储操作接口16
4.3平台客户端实现17
4.3.1调用WebService接口17
4.3.2文件操作18
4.3.3用户个人中心20
4.4平台管理端实现21
4.5界面展示23
4.5.1登录界面23
4.5.2主界面23
4.5.3个人中心界面23
4.5.4管理端界面24
第五章总结和展望25
5.1结论25
5.2存在的问题及展望25
参考文献26
致谢27
第一章绪论
1.1背景理论
近几年来伴随着互联网技术与分布式计算技术的飞速发展,人们日常工作生活中需要的计算能力越来越高,对应的存储技术也从硬盘存储、ftp到目前的云存储。
云存储作为云计算衍生出来的技术,因其存储量大、价格低廉、部署便捷等优点逐渐受到了企业、政府部门等组织的青睐。
因此越来越多的政府、企业和个人用户都将自己的数据和信息存储在云存储产品上。
云存储使得数据存储更加方便快捷,但随之而来产生了很多新的安全问题[7]。
按照现在的存储模式,云存储服务提供商拥有很大的权力,不但能查看所有存储的数据,而且能对这些数据进行窃取、篡改,而数据又以明文存储在云存储上,这使得用户使用云存储只存储一些不重要、不敏感的数据,而相对于企业内部通讯录、客户资料、技术文档等重要敏感性数据,仍然采用企业内部服务器存储的方式。
同时,云存储中的用户,尤其是企业用户需要在保证数据安全性的前提,实现数据的灵活共享,因此希望云存储服务商能提供细粒度的访问控制策略,这样数据上传者就能有效控制数据的共享范围。
目前市面上主流的云存储产品有360云盘、XX云、阿里云等,这些产品的特点是存储容量大、稳定性高、灾备能力好等,但都存在以下问题:
(1)数据明文存储或简单加密存储,一旦数据泄露,其安全性无法保证;
(2)云存储服务提供商自身存在信任问题;
(3)数据缺乏严格的访问控制,无法有效控制数据的共享范围。
以上问题的存在大大限制了云存储的推广与发展[12]。
1.2实践意义
针对上述目前云存储的现状及存在的安全问题,本文提出了面向安全云存储的文档共享平台,该平台引入安全网关,采用了一种最新提出的加密策略—密文策略的属性基加密[3],并结合混合加密机制,能够实现云存储下文档的安全存储、共享及灵活的访问控制,在理论研究和实际应用方面都有着深远的意义。
1.3国内外研究现状与发展趋势
目前国内外研究云存储环境下数据安全存储及共享主要围绕于一种最新的加密策略—属性基加密(Attributed-basedEncryption,简称ABE)[1],它是在2005年,由国外著名的密码学家Sahai和Waters首次提出的,它基于模糊身份的加密,该算法无需关注群体中用户的数量和身份,而是用属性定义用户的身份,数据上传者通过定义属性的访问结构对用户进行访问控制。
与传统公钥加密相比,该算法不需要为每个用户生成对应的密文,从而降低了数据加密开销;其密钥的生成与随机数有关,可以有效防止用户之间共谋;更为重要的是其访问结构比较灵活,能够实现细粒度的访问控制。
ABE机制分为两种:
基于密钥策略的属性基加密[2](Key-PolicyAttributed-basedEncryption,简称KP-ABE)和基于密文策略的属性基加密[3](Ciphertext-PolicyAttributed-basedEncryption,简称CP-ABE),这两种机制刚好相,KP-ABE将访问结构附在密钥上,适合大规模数据查询,而CP-ABE则将访问结构附在密文上,适合加密文件的访问控制。
然而由于ABE自身的复杂性,目前还存在着一些重要的问题待解决:
(1)ABE机制中用户密钥与属性相关联,用户属性的变更将导致与该属性相关的密钥和密文需要更新,这会产生很大的开销。
针对此问题LiangX等人[5]提出一种基于线性秘密共享和二叉树的方法,另外每个用户用一个唯一标识符关联,这个标识符与ABE加密无关,因此在用户撤销时就只需要使用这个标识符进行撤销,这种方法比较简单明了;WangG等人[8]先将CP-ABE与多层次的身份验证相结合形成多层次的属性基加密机制,然后配合代理重加密和懒惰重加密(在撤销时不更新密文)来解决用户属性撤销问题;而JahidS等人[9]引入一个半可信第三方代理机构,这个机构不能解密密文但能执行对撤销用户的访问控制,实现了基于代理的撤销方法PIRATTE;同时RenK等人[4]则把问题聚焦于撤销带来巨大开销上,提出将撤销大部分计算代理给不可信第三方来降低密钥中心的负担。
到目前为止,对于ABE机制的撤销问题还没有一个很好的解决方案,上述的几个研究解决了部分问题,但是没有从根本上解决,这也是限制在实际应用中使用ABE机制的主要原因。
(2)CP-ABE机制中由资源提供方制定加密策略,策略复杂性决定了系统公钥设计的复杂性,这限制了访问结构的设计。
由此WanZ等人[11]提出了一种更为灵活、细粒度的访问控制方法,将用户的属性细化。
(3)ABE机制中使用双线性配对算法,它是效率最低的一种算法之一,然而在加解密的过程中密文的大小和解密时间随访问结构中涉及的属性个数的增加而呈线性增长,因此,双线性配对次数的不断增加会导致ABE算法效率会越来越低,从而影响性能。
目前比较合理的解决方案是将所有的复杂配对运算都代理给第三方,而用户只需做少量的运算,这样不仅保证了数据安全性,还提高了ABE算法的效率;还有一种方案是将ABE机制和与对称加密结合进行混合加密,这种方法是先用对称加密对文件进行加密,然后在使用ABE算法对对称加密的密钥进行加密,最后将文件密文和密钥密文进行合并。
针对上述几个问题,在近几年国内外学术界ABE越来越热门,对其的研究也更加深入,涉及的面越来越广,并出现了很多不错的研究成果。
随着云计算的发展,云存储会逐步代替传统的硬盘、FTP等存储方式,这就意味着如何保护云上敏感数据的安全将成为一大挑战,特别是既要保证存储的安全性,同时满足云上数据灵活安全的共享。
因此未来这块的发展会更偏向于实际应用方面,尤其是移动终端APP,国内杨小东等人[15]提出基于属性群的云存储密文访问控制方案可以给我们一个思路。
同时对ABE的研究也会更加深入,比如提高安全性这一块,LewkoA等人[10]提出了一种新的ABE实现方法,在安全性方面能满足选择性密文攻击。
1.4研究内容
整个平台从属性加密机制、架构、功能及数据库设计优化四方面来进行研究。
平台的核心算法使用了属性基加密机制中的密文策略属性基加密算法,了解该算法的特点、优势、目前的应用情况、如何使用及存在的问题等。
平台主要有四个模块组成:
云存储、授权中心、安全网关及客户端。
安全网关是整个平台的核心,它连接前端各种客户端形态及后端云存储服务,实现了大部分业务逻辑功能,比如数据加解密、连接云存储、密钥管理等,同时网关隔离内外网,保证数据通讯安全;授权中心是一个专门生成和分发密钥的第三方可信机构,它将密钥发送给安全网关进行管理;云存储具有较好的可扩展性,可以支持主流的公有云如阿里云、XX云等,也可以是利用Hadoop、OpenStack等建的私有云;前端客户端可以有多种形式,比如网站,APP等。
平台的功能主要有:
文件混合加密,从客户端上传的文件,先会发送至网关进行混合加密,首先使用对称加密加密文件,再使用公钥加密加密对称加密的密钥;用户登录,使用用户名和密码对用户进行验证;云上功能,有创建删除空间、创建删除文件夹、上传下载文件等;密钥管理,授权中心根据每个用户的属性为其生成并分发私钥,并交由安全网关进行管理;平台管理,对群体性组织内部的部门、人员、角色、属性的进行管理。
根据平台的需求以及数据库设计规范,设计出满足需求的数据库。
设计基本表时满足第三范式(3NF)规范,数据完整性限制良好,消除数据的冗余,节省磁盘的存储空间,使得数据管理员可以更加容易地做维护、移植和更新工作;在使用SQL语句时,需要注意对语句的优化,充分利用索引,使查询更加高效;同时要考虑安全性,避免SQL注入问题,应使用参数邦定的方式;要对数据库进行正确的参数配置,可以从调整内存分配、I/O、系统参数等方面入手。
第二章开发技术
本章讲述了面向安全云存储的文档共享平台开发时所用的技术,网页端通过ASP.NET实现,在网关上使用面向服务体系结构的WebService技术开发服务,数据库是轻量级的MySQL,整个平台使用三层架构。
2.1微软ASP.NET技术简介
ASP.NET是由ASP技术发展而来,它嵌入于网页中,在服务器端执行,是一种服务器端脚本技术。
ASP.NET一般运行于安装了.NETFramework的IIS(InternetInformationServer)服务器上,也可运行于Apache、Nginx等服务器,但需要借助第三方平台或插件。
开发时使用微软的集成开发环境VisualStudio,还可用MonoDevelop、MicrosoftExpressionWeb、MicrosoftWebMatrix等工具进行开发。
首选的开发语言是C#或VB.NET,还可以使用F#、J#、Python等。
与之前的ASP相比,ASP.NET的发展性要强大很多,它分为五大基本对象:
Application、Request、Response、Session和Server,它们依次封装HttpApplication对象、HttpRequest对象、HttpResponse对象、HttpSessionState对象和HttpServerUtility对象;支持多种控件,包括HTML控件(HTMLcontrol)和用户控件(Usercontrol),在HTML标记添加runat=”server”,就可以与ASP.NET的服务器控件一一对应,也可以直接使用服务器控件,与HTML控件相比,它能提供更为强大的功能。
用户控件以.ascx为扩展名,开发简单便捷,能根据相应的需求对控件进行灵活定制;可管理性高,与ASP可以较好兼容,同时它的编程模型和结构是全新的,这大大提高了应用程序的可扩展性和稳定性,ASP采用即时解释程序,而ASP.NET不同,它在服务器端将应用程序编译,这样大幅度提高了应用程序的运行速度。
近几年来以PHP、Ruby、Python等为首的Web技术不断出现,并且逐渐热门,但是ASP.NET技术以其自身的优势仍旧呈上升趋势。
2.2面向服务体系结构(SOA)的WebService技术概述
面向服务的体系结构是一个组件模型,它通过事先定义好的接口将应用程序的不同功能、服务联系起来。
其中接口的定义完全独立于实现服务的操作系统、硬件及编程方法,这样一来我们可以使用一种统一通用的方式来实现服务的交互。
WebService则是实现面向服务体系结构的一种方法,它是一个松耦合、平台独立、可编程的Web应用程序,能够使运行在不同平台或硬件上的应用实现数据交互或集成,并且不需要通过第三方的软件,也就是所谓的Web无缝集成。
同时由于WebService是基于一些已有的技术和常规的产业化标准,部署非常简单,也大大减少了开发应用接口的开销。
面向服务体系结构的WebService技术主要有以下优势:
(1)跨平台性,该技术可以让不同平台上的使用不同编程语言的服务进行数据交互。
(2)松耦合性,也就是说服务请求者、服务提供者与服务之间三者之间具有松耦合性,这样请求者就不需要了解提供者是如何实现该服务,包括其中的平台架构、编程语言、技术细节等等。
同时在服务发生变更时,应用程序之间的数据交互不会中断。
(3)可重用性,当一个服务被创建时,能够用于多个应用程序,可以在任何地点、任何时间通过Internet网络调用此服务。
(4)接口的明确性,服务请求者到服务提供者绑定的细节通过Web服务描述语言(WebServicesDescriptionLanguage,WSDL)来明确描述。
(5)开放性,目前基于面向服务体系结构的WebService技术都是基于W3C或其他公认标准实现,主要有SOAP、WSDL、UDDI等。
(6)强适应性,一般客户需求经常会发生变更,而该技术只需要通过适当少量的修改就可以很好的适应。
2.3三层架构概述
三层架构(3-tierarchitecture)包括数据访问层(DAL)、业务逻辑层(BLL)和表现层(UI),这三层把应用程序模块化。
数据访问层也可以叫做持久化层,所做的就是直接操作数据库,包括数据库系统、数据文本、XML文档等等,主要是针对数据的增加、删除、修改以及查找,为业务逻辑层或表现层提供数据服务,也就是说业务逻辑层或表现层通过调用数据访问层来实现所有数据库操作;业务逻辑层则针对每一个具体的问题,处理数据访问层的数据,对数据进行业务逻辑处理,供表现层调用,它是整个架构中的核心,在数据访问层语表现层之间架起了一座桥梁,需要有良好的可扩展性;表现层也叫表示层,一般为Web形式,是最接近用户的,它提供一个界面来与用户进行交互,收集用户填写的数据调用业务逻辑层来实现具体功能,因此在表现层的代码量是很少的,只要业务逻辑层的功能比较完善,不管表现层如何改变,业务逻辑层都能很好地提供服务。
一般的项目如果只是把程序分为数据访问、业务逻辑、表现三个模块式不能叫做三层架构的,三层架构需要满足一定的规则,首先在表现层没有或者只有极少的SQL语句,而且不能包含任何业务逻辑的处理;其次三个模块是可以分别独立运行于不同的服务器,数据访问层能被不同的程序调用;最后程序在去掉表现层之后还能在接口层提供所有的功能。
三层架构的优势比较明显,主要有以下几点:
(1)整个项目分成三个模块,开发人员只需要关注其中的一层,利于分工合作。
(2)比较容易做后期的维护工作,一般只需要修改业务逻辑层,降低了维护的成本和时间。
(3)按照这样的架构开发更符合标准化。
(4)源代码管理方便,整个代码的结构非常清晰。
(5)降低了层与层之间的依赖。
2.4数据库概述
本平台所采用的数据库是MySQL5.6版本。
MySQL是一个小型关系型数据库管理系统,瑞典的MySQLAB公司作为它的开发者,目前已经被Sun公司收购,MySQL能够支持多种操作系统,包括Windows、Linux、MAC以及FreeBSD等。
MySQL具有体积小、速度快、总体拥有成本较低等特点,因此很多的中小型网站为了降低成本而选择MySQL作为数据库。
MySQL作为一个快速的SQL数据库服务器,实现了多线程、多用户等特性,并且支持关键任务以及重负载生产系统的使用,也可将它嵌入到大配置的软件中。
尽管它的版本还在不断更新迭代中,但已经把一个丰富和有用的功能集提供给了广大用户。
MySQL是非常适合访问在Internet上的数据库因为它的速度、安全性和连接性。
MySQL的源代码具有可移植性,主要使用C、C++编写,并使用多重编译器进行了测试。
它还为多种编程语言提供了API,包括C、C++、Java和PHP等,优化了SQL查询算法,有效地提高了查询的速度。
MySQL不仅能够作为一个库嵌入到其他的软件中,也可以是一个单独的应用程序应用于客户端服务器的网络环境中。
它提供了多种编码格式例如中文的GB2312以及BIG5、日文的Shift_JIS等,这些都可以用来当做数据的表名和列名,增强了数据库的灵活性。
虽然与其他的大型数据库比如DB2、SQLServer以及Oracle等相比有它的不足之处,例如功能有限、规模小、效率相对比较差,但它可以处理拥有上千万条记录的大型数据,并且支持常见的SQL语句规范,对于一般的中小型企业和个人用户,MySQL所拥有的功能已经绰绰有余。
它的安装相对简单,便于用户的管理、调试,优化。
相对于之前的版本,MySQL5.6主要有5大新特性。
(1)优化器的改进:
5.6版本的SQL查询效率大幅度提高,主要体现在多范围的读数据和索引条件pushdown。
(2)InnoDB的改进:
InnoDB存储引擎团队提供了NoSQL的访问接口,可以通过Memcached的API来直接访问InnoDB的表。
(3)通过memcachedAPI直接访问NoSQL:
使用这种方法对于Web应用中数据访问的性能来说会大幅度提高,适合简单的查询。
(4)更好的复制:
5.6版本改进数据的完整性和可用性,并且提升了数据性能。
(5)PerformanceSchema:
从5.5版本中引入,5.6版本中做了进一步的修改,它所提供新功能包括:
表锁、表锁等待以及表的输入输出。
第三章平台设计
本章讲述了面向安全云存储的文档共享平台的设计,包括架构设计、功能设计和数据库设计。
3.1架构设计
3.1.1平台架构图
本平台致力于解决目前云存储产品中数据安全性低、云服务提供商不可信、数据缺乏严格访问控制等问题,实现云存储环境下数据的安全存储、灵活共享以及对已加密数据的严格访问控制,比较适用于企业信息化过程中数据外包给云存储安全性得不到保证的情况。
整个平台分成四个模块,分别是网关、前端的客户端和管理端、后端云存储和授权中心。
网关是平台的核心,它是客户端和云存储之间的连接桥梁,在网关上会部署WebService,实现文件加解密、云存储操作、密钥管理等功能,同时网关会隔离内外网;前端的客户端和管理端主要面向普通用户及管理员使用,普通用户上传、下载文件,管理员管理用户的信息;后端云存储是用来存储经过网关加密后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 102061 朱彬枫 论文正文 论文 正文