一种Linux环境下文件安全传输技术研究与实现.docVIP

一种Linux环境下文件安全传输技术研究与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种Linux环境下文件安全传输技术研究与实现

一种Linux环境下文件安全传输技术的研究与实现   摘要:在当今移动互联网环境下,为了保证数据文件在网络中传输的安全性,加密传输就显得尤为重要。具体实现了一种在嵌入式Linux系统环境下加入SSL协议,并对将要传输的数据文件利用一定的加密算法进行加密,能够较好的解决数据文件在网络环境下传输的安全性问题。同时在服务器端利用线程池技术解决了多用户多进程的问题,避免了服务器端不断创建和销毁线程所带来的资源浪费和时间开销。   关键字:Linux;文件安全传输;SSL;线程池   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)10-0043-04   SSL协议是在繁多的网络协议中应用比较广泛,它可以确保TCP/IP上所有协议收发双方端到端的信息安全传输,并且运用了对称加密技术对数据文件进行加密,而运用非对称加密技术对用户身份进行验证以及交换密钥。SSL协议不但可以弥补TCP/IP本身的一些缺陷,同时还可以很好的确保客户/服务器双方通信时数据的保密性、完整性,并且能 够保证双方的身份认证。在一个系统或是一个应用程序中,往往会有多个传输任务需要执行,每个任务都对应处理器一个线程,在执行多个任务时势必要不停的创建线程销毁线程,这无疑增加了处理时间,并且对传输的安全性带来一定的隐患。因此,在系统中引入了线程池技术,就可以解决该隐患。线程池是在执行任务之前就创建好一些线程,并使这些线程处于等待状态,当有新任务到来时,应用程序会激活线程池中的某一线程,当任务执行完毕后会重新变为等待状态放回线程池,等待下一次新任务的到来。   1 文件安全传输的体系结构模型   文件传输是由硬软件两部分实现的,硬件是以嵌入式平台来支撑,软件部分是以Linux网络编程加上SSL协议[1]、线程池技术以及文件安全传输的服务器/客户端程序。主要是实现不同机器上服务器与客户端之间的文件互传,服务器监听客户机的请求,并且做出相应的响应。该系统主要实现的具体要求如下:①服务器和客户端都支持用户账号和密码的验证;②客户端可以浏览本地和服务器端的文件列表;③服务器端可以实现多用户同时连接,必须是多线程的;④服务器端的系统日志可以记录文件操作的事件日志;⑤在上传和下载文件之前要先检查磁盘的大小,以确保上传和下载可以正常执行。系统结构模型如图1所示:      图1 系统结构模型   2 文件加密   2.1 服务器端的文件SSL加密   文件安全传输的主要功能由SSL协议加密来实现,SSL协议完成的主要流程是:先对SSL协议相应库的初始化,然后载入相应的加密算法模块。应用程序再回调加密算法模块即可对数据进行加密,然后载入所有SSL错误信息,该错误信息对应于在处理过程中可能会产生的所有错误。然后创建本次会话连接中所用到的所有协议,以便用于通讯双方进行通讯的连接。接下来就是申请SSL回话的环境CTX,载入数据证书,载入用户私钥,并检查用户私钥是否正确。创建套接字并开启socket监听,等待客户端的连接请求。再基于CTX产生一个新的SSL,并将连接用户的socket套接口加入SSL,建立SSL连接完成SSL握手,接收数据并做相关处理。最后关闭SSL并释放SSL、关闭socket、释放CTX等操作。服务器端的SSL加密过程如图2所示:      图2 服务器端的SSL加密过程   2.2 客户端的SSL加密   客户端文件的SSL加密过程与服务器端基本一致,主要区别是客户端不用处理并发任务,不用对端口进行监听等操作。具体的SSL加密流程如下:先对相应的SSL库进行初始化,再载入所有的SSL算法,用于在对数据处理过程中对数据的加密。然后载入所有SSL错误信息,以应付在处理过程中可能出现的各种错误。然后在创建本次会话连接所使用的协议,用于通讯双发进行通讯连接。接下来是申请会话环境CTX,创建socket用于TCP通讯,建立SSL连接完成SSL握手,对数据进行接收并做相关的处理。最后关闭连接以及释放相关的资源等操作。   2.3 SSL协议   SSL是一种协议套件,它是由握手协议、记录协议、更改密码规范协议以及警告协议,四部分协议组成。SSL协议在TCP/IP协议站中的位置以及与这四部分的关系如图3所示:      图3 SSL协议关系示意图   应用SSL协议建立的通道是透明的,服务器端与客户端之间的数据经过加密,不改变传输数据的内容。这样的透明性是基于TCP/IP的协议,然后稍加修改就可以运行在SSL之上,就可以打造一个安全通道[2]。SSL是位于应用层和传输层之间的,该协议一般是由握手协议和记录协议两部分组成,前者一般用于通信双方之间会话时的密码参数协商,记录协议一般用于数据传输前的身份验证、算法协商、交换密

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档