专利名称:用于在网络中安全通信的方法、及其通信设备、网络和计算机程序的制作方法
技术领域:
本发明涉及用于安全通信的方法,以及具有通信设备、使用如加密系统那样的安全装置来用于安全通信的通信网络。本发明在诸如移动无线传感器与致动器网络(WSN)的通信网络中,以及更具体地在用于患者监测的医疗无线网或诸如照明环境网络、楼宇自动化网络、汽车装备网络之类的其他个人网络中得到有利的应用。
背景技术:
由于这些敏感的应用,这类网络必须设有安全服务,如机密性、认证、完整性和授权。在传统的通信网络中所使用的加密系统典型地实现基于用于使通信安全的加密方法的安全服务。加密方法需要用于它们的操作的密钥。更具体地,在包括必须非常成本高效的各方或节点的某些网络中,对称密码学因而通常被应用来实现所需的安全服务。事实上,在这类的网络中,诸如无线传感器网络中, 节点典型地是资源受约束的,即在电池功率、通信带宽、处理能力或存储器方面是资源受约束的。基于非对称密码学的安全方法因此通常被认为在这样的节点中是低效的或不可行的。对称密码学的基本问题在于密钥分配,S卩,在于在属于网络的且必须安全地通信的节点中建立共享秘密。这个问题在WSN中是特别突出的,因为它们的大小可以从数十个节点变化到数万个节点,且它们的性质可以是非常动态的,例如,网络拓扑可能并非是先验已知的。借助基于公钥密码学、密钥分配中心或其他对称技术的不同的方法,在所涉及的各方之间分配和建立密钥。具体而言,在最近这些年期间,已经在用于传感器网络的密钥分配方案的设计方面进行了研究。已经提出了随机密钥预分配方案、基于信任中心的密钥分配方案或公钥密码学的应用。在这些方案中的许多方案中,我们找到了安全性与性能之间的折衷。例如,随机密钥预分配方案将随机选自M个密钥的池的W个密钥分配给WSN中的每个节点。因此,两个节点具有共享公共密钥的概率P,其依赖于W和M并且该公共密钥能够建立安全通信链路。然而,这些方案可以通过捕获节点和存储的密钥而被损坏(broken)。 除此之外,它需要存储相对较大数量的密钥,例如介于50与200之间,其等价于用于100位密钥的500或2000字节。基于公钥的密钥协商方案需要存储单个密钥,但是用于密钥生成的算法十分复杂。除此之外,从计算角度看,所述系统仍然较慢,因为对于密钥协商握手而言需要若干秒。一些传统密钥分配方案是被称为阿尔法-安全的密钥材料部分分配方案, 其中属于网络的节点没有直接设有预制密钥,而是设有一些节点特定的密钥材料(允许该节点计算与网络中另一节点共享的密钥)用于使通信安全。该节点特定信息是从包括在网络的管理设备中的根密钥材料获得的密钥材料部分(share)。这些阿尔法_安全方案在性能、可用性和安全性之间提供了折衷。那些系统的主要缺陷涉及以下事实根密钥材料使得阿尔法节点的捕获且因此阿尔法密钥材料部分的组合危及整个根密钥材料。
发明内容
本发明的一个目的是提出一种用于使网络中通信安全的方法从而克服上述缺陷, 且因而提高传统密钥分配方案的性能。本发明的另一个目的是提供一种网络,在该网络中任何数量的节点的捕获都不危及该网络。本发明的又一个目的是建立一种高效的密钥分配,其实现比现有技术的阿尔法-安全密钥分配方案强壮得多的安全水平同时最小化用于网络节点的资源需求。为此,本发明提供一种用于使网络中第一节点与第二节点之间的通信安全的方法,该网络进一步包括设有对称密钥生成引擎(SKGE)的管理设备。对称密钥生成引擎SKGE (·)是具有三个期望操作属性的密码块(block),其允许第一方Alice生成与网络中任何其他方(例如Bob)的成对密钥。首先,在计算方面它比用于密钥协商的非对称握手高效得多。其次,该密钥生成引擎可以以非常高效的方式存储,即在与N-I个密钥的平常的对称密钥分配方案比较时它需要存储几字节。再次,该引擎难以被损坏。为了一般性起见,将实体& (例如节点)的SKGE定义为以下结构其允许实体& 快速而高效地生成与系统中任何其他实体&的对称密钥,其中给定了另一方的身份。实体Ra WSKGE基于相同的秘密密钥材料KMa。该秘密信息是从η个独立的密钥材料部分
KM , +生成的η组密钥材料Hf Λ %的组合。用于不同实体氏的密钥材料部分
mγ
KM .ι·,是从一些根密钥材料Hi「⑶生成的。根密钥材料4 f和密钥材料部分£1/f f例如基于密码学中所使用
A~] —J
的众所周知的数学函数。这些数学函数可以包括多项式、矩阵、组合结构等等。数学运算可以在任何有限域或诸如包括群、域、环、向量空间等的代数结构之类的其它数学结构上进行。SKGE的运算包括以下步骤
-管理设备基于根密钥材料(例如多项式根密钥材料)并且基于第一节点的标识符生成用于第一节点的一组密钥材料部分,例如在第一多项式的形式下,每个第一密钥材料部分被划分成各子单元,
-管理设备选择第一密钥材料部分的子单元的子组,例如多项式系数,针对每个第一密钥材料部分选择的子单元的数量小于或等于该第一密钥材料部分的子单元的总数,并且所选的子单元形成第一节点部分密钥材料部分或对称-密钥生成引擎, -管理设备将第一节点部分材料部分传输到第一节点,以及
-第一节点基于第一节点部分密钥材料部分或对称-密钥生成引擎并且基于第二节点的标识符生成用于使与第二节点的通信安全的第一密钥。这种用于对称-密钥生成引擎的方法提高了密钥分配方案的弹性(resiliency),因为节点仅设有第一节点密钥材料部分的一部分,因此甚至大量节点的捕获也不允许攻击者获取(retrieve)初始的根密钥材料。除此之外,对称-密钥生成引擎可以组合来自从不同根密钥材料混合运算(例如在不同的有限域上进行)生成的不同的密钥材料部分的多个单元。附加的安全特征涉及借助使用不同复杂度的密钥材料部分和根密钥材料部分的可配置的安全水平。例如,如果根密钥材料是多项式,所选择的多项式次数可以用于提供计算复杂度与安全性之间的折衷。而且,由于节点设有较少数量的单元从而设有较少数量的位,所以其用于存储这些单元的存储器需求被最小化,并且还降低了用于生成部分密钥的计算需求。在另一个实施例中,根密钥材料是对称双变量多项式。这种特性导致,如果第二节点设有以与第一节点密钥材料部分相同的方式计算的部分密钥材料部分,且相应地生成第二部分密钥,则该第二密钥等于第一密钥。在本发明又一个实施例中,根密钥材料是次数为1的多项式,其中系数在有限域 GF(q)n中,其中qn是等于2n_l的素数,其中η为整数。在另一个实施例中,通过组合来自从不同次数的多个双变量多项式和在不同有限域上生成的多个多项式部分的单元来设计实体的对称-密钥生成引擎。进行该组合以使得在对应的域中进行多项式部分的实际生成,但是对称-密钥生成引擎组合所有那些域所共有的单元和运算。本发明的另一个方面涉及在进一步包括节点的网络中的设有根密钥材料的管理设备。该管理设备包括
-用于在接收到节点的标识符时基于根密钥材料生成节点密钥材料部分的装置,每个密钥材料部分被划分成各子单元,所述节点密钥材料部分;
-用于选择用于设计对称-密钥生成引擎的第一密钥材料部分的子单元的子组的装置。从每个密钥材料部分选择的子单元的数量小于或等于该子标识符的子单元的总数以形成适于生成第一密钥的节点部分密钥材料部分;
-用于将节点部分密钥材料部分分配给节点的装置。本发明的另一方面涉及一种包括通信设备和如前所述的管理设备的网络。该通信设备设有标识符和对称-密钥生成引擎,并且包括
-用于将其标识符传输到管理设备的装置, -用于从管理设备接收节点部分密钥材料部分的装置, -用于接收另一个节点的标识符的装置,以及
-用于基于所接收的对称-密钥生成引擎或节点部分密钥材料部分和所接收的该另一个节点的标识符而生成用于与该另一个节点通信的密钥的装置。本发明的这些和其他方面将根据下文所述的实施例而清楚明白并且将参照这些实施例而被阐明。
现在将通过实例并参照附图更详细地描述本发明,在附图中 -图1表示根据本发明的包括管理设备和两个节点的网络。
-图2是示出根据本发明的用于基本对称-密钥生成引擎的方法的序列的框图。-图3示出基本对称-密钥生成引擎中的传统密钥生成过程。-图如示出根据本发明的密钥生成过程。-图4b示出根据本发明的另一个密钥生成过程。-图如示出本发明的一个实施例,其中选自从在两个不同的有限域上两个不同的双变量多项式生成的两个多项式部分的子单元被组合以创建实体R的对称-密钥生成引擎。在该图中,仅描绘了涉及模乘法的单元。-图5描绘了当一次数的双变量多项式被用作根密钥材料时SKGE的一些子单元的生成中所涉及的根密钥材料的位。
具体实施例方式本发明涉及一种用于使网络中通信安全的方法。这种方法的一个示范性操作序列将结合示出根据本发明的网络的图1和示出该网络的操作序列的框图的图2来描述。图2 包括基本对称-密钥生成引擎的设计中所使用的一些示范性单元(element)。该网络包括管理设备2,在配置阶段CONFIG期间,其设有根密钥材料。在示范性实施例中,根密钥材料是次数为1的对称双变量多项式F(x,y),其系数在有限域GF(q)中。 该多项式可以被写成如下F(x,yhaaa+aMX+aj+anXy,其中 %=ει1(1。在一个实施例中,域GF (q)的特征是素莫森(Merserme)数qn = 2n_l,其中η为整数,例如 η = 17,127 或 521。在该配置阶段CONFIG期间,网络的每个节点(Ni,N2)分别设有标识符(ID1, ID2)。这些标识符是r位长的,其中r为小于η的整数。在一个实例中,r等于η/3的整数部分。该配置阶段通常在网络的预部署阶段期间(即在节点实际上已经加入该网络之前)发生。一旦节点被部署,则该管理设备在GENER阶段期间基于根密钥材料F(x,y)并基于标识符IDi生成用于节点m的完整密钥材料部分。用于节点m的该完整密钥材料部分是fID1(y) = bID1 l*y+bID1。,其中该多项式的系数被计算如下bID11 = a10 + an*IDl (mod q)且bID1Q = a00 + aQ1*IDl (mod q)。这些运算像以这种方法进行的所有其他运算一样被执行模q,因为该系统发生在有限域GF(q)上。现在将简短地描述根据传统方法的密钥生成过程,以便随后解释基于SKGE的本发明的改进。将参照图3描述这种传统过程,且具有如下假设
-管理设备中所提供的根密钥材料为F(x,ykac^^x+aw+anxy,其可以在以下形式下被因式分解F(x,y) = (a00 + a01x) + (a10 + anx) y。- F(x, y)的系数在三个级联的(concatenated)段的形式下表示。-该网络包括标识符为R和V的两个节点。第一步骤在于,通过求F(x,y)在χ = R时的值生成用于节点R的密钥材料部分, 且随后生成 (y) = bE 0 + bK l*y。该求值在图3的上部示出,其中
-在左上部,计算bK Q = (a01R + a00) (mod q),以及-在右上部,计算K」=(a nR + a10)mod(q)。随后,在传统系统中,由管理设备生成的完整密钥材料部分被传输到R节点,即六
个段bE_0-ij bR—0—2,bR—0—3,bR—丄―η bR—卜2,bR—卜3。当必须在节点R与节点V之间建立通信时,标识符V被提供给节点R,使得它能够生成用于使该通信安全的完整密钥。该密钥是两个节点商定的成对密钥。该密钥是通过求节点的密钥材料部分在y = V时的值来计算的。该计算示出在图3的下部。计算 bE1 *V + bE 0提供由三个级联的段ΚΙ、K2和K3组成的密钥K。单元Wl和zl对应于进位(carries),而不(than)依赖于有限域的大小。在这种传统系统中,节点的完整密钥材料部分的所有段被传输到该节点。因此,如果大量的节点被捕获,则攻击者可能危及根密钥材料且因此危及整个系统。在当前情况中, 2个捕获的节点将足以危及根密钥材料,因为使用了次数为1的多项式。现在将参照图2和4描述本发明提出的改进以用于克服该安全问题连同其他缺陷。回到图2的操作序列,在已经生成具有IDl的节点m的完整密钥材料部分之后, 管理设备在SELECT步骤中选择不同系数的一些段,以生成部分密钥材料部分。这些段(也被称为子单元)被选择以允许生成完整密钥的一部分。因此,在示范性实施例中,管理设备仅向节点m分配图4上粗体方形中示出的下列系数bID1—m,bID1—η和 bIDL1_3o形成部分密钥材料部分的那些单元随后被分配给节点Ni。随后,当必须在节点m与N2之间建立通信时,标识符ID2被传输给附,且执行密钥生成过程(KEY_GEN)。如在图4上可以看到,由于仅设有bID1(1_3,bID1 η和bID1」_3,节点 W不能计算所有的密钥单元Kl,K2和K3,但可以生成密钥的最高有效位K3。读者可以通过分析系数的不同部分与所进行的模运算之间关系来理解这一点。部分密钥K3随后被用于加密节点m与节点N2之间的通信。以相同方式,在一个实施例中,管理设备还基于根密钥材料部分并基于第二节点的标识符生成第二节点密钥材料部分,第二节点密钥材料部分处于具有与第一系数相同的数量的系数的第二多项式形式下。第二密钥材料部分被设置用于生成第二完整密钥。该第二节点密钥材料部分的第二多项式系数类似于第一多项式系数而被划分,即每个系数被划分成三个子单元。随后管理设备选择第二多项式系数的一些子单元以形成第二节点部分密钥材料部分并将其传输给第二节点。所选择的用于第二多项式系数的子单元对应于被选择用于形成第一节点部分密钥材料部分的子单元。在该上下文中,术语“对应单元”的意思是处于相同位置的子单元, 即bID2—。_3,bID2 η和bID21_3,其表示第一系数的第三单元以及第二系数的第一和第三单元。基于第二节点密钥材料部分且基于第一节点的标识符,第二节点生成用于使与第一节点的通信安全的第二部分密钥。由于根密钥材料为对称多项式并且由于对应的子单元从第一节点部分密钥材料部分和第二节点密钥材料部分被选择,所以第二部分密钥等于第一部分密钥。而且该第二部分密钥是第二完整密钥的一部分。注意到,本实施例仅使用所得密钥的最高有效位,即使用简单的对称-密钥生成引擎的本实施例的两方仅可以商定最高有效位K3。这是因为所述运算在“原始域之外” GF(q)进行并且部分信息丢失。具体而言,双方没有存储包括密钥生成阶段中进位影响的任何信息。然而,该影响最小,因为进位传送的概率随着位数减少。具体而言,可以证明,两个节点可以在移除所得密钥的b个最低有效位之后以概率l-2_b商定公共密钥。而且,本发明所提出的系统还允许提高传统阿尔法-安全系统的性能。实际上,由于仅将部分密钥材料部分提供给节点,所以用于存储密钥材料部分的存储器资源和用于计算密钥的计算需求与传统系统中相比是最小的。下面的表1详述了根据该第一实施例的系统的三个配置的存储需求和计算需求那三个配置允许最小化存储器,因为只需要几位,且最小化计算需求,因为仅需执行两次非模乘法和一次加法。对称密钥生成引擎的该基本实施例的安全性依赖于以下事实攻击者不能从分配给节点的部分密钥材料部分恢复原始根密钥材料,即用于SKGE的信息。为了说明SKGE的安全性,首先将该概念与众所周知的分组密码的概念进行比较。 分组密码是利用固定长度的明文的分组工作的一种加密方案。分组密码包括两个变换加密变换C=Ek(HI)和解密变换m =Dk(C)。K是两个变换中所使用的密钥。一方Alice可以利用密钥K使用·)加密消息并且将它发送给Bob。Bob可以使用相同的密钥和解密变换 DK(·)来解密所接收的加密消息并获得原始消息。如果假设明文攻击,即该攻击者知道未加密的和加密的消息对Imi, ej,则该攻击者可以设法恢复密钥K。攻击SKGE有些类似。 攻击者可以捕获多个节点,得到N。个对{R” KMJ,其中KMi是实体氏的SKGE中所使用的密钥材料。攻击者目的在于通过使用所捕获的N。个对{R” KMJ来重构系统中每个实体的对称密钥生成引擎的生成中所使用的根密钥材料。如果将该攻击与针对分组密码的攻击相比较,可以说SKGE的根密钥材料起着与分组密码中加密密钥相同的作用。除此之外,{氏, KMJ对将等价于明文/密文对。如上文所解释,该基本SKGE可以通过危及N_c个对(Ri 概述攻击流程
预备知识
权利要求
1.一种用于使在网络(1)中的第一节点(Ni)与第二节点(N2)之间的通信安全的方法, 该网络进一步包括设有根密钥材料的管理设备(2),该方法包括以下步骤-该管理设备基于根密钥材料生成包括多个子单元的第一节点密钥材料部分,并且第一节点密钥材料部分被设置用于生成第一完整密钥;-该管理设备选择第一密钥材料部分的子单元的子组,所选的子单元的数量小于或等于第一密钥材料部分的子单元的总数,并且所选的子单元形成第一节点部分密钥材料部分或对称密钥生成引擎,-第一节点基于第一节点对称密钥生成引擎并且基于第二节点的标识符生成用于使与第二节点的通信安全的第一密钥。
2.权利要求1的方法,其中根密钥材料包括多个数学函数。
3.权利要求2的方法,其中对称密钥生成引擎的性能和安全性由多个秘密或公开设计定义,该设计包括根数学函数的数量、数学函数的复杂度、密钥材料部分的生成在其上发生的数学结构或根密钥材料的参数。
4.权利要求2的方法,其中数学函数是多项式。
5.权利要求4的方法,进一步包括下列步骤-管理设备基于多项式根密钥材料且基于第一节点的标识符生成在多个多项式部分形式下的第一节点密钥材料部分,每个多项式部分系数被划分成各子单元,且所述子单元包括第一节点密钥材料部分,-管理设备选择形成第一对称密钥生成引擎的第一多项式系数的一组子单元,第一节点对称密钥生成引擎的所选的子单元对应于第一节点密钥材料部分的所选的子单元,-第一节点基于第一节点对称密钥生成引擎且基于第一节点的标识符生成用于使与第二节点的通信安全的部分密钥。
6.权利要求4和5的方法,其中根密钥材料是在所选择的多个有限域上的多项式,其中进行所述选择以使得-管理设备从在不同有限域上进行运算的根多项式生成用于第一设备的多项式部分;-管理设备能够将所述多项式部分划分成各子单元并且将它们组合以形成对称密钥生成引擎;-包括对称密钥生成引擎的子单元被组合,从而使得根密钥材料的恢复更困难; -第一设备能够使用其对称密钥生成引擎、第二设备的标识符生成关于第二设备的密钥;-密钥生成所需的运算在所述域之外。
7.权利要求2和3的方法,其中数学函数的复杂度可被调整以在SKGE安全性与计算需求之间提供折衷。
8.权利要求4和5的方法,其中数学函数的复杂度是指多项式的次数和/或有限域的大小。
9.权利要求1和4的方法,其中,从根数学函数生成用于第一设备的密钥材料部分包括在单个数学结构(比如域、环、向量空间或群)或其组合上运算。
10.权利要求9的方法,其中在给定第一设备的对称密钥生成引擎和第二设备的标识符的情况下生成第一设备之间的密钥所需的运算是在共同的数学结构上进行的。
11.权利要求3或4的方法,其中管理设备生成第一节点密钥材料部分或第二节点密钥材料部分的步骤包括求分别对应于第一节点的标识符或第二节点的标识符的点处对称双变量多项式的值。
12.—种在进一步包括节点的网络中的设有根密钥材料的管理设备,该管理设备包括-用于在接收到节点的标识符时基于根密钥材料生成节点密钥材料部分的装置,每个密钥材料部分被划分成各子单元;-用于选择第一密钥材料部分的子单元的子组的装置,所选的子单元的数量小于或等于该密钥材料部分的子单元的总数以形成适于生成第一密钥的对称密钥生成引擎或节点部分密钥材料部分;以及-用于将节点对称密钥生成引擎分配给节点的装置。
13.—种包括通信设备和根据权利要求12的管理设备的网络,该通信设备设有标识符,并且包括-用于将其标识符传输到管理设备的装置, -用于从管理设备接收节点对称密钥生成引擎的装置, -用于接收另一个节点的标识符的装置,以及-用于基于所接收的节点对称-密钥生成引擎和所接收的该另一个节点的标识符而生成用于与该另一个节点通信的密钥的装置。
14.一种包括根据权利要求12的管理设备和根据权利要求13的通信设备的网络。
15.权利要求1的方法,其中对称密钥生成引擎以硬件或软件实现,并且在给定第二设备的标识符的情况下允许第一设备计算关于第二设备的对称密钥。
全文摘要
一种用于使在网络(1)中的第一节点(N1)与第二节点(N2)之间的通信安全的方法,该网络进一步包括设有根密钥材料的管理设备(2),该方法包括以下步骤该管理设备基于根密钥材料生成包括多个子单元的第一节点密钥材料部分,并且第一节点密钥材料部分被设置用于生成第一完整密钥;该管理设备选择第一密钥材料部分的子单元的子组,所选的子单元的数量小于或等于第一密钥材料部分的子单元的总数,并且所选的子单元形成第一节点部分密钥材料部分或对称密钥生成引擎;第一节点基于第一节点对称密钥生成引擎并且基于第二节点的标识符生成用于使与第二节点的通信安全的第一密钥。
文档编号H04L9/08GK102356597SQ201080012560
公开日2012年2月15日 申请日期2010年3月16日 优先权日2009年3月19日
发明者埃尔德曼 B., 库尔萨韦 K., 加西亚莫尔乔恩 O. 申请人:皇家飞利浦电子股份有限公司