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