基于OpenSSL的安全Web服务器的设计与实现.docx
《基于OpenSSL的安全Web服务器的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于OpenSSL的安全Web服务器的设计与实现.docx(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于OPenSSL的安全Web服务器的设计与实现摘要:随着计算机网络技术的飞速发展,基于计算机网络诸多业务,如电子商 务、电子政务、网上银行迅猛的发展,为人们的生活和工作带来了很多的方便。 然而,由于Internet的开放性、灵活性、共享性等特点,也为人们带来了巨大的 安全威胁。如何在网络中共享信息的同时更加有效地保障我们的信息不被他人窃 取、利用保护个人的信息安全,已成为人们共同关注的问题。默认情况下Web服务使用的传输协议是HTTP,而HTTP协议是没有任何 加密措施的,服务器和客户之间通讯的所有的信息全部采用明文传输,恶意的攻 击者可以通过安装监听程序来获得我们和服务器之间的通讯内容。因
2、此,如何保 证服务器和客户之间通讯的安全性,保证双方交易信息的保密性、完整性已成为 亟待解决的问题.本设计基于LinUX平台,利用OPenSSL开放源码库,实现了具有安全性的 Web服务器,实现了服务器和客户之间的安全通信。服务器端通过出示数字证 书进行身份认证,SerVer同时限定Client也耍出示身份验证,实现了更具有可信 性的双向认证;通过采用SSL中的加密算法对传输的数据进行加密,以保证双 方传输数据的机密性;采用相关哈希函数如MAC,对数据进行验证,以保证数 据的完整性,确保信息数据在传输途中不会被非法篡改。从而为完成服务器与浏 览跆之间的安全通讯提供了保障。关键词:信息安全;安全
3、套接接字层:OpenSSL: HTTPSThe Design and Implementation of Secure Web Server Based onOpenSSLAbstract: With the rapid development of computer network technology, business such as e-commerce, e-govemment, e-bank based on computer network, has brought a lot of convenience for our daily life. However, due to
4、the openness, flexibility, and sharing of the Internet, it also exposes us to the threat of leaking our personal information. It causes highly heightened concerns to ensure our personal information secured in computer networks, recently.HTTP is used to deliver messages in Web servers, which has no p
5、rotection in any way. All messages, which can be monitored by attackers, are plaintext in communication between server and client. Thus, it has become an emergency to secure confidentiality, integrity of the information in transactions.In this article, we construct the project using OpenSSL to imple
6、ment Web server program, which ensure a secure communication between the server and client Double-sided authentication protects the information from attackers among the server and client through digital certificates. In the framework of SSL, a specific encryption algorithm is used to achieve the con
7、fidentiality and one kind of hash algorithms is applied to gu 公钥基础设施(PKI)、安全 套接字层协议(SSL协议)等相关理论知识。第三章Web服务器开发的基础,包括对Linux平台、OPCnSSL源码、TCP/IP 协议、HTTP(S)协议、SoCket编程的介绍。第四章讲述的是基于OpenSSL的安全Web服务器程序的设计,提出设计思 路、结构、目标、各模块整体流程。第五章是根据前面章节服务器程序的设计,实现一个基于OPenSSL的安全 Web服务器程序,并通过测试验证网络的安全性。第六章主要是总结全文,提出本次设计和实践中的
8、不足,对一下步的研究方向及程序改进提出建议。信息安全理论知识第二章信息安全理论知识在这章我们主要介绍i些有关的信息安全理论知识,包括密码学基础,消 息认证,数字签名,公钥基础设施(PKI)和安全套接字层。2.1 密码学基础密码学(CryPtoIOgy)是研究信息系统安全保密的科学。它包含两个分支,一 个是对信息进行编码以保护信息的密码编码学(Cryptography),另外一个是研 究分析破译密码的密码分析学(CryPlanalySiS)O密码技术的思想是伪装信息,使未授权者不能理解它的真实含义。它分为两 个部分,第一部分是信息保密,第二部分是信息认证。信息保密用来抵抗被动攻 击,保证信息的机
9、密性,信息认证用来抵抗主动攻击,保证信息的完整性和不可 否认性。本小节前一部分主耍是实现信息保密,比如对称密码体制的密码算法。 而后面的一部分主要是消息认证,像非对称密码体制的密码算法。2.1.1 密码体制-个密码系统,通常简称为密码体制(Cryptosystem),它由五个部分组成: (1)明文空间M,它是全体明文的集合。(2)密文空间C,它是全体密文的集合。(3)密仍空间K,它是全体密仍的集合。其中每一个密钥K均由加密密 钥Ke和解密密例Kd组成,即K=o(4)加密算法E,它是一族由M到C的加密变换。(5)解密算法D,它是一族由C到M的解密变换。对于每-个确定的密例,加密算法将确定-个具体
10、的加密变换,解密算法将 确定-个具体的解密变换,而且解密变换就是加密变换的逆变换。对于明文空间 M中的每一个明文M,加密算法E在密钥KC的控制下将明文M加密成密文C, 即C=E(M,KJ;而解密算法D在密钥Kd的控制下将密文C解密成明文M,即 M=D(CK)=D(E(M,KJ, Kd)2.1.2 密码体制的分类密码体制的核心是加解密算法。在加解密过程中,根据密码算法所使用的加 密密钥是否相同或者是否能由其中一个很容易推出另一个,可将密码体制分为对 称密码体制(又称单钥密码体制)和非对称密码体制(又称双钥密码体制,也称 为公钥密码体制)。也就是说,如果一个密码体制的Ke=Kd,或由其中一个很容易
11、推出另一个, 则称为单密钥密码体制或对称密码体制,否则称为双密钥密码体制或非对称密码 体制。进而,如果在计算机上Kd不能由Ke推出,这样将Ke公开也不会损害Kd 的安全,于是便可将(公开。这种密码体制称为公开密钥密码体制,简称为公 钥密码体制.2.1.3 对称密码体制对称密码体制对明文消息加密有两种方式:是明文消息按字符(如二元数 字)逐位进行加密,称之为流密码:另一种是将明文消息分组(含有多个字符), 逐组地进行加密,称之为分组密码。以往存在的密码绝大多数都是对称密码,它已经存在了很长时间。比如最早 使用密码技术的应该是四千年前的古代埃及人。而在公元前约50年,罗马皇帝 朱利叶凯撒(Juli
12、usCasesar)发明了一种用于战时秘密通信的方法,后来被称 为凯撒密码。随着计算机技术的飞速发展,由于商业应用和大量网络通信的需耍,密码技 术得到了前所未有的发展。1977年美国国家标准局正式发布数据加密标准DES (Data Encryption Standard)作为联邦标准,并免费提交美国公众使用。不得不 说白从DES出现后密码学领域得到了重大的革新,从原来的保护加密算法,到 如今的保护加密密钥,使密码学这个古老的学科焕发出新的活力。而事实证明对称密码体制的确有着非常重要的特点,集中表现在以下几个方 面; 在对称密码体制中,同一个密钥既用于加密也用于解密。 对称加密速度快。 因为接收
13、者需要得到对称密钥,所以对称加密容易受到中途拦截窃听的攻击。 对称密码体制中密钥的个数大约是以参与者数目的平方的速度增长,因 此难将它的应用扩展到大范围的人群中。 对称密码体制需耍复杂的密钥管理。 对称密码技术不适用于数字签名和不可否认性。2.1.4 公钥密码体制公钥密码体制的概念于1976年由W.Diffie和M.Hellman提出,它的产生是 密码学历史上的-次革命,它对于保密通信、密钥分发和鉴别等领域有着深远的 影响,它的出现是密码发展史上的里程碑。公钥密码体制的由现解决了对称密码体制中密例分发的难题,使密钥的个数 不再是以参与者的数目的平方的速度增长,它提供了 种全新的的加密模式。在
14、公钥密码之前的整个密码学的发展史中,所有的密码算法,都是基于代换和置换 这两个工具的。而公钥密码体制不再基于代换和置换,而是基于数学函数。但是我们要注意的是,并不是说公例密码在防范密码分析上比对称密码更安 全。事实上任何密码方案的安全程度都依赖于密仍的长度和破译密码所包含的计 算工作量,从抗击密码分析的角度讲,无论对称密码还是公钥密码原则上都没白 比对方优越的地方。还有就是也并不能说公钥密码使得对称密码已经过时了。相 反,由于当前公开密钥加密在计算上的巨大开销,导致公钥密码必须与对称密码 相互取长补短,结合使用。下面是公钥密码体制的一些特点: 使用公例密码技术时I用一个密仍加密的东西只能用另外
15、一个密例解 密 需要分发的密仍数目和参与者的数目一样,这样,在参与者数Ll很大的 情况下,公钥密码技术仍然会很好工作。 公钥密码技术支持数字签名和消息认证,可以保证消息的不可否认性。 公钥密码加密速度相比对称密码加密要慢。2.2 消息认证与数字签名在这一节我们主要介绍一下消息认证与数字签名,这两种技术分别保证了消 息的完整性和不可否认性。2.2.1 消息摘要消息摘要(Message Digest)又称为数字摘耍(DigitalDigeSt)O它是一个固定 长度的值,这个值对一段消息或文本来说是唯一的,它由一个单向HaSh函数对 消息进行运算而产生。如果消息在途中改变了,则接收者通过比较消息的新
16、摘要 与原摘要,就可知道消息是否被改变了。因此消息摘要保证了消息的完整性。而 其中最关键的部分莫过于Hash函数。Hash函数可以接受可变长度的数据输入,并生成输入数据的固定长度表示。 由于其独特的属性,Hash函数有时也叫做单向函数,这使得逆过程的实现非常 困难,甚至不可能实现。一些人把消息摘要叫做输入数据的数字指纹。重要的是 Hash函数的输出结果都是可以预测的,并没有随机性的存在空间。即如果两次 输入同样的数据,那么,Hash函数应该能够生成相同的消息摘要值。输入数据 中的一位发生了变化,都会导致生成非常不同的哈希值。Hash函数的输出结果应该是足够小的,以便管理这些生成的摘要。同时,
17、这些摘要又要足够大,这样才不易受到攻击。诸如MD5(RFC 1321)和SHA-I这 样的哈希算法是当前最常用的算法。MD5会生成128位(16字节)的消息摘要, 而SHA-I生成160位(20字节)的摘要块。HaSh函数并不能提供机密性,并且 它们不能使用秘密密仍以生成摘要。Hash函数还可以被视为压缩函数,它能将大的输入数据块表示为可管理的 数据块。大型的消息进行数字签名时,都是在其哈希值上执行的,而不是在消息 自身上执行,主耍是因为性能方面的原因。2.2.2 数字签名数字签名(DigitalSignatUre)的功用类似写在纸上的签名,但它又不同于普 通签名,它使用了公钥加密领域的技术实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 OpenSSL 安全 Web 服务器 设计 实现
限制150内