(通信与信息系统专业论文)协同环境下基于p2p的安全文件共享系统.pdf_第1页
(通信与信息系统专业论文)协同环境下基于p2p的安全文件共享系统.pdf_第2页
(通信与信息系统专业论文)协同环境下基于p2p的安全文件共享系统.pdf_第3页
(通信与信息系统专业论文)协同环境下基于p2p的安全文件共享系统.pdf_第4页
(通信与信息系统专业论文)协同环境下基于p2p的安全文件共享系统.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(通信与信息系统专业论文)协同环境下基于p2p的安全文件共享系统.pdf.pdf 免费下载

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

文档简介

摘要 随着现代信息技术的发展,对于在任何时间,任何地点,任何设备之间进 行信息交换和文件共享的需求越来越迫切。近几年来,p 2 p 逐渐成为互联网上最 热门的网络传输技术,目前在文件共享,协同工作,科学计算,搜索引擎,即 时通信和网络游戏等等诸多方面得到了广泛的应用。而在文件共享这方面,更 是颠覆了传统概念,人越多下载速度越快,文件体积越大,优势越明显,从而 也越来越受人们青睐。 基于p 2 p 的文件共享软件已经成为人们生活中必不可少的工具,可是迄今 为止仍然多用于各种音频,视频,图片等各种文件的共享,很少用于对安全性 较高的工作环境。协同设计作为c a d 技术与c s c w 技术结合的产物,可以有效 地利用异地资源,缩短产品开发周期,降低产品设计成本,那么把有着各种优 势的p 2 p 文件共享应用到协同环境中成为必然。 本文设计和实现了在协同环境下基于p 2 p 的安全文件共享系统。综合分析 了p 2 p 技术的原理和特点,并介绍了著名的开源p 2 p 协议b t 协议以及b t 的优点和工作原理。针对性的分析了s s l 协议的安全性,以及如何利用s s l 对 t c p 传输进行加密。设计并实现了以b t 协议为基础,使用s s l 技术对关键t c p 传输通道进行加密的较为安全的文件共享系统,不但提高了共享文件本身的保 密措施和数据完整性,更加添加了对共享者的身份认证,解决了协同环境下的 安全问题,同时继承了p 2 p 一贯的健壮性,高效性,负载均衡等优点。 本文的主要工作和创新点归纳为以下两个方面: 1 ) 在协同设计的具体环境下,采用b t 协议与f i t 协议相结合的下载方式, 提高下载的高效性。 2 1 将b t 协议与s s l 协议相结合。使用s s l 技术加密b t 传输中关键的t c p 信道,提高文件共享的安全性和抗攻击性。 关键词:协同环境、文件共享、p 2 p 、b t 、s s l a b s t r a c t w i t ht h ed e v e l o p m e n to fm o d e r ni n f o r m a t i o nt e c h n o l o g y , i n f o r m a t i o ne x c h a n g e a n df i l es h a r i n ga ta n yt i m e ,a n yp l a c ea r eb a d l yr e q u i r e db ym o r ea n dm o r ep e o p l e i nr e c e n ty e a r s ,t h ep 2 pt e c h n o l o g yg r a d u a l l yb e c o m e st h em o s tp o p u l a rn e t w o r k t r a n s m i s s i o nt e c h n o l o g y n o w a d a y s ,p 2 ph a sb e e nw i d e l yu s e di nm a n ya s p e c t sj u s t l i k ef i l e - s h a r i n g , c s c w , s c i e n t i f i cc o m p u t i n g , s e a r c he n g i n c s ,i n s t a n tm e s s a g i n g , o n l i n eg a m e sa n ds oo n e s p e c i a l l yi nt h ea r e ao ff i l e s h a r i n g ,p 2 ph a sq u i td i f f e r e n t c o n c e p tf r o mt r a d i t i o n a ld o w n l o a dm e t h o d s t h em o r ep e o p l ed o w n l o a d ,t h ef a s t e r t h ed o w n l o a d a n di tg e t so b v i o u sa d v a n t a g e sw h e nt h ed o w n l o a df i l e sa r el a r g e s o p 2 ph a sm o r ea n dm o r ef a n s ai o to ff i l es h a r i n gs o f t w a r eb a s e do np 2 ph a v eb e c o m ei n d i s p e n s a b l et o o l si n o u rl i v e s b u ts of a rm a n ya r es t i l lu s e dt os h a r ea u d i o s ,v i d e o s ,p i c t u r e sa n ds oo n , s e l d o mu s e di nh i g l ls e c u r i t yw o r k i n ge n v i r o n m e n t c o l l a b o r a t i v ed e s i g n ,a st h e c o m b i n a t i o no ft h et e c h n o l o g i e so fc a da n dc s c w , c a nf u l l yu t i l i z et h er e m o t e r e s o u r c e s ,s h o r t e np r o d u c t s m a d e t i m ee f f e c t i v e l y , a n dr e d u c ep r o d u c t s d e s i g n i n g c o s t ,t h e nt h ef i l e - s h a r i n gb a s e do np 2 pa p p l i e dt ot h ec o l l a b o r a t i v ee n v i r o n m e n ti s i n e v i t a b l e i nt h i sp a p e r , t h ea u t h o rd e s i g n e sa n dd e v e l o p sas e m t yf i l e - s h a r i n gs y s t e m b a s e do np 2 pf o rt h ec o l l a b o r a t i v ee n v i r o n m e n t i tc o m p r e h e n s i v e l ya n a l y z e st h e p r i n c i p l ea n dc h a r a c t e r i s t i c so fp 2 ei n t r o d u c e dt h e w e l l - k n o w no p e n s o u r c ep 2 p p r o t o c o l b tp r o t o c o l ,t h ea d v a n t a g e so fb tp r o t o c o la n di t sw o r k i n gp r i n c i p l e i t a l s oa n a l y z e st h es e c u r i t yo ft h es s lp r o t o c o l ,a n dh o wt ou s es s lt oe n c r y p tt h e t c p t r a n s m i s s i o n f i n a l l yi td e s i g n e da n di m p l e m e n t e dam o r es e c u r ef i l es h a r i n g s y s t e mb a s e do i lp 2 p , a n du s e ss s lp r o t o c o lt oe n c r y p tt h ek e yt r a n s m i s s i o nc h a n n e l s n o to n l yi m p r o v et h ec o n f i d e n t i a l i t yo ft h es h a r i n gf i l e sa n dd a t ai n t e g r i t y , b u ta l s o i d e n t i t yt h ea u t h e n t i c a t i o nw h ow a n t st og e tt h es h a r i n gf i l e s s oi ts o l v ep a r to ft h e s e c u r i t yp r o b l e m si nc o l l a b o r a t i v ee n v i r o n m e n t a tt h es a m et i m e ,t h es y s t e mh a s b e e no b v i o u s l yi n h e r i t e dt h ea d v a n t a g e sf r o mp 2 pl i k er o b u s t n e s s ,e f f i c i e n c y , l o a d b a l a n c i n g i nt h i sp a p e r ,t h ei n n o v a t i v ec h a r a c t e r i s t i c so ft h ep o i n ta r es u m m e du pi nt l l e f o l l o w i n gt w oa s p e c t s : 1 ) i nt h ec i r c u m s t a n c e so fc o l l a b o r a t i v ed e s i g n ,t ou s ean e wd o w n l o a dm o d e w h i c hc o m b i n st h eb ta n dt h et r a d i t i o n a lf r pd o w n l o a da d v a n t a g e s i m p r o v et h e e f f i c i e n c yo fd o w n l o a d 2 ) b o t hu s eb tp r o t o c o la n ds s lp r o t o c 0 1 t h es y s t e mu s e ss s lp r o t o c o lt o e n c r y p tt h ek e yc h a n n e l so ft h eb tt r a n s m i s s i o ni no r d e rt oe n h a n c et h es e c u r i t yo f f i l e - s h a r i n ga n di m p r o v ea n t i - o f f e n s i v e k e yw o r d s :c o l l a b o r a t i v ed e s i g n ;f i l e - s h a r i n g ;p 2 p ;b t ;s s l l i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 , 签名:蕴趄! 盈日期:塑艺堇:丝 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库 进行检索,可以采用影印、缩印或其他复制手段保存或汇编本学位论文。同时 授权经武汉理工大学认可的国家有关机构或论文数据库使用或收录本学位论 文,并向社会公众提供信息服务。 ( 保密的论文在解密后应遵守此规定) 签名:盖:望:焦 导师签名: 日期:西羔:尘 武汉理工大学硕士学位论文 1 1 研究背景 第1 章引言 网络技术的飞速发展使得计算机和网络日益成为对社会经济增长起决定性 作用的生产工具,使得设计制造各个环节的各种信息与知识能够得到流通和集 成,分布异地的不同生产单元的资源共享和协同工作从而成为可能,也就是网 络化制造得以实现,网络化制造成为制造业的发展方向【1 j 。 在制造业涌现出的众多新思想、新理念、新模式中,计算机支持的协同工 作( c s a :c o m p u t e rs u p p o s e dc o o p e r a t i v ew o r k ) 是一个重要的支撑技术领域。 计算机支持的协同设计( c s c d :c o m p u t e rs u p p o r t e dc o o p e r a t i v ed e s i g n ) 是计算 机支持的协同工作( c s c w ) 在设计领域的具体应用,是近年来新提出的一种产品 开发模式,是指为完成某一特定的设计任务,由两个以上的设计者通过一定的 信息交换和相互协同机制,分别以不同的设计任务共同完成既定的设计任务, 其目标是使企业能够以更快的速度、更好的质量和更低的成本来开发满足用户 需要的产品i 引。 建立和完善一个实用化的、企业间用于信息交流的产品协同设计系统,要 应用基于异构环境下的异地、多点、同步协同设计技术,需要支持异地设计人 员在网上进行新品研发的分析讨论。随着协同设计领域研究的进展,为了使设 计人员能够快速获得各种所需的设计信息,加快产品开发进程,建立和完善支 持异地协同产品设计的相关资源库也成为一个重要的研究方向时1 。 协同设计环境中的文件共享,作为资源共享的一部分,现在大多还采用传统 的c s 和b s 结构,c s 结构是非常流行的一种分布式计算模式,但是c s 模式 的劣势是高昂的维护成本且投资大。而b s 结构本身也有着致命的缺点,就是 应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。 近几年来越来越流行的p 2 p 技术提出了一个全新的网络传输理念:整个网 络中不存在中心服务器,每一个p e e r 的权利和义务都是对等的;打破以往通过 服务器浏览或下载的c s 模式,允许用户与用户之间通过建立链接的方式进行 直接的文件共享与交换,而不必像以往那样必需连接到服务器去浏览与下载文 件。p 2 p 目前而言,最大的优势就是可以提高网络用户的网络利用率,由于多 武汉理工大学硕士学位论文 个节点互相连接,用户所在的网络带宽将会被最大程度的使用呻1 。 1 2 研究目标 在协同设计化境中,经常需要共享大型数据文件,并且对所共享的文件具 有较高的安全要求和效率。基于这种需求,本课题基于p 2 p 相关技术,旨在研 究如何保证协同环境下文件共享的高效性和安全性,实现一个面向协同设计环 境的、安全高效的p 2 p 文件共享系统,并进行功能上的摒弃和扩展,利用s s l 安全技术解决p 2 p 文件共享系统在传输过程中的相关安全问题,使之更加适合 具体的应用环境。从而实现各企业单位之间技术部门产品的协同开发,提高新 产品的开发效率,加速新产品的开发速度。 1 3 国内外相关研究现状 到目前为止,p 2 p 研究已经涉及非常广泛的方面,主要包括:网络拓扑构 造、安全与可靠性、分布式数据存储、大规模并行计算等【7 】。 由于能够极大缓解传统架构中服务器端的压力过大、单一失效点等问题, 又能充分利用终端的丰富资源,所以p 2 p 技术被广泛应用于计算机网络的各个 应用领域,如分布式科学计算、文件共享、流媒体直播与点播、语音通信及在 线游戏支撑平台等方面【引。 1 ) 分布式科学计算 许多计算机的c p u 资源在很多时候都处于“空闲”状态,而p 2 p 技术可以使 得众多终端的c p u 资源联合起来,服务于一个共同的计算。这种计算一般是计 算量巨大、数据极多、耗时很长的科学计算。在每次计算过程中,任务( 包括逻 辑与数据等) 被划分成多个片,被分配到参与科学计算的p 2 p 节点机器上。在不 影响原有计算机使用的前提下,利用分散的c p u 资源完成计算任务,并将结果 返回给一个或多个服务器,将众多结果进行整合,以得到最终结果。 2 ) 文件共享 以p 2 p 模式实现了自由的文件交换体系,从而引发了网络的p 2 p 技术革命 1 9 l 。一种是“中心文件目录分布式文件系统,交换数据时是通过中央服务器来 进行目录管理的。n a p s t e r 就属于此类。由于采用集中式目录管理,所以不可避 2 武汉理工大学硕士学位论文 免地存在单点瓶颈的问题。另外一种属于完全的p 2 p ,这类系统没有中间服务器。 g n u t e l l a 1 0 l 和f r e e n e t ”l 是这方面两个典型的应用。第三类系统是上面两类系统的 折衷有中间服务器,但文件目录是分布的,比如当下流行的e d o n k e y 、e m u l e 等等。发展到如今,各种各样的p 2 p 文件共享软件让人琳琅满目,最流行的莫 过于b t 、电驴、v a g a a 、p o c 0 2 0 0 7 、p p 点点通、m a z e 等等。 3 1 流媒体播放 眼下,除了学术界对p 2 p 流媒体直播的研究外,中国还涌现了很多成功的 p 2 p 流媒体直播商业产品如p p l i v e 、p p s t r e a m 、沸点和t v a n t s 等。此外,国外 也有不少对p 2 p 流媒体直播的研究,如s p l i t s t r e a m 等。 除了流媒体直播,流媒体点播也逐渐成为当今的热门。由于观看直播节目 时用户不能选择观看指定片段,所以在人们热烈研究p 2 p 流媒体直播时,已有 人开始将目光转向p 2 p 流媒体点播服务。目前成功推出p 2 p 流媒体点播的机构 还不多,典型的有p p l j v c 、p p s t r e a m 等等。 4 ) 协同工作 协同工作是指多个用户之间利用网络中的协同计算平台互相协同来共同完 成计算任务,共享各种各样的信息资源等【1 2 1 。在p 2 p 出现之前,协同工作的任 务通常由诸如l o t u sn o t e s 、m s e x c h a n g e 等来实现,l o t o u s 公司的创始人组织开 发的g r o o v e 是目前最著名的p 2 p 协同工作产品。g r o o v e 采用中间传递服务器 ( r e l a ys e r v e r s ) 来实现p 2 p 的多播,采用x m l 表示的路由协议,多个不同的g r o u p 之间不仅仅可以共享文件、聊天信息还可以共享各种应用程序。 5 1 即时通信 p 2 p 的即时通讯软件不仅可以随时知晓对方在线与否,而且交流双方的通讯 完全是点对点进行,不依赖服务器的性能和网络带宽。国内除了腾讯公司的q q 外,也涌现出很多强大的即时通信工具,像新浪u c ,百度h i ,网易泡泡等等。 6 ) 搜索引擎 搜索引擎是目前人们在网络中搜索信息的主要工具。目前的搜索引擎如: g o o g l e 、天网等都是集中式的搜索引擎。即使是g o o g l e 这个目前非常出色的全 中文搜索引擎只能搜索到2 0 一3 0 的网络资源。p 2 p 网络模式中节点之间动态 而又对等的互联关系使得搜索可以在对等点之间直接地、实时地进行,既可以 保证搜索的实时性,又可以达到传统目录式搜索引擎无可比拟的深度( 理论上 将包括网络上所有开放的信息资源) 。p 2 p 为互联网的信息搜索提供了全新的解 3 武汉理工大学硕士学位论文 决之道。 7 ) 网络游戏平台 由于服务器能力有限,大型网络在线游戏往往需要限制场景人数或者不断 增加服务器,而网络对战游戏也必须局限在局域网内进行或者依赖独立的服务 器端程序及机器实现i n t e m e t 上的电子竞技。目前,已有研究人员将p 2 p 技术引 入网络游戏和网络游戏支撑平台中。目前较为成功的p 2 p 游戏平台是华中科技 大学集群与网格计算湖北省重点实验室推出的l : k t o w n 系统。 1 4 本文的组织结构 本文主要是实现在协同设计环境中基于p 2 p 的文件共享系统,由于采用b t 协议,并且使用s s l 技术对传输通道进行加密。所以详细介绍了整个系统的设 计,开放源代码的、实现s s l 协议的免费软件包o p e n s s l ,s s l 加密通信模块 的实现,b t 的关键算法与分析,以及整个系统的测试等等。各个章节安排如下: 本章介绍了本课题的研究背景,研究目标,国内外的研究状况以及论文的 组织结构。 第2 章:p 2 p 技术与s s l 协议综述。主要介绍p 2 p 技术的概念,网络模型 和技术特点,以及当今流行的p 2 p 协议介绍和对比,并对s s l 协议进行简介。 第3 章:基于b t 协议的文件共享系统的总体设计。提出系统设计的目标, 实现要求,整体框架,主要功能模块以及实现的关键技术。 第4 章:系统的实现。主要是介绍了s s l 协议模块,b t 协议模块的实现以 及最后的系统集成。 第5 章:系统测试。对整个系统进行测试,记录相关数据并分析。 第6 章:总结与展望。 4 武汉理工大学硕士学位论文 第2 章p 2 p 技术与s s l 协议综述 2 1p 2 p 技术综述 p 2 p 是英文p e e r - t o p e e r 的缩写,称为对等网或点对点技术。p 2 p 是一种网 络模型,在这种网络中所有的节点都是对等的,对等点之间通过直接互连共享 信息内容、处理器资源、存储资源甚至高速缓存资源等,无需依赖集中式服务 器或资源,各节点具有相同的责任与能力并协同完成任务。这种模式与当今广 泛使用的客户端朋民务器( c s ) 的网络模式形成鲜明对比,c s 模式中服务器是网 络的控制核心,而p 2 p 模式的节点则具有很高的自治性和随意性。 目前,对于p 2 p 依然没有统一的定义,以下是c l a ys h i r k e y ( t h ea c c e l e r a t o r g r o u p ) 给p 2 p 下的定义1 1 3 j : “p 2 p 是一种利用位于i n t e r a c t 边缘的各种可用资源( 如存储空间、计算能力、 媒体内容) 的应用。访问这些分散的资源,就意味着要在连接不稳定和口地址不 可预见的环境里工作,网络上大量的节点工作在d n s 系统之外,这些分散的资 源具有不稳定的连通性和未知的i p 地址,因此p 2 p 节点不能再使用d n s 来进 行访问,并且节点从中央服务器中获得极大的自主权。” 从技术角度来说,p 2 p 并不是新的技术,而是一种新的应用技术模式。c s 模式形成互联网上的集中,信息资源向同一方向集中,这样的模式符合一对多、 强对弱的社会形式,满足了计算机网络的发展需求。但是随着计算机网络的发 展,越来越多的资源加入到系统中,大量资源集聚在少数服务器节点上,使服 务器的负载越来越重,难以向客户提供快捷的服务,从而形成系统的瓶颈,于 是p 2 p 技术开始广泛的应用。 目前p 2 p 的网络模型主要有以下三种1 1 4 】: 1 ) 集中式p 2 p 集中式p 2 p 模型有一个或多个中心服务器来负责记录共享资源以及回答对 这些资源的查询。每一个对等点对它将要共享的资源以及进行的通信负责,根 据需要下载它所需要的其它对等点上的资源。 集中目录式对等网络模型存在很多问题,主要表现为:中央服务器的瘫痪 5 武汉理工大学硕士学位论文 容易导致整个网络的崩溃,可靠性和安全性较低。而且随着网络规模的扩大, 对中央目录服务器进行维护和更新的费用将急剧增加,所需成本过高 2 ) 分布式p 2 p 分布式p 2 p 模型是一种纯p 2 p 模式,这种形式不需要有中心服务器,其上 的每一个对等点地位是完全平等的。每一个p e e r 既可以作为客户机又可以作为 服务器,并且它们与相邻的p e e r 有相同的能力。采用分布式p 2 p 形式的软件被 称为第二代p 2 p ,像g n u t e l l a , f r e e n e t 就是这种形式的代表。 然而分布式对等网络模型也存在很多弊端,主要表现在以下方面:随着网 络规模的扩大,通过扩散方式定位对等点及查询信息的方法将造成网络流量急 剧增加,从而导致网络拥塞,最终使得网络被分片,使得查询访问只能在网络 很小的一部分进行。因此,网络的可扩展性不好,对于大型网络也不适合。同 时,安全性也不高,易遭受恶意攻击,如攻击者发送垃圾查询信息,造成网络 拥塞等。 3 ) 混合式p 2 p 混合p 2 p 模型结合了集中式和分布式p 2 p 模型的优点,在设计思想和处理 能力上都得到近一步优化。它在分布式模式基础上,将用户结点按能力进行分 类,一些具有足够带宽和处理能力的节点完成集中式p 2 p 中目录服务器的功能, 负责管理某个范围之内的对等点及其共享资源的目录信息,这些具有特殊功能 的对等点通常叫做超级节点( s u p e rn o d e ) 。 当网络中某个节点提出资源查询要求时,查询消息首先发送给它所属的s n 。 s n 在本地目录中进行检索,一旦发现有符合查询条件内容的资源,则将返回该 资源所在节点的地址i p 和端口号。然后两台对等机之间会直接建立连接,进行 资源的共享。如果s n 在本地目录没有发现任何满足查询请求的节点资源,它将 向网络中其它s n 转发该请求消息。其它s n 他分别查找本地目录,发现有匹配 项后,返回相应节点的地址和端口号。同样,两台对等机之间会直接建立连接 并进行资源访问。 p 2 p 技术的主要特点n 朝包括:非中心化,可扩展性,健壮性,高性价比, 隐私保护,负载均衡等等。 6 武汉理工大学硕士学位论文 2 2 流行的p 2 p 协议介绍及对比 当今最流行的p 2 p 协议是b t 协议和电驴协议。 b t 协议,全称b i t t o r r e n t ,由b r a i nc o h e n 创造,是一个文件分发协议,它 通过u r l 识别内容并且和网络无缝结合。它对比h 1 【1 p f r p 协议,m m s r t s p 流媒体协议等下载方式的优势在于,一个文件的下载者们下载的同时也在不断 互相上传数据,使文件源( 可以是服务器源也可以是个人源,一般特指第一个 做种者或种子的第一发布者) 可以在增加很有限的负载之情况下支持大量下载 者同时下载。 b t 协议将文件共享模式分为t r a c k e r 服务器和c l i e n t 两部分。t r a c k e r 服务 器的任务是搜集c l i e n t 的信息,并帮助b tc l i e n t 相互发现对方,进而能互相下 载所需的资源。每一个c l i e n t ,即一个p e e r 在下载开始以及下载过程中,要不断 地与t r a c k e r 服务器进行通信,报告自己的信息并获取其它p e e r 的信息。t r a c k e 对所有下载者的信息进行维护,当它收到一个请求后,先把发出请求的p e e r 的 信息记录下来,然后将其他参与下载同一个文件的下载者的信息返回给该p e e r 。 p e e r 在收到t r a c k e r 的响应后,与其它下载者建立连接下载本地所没有的文件资 源。为了使别的客户端也可以从本地获取文件资源,该客户端还要监听某个端 口,用于接收其它p e e r s 的连接请求。 而电驴协议包括s a my a g a n 创造的e d 2 k 协议和m e r k u r 改造的e m u l e ,后 者是在前者的基础上加以改进和优化,我们现在所谓的电驴协议多指e m u l e 。 当使用电驴上共享文件的时候,实际连接的服务器得到共享文件的“身份 ( h a s h ) 并把它写到一个清单里。如果文件被一个以上的用户共享;服务器会意 识到这一点。下载过程中,原理和b t 也十分的相似。共享文件被划为不同的 “块 ,一个用户可以同时从所有的该文件的拥有者那里下载这个文件的不同 “块”。整个文件的不同部分被加到一个“p a r t 文件里,该文件表示了你原来 要下载的文件( 因此它跟该文件有着同样的大小) 。当收到所有的部分后,这 个p a r t 文件被重命名为原来的文件并被移动到i n c o m i n g 文件夹。 b t 协议和电驴协议,两者都采用混合式p 2 p 结构,下载原理也非常的接近。 两者的特点对比如下表: 7 武汉理工大学硕士学位论文 表2 - 1b t 协议与电驴协议的特性对比 b t 协议电驴协议 1 ) 同属于p 2 p 协议,拥有p 2 p 技术的所有特点,下载时将文件分割为无数片段, 从不同节点下载不同片段。从而达到“下载人数越多,下载速度越快”的目的。 相同点 2 ) 对流行和热门的资源下载速度十分的快,但是对老资源和稀少的资源下载很 慢,甚至可能出现无法完整下载的状态。 采用b t 种子作为下载部署的重要所有共享文件在服务器端生成清单,下载 文件,服务器上没有文件共享的任时无需其他的文件来部署下载。服务器的 不同点 何清单,仅在有文件下载时起中转安全性很重要。 作用。 2 3s s l 协议简介 i n t e m e t 在商业上的爆炸性的增长和发展意味着越来越多的信息在传送过程 中需要保密或不被修改。由于在i n t e r n e t 上进行通信的团体很多,要用预先交换 密钥后传送数据的办法是不切实际的;同时,由于i n t e m e t 的匿名性,要求互相 通信的双方能够相互验证身份。在此要求下,s s l 应运而生。 s s l ( s e c u r es o c k e tl a y e r ,即安全套接层) ,由n e t s c a p e 公司提出的一种安全 协议,目前广泛地使用在w w w 协议中,主流的w e b 服务器和浏览器都支持s s l 协议,但是s s l 协议绝不仅仅针对于w w w 协议,它可以应用于传输层之上的 所有服务。它是一种在两台机器之间提供安全通道的协议,具有保护数据传输 以及识别机器的功能。安全通道是透明的,对所传输的数据不加变更,客户端 和服务器之间的数据是经过加密的,一端写入的数据完全是另一端读取的内容。 透明性使得几乎所有的基于t c p 的协议稍加改动就可以在s s l 上运行,非常方 便1 1 6 1 。 s s l 的首要用途就是保护h ”曙的w e b 通信。建立s s l 通信的过程很简单。 由于许多协议都在t c p 上运行,而s s l 连接与t c p 连接非常相似,所以在s s l 上附加现有的协议来保证其安全是一项非常吸引人的设计决策。除了在s s l 上 运行h 下r p 之外,很快就出现了许多使用s s l 来保护因特网协议的提议,其中 包括s m t p ,t e l n e t 和f r p ,许多厂商还使用s s l 来保护他们的专有协议。 8 武汉理工大学硕士学位论文 第3 章基于b t 协议的文件共享系统的总体设计 3 1 系统设计目标与实现要求 本文的设计目标是在协同环境下实现一个基于b t 协议的安全的文件共享 系统,此系统主要用于文件,特别是大文件在短时间内迅速共享并传输给多个 终端,具有实时性和高效性,并且具有较强的安全性和可管理性,能够提供一 定的网络服务质量保证。 整体结构上实际是采用了p 2 p 和c s 结构相结合的方式。其中p 2 p 下载主 要是以b t 协议为基础,选取b t 协议的理由一是因为b t 协议发展至今已经成 为一款十分成熟与稳定的p 2 p 协议,被广大用户所认可和欢迎,再则,b t 协议 是一款开源的协议,可以免费的使用并且根据自己的具体需要来修改其中的特 定功能与算法。另外,c s 模式主要用于b t 种子以及其他小文件的传输和管理。 这个系统需要解决的主要的p 2 p 问题,包括身份识别认证、授权、数据完整性、 保密性和不可否认性等等。 系统的实现要求主要包括: 1 1 l 拓扑一致性和良好的容错性能 由于p 2 p 网络是更多地考虑连接那些中低端的p c 机,它们不具备服务器那 样强的联网能力,在一个缺少集中化服务器的动态环境下,各个结点应该能构 维持一致的网络拓扑信息。并且,由于p 2 p 网络结点的加入和离开非常频繁, 所以需要建立一个高效的信息一致性维护机制。p 2 p 网络还应有良好的容错性 能,能够保证不会因为部分结点失效或部分网络故障而使得整个网络不可用。 2 1 自组织能力 对于p 2 p 系统而言,系统结点应具有一定的自由度,可以动态地加入和退 出,这就需要一种灵活的系统结构,无需人工干预就能适应结点集合的变化。 同时,面对系统中大量的数据,由人工进行组织和维护显然是不现实的,这也 要求系统具有自组织、自维护、自恢复能力。 3 ) 负载均衡 负载均衡模块应该可以监控各种信息的流量和请求率,然后重新分布这些 9 武汉理工大学硕士学位论文 信息以减轻单个结点的负载。 4 ) 安全加密 p 2 p 中的安全问题直接决定了p 2 p 能否被大规模进行商业应用。p 2 p 中的安 全问题包括信息的加密、用户身份的认证、恶意结点的识别和应对。并且建立 一个有效的管理机制和对等点的互信机制和身份鉴别机制,预防由恶意请求引 发的拒绝服务而导致的系统崩溃。 3 2 系统的整体框架 3 2 1 系统的框架图 以下为b t 与s s l 结合的文件共享系统的整体框架图: f r p 服务器各个终端b t 服务器 ( w e b 服务器) 直接下 s s l 通信模块 载小文 系统管理员 利用b t s s l 通信模块 件或者 种子下 获取大客户端a 载体积 文件的 大的文 c7 b t 种子 客户端b 件 弋 7 j b t 下载模块 上传下载模块 hh 客户端n 图3 - 1 系统整体框架图 各客户端首先通过s s l 身份认证登录w e b 服务器或者f 1 r p 服务器,更新, 上传或者下载相应的b t 种子文件,在获得相应的b t 文件后,连接b t 服务器, 请求下载。在b t 客户端与t r a c k e r 服务器之间的交互,将采用安全的h t r p s 协议,验证身份,成功握手之后启用b t 下载,从而完成整个文件的下载。 其中,s s l 通信模块主要是在服务器和客户端之间建立一个基于双向身份认 证机制的s s l 安全数据传输通道,利用o p e n s s l 命令行工具分别为服务器和客 1 0 武汉理工大学硕士学位论文 户端制作的由c a 签名的数字证书,调用o p e n s s l 库函数开发s s l 通信模块。 s s l 加密通信模块将实现如下功能:提供服务器和客户端的双向身份认证,提供 高强度的信息加密机制,提供快速有效的完整性检验。这个部分是解决身份识 别认证、授权,以及传输数据完整保密的关键。也是解决b t 下载对等节点之间 的通信安全的关键。 3 2 2 系统的主要功能模块 1 ) s s l 协议模块 本模块的目标是在服务器和客户端之间建立一个基于双向身份认证机制的 s s l 安全数据传输通道,利用o p e n s s l 命令行工具分别为服务器和客户端制作 的由c a 签名的数字证书,调用o p e n s s l 库函数开发s s l 通信模块。s s l 加密 通信模块将实现如下功能:提供服务器和客户端的双向身份认证,提供高强度 的信息加密机制,提供快速有效的完整性检验。这个部分是解决身份识别认证、 授权,以及传输数据完整保密的关键。 2 ) f t p 协议模块 本模块主要用于b t 种子或者小文件的传输和管理,f t p 与s s l 相结合,可 以有效的保证b t 种子的安全。而且也可以用于小文件的直接传输。由于文件体 积较小时,p 2 p 的传输效率并没有明显的优势,甚至不如普通的f r p 或者h 1 r p 传输。至于如何区分小文件与大文件得根据网络带宽,文件共享人数,对文件 传输的时效性需求等具体条件来判断。 3 1b t 协议模块 这块主要是实现文件的b t 下载功能,与传统b t 下载不同的是,b t 客户 端与t r a c k c r 服务器之间的交互,不是用h t y p 协议,而是使用安全可靠的h t r p s 协议。他不但要结合s s l ,实现验证合法身份,提供安全传输通道的功能,并且 为区别与通用的b t 协议,在标准规范下要做一部分改进,实现其“个性化 。 也从而提供了安全保障。 武汉理工大学硕士学位论文 3 3 系统实现的关键技术 3 3 1b t f t p 协议及其分析 b i t t o r r e n t 每完成一次下载部署,至少需要一个t r a c k e r 和一个s e e d l 2 引。所谓 t r a c k e r ,是一个服务器,负责帮助p e e r s 之间相互建立连接。p e e r ,是要求下载 文件的用户。而s e e d ,被称为“种子,是被下载文件的拥有者。 b i t t o r r e n t 是通过一个扩展名为t o r r e n t 的文件进行下载部署的,t o r r e n t 的文 件放在一个普通的w e b 服务器上。t o r r e n t 文件包含了要共享的文件的信息,包 括文件名、大小、文件的散列信息和一个指向t r a c k e r 的u r l 。下载者通过使用 b i t t o r r e n t 客户端打开t o r r e n t 文件同t r a c k e r 进行联系i z 8 】。 t r a c k e r 服务器的任务是搜集c l i e n t 的信息,并帮助b t c l i e n t 相互发现对方, 进而能互相下载所需的资源。每一个c l i e n t 即一个p e e r 在下载开始以及下载过 程中,要不断地与t r a c k e r 服务器进行通信,报告自己的信息并获取其它p e e r 的信息。t r a c k e r 对所有下载者的信息进行维护,当它收到一个请求后,先把发出 请求的p e e r 的信息记录下来,然后将其他参与下载同一个文件的下载者的信息 返回给该p e e r 。p e e r 在收到t r a c k e r 的响应后,与其它下载者建立连接下载本地 所没有的文件资源。为了使别的客户端也可以从本地获取文件资源,客户端还 要监听某个端口,用于接收其它p e e r s 的连接请求【2 4 , 2 5 】。 由于b t 下载的特殊性,建立b t 下载的的安全通信主要要解决两个问题: b t 种子的安全发布与传输。 b t 文件下载过程中的身份认证,访问控制与安全连接,以及传输过程 中的安全通信。 对于第一个问题,b t 种子文件一般可以发布在普通的w e b 服务器上,也可 以发布在f t p 服务器上。那么,只要使用s s l 对w e b 服务器或者f t p 服务器 进行加密和,并进行身份认证就可以解决。例如,2 0 0 8 年6 月,全国著名的b t 网站“海盗湾 宣布采用s s l 加密技术进行加密,目前多种共享软件,例如 l i m e w i r e 、u t o r r e n t 等均采用了加密技术进行加密。以帮助用户减少不必要的 困扰。而支持s s l 的f r p 服务器也越来越流行,鉴于大众对安全性的要求越来 越高,s s l 的使用成为必然的趋势,而支持s s l 的v r p 客户端软件更是数不胜 数,比如f l a s hf x p ,其他的还有还有c u t e f t pp r o ,s e c u r ef r p 等等。类似的软件也 1 2 武汉理工大学硕士学位论文 逐渐的广泛和成熟。 正如图3 - 1 所示的系统框架结构,本系统是采用b t 协议与传统的f r p 协议 相结合的方式。同曙下载部分主要完成对b t 种子文件的传输与管理,也可以为 体积较小的文件直接上传下载。作为一个成熟的传输协议,对一般文件上传下 载的高效与稳定是不容置疑的,而b t 种子文件的体积非常小,一般都在几十到 几百k b ,那么,对于这种小体积文件,无论在怎么样的网络环境,比如下载者 众多或者网络带宽很小的情况,f r p 都拥有独一无二的优势,下载几乎可以在连 接后瞬间完成。 b t 下载与f r p 下载的混合式结构,提高了文件共享的高效性与稳定性,将 两种下载协议的优势集中在一起。正如在p 2 p 技术的应用中,集中式p 2 p 和分 布式p 2 p 结构使用的非常少,而混合式p 2 p 结构使用占绝大多数一样。 而在f t p 的下载安全方面,依然采用s s l 技术加密传输通道的方式,这方 面的技术已经相当的成熟,相关支持s s l 的f t p 服务器软件和客户端软件也层 出不穷,应用十分广泛。 3 3 2b t s s l 协议及其分析 在现实生活中,b t 作为一款成熟的p 2 p 软件,已经获得了巨大的成功。监 测全球互联网流量的c a c h e l o g i c 公司认为,截至2 0 0 8 年,在近五年中p 2 p 已经 成为互联网上最流行的用户应用程序之一2 7 j ,同时它也是公认的消费者使用宽 带的关键驱动因素之一,而b i t t o r r e n t 几乎占用了互联网3 5 的流量。 b t ,作为一款高效稳定的可以传输超大文件的成熟的p 2 p 协议,完全符合 了当今很多商业领域的文件共享需求1 2 6 1 ,却迟迟没有应用在这些领域,很大一 个问题就是安全问题。 前文提到,由于b t 下载的特殊性,建立b t 下载的的安全通信主要要解决

温馨提示

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

评论

0/150

提交评论