logo资料库

基于OpenSSL的安全通信系统的设计与实现.doc

第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
资料共39页,剩余部分请下载后查看
摘 要
Abstract
目 录
第一章 概述
1.1 课题研究背景及意义
1.2 课题研究现状
1.3 项目的内容及创新点
1.4 论文组织结构
第二章SSL协议以及OpenSSL介绍
2.1SSL协议概述
2.1.1 SSL协议的发展过程
2.1.2 SSL协议结构
2.1.3 SSL记录协议
2.1.4 SSL 握手协议
2.2 OpenSSL概述
2.2.1 OpenSSL的API结构函数
2.2.2 OpenSSL的命令工具
2.2.3 OpenSSL建立安全连接的方法
2.3 本章小结
第三章 OpenSSL的安全通信系统设计与实现
3.1 开发环境的搭建
3.1.1 下载所需软件 
3.1.2 软件安装
3.2 SSL安全通信系统C/S的设计
3.2.1 系统描述
3.2.2 系统设计原则
3.2.3系统设计目标
3.2.4 系统设计流程
3.3 SSL安全通信系统C/S的实现
3.3.1 安全证书的管理与生成
3.3.2 逻辑实现
3.4 本章小结
第四章 通信系统测试
4.1 测试目的
4.2 测试环境及工具
4.3 通信模块及功能性测试
4.3.1 服务器端模块测试
4.3.2 客户端模块测试
4.3.3 功能性测试
4.4 本章小结
第五章 总结与展望
5.1 总结
5.2 展望与设想
结束语
参考文献
毕 业 设 计 (论文 ) 题 目:基于 OpenSSL 的安全通信系统的设计与实现 学 院: 信息管理学院 专 业: 信息安全 学生姓名: 班级/学号 指导老师/督导老师: 起止时间: 至 I
摘要 摘 要 设计安全通信系统的目的就是为了适应互联网的发展,遏制网络安全给人们带来烦恼和经济 损失,构建一个相对安全的通信环境,今天的互联网通信随处可见。涉及到社会的各个领域,特 别是金融以及电子商务领域,成千上万的电子商务交易安全问题无处不在,用户信息泄露、个人 信息被各大商家所获取以及国家、企业之间的利益博弈中无不存在其通信中的安全,其正真的较 量就在于安全。所以,在 21 世纪,要想获得其稳定的发展,特别在互联网中成为翘楚,务必要有 安全的理念。 信息分享在这个社会信息化的今天已成为生活不可缺少的一部分,随着互联网的兴起和发展, 极大地促进人类生活,改变了整个世界,提高了人们工作的效率和生活方式。然而,安全问题随 之而来的日益突出,信息篡改、传输过程中的被人窃听以及身份的伪造等等时有发生。给人们带 来一定程度的损失,小到个人,大到企业国家,特别是国家的重要机密,一旦泄露将危害整个民 族,所以,建立一个安全的通信系统是非常有必要和有实际意义的。 本系统使用基于 OpenSSL 的开源库在 VC++6.0 的环境下编程实现 SSL 的安全通信,建立一个 安全 TCP 连接。在设计过程中使用的是 C++面向对象的语言实现,同时使用了多线程技术。在使用 SSL 协议的建立安全的通信信道的同时,为保证通信的安全性,在此过程中还需对服务器端和客户 端进行验证,依次建立安全的 TCP 连接,实行对信息交互的保密性和完整性。本系统将建立服务 器端和客户端,使用 OpenSSL 的提供的 API 编程接口实现 SSL 的信息传输通道。 本文简要叙述了安全通信开源库 OpenSSL 的编程接口开发的异步通信的过程。其功能包括搭 建一个 基于 CA 用于签发证书,生成 X.509 证书请求,利用证书,建立异步的 SSL 信息传输通 信。并以此建立 SSL 安全连接。系统可以进行安全的信息数据传输,保护数据的安全和机密。系 统的运行测试结果表明,数据以密文形式在 SSL 通道中传输,机密性和完整性得到了较好保护。 关键词 安全通信; OpenSSL; SSL; 完整性; 机密性; 信息; I
Abstract Abstract The purpose of secure communication system is designed to adapt to the development of the Internet in order to curb the trouble to bring network security and economic losses , to build a relatively safe communication environment today's Internet communications everywhere. Involved in all areas of society , especially the financial and e-commerce , e-commerce transactions of thousands of security problems everywhere, disclosure of user information , personal information is of major merchants and national interests between enterprises get the game in the presence of all its communications security , which are really a contest is that security . So, in the 21st century , in order to obtain its stable development, especially to become a leader in the Internet , be sure to have a safe idea . , Information sharing in this information society today has become an indispensable part of life , with the rise and development of the Internet , greatly facilitate human life , changed the world , people work to improve the efficiency and life. However , the attendant security issues have become increasingly prominent information tampering during transmission was eavesdropping and identity forgery , etc. have occurred. To bring a certain degree of loss , small individuals, large national enterprises , particularly important state secrets , once the leak would endanger the entire nation , therefore, to establish a secure communication system is very necessary and meaningful . , The system uses the open source OpenSSL library -based connections in VC + +6.0 programming environment for secure communications over SSL to create a secure TCP. Used in the design process is a C + + object-oriented language, while the use of multi-threading technology. While using the SSL protocol to establish a secure communication channel , in order to ensure the security of communication in this process needed for server and client for authentication, in turn establish a secure TCP connection , the implementation of information exchange and confidentiality integrity. The system will create the server and client , using the API programming interface provided by OpenSSL SSL information transmission channel. This article briefly describes the process of communication open source library for asynchronous communication security OpenSSL programming interface developed for . Its features include a built -based CA is used to issue certificates to generate X.509 certificate request , use the certificate to establish SSL communication asynchronous transmission of information . And thus establish a secure SSL connection . System for secure transmission of information data , to protect the security and confidentiality of the data. The test results show that the system is running , the data in the SSL cipher text channel transmission, the confidentiality and integrity have been better protected. Keywords: Secure communication; OpenSSL; SSL; integrity; confidentiality; information II
目录 目 录 2.2.1 2.2.2 2.2.3 2.1.1 2.1.2 2.1.3 2.1.4 摘 要..........................................................................................................................I Abstract......................................................................................................................II 第一章 概述................................................................................................................1 1.1 课题研究背景及意义......................................................................................... 1 1.2 课题研究现状....................................................................................................2 1.3 项目的内容及创新点......................................................................................... 2 1.4 论文组织结构....................................................................................................3 第二章 SSL 协议以及 OpenSSL 介绍........................................................................ 4 2.1 SSL 协议概述.................................................................................................... 4 SSL 协议的发展过程............................................................................. 4 SSL 协议结构....................................................................................... 5 SSL 记录协议....................................................................................... 6 SSL 握手协议.......................................................................................6 2.2 OpenSSL 概述................................................................................................... 7 OpenSSL 的 API 结构函数...................................................................... 8 OpenSSL 的命令工具............................................................................. 8 OpenSSL 建立安全连接的方法............................................................... 9 2.3 本章小结.........................................................................................................11 第三章 OpenSSL 的安全通信系统设计与实现...................................................... 12 3.1 开发环境的搭建.............................................................................................12 3.1.1 下载所需软件.....................................................................................12 3.1.2 软件安装............................................................................................12 3.2 SSL 安全通信系统 C/S 的设计........................................................................ 17 3.2.1 系统描述............................................................................................17 3.2.2 系统设计原则.....................................................................................17 3.2.3 系统设计目标.................................................................................... 18 3.2.4 系统设计流程.....................................................................................18 3.3 SSL 安全通信系统 C/S 的实现........................................................................ 21 3.3.1 安全证书的管理与生成.......................................................................21 3.3.2 逻辑实现............................................................................................22 3.4 本章小结.........................................................................................................26 第四章 通信系统测试..............................................................................................27 4.1 测试目的.........................................................................................................27 4.2 测试环境及工具.............................................................................................. 27 4.3 通信模块及功能性测试....................................................................................27 4.3.1 服务器端模块测试............................................................................... 27 4.3.2 客户端模块测试...................................................................................28 4.3.3 功能性测试..........................................................................................29 4.4 本章小结.........................................................................................................30 第五章 总结与展望..................................................................................................31 5.1 总结................................................................................................................31 III
5.2 展望与设想..................................................................................................... 32 结束语..........................................................................................................................33 参考文献......................................................................................................................34 目录 IV
基于 OpenSSL 的通信系统设计与实现 第一章 概述 1.1 课题研究背景及意义 在当今 Internet 使用如此普及的大环境下,各种信息服务在全世界范围内得到越来越广泛的 应用,通过 Internet 访问 Web 站点的用户数量日益剧增,与此同时,信息安全问题已受到了一个 前所未有的重视。信息安全通信就显得非常重要了。基于此, 建立一个有效的安全系统来实现信 息在传输过程中的保密性、完整性以及对方的身份认证,访问控制及抗抵赖服务是非常重要的。 OpenSSL 是一个很权威的开源代码协议软件,不仅实现的安全协议 SSL 的基本功能,而且提供 强大的密码库以及实现其几乎全面的 PKI 服务,给广大开发者提供方便的应用。所以 OpenSSL 是 一个功能强大的开源库,有着非常广泛的应用前景。 信息安全无处不在,就前段时间曝出的 OpenSSL 漏洞,互联网的心脏出血。到目前为止仍存 在一批数量庞大的网站和服务器未能及时对这一漏洞采取有效的措施。据安全机构透露,心脏出 血漏洞依然是黑 客攻击的主要目标。该漏洞作 为年度最严重漏洞,曾轰动了 整个互联网业 界。 Errata Security 公司首席执行官 Rob Graham 表示,最近他们扫描显示的 615268 网站,其 中还存在流血漏洞有 318239 服务器,仍在运行有的 OpenSSL 漏洞的加密库。心脏出血是 OpenSSL 的漏洞是一个败笔锁,OpenSSL 的协议被广泛应用于网上银行,在线支付,电子邮件,电力供应商 和其他重要遗址,由于敏感的脆弱性的存在,cookie 的用户访问该网站,SSL 私有密钥,密码和 其他账户的数据,所有可被黑客远程读取。 前不久,OpenSSL 出现了安全漏洞,为防止网络出血造成的个人信息泄露,信息安全专家建议 普通网民使用社交网站,电子邮件,网上冲浪在一个陌生的接触保持警觉,特别是不要点击链接, 开始的信任 HTTPS。最后,不要为了方便,设置相同的密码的所有账户。 信息安全问题的另一个原因是由于应用网络和通讯设施不完善造成的。网络和通信设备中使 用用户的各种终端和计算机信息之间的数据传输,传输过程中很容易受到非法黑客攻击,这就要求 网络中传输的数据安全保护措施。为需求开发的技术,如 VPN 和 SSL。 根据网络安全考虑,研究人员和设计师对网络数据传输的安全性设计给出各种各样的加密算 法和数字签名技术,如加密安全传输协议集,如 SSL,PCT,TLS 等。SSL 的全名是全套的套接字层,目 的是安全的网络通信协议。SSL 的目标是确保网络计算机相互通信时的数据和信息安全,提供可靠 的和可靠的通信服务。SSL 协议支持各种加密算法,提供多种服务,如数据加密、数字签名,和完整 性检查,密钥交换等等,并且还提供了服务器身份验证机制,以及可选的客户端验证服务,确保数据 交换的双方沟通不会窃听和篡改。事务处理系统安全性要求非常高和电子商务系统本质上是基于 SSL 协议。TCP / IP 网络、SSL 协议为数据安全已成为行业标准。 在我们国家,网络信息安全技术的研究及产品开发还处于起步阶段,还存在大量的工作需要 去研究、开发和探索 。为了尽可能的减少由于信息安全问题对社会、国家、个人造成的伤害与损 失,急需建立一套有效的安全体系来维护整个互联网的安全通信,维护国家、社会、个人的信息 安全,捍卫我们的个人信息免受不法分子的侵害,促进社会和谐稳定。 1
基于 OpenSSL 的通信系统设计与实现 1.2 课题研究现状 在网络通信系统中,TCP / IP 协议套件发挥了作用,和服务之间连接的 IP 层起到了一定作用加 强。为了提高信息传输的安全通信的过程中,设计者提出了 SSL 协议。SSL 协议最初是由网景公司 提出,是为了保护网络的安全,随着互联网时代的发展,今天成为一个有效的解决方案来提高通信 安全。 SSL 安全协议经过多次修改后,最早的协议版本是 1944 SSLvl,作为网景的内部草案,没有发布 第一个版本。发布第一个版本即 SSLv2 的站点。SSL 的第二个版本,这个版本是集成到 1955 年网景 KIPpHickman SSLv2 的站点时设计。 尽管 SSLv2 的站点时安全不符合要求,需要加强和提高以此获 得的广泛使用,但它仍然非常广泛使用,今天有很多的产品仍然使用这个版本。 由于 SSLv2 的缺陷,网景公司进行了 SSL 的重新设计,通过安全专家 PaulKocher。PaulKoeher 和 AllanFreier、PhilKarlton 一起完成并公布了 SSL 协议簇中最具代表性的 SSLv3.0。鉴于在 SSL 协议簇中,SSLv3.0 最具代表性,所以本文重点分析 SSLv3.O 协议,在本文中,如没有特别说明,指的 都是 SSLv3.0 协议。 微软也为 SSL 协议的发展做出了贡献。1996 年,微软发布了 STLP(安全 im ansport 层协议,传 输层安全)协议草案,草案提出一些修改 SSLv3,但不幸的是 STLP SSLv3 大多数更改建议没有得到互 联网工程任务组的支持。 互联网工程任务组于 1996 年 5 月开始了 SSL 协议的标准化工作。此次标准化会议最重要的成 果就是提出传输层安全 TLS 协议。现在,TLS 的最新版本是 2006 年发布的 TLSvl.1。 鉴于 SSL 保护网络通信信息强大的功能,人们对其研究越来越深,SSL 的应用也显得越来越重 要。但是实现 SSL 协议的对称和非对称加密算法加密算法、数字签名算法和该算法总是让人难于 摆脱。为了简化的实现和应用 SSL,加拿大的 EricA.Yong 与 TimJ.Hudson 设计 OpenSSL 包,这个包 是一个开源软件包,使得世界上 SSL 爱好者可以为 SSL 交换修改他的意见。可以说 OpenSSL 促进开 源软件包的出现和发展是提高 SSL 具有重要意义的。1998 年,OpenSSL 项目团队的开发工作接管了 OpenSSL,OpenSSL 发展到目前为止,它的各种功能包括算法结构不断改善和提高。OpenSSL 是一个 基于现代密码学的开源软件包,它提供了网络安全设计师与主密码算法,封装的主要的密钥和证书 管理功能,充分实现 SSL 协议等功能,同时它的许多应用程序是专为网络安全通信服务,和其他开发 提供了强有力的支持。 1.3 项目的内容及创新点 在对 SSL 协议和 OpenSSL 进行深入研究的基础上,详细分析 SSL 协议的基本工作原理及开源 软件包 OpenSSL 的详细介绍。了解其基本功能和使用原理,利用 OpenSSl 和 Perl 在 VC++6.0 开发 环境下实现 SSL 的 C/S 安全通信系统的过程,通过利用 OpenSSL 的 API 接口编程实现了系统的要 求的全部功能,为给用户提供视觉上效果以及方便使用,特意设计的客户端及服务器端的界面。 论文主要由以下几个部分构成: 原理,需求,设计,实现、测试等 一.深入介绍了 SSL 协议工作原理及实现过程,重点主要介绍 SSL 握手协议部分; 二.对开源软件 OpenSSL 软件包的介绍,并利用其编程实现 SSL 协议的 C/安全通信过程,以及利 2
基于 OpenSSL 的通信系统设计与实现 用 OpenSSL 在 window 环境下生成安全证书的过程; 三.针对本系统开发过程中所遇到的问题及解决措施进行详细的分析和介绍。 本文主要在于利用开源软件 OpenSSL 库在 windows 环境下,采用 VC++6.0 开发工具,设计和 实现信息安全通信系统,建立实现 SSL 协议的 C/S 的安全通信,并给出详细的实现过程和源代码。 同时在设计过程中要充分运用已有的资源,进行学习和研究,在此基础上进行开发和设计,这样 使得开发出来的系统不至于有太多的缺陷和不足,减少开发难度。 1.4 论文组织结构 本文共分为五章: 第一章为概述,介绍课题研究背景与意义、研究现状、课题主要内容和创新点以及论文组织 结构。 第二章主要介绍安全通信协议 SSL 以及 OpenSSL。主要涉及 SSL 协议的发展过程和工作原理, 以及协议的层次结构,还有一些重要概念和 OpenSSL 的基础知识原理。为后文的工作做好基础。 第三章是本文的核心部分。主要介绍基于 OpenSSL 的安全通信系统的设计与实现过程。涉及 开发环境的搭建、SSL 安全通信系统 C/S 的设计与实现、安全证书的签发与生成以及用户界面的设 计等内容 第四章为通信系统的测试,主要对系统基本功能的测试,试试在搭建的环境中通信过程中所 遇到的问题,与此同时,使用了 Wireshark 工具对通信数据进行抓获和研究分析。 第五章为总结性章节。主要总结本研究课题的核心和关键内容以及在设计和实现过程的一些 心得与体会与大家分享。同时对本次研究中还未解决的棘手问题罗列出来,为未来的学习和研究 提供一个很好的方向,竭尽所能地解决这些我们所遇见的信息安全问题,为互联网的安全通信提 供一套有效的安全系统,促进社会的和谐发展与稳定。 3
分享到:
收藏