123
返回列表 发新帖
楼主: keaide

IPSec基础

[复制链接]
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
21#
 楼主| 发表于 2006-7-29 20:33 | 只看该作者
三、第二阶段SA(快速模式SA,为数据传输而建立的安全关联)

  这一阶段协商建立IPsec SA,为数据交换提供IPSec服务。第二阶段协商消息受第一阶段SA保护,任何没有第一阶段SA保护的消息将被拒收。

  第二阶段协商(快速模式协商)步骤:

  1.策略协商,双方交换保护需求:

  ·使用哪种IPSec协议:AH或ESP
  ·使用哪种hash算法:MD5或SHA
  ·是否要求加密,若是,选择加密算法:3DES或DES 在上述三方面达成一致后,将建立起两个SA,分别用于入站和出站通信。

  2.会话密钥"材料"刷新或交换

  在这一步中,将生成加密IP数据包的"会话密钥"。生成"会话密钥"所使用的"材料"可以和生成第一阶段SA中"主密钥"的相同,也可以不同。如果不做特殊要求,只需要刷新"材料"后,生成新密钥即可。若要求使用不同的"材料",则在密钥生成之前,首先进行第二轮的DH交换。

  3.SA和密钥连同SPI,递交给IPSec驱动程序。

  第二阶段协商过程与第一阶段协商过程类似,不同之处在于:在第二阶段中,如果响应超时,则自动尝试重新进行第一阶段SA协商。

  第一阶段SA建立起安全通信信道后保存在高速缓存中,在此基础上可以建立多个第二阶段SA协商,从而提高整个建立SA过程的速度。只要第一阶段SA不超时,就不必重复第一阶段的协商和认证。允许建立的第二阶段SA的个数由IPSec策略属性决定。

  四、SA生命期

  第一阶段SA有一个缺省有效时间,如果SA超时,或"主密钥"和"会话密钥"中任何一个生命期时间到,都要向对方发送第一阶段SA删除消息,通知对方第一阶段SA已经过期。之后需要重新进行SA协商。第二阶段SA的有效时间由IPSec驱动程序决定。

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
22#
 楼主| 发表于 2006-7-29 20:33 | 只看该作者
 密钥保护

  一、密钥生命期

  生命期设置决定何时生成新密钥。在一定的时间间隔内重新生成新密钥的过程称为"动态密钥更新"或"密钥重新生成"。密钥生命期设置决定了在特定的时间间隔之后,将强制生成新密钥。例如,假设一次通信需要1万秒,而我们设定密钥生命期为1千秒,则在整个数据传输期间将生成10个密钥。在一次通信中使用多个密钥保证了即使攻击者截取了单个通信密钥,也不会危及全部通信安全。密钥生命期有一个缺省值,但"主密钥"和"会话密钥"生命期都可以通过配置修改。无论是哪种密钥生命期时间到,都要重新进行SA协商。单个密钥所能处理的最大数据量不允许超过100兆。

  二、会话密钥更新限制

  反复地从同一个的"主密钥"生成材料去生成新的"会话密钥"很可能会造成密钥泄密。"会话密钥更新限制"功能可以有效地减少泄密的可能性。 例如,两台主机建立安全关联后,A先向B发送某条消息,间隔数分钟后再向B发送另一条消息。由于新的SA刚建立不久,因此两条消息所用的加密密钥很可能是用同一"材料"生成的。如果想限制某密钥"材料"重用次数,可以设定"会话密钥更新限制"。譬如,设定"会话密钥更新限制"为5,意味着同一"材料"最多只能生成5个"会话密钥"。

  若启用"主密钥精确转发保密(PFS)",则"会话密钥更新限制"将被忽略,因为PFS 每次都强制使用新"材料"重新生成密钥。将"会话密钥更新限制"设定为1和启用PFS效果是一样的。如果既设定了"主密钥"生命期,又设定了"会话密钥更新限制",那么无论哪个限制条件先满足,都引发新一轮SA协商。在缺省情况下,IPSec不设定"会话密钥更新限制"。

  三、Diffie-Hellman(DH)组

  DH组决定DH交换中密钥生成"材料"的长度。密钥的牢固性部分决定于DH组的强度。IKE共定义了5个DH组,组1(低)定义的密钥"材料"长度为768位;组2(中)长度为1024位。密钥"材料"长度越长,所生成的密钥安全度也就越高,越难被破译。

  DH组的选择很重要,因为DH组只在第一阶段的SA协商中确定,第二阶段的协商不再重新选择DH组,两个阶段使用的是同一个DH组,因此该DH组的选择将影响所有"会话密钥"的生成。

  在协商过程中,对等的实体间应选择同一个DH组,即密钥"材料"长度应该相等。若DH组不匹配,将视为协商失败。

  四、精确转发保密PFS(Perfect Forward Secrecy)

  与密钥生命期不同,PFS决定新密钥的生成方式,而不是新密钥的生成时间。PFS保证无论在哪一阶段,一个密钥只能使用一次,而且,生成密钥的"材料"也只能使用一次。某个"材料"在生成了一个密钥后,即被弃,绝不用来再生成任何其他密钥。这样可以确保一旦单个密钥泄密,最多只可能影响用该密钥加密的数据,而不会危及整个通信。

  PFS分"主密钥"PFS和"会话密钥"PFS,启用"主密钥"PFS,IKE必须对通信实体进行重新认证,即一个IKE SA只能创建一个IPsec SA,对每一次第二阶段SA的协商,"主密钥"PFS都要求新的第一阶段协商,这将会带来额外的系统开销。因此使用它要格外小心。

  然而,启用"会话密钥"PFS,可以不必重新认证,因此对系统资源要求较小。"会话密钥"PFS只要求为新密钥生成进行新的DH交换,即需要发送四个额外消息,但无须重新认证。 PFS不属于协商属性,不要求通信双方同时开启PFS。"主密钥"PFS和"会话密钥"PFS均可以各自独立设置。

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
23#
 楼主| 发表于 2006-7-29 20:34 | 只看该作者
IPSec体系结构

一、IPSec驱动程序
  IPSec驱动程序负责监视、筛选和保护IP通信。它负责监视所有出入站IP数据包,并将每个 IP 数据包与作为 IP 策略一部分的 IP 筛选器相匹配。一旦匹配成功,IPSec驱动程序通知IKE开始安全协商。下图为IPSec驱动程序服务示意图。

height=243 src="/Fsmanage/RoUpimages/2004526232916.gif" width=233>

图八 IPSec驱动程序服务

  在安全协商(相关内容见:IPSec基础(四)--Internet密钥交换(IKE)和密钥保护)成功完成后,发送端IPSec驱动程序执行以下步骤:

  1.从IKE处获得SA和会话密钥
  2.在IPSec驱动程序数据库中查找相匹配的出站SA,并将SA中的SPI插入IPSec报头
  3.对数据包签名--完整性检查;如果要求机密保护,则另外加密数据包
  4.将数据包随同SPI发送至IP层,然后进一步转发至目的主机

  接收端IPSec驱动程序执行以下步骤:

  1.从IKE处获得会话密钥,SA和SPI
  2.通过目的地址和SPI在IPSec驱动程序数据库中查找相匹配的入站SA
  3.检查签名,对数据包进行解密(如果是加密包的话)
  4.将数据包递交给TCP/IP驱动程序,然后再交给接收应用程序

  二、IPSec体系结构模型图

  在分别介绍了IKE,密钥管理和IPSec驱动程序后,我们来看一个完整的IPSec体系结构模型图,以便更好地理解IPSec体系结构。

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
24#
 楼主| 发表于 2006-7-29 20:34 | 只看该作者
图九 IPSec流程图

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
25#
 楼主| 发表于 2006-7-29 20:34 | 只看该作者
为简单起见,我们假设这是一个Intranet例子,每台主机都有处于激活状态的IPSec策略:

  1.用户甲(在主机A上)向用户乙(在主机B上)发送一消息
  2.主机A上的IPSec驱动程序检查IP筛选器,查看数据包是否需要受保护以及需要受到何种保护
  3.驱动程序通知IKE开始安全协商
  4.主机B上的IKE收到请求安全协商通知
  5.两台主机建立第一阶段SA,各自生成共享"主密钥" 注:若两机在此前通信中已经建立起第一阶段SA,则可直接进行第二阶段SA协商
  6.协商建立第二阶段SA对:入站SA和出站SA。SA包括密钥和SPI。
  7.主机A上IPSec驱动程序使用出站SA对数据包进行签名(完整性检查)与/或加密。
  8.驱动程序将数据包递交IP层,再由IP层将数据包转发至主机B
  9.主机B网络适配器驱动程序收到数据包并提交给IPSec驱动程序。
  10.主机B上的IPSec驱动程序使用入站SA检查完整性签名与/或对数据包进行解密。
  11.驱动程序将解密后的数据包提交上层TCP/IP驱动程序,再由TCP/IP驱动程序将数据包提交主机B的接收应用程序。

  以上是IPSec的一个完整工作流程,虽然看起来很复杂,但所有操作对用户是完全透明的。中介路由器或转发器仅负责数据包的转发,如果中途遇到防火墙、安全路由器或代理服务器,则要求它们具有IP转发功能,以确保IPSec和IKE数据流不会遭拒绝。

  这里需要指出的一点是,使用IPSec保护的数据包不能通过网络地址译码NAT。因为IKE协商中所携带的IP地址是不能被NAT改变的,对地址的任何修改都会导致完整性检查失效。

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
26#
 楼主| 发表于 2006-7-29 20:35 | 只看该作者
IPSec策略

IPSec本身没有为策略定义标准,策略的定义和表示由具体实施方案解决,以下对IPSec策略的介绍以Windows 2000为例。
  在Windows 2000中,IPSec策略包括一系列规则(规则规定哪些数据流可以接受,哪些数据流不能接受)和过滤器(过滤器规定数据流的源和目标地址),以便提供一定程度的安全级别。在Windows 2000的IPSec实现中,既有多种预置策略可供用户选择,也可以让用户根据企业安全需求自行创建策略。IPSec策略的实施有两种基本方法,一是在本地计算机上指定策略,二是使用Windows 2000 "组策略"对象,由其来实施策略。IPSec策略可适用于单机、域、路由器、网站或各种自定义组织单元等多种场合。

  一、规则

  规则规定IPSec策略何时以及如何保护IP通信。根据IP数据流的类型、源和目的地址,规则应该具有触发和控制安全通信的能力。每一条规则包含一张IP过滤器列表和与之相匹配的安全设置,这些安全设置有:1)过滤器动作 2)认证方法 3)IP隧道设置 4)连接类型。

  一个IPSec策略包含一至多条规则,这些规则可以同时处于激活状态。例如,用户为某网站路由器指定安全策略,但对经过该路由器的Intranet和Internet通信有不同的安全要求,那么,这个策略就可以包含多条规则,分别对应于Intranet和Internet的不同场景。IPSec实现中针对各种基于客户机和服务器的通信提供了许多预置规则,用户可根据实际需求使用或修改。

  二、过滤器和过滤器动作

  规则具有根据IP数据流的类型以及源和目的地址为通信触发安全协商的能力,这一过程也称为IP包过滤。应用包过滤技术,可以精确地定义哪些IP数据流需要受保护,哪些数据流需要被拦截,哪些则可以绕过IPSec应用(即无须受保护)。

  一个过滤器由以下几个参数决定:IP包的源和目的地址;包所使用的传输协议类型;TCP和UDP协议的源和目的端口号。一个过滤器对应于一种特定类型的数据流。 过滤器动作为需要受保护的IP通信设置安全需求,这些安全需求包括安全算法,安全协议和使用的密钥属性等等。

  除了为需要受保护的IP通信设置过滤器动作外,还可以将过滤器动作配置成:

  ·绕过策略,即某些IP通信可以绕过IPSec,不受其安全保护。这类通信主要有以下三种情况:1)远程主机无法启用IPSec,2)非敏感数据流无须受保护,3)数据流本身自带安全措施(例如使用Kerberos v5、SSL或 PPTP协议)。
  ·拦截策略,用于拦截来自特定地址的通信。

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
27#
 楼主| 发表于 2006-7-29 20:35 | 只看该作者
三、连接类型

  每一条规则都需要指明连接类型,用以规定IPSec策略的适用范围:如拨号适配器或网卡等。规则的连接属性决定该规则将应用于单种连接还是多种连接。例如,用户可以指明某条安全需求特别高的规则,只应用于拨号连接,而不应用于LAN连接。

  四、认证

  一条规则可以指定多种认证方法。IPSec支持的认证方法主要有:

  ·Kerberos v5:Windows 2000的缺省认证协议。该认证方法适用于任何运行Kerberos v5协议的客户机(无论该客户机是否基于Windows)。
  ·公钥证书认证:该认证方法适用于Internet访问、远程访问、基于L2TP的通信或不运行Kerberos v5协议的主机,要求至少配置一个受信赖的认证中心CA。 Windows 2000的IKE可以和Microsoft、Entrust和VeriSign等多家公司提供的认证系统相兼容,但不推荐使用预置共享密钥认证,因为该认证方法不受IPSec策略保护,为避免使用预置共享密钥认证可能带来的风险,一般建议使用Kerberos v5认证或公钥证书认证。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表