资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
江苏大学 JIANGSU UNIVERSITY 课程设计报告 题目:一种简易的文件安全传输系统的设计与实现 学 院: 专业班级: 学 号: 姓 名: 指导老师: 目 录第一部分 课程设计准备1.1课程设计题目.11.2小组成员及分工.11.3课题背景及意义.1第二部分 课程设计过程2.1课题需求分析.4 2.1.1需求分析.42.2概要设计.9 2.2.1 系统功能描述.5 2.2.2 系统功能流程图.62.3具体功能的实现.9 2.3.1预备知识.9 2.3.2算法原理.9.2.4运行结果.11 2.4.1程序界面截图.112.5 待改进问题.12第三部分 课程设计体会3.1课程设计心得体会.123.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
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号