胡建軍,鄭偉強(qiáng),王萬軍,邢玉娟,李恒杰
(甘肅聯(lián)合大學(xué) 電子信息工程學(xué)院,甘肅 蘭州730000)
認(rèn)證協(xié)議是網(wǎng)絡(luò)實(shí)體安全通信的基礎(chǔ)。1978年NEEDHAM 和SCHROEDER 提出的雙向認(rèn)證協(xié)議(簡稱NS 協(xié)議)具有里程碑意義[1]。在此之后,許多經(jīng)典的雙向認(rèn)證協(xié)議在NS 協(xié)議的基礎(chǔ)上發(fā)展起來,如Otway-Rees 協(xié)議、Yahalom 協(xié)議、RPC 協(xié)議、Helsinki 協(xié)議和Woo-Lam 協(xié)議等。然而這些協(xié)議都存在一定的缺陷,因此,許多學(xué)者就各自協(xié)議存在的可能攻擊提出了改進(jìn)方法[2-4]。
無論是經(jīng)典的三方認(rèn)證協(xié)議(如NS 協(xié)議、Otway-Rees 協(xié)議、Yahalom 協(xié)議和Woo-Lam 協(xié)議等)還是改進(jìn)的三方認(rèn)證協(xié)議都需要認(rèn)證服務(wù)器參與認(rèn)證,這使得認(rèn)證服務(wù)器負(fù)擔(dān)太重,并且由于網(wǎng)內(nèi)的每個(gè)認(rèn)證實(shí)體均需要保存他們與認(rèn)證服務(wù)器的共享密鑰以及其他認(rèn)證實(shí)體的共享密鑰,因此每個(gè)認(rèn)證實(shí)體需要大量的存儲(chǔ)空間來保存其他實(shí)體的共享密鑰,這種現(xiàn)象對(duì)于資源較為緊缺的網(wǎng)絡(luò)而言是不希望的。為此,筆者借鑒NSSK 協(xié)議(NSSK 協(xié)議是NS 協(xié)議的一種)的思想,提出一種基于零知識(shí)證明的雙向認(rèn)證方案,簡稱ENS 協(xié)議,該方案通過認(rèn)證雙方自身的能力實(shí)現(xiàn)認(rèn)證,同時(shí)運(yùn)行效率又高于NSSK 協(xié)議。
為敘述簡便,首先做如下約定:A→B∶M 為消息M 由實(shí)體A 發(fā)送給實(shí)體B;Ka為實(shí)體A 的共享公鑰;Kab=[Ka]b=[Kb]a為實(shí)體A 和B 的共享公鑰;Kax=[Ka]x為具有x 新鮮性值實(shí)體A 的臨時(shí)公鑰;[Kab]-a=Kb為解密。
在介紹ENS 協(xié)議之前,首先介紹NSSK 協(xié)議的運(yùn)行。NSSK 協(xié)議的運(yùn)行描述如下[5-6]:
ENS 協(xié)議與NSSK 一樣,需要5 步完成認(rèn)證。ENS 協(xié)議的運(yùn)行描述如下:
ENS 協(xié)議的認(rèn)證過程如圖1 所示。
圖1 ENS 協(xié)議的認(rèn)證過程
盡管兩個(gè)協(xié)議都需要5 步認(rèn)證過程,但是ENS 協(xié)議與NSSK 協(xié)議相比具有較大的差異,主要表現(xiàn)在:
(1)ENS 協(xié)議是一種安全的認(rèn)證協(xié)議,而NSSK 協(xié)議存在重放攻擊的威脅;
(2)ENS 協(xié)議的實(shí)體A 與B 無需保存與服務(wù)器的共享密鑰以及雙方的共享密鑰(服務(wù)器提供對(duì)方的共享密鑰),因而節(jié)約了通信實(shí)體的存儲(chǔ)空間,而NSSK 協(xié)議的實(shí)體A 與B 需要保存與服務(wù)器的共享密鑰Ks以及對(duì)方的共享密鑰Ka,浪費(fèi)了較大的存儲(chǔ)空間;
(3)ENS 協(xié)議使用了臨時(shí)公鑰,這使得公鑰的更新周期變長,日常維護(hù)工作負(fù)擔(dān)減輕,而NSSK 協(xié)議為避免攻擊,要經(jīng)常變更實(shí)體的私鑰以及在短周期內(nèi)更新服務(wù)器的私鑰,同時(shí)還要將變更了的服務(wù)器公鑰及時(shí)分發(fā)給各通信實(shí)體,網(wǎng)絡(luò)的運(yùn)行負(fù)擔(dān)較重。
目前普遍認(rèn)可的協(xié)議形式化分析方法有形式邏輯、模型檢測和定理證明3 類。形式邏輯的優(yōu)點(diǎn)是推理簡潔,但正確性不高;模型檢測具有分析徹底的優(yōu)點(diǎn),但存在狀態(tài)爆炸問題;定理證明試圖結(jié)合形式邏輯和模型檢測的優(yōu)點(diǎn),但證明過程復(fù)雜且難于掌握[7-10]。因此,用文獻(xiàn)[8]提出的方法來驗(yàn)證ENS 協(xié)議的安全性。
(1)按照消息事件的先后次序,找出所有的“挑戰(zhàn)-響應(yīng)”對(duì),共有3 對(duì),即(1,2)、(3,4)和(4,5)。
(2)構(gòu)造每個(gè)“挑戰(zhàn)-響應(yīng)”對(duì)的消息集合:
由于協(xié)議的所有“挑戰(zhàn)-響應(yīng)”對(duì)滿足關(guān)聯(lián)性、無冗余、保密性和可識(shí)別,因此協(xié)議是安全的。
不同的密碼協(xié)議存在著不同的攻擊方式,一般而言,可以分為重放攻擊、類型攻擊、并行會(huì)話攻擊、與實(shí)現(xiàn)相關(guān)的攻擊、綁定攻擊和封裝攻擊等,其中最常見的是重放攻擊。下面僅以重放攻擊為例證明ENS 協(xié)議是安全性的。
筆者提出一種改進(jìn)的NSSK 雙向認(rèn)證協(xié)議,即ENS 協(xié)議。與NSSK 協(xié)議相比,該協(xié)議節(jié)約了客戶端的存儲(chǔ)空間,即客戶端無需存儲(chǔ)每個(gè)對(duì)等實(shí)體的公鑰和共享公鑰信息,同時(shí)也節(jié)約了服務(wù)器的存儲(chǔ)空間,其安全性更強(qiáng)。
[1] NEEDHAM R M,SCHROEDER M D.Using encryption for authentication in large network of computer[J].Communication of the ACM,1978,21(12):993-999.
[2] DOROTHY E D,GIOVANNI M S.Timestamps in key distribution protocols[J].Communication of the ACM,1981,24(8):533-536.
[3] GAVIN L.Breaking and fixing the needham-schroeder public-key protocol using FDR[C]//Proceedings of Tools and Algorithms for the Construction and Analysis of Systems.[S.l.]:Apringer Verlag,1996:147-166.
[4] MITCHELL C J,YEUN C Y. Fixing a problem in the helsinki protocol[J]. Operating Systems Review,1998(32):21-24.
[5] 胡建軍,王偉. 一種基于ELGamal 數(shù)字簽名的雙向認(rèn)證方案[J].計(jì)算機(jī)工程,2010,36(6):173-174.
[6] 卿斯?jié)h. 安全協(xié)議[M]. 北京:清華大學(xué)出版社,2005:78-98.
[7] 王亞弟,束妮娜.密碼協(xié)議形式化分析[M]. 北京:機(jī)械工業(yè)出版社,2006:38-48.
[8] 胡建軍.一種新的協(xié)議安全性分析方法[J].計(jì)算機(jī)工程,2009,35(10):168-172.
[9] 周清雷,王峰,趙東明. NSSK 協(xié)議的串空間模型及分析[J].微計(jì)算機(jī)信息,2007,23(7-3):51-53.
[10]王昕,袁超偉. 一種安全協(xié)議的形式化分析方法[J]. 計(jì)算機(jī)工程,2010,36(7):82-86.