《数据通信与网络》笔记--IPSec

1.IP层的安全:IPSec

IP层安全(IP security,IPsec)是由因特网工程任务组(IETF)设计用来为IP层的分组提供安全的一组协议。IPsec帮助

生成经过鉴别的与安全的IP层的分组,如下图:



1.1.两种方式

IPSec以2种不同的方式运行,传输方式和隧道方式,如下图所示:

                                                                    传输方式

在传输方式(transport mode)下,IPsec保护传输层到网络层传递的内容,换言之,传输方式保护网路层的有效载荷,在网络层

中封装有效载荷。

传输方式通常用于主机到主机的数据保护,发送主机使用IPsec鉴别和/或加密来自传输层的有效载荷。接受主机使用IPSec检验鉴别
和/或解密IP分组并将它传递给传输层。



                                                                    隧道方式
在隧道方式(tunnel mode)下,IPsec保护整个IP分组,包括头部,将IPsec加密方法用与整个分组,然后增加一个新的头部。隧道
方式通常用于两个路由器之间,或者一个主机与一个路由器之间以及一个路由器与一个主机之间。换言之,当发送放或者接收方不是主机
时,我们使用隧道方式,对来自发送方与接收方之间的侵入提供真个原始分组保护。它好像整个分组通过假想的隧道进行传输。

1.2.两种安全协议

IPSec定义了两种 安全协议,鉴别头部(AH)协议和封装安全载荷(ESP)协议,在IP层提供鉴别和/或加密。

1.2.1.鉴别头部协议
鉴别头部协议(Authenticatin Header Protocol)用于鉴别源端主机以确保IP分组所携带载荷的完整性。协议使用散列函数和一个
对称秘钥生成报文摘要,并将摘要插入鉴别头部中。根据其运行方式(传输方式或隧道方式),将AH插入到相应的位置。下图表示了
在传输方式下各个字段以及鉴别头部的位置。

当由IP数据报携带鉴别头部时,IP头部中协议字段的初始值就替换为值51。在鉴别头部内的一个字段(写一个头部字段)规定了协

议字段的初始值(由IP数据报携带的有效载荷类型)。加入鉴别头部的步骤如下:

a.     鉴别头部加入到有效载荷中,将鉴别数据字段的值置为0.

b.     散列处理是根据总的分组计算的。但是,IP头部中只有在传输过程中不发生改变的那些字段才包含在报文摘要(鉴别数据)的

计算过程中。

c.     将鉴别数据加入到鉴别头部中协议字段的值改为51,将IP头部加入。


1.2.2.封装安全载荷
AH协议并不提供保密性,只提供源端鉴别和数据的完整性。IPSec后来定义了一个可选的称为封装安全载荷
(Encapsulating Security Payload, ESP)的协议,它提供源端鉴定,完整性以及保密性。ESP增加了一个头部和一个尾部。注意,
ESP的鉴别数据加载分组的末端。这样使计算更容易。下图表示了ESP的头部和尾部的位置。



当IP数据报携带ESP的头部和尾部时,IP头部中协议字段的值更改为50。在ESP尾部内有一个字段(下一个头部字段)保留着协议字段的初始值

(IP数据报所携带的载荷类型,比如TCP或UDP)。ESP过程遵循下列步骤:

a.  对ESP尾部加入到有效载荷中。

b.  对有效载荷和尾部进行加密。

c.  加入ESP头部。

d.  使用ESP头部,有效载荷以及ESP尾部生成鉴别数据。

e.  将鉴别数据加入到ESP尾部的末尾。

f.  将协议值改为50后,在加入到IP头部。


1.2.3.AH和ESP
ESP协议是在AH协议已经使用后设计的,ESP除了能做AH能做的任何事情外,还能提供额外的功能(保密性),问题是,为什么我们需要
AH,答案是我们并不需要,但是AH的实施已经包含在一些商业产品中,这就是说AH将仍然是因特网的一部分,直至这些产品被淘汰。

1.2.4.IPSec提供的服务

AH和ESP两个协议可在网路层对分组提供几种安全服务。

访问控制:IPSec通过安全关联数据库(SADB)简介地提供访问控制,当一个分组到达目的端时,如果还没有为该分组建立安全关联,那么就

丢弃该分组。

报文鉴别:AH和ESP两者通过使用鉴别数据提供报文的完整性。生成一个数据摘要,该摘要由发送方发给接收方,由接收方进行检验。

实体鉴别:在AH和ESP中,用发送方发送的安全关联和秘钥散列数据摘要鉴别数据的发送方。

保密性:在ESP中报文加密提供保密性,但是AH没有提供保密性。如果需要保密性,我们应该用ESP而不是AH。

避免重放攻击:在两个协议中,用序列号和一个滑动窗口防止重放攻击(reply  attack)。当建立安全关联时,每个IPSec头部都有一个
唯一的序列号,序列号从0开始增加直到2^32-1,当序列号到达最大值时,他复位为0,同时删除旧的安全关联并建立新的安全关联。为
了防止处理重复的分组,IPSec要求接收方使用固定大小的窗口。接收方固定窗口大小的默认值是64。

1.3.安全关联

IPSec需要使用一个称为安全关联(security Association,SA)机制建立一组安全参数。
因为我们已知IP是一个无连接的协议,每个数据报彼此独立,对这种类型的通信,IPSec使用下面的方法建立安全关联:
当发送方第一次有一个数据报要按发送给某一特定的接收方是,在发送方与该特定的的接收方之间建立一组安全参数,该组安全参数
可保存用作以后向同一个接收方发送IP分组传输。
一个简单入和出安全关联例子如下:
当Alice需要向Bob发送数据报时,他使用IPSec的ESP协议,用密钥为x的SHA-1执行鉴别,而用密钥为y的DES执行解密,
当Bob需要向Alice发送数据报时,他使用IPSec的AH协议,用密钥为z的MD5执行鉴别。

安全关联数据库(SADB)
安全关联数据库可以是很复杂的。如果Alice要发送多份报文给多个人,Bob需要接收来自多个人的报文时,情况就相当复杂。
另外每一方都需要有人关联和出关联才能允许双向通信。换言之,我们要有一组关联,他被聚合成一个数据库,这个数据库称为
安全关联数据库(security association database,SADB)。

1.4.因特网密钥交换(IKE)

现在我们来解决最后的部分,如何创建SADB。因特网密钥交换(Internet key exchange,IKE)是用于建立SADB中入关联于

出关联的一个协议。

IKE是在其他三个协议(Oakley,SKEME和ISAKMP)之上的一个更复杂的协议。如下图所示:

Oakley协议时由Hilarieorman开发的一个协议,他是在Diffie-Hellman密钥交换方法基础上的一个密钥生成协议,但做了一些改进,

Oakley是一个无格式的协议,就是说没有规定交换的报文格式。

SKEME是有HugoKrawcyzk设计的,它是另一个密钥交换协议,它使用公钥密码和密钥交换作为实体鉴别。

因特网安全关联和密钥管理协议(Internet SecurityAssociation and Key Management Protocol, ISAKMP)是由国家安全机构(NSA)

设计的协议,它具有实现IKE定义的交换。在生成标准化的和格式化的保温过程中,它允许IKE交换的多个分组,协议以及参数,从而生成安

全关联。


2.虚拟专用网(VPN)

虚拟专用网(virtual private network,VPN)是一个在大型公司中获得广泛应用的技术,为了实现公司内部和公司之间的通信,
他们使用因特网,但在内部通信中又必须进行保密,VPN,是将IPSec协议用到IP数据报的安全性上。
VPN技术在隧道方式下使用IPSec来提供鉴别,完整性以及保密性。
隧道方式:组织机构中每个专用的IP数据报都封装到另一个数据报中。为了在隧道技术中使用IPSec,VPN需要使用两种寻址方式,如图:

公共网络(因特网)负责将分组从R1传送到R2,外部人员无法解密分组的内容,也不能解密源地址和目的地址,解密过程发生在R2,
它找到分组的目的地址并转发该分组。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值