第八章
安全通信协议
第八章 安全通信协议
目前网络面临着各种威胁,其中包括保密数据的泄
露、数据完整性的破坏、身份伪装和拒绝服务等。
保密数据的泄露。 罪犯在公网上窃听保密性数据。
这可能是目前互相通信之间的最大障碍。没有加密,发
送的每个信息都可能被一个未被授权的组织窃听。由于
早期协议对安全考虑的匮乏,用户名或口令这些用户验
证信息均以明码的形式在网络上传输。窃听者可以很容
易地得到他人的帐户信息。
数据完整性的破坏。 即使数据不是保密的,也应该
确保它的完整性。也许你不在乎别人看见你的交易过程,
但你肯定在意交易是否被篡改。
身份伪装。 一个聪明的入侵者可能会伪造你的有效
身份,存取只限于你本人可存取的保密信息。目前许多
安全系统依赖于 IP地址来唯一地识别用户。不幸的是,
这种系统很容易被 IP欺骗并导致侵入。
拒绝服务。 一旦联网之后,必须确保系统随时可以
工作。在过去数年内,攻击者已在 TCP/IP协议簇及其具
体实现中发现若干弱点,使得他们可以造成某些计算机
系统崩溃。
8.1 IP安全协议 IPSec
IPSec用来加密和认证 IP包,从而防止任何人在网
路上看到这些数据包的内容或者对其进行修改。 IPSec是
保护内部网络,专用网络,防止外部攻击的关键防线。
它可以在参与 IPSec的设备(对等体)如路由器、防火墙、
VPN客户端,VPN集中器和其它符合 IPSec标准的产品之间
提供一种安全服务。 IPSec 对于 IPv4 是可选的,但对
于 IPv6 是强制性的。
8.1.1 IPSec体系结构
IPSec是一套协议包,而不是一个单独的协议 RFC文号。
IPSec 协议族中三个主要的协议:
IP认证包头 AH( IP Authentication Header),AH协议
为 IP包提供信息源验证和完整性保证。
IP封装安全负载 ESP ( IP Encapsulating Security
Payload) ESP协议提供加密保证。
Internet密钥交换 IKE ( The Internet Key Exchange):
IKE提供双方交流时的共享安全信息
8.1.1 IPSec体系结构 ( 续 )
IP安全结构
ESP
加密算法 算法验证
密钥管理
解释域( DOI)
策略
AH
图 8.1 IP Sec体系结构
IPSec的体系结构如图
8.1.1 IPSec体系结构 ( 续 )
IPSec提供的安全性服务,
1)访问控制,通过调用安全协议来控制密钥的安全交换
,
用户身份认证也用于访问控制 。
2)无连接的完整性,使用 IPSec,可以在不参照其他数据
包的情况下, 对任一单独的 IP包进行完整性校验 。
3)数据源身份认证,通过数字签名的方法对 IP包内的
数据来源进行标识 。
4)抗重发攻击,重发攻击是指攻击者发送一个目的主机
已接收过的包,通过占用接收系统的资源,使系统的可用
性受到损害。为此 IPSec提供了包计数器机制,以便抵御
抗重发攻击。
5) 保密性,确保数据只能为预期的接收者使用或读,
而 不能为其他任何实体使用或读出。保密机制是通过使
用加密算法来实现的。
8.1.1 IPSec体系结构 ( 续 )
8.1.2 IPSec模式
–
IPSec对 IP包可以执行的操作分别是:只加密,只认证,
既加密也认证。
IPSec有两种工作模式,传输模式 (Transport Mode)和 隧道
模式 (Tunnel Mode)。
1.传输模式 (Transport Mode), IPSec协议头插入到原 IP
头部和传输层头部之间,只对 IP包的有效负载进行加密或认证。
加密的
IP头 IPSec AH头 传输层头 数据
IP头 传输层头 数据
图 8.2 传输模式 AH数据包
8.1.2 IPSec模式 ( 续 )
2.隧道模式,IPSec会先利用 AH或 ESP对 IP包进行认证或者加密,
然后在 IP包外面再包上一个新 IP头。
加密的
IP头 传输层头 数据
新 IP头 IPSec AH头 IP头 传输层头 数据
图 8.3 隧道模式 AH数据包
8.1.3 IPSec的安全策略
1.安全关联 SA
传输模式 SA,传输模式 SA只能用于两个主机之间的 IP通信
隧道模式 SA,隧道模式 SA既可以用于两个主机之间的 IP通
信也可用于两个安全网关之间或一个主机与一个安全网关之
间的 IP通信。
SA是安全策略通常用一个三元组唯一的表示,< SPI,
IP目的地址,安全协议标识符 >
1) SPI:安全参数索引 (Security Parameters Index),说明
用 SA的 IP头类型,它可以包含认证算法、加密算法、用于认证
8.1.3 IPSec的安全策略 ( 续 )
加密的密钥以及密钥的生存期;
2) IP目的地址,指定输出处理的目的 IP地址,或输入处理
的源 IP地址;
3) 安全协议标识符,指明使用的协议是 AH还是 ESP或者两者
同时使用。
2,安全关联数据库 SAD
SAD存放着和安全实体相关的所有 SA,每个 SA由三元组
索引。一个 SAD条目包含下列域:
? 序列号计数器,32位整数,用于生成 AH或 ESP头中的序列号;
? 序列号溢出标志:标识是否对序列号计数器的溢出进行审
核;
8.1.3 IPSec的安全策略 ( 续 )
? 抗重发窗口:使用一个 32位计数器和位图确定一个
输入的 AH或 ESP数据包是否是重发包;
? IPSec协议操作模式:传输或隧道;
? AH的认证算法和所需密钥;
? ESP的认证算法和所需密钥;
? ESP加密算法,密钥,初始向量( IV)和 IV模式;
? 路径最大传输单元;
? 进出标志;
? SA 生存期状态。
8.1.3 IPSec的安全策略 ( 续 )
3,安全策略数据库 SPD
SPD决定了对数据包提供的安全服务,所有 IPSec 实施方
案的策略都保存在该数据库中。
IP包的处理过程中, 系统要查阅 SPD,每一个数据包, 都
有三种可能的选择,丢弃, 绕过 IPSec或应用 IPSec:
1) 丢弃:根本不允许数据包离开主机穿过安全网关;
2) 绕过:允许数据包通过, 在传输中不使用 IPSec进行
保护;
3) 应用:在传输中需要 IPSec保护数据包, 对于这样的传
输 SPD必须规定提供的安全服务, 所使用的协议和算法等等 。
8.1.3 IPSec的安全策略 ( 续 )
协商成功?
启动 IKE协商
否
TCP层产生的或者需要转发的数据包
安全关联?
处理策略?
查询 SPD
丢弃 绕过 IPSec
应用 IPSec,查询 SAD
SA不存在或
SA无效
进行 IPSec处理添加
IPSec头
SA有效
添加 IP头,送到 IP
层发送队列
返回
丢弃数据包,记录
出错信息
图 8.4 IPSec对数据包的处理
是
8.1.4 IPSec认证与加密
IPSec提供了两种安全机制,认证和加密 。认证机制
使 IP通信的数据接收方能够确认数据发送方的真实身份以
及数据在传输过程中是否遭篡改;加密机制通过对数据进
行编码来保证数据的机密性,以防数据在传输过程中被窃
听。
AH定义了认证的应用方法,提供数据源认证和完整性
保证; ESP定义了加密和可选认证的应用方法,提供可靠
性保证。 IKE的作用是协助进行安全管理,它在 IPSec 进
行处理过程中对身份进行鉴别,同时进行安全策略的协商
和处理会话密钥的交换工作。
1,IP认证包头 AH
AH协议提供无连接的完整性、数据源认证和抗重发保
护服务,但不提供保密性服务。它能保护通信免受篡改,
但不能防止窃听,适用于传输非机密数据。 AH在每一个数
据包上添加一个身份验证包头。该包头位于 IP包头和传输
层协议包头之间,如图 8.5所示。
IP头 IPSec AH头 传输层头 ( TCP/UDP) 数 据
下一个包头 长度 保留 安全参数索引 (SPI) 序列号 认证数据
图 8.5 AH认证包头格式
8.1.4 IPSec认证与加密
8.1.4 IPSec认证与加密 ( 续 )
AH包头字段内容包括,
? 下一个包头 (Next Header,8位 ):标识紧跟 AH头后面使用 IP
协议号的包头;
? 载荷长度 (Payload Len,8位 ),AH包头长度;
? 保留( Reserved,16位):为将来的应用保留,(目前为
0);
? 安全参数索引 (SPI,32位 ):与目的 IP 地址一同标识 SA;
? 序列号 (Sequence Number Field,32位 ):从 1开始的 32位单
增序列号,不允许重复,唯一地标识每一个发送的数据包,
为 SA提供反重发保护。
? 认证数据 (Authentication Data,长度可变 ):包含完整性
检查和。
2,IP封装安全负载 ESP
ESP为 IP包提供 完整性检查、认证和加密 。它使用
HMAC-MD5或 HMAC-SHA-1算法对 IP进行认证。为了保证各种
IPSec之间实现互操作性,目前 ESP必须提供对 56位 DES算法的
支持。 ESP可以单独使用,也可以和 AH结合使用。
安全参数索引 序列号
( SPI)
图 8.6 ESP认证包头格式
IP头 IPSec ESP 头 传输层头 ( TCP/UDP) 数据 ESP尾 ESP 认证尾
认证数据填充域 填充域 下一个
长度 包头
8.1.4 IPSec认证与加密 ( 续 )
8.1.4 IPSec认证与加密 ( 续 )
ESP包头字段内容包括:
?安全参数索引 SPI(Security Parameters Index):同
AH;
?序列号 (Sequence Number):同 AH;
?填充域 (Padding),0-255个字节。用来保证加密数据
部分满足块加密的长度要求,若数据长度不足,则填充;
?填充域长度 (Padding Length):接收端根据该字段长
度去除数据中的填充位;
?下一个包头 (Next Header):同 AH;
?认证数据 (Authentication Data):包含完整性检查
和。完整性检查部分包括 ESP包头、传输层协议、数据
和 ESP包尾,但不包括 IP包头,因此 ESP不能保证 IP包头
不被篡改。 ESP加密部分包括传输层协议、数据和 ESP包
尾。
8.1.4 IPSec认证与加密 ( 续 )
3,AH 与 ESP的比较
AH提供认证服务但是不提供加密服务。 图 8.7说明了
AH认证的作用范围。
图 8.7 AH身份验证的作用域
IP头 数据 IPv4
IP头 扩展头 数据 IPv6
新 IP头 AH头 IP头 数据 IPv4
隧道模式验证范围除新 IP头内的 可变字段
新 IP头 新扩展头 AH头 IP头 数据
IPv6
隧道模式验证范围除新 IP头内的 可变字段
IP头 AH头 数据 IPv4
传输模式验证范围除 IP头内的 可变字段
IP头 扩展头 AH头 数据 IPv6
传输模式验证范围除 IP头内的 可变字段
ESP提供认证和加密服务。 但它认证的范围与 AH是不同的,
图 8.8列出了 ESP对数据包认证或加密的作用域。
图 8.8 ESP加密和身份验证的作用域
IP头 数据 IPv4
IP头 扩展头 数据 IPv6
IPv4
传输模式
IP头 ESP头 数据 ESP尾 ESP认证尾
加密的认证的
IP头 扩展头 ESP头 数据 ESP尾 ESP认证尾
加密的
认证的
IPv6
传输模式
IPv6
隧道模式
新 IP头 新扩展头 ESP头 IP头 扩展头 数据 ESP尾 ESP认证尾
加密的
认证的
IPv4
隧道模式
新 IP头 ESP头 IP头 数据 ESP尾 ESP认证尾
加密的
认证的
8.1.4 IPSec认证与加密 ( 续 )
8.1.5 IPSec认证与加密
IPSec支持手工 设置密钥 和 自动协商 两种方式管理密钥。
手工设置密钥方式是管理员使用自己的密钥手工设置每个系
统。这种方法在小型网络环境和有限的安全需要时可以工作
得很好。自动协商方式则能满足其它所有的应用需求。使用
自动协商方式,通讯双方在建立 SA时可以动态地协商本次会
话所需的加密密钥和其它各种安全参数,无须用户的介入。
当采用自动协商密钥时就需要使用 IKE。
IKE 是一个混合型协议,用来管理 IPSec所用加密密钥的
产生及处理。
8.1.5 IPSec认证与加密 ( 续 )
IKE提供的好处如下,
?允许管理员不必在两个对等体中手工指定所有 IPSec SA
参数;
?可以安全地建立用于对等体之间的会话密钥;
?允许为 IPSec SA指定一个生存期;
?允许加密密钥在 IPSec 会话过程中改变;
?允许 IPSec 提供防重发攻击服务;
?允许为一个可以管理的、可以扩展的 IPSec 实施采用 CA
支持;
8.1.5 IPSec认证与加密 ( 续 )
1,IKE的组成
IKE 由三个不同的协议组成,
1) Internet安全关联和密钥管理协议 ISAKMP ( Internet
Security Association and Key Management Protocol):
提供了一个通用的 SA属性格式框架和一些可由不同密钥交
换协议使用的协商、修改、删除 SA的方法。
2) OAKLEY:提供在两个 IPSec对等体间达成加密密钥的机制。
3) SKEME (Secure Key Exchange MEchanism protocol):提
供为认证目的使用公钥加密认证的机制。
8.1.5 IPSec认证与加密 ( 续 )
2,IKE的主要功能
? 对使用的协议、加密算法和密钥进行协商;
? 交换公共密钥;
? 在交换后对密钥进行管理。
3,IKE建立 SA
( 1) IKE阶段 1
IKE阶段 1的基本目的是 认证 IPSec 对等体,在对等体
间协商创建一个安全通道 IKE SA,并对该通道进行认证
为双方进一步 IKE通信提供机密性、数据完整性以及数据
认证服务。
8.1.5 IPSec认证与加密 ( 续 )
执行过程如下:
? 在对等体之间协商一个相匹配的 IKE SA策略以保护 IKE
交换。该 IKE SA指定协商的 IKE参数,并且是双向的,其
中包括:所使用的认证方法、加密和散列算法、加密算
法使用的共享密钥,IKE SA的生存期等;
? 执行一个被认证的 Diffie-Hellman,其最终结果是拥有
了一个将被 IPSec加密算法使用的相匹配的共享密钥;
? 认证和保护 IPSec对等体的身份;
? 建立起一个安全通道,以便协商 IKE阶段 2的参数 。
8.1.5 IPSec认证与加密 ( 续 )
( 2) IKE阶段 2
IKE阶段 2的基本目的是 使用已建立的 IKE SA建立
IPsec SA。执行过程如下:
? 策略协商,双方交换保护需求,例如使用何种 IPSec协
议( AH或 ESP),使用何种 hash算法( MD5或 SHA),是
否需要加密,若是,选择何种加密算( 3DES或 DES),
在上述三方面达成一致后,将建立起两个 SA,分别用
于入站和出站通信;
? 会话密钥, 材料, 刷新或交换;
? 周期性的重新协商 IKE SA参数,以确保安全性;
? 执行一次额外的 Diffie-Hellman交换(任选)。
8.1.5 IPSec认证与加密 ( 续 )
4,IPSec的工作过程
IPSec涉及到许多技术和加密算法,它的操作过程被分
为 5个主要的步骤:
? IPSec启动过程 —— 由配置在 IPSec对等体中的 IPSec安
全策略指定要被加密的数据流启动 IKE过程;
? IKE阶段 1—— IKE认证 IPSec对等体,并协商 SA,创建安全
通道 IKE SA;
? IKE阶段 2—— 利用已建立的 IKE SA,在对等体中建立相匹
配的 IPSec SA;
? 数据传送 —— 数据根据存储在 SA数据库中的 IPSec参数和
密钥在 IPSec对等体间传送;
? IPSec隧道终止 —— 通过删除或超时机制结束 IPSec SA。
8.1.6 IPSec应用实例
例 1,端到端安全,如图 8.9所示。主机 H1,H2位于两个
不同的网关 R1和 R2内,均配置了 IPSec。 R1,R2通过
Internet相连,但都未应用 IPSec。主机 H1,H2可以单独
使用 ESP或 AH,也可以将两者组合使用。使用的模式既可
以是传输模式也可以是隧道模式。
图 8.9 端到端安全
? ? ? ?
受保护
R1 R2
8.1.6 IPSec应用实例 ( 续 )
例 2,基本的 VPN支持,如图 8.10所示。网关 R1,R2运行隧
道模式 ESP,保护两个网内主机的通信,所有主机可以不
必配置 IPSec。当主机 H1向主机 H2发送数据包时,网关 R1
要对数据包进行封装,封装的包通过隧道穿越 Internet后
到达网关 R2。 R2对该包解封,然后发给 H2。
H1 H2
图 8.10 基本的 VPN支持
? ?
?
受保护
R1 R2
8.1.6 IPSec应用实例 ( 续 )
例 3,保护移动用户访问公司的内部网,如图 8.11所示。位于
主机 H1的移动用户要通过网关 R1访问其公司的内部主机 H2。主
机 H1和网关 R1均配置 IPSec,而主机 H2未配置 IPSec。当 H1给 H2
发数据包时,要进行封装,经过 Internet后到达网关 R1,R1对
该包解封,然后发给 H2。
图 8.11保护移动用户访问
? ?
?
受保护
H1 H2R1
8.1.6 IPSec应用实例 ( 续 )
例 4,嵌套式隧道,如图 8.12所示。主机 H1要同主机 H2进
行通信,中间经过两层隧道。公司的总出口网关为 R1,而
主机 H2所在部门的网关为 R2。 H1同 R2间有一条隧道,H1和
R1间也有一条隧道。当 H2向 H1发送数据包 P时,网关 R2将它
封装成 P1,P1到达网关 R1后被封装成 P2,P2经过 Internet
到达主机 H1,H1先将其解封成 P1,然后将 P1还原成 P。
受保护
图 8.12 嵌套式隧道
? ? ??H1 H2R1 R2
8.1.7 IPSec的局限性
1) IPSec仅用来验证主机,而不能对用户进行身份验证。如
果不能保证使用 IPSec 设备的人是授权用户,IPSec将没有意义。
2) IPSec不能防止黑客截取加密的数据包,读取非解密的数
据包来分析网络的信息,例如源和目的网关地址、数据包大小等。
3) 如果运行 IPSec 兼容软件的计算机已经被入侵,那么来
自该计算机的任何通信都是不可信任的,尽管通信使用了 IPSec 。
8.2 安全协议 SSL
基于 HTTP协议传输的信息是不加密的,这就使得在网
上传输口令字之类的敏感信息受到很大的威胁。 安全套接
层 SSL(Security Socket Layer) 是一种在两台机器之间
提供安全通道的协议。它具有保护传输数据以及识别通信
机器的功能。它能处理服务器和客户机之间的相互认证,
得到标准浏览器 Netscape和 IE的支持,已经成为网络用来
鉴别网站和网页浏览者的身份,以及在浏览器使用者和网
页服务器之间进行加密通讯的全球化标准。
8.2.1 SSL概述
1,SSl的历史
SSL最初是由网景( Netscape)公司开发,使用公钥加密被
传输的数据,用来在 Web客户端和服务器之间增加 HTTP协议的安
全性。 TETF将 SSL作了标准化,并将其称为 TLS( Transport
Layer Security),表示传输层的安全性,所以 SSL的用途不仅
仅局限于 HTTP。
2,SSL提供的服务
SSL主要提供三方面的服务:
1) 用户和服务器的合法性认证,认证用户和服务器的合法性,使
得它们能够确信数据将被发送到正确的客户机和服务器上 。
8.2.1 SSL概述 ( 续 )
客户机和服务器都有各自的数字证书。为了验证用户和服务器
是否合法,SSL要求在握手交换数据时进行数字认证,以此来
确保合法性。
2)加密数据以隐藏被传送的数据, SSL采用的加密技术既有对称
密钥技术,也有公开密钥技术。在客户机与服务器进行数据交
换之前,先交换 SSL初始握手信息,在信息中采用了各种加密
技术对其加密,以保证其机密性和数据的完整性,并且用数字
证书进行鉴别,这样就可以防止非法用户进行破译。
3)保护数据的完整性, SSL采用 Hash函数和机密共享的方法来提
供信息的完整性服务,建立客户机与服务器之间的安全通道,
使所有经过该协议处理的信息在传输过程中能全部完整准确无
误地到达目的地。
8.2.1 SSL概述 ( 续 )
3,SSL的局限性
尽管 SSL有很好的安全性,但也有它的不足:
1) 不适合复杂环境 。一般来讲,在通信模型简单的情况
下 SSL可以工作的很好。环境越复杂,使用 SSL提供安全
就越困难。
2) 仅限于 TCP协议 。由于 SSL要求有 TCP通道,所以对于
使用 UDP协议的 DNS类型的应用场合是不适合的。 HTTP
FTPSMTPSSLTCP层 IP层图 8.13 SSL在 TCP/IP模型中的位置
3) 通信各方只有两个 。由于 SSL的连接本质上是一对一的,
所以在通信方只有两个的情况下它会工作的很好。在多
对多的环境中,它的表现欠佳。
8.2.2 SSL的体系结构
以 TCP/IP模型来看,SSL是定位在 TCP层之上的应用
协议,如图 8.13所示。任何 TCP/IP层以上的网络协议都
被 SSL所支持,因此 HTTP,FTP,SMTP等皆是 SSL的保护范
围。
HTTP FTP SMTP
SSL
TCP层
IP层
图 8.13 SSL在 TCP/IP模型中的位置
8.2.2 SSL的体系结构 (续 )
使用 SSL安全机制时, 客户端首先与服务器建立连
接, 服务器把它的数字证书与公钥一并发送给客户端,
客户端随机生成会话密钥, 使用从服务器得到的公钥对
会话密钥进行加密, 并将会话密钥在网络上传递给服务
器, 而会话密钥只有在服务器端用私钥才能解密, 这样,
客户端和服务器端就建立了一个唯一的安全通道 。 建立
了 SSL安全通道后, 只有 SSL允许的客户才能与 SSL允许的
Web站点进行通信, 并且在使用 URL资源定位器时, 输入
https://, 而不是 http://。
8.2.2 SSL的体系结构 (续 )
SSL采用两层协议体系,如图 8.14所示。该协议包含两
个部分,SSL 握手协议 ( SSL Handshake protocol)
和 SSL 记录协议 ( SSL Record protocol)。前者负责
通信前的参数协商,后者定义 SSL的内部数据格式。其
中 SSL 握手协议由三个子协议构成,它们是 改变密码规
范协议 ( Change cipher spec protocol),报警协议
( Alert protocol)和 握手协议 ( Handshake
protocol)。 改 变 密 码 规
范协议
报 警协
议
握 手 协
议
SSL记录协议
TCP层
图 8.14 SSL协议组成
8.2.2 SSL的体系结构 (续 )
1,SSL握手协议
SSL握手协议是 SSL的前置步骤。 客户端与服务器先进
行沟通、协调与 SSL通信有关的参数设置。
握手有三个目的,
1) 客户端与服务器对保护数据的算法达成一致;
2) 对算法使用的加密密钥达成一致;
3) 确定是否对客户端进行认证 。
8.2.2 SSL的体系结构 (续 )
图 8.15说明了握手的步骤
客
户
端
1) 所支持的加密算法,随机数
2) 选中的加密算法,随机数证书
(3)加密后的随机密码串
4) 计算密码 4) 计算密码
5) 握手消息的 MAC值
6) 握手消息的 MAC值
客
户
端
图 8.15 SSL握手步骤
8.2.2 SSL的体系结构 (续 )
下面对握手步骤作进一步的说明:
1) Client Hello:首先由客户端计算机向 Web服务器说
,Hello”,并同时将客户端计算机所能支持的安全模块告
诉对方, 以便沟通 。 信息内容包括,SSL协议版本, 本次
联机的识别码以及加密模块等 。
2) Server Hello:服务器接收到客户端信息后, 立即送出
以下信息给客户端:
? 服务器的数字证书, 以便客户端检查服务器的身份;
? 如果服务器要求双方相互认证, 则送出, 认证请求, 信
息 。 要求客户端也提供识别身份的数字证书;
? 服务器用来加密的公钥 。
8.2.2 SSL的体系结构 (续 )
3) 客户端对服务器的数字证书进行验证, 并抽取服务器
的公用密钥, 再产生一个叫做 pre-master-secret的随
机密码串, 并使用服务器公钥对其加密, 然后将加密后
的信息发送给服务器 。 如果服务器请求, 客户端的数字
证书也将被发送给服务器 。
4) 客户端将所有握手消息的消息鉴别码 MAC(Message
Authentication Code ), 发送给服务器 。
5) 服务器将所有握手消息的 MAC发送给客户端 。 到这个
阶段为止, 通信双方都已经达成了共识, 并准备传送真
正的信息内容 。
8.2.2 SSL的体系结构 (续 )
2,SSL记录协议
在 SSL中, 数据传输使用 SSL记录协议来实现 。 记录协
议将数据流分割成一系列片断, 并对每个片断单独进行
保护, 然后加以传输 。 在接收方, 对每条记录单独进行
解密和验证 。 这种方案使得数据一经准备好就可以从连
接的一端传送到另一端, 接收到就可以立即进行处理 。
8.2.2 SSL的体系结构 (续 )
SSL数据的分段与保护如图 8.16所示。 MAC用来提供
数据完整性保护。将 MAC附加到片段的尾部,并对数据与
MAC整合在一起的内容进行加密,形成加密的负载。最后
给负载加上头信息,头信息与经过加密的负载称为记录,
记录是实际传输的内容。
数据
记录头 加密的数据和 MAC
数据片断 MAC数据片断 MAC
记录头 加密的数据和 MAC
图 8.16 SSL数据的分段与保护
8.2.2 SSL的体系结构 (续 )
图 8.17给出了用 DES分组密码加密的 SSL记录范例 。
头信息用白色来表示, 经过加密的负载用深色表示 。 该
范例使用 MD5来产生 MAC,因此需要对记录进行填充,
以适应 DES的分组长度 。
图 8.17 SSL记录范例
填充 填充
长度
数 据
HMAC-MD5
类型 版本 长度
8.3 安全协议 SSH
SSH,安全 Shell( Secure Shell)是一种通用的、功
能强大的,基于软件的网络安全解决方案,它可以在大多数
操作系统上运行,通过安全认证和加密技术,为不安全的网
络应用增加安全性。 SSH可以支持安全远程登录、安全远程
命令执行、安全文件传输、访问控制,TCP\IP端口转发等。
SSH不是一个命令解释器,也没有提供通配符扩展、命令历
史纪录等功能,而是创建了一个通道在远程计算机上运行
shell,其风格类似于 Unix的 rsh命令。所不同的是 rsh是一
个不安全的提供远程登录的程序,而 SSH却在本地计算机和
远程计算机之间使用了端到端的加密技术。
8.3.1 SSH概述
1.SSH的历史
1995年初芬兰赫尔辛基大学( Helsinki University of
Technology)的校园网受到密码窃听的攻击,研究人员 Tatu
Ylonen为此开发了 SSH1以便自己使用。他于 1995年 12月成立了 SSH
通信安全公司 SCS( SSH Communications Security,Inc.)对
SSH1进行维护,并使其商业化。
1996年 SCS对 SSH代码进行了重写,推出了与 SSH1不兼容的版
本 SSH2。 IETF也成立了一个 SECSH( Secure Shell Working Group)
工作组,以对 SSH-2协议进行标准化,并于 1997年 2月提交了第一
份 SSH-2协议的 Internet 草案。
1998年 SCS发布了基于 SSH-2协议的软件产品 SSH2,尽管 SSH2
比 SSH1的安全性好,但是 SSH2并没有取代 SSH1,因为 SSH1是免费
的,而 SSH2是一个商业产品。
现在 SSH1已经不再开发,只进行错误修正。而 SSH2和 OpenSSH
仍然继续在开发,与此同时还有许多其它的 SSH产品
?
8.3.1 SSH概述 ( 续 )
2,SSH可以防止的攻击
? 窃听,网络窃听者读取网络信息。 SSH的加密防止了窃
听的危害。即使窃听者截获了 SSH会话的内容,也不能
将其解密。
? 名字服务和 IP伪装,攻击者搞乱名字服务或者盗用 IP地
址来冒充一台机器,此时与网络有关的程序就可能被强
制连接到错误的机器上。 SSH通过加密验证服务器主机
的身份避免了攻击者搞乱名字服务以及 IP欺骗。 SSH客
户端会根据和密钥关联的本地服务器名列表和地址列表
对服务器主机密钥进行验证。如果所提供的主机密钥不
能和该列表中的任意一项匹配,SSH就会报警。
8.3.1 SSH概述 ( 续 )
? 连接劫持,攻击者使 TCP连接偏离正确的终点 。 SSH的
完整性检测负责确定会话在传输过程中是否被修改 。 如
果曾经被修改, 就立即关闭该连接, 而不会使用任何被
修改过的数据 。
? 中间人攻击,中间人冒充真正的服务器接收用户传给服
务器的数据, 然后再冒充用户把数据传给真正的服务器 。
SSH使用服务器主机认证以及限制使用容易受到攻击的
认证方法 ( 如密码认证 ) 来防止中间人攻击 。
? 插入攻击,攻击者在客户端和服务器的连接中插入加密
数据, 最终解密成攻击者希望的数据 。 使用 3DES算法
可以防止这种攻击, SSH-1的完整性检查机制是非常脆
弱的, 而 SSH-2和 OpenSSH都进行了专门设计, 来检
测并防止这种攻击 。
–
8.3.1 SSH概述 ( 续 )
3,SSH不能防止的攻击
? 密码崩溃,如果你的密码被窃取,SSH将无能为力。
? IP和 TCP攻击, SSH是在 TCP之上运行的,因此它也容
易受到针对 TCP和 IP缺陷发起的攻击。 SSH的隐私性、
完整性和认证可以确保将拒绝服务的攻击危害限制在一
定的范围之内。
? 流量分析,攻击者通过监视网络通信的数据量, 源和目
的地址以及通信的时间, 能够确定他何时将采取拒绝服
务攻击, 而 SSH不能解决这种攻击 。
8.3.2 SSH的体系结构
SSH基于客户机 /服务器体系结构,如图 8.18所示
SSH
服务
器
运行 ?运行 ?
运
行
SSH
客户端
运
行
子进程 ?
“我要登录,
允许
子进程 ?
SSH
客户端 ?
“我要登录, ?
拒绝 ?
子进程 ?
SSH
客 户端,请运行该命令,
执行
子进程
SSH
客户端请发送文件 X
“这是文件 X
图 8.18 SSH的体系结构
8.3.2 SSH的体系结构 ( 续 )
SSH软件包由两部分组成,一部分是 服务端软件包,
另一部分是 客户端软件包 。服务端是 sshd进程,在后台
运行并响应来自客户端的连接请求。一般包括公共密钥
认证、密钥交换、对称密钥加密和非安全连接。客户端
包含 ssh程序以及像 scp(远程拷贝),slogin(远程登
陆),sftp(安全文件传输)等其他的应用程序。本地
客户端发送一个连接请求到远程服务端,服务端检查申
请的包和 IP地址再发送密钥给客户端,然后客户端再将
密钥发回给服务端,自此连接建立。
8.4 虚拟专用网 VPN
随着 Internet和电子商务的蓬勃发展,各企业开始允许其
合作伙伴也能够访问本企业的局域网,从而大大简化了信息
交流的途径,增加了信息交换的速度。这些合作和联系是动
态的,并依靠网络来维持和加强。于是大家发现,基于
Internet的商务活动面临非善意的信息威胁和安全隐患。另
外一些企业随着自身的发展壮大与跨国化,分支机构不仅越
来越多,而且相互间的网络基础设施互不兼容也更为普遍。
所以,这些企业的信息技术部门在连接分支机构方面也遇到
日益棘手的问题。用户的需求也就促成了 虚拟专用网络 VPN
( Virtual Private Network)技术的诞生。
8.4.1 VPN的基本概念
VPN是两个专用网络通过公用网络相互连接传输私
有信息的一种方法。虚拟是因为两个专用网络的连接沒
有传统网络所需的物理的端到端的链路,而是架构在以
Internet为基础的公网之上的逻辑网络。专用是指在 VPN
上通信的数据是被加密的,与使用专用网一样安全。如
图 8.19所示。 Internet
图 8.19 VPN的应用
家庭办公公司总部 分支机构移动用户 ?
VPN
8.4.1 VPN的基本概念 ( 续 )
图 8.20是 VPN在网络中放置的位置 。
Web服务器 网络边界
VPN服务器
图 8.20 VPN放置的位置
Internet 内网
8.4.1 VPN的基本概念 ( 续 )
1,VPN的功能
1)通过隧道或者虚电路实现网络互联;
2)支持 用戶 对网络的 管理,其中包括安全管理、设备管理、
配置管理、访问控制列表管理,QoS管理等;
3)允许管理员对网络进行监控和故障诊断。
2,VPN的 优点
1) 省钱:用 VPN组网,可以不租用电信专线线路,节省了电
话费的开支;
2) 选择灵活、速度快,用戶可以 选择 多 种 Internet连接技术,
而且 对于带宽 可以按需定制 ;
3) 安全性好,VPN的 认证机制可以更好地保证用户数据的私密性
和完整性 ;
4) 实现投资的保护, VPN技术 的 应用 可以建立在用戶 现有 防火牆
的 基础 上,用戶正在使用的 应用程序 也不受 影响 。
8.4.1 VPN的基本概念 ( 续 )
3,VPN的缺点
1)相对专线而言, VPN不可靠 。 带宽和时延不稳定 。 对于
实时性很强的应用, 比如网络间断 10分钟, 企业信息系
统就会瘫痪的网络不适合使用 VPN;
2)相对专线而言, VPN不安全性 。 由于 Internet上鱼龙混
杂, 它的安全性不如物理专用网;
3)用 VPN组网以后, 企业内部网范围扩大了, 会出现比较多
的管理问题 。
8.4.1 VPN的基本概念 ( 续 )
4,VPN的适用范围
(1) 有三种情况很适合采用 VPN:
1)位置众多,特别是单个用户和远程办公室站点较多;
2)用户或者站点分布范围广,彼此之间的距离远,遍
世界各地;
3)带宽和时延要求不是很高。
站点数量越多,站点之间的距离越远,VPN解决方案越有
可能成功。
(2) 有三种情况不适合采用 VPN:
1)不管价格多少,网络性能都被放在第一位的情况;
2)采用不常见的协议、不能在 IP隧道中传送应用的情况;
3)大多数应用是语音或视频类的实时通信。
8.4.2 VPN使用的隧道协议
为了在公网中传输私有数据,VPN使用隧道技术达
到此目的。隧道技术类似于点对点连接技术,它在公网
建立一条数据通道即隧道,让数据包通过这条隧道传输。
为创建隧道,隧道的客户机和服务器双方必须使用相同
的隧道协议。隧道协议分别以 OSI参考模型的第二层或
第三层隧道协议为基础。
需要注意的是,无论采用何种隧道技术,一旦进行
加密或验证,都会对系统的性能造成影响。密码算法需
要消耗大量的处理器时间,而且大多数密码算法还有一
个建立准备过程,所以在选择安全性时必须选择高性能
的设备。
8.4.2 VPN使用的隧道协议 ( 续 )
1,点对点隧道协议 PPTP
1996年, Microsoft和 Ascend等公司在 PPP的基础上开
发了点对点隧道协议 PPTP( Point to Point Tunnel
Protocol) 。 PPTP支持多种网络协议, 可把 IP,IPX、
AppleTalk或 NetBEUI的数据包封装在 PPP包中, 然后再
将整个包封装在 PPTP隧道协议包中 。
PPTP的加密方法采用 Microsoft点对点加密算法 MPPE
( Microsoft Point-to-Point Encryption)。可以选用相
对较弱的 40位密钥或强度较大的 128位密钥。
8.4.2 VPN使用的隧道协议 ( 续 )
2,第 2层转发协议 L2F
第二层转发协议 L2F( Layer 2 Forwarding) 是
Cisco公司于 1996年制定的,于 1998年 5月提交给
IETF。 L2F主要用于路由器和拨号访问服务器,它可以
在 ATM、帧中继,IP网上建立多协议的 VPN通信方式。
L2F需要 ISP支持,并且要求两端传输设备都支持 L2F,
而对客户端无特殊要求。
8.4.2 VPN使用的隧道协议 ( 续 )
3,第 2层隧道协议 L2TP
第二层隧道协议 L2TP( Layer2 Tunneling
Protocol)是 Cisco,Ascend,Microsoft 和
RedBack公司的专家们在修改了十几个版本后,于
1999年 8月公布的标准,标号为 RFC2661。 L2TP可以
使用 IPSec机制进行身份验证和数据加密。通常将 L2TP
和 IPSec结合起来使用。 L2TP作为隧道协议,提供隧道
的建立或封装,以及第二层验证; IPSec对 L2TP隧道进
行加密,提供对会话的安全保证。
8.4.2 VPN使用的隧道协议 ( 续 )
L2TP与 PPTP的比较
L2TP结合了 L2F和 PPTP 的优点。隧道的建立有
两种方式,用户初始化隧道 和 网络接入服务 NAS
( Network Access Server)初始化隧道。前者一
般指“主动”隧道,后者指“强制”隧道。“主动”
隧道是用户为某种特定请求建立的,而“强制”隧道
则是在没有任何来自用户的动作以及选择的情况下系
统自动建立的。
8.4.2 VPN使用的隧道协议 ( 续 )
L2TP作为“强制”隧道模型是让拨号用户与网络中
的另一点建立连接的重要机制。而 PPTP则是“主动”隧
道模型,它允许终端系统进行配置,与任意位置的 PPTP
服务器建立一条点到点的隧道,在协商和隧道建立过程中
没有中间媒介 NAS的参与,在这里 NAS的作用只是提供网
络服务。
L2TP比 PPTP提供的安全性高, 因为在这种环境中接
入服务器能够确定用户是从哪里来的 。 L2TP用于比较集
中的, 固定的 VPN用户, 而 PPTP适合移动用户 。 在 VPN
的实现中采用 L2TP还是 PPTP,取决于要把控制权放在
NAS还是用户手中 。
8.4.2 VPN使用的隧道协议 ( 续 )
4,通用路由协议封装 GRE
通用路由协议封装 GRE( generic routing
encapsulation)是由 Net-smiths和 Cisco公司于 1994年
提交给 IETF的,标号为 RFC1701和 RFC1702 。 GRE是一
种基于 IP的隧道技术,规定了怎样用一种网络层协议去封
装另一种网络层协议的方法。它可被用来在基于 IP的骨干
网上传输 IP,IPX,AppleTalk等多种协议的数据流量。同
时,GRE还可被用来在 Internet网络上通过隧道传输广播
和组播信息,如 RIP,OSPF,IGRP,EIGRP等路由更新
信息。
8.4.2 VPN使用的隧道协议 ( 续 )
GRE只提供了数据包的封装, 没有加密功能来防止
网络侦听和攻击 。 通常将 GRE和 IPSec结合起来使用 。
GRE作为隧道协议, 而 IPSec提供用户数据的加密, 从
而提供更好的安全性 。
GRE作为 VPN机制的缺点是管理费用高。由于 GRE
需要手工配置,所以配置和维护隧道所需的费用和隧道
的数量是直接相关的,每次隧道的终点改变,隧道都要
重新被配置。尽管隧道也可以自动配置,但如果不能考
虑相关路由信息,就容易形成回路,回路一旦形成,会
极大地恶化路由的效率。
8.4.2 VPN使用的隧道协议 ( 续 )
5,IP安全协议 IPSec
IPSec把多种安全技术集合到一起, 可以建立一个安全,
可靠的隧道, 同时还有一整套保证用户数据安全的措施,
利用它建立起来的隧道更具有安全性和可靠性 。 IPSec
还可以和 L2TP,GRE等其他隧道协议一同使用, 给用户
提供更大的灵活性和可靠性 。 此外, IPSec可以运行于
网络的任意一部分, 它可以运行在路由器和防火墙之间,
路由器和路由器之间, PC机和服务器之间, PC机和拨号
访问设备之间 。 IPSec经过 IETF数年的完善, 现在已经
成为主流 VPN选择的必备协议 。
8.4.2 VPN使用的隧道协议 ( 续 )
6,多协议标记交换 MPLS
多协议标记交换 MPLS( Multi protocol Label
Switching)由 Cisco,Force10 Networks和 Juniper
Networks等公司于 2001年 1月提交给 IETF,其标号分别
为 RFC3031和 RFC3032 。 MPLS技术是与 IPSec互补的
VPN标准。 IETFIPSec工作组(属于 Security
Area部分)的工作主要涉及网络层的保护,所以该组设计
了加密安全机制以便灵活地支持认证、完整性、访问控制
和系统加密;而 IETFMPLS工作组(属于 Routing Area部
分)则从另一方面着手开发了支持高层资源预留,QoS和
主机行为定义的机制。
8.4.2 VPN使用的隧道协议 ( 续 )
当 IP数据包进入网络核心时, 边界路由器给它分配
一个标记 。 自此, MPLS设备就会自始至终查看这些标记
信息, 将这些有标记的包交换至其目的地 。 由于路由处理
减少, 网络的等待时间也就随之缩短, 而可伸缩性却有所
增加 。 MPLS数据包的服务质量类型可以由 MPLS边界路
由器根据 IP包的各种参数来确定, 这些参数可以是 IP的源
地址, 目的地址, 端口号, TOS值等 。 同时, 通过对特殊
路由的管理, 还能有效地解决网络的负载均衡和拥塞问题 。
当网络出现拥塞时, MPLS可实时建立新的转发路由来分
散流量以缓解网络拥塞 。
8.4.3 VPN采用的技术
实现 VPN的技术基础是 隧道技术, 数据加密 和 身份
验证 。 隧道技术使得各种内部数据包可以通过公网进行
传输;数据加密用于加密隐蔽传输信息 ( 见第 2章 ) ;
身份验证用来鉴别用户的身份 ( 见第 3章 ) ;数据认证
用来防止数据被篡改, 同时 QoS技术对 VPN的实现也至
关重要 。
8.4.3 VPN采用的技术 ( 续 )
1,隧道技术
在 VPN中,原始数据包在 A地进行封装,到达 B地
后将封装去掉还原成原始数据包,这样就形成了一条
由 A到 B的通信隧道。隧道技术包含数据包的封装、传
输和拆封在内的全过程。在这里隧道代替了实实在在
的专用线路。对于不同的信息来源,可以分别给它们
开出不同的隧道。
8.4.3 VPN采用的技术 ( 续 )
隧道就好比是在广域网云海中拉出的一根串行通信电缆,
如图 8.21所示 。 于是, 兼容性问题, 不同的服务质量要求, 以
及其它的麻烦都迎刃而解 。
Internet
图 8.21 VPN隧道
在隧道技术中入口地址用的是普通主机网络的地址空
间, 而在隧道中流动的数据包用的是 VPN的地址空间, 这
就要求隧道的终点必须配置成 VPN与普通主机网络之间的
交界点 。 这种方法的好处是能够使 VPN的路由信息从普通
主机网络的路由信息中隔离出来, 多个 VPN可以重复利用
同一个地址空间而不会有冲突 。 隧道也能封装数量众多的
协议族 。 用同一种格式可以支持多种协议同时又保留协议
的功能 。 IP路由过滤的主机网络不能提供这种服务, 而只
有隧道技术才能把 VPN私有协议从主机网络中隔离开来 。
8.4.3 VPN采用的技术 ( 续 )
8.4.3 VPN采用的技术 ( 续 )
2,数据加密
数据加密技术是实现网络安全的最有效的技术之一,
已经成为所有数据通信安全的基石 。 在多数情况下, 数
据加密是保证信息机密性的唯一方法 。 一个加密网络,
不但可以防止非授权用户的搭线窃听和入网, 而且也是
对付恶意软件的有效方法, 这使得它能以较小的代价提
供很强的安全保护 。
8.4.3 VPN采用的技术 ( 续 )
3,身份认证
身份认证用于保证系统中的数据只能被有权限的
,人, 访问,未经授权的, 人, 无法访问数据。如果没
有有效的身份认证手段,访问者的身份就很容易被伪造,
使得任何安全防范体系都形同虚设。
4,数据认证
数据认证用来防止数据被篡改。比如数据发送端使用
MD5算法计算数据包特征,并将特征码附在数据包后面。
当数据包到达目的,被还原以后,目的主机也要使用 MD5
算法进行计算,并要与发送端计算的该字段值比较,看
看是否匹配。通过这种方法可以证明数据在传输过程中
是否被篡改。
8.4.3 VPN采用的技术 ( 续 )
5,QoS技术
通过隧道技术和加密技术, 能够建立起一个具有安全性,
互操作性的 VPN。 但是如果该 VPN的性能不稳定, 将不能
满足用户的要求, 这就需要加入 QoS技术 。 通过 QoS机制
对用户的网络资源分配进行控制, 以达到满足应用的需求 。
不同的应用对网络通信有不同的要求, 这些要求可用如下
参数给予体现:
· 带宽:网络提供给用户的传输率;
· 反应时间:用户能够容忍的数据包传输延时;
· 抖动:延时的变化;
· 丢失率:数据包丢失的比率 。
8.4.3 VPN采用的技术 ( 续 )
6,网络访问控制技术
网络访问控制技术对出入 Internet的数据包进行过滤,
是传统防火墙 的功能 。 由于防火墙和 VPN均处于
Internet出口处, 在网络中的位置基本相同, 而其功能
具有很强的互补性, 因此一个完整的 VPN产品应同时提
供完善的网络访问控制功能, 这可以在系统的性能, 安
全性以及统一管理上带来一系列的好处 。
8.4.4 VPN的实施
1,三种实现方法
与防火墙一样,VPN也可以分为 软件 VPN,硬件 VPN
和 专用 VPN之分:
1)软件 VPN:通常要比硬件 VPN系统便宜,它们对于
快速增长的网络提供了更好的扩展性。这类产品能够
让移动用户、远程用户从任何位置拨号访问企业网的
私有数据。
8.4.4 VPN的实施 ( 续 )
2)硬件 VPN:已被配置使用 IPSec或者其它协议的路由器,
或者 VPN器件。 VPN器件是被专门设计安装在 VPN边界上,
为了将多个 VPN连接起来。 VPN器件可以允许大量用户或
者多个网络之间建立连接,但它们却不提供文件和打印等
其它服务。使用硬件 VPN可以连接到更多的隧道和用户。
3)专用 VPN:提供全系列的网关硬件、客户端软件、以及专
门的管理软件。硬件网关放置在网络的出口,可以实现
LAN-to-LAN的 VPN组网。客户端软件一般是为单机客户
和移动用户使用,如果客户端软件能够支持网关功能(相
当于软网关),还可以作为硬件网关的备份。
8.4.4 VPN的实施 ( 续 )
2,三种解决方案
按照隧道是如何建立和终止来划分,VPN有三种解决
方案,远程访问虚拟网 ( Access VPN),企业内部虚
拟网 ( Intranet VPN)和企业扩展虚拟网( Extranet
VPN),它们分别与传统的远程访问网络,Intranet和
Extranet相对应。
1) Access VPN:如果企业的内部人员移动或有远程办公
需要, 或者商家要提供 B2C的安全访问服务, 就可以考
虑使用 Access VPN。 Access VPN能使用户随时, 随地
以其所需的方式访问企业资源 。 Access VPN包括模拟,
拨号, ISDN,xDSL,移动等技术 。 一般通过 L2TP和
PPTP来加以解决 。
8.4.4 VPN的实施 ( 续 )
2) Intranet VPN:越来越多的企业需要在全国乃至世
界范围内建立各种办事机构、分公司、研究所等。利用
VPN特性可以在 Internet上组建世界范围内的 Intranet
VPN。该网络拥有与专用网络的相同政策,包括安全、
QoS、可管理性和可靠性。在该模式中,最常见的隧道
协议有 IPSec,MSLP和 L2TP。
3) Extranet VPN:利用 VPN技术将客户, 供应商, 合
作伙伴或兴趣群体连接到企业内部网 。 该网络拥有与专
用网络的相同政策, 包括安全, QoS,可管理性和可靠
性 。 在该模式中, 最常见的隧道协议有 IPSec,MSLP
和 L2TP。
8.4.4 VPN的实施 ( 续 )
3,三种连接方式
1)站点到站点,site-to-site VPN,将两个或者更多的
网络连接起来。
2)客户机到站点,client-to-site VPN,将远程拨号用
户与网络连接起来。
3)混合连接:将 site-to-site与 client-to-site结合,许
多大公司既使用 site-to-site VPN将公司总部和分支机
构连接,也使用 client-to-site VPN提供到总部的拨号
接入。
8.4.4 VPN的实施 ( 续 )
4,三种配置方式
1) mesh 配置:每个参与者(网络、路由器或计算机)
相互之间均保持一个 SA。图 8.22是由 4个局域网组成的
VPN,它们均能够相互建立 VPN通信。
VPN/防火墙 VPN/防火墙
VPN/防火墙 VPN/防火墙
图 8.22 mesh VPN配置
8.4.4 VPN的实施 ( 续 )
2) hub-and-spoke配置:中央 VPN路由器包含了 VPN中的
所有 SA。任何新加入的局域网或者主机只需要连接到中
央 VPN路由器即可,而不必连接到 VPN中的每台主机。在图
8.23,中央 VPN路由器位于公司总部,所有数据流都要经
过总部 。
图 8.23 hub-and-spoke VPN 配置
VPN/防火墙
VPN/防火墙
中央 VPN/防火墙
VPN/防火墙 VPN/防火墙
8.4.4 VPN的实施 ( 续 )
3)混合配置:在一个 VPN网络中,既采用 mesh也采用
hub-and-spoke,它结合了 mesh 配置的速度和 hub-
and-spoke配置的扩展性。 mesh 配置用于连接重要的
分支机构到公司总部,而不重要的部门,比如远程的海
外分部则连接到总部的 spoke端。
8.4.4 VPN的实施 ( 续 )
5,VPN的执行
VPN使分布 在不同地方的 专用网络 在不可信任的公
共 网络 上安全 通信, 它的执行如下;
1) VPN设备根据网管设置的规则, 确定 是否 需要对数据包
进行 加密或 直接通过;
2) 对需要 加密的 数据, VPN设备对整个数据包进行加密并
附上数字签名;
3) VPN设备给数据包加上 新的 包头, 其中包括目的地 VPN设
备需要 的安全 信息 和一些初始化 参数 ;
8.4.4 VPN的实施 ( 续 )
4) VPN设备对 加密 后的数据包以及 源 IP地址、
目的 VPN设备 IP地址进行重新 封裝,重新封裝
后的数据包通过隧道 在 网 上 传输;
5)当数据包到达目的 VPN设备時被拆封,并被
检查。如果数字签名准确无误,就对它进行解密。
6) VPN设备根据数据包的原始目的 IP地址,将
该数据包转发给目的主机。
本章知识点小结
1,IPSec是一组开放的安全协议集, 它们协同工作, 为网络提供
了一个端到端的安全解决方案 。
2,IPSec具有两种工作模式:传输模式和隧道模式 。
3,IPSec策略的核心由三部分组成,SA,SAD和 SPD。 SA表示了
策略实施的具体细节; SAD 为处理进入和外出的数据包维持一
个活动的 SA 列表; SPD 为 IPSec的实现提供安全策略配置 。
4,IPSec提供了两种安全机制:认证和加密 。 其中 AH提供数据完
整性服务和认证服务, 但不提供保密服务 。 ESP除了能提供 AH
所能提供的一切服务外, 还可以通过加密来提供数据包保密的服
务 。 IKE用来管理 IPSec所用加密密钥的产生及处理 。
本章知识点小结 ( 续 )
5,IKE包括两个阶段,阶段 1创建安全通道 IKE SA,阶段 2建
立 IPSec SA。
6,SSL最初用来实现 Web客户端和服务器之间 HTTP协议的
安全性,是浏览器使用者和网页服务器之间进行加密通讯
的全球化标准。同时 FTP和 SMTP等应用层也在 SSL的保护
范围。
7.SSL由多个协议组成,采用两层结构。前者负责通信前的
参数协商,后者定义 SSL的内部数据格式。
8.SSH使用公开发行的强加密工具来确保网络连接的私密性、
完整性和相互认证。 SSH-1尽管有缺陷,但它是免费的,
应用十分广泛。 SSH-2修正了 SSH-1的一些问题,但是由
于许可证的限制,使用有限。 OpenSSH同时支持 SSH-1和
SSH-2。
本章知识点小结 ( 续 )
10,SSH可以支持安全远程登录、安全远程命令执行、安全
文件传输、访问控制,TCP\IP端口转发等。
11.VPN基本概念
VPN的主要目标是建立一种灵活, 低成本, 可扩展的网
络互连手段, 以代替传统的长途专线连接和远程拨号连接,
同时 VPN也是一种实现企业内部网安全隔离的有效方法 。
VPN适用于站点多,站点之间距离远,带宽和时延要求
不是很高的环境。不适用于网络性能被放在第一位,采用
不常见的协议,实时通信应用多的环境。
本章知识点小结 ( 续 )
12,VPN隧道协议
1)PTP:在 PPP的基础上开发的点对点隧道协议,适用于拨号
用户;
2)L2F:第二层转发协议,主要用于路由器和拨号访问服务
器。
3)L2TP:第二层隧道协议,主要用于路由器和拨号访问服务
器。
4)GRE:通用路由协议封装,用在路由器中,适合语音和视
频方面的应用。
5)IPSec:把多种安全技术集合到一起,可以建立一个安全、
可靠的隧道,同时还有一整套保证用户数据安全的措施,还可
以和 L2TP,GRE等一同使用。
6)MPLS:多协议标记交换,在网络路由和交换设备上使用,可
以简化核心路由器的路由选择方式 。
本章知识点小结 ( 续 )
13,VPN的技术基础是隧道协议、数据加密、身份
认证和数据认证。
1)隧道技术使得各种内部数据包可以通过公网进
行传输;
2) 数据加密用于加密隐蔽传输信息;
3)身份认证用来鉴别用户的身份;
4)数据认证用来防止数据被篡改。
本章知识点小结 ( 续 )
14,VPN的实施
1)三种实现方法:软件 VPN、硬件 VPN和专用 VPN。
2)三种解决方案,Access VPN,Intranet VPN 和
Extranet VPN。
3)三种连接方式,site-to-site VPN,client-to-site
VPN和混合连接。
4)三种配置方式,mesh 配置,hub-and-spoke配置和混
合配置。
安全通信协议
第八章 安全通信协议
目前网络面临着各种威胁,其中包括保密数据的泄
露、数据完整性的破坏、身份伪装和拒绝服务等。
保密数据的泄露。 罪犯在公网上窃听保密性数据。
这可能是目前互相通信之间的最大障碍。没有加密,发
送的每个信息都可能被一个未被授权的组织窃听。由于
早期协议对安全考虑的匮乏,用户名或口令这些用户验
证信息均以明码的形式在网络上传输。窃听者可以很容
易地得到他人的帐户信息。
数据完整性的破坏。 即使数据不是保密的,也应该
确保它的完整性。也许你不在乎别人看见你的交易过程,
但你肯定在意交易是否被篡改。
身份伪装。 一个聪明的入侵者可能会伪造你的有效
身份,存取只限于你本人可存取的保密信息。目前许多
安全系统依赖于 IP地址来唯一地识别用户。不幸的是,
这种系统很容易被 IP欺骗并导致侵入。
拒绝服务。 一旦联网之后,必须确保系统随时可以
工作。在过去数年内,攻击者已在 TCP/IP协议簇及其具
体实现中发现若干弱点,使得他们可以造成某些计算机
系统崩溃。
8.1 IP安全协议 IPSec
IPSec用来加密和认证 IP包,从而防止任何人在网
路上看到这些数据包的内容或者对其进行修改。 IPSec是
保护内部网络,专用网络,防止外部攻击的关键防线。
它可以在参与 IPSec的设备(对等体)如路由器、防火墙、
VPN客户端,VPN集中器和其它符合 IPSec标准的产品之间
提供一种安全服务。 IPSec 对于 IPv4 是可选的,但对
于 IPv6 是强制性的。
8.1.1 IPSec体系结构
IPSec是一套协议包,而不是一个单独的协议 RFC文号。
IPSec 协议族中三个主要的协议:
IP认证包头 AH( IP Authentication Header),AH协议
为 IP包提供信息源验证和完整性保证。
IP封装安全负载 ESP ( IP Encapsulating Security
Payload) ESP协议提供加密保证。
Internet密钥交换 IKE ( The Internet Key Exchange):
IKE提供双方交流时的共享安全信息
8.1.1 IPSec体系结构 ( 续 )
IP安全结构
ESP
加密算法 算法验证
密钥管理
解释域( DOI)
策略
AH
图 8.1 IP Sec体系结构
IPSec的体系结构如图
8.1.1 IPSec体系结构 ( 续 )
IPSec提供的安全性服务,
1)访问控制,通过调用安全协议来控制密钥的安全交换
,
用户身份认证也用于访问控制 。
2)无连接的完整性,使用 IPSec,可以在不参照其他数据
包的情况下, 对任一单独的 IP包进行完整性校验 。
3)数据源身份认证,通过数字签名的方法对 IP包内的
数据来源进行标识 。
4)抗重发攻击,重发攻击是指攻击者发送一个目的主机
已接收过的包,通过占用接收系统的资源,使系统的可用
性受到损害。为此 IPSec提供了包计数器机制,以便抵御
抗重发攻击。
5) 保密性,确保数据只能为预期的接收者使用或读,
而 不能为其他任何实体使用或读出。保密机制是通过使
用加密算法来实现的。
8.1.1 IPSec体系结构 ( 续 )
8.1.2 IPSec模式
–
IPSec对 IP包可以执行的操作分别是:只加密,只认证,
既加密也认证。
IPSec有两种工作模式,传输模式 (Transport Mode)和 隧道
模式 (Tunnel Mode)。
1.传输模式 (Transport Mode), IPSec协议头插入到原 IP
头部和传输层头部之间,只对 IP包的有效负载进行加密或认证。
加密的
IP头 IPSec AH头 传输层头 数据
IP头 传输层头 数据
图 8.2 传输模式 AH数据包
8.1.2 IPSec模式 ( 续 )
2.隧道模式,IPSec会先利用 AH或 ESP对 IP包进行认证或者加密,
然后在 IP包外面再包上一个新 IP头。
加密的
IP头 传输层头 数据
新 IP头 IPSec AH头 IP头 传输层头 数据
图 8.3 隧道模式 AH数据包
8.1.3 IPSec的安全策略
1.安全关联 SA
传输模式 SA,传输模式 SA只能用于两个主机之间的 IP通信
隧道模式 SA,隧道模式 SA既可以用于两个主机之间的 IP通
信也可用于两个安全网关之间或一个主机与一个安全网关之
间的 IP通信。
SA是安全策略通常用一个三元组唯一的表示,< SPI,
IP目的地址,安全协议标识符 >
1) SPI:安全参数索引 (Security Parameters Index),说明
用 SA的 IP头类型,它可以包含认证算法、加密算法、用于认证
8.1.3 IPSec的安全策略 ( 续 )
加密的密钥以及密钥的生存期;
2) IP目的地址,指定输出处理的目的 IP地址,或输入处理
的源 IP地址;
3) 安全协议标识符,指明使用的协议是 AH还是 ESP或者两者
同时使用。
2,安全关联数据库 SAD
SAD存放着和安全实体相关的所有 SA,每个 SA由三元组
索引。一个 SAD条目包含下列域:
? 序列号计数器,32位整数,用于生成 AH或 ESP头中的序列号;
? 序列号溢出标志:标识是否对序列号计数器的溢出进行审
核;
8.1.3 IPSec的安全策略 ( 续 )
? 抗重发窗口:使用一个 32位计数器和位图确定一个
输入的 AH或 ESP数据包是否是重发包;
? IPSec协议操作模式:传输或隧道;
? AH的认证算法和所需密钥;
? ESP的认证算法和所需密钥;
? ESP加密算法,密钥,初始向量( IV)和 IV模式;
? 路径最大传输单元;
? 进出标志;
? SA 生存期状态。
8.1.3 IPSec的安全策略 ( 续 )
3,安全策略数据库 SPD
SPD决定了对数据包提供的安全服务,所有 IPSec 实施方
案的策略都保存在该数据库中。
IP包的处理过程中, 系统要查阅 SPD,每一个数据包, 都
有三种可能的选择,丢弃, 绕过 IPSec或应用 IPSec:
1) 丢弃:根本不允许数据包离开主机穿过安全网关;
2) 绕过:允许数据包通过, 在传输中不使用 IPSec进行
保护;
3) 应用:在传输中需要 IPSec保护数据包, 对于这样的传
输 SPD必须规定提供的安全服务, 所使用的协议和算法等等 。
8.1.3 IPSec的安全策略 ( 续 )
协商成功?
启动 IKE协商
否
TCP层产生的或者需要转发的数据包
安全关联?
处理策略?
查询 SPD
丢弃 绕过 IPSec
应用 IPSec,查询 SAD
SA不存在或
SA无效
进行 IPSec处理添加
IPSec头
SA有效
添加 IP头,送到 IP
层发送队列
返回
丢弃数据包,记录
出错信息
图 8.4 IPSec对数据包的处理
是
8.1.4 IPSec认证与加密
IPSec提供了两种安全机制,认证和加密 。认证机制
使 IP通信的数据接收方能够确认数据发送方的真实身份以
及数据在传输过程中是否遭篡改;加密机制通过对数据进
行编码来保证数据的机密性,以防数据在传输过程中被窃
听。
AH定义了认证的应用方法,提供数据源认证和完整性
保证; ESP定义了加密和可选认证的应用方法,提供可靠
性保证。 IKE的作用是协助进行安全管理,它在 IPSec 进
行处理过程中对身份进行鉴别,同时进行安全策略的协商
和处理会话密钥的交换工作。
1,IP认证包头 AH
AH协议提供无连接的完整性、数据源认证和抗重发保
护服务,但不提供保密性服务。它能保护通信免受篡改,
但不能防止窃听,适用于传输非机密数据。 AH在每一个数
据包上添加一个身份验证包头。该包头位于 IP包头和传输
层协议包头之间,如图 8.5所示。
IP头 IPSec AH头 传输层头 ( TCP/UDP) 数 据
下一个包头 长度 保留 安全参数索引 (SPI) 序列号 认证数据
图 8.5 AH认证包头格式
8.1.4 IPSec认证与加密
8.1.4 IPSec认证与加密 ( 续 )
AH包头字段内容包括,
? 下一个包头 (Next Header,8位 ):标识紧跟 AH头后面使用 IP
协议号的包头;
? 载荷长度 (Payload Len,8位 ),AH包头长度;
? 保留( Reserved,16位):为将来的应用保留,(目前为
0);
? 安全参数索引 (SPI,32位 ):与目的 IP 地址一同标识 SA;
? 序列号 (Sequence Number Field,32位 ):从 1开始的 32位单
增序列号,不允许重复,唯一地标识每一个发送的数据包,
为 SA提供反重发保护。
? 认证数据 (Authentication Data,长度可变 ):包含完整性
检查和。
2,IP封装安全负载 ESP
ESP为 IP包提供 完整性检查、认证和加密 。它使用
HMAC-MD5或 HMAC-SHA-1算法对 IP进行认证。为了保证各种
IPSec之间实现互操作性,目前 ESP必须提供对 56位 DES算法的
支持。 ESP可以单独使用,也可以和 AH结合使用。
安全参数索引 序列号
( SPI)
图 8.6 ESP认证包头格式
IP头 IPSec ESP 头 传输层头 ( TCP/UDP) 数据 ESP尾 ESP 认证尾
认证数据填充域 填充域 下一个
长度 包头
8.1.4 IPSec认证与加密 ( 续 )
8.1.4 IPSec认证与加密 ( 续 )
ESP包头字段内容包括:
?安全参数索引 SPI(Security Parameters Index):同
AH;
?序列号 (Sequence Number):同 AH;
?填充域 (Padding),0-255个字节。用来保证加密数据
部分满足块加密的长度要求,若数据长度不足,则填充;
?填充域长度 (Padding Length):接收端根据该字段长
度去除数据中的填充位;
?下一个包头 (Next Header):同 AH;
?认证数据 (Authentication Data):包含完整性检查
和。完整性检查部分包括 ESP包头、传输层协议、数据
和 ESP包尾,但不包括 IP包头,因此 ESP不能保证 IP包头
不被篡改。 ESP加密部分包括传输层协议、数据和 ESP包
尾。
8.1.4 IPSec认证与加密 ( 续 )
3,AH 与 ESP的比较
AH提供认证服务但是不提供加密服务。 图 8.7说明了
AH认证的作用范围。
图 8.7 AH身份验证的作用域
IP头 数据 IPv4
IP头 扩展头 数据 IPv6
新 IP头 AH头 IP头 数据 IPv4
隧道模式验证范围除新 IP头内的 可变字段
新 IP头 新扩展头 AH头 IP头 数据
IPv6
隧道模式验证范围除新 IP头内的 可变字段
IP头 AH头 数据 IPv4
传输模式验证范围除 IP头内的 可变字段
IP头 扩展头 AH头 数据 IPv6
传输模式验证范围除 IP头内的 可变字段
ESP提供认证和加密服务。 但它认证的范围与 AH是不同的,
图 8.8列出了 ESP对数据包认证或加密的作用域。
图 8.8 ESP加密和身份验证的作用域
IP头 数据 IPv4
IP头 扩展头 数据 IPv6
IPv4
传输模式
IP头 ESP头 数据 ESP尾 ESP认证尾
加密的认证的
IP头 扩展头 ESP头 数据 ESP尾 ESP认证尾
加密的
认证的
IPv6
传输模式
IPv6
隧道模式
新 IP头 新扩展头 ESP头 IP头 扩展头 数据 ESP尾 ESP认证尾
加密的
认证的
IPv4
隧道模式
新 IP头 ESP头 IP头 数据 ESP尾 ESP认证尾
加密的
认证的
8.1.4 IPSec认证与加密 ( 续 )
8.1.5 IPSec认证与加密
IPSec支持手工 设置密钥 和 自动协商 两种方式管理密钥。
手工设置密钥方式是管理员使用自己的密钥手工设置每个系
统。这种方法在小型网络环境和有限的安全需要时可以工作
得很好。自动协商方式则能满足其它所有的应用需求。使用
自动协商方式,通讯双方在建立 SA时可以动态地协商本次会
话所需的加密密钥和其它各种安全参数,无须用户的介入。
当采用自动协商密钥时就需要使用 IKE。
IKE 是一个混合型协议,用来管理 IPSec所用加密密钥的
产生及处理。
8.1.5 IPSec认证与加密 ( 续 )
IKE提供的好处如下,
?允许管理员不必在两个对等体中手工指定所有 IPSec SA
参数;
?可以安全地建立用于对等体之间的会话密钥;
?允许为 IPSec SA指定一个生存期;
?允许加密密钥在 IPSec 会话过程中改变;
?允许 IPSec 提供防重发攻击服务;
?允许为一个可以管理的、可以扩展的 IPSec 实施采用 CA
支持;
8.1.5 IPSec认证与加密 ( 续 )
1,IKE的组成
IKE 由三个不同的协议组成,
1) Internet安全关联和密钥管理协议 ISAKMP ( Internet
Security Association and Key Management Protocol):
提供了一个通用的 SA属性格式框架和一些可由不同密钥交
换协议使用的协商、修改、删除 SA的方法。
2) OAKLEY:提供在两个 IPSec对等体间达成加密密钥的机制。
3) SKEME (Secure Key Exchange MEchanism protocol):提
供为认证目的使用公钥加密认证的机制。
8.1.5 IPSec认证与加密 ( 续 )
2,IKE的主要功能
? 对使用的协议、加密算法和密钥进行协商;
? 交换公共密钥;
? 在交换后对密钥进行管理。
3,IKE建立 SA
( 1) IKE阶段 1
IKE阶段 1的基本目的是 认证 IPSec 对等体,在对等体
间协商创建一个安全通道 IKE SA,并对该通道进行认证
为双方进一步 IKE通信提供机密性、数据完整性以及数据
认证服务。
8.1.5 IPSec认证与加密 ( 续 )
执行过程如下:
? 在对等体之间协商一个相匹配的 IKE SA策略以保护 IKE
交换。该 IKE SA指定协商的 IKE参数,并且是双向的,其
中包括:所使用的认证方法、加密和散列算法、加密算
法使用的共享密钥,IKE SA的生存期等;
? 执行一个被认证的 Diffie-Hellman,其最终结果是拥有
了一个将被 IPSec加密算法使用的相匹配的共享密钥;
? 认证和保护 IPSec对等体的身份;
? 建立起一个安全通道,以便协商 IKE阶段 2的参数 。
8.1.5 IPSec认证与加密 ( 续 )
( 2) IKE阶段 2
IKE阶段 2的基本目的是 使用已建立的 IKE SA建立
IPsec SA。执行过程如下:
? 策略协商,双方交换保护需求,例如使用何种 IPSec协
议( AH或 ESP),使用何种 hash算法( MD5或 SHA),是
否需要加密,若是,选择何种加密算( 3DES或 DES),
在上述三方面达成一致后,将建立起两个 SA,分别用
于入站和出站通信;
? 会话密钥, 材料, 刷新或交换;
? 周期性的重新协商 IKE SA参数,以确保安全性;
? 执行一次额外的 Diffie-Hellman交换(任选)。
8.1.5 IPSec认证与加密 ( 续 )
4,IPSec的工作过程
IPSec涉及到许多技术和加密算法,它的操作过程被分
为 5个主要的步骤:
? IPSec启动过程 —— 由配置在 IPSec对等体中的 IPSec安
全策略指定要被加密的数据流启动 IKE过程;
? IKE阶段 1—— IKE认证 IPSec对等体,并协商 SA,创建安全
通道 IKE SA;
? IKE阶段 2—— 利用已建立的 IKE SA,在对等体中建立相匹
配的 IPSec SA;
? 数据传送 —— 数据根据存储在 SA数据库中的 IPSec参数和
密钥在 IPSec对等体间传送;
? IPSec隧道终止 —— 通过删除或超时机制结束 IPSec SA。
8.1.6 IPSec应用实例
例 1,端到端安全,如图 8.9所示。主机 H1,H2位于两个
不同的网关 R1和 R2内,均配置了 IPSec。 R1,R2通过
Internet相连,但都未应用 IPSec。主机 H1,H2可以单独
使用 ESP或 AH,也可以将两者组合使用。使用的模式既可
以是传输模式也可以是隧道模式。
图 8.9 端到端安全
? ? ? ?
受保护
R1 R2
8.1.6 IPSec应用实例 ( 续 )
例 2,基本的 VPN支持,如图 8.10所示。网关 R1,R2运行隧
道模式 ESP,保护两个网内主机的通信,所有主机可以不
必配置 IPSec。当主机 H1向主机 H2发送数据包时,网关 R1
要对数据包进行封装,封装的包通过隧道穿越 Internet后
到达网关 R2。 R2对该包解封,然后发给 H2。
H1 H2
图 8.10 基本的 VPN支持
? ?
?
受保护
R1 R2
8.1.6 IPSec应用实例 ( 续 )
例 3,保护移动用户访问公司的内部网,如图 8.11所示。位于
主机 H1的移动用户要通过网关 R1访问其公司的内部主机 H2。主
机 H1和网关 R1均配置 IPSec,而主机 H2未配置 IPSec。当 H1给 H2
发数据包时,要进行封装,经过 Internet后到达网关 R1,R1对
该包解封,然后发给 H2。
图 8.11保护移动用户访问
? ?
?
受保护
H1 H2R1
8.1.6 IPSec应用实例 ( 续 )
例 4,嵌套式隧道,如图 8.12所示。主机 H1要同主机 H2进
行通信,中间经过两层隧道。公司的总出口网关为 R1,而
主机 H2所在部门的网关为 R2。 H1同 R2间有一条隧道,H1和
R1间也有一条隧道。当 H2向 H1发送数据包 P时,网关 R2将它
封装成 P1,P1到达网关 R1后被封装成 P2,P2经过 Internet
到达主机 H1,H1先将其解封成 P1,然后将 P1还原成 P。
受保护
图 8.12 嵌套式隧道
? ? ??H1 H2R1 R2
8.1.7 IPSec的局限性
1) IPSec仅用来验证主机,而不能对用户进行身份验证。如
果不能保证使用 IPSec 设备的人是授权用户,IPSec将没有意义。
2) IPSec不能防止黑客截取加密的数据包,读取非解密的数
据包来分析网络的信息,例如源和目的网关地址、数据包大小等。
3) 如果运行 IPSec 兼容软件的计算机已经被入侵,那么来
自该计算机的任何通信都是不可信任的,尽管通信使用了 IPSec 。
8.2 安全协议 SSL
基于 HTTP协议传输的信息是不加密的,这就使得在网
上传输口令字之类的敏感信息受到很大的威胁。 安全套接
层 SSL(Security Socket Layer) 是一种在两台机器之间
提供安全通道的协议。它具有保护传输数据以及识别通信
机器的功能。它能处理服务器和客户机之间的相互认证,
得到标准浏览器 Netscape和 IE的支持,已经成为网络用来
鉴别网站和网页浏览者的身份,以及在浏览器使用者和网
页服务器之间进行加密通讯的全球化标准。
8.2.1 SSL概述
1,SSl的历史
SSL最初是由网景( Netscape)公司开发,使用公钥加密被
传输的数据,用来在 Web客户端和服务器之间增加 HTTP协议的安
全性。 TETF将 SSL作了标准化,并将其称为 TLS( Transport
Layer Security),表示传输层的安全性,所以 SSL的用途不仅
仅局限于 HTTP。
2,SSL提供的服务
SSL主要提供三方面的服务:
1) 用户和服务器的合法性认证,认证用户和服务器的合法性,使
得它们能够确信数据将被发送到正确的客户机和服务器上 。
8.2.1 SSL概述 ( 续 )
客户机和服务器都有各自的数字证书。为了验证用户和服务器
是否合法,SSL要求在握手交换数据时进行数字认证,以此来
确保合法性。
2)加密数据以隐藏被传送的数据, SSL采用的加密技术既有对称
密钥技术,也有公开密钥技术。在客户机与服务器进行数据交
换之前,先交换 SSL初始握手信息,在信息中采用了各种加密
技术对其加密,以保证其机密性和数据的完整性,并且用数字
证书进行鉴别,这样就可以防止非法用户进行破译。
3)保护数据的完整性, SSL采用 Hash函数和机密共享的方法来提
供信息的完整性服务,建立客户机与服务器之间的安全通道,
使所有经过该协议处理的信息在传输过程中能全部完整准确无
误地到达目的地。
8.2.1 SSL概述 ( 续 )
3,SSL的局限性
尽管 SSL有很好的安全性,但也有它的不足:
1) 不适合复杂环境 。一般来讲,在通信模型简单的情况
下 SSL可以工作的很好。环境越复杂,使用 SSL提供安全
就越困难。
2) 仅限于 TCP协议 。由于 SSL要求有 TCP通道,所以对于
使用 UDP协议的 DNS类型的应用场合是不适合的。 HTTP
FTPSMTPSSLTCP层 IP层图 8.13 SSL在 TCP/IP模型中的位置
3) 通信各方只有两个 。由于 SSL的连接本质上是一对一的,
所以在通信方只有两个的情况下它会工作的很好。在多
对多的环境中,它的表现欠佳。
8.2.2 SSL的体系结构
以 TCP/IP模型来看,SSL是定位在 TCP层之上的应用
协议,如图 8.13所示。任何 TCP/IP层以上的网络协议都
被 SSL所支持,因此 HTTP,FTP,SMTP等皆是 SSL的保护范
围。
HTTP FTP SMTP
SSL
TCP层
IP层
图 8.13 SSL在 TCP/IP模型中的位置
8.2.2 SSL的体系结构 (续 )
使用 SSL安全机制时, 客户端首先与服务器建立连
接, 服务器把它的数字证书与公钥一并发送给客户端,
客户端随机生成会话密钥, 使用从服务器得到的公钥对
会话密钥进行加密, 并将会话密钥在网络上传递给服务
器, 而会话密钥只有在服务器端用私钥才能解密, 这样,
客户端和服务器端就建立了一个唯一的安全通道 。 建立
了 SSL安全通道后, 只有 SSL允许的客户才能与 SSL允许的
Web站点进行通信, 并且在使用 URL资源定位器时, 输入
https://, 而不是 http://。
8.2.2 SSL的体系结构 (续 )
SSL采用两层协议体系,如图 8.14所示。该协议包含两
个部分,SSL 握手协议 ( SSL Handshake protocol)
和 SSL 记录协议 ( SSL Record protocol)。前者负责
通信前的参数协商,后者定义 SSL的内部数据格式。其
中 SSL 握手协议由三个子协议构成,它们是 改变密码规
范协议 ( Change cipher spec protocol),报警协议
( Alert protocol)和 握手协议 ( Handshake
protocol)。 改 变 密 码 规
范协议
报 警协
议
握 手 协
议
SSL记录协议
TCP层
图 8.14 SSL协议组成
8.2.2 SSL的体系结构 (续 )
1,SSL握手协议
SSL握手协议是 SSL的前置步骤。 客户端与服务器先进
行沟通、协调与 SSL通信有关的参数设置。
握手有三个目的,
1) 客户端与服务器对保护数据的算法达成一致;
2) 对算法使用的加密密钥达成一致;
3) 确定是否对客户端进行认证 。
8.2.2 SSL的体系结构 (续 )
图 8.15说明了握手的步骤
客
户
端
1) 所支持的加密算法,随机数
2) 选中的加密算法,随机数证书
(3)加密后的随机密码串
4) 计算密码 4) 计算密码
5) 握手消息的 MAC值
6) 握手消息的 MAC值
客
户
端
图 8.15 SSL握手步骤
8.2.2 SSL的体系结构 (续 )
下面对握手步骤作进一步的说明:
1) Client Hello:首先由客户端计算机向 Web服务器说
,Hello”,并同时将客户端计算机所能支持的安全模块告
诉对方, 以便沟通 。 信息内容包括,SSL协议版本, 本次
联机的识别码以及加密模块等 。
2) Server Hello:服务器接收到客户端信息后, 立即送出
以下信息给客户端:
? 服务器的数字证书, 以便客户端检查服务器的身份;
? 如果服务器要求双方相互认证, 则送出, 认证请求, 信
息 。 要求客户端也提供识别身份的数字证书;
? 服务器用来加密的公钥 。
8.2.2 SSL的体系结构 (续 )
3) 客户端对服务器的数字证书进行验证, 并抽取服务器
的公用密钥, 再产生一个叫做 pre-master-secret的随
机密码串, 并使用服务器公钥对其加密, 然后将加密后
的信息发送给服务器 。 如果服务器请求, 客户端的数字
证书也将被发送给服务器 。
4) 客户端将所有握手消息的消息鉴别码 MAC(Message
Authentication Code ), 发送给服务器 。
5) 服务器将所有握手消息的 MAC发送给客户端 。 到这个
阶段为止, 通信双方都已经达成了共识, 并准备传送真
正的信息内容 。
8.2.2 SSL的体系结构 (续 )
2,SSL记录协议
在 SSL中, 数据传输使用 SSL记录协议来实现 。 记录协
议将数据流分割成一系列片断, 并对每个片断单独进行
保护, 然后加以传输 。 在接收方, 对每条记录单独进行
解密和验证 。 这种方案使得数据一经准备好就可以从连
接的一端传送到另一端, 接收到就可以立即进行处理 。
8.2.2 SSL的体系结构 (续 )
SSL数据的分段与保护如图 8.16所示。 MAC用来提供
数据完整性保护。将 MAC附加到片段的尾部,并对数据与
MAC整合在一起的内容进行加密,形成加密的负载。最后
给负载加上头信息,头信息与经过加密的负载称为记录,
记录是实际传输的内容。
数据
记录头 加密的数据和 MAC
数据片断 MAC数据片断 MAC
记录头 加密的数据和 MAC
图 8.16 SSL数据的分段与保护
8.2.2 SSL的体系结构 (续 )
图 8.17给出了用 DES分组密码加密的 SSL记录范例 。
头信息用白色来表示, 经过加密的负载用深色表示 。 该
范例使用 MD5来产生 MAC,因此需要对记录进行填充,
以适应 DES的分组长度 。
图 8.17 SSL记录范例
填充 填充
长度
数 据
HMAC-MD5
类型 版本 长度
8.3 安全协议 SSH
SSH,安全 Shell( Secure Shell)是一种通用的、功
能强大的,基于软件的网络安全解决方案,它可以在大多数
操作系统上运行,通过安全认证和加密技术,为不安全的网
络应用增加安全性。 SSH可以支持安全远程登录、安全远程
命令执行、安全文件传输、访问控制,TCP\IP端口转发等。
SSH不是一个命令解释器,也没有提供通配符扩展、命令历
史纪录等功能,而是创建了一个通道在远程计算机上运行
shell,其风格类似于 Unix的 rsh命令。所不同的是 rsh是一
个不安全的提供远程登录的程序,而 SSH却在本地计算机和
远程计算机之间使用了端到端的加密技术。
8.3.1 SSH概述
1.SSH的历史
1995年初芬兰赫尔辛基大学( Helsinki University of
Technology)的校园网受到密码窃听的攻击,研究人员 Tatu
Ylonen为此开发了 SSH1以便自己使用。他于 1995年 12月成立了 SSH
通信安全公司 SCS( SSH Communications Security,Inc.)对
SSH1进行维护,并使其商业化。
1996年 SCS对 SSH代码进行了重写,推出了与 SSH1不兼容的版
本 SSH2。 IETF也成立了一个 SECSH( Secure Shell Working Group)
工作组,以对 SSH-2协议进行标准化,并于 1997年 2月提交了第一
份 SSH-2协议的 Internet 草案。
1998年 SCS发布了基于 SSH-2协议的软件产品 SSH2,尽管 SSH2
比 SSH1的安全性好,但是 SSH2并没有取代 SSH1,因为 SSH1是免费
的,而 SSH2是一个商业产品。
现在 SSH1已经不再开发,只进行错误修正。而 SSH2和 OpenSSH
仍然继续在开发,与此同时还有许多其它的 SSH产品
?
8.3.1 SSH概述 ( 续 )
2,SSH可以防止的攻击
? 窃听,网络窃听者读取网络信息。 SSH的加密防止了窃
听的危害。即使窃听者截获了 SSH会话的内容,也不能
将其解密。
? 名字服务和 IP伪装,攻击者搞乱名字服务或者盗用 IP地
址来冒充一台机器,此时与网络有关的程序就可能被强
制连接到错误的机器上。 SSH通过加密验证服务器主机
的身份避免了攻击者搞乱名字服务以及 IP欺骗。 SSH客
户端会根据和密钥关联的本地服务器名列表和地址列表
对服务器主机密钥进行验证。如果所提供的主机密钥不
能和该列表中的任意一项匹配,SSH就会报警。
8.3.1 SSH概述 ( 续 )
? 连接劫持,攻击者使 TCP连接偏离正确的终点 。 SSH的
完整性检测负责确定会话在传输过程中是否被修改 。 如
果曾经被修改, 就立即关闭该连接, 而不会使用任何被
修改过的数据 。
? 中间人攻击,中间人冒充真正的服务器接收用户传给服
务器的数据, 然后再冒充用户把数据传给真正的服务器 。
SSH使用服务器主机认证以及限制使用容易受到攻击的
认证方法 ( 如密码认证 ) 来防止中间人攻击 。
? 插入攻击,攻击者在客户端和服务器的连接中插入加密
数据, 最终解密成攻击者希望的数据 。 使用 3DES算法
可以防止这种攻击, SSH-1的完整性检查机制是非常脆
弱的, 而 SSH-2和 OpenSSH都进行了专门设计, 来检
测并防止这种攻击 。
–
8.3.1 SSH概述 ( 续 )
3,SSH不能防止的攻击
? 密码崩溃,如果你的密码被窃取,SSH将无能为力。
? IP和 TCP攻击, SSH是在 TCP之上运行的,因此它也容
易受到针对 TCP和 IP缺陷发起的攻击。 SSH的隐私性、
完整性和认证可以确保将拒绝服务的攻击危害限制在一
定的范围之内。
? 流量分析,攻击者通过监视网络通信的数据量, 源和目
的地址以及通信的时间, 能够确定他何时将采取拒绝服
务攻击, 而 SSH不能解决这种攻击 。
8.3.2 SSH的体系结构
SSH基于客户机 /服务器体系结构,如图 8.18所示
SSH
服务
器
运行 ?运行 ?
运
行
SSH
客户端
运
行
子进程 ?
“我要登录,
允许
子进程 ?
SSH
客户端 ?
“我要登录, ?
拒绝 ?
子进程 ?
SSH
客 户端,请运行该命令,
执行
子进程
SSH
客户端请发送文件 X
“这是文件 X
图 8.18 SSH的体系结构
8.3.2 SSH的体系结构 ( 续 )
SSH软件包由两部分组成,一部分是 服务端软件包,
另一部分是 客户端软件包 。服务端是 sshd进程,在后台
运行并响应来自客户端的连接请求。一般包括公共密钥
认证、密钥交换、对称密钥加密和非安全连接。客户端
包含 ssh程序以及像 scp(远程拷贝),slogin(远程登
陆),sftp(安全文件传输)等其他的应用程序。本地
客户端发送一个连接请求到远程服务端,服务端检查申
请的包和 IP地址再发送密钥给客户端,然后客户端再将
密钥发回给服务端,自此连接建立。
8.4 虚拟专用网 VPN
随着 Internet和电子商务的蓬勃发展,各企业开始允许其
合作伙伴也能够访问本企业的局域网,从而大大简化了信息
交流的途径,增加了信息交换的速度。这些合作和联系是动
态的,并依靠网络来维持和加强。于是大家发现,基于
Internet的商务活动面临非善意的信息威胁和安全隐患。另
外一些企业随着自身的发展壮大与跨国化,分支机构不仅越
来越多,而且相互间的网络基础设施互不兼容也更为普遍。
所以,这些企业的信息技术部门在连接分支机构方面也遇到
日益棘手的问题。用户的需求也就促成了 虚拟专用网络 VPN
( Virtual Private Network)技术的诞生。
8.4.1 VPN的基本概念
VPN是两个专用网络通过公用网络相互连接传输私
有信息的一种方法。虚拟是因为两个专用网络的连接沒
有传统网络所需的物理的端到端的链路,而是架构在以
Internet为基础的公网之上的逻辑网络。专用是指在 VPN
上通信的数据是被加密的,与使用专用网一样安全。如
图 8.19所示。 Internet
图 8.19 VPN的应用
家庭办公公司总部 分支机构移动用户 ?
VPN
8.4.1 VPN的基本概念 ( 续 )
图 8.20是 VPN在网络中放置的位置 。
Web服务器 网络边界
VPN服务器
图 8.20 VPN放置的位置
Internet 内网
8.4.1 VPN的基本概念 ( 续 )
1,VPN的功能
1)通过隧道或者虚电路实现网络互联;
2)支持 用戶 对网络的 管理,其中包括安全管理、设备管理、
配置管理、访问控制列表管理,QoS管理等;
3)允许管理员对网络进行监控和故障诊断。
2,VPN的 优点
1) 省钱:用 VPN组网,可以不租用电信专线线路,节省了电
话费的开支;
2) 选择灵活、速度快,用戶可以 选择 多 种 Internet连接技术,
而且 对于带宽 可以按需定制 ;
3) 安全性好,VPN的 认证机制可以更好地保证用户数据的私密性
和完整性 ;
4) 实现投资的保护, VPN技术 的 应用 可以建立在用戶 现有 防火牆
的 基础 上,用戶正在使用的 应用程序 也不受 影响 。
8.4.1 VPN的基本概念 ( 续 )
3,VPN的缺点
1)相对专线而言, VPN不可靠 。 带宽和时延不稳定 。 对于
实时性很强的应用, 比如网络间断 10分钟, 企业信息系
统就会瘫痪的网络不适合使用 VPN;
2)相对专线而言, VPN不安全性 。 由于 Internet上鱼龙混
杂, 它的安全性不如物理专用网;
3)用 VPN组网以后, 企业内部网范围扩大了, 会出现比较多
的管理问题 。
8.4.1 VPN的基本概念 ( 续 )
4,VPN的适用范围
(1) 有三种情况很适合采用 VPN:
1)位置众多,特别是单个用户和远程办公室站点较多;
2)用户或者站点分布范围广,彼此之间的距离远,遍
世界各地;
3)带宽和时延要求不是很高。
站点数量越多,站点之间的距离越远,VPN解决方案越有
可能成功。
(2) 有三种情况不适合采用 VPN:
1)不管价格多少,网络性能都被放在第一位的情况;
2)采用不常见的协议、不能在 IP隧道中传送应用的情况;
3)大多数应用是语音或视频类的实时通信。
8.4.2 VPN使用的隧道协议
为了在公网中传输私有数据,VPN使用隧道技术达
到此目的。隧道技术类似于点对点连接技术,它在公网
建立一条数据通道即隧道,让数据包通过这条隧道传输。
为创建隧道,隧道的客户机和服务器双方必须使用相同
的隧道协议。隧道协议分别以 OSI参考模型的第二层或
第三层隧道协议为基础。
需要注意的是,无论采用何种隧道技术,一旦进行
加密或验证,都会对系统的性能造成影响。密码算法需
要消耗大量的处理器时间,而且大多数密码算法还有一
个建立准备过程,所以在选择安全性时必须选择高性能
的设备。
8.4.2 VPN使用的隧道协议 ( 续 )
1,点对点隧道协议 PPTP
1996年, Microsoft和 Ascend等公司在 PPP的基础上开
发了点对点隧道协议 PPTP( Point to Point Tunnel
Protocol) 。 PPTP支持多种网络协议, 可把 IP,IPX、
AppleTalk或 NetBEUI的数据包封装在 PPP包中, 然后再
将整个包封装在 PPTP隧道协议包中 。
PPTP的加密方法采用 Microsoft点对点加密算法 MPPE
( Microsoft Point-to-Point Encryption)。可以选用相
对较弱的 40位密钥或强度较大的 128位密钥。
8.4.2 VPN使用的隧道协议 ( 续 )
2,第 2层转发协议 L2F
第二层转发协议 L2F( Layer 2 Forwarding) 是
Cisco公司于 1996年制定的,于 1998年 5月提交给
IETF。 L2F主要用于路由器和拨号访问服务器,它可以
在 ATM、帧中继,IP网上建立多协议的 VPN通信方式。
L2F需要 ISP支持,并且要求两端传输设备都支持 L2F,
而对客户端无特殊要求。
8.4.2 VPN使用的隧道协议 ( 续 )
3,第 2层隧道协议 L2TP
第二层隧道协议 L2TP( Layer2 Tunneling
Protocol)是 Cisco,Ascend,Microsoft 和
RedBack公司的专家们在修改了十几个版本后,于
1999年 8月公布的标准,标号为 RFC2661。 L2TP可以
使用 IPSec机制进行身份验证和数据加密。通常将 L2TP
和 IPSec结合起来使用。 L2TP作为隧道协议,提供隧道
的建立或封装,以及第二层验证; IPSec对 L2TP隧道进
行加密,提供对会话的安全保证。
8.4.2 VPN使用的隧道协议 ( 续 )
L2TP与 PPTP的比较
L2TP结合了 L2F和 PPTP 的优点。隧道的建立有
两种方式,用户初始化隧道 和 网络接入服务 NAS
( Network Access Server)初始化隧道。前者一
般指“主动”隧道,后者指“强制”隧道。“主动”
隧道是用户为某种特定请求建立的,而“强制”隧道
则是在没有任何来自用户的动作以及选择的情况下系
统自动建立的。
8.4.2 VPN使用的隧道协议 ( 续 )
L2TP作为“强制”隧道模型是让拨号用户与网络中
的另一点建立连接的重要机制。而 PPTP则是“主动”隧
道模型,它允许终端系统进行配置,与任意位置的 PPTP
服务器建立一条点到点的隧道,在协商和隧道建立过程中
没有中间媒介 NAS的参与,在这里 NAS的作用只是提供网
络服务。
L2TP比 PPTP提供的安全性高, 因为在这种环境中接
入服务器能够确定用户是从哪里来的 。 L2TP用于比较集
中的, 固定的 VPN用户, 而 PPTP适合移动用户 。 在 VPN
的实现中采用 L2TP还是 PPTP,取决于要把控制权放在
NAS还是用户手中 。
8.4.2 VPN使用的隧道协议 ( 续 )
4,通用路由协议封装 GRE
通用路由协议封装 GRE( generic routing
encapsulation)是由 Net-smiths和 Cisco公司于 1994年
提交给 IETF的,标号为 RFC1701和 RFC1702 。 GRE是一
种基于 IP的隧道技术,规定了怎样用一种网络层协议去封
装另一种网络层协议的方法。它可被用来在基于 IP的骨干
网上传输 IP,IPX,AppleTalk等多种协议的数据流量。同
时,GRE还可被用来在 Internet网络上通过隧道传输广播
和组播信息,如 RIP,OSPF,IGRP,EIGRP等路由更新
信息。
8.4.2 VPN使用的隧道协议 ( 续 )
GRE只提供了数据包的封装, 没有加密功能来防止
网络侦听和攻击 。 通常将 GRE和 IPSec结合起来使用 。
GRE作为隧道协议, 而 IPSec提供用户数据的加密, 从
而提供更好的安全性 。
GRE作为 VPN机制的缺点是管理费用高。由于 GRE
需要手工配置,所以配置和维护隧道所需的费用和隧道
的数量是直接相关的,每次隧道的终点改变,隧道都要
重新被配置。尽管隧道也可以自动配置,但如果不能考
虑相关路由信息,就容易形成回路,回路一旦形成,会
极大地恶化路由的效率。
8.4.2 VPN使用的隧道协议 ( 续 )
5,IP安全协议 IPSec
IPSec把多种安全技术集合到一起, 可以建立一个安全,
可靠的隧道, 同时还有一整套保证用户数据安全的措施,
利用它建立起来的隧道更具有安全性和可靠性 。 IPSec
还可以和 L2TP,GRE等其他隧道协议一同使用, 给用户
提供更大的灵活性和可靠性 。 此外, IPSec可以运行于
网络的任意一部分, 它可以运行在路由器和防火墙之间,
路由器和路由器之间, PC机和服务器之间, PC机和拨号
访问设备之间 。 IPSec经过 IETF数年的完善, 现在已经
成为主流 VPN选择的必备协议 。
8.4.2 VPN使用的隧道协议 ( 续 )
6,多协议标记交换 MPLS
多协议标记交换 MPLS( Multi protocol Label
Switching)由 Cisco,Force10 Networks和 Juniper
Networks等公司于 2001年 1月提交给 IETF,其标号分别
为 RFC3031和 RFC3032 。 MPLS技术是与 IPSec互补的
VPN标准。 IETFIPSec工作组(属于 Security
Area部分)的工作主要涉及网络层的保护,所以该组设计
了加密安全机制以便灵活地支持认证、完整性、访问控制
和系统加密;而 IETFMPLS工作组(属于 Routing Area部
分)则从另一方面着手开发了支持高层资源预留,QoS和
主机行为定义的机制。
8.4.2 VPN使用的隧道协议 ( 续 )
当 IP数据包进入网络核心时, 边界路由器给它分配
一个标记 。 自此, MPLS设备就会自始至终查看这些标记
信息, 将这些有标记的包交换至其目的地 。 由于路由处理
减少, 网络的等待时间也就随之缩短, 而可伸缩性却有所
增加 。 MPLS数据包的服务质量类型可以由 MPLS边界路
由器根据 IP包的各种参数来确定, 这些参数可以是 IP的源
地址, 目的地址, 端口号, TOS值等 。 同时, 通过对特殊
路由的管理, 还能有效地解决网络的负载均衡和拥塞问题 。
当网络出现拥塞时, MPLS可实时建立新的转发路由来分
散流量以缓解网络拥塞 。
8.4.3 VPN采用的技术
实现 VPN的技术基础是 隧道技术, 数据加密 和 身份
验证 。 隧道技术使得各种内部数据包可以通过公网进行
传输;数据加密用于加密隐蔽传输信息 ( 见第 2章 ) ;
身份验证用来鉴别用户的身份 ( 见第 3章 ) ;数据认证
用来防止数据被篡改, 同时 QoS技术对 VPN的实现也至
关重要 。
8.4.3 VPN采用的技术 ( 续 )
1,隧道技术
在 VPN中,原始数据包在 A地进行封装,到达 B地
后将封装去掉还原成原始数据包,这样就形成了一条
由 A到 B的通信隧道。隧道技术包含数据包的封装、传
输和拆封在内的全过程。在这里隧道代替了实实在在
的专用线路。对于不同的信息来源,可以分别给它们
开出不同的隧道。
8.4.3 VPN采用的技术 ( 续 )
隧道就好比是在广域网云海中拉出的一根串行通信电缆,
如图 8.21所示 。 于是, 兼容性问题, 不同的服务质量要求, 以
及其它的麻烦都迎刃而解 。
Internet
图 8.21 VPN隧道
在隧道技术中入口地址用的是普通主机网络的地址空
间, 而在隧道中流动的数据包用的是 VPN的地址空间, 这
就要求隧道的终点必须配置成 VPN与普通主机网络之间的
交界点 。 这种方法的好处是能够使 VPN的路由信息从普通
主机网络的路由信息中隔离出来, 多个 VPN可以重复利用
同一个地址空间而不会有冲突 。 隧道也能封装数量众多的
协议族 。 用同一种格式可以支持多种协议同时又保留协议
的功能 。 IP路由过滤的主机网络不能提供这种服务, 而只
有隧道技术才能把 VPN私有协议从主机网络中隔离开来 。
8.4.3 VPN采用的技术 ( 续 )
8.4.3 VPN采用的技术 ( 续 )
2,数据加密
数据加密技术是实现网络安全的最有效的技术之一,
已经成为所有数据通信安全的基石 。 在多数情况下, 数
据加密是保证信息机密性的唯一方法 。 一个加密网络,
不但可以防止非授权用户的搭线窃听和入网, 而且也是
对付恶意软件的有效方法, 这使得它能以较小的代价提
供很强的安全保护 。
8.4.3 VPN采用的技术 ( 续 )
3,身份认证
身份认证用于保证系统中的数据只能被有权限的
,人, 访问,未经授权的, 人, 无法访问数据。如果没
有有效的身份认证手段,访问者的身份就很容易被伪造,
使得任何安全防范体系都形同虚设。
4,数据认证
数据认证用来防止数据被篡改。比如数据发送端使用
MD5算法计算数据包特征,并将特征码附在数据包后面。
当数据包到达目的,被还原以后,目的主机也要使用 MD5
算法进行计算,并要与发送端计算的该字段值比较,看
看是否匹配。通过这种方法可以证明数据在传输过程中
是否被篡改。
8.4.3 VPN采用的技术 ( 续 )
5,QoS技术
通过隧道技术和加密技术, 能够建立起一个具有安全性,
互操作性的 VPN。 但是如果该 VPN的性能不稳定, 将不能
满足用户的要求, 这就需要加入 QoS技术 。 通过 QoS机制
对用户的网络资源分配进行控制, 以达到满足应用的需求 。
不同的应用对网络通信有不同的要求, 这些要求可用如下
参数给予体现:
· 带宽:网络提供给用户的传输率;
· 反应时间:用户能够容忍的数据包传输延时;
· 抖动:延时的变化;
· 丢失率:数据包丢失的比率 。
8.4.3 VPN采用的技术 ( 续 )
6,网络访问控制技术
网络访问控制技术对出入 Internet的数据包进行过滤,
是传统防火墙 的功能 。 由于防火墙和 VPN均处于
Internet出口处, 在网络中的位置基本相同, 而其功能
具有很强的互补性, 因此一个完整的 VPN产品应同时提
供完善的网络访问控制功能, 这可以在系统的性能, 安
全性以及统一管理上带来一系列的好处 。
8.4.4 VPN的实施
1,三种实现方法
与防火墙一样,VPN也可以分为 软件 VPN,硬件 VPN
和 专用 VPN之分:
1)软件 VPN:通常要比硬件 VPN系统便宜,它们对于
快速增长的网络提供了更好的扩展性。这类产品能够
让移动用户、远程用户从任何位置拨号访问企业网的
私有数据。
8.4.4 VPN的实施 ( 续 )
2)硬件 VPN:已被配置使用 IPSec或者其它协议的路由器,
或者 VPN器件。 VPN器件是被专门设计安装在 VPN边界上,
为了将多个 VPN连接起来。 VPN器件可以允许大量用户或
者多个网络之间建立连接,但它们却不提供文件和打印等
其它服务。使用硬件 VPN可以连接到更多的隧道和用户。
3)专用 VPN:提供全系列的网关硬件、客户端软件、以及专
门的管理软件。硬件网关放置在网络的出口,可以实现
LAN-to-LAN的 VPN组网。客户端软件一般是为单机客户
和移动用户使用,如果客户端软件能够支持网关功能(相
当于软网关),还可以作为硬件网关的备份。
8.4.4 VPN的实施 ( 续 )
2,三种解决方案
按照隧道是如何建立和终止来划分,VPN有三种解决
方案,远程访问虚拟网 ( Access VPN),企业内部虚
拟网 ( Intranet VPN)和企业扩展虚拟网( Extranet
VPN),它们分别与传统的远程访问网络,Intranet和
Extranet相对应。
1) Access VPN:如果企业的内部人员移动或有远程办公
需要, 或者商家要提供 B2C的安全访问服务, 就可以考
虑使用 Access VPN。 Access VPN能使用户随时, 随地
以其所需的方式访问企业资源 。 Access VPN包括模拟,
拨号, ISDN,xDSL,移动等技术 。 一般通过 L2TP和
PPTP来加以解决 。
8.4.4 VPN的实施 ( 续 )
2) Intranet VPN:越来越多的企业需要在全国乃至世
界范围内建立各种办事机构、分公司、研究所等。利用
VPN特性可以在 Internet上组建世界范围内的 Intranet
VPN。该网络拥有与专用网络的相同政策,包括安全、
QoS、可管理性和可靠性。在该模式中,最常见的隧道
协议有 IPSec,MSLP和 L2TP。
3) Extranet VPN:利用 VPN技术将客户, 供应商, 合
作伙伴或兴趣群体连接到企业内部网 。 该网络拥有与专
用网络的相同政策, 包括安全, QoS,可管理性和可靠
性 。 在该模式中, 最常见的隧道协议有 IPSec,MSLP
和 L2TP。
8.4.4 VPN的实施 ( 续 )
3,三种连接方式
1)站点到站点,site-to-site VPN,将两个或者更多的
网络连接起来。
2)客户机到站点,client-to-site VPN,将远程拨号用
户与网络连接起来。
3)混合连接:将 site-to-site与 client-to-site结合,许
多大公司既使用 site-to-site VPN将公司总部和分支机
构连接,也使用 client-to-site VPN提供到总部的拨号
接入。
8.4.4 VPN的实施 ( 续 )
4,三种配置方式
1) mesh 配置:每个参与者(网络、路由器或计算机)
相互之间均保持一个 SA。图 8.22是由 4个局域网组成的
VPN,它们均能够相互建立 VPN通信。
VPN/防火墙 VPN/防火墙
VPN/防火墙 VPN/防火墙
图 8.22 mesh VPN配置
8.4.4 VPN的实施 ( 续 )
2) hub-and-spoke配置:中央 VPN路由器包含了 VPN中的
所有 SA。任何新加入的局域网或者主机只需要连接到中
央 VPN路由器即可,而不必连接到 VPN中的每台主机。在图
8.23,中央 VPN路由器位于公司总部,所有数据流都要经
过总部 。
图 8.23 hub-and-spoke VPN 配置
VPN/防火墙
VPN/防火墙
中央 VPN/防火墙
VPN/防火墙 VPN/防火墙
8.4.4 VPN的实施 ( 续 )
3)混合配置:在一个 VPN网络中,既采用 mesh也采用
hub-and-spoke,它结合了 mesh 配置的速度和 hub-
and-spoke配置的扩展性。 mesh 配置用于连接重要的
分支机构到公司总部,而不重要的部门,比如远程的海
外分部则连接到总部的 spoke端。
8.4.4 VPN的实施 ( 续 )
5,VPN的执行
VPN使分布 在不同地方的 专用网络 在不可信任的公
共 网络 上安全 通信, 它的执行如下;
1) VPN设备根据网管设置的规则, 确定 是否 需要对数据包
进行 加密或 直接通过;
2) 对需要 加密的 数据, VPN设备对整个数据包进行加密并
附上数字签名;
3) VPN设备给数据包加上 新的 包头, 其中包括目的地 VPN设
备需要 的安全 信息 和一些初始化 参数 ;
8.4.4 VPN的实施 ( 续 )
4) VPN设备对 加密 后的数据包以及 源 IP地址、
目的 VPN设备 IP地址进行重新 封裝,重新封裝
后的数据包通过隧道 在 网 上 传输;
5)当数据包到达目的 VPN设备時被拆封,并被
检查。如果数字签名准确无误,就对它进行解密。
6) VPN设备根据数据包的原始目的 IP地址,将
该数据包转发给目的主机。
本章知识点小结
1,IPSec是一组开放的安全协议集, 它们协同工作, 为网络提供
了一个端到端的安全解决方案 。
2,IPSec具有两种工作模式:传输模式和隧道模式 。
3,IPSec策略的核心由三部分组成,SA,SAD和 SPD。 SA表示了
策略实施的具体细节; SAD 为处理进入和外出的数据包维持一
个活动的 SA 列表; SPD 为 IPSec的实现提供安全策略配置 。
4,IPSec提供了两种安全机制:认证和加密 。 其中 AH提供数据完
整性服务和认证服务, 但不提供保密服务 。 ESP除了能提供 AH
所能提供的一切服务外, 还可以通过加密来提供数据包保密的服
务 。 IKE用来管理 IPSec所用加密密钥的产生及处理 。
本章知识点小结 ( 续 )
5,IKE包括两个阶段,阶段 1创建安全通道 IKE SA,阶段 2建
立 IPSec SA。
6,SSL最初用来实现 Web客户端和服务器之间 HTTP协议的
安全性,是浏览器使用者和网页服务器之间进行加密通讯
的全球化标准。同时 FTP和 SMTP等应用层也在 SSL的保护
范围。
7.SSL由多个协议组成,采用两层结构。前者负责通信前的
参数协商,后者定义 SSL的内部数据格式。
8.SSH使用公开发行的强加密工具来确保网络连接的私密性、
完整性和相互认证。 SSH-1尽管有缺陷,但它是免费的,
应用十分广泛。 SSH-2修正了 SSH-1的一些问题,但是由
于许可证的限制,使用有限。 OpenSSH同时支持 SSH-1和
SSH-2。
本章知识点小结 ( 续 )
10,SSH可以支持安全远程登录、安全远程命令执行、安全
文件传输、访问控制,TCP\IP端口转发等。
11.VPN基本概念
VPN的主要目标是建立一种灵活, 低成本, 可扩展的网
络互连手段, 以代替传统的长途专线连接和远程拨号连接,
同时 VPN也是一种实现企业内部网安全隔离的有效方法 。
VPN适用于站点多,站点之间距离远,带宽和时延要求
不是很高的环境。不适用于网络性能被放在第一位,采用
不常见的协议,实时通信应用多的环境。
本章知识点小结 ( 续 )
12,VPN隧道协议
1)PTP:在 PPP的基础上开发的点对点隧道协议,适用于拨号
用户;
2)L2F:第二层转发协议,主要用于路由器和拨号访问服务
器。
3)L2TP:第二层隧道协议,主要用于路由器和拨号访问服务
器。
4)GRE:通用路由协议封装,用在路由器中,适合语音和视
频方面的应用。
5)IPSec:把多种安全技术集合到一起,可以建立一个安全、
可靠的隧道,同时还有一整套保证用户数据安全的措施,还可
以和 L2TP,GRE等一同使用。
6)MPLS:多协议标记交换,在网络路由和交换设备上使用,可
以简化核心路由器的路由选择方式 。
本章知识点小结 ( 续 )
13,VPN的技术基础是隧道协议、数据加密、身份
认证和数据认证。
1)隧道技术使得各种内部数据包可以通过公网进
行传输;
2) 数据加密用于加密隐蔽传输信息;
3)身份认证用来鉴别用户的身份;
4)数据认证用来防止数据被篡改。
本章知识点小结 ( 续 )
14,VPN的实施
1)三种实现方法:软件 VPN、硬件 VPN和专用 VPN。
2)三种解决方案,Access VPN,Intranet VPN 和
Extranet VPN。
3)三种连接方式,site-to-site VPN,client-to-site
VPN和混合连接。
4)三种配置方式,mesh 配置,hub-and-spoke配置和混
合配置。