摘要:Zhou 和 Gollmann于1996年提出了一個(gè)簡(jiǎn)單有效的公平不可否認(rèn)協(xié)議,但Kim等人發(fā)現(xiàn)協(xié)議不具有時(shí)限性并提出了一個(gè)改進(jìn)方案,雖然該改進(jìn)方案解決了協(xié)議的時(shí)限性問(wèn)題,但卻導(dǎo)致了另一種攻擊——拒絕服務(wù)攻擊。針對(duì)這一攻擊,提出了一種新的改進(jìn)方法,分析表明改進(jìn)后的協(xié)議能提供時(shí)限性和公平性。
關(guān)鍵詞:不可否認(rèn)協(xié)議; 公平性; 時(shí)限性;拒絕服務(wù)攻擊
中圖分類號(hào):TP393
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2008)06-1809-03
0引言
隨著Internet上電子商務(wù)的不斷推廣,不可否認(rèn)服務(wù)顯得越來(lái)越重要。不可否認(rèn)的目的在于收集、維護(hù)、驗(yàn)證與一個(gè)事件或行為相關(guān)的不可抵賴的證據(jù),以便解決與該事件或行為是否發(fā)生相關(guān)的爭(zhēng)端[1]。要提供網(wǎng)絡(luò)通信的不可否認(rèn)服務(wù)就需要不可否認(rèn)協(xié)議。
對(duì)不可否認(rèn)協(xié)議的研究雖然相對(duì)落后于其他密碼協(xié)議,但近年來(lái)也有了很大的發(fā)展。雖然不可否認(rèn)協(xié)議及其技術(shù)多種多樣,但一個(gè)好的公平不可否認(rèn)協(xié)議至少應(yīng)具有如下兩個(gè)性質(zhì):公平性和時(shí)限性。前者是指協(xié)議應(yīng)該在運(yùn)行完成后,為信息產(chǎn)生者和接收者提供不可抵賴的證據(jù),且在協(xié)議執(zhí)行的任何階段都不會(huì)讓其中任何一方占優(yōu)勢(shì);后者是指如果至少一方是誠(chéng)實(shí)的,協(xié)議應(yīng)該能夠在有限的時(shí)間內(nèi)完成。
1996年,Zhou和 Gollmann 提出了一個(gè)不可否認(rèn)協(xié)議[2](簡(jiǎn)稱ZG協(xié)議)。在該協(xié)議中,發(fā)送者將待發(fā)送的信息分為信息密文和加密密鑰兩部分,并將密文直接發(fā)送給接收者,而將密鑰發(fā)送給TTP,然后TTP同時(shí)向發(fā)送者和接收者發(fā)送不可否認(rèn)證據(jù)。ZG協(xié)議提出后,得到了廣泛的討論和研究。除了公平性方面的問(wèn)題,ZG協(xié)議也不具有時(shí)限性。在ZG協(xié)議的特定情況下,接收者必須永久地保存一個(gè)未完成協(xié)議的部分證據(jù),否則發(fā)送者能夠獲得證據(jù)而接收者卻無(wú)法獲得信息和證據(jù)。Kim 等人[3]通過(guò)向協(xié)議消息中加入時(shí)間信息改進(jìn)了協(xié)議。2002年,Dimitrios等人在文獻(xiàn)[4]中提出對(duì)Kim等人的改進(jìn)協(xié)議可能產(chǎn)生的另外一種攻擊,本文針對(duì)這種攻擊提出了一種新的改進(jìn)辦法,分析表明改進(jìn)后的協(xié)議能較好滿足不可否認(rèn)協(xié)議的安全性質(zhì)。
1ZG協(xié)議的描述
以下簡(jiǎn)介協(xié)議的內(nèi)容,并采用以下的符號(hào)和記法:
A、B:不可否認(rèn)協(xié)議信息交互的發(fā)送者和接收者;
TTP:提供公共網(wǎng)絡(luò)訪問(wèn)服務(wù)的可信第三方;
J:不可否認(rèn)協(xié)議中解決爭(zhēng)端的仲裁者;
A→B:X:實(shí)體A向?qū)嶓wB發(fā)送信息X;
AB:X:實(shí)體A從實(shí)體B獲取信息X;
X、Y:兩個(gè)信息X和Y的連接;
eK(X):使用對(duì)稱加密技術(shù),用密鑰K將信息X加密;
dK(X):使用對(duì)稱加密技術(shù),用密鑰K將信息X解密;
PX、SX:實(shí)體X的公鑰和私鑰;
M、K、C:A要發(fā)給B的信息、用來(lái)加密信息的密鑰和加密后的密文,即C=eK(M);
L:標(biāo)志一次協(xié)議運(yùn)行中所有消息的惟一標(biāo)簽;
fNRO、 fNRR、 fSUB、 fCON:表示 Non-Repudiation of Origin, Non- Repudiation of Receipt、Submission of a key,Confirmation of a key的標(biāo)志。
ZG協(xié)議的基本思想是:將要發(fā)送給B的信息M分成兩部分,即密鑰K和密文C。首先,A將密文C發(fā)送給B,B以一個(gè)NRR作為響應(yīng);然后A將密鑰K發(fā)送給TTP,TTP將K放在公共目錄中,這樣,B就能從該目錄中獲得K,進(jìn)而解密C獲得M。同時(shí)A也能從TTP獲得證據(jù)con_K,協(xié)議的交互步驟如下:
a) A→B: fNRO,B,L,C,NRO
b) B→A: fNRR,A,L,NRR
c) A→TTP: fSUB,B,L,K,sub_K
d) BTTP: fCON,A,B,L,con_K
e) ATTP: fCON,A,B,L,con_K
協(xié)議運(yùn)行完成后,可能產(chǎn)生的爭(zhēng)端有兩種:a) B接收到A發(fā)送的M,但A否認(rèn)發(fā)送過(guò)M;b) A發(fā)送了M給B,但B否認(rèn)接收過(guò)M。對(duì)于a),B可以將M、C、K、L、不可否認(rèn)證據(jù)NRO和con_K提交給仲裁者J,J可以通過(guò)如下檢驗(yàn)來(lái)判斷A是否發(fā)送過(guò)信息M給B:
a)驗(yàn)證con_K是TTP對(duì)(fCON,A,B,L,K)的簽名;
b)驗(yàn)證NRO是A對(duì)(fNRO,B,L,C)的簽名;
c)驗(yàn)證M=dK(C)。
如果以上的三次驗(yàn)證都是正確的,仲裁者J就相信A發(fā)送過(guò)信息 M給B。如果接收者B稱他沒(méi)有收到來(lái)自A的信息M,則A可以將M、C、 K、L和不可否認(rèn)證據(jù)NRR,con_K提交給仲裁者J,J可以通過(guò)如下檢驗(yàn)來(lái)判斷B是否收到過(guò)A發(fā)送的信息M:
a)驗(yàn)證con_K是TTP對(duì)(fCON,A,B,L,K)的簽名;
b)驗(yàn)證NRR是B對(duì)(fNRR,A,L,C)的簽名;
c)驗(yàn)證M=dK(C)。
2Kim等人對(duì)ZG協(xié)議的改進(jìn)
ZG協(xié)議自1996年提出后,一直受到學(xué)術(shù)界的廣泛討論和分析,并發(fā)現(xiàn)了協(xié)議中存在的缺陷和不足。首先是公平性的問(wèn)題。ZG協(xié)議從理論上看是公平的,但在實(shí)現(xiàn)時(shí)會(huì)產(chǎn)生不公平的情況,使得發(fā)送方A處于有利的位置,而使得接收者B處于不利的位置。ZG協(xié)議的缺陷本質(zhì)上是由于協(xié)議本身沒(méi)有達(dá)到時(shí)限性的要求,即一次協(xié)議運(yùn)行可能會(huì)在協(xié)議開始后永遠(yuǎn)都不能完成。對(duì)于這個(gè)缺陷,Zhou和Gollmann提出了他們的改進(jìn)方案[2]。他們?cè)趨f(xié)議中加入了時(shí)間限制信息T和T0。其中:T是A和B能在TTP處獲得K和con_K的最終期限,TTP將在期限T過(guò)后將con_K從公共目錄中刪除;T0是TTP發(fā)布con_K的時(shí)間。如果B不同意TTP規(guī)定的T,它可以在第一步后就停止協(xié)議的執(zhí)行。這種改進(jìn)使得協(xié)議不但能確定事件是否發(fā)生,還能確定事件發(fā)生的時(shí)間。
改進(jìn)的協(xié)議只是在原協(xié)議的每一步中加入了時(shí)間限制信息,并沒(méi)有改變協(xié)議步驟和邏輯。所以,協(xié)議運(yùn)行后爭(zhēng)端的解決和原協(xié)議是一樣的。加入限制信息后,協(xié)議不但能迫使A在固定時(shí)間之前將K發(fā)出,還能證明事件發(fā)生的時(shí)間。根據(jù)以上協(xié)議信息,在一次協(xié)議運(yùn)行順利結(jié)束后,可以證明B在時(shí)間T0和T之間接收到了信息M。
但改進(jìn)后的協(xié)議仍然存在公平性的問(wèn)題。1999年,Kim 等人在文獻(xiàn)[3]中指出:Zhou和Gollmann改進(jìn)后的協(xié)議仍然存在與原協(xié)議同樣的問(wèn)題。如果A在最后期限T快到時(shí)才將sub_K發(fā)送給TTP,那么TTP就會(huì)在剛將con_K發(fā)布到目錄不久就將其刪除,這樣,B就必須在時(shí)間T附近不斷監(jiān)視TTP的公共目錄。而A可以在這個(gè)時(shí)候干擾網(wǎng)絡(luò)或者B的計(jì)算機(jī)系統(tǒng),防止B接收con_K。出現(xiàn)這樣的問(wèn)題是因?yàn)閰f(xié)議的控制權(quán)都在A手上,協(xié)議步驟的執(zhí)行時(shí)間都由A控制。為此,他們提出了一個(gè)更為徹底的改進(jìn)版本,主要思想是讓A和B共同來(lái)決定協(xié)議的時(shí)間,使得控制權(quán)不至于都掌握在A的手中。在以上改進(jìn)后的協(xié)議中,T和T0的作用與它們?cè)赯hou和Gollmann改進(jìn)中相同,增加的一個(gè)時(shí)間限制T1是由B規(guī)定的A必須將K發(fā)送給TTP的最遲時(shí)間。只要T1和T之間的時(shí)間足夠長(zhǎng),B就能在自己方便時(shí)(T1到T之間)從TTP的公共目錄獲得密鑰K和證據(jù)con_K。改進(jìn)后的協(xié)議在解決爭(zhēng)端時(shí),仲裁者除了要做ZG協(xié)議中的三次檢驗(yàn)外,還要檢驗(yàn)T0 3對(duì)ZG協(xié)議的一種新改進(jìn) 2002年,Dimitrios等人在文獻(xiàn)[4]中提出了對(duì)ZG協(xié)議可能產(chǎn)生的另外一種攻擊,在這里把這種攻擊命名為“拒絕服務(wù)攻擊”。這種攻擊主要是針對(duì)Zhou-Gollmann和Kim對(duì)原有ZG協(xié)議的改進(jìn)版本,具體攻擊步驟如下: a) A→TTP: fSUB, B,L,T,K,sub_K(Kim協(xié)議改進(jìn)版的第三步); b) ATTP: fCON,A,B,L,T0,K,con_K(Kim協(xié)議改進(jìn)版的第五步); c) A→B: fNRO,B,L,T,C,NRO(Kim協(xié)議改進(jìn)版的第一步); d)協(xié)議終止。 在這種攻擊方法中,惡意攻擊者A跳過(guò)了協(xié)議的第一步,直接執(zhí)行協(xié)議的第三步,然后等待TTP公布密鑰K和con_K, 然后A執(zhí)行協(xié)議的第五步。這一步驟完成后,A使用與前兩步相同的L、 T、 K再執(zhí)行協(xié)議的第一步。其中,T是A和B能在TTP處獲得K和con_K的最終期限,若此時(shí)B不能接受A確定的最終期限T,B將會(huì)拒絕繼續(xù)執(zhí)行而導(dǎo)致協(xié)議中止。TTP將會(huì)被要求刪除所有與此次協(xié)議相關(guān)的所有信息。從協(xié)議攻擊過(guò)程中看到,在A、B雙方?jīng)]有同時(shí)決定參與這次交易的情況下,TTP就已經(jīng)參與到了協(xié)議的執(zhí)行中。因?yàn)門TP無(wú)法分辨這種結(jié)果是惡意行為還是由于網(wǎng)絡(luò)故障產(chǎn)生的。如果惡意攻擊者A(或者合謀的惡意攻擊者)向TTP大量發(fā)送這種無(wú)效的請(qǐng)求,TTP在無(wú)法分辨合理和無(wú)效的請(qǐng)求的情況下,會(huì)導(dǎo)致拒絕服務(wù),從而使得TTP被淹沒(méi)變得不可用,最終使得協(xié)議無(wú)法提供不可否認(rèn)服務(wù)。 針對(duì)這種攻擊,同時(shí)為了進(jìn)一步提高協(xié)議信息的機(jī)密性,本文提出一種新的改進(jìn)方法。其中:Px表示實(shí)體X的公鑰;Encrk(m)表示用密鑰k加密信息m。協(xié)議中其余符號(hào)記法和意義與前面一樣,改進(jìn)的協(xié)議仍然假設(shè)A、B和TTP都有自己的簽名私鑰,并知道彼此的簽名驗(yàn)證公鑰,而且網(wǎng)絡(luò)不會(huì)永久不可用。 改進(jìn)后的協(xié)議交互步驟如下: NRO=sSA(fNRO,B,L,T,C) NRR=sSB(fNRR,A,L,T,T1,C) sub_K=sSA(fSUB,B,L,T,T1,K,NRR) con_K=sSTTP(fCON,A,B,L,T,T0,K) 其中:C=Encrk[EncrPB(M)] a) A→B: fNRO,B,L,T,C,NRO b) B→A: fNRR,A,L,T1,NRR c) A→TTP: fSUB,B,L,T,T1,K,NRR,sub_K d) ATTP: fCON,A,B,L,K,T0,con_K e) ATTP: fCON,A,B,L,K,T0,con_K 以下具體分析協(xié)議各個(gè)步驟執(zhí)行的要求和情況: 首先,A向B發(fā)送密文C和證據(jù)NRO, 并包含一個(gè)時(shí)間T,表示TTP將在時(shí)間T之前發(fā)布密鑰K和con_K,如果B不同意時(shí)間限制T,可以中止協(xié)議運(yùn)行;如果B同意時(shí)間限制T,則向A發(fā)送確認(rèn)信息NRR和時(shí)間T1,T1是B定義的一個(gè)限制時(shí)間,表示A必須在T1之前將K提交給TTP。顯然,T1 以下以兩種爭(zhēng)端中的一種為例說(shuō)明該改進(jìn)中爭(zhēng)端解決的過(guò)程。當(dāng)B否認(rèn)收到A發(fā)送的信息M時(shí),A可以向仲裁者J提交M、C、K、L、T、T1、T0和證據(jù)NRR,con_K。仲裁者J進(jìn)行以下驗(yàn)證確定B是否收到了M: a)驗(yàn)證con_K是TTP對(duì)(fCON,A,B,L,T,T0,K)的簽名; b)驗(yàn)證NRR是B對(duì)(fNRR,A,L,T,T1,C)的簽名; c)驗(yàn)證T0<T1<T; d)驗(yàn)證EncrPB(M)=dK(C)。 4改進(jìn)協(xié)議的安全性質(zhì)分析 1)保密性在改進(jìn)的協(xié)議中,由于在第一步中A向B發(fā)送的密文C=Encrk[EncrPB(M)],即使攻擊者在協(xié)議的第四步或者第五步得到了解密密鑰K,它解密密文C得到的只是EncrPB(M),沒(méi)有B的私鑰他仍然得不到信息M,因此保證了協(xié)議信息的機(jī)密性。 2)公平性A首先將密文C、最后時(shí)間期限T和證據(jù)NRO發(fā)給B。如果信息沒(méi)有到達(dá)B或者B收到信息后不執(zhí)行第二步,則協(xié)議中止。此時(shí),B無(wú)法解密C,A也沒(méi)有足夠的證據(jù)證明B獲得了M,協(xié)議是公平的;如果B收到信息后執(zhí)行了第二步,信息沒(méi)有到達(dá)A或者A收到信息后不執(zhí)行第三步,協(xié)議中止,雙方都沒(méi)有有效的證據(jù)來(lái)證明對(duì)方發(fā)送或者接收了信息,協(xié)議也是公平的。在協(xié)議的第三步執(zhí)行后,TTP將檢驗(yàn)時(shí)間信息T、T1和證據(jù)NRR、sub_K的有效性,若檢驗(yàn)通過(guò),TTP就將產(chǎn)生證據(jù)并在自己的公共目錄中發(fā)布時(shí)間信息T0、密鑰K及證據(jù)con_K,A、B就會(huì)在指定的最后時(shí)間期限T之前取到他們各自所需要的信息,協(xié)議保證了公平性。若TTP的檢驗(yàn)沒(méi)有通過(guò),TTP將不會(huì)產(chǎn)生證據(jù),并且將會(huì)在時(shí)間期限T之前刪除與本次協(xié)議運(yùn)行相關(guān)的所有信息,當(dāng)然A、B也就得不到他們想要的信息,也就沒(méi)有足夠的證據(jù)來(lái)說(shuō)明對(duì)方發(fā)送或者接收了信息,協(xié)議仍然保持了公平性。 3)時(shí)限性由于A、B均規(guī)定了自己的時(shí)間期限T、T1,而且其時(shí)間信息是相互制約的,他們就都不會(huì)拖延協(xié)議步驟執(zhí)行的時(shí)間,協(xié)議就會(huì)在協(xié)議運(yùn)行開始后的有限時(shí)間內(nèi)結(jié)束,因此保證了時(shí)限性要求。 4)可靠性很明顯,改進(jìn)的協(xié)議是可靠的。如果A、B都是誠(chéng)實(shí)的,協(xié)議順利完成后,其都能獲得足夠的證據(jù)來(lái)證明通信事件的發(fā)生。 從上述協(xié)議的分析中可以看到,協(xié)議滿足了不可否認(rèn)協(xié)議的基本要求,即保密性、公平性、時(shí)限性和可靠性。 5結(jié)束語(yǔ) 隨著電子商務(wù)等網(wǎng)絡(luò)經(jīng)濟(jì)活動(dòng)的不斷發(fā)展,對(duì)不可否認(rèn)協(xié)議的研究顯得越來(lái)越重要。ZG協(xié)議是Zhou和Gollmann于1996年提出的一個(gè)公平不可否認(rèn)協(xié)議。本文針對(duì)文獻(xiàn)[4]中提出的一種對(duì)ZG協(xié)議的攻擊提出了改進(jìn)措施,改進(jìn)后的協(xié)議保持了協(xié)議交互次數(shù)少的特點(diǎn),對(duì)TTP的依賴比較少,滿足了不可否認(rèn)協(xié)議的安全性質(zhì),而且避免了前面提到的拒絕服務(wù)攻擊。 參考文獻(xiàn): [1]ITU-T Recommendation X.813.Information technology-open systems interconnection-security frameworks in open systems: non-repudiation framework[S]. [S.l.]: ISO/IEC 10181-4, 1996. [2]ZHOU J, GOLLMANN D. A fair non-repudiation protocol[C] //Proc of IEEE Symposium on Security and Privacy. Oakland, California: IEEE Computer Security Press, 1996: 55-61. [3]KIM K, PARK S, BAEK J. Improving fairness and privacy of ZhouGollmann’s fair non-repudiation protocol[C] //Proc of ICPP Workshops on Security. Las Alamitos, CA, USA: IEEE Computer Society, 1999: 140-145. [4]PETROPOULOS D, KOTZANIKOLAOU P. Some more improvements on a fair non-repudiation protocol[J]. Journal of Internet Techno-logy, 2003, 4(4):225-259. 注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文