694523393毕业设计(论文)基于PKI的SSL VPN关键技术的研究与实现.doc
湖 南 科 技 大 学毕 业 设 计( 论 文 )题目基于PKI的SSL VPN关键技术的研究与实现作者学院计算机科学与工程学院专业信息安全学号指导教师二一 年 月 日湖 南 科 技 大 学毕业设计(论文)任务书 计算机科学与工程学 学院 信息安全 系(教研室)系(教研室)主任: (签名) 年 月 日学生姓名: 学号: 0605030223 专业: 信息安全 1 设计(论文)题目及专题:基于PKI的SSL VPN关键技术的研究与实现 2 学生设计(论文)时间:自 2009 年 12 月 11 日开始至 2010 年 6 月 8 日止3 设计(论文)所用资源和参考资料:1 Younglove R.Virtual private networks how they work.Computing&Control Engineering Journal,2005,11(5)2 高海英等.VPN技术M.北京:北京机械工业出版社,20043 Frost & Sullivan.中国SSL VPN市场调查报告R.4 WiFonic Technologies. SSL VPN Features and Benefits R.3L9ftQ,20094 设计(论文)应完成的主要内容:本文对基于PKI的SSL VPN的关键技术进行了研究和分析,并运用OpenSSL工具包在Linux系统下实现了SSL VPN的关键组件,建立了基本的SSL安全隧道。最后用真实的SSL VPN设备搭建了一个SSL VPN应用实例。5 提交设计(论文)形式(设计说明与图纸或论文等)及要求:(1)毕业论文两份,打印稿一份,电子稿一份。 (2)系统的可执行文件及源代码 。 (3)论文讲解文件(ppt)。 6 发题时间: 2009 年 12 月 11 日指导教师: (签名)学 生: (签名)湖 南 科 技 大 学毕业设计(论文)指导人评语主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价某同学在毕业设计过程中态度较端正,刻苦用功,勤奋努力,基本上能够积极主动地如期的完成各阶段任务。其毕业设计题目“基于PKI的SSL VPN关键技术的研究与实现”,难度一般。该同学通过查阅了VPN大量相关资料,对基于PKI的SSL VPN的概念、工作原理、模式、以及关键技术进行了研究,并在Linux下实现了SSL VPN系统中的关键组件,最后搭建出了一个典型的SSL VPN应用实例。设计工作量饱满,动手能力较强,对于老师交与的任务较好完成。该同学通过毕业设计掌握了如何构架和建立一个中小企业的SSL VPN平台,对VPN的应用有了更深认识和体会。论文书写结构较好,层次清晰,布局较合理,格式符合毕业论文要求;论文观点正确,材料较充实,图表较正确,论据较充分。同意该学生参与毕业答辩。指导人: (签名)年 月 日 指导人评定成绩: 湖 南 科 技 大 学毕业设计(论文)评阅人评语主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价某同学对基于PKI的SSL VPN的概念、工作原理、模式、以及关键技术进行了研究,并在Linux下实现了SSL VPN系统中的关键组件,搭建出了一个典型的SSL VPN应用实例。课题难度较大,工作量较大。 论文书写结构较合理,层次较清晰,格式较规范,观点较正确,材料较充实,图表较正确,论据较充分。所做的工作达到了本科毕业设计的要求,建议允许毕业答辩。评阅人: (签名)年 月 日 评阅人评定成绩: 湖 南 科 技 大 学毕业设计(论文)答辩记录日期: 2010-06-12 学生: 学号: 0605030223 班级: 06信息安全2班 题目: 基于PKI的SSL VPN关键技术的研究与实现 提交毕业设计(论文)答辩委员会下列材料:1 设计(论文)说明书共页2 设计(论文)图 纸共页3 指导人、评阅人评语共页毕业设计(论文)答辩委员会评语:主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价该同学原理介绍正确、层次清楚、材料充实、论据充分,论文书写规范、用词准确,回答问题准确,表达能力强,达到毕业论文答辩要求。答辩委员会主任: (签名)委员: (签名)(签名)(签名)(签名) 答辩成绩: 总评成绩: 中 摘 要当今世界网络和电子商务高速发展,商业活动的范围不断扩大,企业与其分支机构对互联网的依赖性越来越大,企业除了满足内部员工远程办公外,还要允许合作伙伴、设备供应商等外部机构访问自己的部分局域网资源。这种新的商业需求日益增加,推动了虚拟专用网技术的迅猛发展。VPN技术的实质是在公共网络上建立一条专用的逻辑链路,帮助远程用户、分支机构、商业伙伴及供应商同企业内部网建立可靠的安全隧道。相对于传统的IPSec VPN,SSL VPN是一种较新的VPN技术。随着网络应用的多样性,企业对远程访问的安全需求日益增加,目前主流的IPSec VPN已经无法满足应用多样性的需求。SSL VPN因其配置方便以及与操作系统无关、支持设备广泛等优势,弥补了IPSec VPN的不足,成为VPN领域的一个热门应用。本文对基于PKI的SSL VPN的概念、工作原理以及关键技术进行了研究,并在Linux下实现了SSL VPN系统中的关键组件,最后搭建出了一个典型的SSL VPN应用实例。本文通过对主流VPN类型的性能和特点进行对比,分析了传统的VPN系统存在的缺点和不足,指出了目前SSL VPN的应用情况。本文的重点是对基于PKI的SSL VPN关键技术进行了研究:如安全隧道技术、身份认证技术、访问控制技术、SSL代理技术、应用转换技术等;分析了SSL协议,并用真实设备实现了SSL VPN通信。关键字:SSL VPN;PKI;网络安全ABSTRACTNow, the rapid development of Internet and E-commerce, the increasing scope of business activities, enterprises and their branch of the Internet becoming increasingly dependent on large, enterprise remote offices in addition to internal staff to meet outside, as well as allowing co-operation partners, equipment suppliers and other external institutions to access their part of the local area network resources. This increasing demand for new business, virtual private network to promote the rapid development of technology. VPN technology is essentially in the public network to establish a dedicated logical link to remote users, branch offices, business partners and suppliers to establish an intranet with reliable security tunnel. Compared to traditional IPSec VPN, SSL VPN is a relatively new VPN technologies. As the diversity of network applications, corporate security requirements for remote access increasing, the current mainstream IPSec VPN application has been impossible to meet the needs of diversity. SSL VPN because of its ease of configuration and has nothing to do with the operating system, support equipment and other advantages of a wide range, making up less than IPSec VPN, a VPN is a hot field of application. This article have studied the PKI-based SSL VPN's concept, working principle and key technologies, and Linux, Implementation of the SSL VPN system, a key component of a typical final build out of the SSL VPN Application. Based on the main VPN product performance and characteristics of contrast, analysis of the traditional VPN system shortcomings and deficiencies, pointed out that the current application of SSL VPN. Focus of this paper is based on PKI for SSL VPN key technology research: such as security tunneling, authentication techniques, access control, SSL proxy technology, application conversion technology; of the SSL protocol, and using real equipment to achieve the SSL VPN communication.Keywords: SSL VPN; PKI; Network Security目 录第一章 绪 论- 1 -1.1研究背景与意义- 1 -1.1.1研究背景- 1 -1.1.2研究意义- 1 -1.2主要研究内容- 2 -1.3论文结构安排- 3 -第二章 基于PKI的SSL VPN理论基础- 4 -2.1SSL VPN基本概念及原理- 4 -2.1.1SSL VPN基本概念- 4 -2.1.2SSL VPN的基本原理- 5 -2.2 密码学技术分析- 6 -2.2.1 对称密码学分析- 6 -2.2.2 非对称密码学分析- 6 -2.3 数字证书相关技术- 7 -2.3.1 数字签名技术- 7 -2.3.2 公钥技术设施PKI- 8 -2.4 SSL协议分析- 8 -2.5 SSL隧道建立过程- 11 -第三章 SSL VPN关键技术的研究- 12 -3.1SSL VPN关键技术分析- 12 -3.1.1安全隧道技术- 12 -3.1.2SSL VPN隧道技术- 13 -3.1.3身份认证技术- 14 -3.1.4访问控制技术- 16 -3.1.5SSL代理技术- 17 -3.1.6应用转换代理- 18 -3.1.7网络层代理- 18 -3.1.8端口转发技术- 19 -3.2SSL VPN与IPSec VPN的比较- 19 -第四章 SSL VPN关键组件在LINUX下的实现- 23 -4.1 OpenSSL介绍- 23 -4.2 用OpenSSL实现SSL VPN关键组件- 23 -4.2.1 产生SSL VPN工作所需的证书和签名- 23 -4.2.2 SSL隧道服务端的实现- 24 -4.2.3 SSL隧道客户端的实现- 28 -4.3测试有SSL协议加密的安全通信隧道- 30 -第五章 SSL VPN典型应用的实现及验证- 33 -5.1 SSL VPN环境的搭建- 33 -5.1.1 SSL VPN典型应用拓扑图- 33 -5.1.2 SSL VPN网关产品介绍- 33 -5.2 在Cisco上部署SSL VPN- 34 -5.2.1 上传SSL VPN组件到路由器- 34 -5.2.2 安装SSL VPN和配置组件- 34 -5.3 测试SSL VPN系统- 35 -第六章 结 论- 39 -6.1 主要工作总结- 39 -6.2 展望- 39 -参考文献- 40 -致 谢- 41 -第一章 绪 论1.1 研究背景与意义1.1.1 研究背景互联网的发展已经日趋成熟,互联网的用户数量也在急剧增加,许多涉及私密数据的网络服务如电子商务、网上银行等已被越来越广泛的在互联网上使用。然而传统的互联网没有提供服务质量保证,也没有权限和相应的安全机制1。随着网络的开放性、共享性以及互联网规模的进一步扩大,加之黑客的攻击手段也越来越先进,对人们造成了巨大的经济损失,网络的安全问题变得越来越严重。同时,随着企业本身的发展壮大与跨国化,大型企业的分支机构越来越多,企业与各分部之间也需要随时通信,这涉及到远程联网及网络的复杂性问题。为了保证数据在各个分支部门之间传输过程的安全,按传统方式,需要为每个分部建立独立的专用网络,但大量的独立专用网需要进行重复的网络投资,会造成资源浪费,增加管理负担。为了解决上述问题,人们提出了虚拟专用网(Virtual Private Network)的概念,即利用公共通信网络(如全球因特网)实现安全的保密数据通信。虚拟专用网以其独具特色的优势赢得了越来越多企业的青睐。目前国内主流的VPN系统是基于IPSec协议的。IPSec协议为被保护的网络通讯提供较好的安全、认证和授权服务,同时保持了较高的性能。其能够“透明”部署在较复杂的网络中,具有较高的易用性和灵活性2。但IPSec VPN都要求用户进行非常专业的安装配置工作,而这些工作还会受到防火墙的设置和网络地址转换的影响,这些不断变化的配置调试给用户带了很多不便。近年来,基于SSL协议的VPN系统以其优良特性获得了广泛应用。通常只要客户端系统安装了WEB浏览器,SSL VPN即可工作,并且不会受到安装在与服务器之间的防火墙的影响,能确保端到端的真正安全。随着市场的逐步成熟,SSL VPN已经成为企业首选的VPN设备。1.1.2 研究意义SSL VPN是解决远程访问的主流安全方案,具有广阔的发展前景。几乎所有的主流浏览器都集成了SSL协议,不需要再安装额外的客户端软件。SSL VPN的“瘦客户端”具有简单、灵活、易用性等特点,特别适合于远程用户安全连接。远程安全访问是未来发展趋势,尤其是在互联网和移动通信的快速发展、网络接入方式多变、3G高速网络日益普及的今天,手持终端、PDA、移动PC等移动的计算通信工具迫切需要专门为其量身定做远程安全访问方案,SSL VPN因其与操作系统无关、瘦客户端等特点,成为首选的解决方案。权威机构Frost & Sullivan发布了2009年中国SSL VPN市场调研报告3,报告显示中国SSL VPN市场在2009年取得了11.9%的增长,达到了4220万美元的市场规模。在市场格局方面,深信服、ARRAY、JUNIPER仍然获得了该市场的三甲位置,其中深信服继08年首次成为市场第一后,2009年凭借强劲的增长,其市场占有率提升至34%,超过了整个市场的三分之一。Frost的报告指出,中国SSL VPN市场虽然较上年预测的增长速度有所放缓,但由于中国地理分散的工作状况及网络应用程序采用的快速增长,中国企业对SSL VPN产品的需求预计将在接下来的几年稳步上升。此外,随着中国企业对IT安全日趋成熟的观点深入,中国企业有可能驱动高科技市场,如虚拟化和云计算的发展,这将有力增强SSL VPN技术的重要性,SSL VPN市场将在未来几年保持持续、稳定的增长。国外有很多机构都开展了对SSL VPN相关技术和产品的研究。国外已有多个开源项目支持SSL VPN研究。国外很多知名厂商己开发出SSL VPN产品,如Cisco(思科)、Check Point、F5网络、Netsereen和Symantee(赛门铁克公司)等。对国内的用户来说,SSL VPN最大的优越性在于其方便性和灵活性。尽管我国的SSL VPN市场起步较晚,但近几年来增长势头较快,到目前为止,很多大中型企业已建立了自己的VPN网络,包括SSL VPN。一些学校的校园网也正在普遍使用SSL VPN技术提供方便快捷的远程安全连接服务。一些高校和公司也正在研究SSL VPN技术,开发实用的软件产品,提高全方位的SSL VPN技术服务。无疑,伴随企业信息化程度的加深,远程安全访问、协同工作的需求会日益明显,SSL VPN技术由于拥有全方位的优势,取代传统的组网技术成为主流已为时不远。研究SSL VPN理论知识,进而开发出新的SSL VPN产品意义重大。1.2 主要研究内容本文通过分析SSL协议的安全性,研究SSL VPN涉及到的关键技术,总结了现有SSL VPN的优势所在。本文探讨现有安全隧道技术、访问控制技术、身份认证技术、SSL代理技术、应用转换技术等。本文的主要研究内容包括:界定SSL VPN的概念,系统的分析SSL VPN技术的研究现状,并对基于PKI的SSL VPN关键技术进行系统分析,包括:密钥交换技术、安全隧道技术、身份认证技术、访问控制技术等。分析SSL协议栈,对其协议的体系结构和各层处理流程及其安全性做出了分析,从而为SSL协议的改进设计奠定基础。在上述分析的基础上,对基于PKI的SSL VPN技术展开讨论。基于PKI的SSL协议旨在为构建VPN的身份认证和访问控制提供更好的支持;控制协议旨在提供用户安全认证接口(包含身份认证和角色验证)、用户访问控制列表、上层应用协议引擎,从而形成安全、高效的安全隧道协议;给出了基于SSL VPN远程安全接入的典型方案,并在SSL VPN设备上进行了调试和实现;针对主流的SSL VPN接入方式进行了分析和总结;对基于PKI的SSL VPN关键技术进行分析,并在Linux系统下用C语言实现了SSL VPN的关键组件。最后,搭建出了一个典型的企业级SSL VPN应用实例。1.3论文结构安排本论文各章内容安排如下:第一章为绪论,简要介绍选题背景、国内外研究现状、主要研究内容,最后简单说明论文的结构安排。第二章:首先给出了一个相对规范的SSL VPN的概念,并对其基本原理和现有模式进行分析讨论。分析了基于PKI的SSL VPN的理论基础,通过对密码学、数字证书等技术的分析,为进一步深入研究SSL VPN奠定了坚定的理论基础,最后分析SSL协议工作机制,协议的安全性,以及协议本身提供的VPN支持,并对其安全性和易用性进行形式化分析。第三章:主要是研究和分析SSL VPN关键技术,并对最常见的两种VPN技术:IPsec VPN和SSL VPN的特性和应用范围做了细致的比较研究。最后,通过对传统SSL VPN的分析,提出实现安全接入的解决方案。第四章:利用OpenSSL,在Linux下实现了SSL VPN的基本功能,主要是服务器端和客户端关键组件的设计,包括系统结构、通信过程,身份认证、安全隧道处理以及关键的SSL握手过程。第五章:主要是实现了SSL VPN在企业环境中的应用。本章结合市场需求,对典型的SSL VPN网络拓扑进行了分析,并用当前主流的SSL VPN产品搭建出了一个SSL VPN实例,通过这个实例,我们充分的把理论知识和实际应用相结合,可以对SSL VPN的工作过程和原理有更加深入的了解,同时也可以验证我们上面所做的研究。第六章:主要是对前面所做的SSL VPN理论研究和SSL VPN案例实现做了一个总结,在此基础上,分析了我国SSL VPN市场前景,对SSL VPN的应用前景做了展望。第二章 基于PKI的SSL VPN理论基础本章着重于基于PKI的SSL VPN相关理论基础的研究,包括SSL VPN的基本概念、工作原理以及与之相关的密码学知识。作为安全产品,SSL VPN利用了对称密码技术来实现数据的加密,非对称加密技术实现加密密钥的交换,利用PKI技术来作为整个系统身份认证的基础。作为正在趋向成熟的VPN技术,SSL VPN在与其他VPN的竞争中正脱颖而出,成为远程访问技术的首选。122.1 SSL VPN基本概念及原理2.1.1 SSL VPN基本概念SSL即Secure Socket Layer,VPN就是Virtual Private Network简称,如果把SSL和VPN 两个概念分开,大多数人都清楚他们的含义,但是把他们合在一起,从学术和商业的角度来讲,因为他们所代表的含义有所不同,因而常常会被曲解。SSL通过加密方式保证在互联网上传输数据的安全性,它可以自动应用在每一个浏览器上。这里,需要提供一个数字证书给WEB 服务器,这个数字证书需要付费购买,相对而言,给应用程序设立SSL服务是比较容易的。如果应用程序本身不支持SSL,那么就需要改变一些链接,这只与应用程序有关。VPN 则主要应用于虚拟连接网络,它可以确保数据的机密性并且具有一定的访问控制功能。过去,VPN总是和IPSec 联系在一起,因为它是VPN 加密信息实际用到的协议。IPSec运行于网络层,IPSec VPN多用于连接两个网络或点到点之间的连接。以上我们简要介绍了SSL和VPN,现在我们要了解一下SSL和VPN是怎样结合在一起的。大量理论可以证明SSL的独特性以及VPN所能提供的安全远程访问控制能力。到目前为止,SSL VPN是解决远程用户访问公司敏感数据最简单最安全的解决技术。与复杂的IPSec VPN相比,SSL通过简单易用的方法实现信息远程连通。任何安装浏览器的机器都可以使用SSL VPN, 这是因为SSL 内嵌在浏览器中,它不需要象传统IPSec VPN那样必须为每一台客户机安装客户端软件。这一点对于拥有大量机器(包括家用机,工作机和客户机等等)需要与公司机密信息相连接的用户至关重要。人们普遍认为它将成为安全远程访问的主流方式。从概念角度来说,SSL VPN即指采用SSL (Security Socket Layer)协议来实现远程接入的一种新型VPN技术。SSL协议是网景公司提出的基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。对于内、外部应用来说,使用SSL可保证信息的真实性、完整性和保密性。目前SSL 协议被广泛应用于各种浏览器应用,也可以应用于Outlook等使用TCP协议传输数据的C/S应用。正因为SSL 协议被内置于IE等浏览器中,使用SSL 协议进行认证和数据加密的SSL VPN就可以免于安装客户端。相对于传统的IPSec VPN而言,SSL VPN具有部署简单,无客户端,维护成本低,网络适应强等特点,这两种类型的VPN之间的差别就类似C/S构架和B/S构架的区别。一般而言,SSL VPN必须满足最基本的两个要求:使用SSL 协议进行认证和加密;没有采用SSL 协议的VPN产品自然不能称为SSL VPN,其安全性也需要进一步考证。直接使用浏览器完成操作,无需安装独立的客户端;即使使用了SSL 协议,但仍然需要分发和安装独立的VPN客户端 (如Open VPN)不能称为SSL VPN,否则就失去了SSL VPN易于部署,免维护的优点了。现在我们可以给SSL VPN下一个完整的定义:所谓SSL VPN,就是指基于SSL协议在公共IP网络设施上,通过数据包封装的隧道技术,并采用加密技术、认证技术和访问控制等综合安全机制,构建的安全虚拟专用网络。122.12.1.12.1.2 SSL VPN的基本原理图2.1 SSL VPN的基本部署方式 如图2.1,该图为SSL VPN的基本接入方式。企业总部在出口防火墙后面部署一台SSL VPN安全网关设备,企业在外出差人员、小分支机构等远程用户要访问公司内部服务器群的资源时,就会先和SSL VPN网关建立连接,SSL VPN服务器根据远程用户提供的身份识别组件来判断是否准入访问内部网络资源,以及分配何种访问权限给用户。当远程用户通过SSL VPN隧道访问企业总部服务器时,对于Internet其他用户来说这些数据是透明的,因为这些数据都经过了加密传输。安全套接层虚拟专用网(SSL VPN)是一种在VPN上运行的安全套接字层技术,他在网络浏览器通过https访问。它允许用户建立从任何连接到互联网的浏览器到内部服务器的安全可靠的远程接入。SSL VPN使用了传输控制协议(TCP)层和应用层协议SSL的功能。传统的VPN需要IPSec客户端软件安装在客户端机器上,而SSL VPN的建立并没有这种要求。分支机构的用户能够通过浏览器轻松访问应用程序或共享机密文件。 SSL VPN技术的主要好处是:由于它是基于用户的,而不是基于设备的,任何授权用户都可以登录到启用了安全传输的网络4。图2.2 SSL VPN工作过程简图如图2.2,远程用户使用WEB浏览器通过SSL VPN服务器来访问企业内部网络中的资源,SSL VPN服务器在这里扮演的角色相当于一个数据中转服务器,所有访问都经过SSL VPN服务器的认证后,转发给内网的应用服务器,从应用服务器发往浏览器的数据经过SSL VPN服务器加密后送回浏览器。从而在WEB浏览器和SSL VPN服务器之间,利用SSL协议构建了一条安全隧道。2.2 密码学技术分析2.2.1 对称密码学分析对称密码加密技术5是指加密密钥和解密密钥为同一密钥的密码算法。因此,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密钥)。通常,使用的加密算法比较简便高效,密钥简短,破译极其困难;由于系统的保密性主要取决于密钥的安全性,所以,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题。常用对称密钥算法包括DES,3DES,RC2,RC4,RC6,AES等。在SSLv3.0及其后继TLS1.0的规范中,对于加密算法的选择主要集中在3DES、DES和RC4这三种。在这之中,RC4的速度最快,而3DES慢的多,但是从安全角度来看,3DES更安全。在SSL应用中用的最多的还是RC4,RC4是RSA数据安全公司开发的一种密码算法。它是一种密钥长度可变的算法,其密钥长度可以在82048位之间。不管密钥有多长,密钥都被扩展为一张固定尺寸的内部状态表,所以无论使用什么长度的密钥,该算法都运行得一样快。SSL和TLS总是使用密钥长度为128位的RC4,RC4的加解密速度非常快。RC4本质上是一个伪随机数生成器,并且生成算法的输出与数据流进行异或运算。2.2.2 非对称密码学分析针对对称密钥加密技术的不足,1976年Whitfield Diffie和Martin Hellman提出公钥加密算法的想法,即非对称加密技术,并且基于离散对数设计出第一个公钥加密算法DH算法。公钥算法的特点如下:l 这种算法有两个密钥,一个公钥,对外公开,一个私钥,安全保存。l 仅仅知道密钥算法和加密密钥而要确定解密密钥,这在计算上是不可行的。l 两个相关的密钥任何一个加密,都可以用另一个解密。随后又出现许多公钥算法,目前公认比较安全和有效的公钥算法主要有DH算法、RSA算法、DSA算法等。最为可靠和使用最广的为RSA算法。非对称加密算法主要用于认证和密钥交换。RSA是Rivest,Shamir和Adleman于1978年在美国麻省理工学院研制出来的,它是一种比较典型的公开密钥加密算法,也是迄今为止理论上最为成熟和完善的一种公钥密码体制。该算法利用了数论领域的一个事实,那就是虽然把两个大质数相乘生成一个合数是件十分容易的事情,但要把一个合数分解为两个质数却十分困难。RSA算法建立在正整数求余运算基础上,同时还保持了指数运算的性质。在RSA算法中,n的长度是控制该算法可靠性的重要因素。与DH算法相比,RSA算法具有明显的优越性,因为它无须收发双方同时参与加密过程,非常适合于电子邮件系统的加密。2.3 数字证书相关技术2.3.1 数字签名技术对于重要的文件,为了防止出现对文件的否认、伪造、篡改等问题,传统的方法是在文件上手写签名。但是在计算机系统中无法使用手写签名,取而代之的是数字签名机制6。数字签名应该能实现手写签名的作用,其本质特征就是利用签名者的私有信息产生签名。因此,当被验证时,能通过信任的第三方在任何时候证明只有私有信息的唯一掌握者才能产生此签名。数字签名可以用秘密密钥来实现,也可用公开密钥来实现。采用对称密钥是建立在有众人信任的中间仲裁机构的基础上,它的完整性的基础是这个中间仲裁机构。这种方式的安全性不高,而且步骤繁琐。而采用非对称密钥加密法进行数字签名则不受此限制,收发两方之间不需要任何可信赖机构。它的完整性的基础是每个通信者所拥有的私钥。在当前广泛应用的PKI中所用的数字签名就是采用非对称密钥加密法。它的过程如下:l 先用hash算法将原文压缩为数据摘要,然后用公开密钥算法对摘要进行加密和解密。散列函数的特性决定原文任何变化都会使数据摘要改变;l 在使用发送者的私钥对这个散列值进行加密,形成签名,附在原文后。发送者所具有私钥的特殊性决定这个签名是来自于这个发送者,其他人不能假冒;l 接收者在接到这个附有签名的文件后,使用发送者的公钥进行解密,得到发送者所形成的散列值;l 然后接收者在用相同的方法对原文计算散列值;l 比较这两个散列值,如果相同,就表明原文在传送过程中没有被篡改。如果不相同,则已经被篡改。2.3.2 公钥技术设施PKI公钥基础设施PKI主要是针对开放型的大型互联网络的应用环境而设计的,这种网络环境中需要有一个协调的公开密钥管理机制,以保证公开密钥的可靠性。公开密钥的管理一般基于公证机制。即需要一个通信的A、B双方都信任的第三方N来证明A和B的公开密钥的可靠性,这需要N分别对A和B的公开密钥进行数字签名,形成一个证明这个公开密钥可靠性的证书。在一个大型的网络中,这样的公证中心可能有多个,另外这些公证中心若存在依赖关系,则用户可通过一个签名链去设法验证其他公证中心签发的证书。概括的说,公钥技术设施PKI就是对这些公开密钥证书的管理体制7。它在本质上是一种公证服务。通过离线的数字证书证明某个公开密钥的真实性和有效性。PKI主要由证书管理中心CA、政策管理中心PMA、注册管理中心RA和端实体等几部分组成。其中注册管理中心负责处理用户请求,在验证了请求的有效性后提交给证书管理中心。证书管理中心负责具体证书的颁发、撤销和管理,维护着证书的生存周期。当证书存在时间超过有效期规定的时间时,证书就会失效。证书撤销列表(CRL)是另一种证书有效期控制机制,证书管理中心定期发布CRL,上面列出了所有曾由它发布但当前已被撤销的证书号,证书的使用者依据CRL即可验证某证书是否已被撤销。同证书一样,CRL也由发布者数字签名。作为一种网络基础设施,PKI以证书为手段保证公开密钥的可靠分发,但如何使用公开密钥进行安全通信,如交换会话密钥等,并不是PKI所能提供的服务,需要另外的协议机制进行基于公开密钥的安全交互,SSL协议中即包含这样一种以PKI为基础进行安全会话密钥交换的机制。2.4 SSL协议分析SSL是在Internet基础上提供的一种保证私密性的安全协议。它能使客户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对客户进行认证。SSL协议要求建立在可靠的传输层协议(如TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的。高层的应用协议(如HTTP,FTP,TELNET)能透明的建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。SSL协议是一个分层协议,它是由一个记录层以及记录层上承载的不同消息类型组成。而该记录层又会由某种可靠的协