收藏 分享(赏)

本科毕业设计(论文):基于OpenSSL的安全Web服务器的设计与实现.doc

上传人:文档投稿赚钱 文档编号:1463338 上传时间:2018-07-20 格式:DOC 页数:68 大小:1.07MB
下载 相关 举报
本科毕业设计(论文):基于OpenSSL的安全Web服务器的设计与实现.doc_第1页
第1页 / 共68页
本科毕业设计(论文):基于OpenSSL的安全Web服务器的设计与实现.doc_第2页
第2页 / 共68页
本科毕业设计(论文):基于OpenSSL的安全Web服务器的设计与实现.doc_第3页
第3页 / 共68页
本科毕业设计(论文):基于OpenSSL的安全Web服务器的设计与实现.doc_第4页
第4页 / 共68页
本科毕业设计(论文):基于OpenSSL的安全Web服务器的设计与实现.doc_第5页
第5页 / 共68页
点击查看更多>>
资源描述

1、青岛农业大学毕 业 论 文(设计)题 目: 基于 OpenSSL 的安全 Web 服务器的设计与实现 姓 名: 学 院: 理学与信息科学学院 专 业: 计算机科学与技术 班 级: 08 级 03 班 学 号: 20082854 指导教师: 2012 年 6 月 16 日基于 OpenSSL 的安全 Web 服务器的设计与实现摘要:随着计算机网络技术的飞速发展,基于计算机网络诸多业务,如电子商务、电子政务、网上银行迅猛的发展,为人们的生活和工作带来了很多的方便。然而,由于 Internet 的开放性、灵活性、共享性等特点,也为人们带来了巨大的安全威胁。如何在网络中共享信息的同时更加有效地保障我们

2、的信息不被他人窃取、利用保护个人的信息安全,已成为人们共同关注的问题。默认情况下 Web 服务使用的传输协议是 HTTP,而 HTTP 协议是没有任何加密措施的,服务器和客户之间通讯的所有的信息全部采用明文传输,恶意的攻击者可以通过安装监听程序来获得我们和服务器之间的通讯内容。因此,如何保证服务器和客户之间通讯的安全性,保证双方交易信息的保密性、完整性已成为亟待解决的问题。本设计基于 Linux 平台,利用 OpenSSL 开放源码库,实现了具有安全性的Web 服务器,实现了服务器和客户之间的安全通信。服务器端通过出示数字证书进行身份认证,Server 同时限定 Client 也要出示身份验证

3、,实现了更具有可信性的双向认证;通过采用 SSL 中的加密算法对传输的数据进行加密,以保证双方传输数据的机密性;采用相关哈希函数如 MAC,对数据进行验证,以保证数据的完整性,确保信息数据在传输途中不会被非法篡改。从而为完成服务器与浏览器之间的安全通讯提供了保障。关键词:信息安全;安全套接接字层; OpenSSL; HTTPSThe Design and Implementation of Secure Web Server Based on OpenSSLAbstract:With the rapid development of computer network technology, b

4、usiness such as e-commerce, e-government, e-bank based on computer network, has brought a lot of convenience for our daily life. However, due to the openness, flexibility, and sharing of the Internet, it also exposes us to the threat of leaking our personal information. It causes highly heightened c

5、oncerns to ensure our personal information secured in computer networks, recently.HTTP is used to deliver messages in Web servers, which has no protection in any way. All messages, which can be monitored by attackers, are plaintext in communication between server and client. Thus, it has become an e

6、mergency to secure confidentiality, integrity of the information in transactions.In this article, we construct the project using OpenSSL to implement Web server program, which ensure a secure communication between the server and client. Double-sided authentication protects the information from attac

7、kers among the server and client through digital certificates. In the framework of SSL, a specific encryption algorithm is used to achieve the confidentiality and one kind of hash algorithms is applied to guarantee the integrity of the data in transmission, which provides a guarantee for the secure

8、communication between the server and browser.Keywords:Information Security;SSL; OpenSSL; HTTPS目录第一章 引言 .11.1 课题的研究背景 .11.2 课题研究的目的和意义 .31.3 课题的研究内容及目标 .41.4 本文的组织结构 .4第二章 信息安全理论知识 .52.1 密码学基础 .52.1.1 密码体制 .52.1.2 密码体制的分类 .62.1.3 对称密码体制 .62.1.4 公钥密码体制 .72.2 消息认证与数字签名 .82.2.1 消息摘要 .82.2.2 数字签名 .82.3 公

9、钥基础设施 .92.3.1 公钥基础设施的概念 .92.3.2 公钥基础设施的组成 .102.3.3 数字证书 .112.4 安全套接字层 .112.4.1 SSL 概述 .112.4.2 SSL 协议的结构 .122.4.3 SSL 记录协议 .122.4.4 SSL 握手协议 .132.5 本章小结 .16第三章 Web 服务器开发基础 .173.1 Linux 操作系统 .173.1.1 Linux 操作系统简介 .173.1.2 GNU 编译器套装 .183.1.3 make 命令与 Makefile 文件 .193.1.4 GDB 调试工具 .213.2 OpenSSL 介绍 .22

10、3.2.1 OpenSSL 的功能 .233.2.2 OpenSSL 的组成 .233.2.3 OpenSSL 的优缺点 .253.3 TCP/IP 协议分析 .253.3.1 TCP/IP 协议概述 .253.3.2 网络层协议(IP 协议) .263.3.3 传输层协议(TCP 和 UDP) .263.4 HTTP 协议分析 .273.4.1 客户端请求 .27I3.4.2 服务器响应 .283.4.3 HTTP 消息交换 .283.5 HTTPS 协议简介 .293.6 Socket 编程 .303.6.1 套接字连接 .303.6.2 套接字属性 .313.7 本章小结 .31第四章

11、基于 OpenSSL 的安全 Web 服务器的设计 .334.1 系统实现的功能 .334.2 程序的设计思路 .334.3 安全 Web 服务器程序的模块设计 .374.3.1 初始化模块 .374.3.2 Web 服务模块 .374.4 本章小结 .39第五章 基于 OpenSSL 的安全 Web 服务器的实现 .405.1 开发环境的搭建 .405.1.1 编译 OpenSSL.405.1.2 编译生成 OpenSSL 动态链接库 .405.1.3 搭建 CA 生成证书文件 .415.2 详细设计 .425.2.1 初始化编程环境 .425.2.2 创建 Socket.455.2.3 创

12、建监听线程 .465.2.4 创建客户端线程 .485.2.5 分析请求 .485.2.6 发送请求文件 .505.3 本章小结 .55第六章 总结与展望 .566.1 全文总结 .566.2 研究展望 .56致谢 .58参考文献 .59引言0第一章 引言随着计算机网络技术的发展,21 世纪已经成为一个数字化、网络化、信息化的时代,而它的核心是网络。要实现信息化就要依靠完善的网络,因为网络可以实现跨时间、空间的数据传输,从而使信息得到共享。自上个世纪 90 年代以来,以因特网(Internet)为代表的计算机网络得到了飞速的发展,已从最初的教育科研网逐步发展成商业网络,并已成为仅次于全球电话网

13、的世界第二大网络。如今,因特网正在改变我们日常生活和工作的各个方面,加速了全球信息革命的进程。可以毫不夸张的说,因特网是人类自印刷术发明以来在通信方面最伟大的变革。1.1 课题的研究背景据中国互联网络信息中心(CNNIC)于 2012 年 1 月 16 日在北京发布的第 29 次中国互联网络发展状况统计报告显示, 截至 2011 年 12 月底,中国网民数量突破 5 亿,达到 5.13 亿,全年新增网民 5580 万。互联网普及率较上年底提升 4 个百分点,达到 38.3%。图 1-1 中国网民规模与普及率此外,2008-2010 年,网络购物用户规模连续 3 年保持 50%左右的高速增长。我

14、国网络购物用户规模达到 1.94 亿人,网络购物使用率提升至37.8%。与 2010 年相比,网络购物用户增长 3344 万人,增长率为 20.8%。引言1随着我国电子商务的普及,网民的理财习惯正逐步向网上交易转移,针对网上银行、证券机构和第三方支付的攻击将剧增。图 1-2 2007.12-2011.12 我国网购用户数量、增长率及渗透率以上两组数据表明中国有着极其庞大的网络用户群和接近两亿的网购用户。在这个惊人的数字背后,有一个我们不得不面对的问题,那就是网络信息安全。这个问题自从网络诞生以来就一直困扰着我们,只不过如今计算机网络的发展远超出了以前的预计,所以在网络社会日益发达的今天,个人信

15、息安全问题似乎变得尤为重要。2011 年 12 月 21 日,中国互联网遭遇了一次强大的“地震” ,从国内最大的中文技术社区 CSDN 用户数据库被泄漏开始,几天时间内,国内多家大型网站用户数据库被陆续曝光,在互联网上广泛流传。更为严重的是,被泄漏的用户数据库大多数包含明文保存的用户密码,受影响用户数以亿计。据 2011 年中国互联网网络安全报告显示,截至 2011 年 12 月 29 日,CNCERT 通过公开渠道获得疑似泄露的数据库有 26 个,涉及帐号、密码 2.78 亿条。其中,具有与网站、论坛相关联信息的(例如,被声称属于某个网站的数据)数据库有 12 个,涉及数据 1.36 亿条;

16、无法判断网站、论坛关联性的数据库有 14 个,涉及数据 1.42 亿条。这次“地震”过去仅仅一个月时间,2012 年 1 月 25 日,新浪微博中再次爆出 Putty、WinSCP 等 SSH 管理软件中文版本(汉化版)存在后门程序导致用户信息泄露的事件情况。至 1 月 30 日、31 日,网络安全企业、相关博客、论坛以及业内人士等纷纷披露并确认后门程序存在的情况,同时还披露了黑客引言2通过后门程序窃取大量 SSH 管理软件用户信息系统相关的账号和口令信息、存储在后门程序服务器的情况。随后,由于黑客的后门程序服务器存在 SQL 注入漏洞以及目录权限漏洞,导致其存储的窃取信息被更多的人获得。CS

17、DN 和天涯社区用户数据泄漏、部分 SSH 管理软件中文版本存在后门程序导致用户信息泄露等安全事件带来了广泛的社会影响,再一次对互联网企业和互联网用户敲响了安全警钟。互联网安全已经受到非常严峻的挑战。1.2 课题研究的目的和意义互联网技术的快速发展,给我们的计算机信息系统,特别是网络通讯带来了极其危险的安全隐患,面对日益严重的网络安全问题,计算机网络应用必须考虑和解决一个重要的课题,即如何在网络中共享信息的同时更加有效地保障我们的信息不被他人窃取、利用保护个人的信息安全。正如 Bruce Schneier 所说,安全问题就如同一条链子,必须保证每一个环节的安全才能达到使整个链子具有安全性。所以

18、在解决每一个安全问题之前,都应先分析其可能存在的安全缺陷,进而采取相应的安全措施。而以下的几个方面体现了信息的安全性:(1)机密性(Confidentiality ):通过加密等手段,保护信息免受主动的非法窃取、阅读等攻击;(2)完整性(Integrity):确保信息数据在传输途中不会被非法篡改,也可以防止假冒的信息;(3)鉴别(Authentication):确认访问者的身份或消息的来源,防止冒充他人的行为发生;(4)不可否认性(Non-repudiation):保证消息制造者或发出者不能在事后否认他制造或发出的消息。本课题研究的目的就是通过设计一个安全 Web 服务器程序来保证信息传递过程

19、中的安全,从而实现信息的安全传输。本文在 Linux 平台下利用 OpenSSL源码库,成功地实现了安全 Web 服务器的设计,也是在 SSL 协议的基本框架下搭建的一个网络安全 Web 平台,用户可以在请求页面的同时受到 SSL 安全连接的保护,使用户的个人信息安全得到保障。引言31.3 课题的研究内容及目标本文的撰写分为三部分:首先是对密码学基础知识、数字签名(Digital Signature) 、信息摘要( Message Digest) 、公钥基础设施(PKI) 、安全套接字层协议(SSL 协议)等信息安全知识的介绍,为下一步安全 Web 服务器的设计和实现打下理论基础,做好实践的铺

20、垫;第二部分是进行 Web 服务器开发的编程基础,包括对 Linux 平台、OpenSSL 源码、TCP/IP 协议、HTTP(S) 协议、Socket 编程相关知识的补充;最后则是根据以上两部分的理论研究和阐述,利用 OpenSSL 源码在 Linux 平台下用 C 语言实现安全 Web 服务器。利用此服务器程序来实现用户信息及用户所请求页面信息的机密性、完整性、鉴别和不可否认性。1.4 本文的组织结构本文的组织结构安排如下:第一章引言,简要阐明本课题的研究背景、目的和意义,以及要实现的目标。第二章信息安全的理论知识,阐述了诸如密码学基础知识、信息摘要(Message Digest) 、数字

21、签名(Digital Signature) 、公钥基础设施(PKI) 、安全套接字层协议(SSL 协议)等相关理论知识。第三章 Web 服务器开发的基础,包括对 Linux 平台、 OpenSSL 源码、TCP/IP 协议、HTTP(S)协议、 Socket 编程的介绍。第四章讲述的是基于 OpenSSL 的安全 Web 服务器程序的设计,提出设计思路、结构、目标、各模块整体流程。第五章是根据前面章节服务器程序的设计,实现一个基于 OpenSSL 的安全Web 服务器程序,并通过测试验证网络的安全性。第六章主要是总结全文,提出本次设计和实践中的不足,对一下步的研究方向及程序改进提出建议。信息安

22、全理论知识4第二章 信息安全理论知识在这一章我们主要介绍一些有关的信息安全理论知识,包括密码学基础,消息认证,数字签名,公钥基础设施(PKI)和安全套接字层。2.1 密码学基础密码学(Cryptology)是研究信息系统安全保密的科学。它包含两个分支,一个是对信息进行编码以保护信息的密码编码学(Cryptography) ,另外一个是研究分析破译密码的密码分析学(Cryptanalysis) 。密码技术的思想是伪装信息,使未授权者不能理解它的真实含义。它分为两个部分,第一部分是信息保密,第二部分是信息认证。信息保密用来抵抗被动攻击,保证信息的机密性,信息认证用来抵抗主动攻击,保证信息的完整性和

23、不可否认性。本小节前一部分主要是实现信息保密,比如对称密码体制的密码算法。而后面的一部分主要是消息认证,像非对称密码体制的密码算法。2.1.1 密码体制一个密码系统,通常简称为密码体制(Cryptosystem) ,它由五个部分组成:(1) 明文空间 M,它是全体明文的集合。(2) 密文空间 C,它是全体密文的集合。(3) 密钥空间 K,它是全体密钥的集合。其中每一个密钥 K 均由加密密钥 Ke 和解密密钥 Kd 组成,即 K=。(4) 加密算法 E,它是一族由 M 到 C 的加密变换。(5) 解密算法 D,它是一族由 C 到 M 的解密变换。对于每一个确定的密钥,加密算法将确定一个具体的加密变换,解密算法将确定一个具体的解密变换,而且解密变换就是加密变换的逆变换。对于明文空间 M 中的每一个明文 M,加密算法 E 在密钥 Ke 的控制下将明文 M 加密成密文 C,即 C=E(M,Ke);而解密算法 D 在密钥 Kd 的控制下将密文 C 解密成明文

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报