安全文件传输系统的设计与实现.docx

上传人:王** 文档编号:794268 上传时间:2024-01-14 格式:DOCX 页数:7 大小:21.97KB
下载 相关 举报
安全文件传输系统的设计与实现.docx_第1页
第1页 / 共7页
安全文件传输系统的设计与实现.docx_第2页
第2页 / 共7页
安全文件传输系统的设计与实现.docx_第3页
第3页 / 共7页
安全文件传输系统的设计与实现.docx_第4页
第4页 / 共7页
安全文件传输系统的设计与实现.docx_第5页
第5页 / 共7页
安全文件传输系统的设计与实现.docx_第6页
第6页 / 共7页
安全文件传输系统的设计与实现.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
资源描述

《安全文件传输系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《安全文件传输系统的设计与实现.docx(7页珍藏版)》请在优知文库上搜索。

1、平安文件传输系统的设计与实现院系:计算机与通信工程学院班级:嵌入式软件1001姓名:学号:54111指导老师:陈晓雷老师1 .平安文件传输系统的软件设计框架平安文件传输系统由硬件和软件两局部组成。硬件局部可以是普通的安装LinUX操作系统的PC机,也可以是嵌入式系统。本系统的硬件实现平台是S3C2440嵌入式开发板。现代网络通信中,大局部网络协议的实现都由客户端(Client)和效劳器端(Server)来协作完成。这种模型本质上涉及两个不同的程序,通常这两个程序在不同机器上运行,这些机器之间都有网络连接。效劳器端程序提供效劳并对来自客户程序的请求作成响应。而客户端程序那么是在使用者和效劳器端程

2、序之间建立某种沟通的渠道,或者是作为使用效劳器端提供的某种网络效劳的工具。本文传输过程也是通过客户端和效劳器端来实现,软件实现的总体框图如图:系统使用C和C+程序编写,支持将每个文件的元数据进行存储;支持从效劳器中获取文件的元数据;效劳器是多线程的,能够允许多个客户端同时连接;并且记录文件操作事件日志,能够支持用户名和密码的验证;客户端是QT应用程序,具有上传和下载两种能力,并且为了确保上传和下载是否成功,先检查碰盘空间。系统的数据流如图:效劳器端是数据流向的交汇点,也是系统数据存储的资源池。各个客户端发起连接请求,效劳端利用进程并发技术,相应多个客户端的请求。因此效劳端主要完成两个任务,检查

3、客户端是否成功登录,以及判断客户端发来的信号,对该信号进行相应。客户端是每个应用终端的实现方式也是外在表现,它主要包括:登录交互平台、检查信息是否完整喝客户端主窗口的配置。用户根据自己的需要在成功登录系统以后,可以向效劳器发出命令。可以发出的命令包括:效劳器LiSt显示、效劳器端LiSt刷新、上传文件、下载文件、客户端LiSt显示。系统的内部设计是通过socket套接字建立连接,socket在所有的网络操作系统和网络应用程序中都是必不可少的,它是网络通信中应用进程和网络协议之间的接口。在LirIUX操作系统中,SOCket属于文件系统中的一局部,网络通信可以被看作是对文件系统的读取。这就使得用

4、户对网络的控制,像对文件的控制一样方便。Socket网络通信同样也分为效劳器端和客户端两局部。2 .平安文件传输系统的效劳器端设计效劳器端的作用是响应用户连接请求,验证用户,对取到的命令进行解析,根据命令执行不同的操作。根据输入的文件名翻开文件并将文件数据读入缓冲区;将缓冲区内的数据写入文件。并且对接收到的协议包解封,将数据缓冲区中的数据进行封装。效劳器端内部设计流程图如图:效劳器端内部设计主要用到的连接函数有:(1) intsocket(intfamily,inttype,intprotocol)该函数用于建立一个SOCket连接,可指定SOCket类型等信息。在建立了socket连接之后,

5、可对socketadd或sockaddr_in进行初始化,以保存所建立的socket信息。(2) intbind(intsockfd,Structsockaddr*my_addr,intaddrlen)该函数是用于将本地IP地址绑定端口号的,假设绑定其他地址那么不能成功。另外,它主要用于TCP的连接,而在UDP的连接中那么无必要。本文基于TCP连接。(3) intlisten(intsockfd,intbacklog)该函数用于通知内核,效劳器将在某个套接口上监听并接受连接。(4) intaccept(intsockfd,void*addr,int*addrlen)该函数的作用是,当其被调用时

6、,效劳器端的程序会一直拥塞直到有一个客户程序发出了连接。accept()调用成功时,返回连接进来的客户机的文件描述符,之后效劳器端就可以利用该描述符向客户机读写信息了,失败时返回-1.(5) intsend(intsockfd,constvoid*msg,intlen,unsignedintflags)和intrecv(intsockfd,void*buf,intlen,unsignedintflags)这两个函数是在建立连接后用于完成发送与接收数据的系统调用。3.平安文件传输系统的客户端设计客户端的作用是通过输入IP,port向效劳器发起请求连接,然后将用户名和密码发给效劳器进行验证,验证通

7、过后通过选中客户端本地的目录来查看该目录下的文件列表,上传的时候根据输入的文件名找到文件并将文件数据读入缓冲区,下载的时候从保存有文件数据的缓冲区取出数据写入本地磁盘。客户端在上传文件的时候将得到的文件数据缓冲区中的数据封装到协议包,下载文件的时侯根据得到的协议包解析出其中包含的文件有效数据。客户端内部设计流程图:客户端内部设计主要用到的连接函数有:(1) intsocket(intfamily,inttype,intprotocol)该函数的作用同效劳器端socket()函数,用于建立socket连接。(2) intbind(intsockfd,Structsockaddr*my_addr,

8、intaddrlen)该函数的作用同效劳器端bind()函数,用于将本地IP地址绑定端口号。(3) intconnect(intsockfd,Structsockaddr*serv_addr,intaddrlen)该函数用于与效劳器端建立连接。(4) intsend(intsockfd,constvoid*msg,intlen,unsignedintflags)和intrecv(intsockfd,void*buf,intlen,unsignedintflags)这两个函数是在建立连接后用于完成发送与接收数据的系统调用。系统的通信流程是:首先在效劳器端使用SOCket()建立一个通信的断点,再

9、用bind。命令把一个地址绑定到这个端点,然后,效劳器端使用IiSten()侦听连接请求。当远程的客户机试图使用COnneCt()连接IiSten()正在监听的端口时,连接将会在请求队列中等待,直到效劳器使用accept。处理了连接请求后,将会产生一个新的描述这个连接端口的套接字,利用这个套接字旧可以发送或接收数据了。如果IiSten()一直没有侦听到连接请求,那么效劳器任务就会在accept。处阻塞,直到有连接请求到来。对于客户任务来说,它也需要先用socket()建立一个通信端口,但是它不必用bind()把一个本地地址绑定到这个端口,而是直接使用COnneCt()向指定的效劳器发出连接请求

10、,如果请求被接受,下一步就可以进行数据流通信了。4 .平安文件传输系统的平安策略设计目前常见的加密协议有以下几种:IPSeC协议,SET协议,SSL协议。其中IPSeC协议可以提供很高的平安性,但是实现它却不是一件很容易的事,它需要对网络层的IP数据包进行重新封装,无论对效劳器还是客户端都要做很大的改动,对于平安文件传输系统而言,代价很大且增加了通信两端的复杂度。SET协议是应用层的平安协议,它是专门针对网上信用卡支付提出的一个标准,主要是保证通信信息的加密与平安,很有针对性。本系统并未涉及电子交易方面的东西,因此不是网络通信系统平安协议的最正确选择。SSL协议是一种在两台机器之间提供平安通道

11、的协议,它具有保护传输数据喝识别通信机器的功能。应用SSL协议所建立的通道是透明的,它对传输的数据不加更改,客户端和效劳器之间的数据是经过加密的,这种透明性使得几乎所有基于TCP的协议稍加修改就可以运行于SSL之上,非常方便。本系统就是利用SSL协议为LirlUX系统之间的文件传输打造一个平安的通道。SSL可以看成是在应用层和传输层之间的一个层,SSL协议在应用层协议通信之前完成加密算法、通信密钥的协商以及效劳器认证工作.应用层协议传送加密数据。从而保证通信的私密性。SSL协议堆栈图如图:SSL协议主要功能是在客户与效劳器间提供了一条的平安通信连接,主要由握手协议和记录协议实现。其中SSL握手

12、协议负责客户与效劳器间会话的加密。当SSL客户端与效劳器第一次通信时。他们需要交换版本号、加密算法、身份认证并使用公钥技术来生成共享密钥:SSL记录协议用于交换应用数据。发送方SSL接收应用层数据。对数据加密。而后将加密数据送往TCP插口,接收方从TCP插口读取数据后。解密交给应用层。SSL协议提供一种加密的握手会话.使客户端和效劳器端实现身份验证、协商加密算法和压缩算法、交换密钥信息。如果两台计算机协商建立新的SSL会话.它们会使用数字证书来确认对方的身份、交换密钥材料。密钥材料的交换利用网络效劳器的公钥对材料进行加密。一旦收到加密后的材料.网络效劳器就用相应的私钥进行解密。这种握手会话通过

13、数字签名和数字证书来实现客户机和效劳器双方的身份验证。在用数字证书对双方的身份验证后。双方就可以用密钥进行平安会话。本系统的效劳器端SSL协议实现过程如图:所示为效劳器端SSL流程,客户端的SSL实现是效劳器端实现的逆过程。整体流程为:SSL客户端向SSL效劳器发送连接请求.并要求验证效劳器的身份;效劳器发送数字证书响应以证明其身份;客户端验证证书的有效性;效劳器发出客户端的证书验证请求;完成对客户端的证书的验证;协商用于加密的加密算法和用于完整性检查的哈希函数;客户端和效劳器互发随机数并通过使用哈希函数从随机数中生成会话密钥。SSL握手协议描述建立平安连接的过程。而SSL记录协议那么定义了数

14、据传送的格式.上层数据包括SSL握手协议建立平安连接时所需传送的数据都通过SSL记录协议再往下层传送。这样,应用层通SSL协议把数据传给传输层时,已是被加密后的数据。5 .结论平安文件传输系统是手持式PDA的一个重要功能软件,它的成功实现为用户平安保密工作提供了一种可行的方法。本文从软件的整体设计方法上依次介绍了系统效劳端、客户端设计,并对系统平安策略进行了分析,介绍了本系统所使用的SSL协议的加密方法。系统整体运行稳定,传输效率高。6 .参考文献1卢开澄.计算机网络中的数据保密与平安M.北京:清华大学出版社,1998.3王渊.赵宇.嵌入式LinUX网络通信的实现J.电子测量技术.3.实训总结:通过这半年的大实训,让我对本专业的知识运用有了进一步提高,在自学能力方面也有了不小的进步,对于工程的开发流程和相关知识的如何查找,如何运用也有了新的体会。我觉得最重要的是,如何掌握做工程的方法,如何掌握解决问题的方法,这个过程才是我们大实训的最大意义所在,在老师的指导下,这也是我体会最深刻的地方。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机应用/办公自动化

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!