首页 理论教育 分担式方案——解决问题的好选择

分担式方案——解决问题的好选择

时间:2023-06-22 理论教育 版权反馈
【摘要】:但是,与其他这里所介绍的分担式方案相反,它并不是基于D-H算法的。群成员的变化要求重新启动密钥协商过程。拜占庭攻击或者故障节点可能会阻止密钥协商成功进行。IKA在群组形成时发生。

分担式方案——解决问题的好选择

分担式方案的特点是没有负责生成和分发密码学密钥的可信第三方。取而代之,所有通信各方进行合作来建立(例如协商)一个秘密对称密钥。参与者的数量从两方(建立成对密钥)到多方(建立群密钥)不等。虽然未必是为自组织网络专门设计的,但是直观来讲,合作和自组织的分担式方法看起来符合自组织网络的本性。很大一部分的分担式方案在这部分中都进行了回顾和评价。这些方案中只有一种是为自组织网络特别设计的。

10.3.3.1 Diffie-Hellman(D-H)

D-H(Diffie and Hellman,1976)建立了一种两方之间的唯一的对称密钥。它基于离散对数(Discrete Log,DL)问题;在给出gSmod p的情况下,求S是困难的。

图10-2中给出D-H算法框架。双方协商使用一个大素数p和一个生成元g

978-7-111-34574-9-Part02-27.jpg

图10-2 分担式方案概览(生成元g的所有指数都是模素数p运算)

每个参与者随机选取一个秘密SASB,并传输公开值978-7-111-34574-9-Part02-28.jpg,如图10-2所示。对另一方接收的数用自身的密钥做幂运算,得到一个只有两方共享的公共密钥978-7-111-34574-9-Part02-29.jpg

和任何使用成对唯一密钥的方案一样,D-H算法提供了入侵容忍(Intrusion Tolerance)能力。某个被捕获节点只威胁到了与它进行通信的对等实体共享的密钥。遇到拜占庭攻击的节点和故障节点基本上只能干扰它们和通信对等实体间的密钥建立。D-H算法容易受到中间人攻击(Man-In-the Middle,MIM)。由节点来判断相信谁。但是由于缺少认证,Alice就不能确定她是否真正和Bob进行通信而非Charlie。

一般的D-H方案不适于保护自组织网络中的路由信息。它只适用于两个实体之间。使用成对密钥对路由消息的保护,要求对每个可能的接收者有不同的签名,这种方法的可扩展性很差。在D-H方案的基础上,大多数的分担式方案都在寻找补救D-H算法易受中间人攻击的缺点,以及多于两个实体的可扩展性。

10.3.3.2 IngemarssonTang和Wong(ING)

ING(Ingemarsson et al.,1982)通过将两方参与的D-H方案扩展为n个参加者,提供了一个对称群密钥。图10-2给出了四个节点的原理。所有节点被排列成一个逻辑环。在经过n-1轮之后,每个节点都可以计算秘密密钥。每一轮中包含了来自节点的一次幂运算,同时每个节点必须将自己的秘密份额传输给逻辑环中的下一节点,如图10-2所示。

ING缺少认证,并且容易受到中间人攻击。它的可扩展性很差,通信复杂性和节点数目的二次方成正比。拜占庭行为或者故障节点可能会阻止成功的密钥建立。出现被捕获节点意味着群密钥受到了威胁,并有必要进行一次密钥更新。方案中并没有说明如何检测受威胁节点。节点在密钥协商阶段组成一个逻辑环的要求,使得ING不适用于自组织网络。用于保护路由信息的密钥的确立,意味着只能形成单跳邻居(所有在直接传输范围内的节点)之间的逻辑环。由于存在移动节点和不稳定的链路,ING是否能够成功地完成需要探究。

10.3.3.3 Burmester和Desmedt(B-D)

B-D(Burnester and Desmedt,1994)算法试图建立一个群密钥。它基于离散对数问题。但是,与其他这里所介绍的分担式方案相反,它并不是基于D-H算法的。一个有四个节点的B-D算法框架如图10-2所示。B-D算法通过三轮完成。每个节点选择一个秘密值Si,然后将它的公共值978-7-111-34574-9-Part02-30.jpg,通过多播发送给组群中的其他所有节点。在第二轮中,每个节点计算并多播一个新的公共值。这个值是通过下一个节点收到的公共值除以逻辑环中前一个节点接收到的公共值,得到的结果再用自己的密钥Si进行幂运算所得到的,如图10-2所示。在第三轮即最后一轮中,每个节点通过自己的秘密值和从前几轮中所有其他节点接收到的信息来计算会议密钥。

B-D算法因为在三轮内就可以完成而明显要比ING算法更加有效。然而,每一轮中都需要进行大量幂指数运算和可靠多播。可靠多播在受限网络中很难实现,而在自组织网络中实现更具有挑战性。群成员的变化要求重新启动密钥协商过程。在存在移动节点的自组织网络中,就可能因此而永远无法使用B-D算法建立一个群密钥,也不可能解决随后的群成员变化的问题。群组的变化肯定会引起延时和分裂。B-D算法同样需要依靠一个已经在工作的路由协议或者单跳邻居,例如密钥协商方案取决于一个已经建成的路由基础设施,但是基础设施在密钥创建完成之前无法建立。B-D算法的公共值认证(图10-2中未给出)可以借助于预分配公钥实现。信任是通过证书颁发者来进行管理的。这就意味着一个有规划的网络和基本密钥管理问题回归到了公钥方案上。(www.xing528.com)

10.3.3.4 Hypercube和Octopus(H&O)

H&O(Becker andWille,1998)通过把节点整理成超立方体的方法,即一个d维立方体,将ING方案中的轮数和幂指数运算从n减少到了dn=2d)。图10-2举例说明了网络中拥有四个(22)节点的H&O算法。在第一步中,节点1和2执行一次D-H密钥协商协议。节点3和4也进行同样的操作。在第一步中建立的对称密钥是第二步中新的D-H密钥协商协议的秘密值:节点1和节点4执行一次D-H密钥协商协议,同时节点2和3也同样执行一次D-H密钥协商协议。H&O算法实际上包括两个协议:Hypercube和Octopus。Hypercube假设参与者的数量是2的幂次。Octopus将Hypercube扩展为允许任意数量的节点。

H&O算法由于缺乏认证而易受到中间人攻击。拜占庭攻击或者故障节点可能会阻止密钥协商成功进行。群成员变化需要密钥更新(Rekeying)。何时进行密钥更新将由节点来决定。和B-D以及ING一样,H&O取决于一个底层通信系统来为所有的群成员提供一致的节点次序视图(Node-ordering View)。除了在节点动态进入和离开时保持节点次序的一致性较为困难外,它还意味着需要一个已经在工作中(不受保护的)的路由协议或者仅仅单跳邻居。后者的可扩展性非常差。总之,H&O并不适合自组织网络的网络层安全。

10.3.3.5 口令认证密钥协议(A-G)

A-G(Asokan and Ginzboorg,2000)是唯一一种特意考虑应用于自组织网络而设计的分担式系统。A-G算法基本上是H&O算法加上口令认证扩展,如图10-2所示。它假设所有的合法参与者会接收到一个离线口令(写在会议大厅黑板或通过另一个场所受限信道分发)。节点必须在H&O协议的偶对D-H密钥协商阶段证明自己拥有口令,如图10-2所示。图中给出了两个节点之间的口令认证密钥协商。口令用于加密公共值和一个挑战应答协议中的初始挑战,如图10-2所示。

A-G相比于H&O成倍地增加了消息数量,并增加了计算复杂性。它以可扩展性为代价弥补了H&O对于中间人攻击的脆弱性。A-G继承了H&O在已建立的通信基础设施和节点次序方案可靠性方面的不足。因此,它并不适用于移动自组织网络中的网络层安全。

10.3.3.6 CLIQUES(CLIQ)

CLIQ(Steiner et al.,1998;2000)如图10-2描述。它是一般D-H协议的扩展,用于支持动态的群组操作。CLIQ区分初始密钥协商(Initial Key Agreement,IKA)和辅助密钥协商(Auxiliary Key Agreement,AKA)。IKA在群组形成时发生。AKA处理随后的所有密钥协商操作。在两种情况下,用于同步密钥协商程序的群控制器(Group Controller)是必需的。

图10-2中给出了四个节点的IKA协议。第一步(上行阶段)开始于节点1,它将选取一个秘密指数S1,并将978-7-111-34574-9-Part02-31.jpg单播给下一节点。节点2选取一个秘密指数S2,并将图中所示的值单播给节点3。这一过程将重复一直到达最终节点——群控制器。群控制器就可以计算秘密群密钥,例如,生成元g进行群组中所有节点的秘密指数次幂的运算。在第2步中(下行阶段),群控制器将多播群组中的其他每个节点计算秘密群密钥所需的中间值,如图10-2所示。

AKA(图10-2中未给出)和IKA都依赖于群控制器。因此CLIQ的群控制器代表了单点失效(Single Point of Failure)。每次的AKA操作导致生成一个和所有先前的密钥相独立的新的群密钥。使用AKA来添加一个新的成员基本上是对有一个节点的IKA协议的第一阶段的扩展。群控制器的角色可以是固定的或者不定的。允许任何一个节点成为群控制器会使得系统容易受到恶意节点的攻击。CLIQ忽略了认证。设计者们将注意力放在群变化上,而不考虑例如认证这类的安全性质,他们认为认证容易加入到方案中。CLIQ的其他主要缺点和B-D一样,是取决于可靠多播和节点次序一致性视图的可用性。由于存在可变的连接性,IKA和AKA是否能够成功地完成是有争论的。由于存在不稳定链路、高速移动节点和快速分割及接入,可能导致不稳定性。

10.3.3.7 其他分担式方案

已经提出大量基于已分配密钥的密钥协商方案。因此基本的密钥管理问题回归到初始密钥的分配上。还有很多方案也是不适合网络层安全的两方协议,因此留待进一步深入讨论。这样的例子包括基于传统公钥的MQV(Certicom Corp.,2004)、基于身份的公钥方案,例如Chen和Kudla(2003)和Wang(2005)文献,还有在Cagalj et al.(2006)中提出的基于D-H算法的协议。

10.3.3.8 分担式密钥管理方案总结

自组织网络中的各种类型分担式方案的主要内涵和局限性都已通过本节讨论的方案进行了说明。虽然分担式方法乍看上去也许符合自组织网络中的自组织特性,但是没有一种分担式方案是自组织网络密钥管理的好的候选方案。D-H、ING和H&O因为缺乏认证,所以可以略过。它们容易受到中间人攻击。B-D和CLIQ可以被排除,无论它们是否包含了认证方案,因为它们由于取决于可靠多播而存在内在的可存活问题。由于取决于节点次序和在群变化时所有节点的可用性,A-G在可扩展性和健壮性方面表现不佳。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈