一种简易的文件资料安全系统传输系统的设计与实现
一种高效文件传输系统的设计与实现

一种高效文件传输系统的设计与实现【摘要】本文就企业集约化管理的需求,信息化集成平台的应用推广,使用集成平台处理业务、数据、信息已经渗透到企业安全、生产各个环节。
数据、文件之间共享被越来越多的集成应用系统所使用,如实时监测数据文本、图文图纸、资料文件等。
在企业信息化集成平台的使用过程中,文件传输的效率起着有至关重要的作用。
系统的实现,为公司综合调度数据集成、企业信息化文件共享提供了有效的基础支撑。
【关键词】传输系统;集成信息化;校验码;事件;监听机制引言目前,随着企业集约化管理的需求,使用集成平台处理业务、数据、信息已经渗透到企业安全、生产各个环节。
数据、文件之间共享被越来越多的集成应用系统所使用,如实时监测数据文本、图文图纸、资料文件等,需要构建一套企业集成类信息化平台,对作业现场各子系统数据进行集成与应用,达到实时监视与集中调度的目标。
在某些应用场景下,数据在传输过程中需要考虑上传的及时性与数据的连续性,以保证对现场环境的实时监视,以保证对预警和故障的及时处理;同时在应用分析过程中,需要对现场数据的连续性分析,以保证数据的完整性和数据分析结果的准确性。
常规的文件传输系统更适应于下行多于上行传输的场景。
而在企业的信息化集成平台上,客户端对上传文件的需求更为强烈。
客户端存在有大量的文件需要上传至服务器,以实现数据处理、解析与存储备份及文件归档存储与备份等。
常规的文件传输系统有以下缺点:一、上行与下行不对等,更注重下行传输;二、传输权限不易控制,权限认证手段种类繁多,步骤繁琐,例如FTP模式;三、对于大量小文件和频繁传输的场景,文件传输效率低下,多数情况下需要验证请求再传输。
1.实现目标本文针对现有企业生产过程实时监测与应用平台中,基层单位小文件,多客户端,安全高效频繁传输的应用需求,设计一种基于TCP协议的远程高效文件传输系统,达到数据及时、高效、稳定传输,主要实现基于文件夹、文件创建事件的监听触发上传机制;一次握手,终身传输机制;自定义分发机制,满足多种业务应用;分块多线程传输机制提高传输效率;分级故障诊断等系统功能,同时该系统的核心技术亦可作为企业网盘的核心技术。
文件传输系统的设计与实现

文件传输系统的设计与实现
1.系统架构设计
2.传输协议选择
在文件传输系统中,需要选择适合的传输协议来进行文件的传输。
常
见的传输协议有FTP、HTTP、TCP等。
根据系统的需求和性能要求,选择
合适的传输协议进行文件传输。
3.带宽管理和调度
4.断点续传
为了提高文件传输的可靠性和效率,在文件传输系统中通常需要实现
断点续传功能。
即在文件传输过程中,如果传输中断或者失败,可以从中
断的位置继续传输,而不需要重新传输整个文件。
5.安全性设计
6.单点故障与容错设计
7.性能优化
为了提高文件传输系统的性能,可以采用一些性能优化技术。
例如,
使用并行传输技术,对文件进行分块传输,使用压缩算法减少传输数据量
等方式来提升系统的性能。
8.用户界面设计
好的用户界面设计可以提升用户的使用体验。
在文件传输系统中,需
要设计直观、易用的用户界面,提供文件选择、传输进度显示、状态提示、错误处理等功能,以方便用户进行文件传输操作。
最后,为了验证文件传输系统的正确性和可靠性,需要进行系统测试
和性能评估。
可以开展单元测试、集成测试、系统测试等各个层次的测试,以及通过对系统的性能指标进行度量和分析,来评估系统的质量和性能。
总之,文件传输系统的设计与实现需要综合考虑架构设计、传输协议
选择、带宽管理、断点续传、安全性设计、容错设计、性能优化和用户界
面设计等方面的问题,以构建一个高效、可靠、安全的文件传输系统。
基于linux的文件安全传输系统

基于linux的文件安全传输系统王建军(成都理工大学信息与计算机科学学院四川成都 610059)摘要:随着网络的普及和发展,网上数据传输的安全性成为极其重要的问题。
为保证Internet上数据的安全传输,加密传输得到越来越多的应用,本文介绍一种基于linux的安全文件传输系统设计方法。
首先对linux系统和openssl安全传输原理进行了简要介绍,然后重点说明了软件设计部分的服务端和客服端的设计原理。
关键词:linux;openssl;文件安全传输作者简介:王建军(1986-),男,四川巴中人,通信与信息系统专业,研究方向通信网与信息安全。
1、linux系统简介Linux操作系统的流行是因它具有许多诱人之处,其独特优势在于:完全免费,完全兼容POSIX 1.0标准,丰富的网络功能,可靠的安全、稳定性能,支持多种平台。
正由于Linux拥有这些优势因而被广泛的用作服务器的操作系统,基于其低廉成本与高度可设置性,Linux常常被应用于嵌入式系统。
文章基于可靠的安全和稳定性功能而选其作为平台系统,为安全安全传输提供基本保障。
2、ssl加密介绍SSL(Secure Sockets Layer 安全套接层), 它提供位于TCP层之上的安全服务。
它使用的安全机制包括通过对称密码算法和非对称密码算法来实现机密性、完整性、身份鉴别或认证。
SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议提供的服务主要有:1)认证用户和服务器,确保数据发送到正确的客户机和服务器;2)加密数据以防止数据中途被窃取;3)维护数据的完整性,确保数据在传输过程中不被改变。
保密文件传输系统的设计与实现

第2 3卷第 1 总第 10期) 期( 0
V 1 3 N . S M N . 0 o. o1(U o1 ) 2 0
机 械 管 理 开 发
MEC HA CA MA NI L NAGEMENT AND DEV OP EL MENT
1 )保密 文件传输 系 统 ;) 户 I 2用 C卡 。3 )密钥 管
理 系统和 C A中心 ( A为 可选件 )4 C ; )安全应 用程序 接
_圜 _ [
I (A I ;5 I : S P ) ( ) C卡读写器 。 1
2 功能
保密 文件 传输 系统具 有 完 善 的安 全保 密 功 能 . 有
过 网络手段 实现 公文 的分发 和流转 ,极 大地 提高 了工
加 密
安全体系
整I l 完l I 抗 抵
性I l 赖
访 问 控 制
安 全
管
理
作效 率 , 省 了大 量人 力和 财力 。 节 随着 文 电办 公 自动化
系统的需求 越来 越大 , 电子公 文应 用 日益流行 的同时 ,
De i n a d I p e n a i n o e r tF l a s iso y tm sg n m lme t to fS c e i Tr n m si n S se e
YANG - i Li l ,ZHANG i l n Ha — o g,HAN i l n Hu - i a
案 。 重 点介 绍 了保 密 文 件传 输 系统 , 系统 用软 、 件 结合 的 方式 解 决 办公 自动化 的安 全 保 密 问题 本 硬
【 键词】 数据加密 ; 字签名 ; 关 数 密钥 【 中图 分 类 号 】 T 3 3 P9 【 献标识码】 A 文 【 章 编 号 】 10 — 7 X(0 8O — 15 0 文 0 3 7 3 2 0 ) 10 2 — 3
安全文件传输系统的设计与实现

安全文件传输系统的设计与实现院系:计算机与通信工程学院班级:嵌入式软件10-01姓名:学号:*****指导老师:陈晓雷老师1.安全文件传输系统的软件设计框架安全文件传输系统由硬件和软件两部分组成。
硬件部分可以是普通的安装Linux操作系统的PC机,也可以是嵌入式系统。
本系统的硬件实现平台是S3C2440嵌入式开发板。
现代网络通信中,大部分网络协议的实现都由客户端(Client)和服务器端(Server)来协作完成。
这种模型本质上涉及两个不同的程序,通常这两个程序在不同机器上运行,这些机器之间都有网络连接。
服务器端程序提供服务并对来自客户程序的请求作成响应。
而客户端程序则是在使用者和服务器端程序之间建立某种沟通的渠道,或者是作为使用服务器端提供的某种网络服务的工具。
本文传输过程也是通过客户端和服务器端来实现,软件实现的总体框图如图:系统使用C和C++程序编写,支持将每个文件的元数据进行存储;支持从服务器中获取文件的元数据;服务器是多线程的,能够允许多个客户端同时连接;并且记录文件操作事件日志,能够支持用户名和密码的验证;客户端是QT应用程序,具有上传和下载两种能力,并且为了确保上传和下载是否成功,先检查碰盘空间。
系统的数据流如图:服务器端是数据流向的交汇点,也是系统数据存储的资源池。
各个客户端发起连接请求,服务端利用进程并发技术,相应多个客户端的请求。
因此服务端主要完成两个任务,检查客户端是否成功登录,以及判断客户端发来的信号,对该信号进行相应。
客户端是每个应用终端的实现方式也是外在表现,它主要包括:登录交互平台、检查信息是否完整喝客户端主窗口的配置。
用户根据自己的需要在成功登录系统以后,可以向服务器发出命令。
可以发出的命令包括:服务器List显示、服务器端List刷新、上传文件、下载文件、客户端List显示。
系统的内部设计是通过socket套接字建立连接,socket在所有的网络操作系统和网络应用程序中都是必不可少的,它是网络通信中应用进程和网络协议之间的接口。
文件安全传输系统的设计与实现(毕业设计)

文件安全传输系统的设计与实现学院*******专业*****班级*** ***学号**** ***姓名** **指导教师***负责教师**********大学2011年6月摘要进入信息时代以来,人类的生活发生了翻天覆地的变化。
保护网络系统中的数据不受偶然或恶意原因而遭到破坏、更改、泄露,是网络安全的主要内容之一。
目前比较实用的方法是对网络中传输的数据进行加密,而数据加密要依赖于成熟的数据加密算法。
本文详细论述了传统密钥体制和公钥密码体制的典型代表DES(数据加密标准)算法和RSA算法的原理和安全性能,在Visual C#平台上设计实现了基于网络数据加解密的文件传输系统。
介绍了文件安全传输系统的开发工具、概要设计、详细设计及调试分析的实现过程,详细论述了总体设计思想、功能模块设计。
该系统采用C#语言编写,软件分为发送端和接收端。
发送端的功能主要为发送和加密文件,在发送之前,发送端有浏览文件的功能,该功能可以确定文件的位置。
同时发送端还有密钥的输入位置,当然发送端还有启动按钮,启动按钮就是根据文件的位置和密钥按照DES算法将文件加密并且发送。
接收端可以将接收的文件进行解密,并且具有显示传输信息的功能。
该文件传输系统按钮比较少,操作起来很容易,但是该系统看似简单,却使用了两种优秀的加解密算法,可以保证文件的完整性和机密性。
关键词:文件安全;安全传输;数据加解密Title of Paper (in English)AbstractEntering the information times, human life has undergone earth-shaking as the great changes.Protect the network system of data from accidental or malicious reasons and destroyed, modify, leak, is one of the major content of network security. At present more practical method of network transmission is encrypted data, and data encryption depends on the mature data encryption algorithm.This paper discusses the key system and traditional public key cryptosystems DES algorithm and the typical representative of the principle of RSA algorithms and safety performance in Visual C# platform designed network data encryption system. Introduces the transmission system files safe development tools, general design, detailed design and commissioning the realization process of analysis, this paper discusses the overall design thought, function module design. The system adopts the C# language, The system include the sender and the receiver. The main functions of sender is sending and encrypt files, in sending before sending end has the function of the view file, the function can determine the position of the file. At the same time the sender has a input position for key, of course, it has a start button. the start button is according to the position of the file and the key , using DES encryption algorithm encryption of the file and sending the file. The receiver can decrypt the documents, and display the function of information transmission. The file transfer system button is less, the operation is very easy, but the system looks be like simple, but used two excellent encryption algorithm, can guarantee to ensure the integrity of files and confidentiality.Key words:File security; Secure transmission; Data encryption and decryption目录1 引言 (1)1.1 题目背景 (1)1.2 题目内容 (1)1.3 系统设计目标 (2)1.4 相关技术与算法 (2)1.4.1 C#语言 (2)1.4.2 DES算法 (3)1.4.3 RSA算法 (8)1.4.4 DES和RSA的混合使用 (9)1.4.5 Socket简介 (10)2 系统分析 (12)2.1 需求分析 (12)2.2 方案论证 (12)2.2.1 经济技术分析 (12)2.2.2 技术可行性 (13)2.3 开发工具 (13)3 概要设计 (14)3.1 系统整体设计思想 (14)3.2 系统模块图 (15)4 详细设计 (17)4.1 发送端模块设计 (17)4.1.1 文件文本框模块 (17)4.1.2 浏览模块 (18)4.1.3 加密密钥模块 (18)4.1.4 启动按钮模块 (19)4.2 接收端模块设计 (20)4.2.1 数据接收模块 (20)4.2.2 数据解密模块 (21)5 系统运行与测试 (22)5.1 系统运行环境 (22)5.2 功能测试 (22)5.3 问题及解决方法 (23)结束语 (25)参考文献 (26)致谢 (28)1 引言当代社会,文件网络传输的安全保障问题已经成为一个关注的焦点。
基于PKI的安全文件传输系统的设计与实现
-114-1引言当前,网络文件传输是网络信息传输的主要方式之一,进行网络文件传输的方式很多,我们可以通过Web 页、电子邮件进行传输,还可以利用QQ 、MSN 等即时通信工具以及各种点对点工具进行传输。
然而,不论以上述哪种方式进行传输,数据最终都要依靠底层网络通道进行传输,在传输的过程中数据包很可能被攻击者截获,进而被解包分析甚至被篡改,所传输的信息就会泄漏。
因此,当我们要传输需要保密的文件信息时,就必须在传输前后对文件进行必要的安全处理,以保障文件传输的安全。
2PKI 简介PKI (Public Key Infrastructure )即公开密钥基础设施,它是一种遵循既定标准的密钥管理平台,是我们保障文件传输安全的有利工具。
传统的单钥密码算法采用特定的密钥对数据进行加密,解密时所使用的密钥与加密时所使用的密钥相同,因此这种算法也称为对称密码算法。
将单钥密码算法应用于网络数据加密传输会不可避免地出现安全漏洞,这是因为发送方除了要将密文发送给接收方之外,还要将密钥通过网络传输给接收方,一旦攻击者截获了密文,他只需再截获相应的密钥即可将密文解密。
区别于单钥密码算法,公钥密码算法使用一对密钥,用户产生一对密钥后,将其中的一个向外界公开,称为公钥;另一个则自己保留,称为私钥。
任何获悉用户公钥的人要向用户发送信息,只需用用户的公钥对信息进行加密,将密文发送给用户便可。
公钥与私钥之间的依存关系确保了在用户安全保存私钥的前提下,只有用户本人才能对密文进行解密,任何未经用户授权的人都无法对此密文进行解密。
PKI 就是利用公钥密码理论和技术建立起来的提供安全服务的基础设施,它是信息安全技术的核心,也是电子商务的关键和基础技术,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。
通常,一个完整的PKI 系统必须具有权威认证机构(CA )、数字证书库、密钥备份及恢复系统、证书作废系统和应用接口(API )等基本组成部分。
一种简易的文件安全传输系统的设计与实现
江苏大学☺✋✌☠☝✞ ✞☠✋✞☜✋❆✡课程设计报告题目 一种简易的文件安全传输系统的设计与实现学院:专业班级:学号:姓名: 指导老师:目录第一部分课程设计准备1.1 课程设计题目 (1)1.2 小组成员及分工 (1)1.3 课题背景及意义 (1)第二部分课程设计过程2.1 课题需求分析 (4)2.1.1 需求分析 (4)2.2 概要设计 (9)2.2.1 系统功能描述 (5)2.2.2 系统功能流程图 (6)2.3 具体功能的实现 (9)2.3.1预备知识 (9)2.3.2算法原理.......................................................................9.2.4 运行结果 (11)2.4.1 程序界面截图 (11)2.5 待改进问题 (12)第三部分课程设计体会3.1课程设计心得体会 (12)3.2源程序清单 (13)第一部分课程设计准备1.1课程设计题目题目:一种简易的文件安全传输系统的设计与实现简介:进入信息时代以来,人类的生活发生了翻天覆地的变化。
保护网络系统中的数据不受偶然或恶意原因而遭到破坏、更改、泄露,是网络安全的主要内容之一。
目前比较实用的方法是对网络中传输的数据进行加密,而数据加密要依赖于成熟的数据加密算法。
本文详细论述了对称密码体制和公钥密码体制的典型代表AES(Advanced Encryption Standard )算法和RSA算法的原理和安全性能,并结合这两种算法在windows平台上设计实现了基于网络数据加解密的文件传输系统。
详细论述了总体设计思想、功能模块设计。
该系统采用python语言编写,软件分为发送端和接收端。
发送端的功能主要为提取文件摘要,文件加密,密钥加密,文件发送;接受端的功能是接受文件,解密密钥,解密内容,验证文件完整性。
1.2小组成员及分工xx:md5算法计算文件哈希值,实现文件的完整性检查xx:AES算法加解密文件xx:安全协议以及总体功能架构设计1.3课题背景及意义随着计算机技术的迅速发展,在计算机的应用领域中软件系统的应用越来越广泛。
一种文件传输系统及方法[发明专利]
专利名称:一种文件传输系统及方法专利类型:发明专利
发明人:郭永生,秦明辉,陈力萍,徐大超申请号:CN201910816770.6
申请日:20190830
公开号:CN110602191A
公开日:
20191220
专利内容由知识产权出版社提供
摘要:本发明公开了一种文件传输系统及方法,属于物联网技术领域,包括:应用服务器,用于下发数据读取指令至前置服务器和对FTP服务器上传的待传输数据进行处理展示;前置服务器用于接收应用服务器下发的数据读取指令和将数据读取指令下发至物联网设备终端;物联网设备终端用于采集待传输的数据和向FTP服务器发送待传输数据;FTP服务器用于接收物联网设备终端上传的待传输数据和向应用服务器发送待传输数据。
本发明解决了设备与服务器之间文件传输慢,效率低,信道占用时间长等问题,并提高了文件传输的可靠性。
申请人:科大智能电气技术有限公司,科大智能科技股份有限公司
地址:230088 安徽省合肥市望江西路5111号
国籍:CN
代理机构:合肥天明专利事务所(普通合伙)
代理人:奚华保
更多信息请下载全文后查看。
一种简单易行的微机间文件数据传输系统
一种简单易行的微机间文件数据传输系统
姚放
【期刊名称】《空间电子技术》
【年(卷),期】1997(000)001
【摘要】介绍一种既简单又容易实现的微型计算机间数据传输系统。
此系统的优点是不增加任何硬件设备资金费用,实现任务种类文件数据的传输。
如果采用0.3mm的铜导线,其传输距离大约为350m,速率600bit/s-9600bit/s可调。
这种文件数据传输系统对那些在一间办公室内具有单机作业的用户,或在一幢办公楼内经营需要互相传送文件数据而又无条件的购买通信设备的用户来说是特别有用的。
【总页数】8页(P57-64)
【作者】姚放
【作者单位】齐齐哈尔铁路职工大学
【正文语种】中文
【中图分类】TP393
【相关文献】
1.基于蓝牙的微机无线数据传输系统 [J], 张元
2.基于消息中间件的农电数据传输系统 [J], 赵秋霞;赵丽;郭燕霞;邢雅周
3.通用型分布式多微机数据传输系统 [J], 张菊秀;蔡燃
4.微机与数控机数据传输系统的研制 [J], 林伟
5.一种微机控制零件尺寸测量装置 [J], 李玮华;杨秦建
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大学JIANGSU UNIVERSITY课程设计报告题目:一种简易的文件安全传输系统的设计与实现学院: 专业班级: 学号: 姓名: 指导老师:目录第一部分课程设计准备1.1 课程设计题目 (1)1.2 小组成员及分工 (1)1.3 课题背景及意义 (1)第二部分课程设计过程2.1 课题需求分析 (4)2.1.1 需求分析 (4)2.2 概要设计 (9)2.2.1 系统功能描述 (5)2.2.2 系统功能流程图 (6)2.3 具体功能的实现 (9)2.3.1预备知识 (9)2.3.2算法原理.......................................................................9.2.4 运行结果 (11)2.4.1 程序界面截图 (11)2.5 待改进问题 (12)第三部分课程设计体会3.1课程设计心得体会 (12)3.2源程序清单 (13)第一部分课程设计准备1.1课程设计题目题目:一种简易的文件安全传输系统的设计与实现简介:进入信息时代以来,人类的生活发生了翻天覆地的变化。
保护网络系统中的数据不受偶然或恶意原因而遭到破坏、更改、泄露,是网络安全的主要容之一。
目前比较实用的方法是对网络中传输的数据进行加密,而数据加密要依赖于成熟的数据加密算法。
本文详细论述了对称密码体制和公钥密码体制的典型代表AES(Advanced Encryption Standard )算法和RSA算法的原理和安全性能,并结合这两种算法在windows平台上设计实现了基于网络数据加解密的文件传输系统。
详细论述了总体设计思想、功能模块设计。
该系统采用python语言编写,软件分为发送端和接收端。
发送端的功能主要为提取文件摘要,文件加密,密钥加密,文件发送;接受端的功能是接受文件,解密密钥,解密容,验证文件完整性。
1.2小组成员及分工xx:md5算法计算文件哈希值,实现文件的完整性检查xx:AES算法加解密文件xx:安全协议以及总体功能架构设计1.3课题背景及意义随着计算机技术的迅速发展,在计算机的应用领域中软件系统的应用越来越广泛。
而文件传输是其中重要的一个方面,现在人们对传输系统的性能和功能要求也越来越高,但文件传输系统尤其是在文件传输的安全性上却存在着巨大的缺陷。
大多数的安全文件传输系统的安全性体现在了算法的改良或者使用更高级的算法。
这个实用程序的要安全的主机之间传输大文件,我们需要一个强大的密码加密数据发送机制。
为了防止密钥泄露问题,我们通常使用公钥加密加密数据。
但是,权衡使用公钥加密大文件是加密和解密数据的性能瓶颈。
所以很明显,我们需要一个对称密钥加密这些大文件传输机制。
解决这两个性能问题和密钥分发问题,我用AES(高级加密标准)256位加密加密文件和RSA公钥加密对称的AES加密密钥。
第二部分课程设计过程2.1 课题需求分析2.1.1 需求分析随着信息技术的迅速发展与大规模的普及应用,社会已经进入一个信息时代,网络通信成为至关重要的环节,给政府和企业带来了极大的劳动效率的提高。
行业信息化建设多年来,许多公司的核心资产和数据都已经电子化,更具体地说,就是传统的技术、档案、资料都已经变成电子数据的形式保存并传递。
随着这些硬件、软件、系统的广泛应用的同时也给网络安全管理人员增加很多问题,其中,最重要的就是文件传输中的信息安全问题。
信息安全也是网络安全中最重要的一部分,其它的东西在遭破坏后还可以重新回复或补救,而信息一旦丢失或者遭盗窃,那带来的损失就是无法估量的。
不用共享的信息平时在做好信息备份即可,但如果涉及到网络文件的传输,那就必须要使用网络文件传输软件,一个好的网络文件传输软件不仅有海量的传输功能,最为重要的还是必须具有强大的安全性。
这样能有效的防因为操作不当或者被攻击而导致的数据丢失。
文件网络传输的安全保障问题已经成为一个关注的焦点。
文件的安全传输问题在当代社会引起了很多人的关注。
在这种严峻的形势下,一个简单的实用功能,而且还可以运行于Windows操作系统,具有可移植性一定程度上,网络安全的文件传输工具可二次开发势在必行。
文件传输是各企事业及国家核心机构管理中必不可少的一部分,对文件传输进行规化、制度化、科学化管理,对工作效率和工作质量有很大的提高,有利于促进企业向着高效,快速的方向发展。
然而,文件传输管理也是日常管理工作中容易被忽视的一项工作,也是不容易做好的一项工作。
稍有不慎,可能造成重要文件的丢失,后果严重。
一个好的文件传输系统应该是稳定可靠的,并且适用于各类企事业、机关单位、学校、医院等。
系统对传输的各个环节进行科学管理,完成对日常文件传输的规化、制度化、科学化,帮助企业更有效、更可靠的进行文件传输的管理。
2.1.2 设计目的与要求文件安全传输系统的实现目标安全文件传输系统以文件的安全传输为核心,以网络为支撑,是一个功能齐全的系统,方便了用户对文件传输的使用,同时用户在不了解该软件的加解密算法的情况下,依然可以对该软件进行使用。
既保证了文件传输的安全性和完整性,也保证了用户的可操作性,便于信息的交流及共享。
具体设计目标该软件要具有两种状态,一种为发送端状态,一种为接收端状态。
该软件的发送端可以把要传输的文件用AES加密算法进行加密,并且能够完整的将加完密的文件、被加密的AES密钥、文件的MD5值等安全地传送到接收端。
而接收端,可以接收发送端传来的文件和密钥,并且根据密钥将传来的文件进行解密。
通过比较计算出的解密后文件的MD5值与接收到的Md5值检查文件的完整性。
同时,软件操作界面简洁大方、操作容易,功能强大,符合文件传输的完整性和安全性的要求。
2.2 概要设计2.2.1 系统功能描述计算待发送文件的MD5哈希值。
这将用来验证文件的完整性。
使用一个随机数生成器生成一个32字节的密钥,用作AES的密钥。
用这个密钥和初始化向量加密待发送文件形成密文。
用RSA公钥加密32位的AES密钥,形成被加密的AES密钥。
服务器功能服务器运行作为一个FTP服务器监听默认FTP端口。
一旦文件接收到服务器,服务器触发解密()函数来解密接收到的文件。
在解密的过程中,服务器提取前32个字节为原始文件哈希,第二个512字节的AES加密对称密钥和其他文件加密的文件数据。
收到容后分别读取被加密的AES密钥,通过RSA私钥解密得到AES密钥。
读取初始化向量,与解得的AES密钥一起解密得到的密文,得到原始文件。
用户端通过解密文件计算Md5值,与服务器端发送过来的MD5值比较,看两者是否相等,如果两个散列值是相等的,完整性验证通过。
否则,服务器识别文件完整性和删除文件失败。
服务器的目的是接受匿名登录。
以及匿名用户有足够的权限来传输文件到服务器使用原始的FTP操作。
2.2.2 系统功能流程图最终文件被转移的结构将如下:初始化向量使用AES CBC模式操作客户端流程图:服务端流程图:2.2.3模块设计加密AES 256位加密是使用32字节密钥(256位)对称密钥。
文件发送分成固定大小的块的大小的倍数16因为AES块密码标准使用16字节块。
当分块,任何块不符合尺寸16字节的倍数的适当空间。
CBC(密码块)是用作AES的操作模式。
解密一旦服务器从客户端接收的文件,从文件服务器提取不同部分,包括文件的MD5哈希,AES加密对称密钥和实际的加密文件。
然后用OAEP恢复服务器使用RSA 加密对称密钥加密。
使用AES对称密钥恢复,服务器使用AES加密解密加密文件。
然而,解密的文件比客户端实际加密不同,因为它填补了空间为AES加密。
然后服务器截断解密文件到原来的大小。
验证完整性MD5散列用于验证收到的文件的完整性。
服务器计算MD5哈希的解密和截断文件并与MD5哈希客户发送附加到文件。
Python的hashlib库中使用这个程序来计算MD5哈希文件。
如果两个MD5散列值是相等的,完整性保护。
FTP服务器发送的结果完整性验证通过一个单独的套接字连接到服务器端在特定端口上运行。
当客户端接收到完整的验证结果,客户端显示结果,并终止与成功的文件传输客户端程序。
性能分析我用AES 256位加密加密文件在客户端。
然而,因为这个工具是用来传输大文件,之间有一个权衡的性能和安全加密。
尽管AES - 256比AES - 128加密提供了更好的加密,加密大文件256 AES加密可以影响效用自256位加密的性能更先进的比128位加密。
但这是可以预防的,如果一个16字节的密钥用于加密。
我用CBC(密码块)AES的操作模式。
一个问题是,在CBC模式下,一块用来加密的密码文本文件的下一个块。
所以不能并行加密。
但在解密,明文块可以从两个相邻块的密文中恢复过来。
所以可以并行加密和性能可以提高在解密。
安全协议AES密钥使用RSA公钥加密,保障密钥安全分配。
2.3 具体功能的实现2.3.1预备知识●TCP/IP网络编程●Windows平台下程序开发●Python语言编程●对对称与非对称加密算法的理解2.3.2算法原理在安全协议的实现中,我用到了RSA算法一.RSA算法简介RSA公开密钥密码体制。
所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要的。
加密算法E和解密算法D也都是公开的。
虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。
正是基于这种理论,1978年出现了著名的RSA算法,它通常是先生成一对RSA 密钥,其中之一是密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。
为提高强度,RSA密钥至少为500位长,一般推荐使用1024位。
这就使加密的计算量很大。
为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES 或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。
对方收到信息后,用不同的密钥解密并可核对信息摘要。
RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。
RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
二.RSA安全性RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解RSA就一定需要作大数分解。
假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。
RSA 的一些变种算法已被证明等价于大数分解。
不管怎样,分解n是最显然的攻击方法。
人们已能分解多个十进制位的大素数。