通过验证实体来认证实体的方法

文档序号:7938170阅读:161来源:国知局
专利名称:通过验证实体来认证实体的方法
技术领域
本发明涉及通过验证实体来认证实体的方法。
背景技术
本发明在密码协议领域中发现了对于认证具有或不具有接触的非常低成
本的电子微芯片(特别是射频标识(RFID)标签)的特别有利的应用。
在例如标注或跟踪对象(药物、图书馆书籍等)并产生和验证例如公共
交通票的电子票的许多应用中使用例如RFID类型的低成本电子微芯片。
与涉及的应用无关,必须防止伪造微芯片的欺骗行为,特别是拷贝或复
制它们或重放它们所传送的数据。为了使得应用免受这样的攻击,当微芯片
与微芯片读取器互相作用时,认证微芯片是势在必行的。
然而,在例如低成本微芯片的要认证的实体和例如微芯片读取器的验证
实体之间使用的任何认证协议必须考虑这类微芯片(通常是硬连线逻辑类型)
的特别有限的计算资源。
最近已提出了特别设计为满足RFID微芯片的需求的对称HB+ (霍珀-勃鲁姆)认证协议(见A. Juels and S.A. Weis,"」w /7e""c加."g尸ervos/ve Z)ev/ces w"/z //wmaw尸roZocoA ", in V. Shoup, Editor, Advances in Cryptology - Crypto 05, Lecture Notes in Computer Science, Vol. 3126, pp. 293-308, Springer Verlag )。
图1表示在要认证的实体和验证实体之间的HB+协议下的数据交换。
如该图中可以看出的,例如RFID微芯片的要认证的实体和例如微芯片 读取器的验证实体共享包括0_比特二进制矢量的一对私钥2L和Y。这些私钥 被存储在微芯片的存储部件10和微芯片读取器的存储部件20中。
HB+协议在L次连续迭代上展开。在每一迭代中,微芯片随机抽取(draw) (块100)并向微芯片读取器发送(1) aJ匕特二进制矢量b。类似地,微芯 片读取器随机抽取(块200)并向微芯片发送(2) iL比特二进制矢量g。根据 统一概率法则来进行矢量k和i的随机抽取。
微芯片然后通过计算(块120)噪声影响的应答z:",x十"y十v并向微芯片读取器发送(3 ),而对微芯片读取器发起的挑战(challenge ) i作出应答, 其中,表示模2数积运算,而0表示模2加。微芯片随机抽取噪声比特v/ (块 110);它在概率/7<1/2的情况下取值1,而在概率(l-77)的情况下取值0。
如果接收的应答L不满足等式z-w;c①"少,则微芯片读取器拒绝当前 迭代(块210);在该情况下,将拒绝的迭代次数nbr的计数器递增一个单位 (块220 )。在迭代次数nbt的计数器计数(块250 )的^次迭代的结尾,如果 且仅如果来自计数器的拒绝的迭代次数nbr低于给定阈值〖(块230 ),则接受 该认证(块240)。 L的值当然是概率7的函数;L的简单值是例如^rxT7。
尽管在三遍L次迭代中构造了提出的HB+协议的交换,但是可能通过同 时计算和发送b、 i和^的L个值,来将其降低为三遍一次交换。
HB+协议的优点在于认证计算的极大简便性。
此外,其鲁棒性起源于求出具有噪声的线性系统的解的LPN (具有噪声 的学习奇偶性)问题的困难。最后,与历史上较早的HB协议(其不同之处 在于,具有噪声的应答不包括6*少项)相比,HB+协议具有以下益处二进 制矢量L引起的遮蔽效应与私钥L关联;HB协议对其中对手发送恒定挑战g 并收听来自微芯片读取器的应答的攻击敏感;最频繁的应答是a",并且已 知g,可能在第一步骤中获得用于足够数目值i的wx,并在第二步骤中通过 求解线性系统而推知(deduce) 2£。
然而,HB+协议具有防止其在实践中被有效使用的缺陷。 如已经指明的,第一缺陷在于尽管该协议对抗对i的一些主动攻击, 但是其仍然易受当对手访问多个连续认证的结果(成功/失败)时遭遇的其他 攻击。
这样的攻击拦截当从微芯片读取器向微芯片发送时的挑战并连续修 改其比特。例如,如果修改了 l的第一比特,则清楚的是,如果在该修改之 后没有改变该结果,则能推断该私密矢量(secret vector) ^的第一比特可能 是0。相反,如果改变了该结果,则2L的第一比特可能等于1。为了获得i的 所有IL比特,修改^的第二比特以发现i的第二比特,依此类推,直到比特n 为止,这就足够了。
HB+协议的第二缺陷在于其产生连续数目的错误警报,错误警报被定义 为谢绝认证合法微芯片。利用以下值11=224比特、;7=0.25、 r-100次迭代 和f^/7xr^25,例如,错误警报率为45%,这是完全不可接受的。错误肯定
5率(即,随机应答的芯片的成功认证)接近3xl(T7。
如果不是对于匕取期望值^ = /7>^=25,而是取较高值(例如35),则错 误警报率下降到1%(这仍然不可接受),但是错误肯定率增加到大约1.7xl(T3。
最后,HB+的第三缺陷在于其在微芯片和微芯片读取器之间的通信中亏1 起的过分复杂性。利用与前面相同的数值,可示出,必须在每一认证中交换 44卯0比特,即在100次迭代的每一次中的用于k的224比特、用于i的224 比特、和用于结果的一比特。
即使具有10000bps的比特率,微芯片读取器也需要多于四秒来认证微芯 片(这在系统生物工程学方面是禁止的),更不用说向微芯片供电的结果问题。

发明内容
本发明所以提供了一种通过验证实体认证实体的方法,所述实体共享一 对私钥X和Y。所述方法的显著之处在于所述私钥X和Y是nxm(n,m〉
l)二进制矩阵,并且所述方法包括重复L次(r^ l)的步骤
所述要认证的实体和所述验证实体交换由所述验证实体和所述要认证 的实体分别随机抽取的i比特的二进制矢量i和b并且所述要认证的实体随
机抽取OL比特的噪声二进制矢量e,所述HL比特中的每一个在小于1/2的概 率 7的情况下等于1,并且所述要认证的实体计算等于z:aX十6r④c的2]_比 特的应答矢量并将其发送到该验证实体;
该验证实体计算误差矢量e-z④aJT④W的汉明权;并然后
.如果L个误差矢量^的汉明权满足与作为概率;;的函数的参数的比较的
关系,则4妄受i人证。
由此,可以看出,与HB+协议相比,本发明的方法着眼于重组私密X, 而提供了对于修改挑战§_的比特的攻击的改进抵抗。如果修改了 §_的第一比 特,则该修改影响该比特与X的HL列的第一比特的乘积,也影响乘积aX的 HL比特并因此整体影响应答Z。结果,不可能通过观察对于i的比特的修改的 认证结果的效果,而推知有关私密X的任何信息,因为可修改^的HL比特中 的多个,而不可能告知它们的编号或它们的位置,而在HB+协议中,对于且 的比特的任何修改直接影响仅包括一比特的应答2。
关于本发明的方法的性能,应观察到的是,每一迭代的应答二被写入到 UL比特上,本质上似乎在仅一次迭代中进行了 OL次迭代。作为其结果,在第一极端情况下,可能将迭代次数降低nL阶数的因数,
并由此实际上将迭代次数限制为仅一个,这在错误警报率方面维持了 HB+协 议的性能,但是将交换的比特数目从1"(211+1)降低为(2n + m),即,在n=224 和m=128的情况下从44900比特降低为576比特,这表示了相当大的改进。
该示例全面证明了本发明将迭代次数L限制为1的益处,这对于HB+协议来 说是不可能想象的。
在第二极端情况下,迭代次数相同。交换的数据数量然后轻微增加,但 是错误警报率变得可以忽略。
当然,在降低的错误警报率以及在微芯片和微芯片读取器之间交换的降
低的比特数两者的情况下,不得不在这两种极端情况之间选定现实情况。
这也许是事实,但是清楚的是,本发明在错误警报率和要在涉及的这两
个实体之间交换的信息数量的方面,比HB+协议提供更好的性能。
在本发明的一个具体实现中,所述矩阵X和Y是Toeplitz矩阵。下面更
详细地示出,如果要选定其他矩阵,则该有利特征将微芯片和微芯片读取器
的存储容量限制为(n + m - l)而不是n x m。另 一优点是乘积aX和bY的简化计算。
本发明还提供了 一种要由验证实体认证的实体,所述实体共享一对私钥 X和Y,其显著之处在于所述要认证的实体包括用于存储包括n x m (n, m > 1) 二进制矩阵的私钥X和Y的部件、用于与验证实体通信的部件、和适于将以 下步骤实行L次(r ^ 1 )的计算部件
随机抽取iL比特的二进制矢量b,并将其发送到验证实体; .从验证实体接收iL比特的二进制矢量i;
-随机抽取HL比特的噪声二进制矢量e,所述HL比特中的每一个在小于 1/2的概率/7的情况下等于1,并计算等于z二"义④6r0c的HL比特的应答矢量 ^并将其发送到验证实体。
本发明还提供了一种计算机程序,包括以下程序指令,当所述程序由形 成要认证的实体的所述计算部件的部分的计算机执行时,用于执行由所述要 认证的实体实行的步骤。
本发明还提供了一种验证实体,与要认证的实体共享一对私钥X和Y, 其显著之处在于所述验证实体包括用于存储包括n x m (n, m > l)二进制矩阵 的私钥X和Y的部件、用于与要认证的实体通信的部件、和适于将以下步骤实行L次(r S l)的计算部件
-从要认证的实体接收i比特的二进制矢量b;
随机抽取0_比特的二进制矢量^并将其发送到要认证的实体;
从要认证的实体接收oL比特的应答矢量z;
计算误差矢量^z十"Z④W的汉明权,并且如果L个误差矢量L的汉 明权满足与作为预定概率/7的函数的参数(T,t)的比较的关系,则接受认证。 本发明最后提供了一种计算机程序,包括以下程序指令,当所述程序由
形成所述验证实体的所述计算部件的部分的计算机执行时,用于执行所述验 证实体实行的步骤。


参考附图作为非限制性示例而给出了以下描述,并且以下描述解释了本 发明包括什么以及如何能将本发明还原为实践。
图2表示在本发明的方法期间在要认证的实体和验证实体之间的交换。
图3是要通过图2的方法认证的实体的图。
图4是用于使用图2的方法认证图3的实体的验证实体的图。
具体实施例方式
图2示出了使得验证实体(例如接触或非接触微芯片读取器)能够验证 要认证的实体(在该示例中可以是RFID微芯片)的身份的认证方法。
图2中示出的方法是所谓对称方法,其中两个实体(微芯片和微芯片读 取器)共享相同的私钥。被指定为X和Y的这些密钥是包括il行和HL列的n x m (n, m 〉 l)二进制矩阵。私钥X和Y被存储在微芯片的存储部件10和微 芯片读取器的存储部件20中(见图2以及图3和4)。
本发明的方法被构造为重复l次的步骤(r^ 1)。表述"l次"指明可在 三遍L次迭代中依次实行的微芯片和微芯片读取器之间的交换,如图2中指 明的,其中迭代次数nbt在每一迭代中由计数器递增1 (块250),或指明三
遍并行实行的微芯片和微芯片读取器之间的交换,每一遍包括数据的L项从 一个实体向另一实体的传送。
在图2的示例中,微芯片1在每一迭代中随机抽取(块100)并向微芯 片读取器2发送(1 ) iL比特的一行二进制矢量b。微芯片读取器2然后向微芯片1发送(2)作为随机抽取的iL比特的一行二进制矢量的挑战这(块200)。 根据0和1比特的均匀分布来随机抽取二进制矢量k和&
响应于挑战逸,微芯片1向微芯片读取器2发送(3)等于模2和 z-M④6y0c的nL比特的一行二进制矢量Z (块120'),其中l是由微芯片1 根据概率法则随机抽取(块IIO,)的OL比特的一行噪声二进制矢量,该概率 法则确保^的每一比特在具有相等概率的情况下等于1、或者小于或等于比 1/2小的参数T7。为此,可根据具有参数/7 < 1/2的柏努利法则,而彼此独立 地随机抽取噪声矢量^的每一比特。也可从比特之和(汉明权)不大于具有/7 <1/2的值/7 xm的所有HL比特矢量中随机抽取噪声矢量^当然,可在微芯 片随机抽取二进制矢量b (如应记得的那样,用于遮蔽对矢量i的主动攻击) 的同时随机抽取噪声矢量^。
在每一迭代上,微芯片读取器2计算(块210')等于e-z④oX十W的m 比特的误差矢量g,其中i是^t芯片l发送的应答矢量,并且按照这种方式获 得误差矢量i的汉明权PH(e)(块220,)。
在l次迭代之后,从每次迭代中获得的误差矢量i的l个汉明权PH(e)、 以及其与作为概率/7的函数的参数的比较,来确定微芯片读取器2验证微芯 片1的接受或拒绝。
然后,几个策略是可能的。
图2中表示的第一策略是如果且仅如果L个误差矢量玍的汉明权之和S (块221')低于给定阈值T (块230'),例如等于K7 + s)w,其中e是低于I/2 的极限(margin )(可能为零),则接受认证(块240,)。
第二策略是如果且仅如果每次迭代中获得的误差矢量i的汉明权低于阈
值t,则4妻受认证。
最后,第三策略是如果且仅如果每次迭代中获得的误差矢量[的汉明权 等于值$,则接受认证。
在第二和第三策略中,参数L具有值(/7 + s—,其中e是小于I/2的极P艮(可 能为零)。
取值Fl、 n=256、 m=128、 ;; =0.25以及从具有汉明权32的长度128的 二进制矢量中随机抽取的噪声矢量5 (即,7 x m),如果且仅如果每次迭代 中的误差矢量i的权重精确等于值32 (这里,e=0),则在以上策略中的第三 策略下接受微芯片的认证。
9在该示例中,可以看出,交换的总长度仅为640比特,即(2n + m)比特。 相反,可以看出,错误警报率严格为零,而尝试[的随机值的攻击的错误肯 定率接近1(T8,这在实践中是完全可接受的。
在图2中,微芯片1和微芯片读取器2之间的交换顺序如下向微芯片 读取器发送b,向微芯片发送5,微芯片随机抽取£,和向微芯片读取器发送 2。无论如何必须注意的是,可同样好地使用不同顺序,即向微芯片发送5, 微芯片随机抽取k和g,和向微芯片读取器发送^和2。该顺序具有降低交换 次数的优点。
在显著降低用于存储矩阵X和Y所必需的存储器数量、以及微芯片和验 证实体要实行的计算的复杂性的实现中,可使用严格少于n x m的多个比特 从微芯片中定义的所有n x m矩阵的严格子集中选择矩阵X和Y中的每一个。 例如,当X和Y是Toeplitz矩阵(即,具有沿着对角线的恒定系数的矩阵, 其所有系数完全由第一行和第一列的系数确定)时,用于存储每一矩阵所必 需的存储器数量被降低为仅(n + m - 1)。如果X是Toeplitz矩阵并且如果、是 第i行和第j列的系数,如果i大于或等于i,则x,.,等于x,—,+u ,否则、等于气,_,+1 。
以下实现高度有效地逐比特地计算例如L的二进制矢量和例如X的 Toeplitz矩阵的乘积,该Toeplitz矩阵使用nL比特的两个寄存器借助于其第一 行和其第一列的(n + m- l)个系数来定义, 一个寄存器用于计算该矩阵的当前 行,而另一寄存器被初始化为0,用于累加该矢量矩阵乘积的部分结果。第 一寄存器用X的第一行来初始化,其后按照以下方式对矢量氐的每一比特进 行处理如果i的当前比特等于l,则使用异或运算符将X的当前行的值逐 比特地与部分结果累加寄存器的当前值组合。否则,不修改该寄存器的当前 值。或者,如果当前行不是矩阵X的最后一行,则通过将该寄存器的内容向 右旋转一 比特,随后将与新当前行对应的第 一列的系数拷贝到该寄存器的最 左单元,而更新包括该矩阵的当前行的寄存器。
如图3中所示,微芯片读取器2要认证的微芯片1 (这两个实体共享一 对私钥X和Y )包括用于存储包括n x m (n, m > l)二进制矩阵的私钥X和Y 的部件10、用于与微芯片读取器2通信的部件12、和适于将参考图2描述的
方法的步骤执行L次(rS l)的计算部件11:
.随机抽取L比特的二进制矢量^并将其发送到微芯片读取器2;
.从微芯片读取器2接收iL比特的二进制矢量
10-随机抽取HL比特的噪声二进制矢量g (所述HL比特中的每一个在小于 1/2的概率;/的情况下等于1),并计算等于z:"X十W④c的匡比特的应答矢 量并将其发送到微芯片读取器2。
类似地,在图4中可以看出,用于认证微芯片l的微芯片读取器2包括 用于存储包括n x m (n, m > l)二进制矩阵的私钥X和Y的部件20、用于与要 认证的微芯片l通信的部件22、和适于将参考图2描述的方法的步骤执行r 次(r^ 1)的计算部件21:
-从要认证的微芯片1接收jL比特的二进制矢量b;
-随机抽取OL比特的二进制矢量i并将其发送到微芯片1;
从^(效芯片1接收HL比特的应答矢量2;
'计算误差矢量e-zG"x④6:r的汉明权,并且如果L个误差矢量^_的汉
明权满足与作为概率 ;的函数的参数的比较的关系,则接受认证。具体来说,
如上面详细描述的那样,如果通过n次迭代获得的误差矢量L的汉明权之和
小于与阈值T相等的参数,则接受认证。
权利要求
1.一种由验证实体(2)认证实体(1)的方法,所述实体共享一对私钥X和Y,其特征在于所述私钥X和Y是n×m(n,m>1)二进制矩阵,所述方法包括重复r次(r≥1)的步骤·所述要认证的实体(1)和所述验证实体(2)交换由所述验证实体(2)和所述要认证的实体(1)分别随机抽取的n比特的二进制矢量a和b,并且所述要认证的实体(1)随机抽取m比特的噪声二进制矢量c,所述m比特中的每一个在小于1/2的概率η的情况下等于1,并且所述要认证的实体(1)计算等于 id="icf0001" file="A2008800171010002C1.tif" wi="28" he="3" top= "89" left = "42" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>的m比特的应答矢量z并将其发送到该验证实体(2);·该验证实体(2)计算误差矢量 id="icf0002" file="A2008800171010002C2.tif" wi="28" he="3" top= "97" left = "104" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>的汉明权;并然后·如果r个误差矢量e的汉明权满足与作为概率η的函数的参数(T,t)的比较的关系,则接受认证。
2. 根据权利要求l的方法,其中所述比较的关系使得通过L次迭代获得 的误差矢量丄的汉明权之和小于与阚值T相等的参数。
3. 根据权利要求2的方法,其中该阈值T具有值K;7 + 。m,其中s是小于1/2的极限。
4. 根据权利要求l的方法,其中所述比较关系使得在每一迭代中获得的 误差矢量[的汉明权小于与阈值L相等的参数。
5. 根据权利要求l的方法,其中所述比较关系使得在每一迭代中获得的 误差矢量丄的汉明权等于与阈值L相等的参数。
6. 根据权利要求4或权利要求5的方法,其中L具有值(W + 。附,其中s 是小于1/2的极限。
7. 根据权利要求1到6中的任一个的方法,其中所述矩阵X和Y是 丁oeplitz头巨P车。
8. —种要由验证实体(2)认证的实体,所述实体共享一对私钥X和Y, 其特征在于所述要认证的实体(1 )包括用于存储包括n x m (n, m > l)二进制 矩阵的私钥X和Y的部件(10 )、用于与验证实体(2 )通信的部件(12 )、 和适于将以下步骤实行L次(r2 l)的计算部件(11 ):-随机抽取IL比特的二进制矢量b,并将其发送到验证实体(2); -从验证实体(2)接收n比特的二进制矢量旦; 随机抽取nL比特的噪声二进制矢量e,所述HL比特中的每一个在小于1/2的概率 7的情况下等于1,并计算等于z:^T④W十c的OL比特的应答矢量l并将其发送到验证实体(2)。
9. 一种计算机程序,包括以下程序指令,当所述程序由形成要认证的实体(1)的所述计算部件(11)的部分的计算机执行时,用于执行权利要求8的步骤。
10. —种验证实体,与要认证的实体(1)共享一对私钥X和Y,其特征在于所述验证实体(2 )包括用于存储包括n x m (n, m > l)二进制矩阵的私钥X和Y的部件(20 )、用于与要认证的实体(1 )通信的部件(22 )、和适于将以下步骤实行H次(r2 l)的计算部件(21):.从要认证的实体(1 )接收iL比特的二进制矢量b;.随机抽取iL比特的二进制矢量^并将其发送到要认证的实体(1); 从要认证的实体(i)接收0L比特的应答矢量2;.计算误差矢量e-z0"z④6:r的汉明权,并且如果L个误差矢量玍的汉明权满足与作为预定概率 7的函数的参数(T,t)的比较的关系,则接受认证。
11. 一种计算机程序,包括以下程序指令,当所述程序由形成所述验证实体(2)的所述计算部件(21)的部分的计算机执行时,用于执行权利要求10的步骤。
全文摘要
由验证实体认证实体的方法,所述实体共享一对私钥X和Y。根据本发明,所述私钥X和Y是n×m二进制矩阵(n,m>1),所述方法包括重复r次(r≥1)的步骤包括所述要认证的实体(1)和所述验证实体(2)交换由所述验证实体(2)和所述要认证的实体(1)分别随机抽取的n比特的二进制矢量a和b;并且所述要认证的实体(1)随机抽取m比特的二进制噪声矢量c,所述m比特中的每一个在小于1/2的概率η的情况下等于1,并且所述要认证的实体(1)计算等于m比特的应答矢量z并将其发送到该验证实体(2),该验证实体计算误差矢量的汉明权(220’),然后如果r个误差矢量e的汉明权满足取决于概率η的参数(T)的比较关系(230’),则该验证实体接受(240’)认证。应用到密码协议以非常低的成本认证电子芯片。
文档编号H04L9/32GK101682510SQ200880017101
公开日2010年3月24日 申请日期2008年5月21日 优先权日2007年5月23日
发明者亨利·吉尔伯特, 马修·罗布肖 申请人:法国电信公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1