RFC2412-OAKLEY 键决定协议 (中文).pdf





《RFC2412-OAKLEY 键决定协议 (中文).pdf》由会员分享,可在线阅读,更多相关《RFC2412-OAKLEY 键决定协议 (中文).pdf(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、组织:中国互动出版网(http:/www.china- 文档中文翻译计划(http:/www.china- 译者:马 良 (Blade_Satan )译文发布时间:2001-10-11 版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须 保留本文档的翻译及版权信息。Network Working Group H.Orman Request for Comments:2412 Department of Computer Science Category:Informational University of Arizona November 1998 OAKLEY
2、 键决定协议(RFC2412-The OAKLEY Key Determination Protocol)本备忘录的状态 本文档讲述了一种 Internet 社区的 Internet 标准跟踪协议,它需要进一步进行讨论和建 议以得到改进。请参考最新版的“Internet 正式协议标准”(STD1)来获得本协议的标准化 程度和状态。本备忘录的发布不受任何限制。版权声明 Copyright(C)The Internet Society(1998).All Rights Reserved.摘要 本文档描述了一种名为 OAKLEY 的协议,即两个已经验证的部分在安全且加密 密鈅素材问题上取得一致。其基
3、本的机理是 Diffie-Hellman 密鈅交换算法。OAKLEY 协议支持完整转发安全性,用户通过定义抽象的群结构来使用 Diffie-Hellman 算法,密鈅更新,及通过带外机制分发密鈅集,并且兼容用来管理 SA 的 ISAKMP 协议。目录 1简介 3 2.协议框架.4 2.1 概述.4 2.2 符号 5 2.2.1 关于消息的描述.5 2.2 符号指南.5 2.3 交换密鈅消息概论 7 2.3.1 基本的密鈅交换消息域.7 2.3.1.1 关于指数的建议 8 2.3.2 映向 ISAKMP 消息结构的映射.8 2.4 密鈅交换协议.9 2.4.1 一个攻击例子.10 2.4.1.1
4、 空值的域.12 2.4.1.2 伪随机函数数字签名.12 2.4.2 隐藏身份的攻击案例.13 2.4.3 一个不使用 Diffie-Hellman 算法地私有身份地大胆例子.15 2.4.3 一个保守的例子.16 2.4.4 保护密鈅的额外强度.17 2.5 身份与验证.17 2.5.1 身份.17 2.5.2 验证.18 2.5.3 确认验证密鈅.19 2.5.4 获取身份对象.19 2.6 加密变换的接口.20 2.7 重发,超时,与错误消息.20 2.8 私有密鈅的附加安全措施:私有群.21 2.8.1 定义一个新群.22 2.8.2 使用一个私有群生成一个密鈅.23 2.9 快速模
5、式:从旧密鈅中生成新密鈅.23 2.10 定义并使用预分配密鈅.24 2.11 分配一个外部密鈅.24 2.11.1 需要考虑的加密强度.25 3.指定的生成安全联合.25 4.ISAKMP 的兼容性.26 4.1 使用已存在的密鈅验证 26 4.2 第三方验证.26 4.3 新群模式.27 5 安全实现注意事项.27 6.OAKLEY 解析与状态机.27 7 信任有效载荷.29 附录 A 群描述符.29 附录 B 消息格式.33 附录 C 将一个可变精度整数编码.33 附录 D 加密强度.34 附录 E 著名的群.34 E1.著名的群 1:一个 768 比特素数.35 E2.著名的群 2:一
6、个 1024 位素数.36 E3.著名的群 3:一个椭圆曲线群定义.37 E4.著名的群 4:一个大椭圆曲线群定义.39 E5.著名的群 5:一个 1536 位素数.41 附录 F 实现群操作.42 参考书目:42 1简介 密鈅体制是依靠加密进行数据保护的核心,而且是RFC2401中描述的数据包保 护机制的基本组件,例如。一个可升级的安全的用于 Internet 密鈅分发机制是必要的。该协议的目标是提供一种机制并且赋予其强大的加密强度。Diffie-Hellman 密鈅交换算法提供了这样一种机制。它允许两个不同群体就一个共 享值达成一致而不需要加密。这个共享值可以立即用于紧接着的通信的加密。举
7、例来说 数据传送或是验证。STS 协议STS提供了向一个安全协议中嵌入该算法的范例,一方 除了可以确信安全的共享机密,双方还可以确信互相的身份,甚至当一个主动攻击者存 在时。因为 OAKLEY 是一种普通的密鈅交换协议,并且其生成的密鈅被用来加密的数据 的保密时间可能很长,20 年或更长,所以协议中的算法能保证在保密期间密鈅的安全 性是很重要的,基于调研当代数学发展后的最乐观的预期性能。因此该协议有两种方式 来增加掌握了大量密鈅交换记录的攻击者(被动攻击者)攻击的困难,这些方式对于生 成用来加密的密鈅是很有用的。OAKLEY 协议与 STS 协议是相关的,具有类似的鉴别 Diffie-Hell
8、man 指数,并用 指数来决定一个共享密鈅,并且都达到了很好的转寄共享密鈅的安全性,但是它与 STS 协议有以下几点不同,首先是增加了弱地址确认机制。(“cookies,Phil Karn 在 Photuris 密鈅交换协议 中所描述的)用来避免拒绝服务攻击。其次的扩充是允许两方共同为协议选取合适的支持算法:加密方法,密鈅产生方 法,验证方法。第三点,验证并不依赖用于加密所用的 Diffie-Hellman 指数;相反,验证是通过 将指数与各方的身份绑定来实现的。协议不需要两方计算验证前的共享指数。协议通过使用附加的算法加密增加了起源密鈅的安全性。用于加密的起源密鈅不仅 取决于 Diffie-
9、Hellman 算法,还和用来安全验证通信双方的加密方法有关。综上所述,协议清晰的定义了通信双方怎样才能选取数学结构(群的表示和操作)来执 Diffie-Hellman 算法;用户可以使用标准的群组或是通过自己定义。用户定义 群组结构更进一步的保证了加密数据的长期数据的安全性。OAKLEY 有几种发布密鈅的方法。除了经典的 Diffie-Hellman 交换机制外,本协议 可以基于一个已存在的密鈅产生一个新密鈅并且通过加密来发送一个表面上产生过的 密鈅.协议允许两方使用全部或部分纠错和优良的转寄安全特性.它也可用于基于对称加 密或非加密算法的验证功能.包含这样良好的适应性是为了让各方能便利选用
10、用适合它 们自身安全和性能需求的特性.本文档从 Karn,Simpson 关于 Photuris work 的工作进展汲取灵感(包括与作者的讨 论),特别要提及的 Schertler eral 的关于 ISAKMP 的文档,以及 ISAKMP 协议的文档.还受 到了 Paul van Oorschot,Hugo krawcyzk 的论文的启迪.2.协议框架.2.1 概述.OAKLEY 协议是用来为通信双方建立一个共享密鈅,通过分配一个标识符和联合经 过验证的身份信息.密鈅的名字可以被用来产生 RFC2402,RFC2406 协议中的安全联盟.或是完成其它网络安全目标.每个密鈅被用于验证,加密,
11、单向函数的算法组合起来.这些是 OAKLEY 的辅助算法 它们在后来定义的由其它协议产生的安全联盟的出现既不必要也不禁止.关于怎样对于数据应用一个算法的细节的描述被称为变换.本文档中不包含变换的 定义,其定义可以在分散的 RFC 文档中找到.纠错记号,或者是cookies,为双方提供一种较弱的源地址验证.cookie 交换可以在在它执 行协议中复杂的运算(大整数求幂)之前完成.声明 OAKLEY 使用 cookies 的两个目的:纠错和命名密鈅,是很重要的.参与协议的 双方每方都要拿出一个 cookies 来用于初始化密鈅;这样的 cookies 对成为密鈅的标识符 (KEYID),一个可重复
12、使用的密鈅素材.因为具有这样的双重角色,我们将用符号(COOKI E-I,COOKIE-R)来命名 cookies 串与标记KEYID.可相互替换.OAKLEY 是作为 ISAKMP 协议的一个组件来设计的,运行在 UDP 协议上,使用一个 众所周知的端口,(请查阅 RFC 中关于端口分配的部分,STDO2-RFC-1700).在技术上唯一 对协议环境的要求是底层协议栈必须能够提供每个消息的远程发送者的因特网地址.因 而,在理论上,OAKLEY 可以直接应用于 IP 协议或是 UDP 协议之上,如果合适的话,则协 议以及端口分配都是可用的.运行 OAKLEY 的计算机必须提供一个随机数生成器,
13、就像在RANDOM中描述的,因为在该协议的描述中需要随机数资源.任何时候提及当前都意味着当前值是由随机 数生成器生成的,同样提及伪随机意味着相关的值是由伪随机生成器生成.2.2 符号 本节描述文档中用于消息顺序与目录的符号.2.2.1 关于消息的描述.下面的协议交换是用一种简短的符号写成的,这种符号用清晰的方式来传达交换的 本质.下面简要介绍一下这种符号,关于格式及分配值的细节请参看附录.本文档中为了简洁的表示消息交换,使用了一种简短的符号来描述每个消息的源地 址,目的地址,以及相关的域.箭头(-)表示这消息是否从创始者发向响应者,反之则用(Cookie-I,0,OK_KEYX,gx -Coo
14、kie-R,Cookie-I,OK_KEYX,gy CKY-I,0,OK_KEYX,GRP,gx,EHAO,NIDP,-ID(I),ID(R),Ni,0,SID(I)|ID(R)|Ni|0|GRP|gx|0|EHAOKi -CKY-R,CKY-I,OK_KEYX,GRP,gy,EHAS,NIDP,ID(R),ID(I),Nr,Ni,SID(R)|ID(I)|Nr|Ni|GRP|gy|gx|EHASKr CKY-I,CKY-R,OK_KEYX,GRP,gx,EHAS,NIDP,-ID(I),ID(R),Ni,Nr,SID(I)|ID(R)|Ni|Nr|GRP|gx|gy|EHASKi NBNID
15、P意味着 PFS 用来隐藏身份的选项是无效的.因此,在使用一个基于 gxy 的 密鈅时,身份是是不用加密的.NB 域在本文档中是用逗号分割开的;在真正的协议消息编码过程中是连接在一起 的,该编码过程在 ISAKMP/Oakley 解决方案中定义及描述.例子中的交换结果是一个密鈅的 KEYID=CKY-I|CKY-R 与 值 sKEYID=prf(NI|NR,gxy|CKY-I|CKY-R).这次交换的大致处理过程如下:发起者 发起者生成一个唯一的 cookie,并将它与预期的响应者的 IP 绑定,并且它将选取 状态信息如下:GRP(群组标识符),一个伪随机选择的指数 x,gx,EHAO 表,随
16、机 数,身份.在 EHAO 表中,首次的验证选择时一个支持数字签名的算法.并且用来验证 身份 随机数,及群的身份.发起者进一步指出该密鈅在无验证的初始化状态中,并 且为可能存在的重发与请求终止设置计时器.当想响应者收到这个消息.后,他可以选择忽略所有的信息,仅仅将它视为一个对 cookie 的请求,创建无状态.如果 CKI-I 并没有被 IP 头中的源地址使用,响应者生成一 唯一的 cookie,CKY-R.下一步就依赖于响应者的参数选择.最小的请求响应是将第一 个 cookie 域设置为零,并且 CKY-Y 填在第二个域.为了举例,我们必须假定响应者具有 攻击性(另一种情况见第六节),并且接
17、受如下设定:首次验证选择(必须使用数字签名方法来验证初始化消息),对于发起者与响应者的身份缺乏足够的的转寄安全保护.在本例中响应者决定接受所有发起者提供的信息.并验证消息中的签名,并将其 与(CKY-I,CKY-R)对及下列状态信息绑定:消息的网络源地址与目标地址 无验证的密鈅状态.提供验证的首次算法.群组身份,本群组中的一个指数值y,及消息中的 gx 值.随机值 Ni 与一个伪随机选择值 Nr.为可能的不正常状态设置的计时器.响应者通过回应消息计算 gy 值,并同时使用私有密鈅 ID(R)标记身份与随机数.并将消息发送给发起者.在所有的交换中,每一方将确信不接受 1 与 g(p-1)做为一个
18、指 数.本例中,响应者暗中接受的 EHAO 表验证类中的首次算法,这是因为响应者无法在 没有接收验证签名的算法的情况下确认发起者的数字签名.响应者的 EHAS 表也会反映 出他接受的信息.发起者接受到应答信息并且确认 CKY-I 是一个有效的网络地址与导入信息的联合.将 CKY-R 值加入到(CKY-I,网络地址)对的状态中.并且与所有(CKY-I,CKY-R)对的 状态信息绑定.通过状态信息来确认响应者的数字签名.(如果确认失败,消息被丢弃).将 gy 加入到他的状态信息.将 EHA 选择保促到状态信息中.任意计算(gy)x=(gx)y(该计算可以延迟到发送应答消息).发送应答消息,使用公开
19、密鈅 ID(I)签名.标记密鈅身份(CKY-I|CKY-R)作为验证.并且组合应答消息和签名.当响应者接受发起者的消息,并且同时签名有效,它将标记密鈅为已验证状态.并将 计算 gxy 值并且将该值与密鈅身份绑定.请注意虽然用于身份保护的 PFS 并未使用,但用于生成密鈅素材的 PFS 仍然存在,因为 Differ-Hellman 的半密鈅 gx 与 gy 已经交换.即使响应者只接受部分发起者的信息,发起者仍然认为协议在处理过程中,发起者 将假定没有被响应者接受的域信息也没有被响应者记录.如果响应者没有接受攻击性的交换,并且为 A 函数选择其它的一种算法,这时协议 将不再继续使用来自于首次消息的
20、数字签名算法或签名值.2.4.1.1 空值的域.如果响应者不接受所有发起者提供的域,它将在响应的消息中对应的域里填入 NULL 值.在第六节中有怎么用按从左至右的方式来选择域的指导方针.如果一个域不 被接受则这个域及其后面的所有域必须值 NULL 值.响应者将不记录一个域的任何信息,如果这个域不被接受的话.如果 IDs 与实 时状态也是 NULL 值话,经不会有一个基于这些 NULL 值的数字签名.2.4.1.2 伪随机函数数字签名.构造这个攻击性的例子是为了暗示虽然公开密鈅技术已应用于签名,然而.当 双方事先约定好计划与一个公用密鈅时,一个伪随机函数时可以使用的.如果在 EHAO 表中的第一
21、个提议是一种存在密鈅方法时,则该提议中的密鈅 名用于签名的密鈅素材,该签名由与密鈅名绑定的 H 算法计算生成.假设 EHAO 表中的第一个提议为 EXISTING-KEY,32 并且与密鈅身份 32 绑定的算法是 MD5-HMAC,密鈅素材是一些比特串,称之为 sK32 这时在攻击性交换的第一个消息中将显示签名:SID(I),ID(R),Ni,0,GRP,gx,EHAOKi,并且签名的计算由函数:MD5-HMAC_func(KEY=sK32,DATA=ID(I)|ID(R)|Ni|0|GRP|gx|gy|EHAO)来执行,(MD5-HMAC 函数的精确定义请查阅相关的 RFC 文档)计算结果将
22、出现在验证 有效载荷中.2.4.2 隐藏身份的攻击案例.下列的例子指出在双方之间如何不使用数字签名来完成一次密鈅交换.在验证过 程中,公开密鈅加密算法隐藏了身份.群的指数交换并经过验证.但在交换过车中蕴涵的 密鈅素材(gxy)是不需要的.这种方案与前面的数字签名方案有一个很重要的不同,那就是在第一个消息中,响应者的身份以明文:ID(R)给出.然而,公开密鈅算法隐藏的身份信息是与之不同的 ID(R).这所以这样是因为发起者必须通知响应者使用那对公开/私有密鈅对来解密.,但 同时,身份信息已被公开密鈅算法所隐藏.发起者也可以选择放弃对响应者身份的保密,但这样做是不合适的.相反,如果在 响应者的节点
23、上有一个很著名的身份,则用于加密那个身份的公开密鈅算法就可以加密 真正的响应者身份.Initiator Responder -CKY-I,0,OK_KEYX,GRP,gx,EHAO,NIDP,-ID(R),EID(I),ID(R),ENiKrKr -CKY-R,CKY-I,OK_KEYX,GRP,gy,EHAS,NIDP,EID(R),ID(I),NrKi,prf(Kir,ID(R)|ID(I)|GRP|gy|gx|EHAS)CKY-I,CKY-R,OK_KEYX,GRP,0,0,NIDP,prf(Kir,ID(I)|ID(R)|GRP|gx|gy|EHAS)-Kir=prf(0,Ni|Nr)
24、NB NIDP 意味着隐藏身份的 PFS 选项没有使用.NB ID(R)值包含在验证有效载荷中.(在附录 B 中有描述)交换的处理过程的大致轮廓如下:发起者:发起者生成一个唯一的 cookie 并且将它与预期的响应者的 IP 地址绑定.并且选择 状态信息:GRP,gx,EHAO 列表.在 EHAO 列表中的第一个验证选择是一种算法,并且支持 公开密鈅算法.发起者还命名两个身份在连接中使用,并且将它们输入状态信息中.一个 众所周知的响应者身份也被选中.并且用于这个身份的公开密鈅用来加密随机数 Ni 与两个连接用的身份,发起者更进一步说明密鈅处于初始化未经验证的状态,并且为可 能的重发与请求终止设
25、置计时器.当响应者接受这个消息时,它可以选择忽略所有信息,并且仅仅以一个 cookie 请 求将其抛出,创建无状态.如果 CKY-I 还没有被源地址的 IP 头所使用,则响应者生成一个唯一的 cookie,CKY-R,如同以前,下一步取决于响应者的选择.最小的所需响应是一个将首个 cookie 域设为零的消息,并且 CKY-R 在第二个域.在本例中,我们假设响应者更为大胆接受如下 设置:群 GRP,第一个验证选择(必须为用于加密有效载荷的公开密鈅算法),缺乏可靠 身份信息的转寄安全性,身份 ID(I),ID(R)响应者必须解密身份与随机数.使用 R的私有密鈅.然后,使用 R 的私有密鈅 来解密
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RFC2412-OAKLEY 键决定协议 中文 RFC2412 OAKLEY 决定 协议 中文

限制150内