1非否认协议卢先领江南大学???学院2非否认协议非否认协议是为了防止不诚实者否认他们参与了某项事务而拒绝承担相应的责任而设计的协议。要求:(1)确保通信主体不能对通信事件抵赖;(2)确保在协议执行的任何阶段,任何通信主体不能获得优于其他主体的好处。实现第一个:通过使协议通信各方获得可证明通信事件或动作发生过的证据,以防止利益方抵赖;实现第二个:保证协议的公平性。3非否认服务非否认服务的目的是为某一特定事件的参与双方提供证据,使他们对自己的行为负责。非否认服务可以通过协议的形式提供。为了使通信的参与方对他们的行为负责,要求:(1)发送方非否认,即提供一种保护使得发送方不能否认他发送过某条消息;(2)接收方非否认,即提供一种保护使得接收方不能否认他接收过某条消息。非否认服务还应当满足公平性,即如果服务在任何一步异常终止,则发送方和接收方都不能得到额外的利益。一旦通信双方发生了争执,就需要由仲裁中心解决争端4非否认服务非否认服务收集、维护、公布和验证那些与某个事件或动作相关的不可抵赖的证据,并将这些证据用于解决参与通信的双方的争执。非否认证据:(1)发送方非否认证据(evidenceoforigin,EOO),非否认服务向接收方提供不可抵赖的证据,证明接收到的消息的来源。(2)接收方非否认证据(evidenceofreceipt,EOR),非否认服务向发送方提供不可抵赖的证据,证明接收方已收到了某条信息。5非否认协议的步骤非否认协议必须提供无可辩驳的证据快速解决纠纷。非否认协议中,一个可信的第三方(TTP)帮助完成这个目标。为了实现非否认服务,非否认协议必须包含如下步骤:(1)服务请求:一个计划好的非否认服务的应用必须在关键行为发生之前被承认。(2)证据产生:证据产生与关键行为相关联,而且由一方或操作一致的某几方组成的群体来完成。关键行为的潜在否定者的那一方需要参与证据产生,可信第三方也应该参与。6非否认协议的步骤(3)证据传递和储存。关键行为发生后,证据已经产生,证据要被传递到最终需要使用的一方或几方,或被可信第三方储存可能作为将来的参考。(4)证据验证。为了让各方信任证据将会足以应付纠纷引发的事件,有必要核对被传递的或被可信地保存着的证据。(5)纠纷解决。纠纷可发生在那些阶段之后不久(如在同一个通信会话中)但更可能发生在之后很久(如几年以后)。如果这一阶段发生的话,必须找回证据,重新核实它,然后解决纠纷。这里需要一个仲裁者,假定为一个第三方,如法庭。7非否认协议的性质(1)非否认性在电子交易中两种可能性的情况:消息可能是真实的或伪造的;消息可能是发送给接收方或者根本没有发送;消息可能到达接收方或者在发送过程中丢失;消息到达接收方时可能是完整的或者是被破坏的;消息可能到达或者被延迟发送。8非否认协议的性质①否认拥有某个消息;②否认发送过某个消息;③否认接收到某个消息;④否认在规定的时间内收到或发送过消息。非否认服务的目的是为特定事件的参与双方提供证据,非否认服务可以由非否认协议提供。9非否认协议的性质(2)可追究性可追究性在某些情况下可以看作是对非否认性的另一个角度的陈述。比如,一个主体不能向其他方否认自己曾经参与通信事件A的话,那么当它否认参与事件A时,而这样的否认又影响了其他方的利益,那么其他方就可以追究它参与过事件A的责任。可以保证这种追究有效的协议我们称之为具有可追究性。10非否认协议的性质(3)公平性定义1:一个协议是公平的,当协议结束时它提供给消息发送方和接收方合法的不可反驳的证据,同时在协议运行的任何阶段任何一方不能获得优于对方的好处。定义2:一个协议是强公平的,它满足定义1。以强公平性为设计目标的协议,无论在执行过程或者执行完毕后,都不会让通信各方获得优于其他方的好处。11非否认协议的性质定义3:一个协议是弱公平的,如果协议或者到达强公平的结果,或者协议中的通信方有机会通过不正当的行为获得优于其余各方的好处,但其余的通信方可以向仲裁机构证明对方的不正当行为或可以通过正当行为抵消自己已经获得的优势。定义4:一个非否认协议是概率公平的,如果协议或者达到弱公平协议的结果,或者一方仅有小到可忽略的机会通过不正当行为获得优于其他方的好处。12非否认协议的性质(4)时限性如果参与一次通信的各方主体中,至少有一方是诚实的,那么协议应该在有限的时间内完成。时限性如果不能得以满足,可能会影响到公平性。由于非否认协议中往往要求参与通信的各方保留一定的证据,而通信方的计算和存储资源是有限的,因此,任何的通信方都不可能永远保存一些尚未完成的通信所产生的部分证据,相反,通信方需要在一定期限后能够删除这些部分证据,而又不能损害己方的利益。这样的效果需要具有时限性的协议来保证。13非否认协议的性质(5)非滥用性即协议中的通信方没有权利在任何时刻向协议以外的实体证明他可以随意选择终止或完成协议。打个比方,甲方想通过数字合同来卖房子给乙方,乙方已经签订,但是甲方仍未签订,甲方此时将乙方的订单给丙方看,欲以此来显示自己可以将房子以合同中的价格卖给乙方,而游说丙方以高于乙方的价格来买房子。这是乙方不愿意看到的情况。如果合同协议能杜绝这样的情况,那么我们称该合同协议具有非滥用性。14一个非否认协议的例子rab:请求发起本次非否认协议的标志,例如序列号;r1:EOO标志;r2:EOR标志;i1:A拥有Kab的标志;i2:B拥有Kab且A发送M的标志;i3:B收到M的标志;SENVa():主体A的安全封装。SENV表示数据项的一种具有特殊构造的集合,使接收方可以验证其来源与完整性。这里需要强调的是,标志rab、r1和r2是通常意义下的标志。标志i1、i2和i3用来表示消息的发送者相信该标志所指明的事实,只有可信第三方TTP才能在他发送的消息中使用这些特殊的标志i1、i2和i3。因此,主体A收到TTP发送的i1标志时,他也相信i1指明的事实。15一个非否认协议的例子ABTTP12345616一个非否认协议的例子1.A→TTP:rab,NaA向TTP请求发起非否认协议。2.TTP→A:SENVa(i1,Na,Nttp,Kab)TTP通过安全封装向A发送会话密钥Kab。3.A→B:{M}Kab,EOO=SENVa(r1,Nttp,{M}Kab)A向B发送EOO及{M}Kab。如果B由于某种原因不同意接收消息M,他可以在此终止协议的运行,不会引起任何争议。4.B→TTP:EOO,EOR=SENVb(r2,Nb,{M}Kab)如果B在第(3)步后同意继续执行协议,就将收到的EOO转发给TTP,并向TTP发送EOR。17一个非否认协议的例子5.TTP→B:SENVb(i2,Nb,Kab)如果TTP证实EOO与EOR的正确性,就通过安全封装协议向B发送Kab,并通知B:TTP相信A在协议的本次运行中发送了消息M。否则,TTP终止协议的执行,不会引起协议的任何争议。6.TTP→A:SENVa(i3,Na)如果TTP证实EOO与EOR的正确性,就通知A:TTP相信B收到了消息M。否则,TTP终止协议的执行,不会引起任何争议。18一个非否认协议的例子上述非否认协议执行结束时,主体A通过可信第三方TTP发送的新鲜的会话密钥Kab,成功地发送{M}Kab给主体B。B解密{M}Kab之后,成功地收到消息M。并且,A不能否认他发送过消息M;B也不能否认收到过消息M。协议执行结束后如果发生争议,可以通过TTP或ADJ进行公平的仲裁。TTP和ADJ记可以是两个不同的角色,也可以是同一个角色,根据具体的应用环境决定。19非否认协议中的可信第三方三类TTP协议TTP的角色一个简单的例子20三类TTP协议内联TTP(inlineTTP)非否认协议:TTP参与协议交互过程中每一条消息的传输。协议中,TTP扮演协议主体之间的中介角色。协议主体之间不交换任何信息,协议主体之间所交换的消息都通过TTP进行。此外,TTP直接提供可信第三方的各种服务。在线TTP(onlineTTP)非否认协议:TTP参与协议的每一次运行,但并不参与交互过程中每一条消息的传输。每次需要提供可信第三方的服务时,TTP都直接参与。离线TTP(offlineTTP)非否认协议:如果TTP只在协议执行出现非正常情况或者网络出现错误的时候参与协议。21TTP的角色(1)证书中心证书中心负责为参加认证的主体颁发公开密钥证书,公开密钥证书中包含主体名、主体的公开密钥、公开密钥的有效期等。(2)公证中心参与协议的主体相信公证中心能够提供正确的证据,并为他们验证数据的正确性和数据交换的正确性。(3)交付中心作为交付中心,参与协议的主体相信TTP能正确地将消息传送给对方并提供相应的证据。22TTP的角色(4)仲裁中心可信第三方服务的最终目的是解决有关某一事件是否发生的争议。仲裁中心能够根据争议双方提供的证据作出正确的判断。除非争议发生,仲裁中心一般不参与可信第三方服务。(5)时戳中心可信第三方提供在非否认证据中加入可信时戳的服务。23一个简单的例子fEOO:EOO字段,说明该消息发送EOO证据;fEOR:EOR字段,说明该消息发送EOR证据;EOO={fEOO,TTP,B,m}KA-1EOD={fEOR,A,B,m}KTTP-124ABTTP13225一个简单的例子A→TTP:fEOO,TTP,B,m,EOOTTP→B:fEOO,TTP,B,m,EOOTTP→A:fEOR,A,B,EOD在上述协议中,TTP作为交付中心,忠实地将A发送的消息传送给B,并向A提供非否认交付证据EOD。当然,EOD与EOR是不同的。26Markowitch和Roggeman协议假设Alice想发送消息m和起源的非否认证据给Bob来交换Bob接受的非否认证据,在这个协议中,在协议结束之前,Alice不会发现对自己不利而中止协议。类似地,如果Bob在最后一次发送时中止了协议,他不会得到任何利益。Bob进行欺骗的唯一方法是获取Alice的消息和相应的起源非否认证据来猜测协议中交换的次数。这个交换次数是由Alice随机选取的。27Markowitch和Roggeman协议在这个协议中会产生如下的证据:密文c来源的证据:EOO=SigA(fEOO,B,l,c);密文c接收的证据:EOR=SigB(fEOR,A,l,c);值vi来源的证据:EOOk,i=SigA(fEOOk,i,B,l,vi);值vi接收的证据:EORk,i=SigB(fEORk,i,A,l,vi);起源证据的非否认:NRO={EOO,EOOk,n};接受证据的非否认:NRR={EOR,EORk,n}。28Markowitch和Roggeman协议1.A→B:fEOO,B,l,c,EOO2.B→A:fEOR,A,l,EOR3.A→B:fEOOk,1,B,l,1,r1,EOOk,14.B→A:fEORk,1,A,l,EORk,1…2n-1.A→B:fEOOk,n-1,B,l,n–1,rn-1,EOOk,n-12n.B→A:fEORk,n-1,A,l,EORk,n-12n+1.A→B:fEOOk,n,B,l,n,rn,EOOk,n2n+2.B→A:fEORk,n,A,l,EORk,n29Markowitch和Roggeman协议n保密B测试发送过来的随机数vi是否为正确的密钥所花费的时间足够长,超过规定的发生EORk,i的时限当B正确猜测出n的值时(不发送最后一条消息),协议失败30Zhou-Gollman协议A→B:Sa(fNRO||B||l||c)B→A:Sb(fNRR||A||l||c)A→T:Sa(fSUB||B||l||K)BT:St(fCON||A||B||l||K)AT:St(fCON||A||B||l||K)31Zhou-Gollman协议TTPAB1234532Zhou-Gollman协议其中A为发送方,B为接