首页> 中国专利> 用于在网络中安全通信的方法、及其通信设备、网络和计算机程序

用于在网络中安全通信的方法、及其通信设备、网络和计算机程序

摘要

一种用于使在网络(1)中的第一节点(N1)与第二节点(N2)之间的通信安全的方法,该网络进一步包括设有根密钥材料的管理设备(2),该方法包括以下步骤:该管理设备基于根密钥材料生成包括多个子单元的第一节点密钥材料部分,并且第一节点密钥材料部分被设置用于生成第一完整密钥;该管理设备选择第一密钥材料部分的子单元的子组,所选的子单元的数量小于或等于第一密钥材料部分的子单元的总数,并且所选的子单元形成第一节点部分密钥材料部分或对称密钥生成引擎;第一节点基于第一节点对称密钥生成引擎并且基于第二节点的标识符生成用于使与第二节点的通信安全的第一密钥。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-27

    授权

    授权

  • 2012-05-09

    实质审查的生效 IPC(主分类):H04L9/08 申请日:20100316

    实质审查的生效

  • 2012-02-15

    公开

    公开

说明书

技术领域

本发明涉及用于安全通信的方法,以及具有通信设备、使用如加密系统那样的安全装置来用于安全通信的通信网络。本发明在诸如移动无线传感器与致动器网络(WSN)的通信网络中,以及更具体地在用于患者监测的医疗无线网或诸如照明环境网络、楼宇自动化网络、汽车装备网络之类的其他个人网络中得到有利的应用。

背景技术

由于这些敏感的应用,这类网络必须设有安全服务,如机密性、认证、完整性和授权。

在传统的通信网络中所使用的加密系统典型地实现基于用于使通信安全的加密方法的安全服务。加密方法需要用于它们的操作的密钥。

更具体地,在包括必须非常成本高效的各方或节点的某些网络中,对称密码学因而通常被应用来实现所需的安全服务。事实上,在这类的网络中,诸如无线传感器网络中,节点典型地是资源受约束的,即在电池功率、通信带宽、处理能力或存储器方面是资源受约束的。基于非对称密码学的安全方法因此通常被认为在这样的节点中是低效的或不可行的。

对称密码学的基本问题在于密钥分配,即,在于在属于网络的且必须安全地通信的节点中建立共享秘密。这个问题在WSN中是特别突出的,因为它们的大小可以从数十个节点变化到数万个节点,且它们的性质可以是非常动态的,例如,网络拓扑可能并非是先验已知的。

借助基于公钥密码学、密钥分配中心或其他对称技术的不同的方法,在所涉及的各方之间分配和建立密钥。具体而言,在最近这些年期间,已经在用于传感器网络的密钥分配方案的设计方面进行了研究。已经提出了随机密钥预分配方案、基于信任中心的密钥分配方案或公钥密码学的应用。在这些方案中的许多方案中,我们找到了安全性与性能之间的折衷。例如,随机密钥预分配方案将随机选自M个密钥的池的W个密钥分配给WSN中的每个节点。因此,两个节点具有共享公共密钥的概率p,其依赖于W和M并且该公共密钥能够建立安全通信链路。然而,这些方案可以通过捕获节点和存储的密钥而被损坏(broken)。除此之外,它需要存储相对较大数量的密钥,例如介于50与200之间,其等价于用于100位密钥的500或2000字节。基于公钥的密钥协商方案需要存储单个密钥,但是用于密钥生成的算法十分复杂。除此之外,从计算角度看,所述系统仍然较慢,因为对于密钥协商握手而言需要若干秒。一些传统密钥分配方案是被称为阿尔法-安全的密钥材料部分分配方案,其中属于网络的节点没有直接设有预制密钥,而是设有一些节点特定的密钥材料(允许该节点计算与网络中另一节点共享的密钥)用于使通信安全。该节点特定信息是从包括在网络的管理设备中的根密钥材料获得的密钥材料部分(share)。这些阿尔法-安全方案在性能、可用性和安全性之间提供了折衷。那些系统的主要缺陷涉及以下事实:根密钥材料使得阿尔法节点的捕获且因此阿尔法密钥材料部分的组合危及整个根密钥材料。

发明内容

本发明的一个目的是提出一种用于使网络中通信安全的方法从而克服上述缺陷,且因而提高传统密钥分配方案的性能。

本发明的另一个目的是提供一种网络,在该网络中任何数量的节点的捕获都不危及该网络。

本发明的又一个目的是建立一种高效的密钥分配,其实现比现有技术的阿尔法-安全密钥分配方案强壮得多的安全水平同时最小化用于网络节点的资源需求。

为此,本发明提供一种用于使网络中第一节点与第二节点之间的通信安全的方法,该网络进一步包括设有对称密钥生成引擎(SKGE)的管理设备。对称密钥生成引擎SKGE(·)是具有三个期望操作属性的密码块(block),其允许第一方Alice生成与网络中任何其他方(例如Bob)的成对密钥。首先,在计算方面它比用于密钥协商的非对称握手高效得多。其次,该密钥生成引擎可以以非常高效的方式存储,即 在与N-1个密钥的平常的对称密钥分配方案比较时它需要存储几字节。再次,该引擎难以被损坏。

为了一般性起见,将实体RA(例如节点)的SKGE定义为以下结构:其允许实体RA快速而高效地生成与系统中任何其他实体RB的对称密钥,其中给定了另一方的身份。实体RA的SKGE基于相同的秘密密钥材料KMA 。该秘密信息是从n个独立的密钥材料部分                                                生成的n组密钥材料的组合。用于不同实体Ri的密钥材料部分是从一些根密钥材料生成的。

根密钥材料和密钥材料部分例如基于密码学中所使用的众所周知的数学函数。这些数学函数可以包括多项式、矩阵、组合结构等等。数学运算可以在任何有限域或诸如包括群、域、环、向量空间等的代数结构之类的其它数学结构上进行。

SKGE的运算包括以下步骤:

- 管理设备基于根密钥材料(例如多项式根密钥材料)并且基于第一节点的标识符生成用于第一节点的一组密钥材料部分,例如在第一多项式的形式下,每个第一密钥材料部分被划分成各子单元,

- 管理设备选择第一密钥材料部分的子单元的子组,例如多项式系数,针对每个第一密钥材料部分选择的子单元的数量小于或等于该第一密钥材料部分的子单元的总数,并且所选的子单元形成第一节点部分密钥材料部分或对称-密钥生成引擎,

- 管理设备将第一节点部分材料部分传输到第一节点,以及

- 第一节点基于第一节点部分密钥材料部分或对称-密钥生成引擎并且基于第二节点的标识符生成用于使与第二节点的通信安全的第一密钥。

这种用于对称-密钥生成引擎的方法提高了密钥分配方案的弹性(resiliency),因为节点仅设有第一节点密钥材料部分的一部分,因此甚至大量节点的捕获也不允许攻击者获取(retrieve)初始的根密钥材料。

除此之外,对称-密钥生成引擎可以组合来自从不同根密钥材料混合运算(例如在不同的有限域上进行)生成的不同的密钥材料部分的多个单元。

附加的安全特征涉及借助使用不同复杂度的密钥材料部分和根密钥材料部分的可配置的安全水平。例如,如果根密钥材料是多项式,所选择的多项式次数可以用于提供计算复杂度与安全性之间的折衷。

而且,由于节点设有较少数量的单元从而设有较少数量的位,所以其用于存储这些单元的存储器需求被最小化,并且还降低了用于生成部分密钥的计算需求。

在另一个实施例中,根密钥材料是对称双变量多项式。这种特性导致,如果第二节点设有以与第一节点密钥材料部分相同的方式计算的部分密钥材料部分,且相应地生成第二部分密钥,则该第二密钥等于第一密钥。

在本发明又一个实施例中,根密钥材料是次数为1的多项式,其中系数在有限域GF(q)n中,其中qn是等于2n-1的素数,其中n为整数。

在另一个实施例中,通过组合来自从不同次数的多个双变量多项式和在不同有限域上生成的多个多项式部分的单元来设计实体的对称-密钥生成引擎。进行该组合以使得:在对应的域中进行多项式部分的实际生成,但是对称-密钥生成引擎组合所有那些域所共有的单元和运算。

本发明的另一个方面涉及在进一步包括节点的网络中的设有根密钥材料的管理设备。该管理设备包括:

- 用于在接收到节点的标识符时基于根密钥材料生成节点密钥材料部分的装置,每个密钥材料部分被划分成各子单元,所述节点密钥材料部分;

- 用于选择用于设计对称-密钥生成引擎的第一密钥材料部分的子单元的子组的装置。从每个密钥材料部分选择的子单元的数量小于或等于该子标识符的子单元的总数以形成适于生成第一密钥的节点部分密钥材料部分;

- 用于将节点部分密钥材料部分分配给节点的装置。

本发明的另一方面涉及一种包括通信设备和如前所述的管理设备的网络。该通信设备设有标识符和对称-密钥生成引擎,并且包括:

- 用于将其标识符传输到管理设备的装置,

- 用于从管理设备接收节点部分密钥材料部分的装置,

- 用于接收另一个节点的标识符的装置,以及

- 用于基于所接收的对称-密钥生成引擎或节点部分密钥材料部分和所接收的该另一个节点的标识符而生成用于与该另一个节点通信的密钥的装置。

本发明的这些和其他方面将根据下文所述的实施例而清楚明白并且将参照这些实施例而被阐明。

附图说明

现在将通过实例并参照附图更详细地描述本发明,在附图中:

- 图1 表示根据本发明的包括管理设备和两个节点的网络。

- 图2是示出根据本发明的用于基本对称-密钥生成引擎的方法的序列的框图。

- 图3示出基本对称-密钥生成引擎中的传统密钥生成过程。

- 图4a示出根据本发明的密钥生成过程。

- 图4b示出根据本发明的另一个密钥生成过程。

- 图4c示出本发明的一个实施例,其中选自从在两个不同的有限域上两个不同的双变量多项式生成的两个多项式部分的子单元被组合以创建实体R的对称-密钥生成引擎。在该图中,仅描绘了涉及模乘法的单元。

- 图5描绘了当一次数的双变量多项式被用作根密钥材料时SKGE的一些子单元的生成中所涉及的根密钥材料的位。

具体实施方式

本发明涉及一种用于使网络中通信安全的方法。这种方法的一个示范性操作序列将结合示出根据本发明的网络的图1和示出该网络的操作序列的框图的图2来描述。图2包括基本对称-密钥生成引擎的设计中所使用的一些示范性单元(element)。

该网络包括管理设备2,在配置阶段CONFIG期间,其设有根密钥材料。在示范性实施例中,根密钥材料是次数为1的对称双变量多项式F(x,y),其系数在有限域GF(q)中。该多项式可以被写成如下:F(x,y)=a00+a01x+a10y+a11xy,其中a01=a10。 

在一个实施例中,域GF(q)的特征是素莫森(Mersenne)数qn = 2n-1,其中n为整数,例如 n = 17, 127 或 521。

在该配置阶段CONFIG期间,网络的每个节点 (N1, N2) 分别设有标识符(ID1, ID2)。这些标识符是r位长的,其中r为小于n的整数。在一个实例中,r等于n/3的整数部分。该配置阶段通常在网络的预部署阶段期间(即在节点实际上已经加入该网络之前)发生。

一旦节点被部署,则该管理设备在GENER阶段期间基于根密钥材料 F(x,y) 并基于标识符ID1生成用于节点N1的完整密钥材料部分。用于节点N1的该完整密钥材料部分是fID1(y) = bID1_1*y+bID1_0, 其中该多项式的系数被计算如下:bID1_1 = a10 + a11*ID1 (mod q) 且 bID1_0 = a00 + a01*ID1 (mod q)。这些运算像以这种方法进行的所有其他运算一样被执行模q,因为该系统发生在有限域GF(q)上。

现在将简短地描述根据传统方法的密钥生成过程,以便随后解释基于SKGE的本发明的改进。

将参照图3描述这种传统过程,且具有如下假设:

- 管理设备中所提供的根密钥材料为F(x,y)=a00+a01x+a10y+a11xy,其可以在以下形式下被因式分解:F(x,y) = (a00 + a01x) + (a10 + a11x) y。

- F(x,y)的系数在三个级联的(concatenated)段的形式下表示。

- 该网络包括标识符为R和V的两个节点。

第一步骤在于,通过求 F(x,y) 在x = R时的值生成用于节点R的密钥材料部分,且随后生成 FR(y) = bR_0 + bR_1*y。

该求值在图3的上部示出,其中:

- 在左上部,计算bR_0 = (a01R + a00) (mod q),以及

- 在右上部,计算bR_1 = (a11R + a10)mod(q)。

随后,在传统系统中,由管理设备生成的完整密钥材料部分被传输到R 节点,即六个段: bR_0-1, bR_0-2, bR_0-3, bR_1-1, bR_1-2, bR_1-3

当必须在节点R与节点V之间建立通信时,标识符V被提供给节点 R,使得它能够生成用于使该通信安全的完整密钥。该密钥是两个节点商定的成对密钥。该密钥是通过求节点的密钥材料部分FR(y) 在 y = V时的值来计算的。该计算示出在图3的下部。计算bR_1 *V + bR_0提供由三个级联的段K1、K2 和K3组成的密钥K。

单元W1和z1对应于进位(carries),而不(than)依赖于有限域的大小。

在这种传统系统中,节点的完整密钥材料部分的所有段被传输到该节点。因此,如果大量的节点被捕获,则攻击者可能危及根密钥材料且因此危及整个系统。在当前情况中,2个捕获的节点将足以危及根密钥材料,因为使用了次数为1的多项式。

现在将参照图2和4描述本发明提出的改进以用于克服该安全问题连同其他缺陷。

回到图2的操作序列,在已经生成具有ID1的节点N1的完整密钥材料部分之后,管理设备在SELECT步骤中选择不同系数的一些段,以生成部分密钥材料部分。

这些段(也被称为子单元)被选择以允许生成完整密钥的一部分。因此,在示范性实施例中,管理设备仅向节点N1分配图4上粗体方形中示出的下列系数:bID1_0-3, bID1_1-1和bID1_1-3。形成部分密钥材料部分的那些单元随后被分配给节点N1。

随后,当必须在节点N1与N2之间建立通信时,标识符ID2被传输给N1,且执行密钥生成过程(KEY_GEN) 。如在图4上可以看到, 由于仅设有bID1_0-3, bID1_1-1和bID1_1-3,节点N1不能计算所有的密钥单元K1, K2 和K3,但可以生成密钥的最高有效位K3。读者可以通过分析系数的不同部分与所进行的模运算之间关系来理解这一点。部分密钥K3随后被用于加密节点N1与节点N2之间的通信。 

以相同方式,在一个实施例中,管理设备还基于根密钥材料部分并基于第二节点的标识符生成第二节点密钥材料部分,第二节点密钥材料部分处于具有与第一系数相同的数量的系数的第二多项式形式下。第二密钥材料部分被设置用于生成第二完整密钥。该第二节点密钥材料部分的第二多项式系数类似于第一多项式系数而被划分,即每个系数被划分成三个子单元。随后管理设备选择第二多项式系数的一些子单元以形成第二节点部分密钥材料部分并将其传输给第二节点。

所选择的用于第二多项式系数的子单元对应于被选择用于形成第一节点部分密钥材料部分的子单元。在该上下文中,术语“对应单元” 的意思是处于相同位置的子单元,即bID2_0-3, bID2_1-1和bID2_1-3,其表示第一系数的第三单元以及第二系数的第一和第三单元。

基于第二节点密钥材料部分且基于第一节点的标识符,第二节点生成用于使与第一节点的通信安全的第二部分密钥。由于根密钥材料为对称多项式并且由于对应的子单元从第一节点部分密钥材料部分和第二节点密钥材料部分被选择,所以第二部分密钥等于第一部分密钥。而且该第二部分密钥是第二完整密钥的一部分。

注意到,本实施例仅使用所得密钥的最高有效位,即使用简单的对称-密钥生成引擎的本实施例的两方仅可以商定最高有效位K3。这是因为所述运算在“原始域之外” GF(q)进行并且部分信息丢失。具体而言,双方没有存储包括密钥生成阶段中进位影响的任何信息。然而,该影响最小,因为进位传送的概率随着位数减少。具体而言,可以证明,两个节点可以在移除所得密钥的b个最低有效位之后以概率1-2-b商定公共密钥。

而且,本发明所提出的系统还允许提高传统阿尔法-安全系统的性能。实际上,由于仅将部分密钥材料部分提供给节点,所以用于存储密钥材料部分的存储器资源和用于计算密钥的计算需求与传统系统中相比是最小的。

下面的表1详述了根据该第一实施例的系统的三个配置的存储需求和计算需求:

那三个配置允许最小化存储器,因为只需要几位,且最小化计算需求,因为仅需执行两次非模乘法和一次加法。

对称密钥生成引擎的该基本实施例的安全性依赖于以下事实:攻击者不能从分配给节点的部分密钥材料部分恢复原始根密钥材料,即用于SKGE的信息。

为了说明SKGE的安全性,首先将该概念与众所周知的分组密码的概念进行比较。分组密码是利用固定长度的明文的分组工作的一种加密方案。分组密码包括两个变换:加密变换c=EK(m)和解密变换m=DK(c)。K是两个变换中所使用的密钥。一方Alice可以利用密钥K使用EK(·)加密消息并且将它发送给Bob。Bob可以使用相同的密钥和解密变换DK(·)来解密所接收的加密消息并获得原始消息。如果假设明文攻击,即该攻击者知道未加密的和加密的消息对{mi, ei},则该攻击者可以设法恢复密钥K。攻击SKGE有些类似。攻击者可以捕获多个节点,得到Nc个对{Ri, KMi},其中KMi是实体Ri的SKGE中所使用的密钥材料。攻击者目的在于通过使用所捕获的Nc个对{Ri, KMi}来重构系统中每个实体的对称密钥生成引擎的生成中所使用的根密钥材料。如果将该攻击与针对分组密码的攻击相比较,可以说SKGE的根密钥材料起着与分组密码中加密密钥相同的作用。除此之外,{Ri, KMi}对将等价于明文/密文对。

如上文所解释,该基本SKGE可以通过危及N_c个对{Ri, KMi}而被攻击。这里,仅概述攻击流程:

· 预备知识: 

o KMi包括三个子单元,如图3所描绘。是链接到节点ID1的次数为1的多项式部分的系数b1=a11*ID+a01(mod q)的一部分。

o 实验表明系统的安全性强烈依赖于根密钥材料的系数a11。这可以容易理解,因为只有a11的所有位包含在所生成的密钥中。a11对系统安全性的强烈影响还因为以下事实: 这是在其上进行模运算的唯一单元。因此,攻击者可以通过恢复a11来损坏该特定SKGE。

· 通过捕获Nc个对来恢复a11的过程。

o 取两个实体RA和RB的子单元。因为这些子单元来自bR-1=a11*R+a01(mod q),所以可以计算它们之间的差,即,并且因此获得与高度相关的结果。所得的为2*k位长,而为3*k位长,其中k=[n/3]。可以写作:

随后,通过在GF(q)上计算(RA-RB)的逆值,可以直接获得:

a11的k位 (来自)可以以此方式获得。

对于剩余的2*k位,攻击者可以做如下事情:寻找实体{RA,RB}对以使得RA和RB之间的差趋向1。这可以在多个步骤中进行。最后,攻击者可以生成或找到对(RA-RB)=1,使得链接到那两个标识符的对应的值等于a11

这样做所需的对的期望数量Nc应当为大约2*k。

另一种攻击可能基于不同点的插值(interpolation)。在有限域上,任何函数可以被表示为多项式函数。这种多项式函数可以通过使用拉格朗日(Lagrange)插值来生成。

可以将针对上述基本SKGE的该攻击与对于诸如分组密码之类的其他密码学结构的其它攻击进行比较。在许多分组密码中,系统的安全性依赖于用于加密消息的轮(round)数。使用少量轮的相同分组密码可能易受不同种类的攻击,比如线性、微分或插值攻击。

在本发明的不同实施例中,以相同方式,安全密钥生成引擎可以包括一个或若干个下述特征以增强其安全性:

·更复杂的根密钥材料函数的使用,例如使用次数> 1的多项式,以增加系统安全性。增加多项式的次数可以相当于增加分组密码的轮数。 

·在具有共同或不同运算的、具有相同或不同复杂度的、相同或不同大小的诸如环或域之类的不同数学结构上生成的密钥材料部分的单元的智能组合实现了更好的信息混合。例如,可以使用基于在不同域上的多个双变量多项式的根密钥材料。通过求多个实体中每一个的身份中的双变量多项式的值来生成用于这些实体的多个多项式部分。那些在不同有限域上的多项式部分的子单元随后被组合以创建每个实体的SKGE。

·又一个扩展是指SKGE中运算的设计,使得攻击者不能恢复实际的密钥材料。该优化是指在SKGE本身中进行的运算的混合和组合以使得攻击者不可能发现从哪个根密钥材料的哪个密钥材料部分生成那些SKGE的子单元。

如果将这些教导中的一些与分组密码的运算进行比较,则所述这些教导中的一些可以更好地被理解。例如,分组密码在加密和解密变换中使用多轮。轮数越高,安全性越高。分组密码还针对混合位以创建混乱(confusion)并使得密钥的恢复困难。当在SKGE的设计中引入更复杂的函数时这也是我们的目标。接下来,使用上述扩展介绍多个更复杂的SKGE实施例。

基于多次多项式的SKGE

基本实施例将次数α=1的双变量多项式用作根密钥材料,即。在该实施例中,q为形式为2n-1的素数,且系统标识符被选择为位长。如前所解释,这种配置允许限制对多个位的wrapping模运算的影响。根据该推理,位的域大小与标识符大小(等于k位)之间的比率必定减小。具体而言,可以使该比率等于3*α, 其中α为多项式次数。如果假设α = 3,且具有多项式且求其在x=R时的值,其中R为位长,则获得多项式部分。每个系数bj被计算为。这种设计可以允许创建具有约[log q/比率]位的输出密钥的SGKE。不失一般性,比率等于2*α +1。对于α=1,比率等于3 (基本实施例)。

具体而言,符合(conform)SKGE的子单元可被表示为:;;;;;; 和。用于节点N1的SKGE 可以用于生成关于N2的密钥:

。在该具体实例中,可以看出密钥生成的复杂度增加,从而需要更多的计算需求,但实现更好的混合。

一般地,将在有限域GF(2n-1)上次数为α的双变量多项式用作根密钥材料以生成关于节点N2的密钥的用于节点N1的SKGE的运算可被写作:

这里,不失一般性,。值{C0,C10,...,Ci0,...Cα0,C11,...,Cj1,...Cα1} 包括实体N1的SKGE的子单元,并且依赖于如下原始多项式部分的系数:

该公式表示本文开始处所描述的使用α=1的单个双变量多项式的基本SKGE实施例的更一般的定义。

实体N1的SKGE的那些子单元的每一个依赖于原始根双变量多项式的α+1个系数。图5描绘了用于节点N1的多项式部分的系数b3的生成中所涉及的原始根密钥材料{A-33, A-23, A-13, A-03}的4个系数。还标示了从b3生成的SKGE的两个子单元{C30, C31}。这些系数被划分成k位块。用X标记的块是那些SKGE单元的生成中所涉及的块。这些所生成的SKGE单元用XX标记。

此外,由所生成的密钥的大小划分的密钥的生成中所涉及的根密钥材料的位的实际数量增加。假设两个SKGE生成相同长度的密钥但第二SKGE使用复杂度更高的根密钥材料函数(例如更高次数的双变量多项式),则攻击者必须确定更多的信息,这使得其更困难。因此,将更复杂的数学函数(如高次多项式)用作用于SKGE的根密钥材料,使根密钥材料的恢复更困难。因此,这表明α确定了SKGE的复杂度和安全性。

双变量多项式的系数aij可被描绘为对称矩阵。

假设所生成的密钥是k位块,次数为α的双变量多项式的系数是2*α +1 k位块长。这里,使用与上文所指定的相同的比率。对于次数为1的双变量多项式,具有四个系数{a00,a01;a01,a11}。这些系数中的每一个被划分成三个k位块。该划分对分析根密钥材料的哪些部分对SKGE单元{C0,Ci0}的位有影响是有用的。可以通过例如分析图4b理解这一点。

从中可以获得若干结论:

- 首先,对于次数为α的多项式,SKGE的单元{C0,Ci0}(其中)仅为一个块长,但是包含α+1和个块的影响。复杂度为α的SKGE的单元{Ci1}(其中)是i块长,且依赖于块。在系统想要被攻击的情况下知道这个可能是有用的,因为攻击者可以开始分析SKGE的依赖于根密钥材料的较少块的那些单元。

- 其次,只有最高次系数的所有位包含在SKGE单元的生成中。这等价于说只有“真正的”模运算用于该系数。

基于在两个不同有限域上的多项式的组合的SKGE

可以通过取在两个不同域GF(q1)和GF(q2)上的次数为1的两个双变量多项式构造更复杂的和安全的SKGE。具体而言,q1可以取2n-1形式的莫森素数且q2可以取2n-2[n/3]-β形式的另一个素数。这里,β为使得2n-2[n/3]-β为素数的最小正整数。选择这些具体值以使得:

(i)由这两个多项式生成的多项式部分包括不同域的影响,但是

(ii)所述域仍然足够相似以组合这些多项式部分的一些子单元,以及

(iii)每个实体的SKGE被创建为在两个不同有限域上生成的多项式部分的子单元的组合。可以注意到,该具体实施例是针对低复杂度的数学函数,例如次数为1的多项式,但是可以针对更高复杂度的数学结构(例如更高次数的多项式)来完成不同的数学结构(例如不同阶的域、域和环等等)的组合。

图4和图4c中图示了该特定实施例的基本思想。这里可以看到n位长的两个单元aA和aB与[n/3]位长的标识符R相乘的结果。

R的长度被选择成使得非模乘法R*aA和R*aB是4*[n/3]位长。由于所选域的特殊形式,在第二域GF(qB)的情况下在应用模运算之后,这些4*[n/3]位长结果的[n/3]个最高有效位影响两个结果的[n/3]最低有效位和[n/3]最高有效位。图4的左部因此表示在有限域GF(2n-1)上的乘法。该乘法可以是例如在实体的密钥材料部分的生成中所涉及的、图3中所描绘的乘法的任意一种。

记住这一点,使用该方法的系统运算工作如下。配置实体使用上述两个双变量多项式来生成用于两个实体N1和N2的总共四个多项式部分。这如常地被完成,即通过求用于两个实体的身份的x变量中的两个双变量多项式的值来完成。这四个多项式部分为:

其中中的i和j分别指示多项式部分属于N1还是N2,以及在GF(q1)还是在GF(q2)上进行所示计算。这些多项式部分的系数的每一个被划分成不同的子单元,如在基本实施例的情况下所完成的那样。例如,可以被看做三个单元的级联,即,其中||表示级联。以相同的方式,

,

。该配置实体考虑所涉及的域的特殊形式以计算将包括作为多项式部分的子单元的组合的两个实体的SKGE的单元。具体而言,令节点 Ni的SKGE的三个单元为{Ci-0,Ci-10,Ci-11},其中i={1,2},则:

在该实施例中,给定(given)另一个节点Nj的身份的情况下的节点Ni的一般SKGE运算如下:

观察到,SKGE的单元{Ci-0,Ci-10,Ci-11}被获取为来自不同多项式部分的两个子单元的加法。如果移除这些加法的每一个中的第二子单元,则返回到基本SKGE实施例。

该扩展引入了令人感兴趣的、使得针对SKGE的攻击困难的特征。在该特定情况下,根密钥材料包括在不同阶(order)的域上的多项式。如果攻击者想要进行与针对基本实施例相同的攻击,则他将发现主要障碍。事实上,现在他不能计算标识符的逆值,因为它是两个不同域的单元。此外,在先前针对基本SKGE的攻击中,已经提及系统的安全性依赖于系数a11。详细的分析示出在该特定和示范性实施例中,攻击者必须找到4*[n/3]位而不是n位,从而使得系统分析更困难。在此意义下,测量SKGE的弹性的一种方式是指包括SKGE的子单元的生成中所涉及的根密钥材料的位的数量与那些SKGE子单元的位的长度之间的比率。

该思想可以通过混合从多于两个密钥材料部分(比如多项式部分)生成的、并且被链接到不同的根密钥材料(比如在不同有限域上的双变量多项式)的多个子单元而被进一步扩展。

使用在不同代数结构(比如域)的若干根密钥材料的另一个扩展是指将最初的和扩展的有限域组合,例如两个域,一个域使用素数用于模运算,且另一个域阶数为pr(其中p为素数)且使用多项式用于简化(reduction)。该原因是这些运算“不兼容”,这是因为域的构造引起的。

根据上述实例,表明攻击者不能区分包括SKGE的子单元是由单个密钥材料部分还是由它们的组合生成的。

然而,该信息的知识可能允许攻击者进行更智能的攻击以恢复根密钥材料。这给出了另一个扩展的可能性,该扩展是指包括来自多个从不同根密钥材料生成的不同密钥材料单元的子单元并且保持根密钥材料的参数为秘密的SKGE的生成。这些参数可以指所使用的数学结构的种类(例如域、环或向量空间)和它们的复杂度(例如域的大小或多项式的次数)。

最后,基于源自不同根密钥材料的若干密钥材料部分的使用的系统的另一个扩展是指以下事实:那些在SKGE中密钥生成所需要的单元和运算可被设置为隐藏密钥材料部分的实际值。为了说明这一点,假设由四个不同的根密钥材料生成的用于实体N1的四个不同密钥材料部分。假设从每个密钥材料部分提取两个单元,即,除了从其提取三个单元的最后一个密钥材料部分之外。又假设,如在基本SKGE实施例中那样SKGE包括三个不同的单元,且密钥被生成为。这里,SKGE的实际单元是选自不同密钥材料部分的上述子单元的组合,在该特定实例中它们被组合如下:

Ci-0=Ci-0,1+Ci-0,2+Ci-0,4

Ci-10=Ci-10,1+Ci-10,3+Ci-0,4

Ci-0=Ci-11,2+Ci-11,3+Ci-11,4

由于密钥材料部分彼此独立,不同的子单元彼此干扰。因此,这种方法使得恢复实际的原始的根密钥材料部分更困难。

完整的SKGE设计

该SKGE设计基于先前两种设计而构造。该设计通过以下事实激发:在基于次数为α的单个双变量多项式的SKGE中,只有系数aα,α的所有位包括在多项式部分/密钥的计算中。其原因是:上述方案利用域大小与等于的密钥大小之间的比率来设计。尽管系数aα,α包括模运算的所述影响,但是其余系数的影响更小。实际上,它们的影响可以与非模运算的影响比较。此外,仅使用单个根密钥材料。因此,该系统仍然是相当线性的。

为了解决该问题,描述包括α+1个次数分别为1, 2, …,α和α的双变量多项式作为根密钥材料的完整SKGE 设计。在该特定实施例中,这些双变量多项式在下述域上:

次数为1的f1(x,y)在GF(23k-22k122k-1-1)上

次数为i的fi(x,y)在GF(2(2i+1)k-2(i+1)k12(i+1)k-1-1)上

次数为α的fα(x,y)在GF(2(2α+1)k-2(2α+1)k(2α+1)2(2α+1)k-1-1)上

次数为α的fα+1(x,y)在GF(2n-1)上,其中2n-1为大于2(2α+1)k的素数。

这里,假设SKGE生成k位长的密钥。用于次数为i的多项式的素数qi=2(2i+1)k-2(i+1)ki2(i+1)k-1-1的形式依赖于下述事实。项2(2i+1)k从用于根密钥材料的系数的期望数量的k位“块”形成。2(i+1)k是使模运算影响i个最高有效k位块或换言之i*k个最高有效位所需要的。1被选择为能够组合运算,即通过使用多项式部分的仅一部分生成密钥。最后,项βi2(i+1)k-1用于找到素数。该β值是使数量βi2(i+1)k-1是素数的最小正整数。

该思想是,设计一种系统,其中f1(x,y)的模运算影响(affect to)f2(x,y)的次数1的系数等等;针对f2(x,y)和f3(x,y)是同样的。一般地,fi(x,y)贡献将影响具有更高标识符{i+1, i+2, ...α+1}的所有多项式。

该设计组合了上述两个SKGE的优点且还提供新优点。首先,该系统被设计成使得所有多项式的最高次系数的所有位在密钥的生成中涉及。这是特别重要的,因为那些系数是涉及模运算的系数。其次,使用以位为单位度量的不同大小的域,从而使得任何单元的求逆困难得多。具体而言,由于相同的标识符被用在四个多项式的生成中,但是这些多项式在不同的域上,所以很难计算标识符的逆单元以恢复根密钥材料的部分或完整的系数。该事实还使得插值攻击困难得多,因为现在攻击者的目的在于借助多项式近似SKGE行为。然而,这种多项式应当包括不同域中起源的且受未知位影响的信息的影响。这使得插值多项式的期望次数非常高,并且因此该系统是高弹性的。再次,所述域的阶被选择成使得从来自不同根密钥材料 (即,双变量多项式f1(x,y)、f2(x,y)、f3(x,y)或f4(x,y))的密钥材料部分(多项式部分)生成的子单元彼此扰动,从而使得原始根密钥材料的恢复更困难。该扰动影响是指多项式fi(x,y)的最高次数的系数对具有更高标识符的多项式(比如fi+1(x,y))的系数的影响。附加事实是指由于素数项-2(i+1)k的原因引起的模运算的影响。这些项强烈影响形式为Ci1的SKGE的单元,从而引入实际上来自在不同有限域上的不同多项式的非线性影响。SKGE的其他单元{C0, Ci0}与根密钥材料的系数之间的关系保持原样,差异在于:这些单元也依赖于所有α+1个根密钥材料。因此,用于SKGE的算法中所使用的运算保持相对于“基于次数> 1的多项式的SKGE”部分中介绍的运算而不变。该SKGE为:

现在变为:

。其中,根据上述方法,SKGE的单元{C0, Ci1, Cj1}被生成为α+1个密钥材料部分的单元的组合。现在,该表达式例如借助插值技术来近似困难得多,因为单元cj1引入了在不同有限域上的模运算的非线性影响。

      如果系统的复杂度增加,即如果选择长的α值,则所述系统的实现方式需要长整数的非模乘法。这里,得出了性能与安全性之间的折衷。SKGE复杂度越高,安全性水平越高。这是与其中密码安全性依赖于轮数的分组密码的运算相当的。该折衷是特别有挑战性的,因为乘法的数量以指数方式增长。这可以通过分析上述SKGE的最后一项来理解。上述和中的单元j包括两个j*k位长的单元的乘法。尽管这是非模运算,但是对于j的大值而言,其成本是很高的。该计算性能还依赖于第二项,但不是太强烈。对于第i个指数,具有两个k和i*k位长的单元的乘法。图9示出乘法的指数增长。注意到,这里是指k位乘法的数量。

所述系统的性能可以通过稍微修改上述SKGE表达式且进行一些预计算来优化。我们描述如下定义的三个变化或修改:

首先,节点N1可以预计算针对两项和的N2的幂。这可以通过递归方式计算它来高效地完成。这需要α个k位乘法。一般地:

N2= N2*N2i-1

其次,给定上述预计算的N2的幂,上述SKGE中的第二项的贡献可以被计算为N2的第i个幂的k个最低有效位与SKGE单元Ci0的乘法。这将所需的k位乘法的数量从α(α+1)/2减少到α,即其因子为(α+1)/2。

第三优化提高了上述SKGE的第三项的性能。为了理解这一点,可以观察两个4-k位长的单元A和B的乘法。这里,不失一般性,选择4-k位长的运算数。A和B包括4个子单元,每个子单元k位长。当i=4时,该乘法表示项的特定乘法。所述乘法的结果是8*k位长的变量C。然而,不必要具有整个C,而是仅需C的k位。因此,和中的每个项的计算可以通过优化版本取代。从计算的角度看,下面示出了用于的该优化表达式。注意到Cj1和N2j中每一个包括j个k位单元。这些单元是{Cj1-j,Cj1-j-1,...,Cj1-1}和{N2-jj,N2-j-1j,...,N2-1j}。

这意味着和的第j项的该优化的生成允许将k位乘法的数量从j2减小到2*j - 1。如常且如上文所指出,该近似需要移除结果的一些位,因为该优化不包括先前项的影响,使得它不包括来自加法的进位的影响。然而,这是次要事实,如果k足够大、特别是如果比较具有和不具有上述三种优化的系统的性能的话。这些优化因此允许使用高复杂度的SKGE。这里,复杂度是指恢复原始根双变量多项式的复杂度,因为α更高值的选择引入了更多数量的多项式。

所有上述教导可以应用于其他SKGE的设计。其他的设计方法包括满足多个随机性属性的标识符的使用以最小化针对系统的可能的攻击,防止攻击者恢复原始根密钥材料。而且,注意到,本文献中描述的系统可以容易地通过使用诸如多变量多项式之类的多变量函数而适用于更多数量的各方之间的密钥协商。

本说明书中描述的技术特征可以得到广泛的应用。

主要应用是用于在无线传感器网络中实现的安全系统。这些网络是例如:

- 医学传感器网络,其用于普遍的患者监测。在这些网络中,节点通常是设置在患者上且在存储器和计算能力方面具有较低资源的传感器节点。

- 智能环境,比如分布式照明环境、楼宇自动化系统、汽车装备网络或任何其他必须被建立并观察访问控制策略的网络。

- 更具体地,基于标准IEEE 802.15.4/ZigBee的任何无线传感器网络。

本发明也可以与其他系统和方法组合,比如例如资源受限设备(比如传感器节点或个人数字助理)上的轻量数字证书。轻量数字证书包括与实体相关联的一组用于验证和认证该实体的属性。该组属性可以包括该实体的数字身份(名称、职业等)、访问控制角色以及其他参数。

而且,本发明可以在以下领域开启新的机会:

- 无线传感器网络或电信网络中的安全广播:事实上,网络中基站可以存储根密钥材料和网络中多个节点的每一个节点。因此,基站可以使用根密钥材料来以如本发明中提供的方式利用不可损坏的密钥材料部分加密消息。

- 在不同的电信应用中创建完全安全的电子票。

SKGE允许用于包括伪造的许多其他应用。在该应用中,不同但相关的SKGE可以嵌入每个产品,提供该产品的唯一性的签名。例如,在数字文献中,我们可以借助随机序列稍微修改例如数字照片的原始数字序列。例如,可能的是,随机修改数字图像中一些像素的最低有效位。该信息的指纹可以通过计算哈希函数确定并且使用哈希函数的输出根据用于所述数字文献的秘密根密钥材料生成SKGE的单元。所生成的SKGE的单元被嵌入在相同的数字文献中,例如数字图像的一些像素的最低有效位中。该方法允许基于SKGE的使用的伪造:复制的数字文献可以被跟踪且假的文献不包括有效的SKGE。

在本说明书和权利要求书中,元件之前的词语“一”或“一个”不排除多个这样的元件存在。而且,词语“包括”不排除除了所列出之外的其他元件或步骤的存在。

权利要求中括号中包含的附图标记旨在辅助理解并且并不旨在限制。

通过阅读本公开,本领域技术人员将会清楚其他修改。这种修改可以包括安全通信领域中已知的和取代或除了本文已描述的特征之外而使用的其他特征。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号