安全协议——Internet安全协议(Internet Protocol Security,IPSec)工作原理

栏目: 后端 · 发布时间: 5年前

内容简介:IPSec的使用是建立在安全关联的基础上的,所以在讲IPSec之前要先了解一下安全关联,然后再详细讲述IPSec的工作过程。安全关联的定义:为了实现数据发送者至接收者的安全传输,需要建立发送者与接收者之间的关联,可以实现源端鉴别、数据加密和完整性检测。安全关联是单向的,用于确定发送者至接收者传输方向的安全传输过程所使用的加密算法和加密密钥、消息鉴别码算法和MAC密钥。如果某对发送者和接收者之间需要安全传输数据,必须先建立发送者至接收者的安全关联。安全关联有相应的标识符;由于同一对发送者和接收者之间可以建立多

IPSec的使用是建立在安全关联的基础上的,所以在讲IPSec之前要先了解一下安全关联,然后再详细讲述IPSec的工作过程。

一、安全关联

安全关联的定义:为了实现数据发送者至接收者的安全传输,需要建立发送者与接收者之间的关联,可以实现源端鉴别、数据加密和完整性检测。

安全关联是单向的,用于确定发送者至接收者传输方向的安全传输过程所使用的加密算法和加密密钥、消息鉴别码算法和MAC密钥。如果某对发送者和接收者之间需要安全传输数据,必须先建立发送者至接收者的安全关联。安全关联有相应的标识符;由于同一对发送者和接收者之间可以建立多个安全关联,所以发送者需要通过定义安全策略数据库(SPD)来判别数据传输所使用的安全策略。

安全关联标识符:安全参数索引(SPI)、目的IP地址、安全协议标识符。

IPSec协议模式目前定义了传输模式和隧道模式两种。

传输模式用于保证数据端到端安全传输,并对数据源进行鉴别,IPSec所保护的数据就是作为IP分组净荷的上层协议数据。

隧道模式下源端和目的端的内部网络被一个公共网络分隔,由于内部网络使用的是本地IP地址,所以以本地源目的地址的IP分组不能直接在Internet中传输,这种情况下会将整个IP分组作为净荷分装在以全球IP地址为源目的地址的IP分组中。

IPSec安全目标:在网际层实现IP分组端到端安全传输,整个传输过程需要保证防止重放攻击、实现源端鉴别、数据加密、完整性检测。

主要要素:AH(实现源端鉴别、防重放攻击、检测完整性)、ESP(实现源端鉴别、防重放攻击、检测完整性、数据加密)、IKE(实现密钥交换)

鉴别首部(AH)格式:下一个首部、鉴别首部长度、安全参数索引(SPI)、序号(用于防重放攻击)、鉴别数据(用于鉴别源端身份和实现数据完整性检测)

二、安全机制:

2.1 防止重放攻击:

新建立源端至目的端的安全关联时,序号初始值为0,源端在发送AH或者ESP报文时,先将序号增加1并将该序号作为报文的序号字段值。在安全寿命内,不允许出现相同的序号,只要目的端接收到相同序号的报文,就予以丢弃。 由于AH报文或者ESP报文经过网络传输后不是按序到达目的端,所以通过防重放攻击窗口定义了一个正常的延时抖动范围:假定防重放攻击窗口值为W,目的端正确接收到AH或ESP报文中最大序号为N,则序号值为N-W+1~N的AH或者ESP报文传输时延虽然大于序号为N的AH或者ESP报文,但是时延在正常范围内,目的端正常接收这些报文。如果某个AH或者ESP报文传输时延和其他AH或者ESP报文传输时延插值超过这个正常时延抖动范围,就可以认为该AH或ESP报文被黑客延迟了一段时间。

2.2 AH:

IP分组封装成AH报文可以选择传输模式或者隧道模式:

安全协议——Internet安全协议(Internet Protocol Security,IPSec)工作原理

安全协议——Internet安全协议(Internet Protocol Security,IPSec)工作原理

计算鉴别数据时覆盖AH报文下述字段:

1.IP首部(隧道模式下是外层IP首部)中传输过程中不需要改变的字段值。

2.AH中除鉴别数据外的其他字段值。

3.AH报文中的净荷,如果是隧道模式,净荷是包含内层IP首部的整个IP分组。

下面用一个AH应用实例了解AH的工作过程,终端A与Web服务器之间建立终端A至Web服务器的安全关联,相关信息在图中已经给出!

安全协议——Internet安全协议(Internet Protocol Security,IPSec)工作原理

安全协议——Internet安全协议(Internet Protocol Security,IPSec)工作原理

安全协议——Internet安全协议(Internet Protocol Security,IPSec)工作原理

发送端终端A的操作:终端A将通过HTTP访问Web服务器相关的IP分组封装成AH报文,同时采用约定的MAC算法HMAC-MD5-96和MAC密钥7654321计算鉴别数据,然后将AH报文和鉴别数据一起发送给Web服务器。

接收端服务器的操作:Web服务器接收到终端A发送的AH报文之后,根据安全关联标识符找到对应的安全关联,然后重新对AH报文用HMAC-MD5-96算法和MAC密钥计算鉴别数据,将计算结果和AH报文懈怠的鉴别数据进行对比,如果两者相同,则通过源端鉴别和数据完整性检测。

2.2 ESP:

IP分组封装成ESP报文同样可以选择传输模式或者隧道模式。

安全协议——Internet安全协议(Internet Protocol Security,IPSec)工作原理

安全协议——Internet安全协议(Internet Protocol Security,IPSec)工作原理

ESP尾部包含填充数据、8bit的填充长度字段和8bit的下一个首部。填充长度字段值以字节为单位给出填充数据长度、下一个首部字段给出净荷的协议类型;填充数据有三个作用:

1.为了保证对净荷+尾部进行加密运算时其数据长度是加密算法要求数据长度的整数倍,

2.净荷+ESP尾部必须是32bit的整数倍,

3.隐藏实际净荷有利于数据传输的安全性。

计算鉴别数据的时候覆盖ESP报文的字段包含ESP首部+净荷+ESP尾部,并不包括外层IP首部中不变字段。

ESP加密运算时覆盖的字段是净荷(隧道模式下是包括内层IP首部在内的整个IP分组)+ESP尾部。

ESP的工作过程和AH类似。

2.3 IKE:

建立安全关联的机制有两种,第一种是静态安全关联建立机制,第二种是动态安全关联建立机制。Internet密钥交换协议(Internet Key Exchange Protocol,IKE)就是一种动态建立安全关联并完成参数协商的协议。

IKE动态建立安全关联可以分为两个阶段,第一个阶段是建立安全传输通道,也成为建立IKE安全关联过程,该过程需要约定加密算法和MAC算法、加密密钥和MAC密钥,因为在建立安全传输通道之前,需要相互鉴别对方身份,所以还要约定鉴别方式;

第二个阶段是建立安全关联,也叫建立IPSec安全关联过程,该过程需要约定安全协议AH、MAC算法HMAC-MD5-96和MAC密钥。

安全协议——Internet安全协议(Internet Protocol Security,IPSec)工作原理

终端A想Web服务器B发送的信息包含加密算法DES、报文摘要算法MD5、用于生成密钥种子KS的YA(YA=ɑ^XA mod p,其中XA是随机数、ɑ和p是组号为2的Diffie-Hellman参数指定的值)和随机数NA。

服务器B发送给A的消息和A发给B的类似,但是如果双方约定的是证书+私钥的身份鉴别机制,Web服务器还要向终端A发送证书请求。

终端A和Web服务器根据YB和YA生成相同的密钥种子KS,根据密钥种子KS和随机数NA和NB计算所有需要的密钥。

建立安全传输通道之后,终端A向Web服务器发送IPSec安全关联指定的安全协议AH和MAC算法HMAC-MD5,还有终端A和Web服务器的标识符IDA和IDB,以及用于证明终端A的公钥是PKA的证书,证书请求、数字签名D_SKA(MD5(DES||MD5||YA||NA||IDA))。

Web服务器通过终端A发送的数字签名验证其身份,确认终端A发送消息的完整性之后,向终端A发送:IPSec安全关联指定的安全协议AH和MAC算法HMAC-MD5,Web服务器的SPI、终端A和服务器的标识符IDA和IDB,以及用于证明Web服务器的公钥是PKB的证书、数字签名D_SKB。

数字签名的两个验证作用:

  1. 验证对方发过来的消息是否受到中间人攻击;

  2. 验证消息发送方的身份。

发送端启动IKE的过程如下:

安全协议——Internet安全协议(Internet Protocol Security,IPSec)工作原理

当发送端需要输出某个IP分组时,用该IP分组检索安全策略数据库(SPD),每一条安全策略包含IP分组分类依据和对该类IP分组实施的动作两部分,根据匹配到的安全策略指定的动作处理该IP分组。

完(1978作品)


以上所述就是小编给大家介绍的《安全协议——Internet安全协议(Internet Protocol Security,IPSec)工作原理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

金融计算与建模

金融计算与建模

朱世武 / 清华大学 / 2007-8 / 40.00元

《金融计算与建模:理论、算法与SAS程序》全书分为4大模块:1-9章为金融学基础指标计算模块;10-12章为股票定价模块;13-18章为风险度量模块;19-23章为固定收益定价模块。每一模块的内容一般由三部分组成:金融理论与模型、算法实现及计算程序。其中,算法实现与计算程序全部以中国金融市场的实际问题为应用背景而设计。《金融计算与建模:理论、算法与SAS程序》不仅展现了应用SAS软件的技术,同时也......一起来看看 《金融计算与建模》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具