ImageVerifierCode 换一换
格式:DOCX , 页数:52 ,大小:43.82KB ,
资源ID:3685535      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3685535.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Internet密钥交换IKEWord文档格式.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Internet密钥交换IKEWord文档格式.docx

1、3.1必要的术语 33.2符号 33.3完全后继保密 43.4安全联盟 44.简介 55.交换 65.1 使用签名来验证的IKE第一阶段 85.2 使用公共密钥加密的第一阶段验证 85.3 使用修改过的公钥加密模式来进行第一阶段的验证 105.4 使用共享密钥的第一阶段协商 115.5 第二阶段快速模式 125.6 新组模式 145.7 ISAKMP信息交换 156 Oakley组 156.1 第一个Oakley缺省组 156.2 第二个Oakley组 166.3 第三个Oakley组 166.4 第四个Oakley组 167. 完整IKE交换的负载爆炸 177.1 使用主模式的第一阶段 17

2、7.2 使用快速模式的第二阶段 188. 完全后继保密举例 2010.安全考虑 2111.IANA考虑 2211.1 属性类 2211.2 加密算法类 2211.3 hash算法 2211.4 组描述和组类型 2311.5 存活期类型 2312. 鸣谢 2313.参考 23附录A 25属性分配号码 25属性种类 26种类值 26附录B 28作者地址 30作者的注释 30完全版权声明 311.摘要ISAKMP (MSST98)中对验证和密钥交换提出了结构框架,但没有具体定义。ISAKM被设计用来独立的进行密钥交换,即被设计用于支持多种不同的密钥交换。 Oakley (Orm96)中描述了一系列被

3、称为“模式”的密钥交换,并详述了每一种提供的服务(如密钥的完全后继保密(perfect forward secrecy),身份保护,以及验证)。 SKEME (SKEME)中描述了一种提供匿名,否认,和快速密钥更新的通用密钥交换技术。本文档将描述使用部分Oakley,部分SKEME,并结合ISAKMP的一种协议,它使用ISAKMP来得到已验证的用于生成密钥和其它安全联盟(如AH,ESP)中用于IETE IPsec DOI的材料。2.讨论本文档描述了一种混合协议。目的是用于以一种保护的方式来协商安全联盟并为它提供经验证过的密钥生成材料。 本文档中实现的过程可用于协商虚拟专用网(VPN),也可用于

4、远程用户(其IP地址不需要事先知道)从远程访问安全主机或网络。 支持客户协商。客户模式即为协商双方不是安全联盟发起的两个终点。当使用客户模式时,端点处双方的身份是隐藏的。 本协议并没有实现整个Oakley协议,只实现了满足目的所需要的部分子集。它并没有声称与整个Oakley协议相一致或兼容,也并不依靠Oakley协议。同样,本协议没有实现整个的SKEME协议,只使用了用于验证的公钥加密的方法和使用当前时间(nonce)交换来快速重建密钥的思路。本协议并不依靠SKEME协议。3.术语和定义3.1必要的术语 本文档中出现的关键字“MUST”,“MUST NOT”,“REQUIRED”,“SHOUL

5、D”,“SHOULD NOT”以及“MAY”的解释在Bra97中描述。3.2符号下列的符号在整个文档中都使用。 HDR是ISAKMP的报头,它的交换类型是模式。当写成HDR*时,意味着负载加密。SA是有一个或多个提议的SA协商负载。发起方可能提供多个协商的提议;应答方只能用一个提议来回答。_b指明负载数据部分(body)不包括ISAKMP的通用vpayload负载。 SAi_b是SA负载的数据部分(除去ISAKMP通用报头)也就是由发起者所提供的DOI、情况(situation)、所有的提议(proposal)、以及所有的变换(transform)。 CKY-I和CKY-R分别是ISAKMP报

6、头中发起者和响应者的cookie。 gxi和gxr分别是Diffie-Hellman (DH)中发起者和响应者的公共值。 gxy是Diffie-Hellman的共享秘密。 KE是包含了用于Diffie-Hellman交换的公共信息的密钥交换负载。没有对KE负载的数据进行特殊的编码(如TLV)。Nx是当前时间(nonce)负载;其中x可以是i和r,分别代表ISAKMP的发起者和响应者。 IDx是x的身份识别负载。x可以是“ii”或“ir”,分别表示第一阶段协商中的ISAKMP发起者和响应者;也可以是“ui”或“ur”,分别表示第二阶段的用户发起者和响应者。用于互联网DOI的ID负载格式在Pip9

7、7中定义。 SIG是数字签名负载。签名的数据是特定于某种交换的。 CERT是证书负载。 HASH(以及衍生物,如HASH(2)或HASH_I)是hash负载。hash的内容是特定于验证方法的。 prf(key, msg)是key的伪随机函数通常是key的hash函数用于产生表现有伪随机性的确定的输出。prf用于导出密钥和验证(即作为有密钥的MAC)。(见KBC96) SKEYID是从秘密材料中衍生出的字符串,只有某次交换中的活跃双方才知道。 SKEYID_e是ISAKMP SA用来保护消息的机密性的密钥材料。 SKEYID_a是ISAKMP SA用来验证消息所使用的密钥材料。 SKEYID_d

8、是非ISAKMP安全联盟用来衍生出密钥所使用的密钥材料。 y表示“x”是由密钥“y”加密的。-表示“发起者到响应者”的通信(请求)。-表示“响应者到发起者”的通信(回答)。 | 表示信息的串联如X | Y表示X和Y是串联的。 x表示x是可选的。 消息加密(ISAKMP报头后标注有“*”号)必须紧接在ISAKMP报头后。当通信是受保护的时候,所有ISAKMP报头后的负载必须要加密。从SKEYID_e产生加密密钥的方法由各个算法定义。3.3完全后继保密 在本文档中使用的完全后继保密(PFS)术语是和一个概念相关的,即限制单密钥只能访问到受本单密钥保护的数据。要满足PFS,对于用来保护数据传输的已经

9、存在的密钥来说,它就不能用于衍生出其它的密钥,如果用来保护数据传输的密钥是从其它密钥材料中衍生出来的,则这些材料就不能再用于衍生任何其它密钥。 在本协议中提供了密钥和身份的完全后继保密(5.5和 8 节)3.4安全联盟 安全联盟(SA)是一组用来保护信息的策略和密钥。在本协议中,ISAKMP SA是协商双方为保护之间的通信而使用的共享的策略和密钥。4.简介 Oakley和SKEME各自定义了建立经过验证的密钥交换的方法。其中包括负载的构建,信息负载的运送,它们被处理的顺序以及被使用的方法。 然而Oakley定义了“模式”, ISAKMP定义了“阶段”。两者之间的关系非常直接,IKE描述了在两个

10、阶段中进行的不同的、称为模式的交换。 第一阶段指两个ISAKMP实体建立一个安全、验证过的信道来进行通信。这被称为ISAKMP安全联盟(SA)。“主模式”和“积极模式”都能完成第一阶段的交换。“主模式”和“积极模式”只能在第一阶段中使用。 第二阶段指协商代表服务的安全联盟,这些服务可以是IPsec或任何其它需要密钥材料以及/或者协商参数的服务。 “新组模式”并不真正在第一阶段或第二阶段中。它紧接着第一阶段,用于建立可在以后协商中使用的新组。“新组模式”只能在第一阶段之后使用。 ISAKMP SA是双向的,即一旦建立,任何一方都可以发起快速模式交换,信息交换,以及新组模式交换。由ISAKMP基础

11、文档可知,ISAKMP SA由发起者的cookie后跟响应者的cookie来标识在第一阶段的交换中各方的角色决定了哪一个cookie是发起者的。由第一阶段的交换所建立的cookie顺序继续用于标识ISAKMP SA,而不管快速模式、信息、新组交换的方向。换句话来说,当ISAKMP SA的方向改变时,cookie不能交换位置。 由于使用ISAKMP阶段,实现中可以在需要时完成快速的密钥交换。单个第一阶段协商可以用于多个第二阶段的协商。而单个第二阶段协商可以请求多个安全联盟。由于这种优化,实现中每个SA可以少于一个传输往返,以及少于一次DH求幂运算。第一阶段中的“主模式”提供了身份保护。当身份保护

12、不必要时,可以使用“积极模式”以进一步减少传输往返。下面的内容中包括了开发者对进行优化的提示。同时必须注意当使用公共密钥加密来验证时,积极模式仍然提供身份保护。 本协议本身并没有定义自己的DOI。在第一阶段中建立的ISAKMP SA可以使用非ISAKMP服务(如IETF IPSec DOI Pip97)的DOI和情形(situation)。在这种情况下,实现中可以限制使用ISAKMP SA来建立具有相同DOI的服务SA。另一种方法是使用DOI和情形(situation)为零值(参看MSST98中对这些域的描述)来建立ISAKMP SA,在这种情况下,实现中可以自由使用ISAKMP SA来为任何

13、已定义的DOI建立安全服务。如果使用DOI为零来建立第一阶段的SA,第一阶段中的标识负载的语法就在MSST98中定义,而不是从任何的DOI(如Pip97,它可能会进一步扩展标识的语法和语义)中定义。 IKE使用下面的属性,并且作为ISAKMP安全联盟的一部分来协商。(这些属性只属于ISAKMP安全联盟,而不属于ISAKMP为所代表的服务进行协商而建立的任何安全联盟): 加密算法 hash算法 验证方法 进行Diffie-Hellman操作的组的有关信息。 所有这些属性是强制性的且必须被协商的。另外,可以可选的协商一个伪随机函数(“prf”)。(当前本文档中还没有定义可协商的伪随机函数。在双方都

14、同意时可以私下使用属性值用于prf协商。)如果没有协商“prf”, 协商的HMAC (参看KBC96)的hash算法就作为伪随机函数。其它非强制性的属性在附录A中定义。选择的hash算法必须支持原始模式和HMAC模式。 Diffie-Hellman组必须使用一个已定义的组描述(第6节)来指定,或者定义一个组的全部属性(第5.6节)。组属性(如组类型或素数参看附录A)不能和以前定义的组(不论是保留的组描述,还是由新组模式交换后确定并建立的私下使用的描述)相关联。 IKE的实现必须支持以下的属性值: 使用弱、半弱密钥检查,且为CBC模式的DESDES。(弱、半弱密钥参考Sch96,并在附录A中列出

15、)。密钥根据附录B进行衍生。 MD5MD5和SHASHA。 通过共享密钥进行验证。 对缺省的组1进行MODP(参看下面内容)。 另外,IKE的实现必须支持3DES加密;用Tiger (TIGER)作为hash;数字签名标准,RSARSA,使用RSA公共密钥加密的签名和验证;以及使用组2进行MODP。IKE实现可以支持在附录A中定义的其它的加密算法,并且可以支持ECP和EC2N组。 当实现了IETF IPsec DOIPip97时,IKE必须实现以上描述的模式。其它DOI也可使用这里描述的模式。5.交换 有两中基本方法可以用来建立经过验证密钥交换:主模式和积极模式。它们都通过短暂的Diffie-

16、Hellman交换来产生经过验证的密钥材料。主模式必须要实现;积极模式最好也实现。另外,作为产生新密钥材料和协商非ISAKMP安全服务机制的快速模式也必须要实现。另外,作为定义Diffie-Hellman交换私有组机制的新组模式应该要实现。实现中不能在交换正在进行时改变交换类型。 交换遵从标准ISAKMP负载语法,属性编码,消息的超时和重传,以及信息消息例如,当一个提议未被接时,或者签名验证或解密失败时,一个通知响应就被发送,等等。 在第一阶段交换中,SA负载必须先于任何其它的负载。除了另外的通知表明在任何消息的ISAKMP负载中没有需要特定顺序的需求。 不论在第一阶段还是第二阶段中,在KE负

17、载中传递的Diffie-Hellman公共值必须在必要时用零填充,且长度必须为协商Diffie-Hellman组所需要的长度。 当前时间(nonce)负载的长度必须在8到256个字节之间。 主模式是ISAKMP身份保护交换的实现:头两个消息协商策略;下两个消息交换Diffie-Hellman的公共值和必要的辅助数据(例如:当前时间(nonce);最后的两个消息验证Diffie-Hellman交换。作为初始ISAKMP交换的验证方法的协商影响负载的组成,而不是它们的目的。主模式的XCHG就是ISAKMP身份保护。类似的,积极模式是ISAKMP积极交换的实现。头两个消息协商策略,交换Diffie-

18、Hellman公共值以及必要的辅助数据,还有身份。另外,第二个消息还要对响应者进行验证。第三个消息对发起者进行验证,并提供参与交换的证据。积极模式的XCHG就是ISAKMP的积极交换。在ISAKMP SA的保护下,如果需要,最后的消息可以不发送,这样允许每一方延迟求幂的运算,直到这次交换完成以后再运算。积极模式的图示中显示最后的负载以明文发送,这不是必须的。 IKE的交换并不是open ended,而是有固定数目的消息。证书请求负载的回执不能扩展传输或期待的消息的数目。 积极模式在安全联盟协商中有一定的局限性。因为在消息构建请求中,Diffie-Hellman交换所需要的组不能被协商。另外,不

19、同的验证方法可能进一步限制属性的协商。例如,利用公共密钥加密的验证就不能被协商,同时,当使用修改过的公共密钥加密方法来验证时,密码和hash又不能被协商。当要利用IKE能协商大量属性的能力时,就需要使用主模式了。 快速模式和新组模式在ISAKMP中没有与之对应的。它们的XCHG的值在附录A中定义。 主模式,积极模式,以及快速模式进行安全联盟的协商。安全联盟的建议(offer)采取下列形式:转换(transform)负载封装在提议(proposal)负载中,而提议负载又封装在安全联盟(SA)负载中。第一阶段交换(主模式和积极模式)中如果多个建议提出,则必须采取下列形式:多个转换(transfor

20、m)负载封装在一个提议(proposal)负载中,然后它们又封装在一个SA负载中。对第一阶段交换可以换种方式来表述:在单个SA负载中,不能有多个提议负载,同时,也不允许有多个SA负载。本文档并不禁止在第二阶段的交换中出现这些形式。 本来发起者发送给响应者的建议(offer)的数量是没有限制的,但出于性能考虑,实现中可以选择限制将进行检查的建议(offer)的数量。 在安全联盟的协商中,发起者向响应者提出可能的安全联盟的建议(offer)。响应者不能修改任何建议的属性,除了属性的编码(参看附录A)。如果交换的发起者注意到属性值被修改了,或者有属性在建议中被增加或删除了,则这个响应必须废弃。 主模

21、式或积极模式中都允许四种不同的验证方法数字签名,公共密钥加密的两种验证形式,或者共享密钥。对每种验证方法要分别计算SKEYID值。 对于数字签名:SKEYID = prf(Ni_b | Nr_b, gxy) 对于公共密钥加密:SKEYID = prf(hash(Ni_b | Nr_b), CKY-I | CKY-R) 对于共享密钥:SKEYID = prf(pre-shared-key, Ni_b | Nr_b)不论是主模式还是积极模式,结果都是产生三组经过验证的密钥材料: SKEYID_d = prf(SKEYID, gxy | CKY-I | CKY-R | 0) SKEYID_a = p

22、rf(SKEYID, SKEYID_d | gxy | CKY-I | CKY-R | 1) SKEYID_e = prf(SKEYID, SKEYID_a | gxy | CKY-I | CKY-R | 2)以及达成了用于保护通信的一致的策略。上面的值0,1,2由单个字节的值来代表。用于加密的密钥值根据具体的算法(参看附录B)从SKEYID_e中衍生出来。 为了验证交换中的双方,协议的发起者产生HASH_I,响应者产生HASH_R,其中: HASH_I = prf(SKEYID, gxi | gxr | CKY-I | CKY-R | SAi_b | IDii_b ) HASH_R = pr

23、f(SKEYID, gxr | gxi | CKY-R | CKY-I | SAi_b | IDir_b ) 对于使用数字签名的验证,HASH_I和HASH_R是经过签名并效验的;对于使用公共密钥加密验证或共享密钥的验证,HASH_I和HASH_R直接验证交换。整个ID负载(包括ID类型,端口,协议,但通用报头除外)被hash计算进HASH_I和HASH_R。 正如上面提到的,所协商的验证方法影响第一阶段模式的消息内容和使用,但不影响它们的目的。当使用公共密钥来验证时,第一阶段的交换可以使用签名或使用公钥加密(如果算法支持)来完成。下面是使用不同的验证选项的第一阶段交换。5.1 使用签名来验证

24、的IKE第一阶段使用签名,在第二个传输往返中交换的辅助信息是当前时间(nonce);通过对相互可以得到的hash值进行签名来对交换进行验证。使用签名验证的主模式描述如下: 发起者 响应者 - - HDR, SA - HDR, SA HDR, KE, Ni - HDR, KE, Nr HDR*, IDii, CERT, SIG_I - HDR*, IDir, CERT, SIG_R和ISAKMP相关联的带签名的积极模式描述如下: HDR, SA, KE, Ni, IDii - HDR, SA, KE, Nr, IDir, CERT, SIG_R HDR, CERT, SIG_I - 两种模式中,

25、签名的数据SIG_I或SIG_R是协商的数字签名算法分别应用到HASH_I或HASH_R所产生的结果。 总的来说,就象上面说明的一样,签名使用协商的prf,或协商的HMAC hash函数(如果没有协商prf)来对HASH_I和HASH_R签名。但是,如果签名算法绑定于特定的hash算法(如DSS只定义使用SHA 160位的输出),则签名的构建会有不同。在这种情况下,签名仍然将象上面一样覆盖HASH_I和HASH_R,但使用和签名方法向关联的HMAC hash算法。协商的prf和hash函数将被用作其它指定的伪随机函数。 既然使用的hash算法已知,就没有必要将它的OID也编码到签名之中。另外,

26、在PKCS#1的RSA签名中使用的OID和本文档中使用的OID之间没有关联。所以,RSA签名在PKCS#1格式中必须被作为私有密钥加密来编码,而不是作为PKCS#1格式(它包括hash算法的OID)中的签名。DSS签名必须作为r后跟s来编码。 一或多个证书负载在传递中是可选的。5.2 使用公共密钥加密的第一阶段验证 使用公共密钥加密来验证交换,交换的辅助信息是加密的当前时间(nonce)。每一方重新构建hash(如果另一方能解密当前时间(nonce)的能力就验证了交换。 要执行公钥加密,发起者必须已经拥有响应者的公钥。当响应者有多个公钥时,发起者用来加密辅助信息的证书的hash值也作为第三个消

27、息传递。通过这种方式,响应者可以确定使用哪一个对应的私钥来解密加密了的负载,同时也保持了身份保护功能。 除了当前时间(nonce)外,双方的身份(IDii和IDir)也使用对方的公钥进行加密。如果验证方法是公钥加密,则当前时间(nonce)和身份负载必须使用对方的公钥加密。只有负载的数据部分进行了加密,而负载的报头仍为明文形式。当使用加密作为验证时,主模式定义如下: HDR, KE, HASH(1), IDii_bPubKey_r,Ni_bPubKey_r - HDR, KE, PubKey_i,- PubKey_i HDR*, HASH_I - HDR*, HASH_R积极模式使用加密作为验

28、证的描述如下: HDR, SA, HASH(1), KE,Pubkey_r,Pubkey_r - HDR, SA, KE, 其中HASH(1)是发起者用于加密当前时间(nonce)和身份的证书的hash(使用协商的hash函数)。 RSA加密必须被编码进PKCS#1格式中。当只有ID和当前时间(nonce)负载的数据部分要加密时,加密的数据前必须有一个有效的ISAKMP通用报头。负载的长度是整个加密负载加上报头的长度。PKCS#1编码可以不用解密而确定明文负载的实际长度。 使用加密来验证提供了可信的可拒绝交换。没有证据(使用数字签名)表明通信曾经发生过,因为每一方都可以完全重新构建交换的两方。另外,秘密的产生也增加了安全,因为袭击者不仅不得不破解Diffie-Hellman交换,还要破解RSA加密。这

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2