摘 要: 提出了一種基于數(shù)字簽名和公鑰" title="公鑰">公鑰加密的認(rèn)證與密鑰協(xié)商方案,該方案可以實(shí)現(xiàn)移動用戶與移動服務(wù)提供商" title="服務(wù)提供商">服務(wù)提供商的互認(rèn)證和密鑰協(xié)商。協(xié)議在移動用戶端只進(jìn)行雜湊運(yùn)算,計算量小,可靠性高,比較適合移動通信" title="移動通信">移動通信環(huán)境。
關(guān)鍵詞: 移動通信 公鑰? 會話密鑰? 雙向認(rèn)證
?
無線通信技術(shù)的迅速發(fā)展,使移動通信以及以移動網(wǎng)絡(luò)為平臺的應(yīng)用得到越來越多的重視和推廣。然而,對于用戶和運(yùn)營商,安全卻是一個關(guān)鍵問題。移動通信中的認(rèn)證與密鑰協(xié)商方案又一直是人們研究的重點(diǎn)。利用基于公鑰的認(rèn)證體制構(gòu)造用戶認(rèn)證協(xié)議,不要求保密通信雙方共享任何秘密信息,可以簡化密鑰的管理問題,但公鑰密碼存在算法比較復(fù)雜、計算量大等缺點(diǎn),特別是運(yùn)用于計算能力" title="計算能力">計算能力有限的移動終端上,會為高速率的數(shù)據(jù)通信帶來瓶頸。為了最大限度地發(fā)揮公鑰認(rèn)證體制的優(yōu)點(diǎn),克服缺點(diǎn),本文提出一種適用于移動通信的公鑰認(rèn)證協(xié)議,移動用戶端只需完成計算量很小的雜湊運(yùn)算就可以實(shí)現(xiàn)認(rèn)證與密鑰協(xié)商,從而有效地提高通信速率。
1 認(rèn)證與密鑰協(xié)商協(xié)議
1.1協(xié)議設(shè)計原則
移動通信的終端設(shè)備多以運(yùn)算能力相對較弱、存儲量較小的智能卡為主,并且通信信道為無線信道。因此,從移動臺的計算能力和信道的開放特性出發(fā),協(xié)議應(yīng)遵循以下原則:(1)盡量減少移動臺計算量。為此,在移動臺端使用雜湊函數(shù)替代公鑰加密算法,因為單純的雜湊運(yùn)算比公鑰加密運(yùn)算簡單很多,可以在很大程度上減小移動臺的負(fù)擔(dān)。(2)盡量減少敏感信息在協(xié)議中的傳輸。由于移動通信信道具有開放式,出于安全性考慮,應(yīng)盡可能地將需要傳送的敏感信息(如會話密鑰)轉(zhuǎn)變?yōu)槠渌问降男畔?從而避免關(guān)鍵加密信息的泄漏。
另外,本文假設(shè)協(xié)議中所涉及到的公鑰加密與數(shù)字簽名算法都是安全的,并且所使用的雜湊函數(shù)是強(qiáng)單向函數(shù)。
1.2 符號描述
本文用到如下符號:
X,Y:表示消息x和y的連接;
Kse:表示實(shí)體間會話密鑰;
{x}K:表示用密鑰K加密消息x;
h(x):表示對消息x進(jìn)行雜湊運(yùn)算;
Alias:表示用戶的長期化名;
IDX:表示實(shí)體X的身份信息;
TX:表示實(shí)體X指定的時戳;
rx:表示x產(chǎn)生的隨機(jī)數(shù)" title="隨機(jī)數(shù)">隨機(jī)數(shù);
A→B:x: A把消息x發(fā)送到B。
1.3 認(rèn)證與密鑰協(xié)商協(xié)議描述
認(rèn)證與密鑰協(xié)商協(xié)議模型如圖1所示。協(xié)議開始前,用戶U和移動服務(wù)提供商V分別在可信任的第三方TTP進(jìn)行注冊。用戶U在注冊過程中,會告知TTP一個秘密消息M,同時TTP會將用戶U的身份信息IDU和長期化名Alias以及秘密消息M相關(guān)聯(lián)。移動服務(wù)提供商V在注冊過程中,會得到TTP的簽名證書,并且將其身份信息IDV以及公共密鑰PKV告知TTP。這些過程比較復(fù)雜,都可以離線完成。
下面給出認(rèn)證與密鑰協(xié)商協(xié)議的詳細(xì)描述。

移動用戶U首先產(chǎn)生一個隨機(jī)數(shù)rU,然后將用戶長期化名Alias、隨機(jī)數(shù)rU以及移動服務(wù)提供商V身份信息IDV發(fā)送給TTP。

TTP收到來自用戶U的信息后,先將用戶長期化名Alias同用戶身份信息IDU進(jìn)行映射。若映射后的身份信息為合法用戶且移動服務(wù)提供商V也為合法注冊用戶,則協(xié)議繼續(xù)。驗證通過后,TTP找出與用戶身份對應(yīng)的秘密消息M并計算h(rU,M),然后與生成的隨機(jī)數(shù)rU、rT以及時戳TT一起計算h(rU,rT,h(rU,M),TT),并對h(rU,rT,h(rU,M),TT)進(jìn)行數(shù)字簽名,得到
,再用V的公鑰PKV加密,得到
后將其轉(zhuǎn)發(fā)至V。
(3)V→U:{h(rV,Kse,TT,IDV),rV,TT}
移動服務(wù)提供商V收到來自TTP的報文(2)后,先利用私鑰SKV解密報文,然后從TTP頒發(fā)的簽名證書中得到TTP簽名公鑰從而驗證報文(2)的最后一段信息是否為TTP簽名信息。若是,說明報文來自TTP,則生成一個隨機(jī)數(shù)rV并計算其與用戶U之間的會話密鑰,Kse=h(rV,h(rU,M)),然后計算雜湊值h(rV,Kse,TT,IDV)并連同隨機(jī)數(shù)rV、時戳TT一起轉(zhuǎn)發(fā)給用戶U。
(4)U→V:{h(rV,Kse,TT,Alias)}
移動用戶U接收到來自(3)中的報文信息后,利用與(3)中相同的方式生成會話密鑰,然后用與(3)中相同的方式計算雜湊值,并與報文(3)的第一部分比對,若相同則說明信息的確來自用戶U發(fā)起協(xié)議時所期望與之通信的那個移動服務(wù)提供商V,并且V獲得與U相同的會話密鑰。接著U計算雜湊值h(rV,Kse,TT,Alias)并轉(zhuǎn)發(fā)至V。
(5)V收到來自(4)的報文信息后,利用先前存儲的長期化名以及會話密鑰等按與(4)中相同的方式計算雜湊值,并與接收到的信息比對,若正確,則說明用戶U已經(jīng)知道會話密鑰,完成了認(rèn)證過程。
2 協(xié)議性能分析
(1)移動終端計算負(fù)荷少。該協(xié)議最大特點(diǎn)就是移動終端的計算復(fù)雜度很低。從計算復(fù)雜度來說,最復(fù)雜耗時的是數(shù)字簽名,其次是對稱加密運(yùn)算,而雜湊運(yùn)算最為簡單。移動設(shè)備的計算能力十分有限,若用戶端的設(shè)計過于復(fù)雜,會使得整個協(xié)議的執(zhí)行效率低下,所以在用戶端采用計算量較小的雜湊函數(shù)。從整個協(xié)議來看,用戶U僅僅執(zhí)行了四次雜湊運(yùn)算。而計算復(fù)雜的簽名和公鑰加密過程則放到了計算能力都比較強(qiáng)的TTP和移動服務(wù)提供商V端,因此協(xié)議可以很大程度減少認(rèn)證延時,提高認(rèn)證效率。
(2)會話密鑰的新鮮性與安全性。會話密鑰的計算是依靠移動用戶U和移動服務(wù)提供商V提供的隨機(jī)數(shù)以及移動用戶U的一段秘密報文共同產(chǎn)生的。用戶U每發(fā)起一次新的協(xié)議,就會生成新的隨機(jī)數(shù),最終生成的會話密鑰也是新的,從而保證每次協(xié)議都使用不同的會話密鑰,有效地防止重放攻擊。由于會話密鑰的計算只與用戶U和移動服務(wù)提供商V提供的信息有關(guān),其他任何實(shí)體都不能控制會話密鑰的生成,并且在身份認(rèn)證過程中,屬于敏感信息的會話密鑰始終都沒有在信道中傳遞。僅僅是通過雜湊計算生成一個信息摘要來傳遞,這樣,就有效地防止了會話密鑰的泄漏,具有較高的安全性。
(3)有效的雙向認(rèn)證。雙向認(rèn)證的目的是確保協(xié)議所涉及的通信實(shí)體都是合法的,移動用戶U對移動服務(wù)提供商V認(rèn)證,保證正在與之通信的移動服務(wù)提供商是協(xié)議發(fā)起時所期望與之通信的服務(wù)提供商,而移動服務(wù)提供商對用戶的認(rèn)證又可以防止攻擊者假冒用戶獲取提供商的資源。移動用戶U在收到(3)的報文后,可以實(shí)現(xiàn)對移動服務(wù)提供商的身份認(rèn)證。用戶U根據(jù)服務(wù)提供商的自身信息IDV以及(3)中的報文相關(guān)信息對(3)的報文的第一部分信息進(jìn)行驗證,因為信息中包含提供商身份信息,并且還有TTP提供的時戳,攻擊者很難進(jìn)行重放和并行會話攻擊。同樣,移動服務(wù)提供商也可以根據(jù)(2)的報文和(4)的報文對用戶認(rèn)證。移動服務(wù)提供商V首先根據(jù)(2)的報文通過TTP得到用戶的長期化名Alias,在接收到(4)的報文后,可根據(jù)兩次用戶長期化名以及會話密鑰等信息完成用戶認(rèn)證。在認(rèn)證過程中,一旦某一步的多個報文中出現(xiàn)相同的時戳信息或者雜湊值比對出錯,說明存在入侵者,協(xié)議自動終止。
(4)匿名性。用戶U在整個認(rèn)證協(xié)議過程中只使用了自己的長期化名Alias,其身份信息IDU只有用戶U和TTP知道,而任何移動服務(wù)提供商V只能得到用戶的長期化名,這使得協(xié)議可以抵抗針對某一用戶的拒絕服務(wù)攻擊。
本文基于公鑰密碼體制設(shè)計的一種適合于移動通信的認(rèn)證與密鑰協(xié)商協(xié)議充分考慮了移動終端計算能力弱的特點(diǎn),將復(fù)雜的數(shù)字簽名與公鑰加密算法用雜湊函數(shù)替代,大大減少了移動終端的計算負(fù)荷,降低了計算復(fù)雜度,同時在密鑰協(xié)商過程中有效地避免了會話密鑰在協(xié)議中的傳送,具有較高的安全性。
參考文獻(xiàn)
[1] STEINER J,NEUMAN C, KERBEROS S? J. All auth-entication service for open network systems[C].Proceedings of the USENIX Winter Conference,1988:191-202.
[2]?李明柱,李志江,楊義先.移動通信增值服務(wù)認(rèn)證和支付研究[J].通信學(xué)報,2003,24(4):123-127.
[3]?王育民,劉建偉.通信網(wǎng)的安全——理論與技術(shù)[M].西安:西安電子科技大出版社,1999.
[4]?萬仁福,李方偉,朱江.一種適用于移動環(huán)境的認(rèn)證和支付協(xié)議[J]. 電子與信息學(xué)報,2005,27(3):498-501.
[5]?MUHAMMAD S, FURQAN Z, GUHA R K. Designing authentication protocols: Trends and Issues[C].Proceedings of the International Conference on Networking, International Conference on Systems and International Conference on Mobile Communications and Learning Technologies,2006:76-76.

