1、厦门大学本科毕业论文 I 虚拟专用网( VPN)认证算法的分析与实现 摘 要 VPN (Virtual Private Network 虚拟专用网络 )是一种网络技术, 通常用于实现相关组织和个人跨开放、分布式的公用网络之间的安全通信。对于 VPN 中的所有主机来说,如同处于同一个网络之中,不会觉察到公共网络的存在。 随着 IP 技术和 IP 业务的发展,基于 IP 技术的 VPN 开始出现并得到应用。其实质是利用共享的互联网设施,模拟“专用”广域网,利用互联网广泛的网络覆盖和低廉 的接入费用,结合安全隧道、身份认证和加解密等技术,克服互联网内在 的不安全性, 实现与专用网络相媲美的安全性能。
2、 身份认证主要用于确认要求建立隧道者的身份,保证信源信宿的安全。加解密处理是指在信源对要传输的信息进行加密,在信宿将收到的信息用相应的算法进行解密,并对信息的完整性进行检查。这样便可保证信息在隧道中的安全。身份认证可采用 RSA 加密算法,但 RSA 算法加解密速度比较慢,不适合大量数据的处理,因此对传输数据的加密通常采用DES 等算法 ,对信息的完整性处理通常采用 MD5 算法等。 本论文实现了 VPN 所使用的 MD5 算法 。 关键词 : VPN MD5 报文摘要算法 身份认证 厦门大学本科毕业论文 II Abstract VPN (Virtual Private Network Vir
3、tual Private Network) is a network technology, usually used to achieve the relevant organizations and individuals across the open, distributed network between the public safety communications. VPN for all mainframe, the same as in a network, and not aware of the existence of the public network. With
4、 IP technology and IP business development for IP VPN technology began to appear and in use. Its essence is to use the Internet to share facilities to simulate the “exclusive“ wide-area network, the extensive use of the Internet network coverage and low-cost access, integrate tunnel safety, identity
5、 authentication and processing decryption techniques, overcome the inherent insecurity, and to achieve comparable private network security. Authentication mainly called for the recognition of the identity of the tunnel to ensure that source-residential security. Encryption processing in the letter r
6、efers to the source of the information encrypted Getter in the letter to the information received by the corresponding decryption algorithm, as well as the integrity of the information for the examination. This will ensure that information on the safety of the tunnel. Authentication RSA encryption a
7、lgorithm available, but RSA encryption fairly slow, and not suitable for heavy data processing, So the transmission of data is usually used DES encryption algorithm. Right to the integrity of the information processing normally used MD5 algorithm. In this paper, we implement the MD5 algorithm that c
8、ould be used in VPN. Key words: VPN MD5 message digest algorithm Identity Authentication 厦门大学本科毕业论文 III 目 录 第一章 引言 . 1 1.1 VPN 技术概述 . 1 1.1.1 VPN 的特点 . 1 1.1.2 VPN 安全技术 . 2 1.1.3 VPN 解决方案 . 3 1.1.4 VPN 的益处 . 6 1.1.5 VPN 发展趋势 . 9 1.2 全文内容安排 . 10 第二章 加密算法概述 .11 2.1 常规密码体制 .11 2.2 公钥密码体制 . 13 第三章 RSA 算
9、法和 DES 算法 . 16 3.1 RSA 算法简介 . 16 3.1.1 RSA 的基本原理 . 16 3.1.2 RSA 算法描 述 . 16 3.1.3 RSA 的安全性 . 18 3.2 DES 算法简介 . 19 3.2.1 DES 加密 . 20 3.2.2 DES 解密 . 22 3.2.3 3DES 加解密 . 22 3.2.4 DES 算法的应用误区 . 22 厦门大学本科毕业论文 IV 第四章 MD5 报文摘要算法 . 24 4.1 MD5 算法的应用 . 24 4.2 MD5 算法描述 . 25 4.3 MD4 和 MD5 的区别 . 29 4.4MD5 的实现 . 2
10、9 第五章 总结 . 31 致谢 . 32 参考文献 . 33 厦门大学本科毕业论文 V Contents Chapter 1 INTRODUCTION. 1 1.1 The Overview of VPN Technology. 1 1.1.1 The features of VPN. 1 1.1.2 Security Technology of VPN . 2 1.1.3 VPN Solutions . 3 1.1.4 The benefits of VPN . 6 1.1.5 The development trend of VPN . 9 1.2 Content Arrangement
11、 . 10 Chapter 2 The overview of encryption algorithm . 11 2.1 Conventional Cryptography. 11 2.2 Public Key Cryptosystem. 13 Chapter 3 RSA and DES Algorithm . 16 3.1 The Introduction of RSA Algorithm . 16 3.1.1 The basic tenets of RSA . 16 3.1.2 Description of RSA Algorithm . 16 3.1.3 The Security of
12、 RSA. 18 3.2 The Introduction of DES Algorithm . 19 3.2.1 DES Encryption. 20 3.2.2 DES Decryption . 22 3.2.3 3DES Encryption and Decryption . 22 3.2.4 Application Errors of DES Algorithm . 22 厦门大学本科毕业论文 VI Chapter 4 The MD5 Message-Digest Algorithm . 24 4.1 The Application of MD5 . 24 4.2 Descriptio
13、n of MD5 Algorithm . 25 4.3 The difference between MD5 and MD4. 29 4.4 The implementation of MD5 . 29 Chapter 5 Summary . 31 Acknowledgement . 32 References . 33 厦门大学本科毕业论文 1 第一章 引言 1.1 VPN 技术概述 VPN ( Virtual Private Network 虚拟专用网络 )是一种网络技术,通常用于实现相关组织和个人跨开放、分布式的公用网络之间的安全通信。对于 VPN 中的所有主机来说,如同处于同一个网络之
14、中, 不会觉察到公共网络的存在。 1.1.1 VPN 的特点 1安全保障 虽然实现 VPN 的技术和方式很多,但所有的 VPN 均应保证通过公用网络平台传输数据的专用性和安全性。在非面向连接的公用 IP 网络上建立一个逻辑的、点对点的连接,称之为建立一个隧道,可以利用加密技术对经过隧道传输的数据进行加密,以保证数据仅被指定的发送者和接收者了解,从而保证了数据的私有性和安全性。在安全性方面,由于 VPN 直接构建在公用网上,实现简单、方便、灵活,但同时其安全问题也更为突出。企业必须确保其 VPN 上传送的数据不被攻击者窥视和篡改, 并且要防止非法用户对网络资源或私有信息的访问。 Extranet
15、 VPN 将企业网扩展到合作伙伴和客户,对安全性提出了更高的要求。 2服务质量保证( QoS) VPN 网应当为企业数据提供不同等级的服务质量保证。不同的用户和业务对服务质量保证的要求差别较大。如移动办公用户,提供广泛的连接和覆盖性是保证 VPN 服务的一个主要因素;而对于拥有众多分支机构的专线 VPN 网络,交互式的内部企业网应用则要求网络能提供良好的稳定性;对于其它应用(如视频等)则对网络提出了更明确的要求,如网络时延及误码率等。所有以上网络应用 均要求网络根据需要提供不同等级的服务质量。在网络优化方面,构建 VPN 的另一重要需求是充分有效地利用有限的广域网资源,为重要数据提供可靠的带宽
16、。广域网流量的不确定性使其带宽的利用率很低,在流量高峰时引起网络阻塞,产生网络瓶颈,使实时性要求高的数据得不到及时发送;而在流量低谷时又造成大量的网络带宽空闲。 QoS 通过流量预测与流量控制策略,可以按照优先级分配带宽资源,实现带宽管理,使得各类数据能够被合理地先后发送,并预防阻塞的发生。 厦门大学本科毕业论文 2 3可扩充性和灵活性 VPN 必须能够支持通过 Intranet 和 Extranet 的任何类型的数据流,方便增加新的节点,支持多种类型的传输媒介,可以满足同时传输语音、图像和数据等新应用对高质量传输以及带宽增加的需求。 4可管理性 从用户角度和运营商角度应可方便地进行管理、维护
17、。在 VPN 管理方面, VPN 要求企业将其网络管理功能从局域网无缝地延伸到公用网,甚至是客户和合作伙伴。虽然可以将一些次要的网络管理任务交给服务提供商去完成,企业自己仍需要完成许多网络管理任务。所以,一个完善的 VPN 管理系统是必不可少的。 VPN 管理的目标为:减小网络风险、具有高扩展性、经济性、高可靠性等优点 。事实上, VPN 管理主要包括安全管理、设备管理、配置管理、访问控制列表管理、 QoS 管理等内容。 1.1.2 VPN 安全技术 由于传输的是私有信息, VPN 用户对数据的安全性都比较关心。目前 VPN 主要采用四项技术来保证安全,这四项技术分别是隧道技术( Tunnel
18、ing)、加解密技术( Encryption & Decryption )、 密 钥管 理技 术( Key Management )、 使 用者 与设 备身 份认 证技 术( Authentication)。 1. 隧道技术: 隧道技术是 VPN 的基本技术类似于点对点连接技术,它在公用网建立 一条数据通道(隧道),让数据包通过这条隧道传输。隧道是由隧道协议形成的,分为第二、三层隧道协议。第二层隧道协议是先把各种网络协议封装到 PPP 中,再把整个数据包装入隧道协议中。这种双层封装方法形成的数据包靠第二层协议进行传输。第二层隧道协议有 L2F、 PPTP、 L2TP等。 L2TP 协议是目前
19、IETF 的标准,由 IETF 融合 PPTP 与 L2F 而形成。 第三层隧道协议是把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输。第三层隧道协议有 VTP、 IPSec 等。 IPSec( IP Security)是由一 组 RFC 文档组成,定义了一个系统来提供安全协议选择、安全算法,确定服务所使用密钥等服务,从而在 IP 层提供安全保障。 2.加解密技术: 厦门大学本科毕业论文 3 加解密技术是数据通信中一项较成熟的技术, VPN 可直接利用现有技术。 3.密钥管理技术: 密钥管理技术的主要任务是如何在公用数据网上安全地传递密钥而不被窃取。现行密钥管理技术又分为
20、SKIP 与 ISAKMP/OAKLEY 两种。 SKIP 主要是利用 Diffie-Hellman 的演算法则,在网络上传输密钥;在 ISAKMP 中,双方都有两把密钥,分别用于公用、私用。 4.使用者与设备身 份认证技术: 使用者与设备身份认证技术最常用的是使用者名称与密码或卡片式认证等方式。 1.1.3 VPN 解决方案 VPN 有三种解决方案,用户可以根据自己的情况进行选择。这三种解决方案分别是:远程访问虚拟网( Access VPN)、企业内部虚拟网( Intranet VPN)和企业扩展虚拟网( Extranet VPN),这三种类型的 VPN 分别与传统的远程访问网络、企业内部的
21、 Intranet 以及企业网和相关合作伙伴的企业网所构成的 Extranet 相对应。 (1)Access VPN 如果企业的内部人员移动或有远程 办公需要,或者商家要提供 B2C 的安全访问服务, 就可以考虑使用 Access VPN。 Access VPN 通过一个拥有与专用网络相同策略的共享基础设施,提供对企业内部网或外部网的远程访问。 Access VPN 能使用户随时、随地以其所需的方式访问企业资源。 Access VPN 包括模拟、拨号、 ISDN、数字用户线路 (xDSL)、移动 IP 和电缆技术,能够安全地连接移动用户、远程工作者或分支机构。如图 1-1 所示。 厦门大学本科
22、毕业论文 4 图 1-1 Access VPN 结构图 Access VPN 最适用于公司内部经常有流动人员远程办公的情况。出差员工利用当地 ISP提供的 VPN 服务,就可以和公司的 VPN 网关建立私有的隧道连接。 RADIUS 服务器可对员工进行验证和授权,保证连接的安全,同时负担的电话费用大大降低。 Access VPN 对用户的吸引力在于: * 减少用于相关的调制解调器和终端服务设备的资金及费用,简化网络; * 实现本地拨号接入的功能来取代远距离接入或 800 电话接入,这样能显著降低远距离通信的费用; * 极大的可扩展性,简便地对加入网络的新用户进行调度; * 远端验证拨入用户服务
23、( RADIUS)基于标准,基于策略功能的安全服务; * 将工作重心从管理和保留运作拨号网络的工作人员转到公司的核心业务上来。 (2)Intranet VPN 如果要进行企业内部各分支机构的互联,使用 Intranet VPN 是很好的方式。 越来越多的企业需要在全国乃至世界范围内建立各种办事机构、分公司、研究所等,各个分公司之间 传统的网络连接方式一般是租用专线。显然,在分公司增多、业务开展越来越广泛时,网络结构趋于复杂,费用昂贵。利用 VPN 特性可以在 Internet 上组建世界范围内的 Intranet VPN。利用 Internet 的线路保证网络的互联性,而利用隧道、加密等 VPN 特性可以保证信息在整个 Intranet VPN 上安全传输。 Intranet VPN 通过一个使用专用连接的共享基础设施,连接企业总部、远程办事处和分支机构。企业拥有与专用网络的相同政策,包括安全、服务质量 (QoS)、可管理性和可靠性。如图 1-2 所示。