博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RFC7296--Internet密钥交换协议版本2(IKEv2)
阅读量:4948 次
发布时间:2019-06-11

本文共 1975 字,大约阅读时间需要 6 分钟。

 

2.8 密钥更新(rekeying)

  IKE、ESP和AH安全联盟(SA)使用的共享密钥应该只在有限的时间里保护优先的数据。这限制了整个SA的生存周期。生存周期超时的SA决不能再使用。如果有需要,可以建立新的SA。重建SA以取代过期的SA被称为密钥更新(rekeying)。

  可以在不重新生成IKE SA的前提下更新SA的密钥,这一实现是可选的。一个实现可以拒绝IKE SA中的所有CREATE_CHILD_SA请求。如果是SA已过期或即将到期并使用此处描述的机制更新密钥失败,实现时,必须关闭IKESA和任何相关的子SA,然后可以启动新的SAs。实现时,可能希望支持SA的无缝(in-place)重新加密,这样可以提供更好的性能,并可能减少过渡期间的丢包数量。

  要在现有IKE SA中重新生成Child SA,先创建一个新的、等效的SA(参见下面的第2.17节),等新的SA建立之后,删除旧的。注意,在重新生成的Child SA应该与待删除SA有相同的流量选择器和算法。

  要重新生成IKE SA,请建立新的等效IKE SA(请参阅下面的2.18节)。新建的IKE SA继承了所有原始的IKE SA的Child SAs。新的IKE SA用来处理维护这些Child SAs所需的所有控制消息。创建新的等效IKE SA后,发起方删除旧的IKE SA,并且必须通过旧IKE SA发送最后一个带有删除载荷的请求报文。

  SA应该主动重新加密,即新的SA应该在旧的SA因到期变得无法使用之前建立。新SA建立和旧SA变得不可用之间应该经过足够的时间,以便流量可以切换到新的SA。

  IKEv1和IKEv2有这明显的区别。IKEv1 SA的生成周期是协商出来的。在IKEv2中,SA的每一端都负责在SA上执行自己的生命周期策略并在必要时重新生成SA。如果两端的生命周期策略不同,则生命周期较短的一方总是先发起密钥更新。如果SA长时间处于非活动状态,且在没有流量的情况下,端点不会启动SA 端点可以选择在SA超时后关闭SA(而不是重新生成)。如果自上次重新生成SA以来没有流量,也可以关闭SA。

  请注意,IKEv2故意允许公共端点之间的不同SA使用相同的流量选择器。其中一个目的是为了支持业务流在不同SAs之间的QoS差异(参见[DIFFSERVFIELD],[DIFFSERVARCH]和4.1节[DIFFTUNNEL])。因此,不同于IKEv1,端点的组合与流量选择器可能无法唯一地标识端点之间的SA,因此IKEv1基于检查重复流量选择器而删除并重新生成SA的方式不应在IKEv2中使用。

  在两个端点见存在时间窗口,双发可能无法就SA的状态达成一致,特别是在有丢包的情况下。CREATE_CHILD_SA的响应方必须准备好在某个SA上接收消息,然后将其回应发送给创建请求。这样对发起方而言才不会产生歧义。发起方可能处理响应后在SA立即发送。然而,发起方只有在收到并处理响应方对CREATE_CHILD_SA请求的回应后才能接受新的已创建SA。那么,响应者怎么知道什么时候可以发送新创建的SA?

 

 

  2.8.3 重新加密IKE SA(rekeying)与重新认证(reauthentication)

    重新加密IKE SA和重新认证是IKEv2中的不同概念。 重新加密IKE SA会为IKE SA建立新密钥并重置消息ID计数器,但它不会再次对各方进行身份验证(不涉及AUTH或EAP有效载荷)。

    虽然在某些环境中重新加密IKE SA可能很重要,但重新认证(各方仍然可以访问长期凭证的验证)通常更为重要。

    IKEv2对重新认证没有任何特殊支持。 重新认证是通过从头开始创建新的IKE SA(使用IKE_SA_INIT / IKE_AUTH交换,没有任何REKEY_SA Notify有效载荷),在新的IKE SA中创建新的子SA(没有REKEY_SA Notify有效负载),最后删除旧的IKE SA( 同时删除旧的子SA)。

    这意味着重新认证还为IKE SA和子SA建立了新密钥。 因此,虽然密钥更新可以比重新认证更执行频繁,但是“认证生存期”比“密钥生存期”短是没有意义的。

    虽然任何一方(原始IKE SA中的发起者或响应者)都可以创建新的IKE SA,但是在实际应用中使用EAP和/或配置有效载荷意味着重新认证必须由与原始IKE SA发起方相同的一方发起。 在这种情况下,IKEv2当前不允许响应者请求重新认证; 但是,有一些扩展可以添加此功能,如[REAUTH](注:RFC4478)。

转载于:https://www.cnblogs.com/collapsar/p/9700482.html

你可能感兴趣的文章
单元测试5.2 心得
查看>>
spark总结
查看>>
MAC 安装mysql 连接驱动ODBC
查看>>
看django的感受
查看>>
词法分析之实验报告
查看>>
IPAdr.exe注册机[PY]
查看>>
Android中在通知栏内常驻应用程序消息
查看>>
5.7安装
查看>>
stl之Map 转载
查看>>
asp.net应用程序生命周期
查看>>
docker的centos7安装与启动相关命令
查看>>
.Net面试题
查看>>
log4j配置参考手册:log4j.properties和log4j.xml两种格式
查看>>
向伟大的张三同志致敬
查看>>
POJ1486 Sorting Slides
查看>>
Vue.js项目模板搭建
查看>>
JS -- The Scope Chain 作用域链
查看>>
C++中堆和栈的完全解析(转)
查看>>
21.Buffer Pool与压缩页/CheckPoint/LSN
查看>>
Dubbo集成步骤
查看>>