IPSec原理与实践1-原理(组图)随着越来越多的企业、单位接入Internet和接入速度的不断提高,网络安全正日益成为网络管理的一个重要课题。作为广泛部署的Windows(NT)Server系统自身的安全受到越来越多的关注。市场上也出现了很多软、硬件防火墙产品来保证内网服务器的安全。其实,Windows(NT)Server系统自身便带有功能强大的防火墙系统-IPSec,其全面的安全保护功能并不输于其它商业防火墙产品。本文将介绍基于Windows操作系统的防火墙系统-IPSec的原理与实现。1TCP/IP过滤在深入探讨IPSec之前,我们首先来看一下Windows系统的TCP/IP过滤功能。Windows2000Server系统内部集成了很多安全特性,这包括"本地安全及审核策略"、"加密文件系统"、"TCP/IP过滤"、"IP安全(IPSec)"等等。其中的"TCP/IP过滤"为用户提供了一个简单、易于配置、易于使用的网络安全保障工具。它是用于入站本地主机TCP/IP通讯的一组筛选器。使用TCP/IP筛选可以为每个IP接口严格指定所处理的传入TCP/IP通讯类型。这个功能设计用于隔离Internet或Intranet服务器所处理的通信。如图1所示,使用"TCP/IP"筛选,可以根据以下三种方式来限制本地主机的入站TCP/IP通讯:●目标TCP端口●目标UDP端口●IP协议(号)"TCP/IP筛选"的使用有很多限制,如不能根据源地址来区别对待数据包的入站、不能对出站通信进行筛选、不能对已允许的通信进行加密等等。如果想要实现更加灵活、安全的设计,则必须使用IPSec。2IPSec原理使用internet协议安全(InternetProtocolSecurity,IPSec)是解决网络安全问题的长久之计。它能针对那些来自专用网络和internet的攻击提供重要的防线,并在网络安全性与便用性之间取得平衡。IPSec是一种加密的标准,它允许在差别很大的设备之间进行安全通信。利用IPSec不仅可以构建基于操作系统的防火墙,实现一般防火墙的功能。它还可以为许可通信的两个端点建立加密的、可靠的数据通道。2.1术语解释为了便于理解IPSec的工作原理,首先介绍一些数据加密和安全方面常用的一些术语和基本知识,然后再介绍IPSec的实现以及它如何在网络中提供安全通信的。这种介绍仅仅是一个概述并为后面讨论IPSec做一个铺垫。加密是一个复杂的领域,它包含了许多规则、算法以及数学方面的知识。这里我们将着重讨论加密技术的实际实现,对于它内在的理论只作一个简要的概述。2.1.1数据加密标准数据加密标准(DataEncryptionStandard,DES)是美国国家标准局于1977年开发的对称密钥算法。它是一种对称密钥算法,可以使用40~56位长的密钥。另一种称为3DES的加密策略也使用同样的DES算法,但它并不只是加密一次,而是先加密一次,再加密(解密)一次,最后做第三次加密,每一次加密都使用不同的密钥。这一过程显著地增加了解密数据的难度。2.1.2RSA算法RSA是一种根据它的发明者Rivest,Shamir和Adleman命名的公开密钥算法。它方便了对称密钥加密中的密钥交换过程。它还可以用来产生数字签名。2.1.3Diffie-HellmanDiffie-Hellman是一种简化在非安全网络上交换秘密密钥的公开密钥加密算法。算法是以Diffie和Hellman命名的,他们在1977年出版了第一个公开密钥加密的公开搜索。它的主要目的是简化在不安全网络上交换秘密会话密钥的过程。2.1.4散列函数散列(Hash)函数是一种单向的算法,它提取任意长度的一段信息并产生固定长度的乱序的摘要。摘要是文本的一个截取,只包含与文本最相关的部分,这就是Hash函数所产生的结果。Hash是一种单向的定义。我们可以在给定的文本上运行算法来获得固定长度的Hash值,但不能从Hash过程中获得最初的文本。Hash函数可以唯一地定义文本。它对每个唯一的消息而言就像是指纹一样。不同的消息可以产生不同的值,并且相同的消息会产生完全相同的Hash,Hash值可以用于维持数据的完整性。如果A发送一个消息给B,并给B消息的Hash。B可以在消息上运行用在该消息上的同一Hash算法,并用计算得到的Hash值与B收到的Hash值相比较。如果发现根据消息计算出来的Hash与B收到的Hash值不同,就可以知道数据在传输的过程中出错了。2.1.5消息摘要:MD5消息摘要(MessageDigest5,MD5)是一种符合工业标准的单向128...