理论教育 安全协议第2版:无须仲裁者的同时签约

安全协议第2版:无须仲裁者的同时签约

时间:2023-10-28 理论教育 版权反馈
【摘要】:Alice和Bob二者用每个DES密钥对加密他们的消息对,左半消息用密钥对中的左密钥,右半消息用密钥对中的右密钥。Alice和Bob解密剩余一半消息对,合约被签署。在第步和第步中,Alice可以通过送给Bob一批毫无意义的比特字符串来破坏这个协议。有一个Alice可以进行欺骗的办法,即她可以在第步中发给Bob相同的消息。Bob直到协议结束都不能察觉这一点,但是他可以使用协议副本让法官相信Alice的欺骗行为。

安全协议第2版:无须仲裁者的同时签约

这种密码协议使用了同样的小步进方法。在协议描述中使用了DES,但也可以用任一种对称加密算法。

(1)Alice和Bob二者随机选择2n个DES密钥,分成一对对的,共n对。

(2)Alice和Bob都产生n对消息,如Ln和Rn:“这是我的第i个签名的左半部分”和“这是我的第i个签名的右半部分”。标识符i从1取到n。每份消息可能也包含合约的数字签名以及时间戳。如果另一方能产生一个单签名对的两半Li和Ri,那么就认为合约已被签署。

(3)Alice和Bob二者用每个DES密钥对加密他们的消息对,左半消息用密钥对中的左密钥,右半消息用密钥对中的右密钥。

(4)Alice和Bob相互发送给对方2n份加密消息,弄清哪份消息是哪对消息的哪一半。

(5)Alice和Bob利用每一对的不经意传输协议相互送给对方,即Alice送给Bob或用于独立地加密n对消息中每一对左半消息的密钥,或用于加密右半消息的密钥。Bob也这样做。他们可以交替地发送这些“半消息”或者先送100对,接着再送其余的——这都没有关系。现在Alice和Bob都有每一对密钥中的一个密钥,但都不知道对方有哪一半。

(6)Alice和Bob用收到的密钥解密他们能解的那一半消息。他们确信解密消息是有效的。

(7)Alice和Bob都把所有2n个DES密钥的第一个比特发送给对方,并验证正确性。

(8)Alice和Bob对所有2n个DES密钥的第二个比特、第三个比特重复步骤(7),如此继续下去,直到所有DES密钥的所有比特都被传送出去。

(9)Alice和Bob解密剩余一半消息对,合约被签署。(www.daowen.com)

(10)Alice和Bob交换在第(5)步的不经意传输中使用的私钥,并且各方验证对方没有欺骗。

这里Alice和Bob必须通过所有步骤,为什么呢?让我们假设Alice想要欺骗,看看会发生什么。在第(4)步和第(5)步中,Alice可以通过送给Bob一批毫无意义的比特字符串来破坏这个协议。Bob能在第(6)步中发现这一点,即在他试图解密他收到的那一半时,Bob就可以安全地停止执行协议,此后Alice便不能解密Bob的任何消息对。

如果Alice非常聪明,她可能只破坏协议的一半。她可以正确地送出每对的一半,但送一个毫无意义的字符串作为另一半。Bob只有50%的机会收到正确的一半,故Alice在一半的时间里可以进行欺骗。但是,这只能在只有一对密钥的情况下起作用。如果有两对密钥,这类欺骗可在25%的时间里成功。这就是n必须很大的原因。Alice必须正确地猜出n次不经意传输协议的结果;她有1/2n的机会成功。如果n=10,Alice有1/1 024的机会欺骗Bob。

Alice也可以在第(8)步中给Bob发送随机比特。也许Bob直到收到了全部密钥并试图解密余下的一半消息时才知道Alice送给他的是随机比特。但是,Bob这边也有机会发现。他已经收到了密钥的一半,并且Alice不知道是哪一半。如果n足够大,Alice确实送给他一个无意义的比特到他已收到的密钥中,则他能立即发现Alice在试图欺骗他。

也许Alice将继续执行第(8)步直到她有足够多的密钥比特使用穷举攻击,然后再停止传送比特。DES有一个56比特长的密钥。如果她收到56比特中的40个比特,她只需试验216(65 536)个密钥便能读出这份消息——这个任务对计算机来说当然是轻而易举的。但是Bob有同样多数量的密钥比特(或最坏是少一个比特),故他也可以读出消息。Alice除了继续这个协议外别无选择。

基本点是Alice必须公正地进行这个协议,因为要欺骗Bob的机会太小。在协议结束时,双方都有n个签名消息时,其中之一就足以作为一个有效的签名。

有一个Alice可以进行欺骗的办法,即她可以在第(5)步中发给Bob相同的消息。Bob直到协议结束都不能察觉这一点,但是他可以使用协议副本让法官相信Alice的欺骗行为。

这类协议有两个弱点。第一,如果一方有比另一方强大得多的计算能力,就会产生一个问题。例如,如果Alice使用穷举攻击的速度比Bob快,那么她能在第(8)步中较早地停止发送比特,并自己推算出Bob的密钥。Bob不能在一个合理的时间内同样做到这一步,将会很不幸。

第二,如果一方提前终止协议,也会产生一个问题。如果Alice突然终止协议,双方都面对同样的计算量,但Bob没有任何实际合法的追索权,例如,如果合约要求Bob在一周内做一些事,要求Alice在两年内做一些事,Alice在某一时刻终止协议,假设双方穷举密钥的时间为一年,那么就有了一个问题,Bob必须在一周内完成合约,而此时Bob没有获得Alice的签名。

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

我要反馈