陳躍輝,黃淼
(1.內江職業技術學院,四川 內江 641000;2.平頂山學院軟件學院,河南 平頂山 467000)
橢圓曲線加密結合散列函數的移動網絡匿名安全認證方案
陳躍輝1,黃淼2
(1.內江職業技術學院,四川 內江 641000;2.平頂山學院軟件學院,河南 平頂山 467000)
為了防止私人數據泄露并完善已有的移動網絡匿名漫游認證方案,提出了一種利用橢圓曲線加密結合散列函數的移動網絡匿名安全認證方案。該方案利用橢圓曲線加密,結合散列函數,以隨機數代替公開密鑰加密和時間戳。首先,使用外地代理(FA)的漫游服務之前,計算單向散列函數,移動用戶(MU)使用本地代理(HA)注冊。然后,建立認證和會話的密鑰,采用橢圓曲線加密,若HA一直待在同一FA中,則MU可以用FA更新會話密鑰。最后,MU通過公共信道,利用HA修改密碼。性能和安全性分析表明,相比其他幾種類似方案,提出的方案明顯提高了效率和安全性。其中,虛擬計算時間只有2.000 85 s,顯著降低了計算開銷。
移動網絡;匿名安全認證;橢圓曲線加密;散列函數;假冒攻擊
隨著智能手機的普及,移動網絡也越來越普遍,其應用越來越受關注。由于移動網絡使用電磁波傳遞信息,信息很容易泄露,可能會暴露用戶隱私[1]。如何利用合理的匿名漫游認證網絡方案保護用戶隱私成為一個亟待解決的問 題[2]。
已經有很多學者對此進行了相關研究,參考文獻[3]首次提出了無線網絡的匿名認證方案。參考文獻[4]分析了參考文獻[3]的方案,發現了其中的缺陷,即不能確保用戶匿名和會話密鑰的安全性。同時,參考文獻[4]還提出了一種改進的匿名認證方案(LHL方案)來解決參考文獻[3]方案的兩個缺陷。然而,參考文獻[5]指出LHL方案仍然包含與參考文獻[3]相同的缺陷,因為它僅使用一個單向散列函數來隱藏用戶的真實身份標識,攻擊者通過離線猜測攻擊可以很容易地獲得 IDMU,移動用戶(mobile user,MU)和外地代理(foreign agent,FA)之間的會話密鑰可以通過上下文獲得。為了彌補這些問題,參考文獻[5]提出了一種匿名增強認證方案(WLT方案),修改 h(IDMU)為 h(N||IDMU),WLT 方案提供會話密鑰的保密性,因為MU和FA之間的會話不能由上下文確定。
然而,WLT方案仍不能保證用戶匿名的有效性,因為在相同的本地代理(home agent,HA),h(IDMU||N)與每個 MU 共享[6]。此外,參考文獻[7]提出了安全多方計算的改進方案(SMCAA方案),為每個MU加入h(N),克服注冊階段這兩個缺陷。參考文獻[8]提出了一種匿名認證方案(ESAAS方案)的框架,以彌補方案中的安全缺陷。為了匹配移動設備的計算能力,ESAAS方案僅利用散列函數,用隨機數代替公開密鑰加密和時間戳。然而,ESAAS方案不能防止重放和中間人攻擊[9]。
本文提出了一種高效安全的匿名漫游認證方案,其主要創新點如下:
· 該方案利用橢圓曲線加密結合散列函數,比傳統加密算法需要更少的密鑰和公鑰數量,且計算量更小;
·利用隨機數代替公開密鑰和時間戳,使得加密方案更加匿名化。安全性分析表明,提出的方案不僅提供了多種安全性能,還提升了移動網絡的計算性能。
本文方案所用到的概念和符號見表1。該方案分為4個階段:注冊階段、認證和會話密鑰建立階段、更新會話密鑰階段和密碼變化階段。

表1 本文所用到的概念和符號
這一階段中,在使用FA的漫游服務之前,MU需要用HA注冊,注冊階段的步驟如圖1所示。

圖1 注冊階段的過程
其步驟描述如下所述。
步驟 1 MU選擇密鑰 pMU和 IDMU,計算 PWMU=h(IDMU||pMU)。
步驟2 通過安全信道發送IDMU和PWMU到HA。
步驟3 從MU接收到IDMU和PWMU之后,HA檢查IDMU是否已經存在,如果不存在,HA生成隨機數NMUi和pHA-MUi, 然 后 計 算 U=h(pHA-MUi||NMUi)、Wi=PWMU⊕NMUi和 Vi=NMUi⊕pHA-MUi。之后,HA 在存儲 U、PWMU和 pHA-MUi到其數據庫之前,通過安全信道在到MU的智能卡上傳輸IDHA、Wi、Vi和 h(·)。
MU能夠通過FA實現匿名認證,用HA注冊之后漫游,認證和會話的密鑰建立階段如下所述,如圖2所示。
其步驟描述如下。
步驟 1 MU→FA:IDHA、S1、S2、S3、S4
MU插入智能卡,輸入IDMU和 pMU,然后,智能卡生成NMUi+1,并 計 算 NMUi=PWMU⊕Wi,pHA-MUi=NMUi⊕Vi,S1=h(pHA-MUi||NMUi),S2=PWMU⊕NMUi+1,S3=h(NMUi+1||IDFA)和 S4=h(PWMU||h(pHA-MUi||NMUi+1)。最后,MU 存儲 NMUi+1,發送 IDHA、S1、S2、S3、S4到 FA。
步驟 2 FA→HA:IDFA、S1、S2、S3、S4、aP
FA選擇新隨機數 a,計算 aP,然后,FA存儲 IDHA、a和aP,發送 IDFA、S1、S2、S3、S4和 aP 到 HA。
步驟 3 HA→FA:IDHA、S6、S7
HA使用S1從數據庫提取對應的PWMU和pHA-MUi,并計算下列步驟,認證MU和FA。
· 計算 NMUi+1=S2⊕PWMU、S3'=h(NMUi+1||IDFA)和 S4'=h(PWMU||h(pHA-MUi||NMUi+1)。
· 檢查 S3'是否等于 S3,S4'是否等于 S4,如果相等,則HA 認證 MU 和 FA。HA 計 算 S5=h(PWMU||NMUi+1)、S6=h(IDFA||IDHA||S5)和 S7=h(aP.x||S5),用 h(pHA-MUi||NMUi+1)代替數據庫中的S1;否則,如果不相等,HA標識MU為非法用戶,并拒絕通信請求。
步驟 4 FA→MU:IDFA、S6、S7、aP
FA檢查接收到IDHA,如果它存在于數據庫中,FA認證 HA,發送 IDFA、S6、S7和 aP 到 MU。
步驟 5 MU→FA:bP、CMF
MU 計算 S6'和 S7',與 FA 的 S6和 S7比較,以認證 FA和HA,如果它們匹配,則MU選擇一個隨機數b,并計算bP、KMF=h(abP.x)和 CMF=h(KMF||bP.x)。然后,MU 重新保存 Wi+1和 Vi+1,存儲aP,發送 bP和CMF到 FA之前。
步驟 6 從 MU接收到 bP和 CMF之后,FA計算 CMF'=h(KMF||bP.x),并比較它與接收到的 CMF,如果匹配,FA 信任MU,并存儲CMF和aP到其數據庫,用于會話密鑰更新。
用HA認證之后,如果它一直待在同一FA中,MU可以用FA更新會話密鑰。更新會話密鑰階段的過程描述如下,如圖3所示。

圖2 認證和會話密鑰建立階段的過程
其步驟描述如下所述。
步驟 1 MU→FA:biP、CMFi
MU選擇一個新隨機數bi,并計算biP,然后,MU提交CMFi和 biP到 FA。
步驟 2 FA→MU:aiP、h1
FA檢查CMFi是否存在于數據庫中,如果存在,FA認證MU,并從數據庫提取ai-1P,然后,FA生成一個新隨機數ai,并計算 aiP、KMFi+1=h(aibiP.x)、CMFi+1=h(KMFi+1||biP.x)和 h1=h(CMFi+1||ai-1P.x),計算之后,FA重新保存CMFi+1和aiP。因此,FA發送aiP和h1到MU。

圖3 會話密鑰階段更新階段的過程
一般而言,MU可通過公共信道用HA修改其密碼,密碼變化階段的過程如圖4所示。
其步驟描述如下所述。
步驟 1 MU→HA:U、h1、h2
MU 選擇一個隨機數 pMUnew,并計算 PWMUnew=h(IDMU||pMUnew)、U=h(pHA-MUi||NMUi)、h1=PWMU⊕PWMUnew和 h2=(PWMUnew||pHA-MUi),然后,MU 發送 h1、h2和 U 到 HA。
步驟 2 HA→MU:h3
HA使用U從其數據庫提取對應的PWMU和pHA-MUi,并計算如 果 h2和 h2'相等,則 HA 不僅計算 h3'=h(PWMU||pHA-MUi),用 PWMUnew代替PWMU,還發送 h3到 MU。
步驟 3 MU 計算 h3'=h(PWMU||pHA-MUi),并檢查 h3是否等于 h3',如果等于,則 MU 用更新Wi。
本節分析了提出的方案安全性并證明了幾個安全特性,如匿名性、相互認證、會話密鑰的保密性、不可追蹤性和抗假冒攻擊、重放攻擊、中間人攻擊。
在認證和會話密鑰建立階段,MU的真實身份包含在消息S2、S5和S6中。假設攻擊者可以截獲這些消息,并嘗試從中計算真實用戶的IDMU。然而,從S2、S5和S6中獲得IDMU非常困難,因為攻擊者不知道對應于每個會話的pMU和NMUi+1
參數。因此,提出的方案可以保持用戶匿名。

圖4 密碼變化階段的過程
提出的方案中,不直接使用公共信道發送PWMU。攻擊者無法通過截獲的消息獲得用戶密碼,因為MU為每個會話產生不同的NMUi+1,并用它計算PWMU。因此,提出的方案可以有效地防止假冒攻擊。
在認證和會話密鑰建立階段,FA和MU為了彼此之間的通信計算 aP 和 bP,以建立會話密鑰 KMF=h(abP·x)。假設攻擊者在FA和MU相互通信時可以截獲aP和bP。然而,它仍然不能計算會話密鑰 KMF,因為 a、b分別是由FA和MU知道的秘密數字。在更新會話密鑰階段,攻擊者仍然不能夠從KMFi-1和KMFi+1
得到會話密鑰KMFi=h(aibiP.x),因為 ai和 bi在每個更新會話階段不同且不由上下文決定。對于上述原因,提出的方案可以提供會話密鑰的保密性。
考慮重放攻擊的3種情況。
情況1 重放攻擊在認證和會話密鑰建立階段
這個階段,即使攻擊者截獲從MU到FA的消息,仍然不能重放消息來與HA成功認證。對于每一個認證請求,由于 MU產生新隨機數 NMUi+1來計算 S1、S2、S3和 S4,先前 S1不等于新S1。因此,HA會直接拒絕攻擊者的請求。
情況2 重放攻擊在更新會話密鑰階段
這個階段,雖然從MU到FA的消息可能遭到攔截,但攻擊者無法成功地重放它們來用FA成功更新會話密鑰。這是因為MU為每個更新請求計算不同的biP和CMFi,因此當攻擊者試圖重放截獲的消息時,FA將拒絕更新會話密鑰請求。
情況3 重放攻擊在密碼變化階段
在這種情況下,攻擊者無法重放密碼變化的消息來用HA成功修改合法用戶密碼。由于MU為每個密碼更改請求計算不同的U、h1、h2,所以重放請求會遭到拒絕。
這些檢查和安全措施使提出的方案可有效地抵御重放攻擊。
在認證和會話密鑰建立階段,FA在步驟2計算aP,并將其發送到HA以計算S7。然后,MU在步驟5計算S7',并與先前的S7比較以驗證aP。此外,FA在步驟6也計算CMF以驗證bP。由于上述原因,可以證明提出的方案可以有效地抵御中間人攻擊。
情況1 MU和HA之間的相互認證
MU可以通過驗證認證和會話密鑰建立階段步驟5中的S6來認證HA。同樣的,HA可以通過驗證認證和會話密鑰建立階段步驟3中的S4來認證MU。因此,提出的方案提供了MU和HA之間的相互認證。
情況2 HA和FA之間的相互認證
FA可以通過驗證認證和會話密鑰建立階段步驟4中的IDHA來認證HA。同樣的,HA可以通過驗證認證和會話密鑰建立階段步驟3中的S3來認證FA。因此,提出的方案提供了HA和FA之間的相互認證。
情況3 MU和FA之間的相互認證
在認證和會話密鑰建立階段,MU和FA可以通過分別驗證S6和CMF來相互認證。另外,在更新會話密鑰階段,MU和FA通過驗證h1和CMFi來相互認證。因此,提出的方案提供了MU和FA之間的相互認證。
[10]中,不可追蹤性定義為:不能追蹤特定的移動用戶運動。如果使用固定別名,應在每個會話改變它,使其不可追蹤,換句話說,移動用戶應利用臨時移動用戶身份,而不是它的真實身份訪問移動網絡。在認證和會話密鑰建立階段,MU 傳輸已計算的 S1、S2、S3、S4和 IDHA給FA。隨后,FA將其轉發給HA用于驗證MU。由于MU使用新隨機數 NMUi+1對每個會話計算不同的 S1、S2、S3、S4,攻擊者無法通過監視通道追查誰與FA和HA進行通信。這表明提出方案對用戶提供了不可追蹤性的屬性。
本節將提出的方案與參考文獻[5]、參考文獻[7]和參考文獻[8]方案在安全性能上做對比,具體見表2。

表2 安全性能比較
(1)參考文獻[5]的 WLT方案不能實現用戶匿名性,因為攻擊者可以很容易通過公共渠道截獲的數據包得到用戶的真實身份。
(2)參考文獻[5]中的方案不能防止假冒或中間人攻擊。
(3)參考文獻[8]的 ESAAS方案不能防止重放攻擊,因為該方案不能保存之前用于下一認證階段驗證用戶所需的參數。
(4)本文方案能夠實現不可跟蹤,且防止用戶行蹤泄露,因為它為每個認證階段生成不同隨機數,并使用其計算HA驗證MU所需的消息。
(5)參考文獻[5]、參考文獻[8]和參考文獻[7]中的方案不提供三方認證,參考文獻[5]中的 WLT方案不提供MU和HA之間的相互認證,參考文獻[8]中的方案不提供FA和HA之間的相互認證,參考文獻[7]中的方案不提供MU和FA之間的相互認證,本文提出的方案提供三方認證。
表3所示為本文方案與其他方案的計算性能比較。為了公平比較,為每個方案計算虛擬操作總數和虛擬計算時間。一次非對稱操作的計算量相當于一次點操作,也等于1 000次對稱操作或10 000次散列操作。為了公平起見,設置一個虛擬操作等于一個對稱操作(即1次不對稱=1次點=1 000次對稱=10 000次散列操作=1 000次虛擬運算)。提供相對計算時間,其中,RSA=2,DES=2 000,SHA1=20 000 次操作/s。因此,表3中計算執行時間,分配的不對稱、對稱和散列運算分別為 0.5 s、0.000 5 s和 0.000 05 s。因為一個虛擬操作等效于一個對稱操作,1V=0.000 5 s虛擬計算時間。
參考文獻[5]和參考文獻[7]中的方案全部采用對稱和非對稱操作,增加了整體計算開銷。出于性能考慮,參考文獻[8]不考慮非對稱操作,所以計算成本與參考文獻[5]相比較低。本文提出的方案不使用對稱或非對稱操作,只有17次散列、8次異或和4次點運算的總計算開銷,虛擬計算時間明顯較少。
綜上,從安全性和性能比較可見,提出的方案不僅提供了多種安全特性,如抵制假冒、重播、中間人攻擊和智能卡丟失攻擊,提供匿名,保持會話密鑰的保密性、三方認證和不可追蹤性,也降低了總計算成本。
在表3中,H表示散列運算數,XOR表示異或運算數,S表示對稱運算數,A表示非對稱運算數,P表示點運算數,V表示虛擬運算的時間,1V=0.0005 s。

表3 計算操作比較
本文為移動網絡提出了一種高效且安全的匿名漫游認證方案,為了維護安全性,提出的方案利用散列函數和點操作代替了對稱或不對稱系統。在安全性和計算性能方面,提出的方案不僅具有比其他方案更安全的屬性,增強了移動網絡漫游認證期間的性能,而且從計算操作比較方面看,本文方案具有更少虛擬計算時間。
參考文獻:
[1]姜楠.移動網絡安全技術與應用[M].北京:電子工業出版社,2004.JIANG N.Mobile network security technology and application[M].Beijing:Electronic Industry Press,2004.
[2]傅建慶,陳健,范容,等.基于代理簽名的移動通信網絡匿名漫游認證協議[J].電子與信息學報,2011,33(1):156-162.FU J Q,CHEN J,FAN R,et al.Mobile communication network based on proxy signature anonymous roaming authentication protocol[J].Journal of Electronics and Information,2011,33(1):156-162.
[3]ZHU J,MA J.A new authentication scheme with anonymity for wireless environments [J].IEEE Transactions on Consumer Electronics,2004,50(1):231-235.
[4]LEE C C,HWANG M S,LIAO I E.Security enhancement on a new authentication scheme with anonymity for wireless environments [J].IEEE Transactions on Industry Electronics,2006,53(5):1683-1687.
[5]WU C C,LEE W B,TSAUR W.A secure authentication scheme with anonymity for wireless communications [J].IEEE Communications Letters,2008,12(10):722-723.
[6]王崇霞,高美真,劉倩,等.混合云聯合身份認證與密鑰協商協議設計[J].電信科學,2014,30(4):95-99.WANG C X,GAO M Z,LIU Q,et al.A hybrid cloud joint identity authentication and key agreement protocol design [J].Telecommunications Science,2014,30(4):95-99.
[7]周文欽.基于安全多方計算的匿名認證[D].合肥:安徽大學,2014.ZHOU W Q.Anonymousauthenticationbasedonsecure multi-party computation[D].Hefei:Anhui University,2014.
[8]MUN H,HAN K,YAN S L,et al.Enhanced secure anonymous authentication scheme for roaming service in global mobility networks[J].Mathematical&Computer Modelling,2012,55(1-2):214-222.
[9]KUMARI S,KHAN M K,LI X,et al.Design of a user anonymous password authentication scheme without smart card[J].International Journal of Communication Systems,2014,15 (2):326-335.
[10]張德棟.可追蹤數字簽名及在移動通信匿名認證中的應用[D].北京: 北京郵電大學,2013.ZHANG D D.Traceable digital signature and the application in the mobile communications anonymous authentication [D].Beijing:Beijing University of Posts and Telecommunications,2013.
Anonymous security authentication scheme using elliptic curve cryptography and hash function in mobile network
CHEN Yuehui1,HUANG Miao2
1.Neijiang Vocational and Technical College,Neijiang 641000,China 2.School of Software,Pingdingshan University,Pingdingshan 467000,China
In order to prevent personal data from being lacked and improve the existing mobile network roaming anonymous authentication scheme,anonymous security authentication scheme using elliptic curve cryptography and hash functions in mobile network was proposed.With elliptic curve cryptography and hash functions,random numbers were used to replace public key encryption and time stamp.Firstly,before using the roaming services of a foreign agent (FA),hash function was calculated.A host agent (HA)was used by mobile user to register.Then,authentication and session key were set up with elliptic curve encryption.If HA is always in FA,MU can update the session key with FA.Finally,through a common channel,MU could utilize HA to change their passwords.The analysis of the performance and safety shows that,compared with other similar programs,the proposed scheme has significantly improved efficiency and safety.And the virtual computing time is only 2.000 85 seconds,which sharply reduces the cost of computing.
mobile network,anonymous security authentication,elliptic curve cryptography,hash function,impersonation attack
TP393
A
10.11959/j.issn.1000-0801.2016144
2015-09-12;
2016-05-09

陳躍輝 (1982-),男,內江職業技術學院講師,主要研究方向為計算機網絡、算法設計等。

黃淼 (1982-),女,平頂山學院講師,主要研究方向為網絡安全、智能算法等。