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

  • 格式:docx
  • 大小:202.09 KB
  • 文档页数:14

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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操作。