董 博,王保倉,魏文佳
(1.西安電子科技大學理學院,陜西西安 710071;2.西安電子科技大學計算機網絡與信息安全教育部重點實驗室,陜西西安 710071;3.西安電子科技大學通信工程學院,陜西西安 710071)
隨著無線通信技術的發展,移動無線可隨時接入Internet,移動IP技術給人們帶來了便利,但與其相關的安全問題日益出現。移動節點在無線網絡環境中漫游,需要通過訪問本地網絡提交身份信息進行身份驗證,訪問網絡獲得本地網絡正確的認證結果后才能為移動終端提供接入服務,因此一個合適的身份認證協議是必要的。為防止非法竊聽者跟蹤移動節點的物理位置,無線網絡必須保證移動節點的身份匿名性,從而保證其隱私[1-2]。
針對無線網絡匿名認證問題,文獻[3]在對稱加密方案上作了改進,提高了安全性,但改進后的協議比較復雜。文獻[4]中移動用戶通過對家鄉代理的身份和新建的Diffie-Hellman密鑰進行Hash運算來構造臨時身份標識符,具有很強的匿名性。文獻[5]分析了文獻[4]的不足,但該協議的移動節點不僅使用復雜的指數運算,而且犧牲家鄉代理的計算量換取移動節點部分計算量。
提出的移動IP注冊協議,其安全性基于困難橢圓曲線CDH問題,沒有復雜的線性對和指數運算,大幅降低了計算復雜度,協議中選取的隨機數滿足ID的匿名性,防止攻擊者根據不變的臨時ID對用戶真實ID進行跟蹤,實現了用戶ID匿名性。
移動IP注冊協議主要涉及三方,即移動節點MN、家鄉代理HA和外地網絡代理FA。當MN從家鄉網絡移動到外地網絡或者從一個外地網絡移動到另一個外地網絡時,需要通過外地代理向家鄉代理進行位置注冊,綁定移動節點的新的轉交地址和家鄉地址。
符號說明:IDMN,IDFA,IDHA分別為移動節點,外地代理和家鄉代理的身份標識符;HoAMN,COAMN分別為移動節點的家鄉地址和轉交地址;KMN-HA,KMN-FA表示節點MN和代理HA,FA之間的共享密鑰;A→MB表示節點A向節點B發送消息M;〈M〉K表示消息M在密鑰K下的消息認證碼;Sig(SKID,M)表示用某ID的私鑰對消息M進行數字簽名;Re ply表示注冊回復的一個比特值。
可信中心TC(Trust Center),在有限域Fq上選取一條安全的橢圓曲線,確定安全橢圓曲線參數D=(q,a,b,FR,G,n,h)[5],基于安全參數k生成階為q的加法群G,選擇散列函數H∶{0,1}*→G,并將散列函數H與參數D公布。
有線網絡中的可信中心TA(Trusted Authority)分別給 HA,FA 頒發證書,CertHA,CertFA私鑰 SKHA,SKFA。
當節點MN準備注冊成家鄉網絡HA的用戶時,首先,HA為節點MN分配一個惟一的用戶標識符IDMN,隨后HA選擇秘密隨機數h(h∈Z*q),計算tHA=
hP,并保存信息記錄〈IDMN,H(h),h〉,將〈IDMN,tHA,
H(h)〉經過安全信道發送給MN。
移動節點MN注冊過程,如圖1所示。

圖1 移動節點注冊過程
2.3.1 代理廣播
AD,IDFA,CoAMN,H(f),CertFA。
2.3.2 注冊過程

M1包括 IDMN,CoAMN,IDFA,tMN,H(m),H(f),H(h),TID。
選擇隨機數m,m∈,計算tMN=mp,H(m)。把H(m)當作公開隨機數,然后構造臨時身份標示符TID=mtHA⊕IDMN,得共享密鑰求出消息認證碼并作為MN和HA之間的認證擴展。


FA收到MN發過來的消息,驗證消息M1中的H(f)是否有效。若有效,FA完成對MN的認證。計算tFA=fP,共享密鑰KMN-FA=ftMN,用 SKFA對M2進行數字簽名且與消息一起發送給HA。

HA收到FA發過來的消息,M2中的IDFA是否與M1中的IDFA相同,并檢驗H(h)的有效性。接著HA檢驗FA的數字簽名,若驗證成功,則FA通過HA的驗證。

HA為MN分配一個動態家鄉地址,并將其與轉交地址綁定,重新選擇隨機數h',計算t'HA=h'P,H(h')及消息M4在KHA-MN下的MAC值,用SKHA對消息M3進行數字簽名和消息一起發送給FA。

FA收到HA發過來的消息,先檢驗H(f)是否有效,驗證HA的簽名,若通過驗證,則完成對HA的認證。


MN與HA之間共享密鑰分兩步計算:

對于移動節點MN和家鄉代理HA之間的認證,各自秘密隨機數的散列值同時起著認證效果,這樣就達到雙重認證的作用,安全性進一步提高。
當通信雙方不在一個時區時,存在時間差,那么用時戳防止重放攻擊保護消息的新鮮性存有不足。協議中用隨機數可以代替時戳,MN,FA,HA分別選擇秘密隨機數m,f,h,用哈希函數作變換然后公布于眾,由于就哈希函數的特點,即不可逆性和無碰撞性。保證了不會有相同的隨機數產生,因此能夠防止重放攻擊,并且在此過程中還能起到認證作用,即傳遞消息中的H(m),H(f),H(h)是否與各節點秘密隨機數的哈希值相同,作為第二重認證。
在計算共享密鑰K時,攻擊者通過各種攻擊手段可能得到的數據是TID,tMN,tHA以及Hash函數H1,H2。對于通信雙方的秘密隨機數和,攻擊者不可能得到。所以對于表達式中的LMN=mtHA,LHA=htMN,無法確定,所以攻擊者不能得到共享密鑰K。如果本次對話過程中,共享密鑰K泄露,也不可能影響到之前會話的共享密鑰,因為每次會話雙方的各自隨機數保密且不同,達到保證向前保密安全。
TID=L⊕IDMN,其中L=mhP,實現用戶匿名性。MN和HA選取的秘密隨機數m、h,第三者無法知道,不能計算出mhP,也就無法由臨時身份標示符TID得出真實身份IDMN。因此只有HA由IDMN=TID⊕LHA推出MN的真實身份,由于每次選取的秘密隨機數不同,因此保證了臨時身份標示符的不確定性,攻擊者不能對用戶的位置移動進行跟蹤。
設計沒有使用復雜的雙線性對運算和指數運算,對于內存小、計算能力弱和移動頻繁的移動節點最適合,并且對于家鄉代理,移動節點越來越多,來回切換網絡或地區越來越頻繁,給家鄉代理帶來負擔,容易造成通信延遲等問題。相對于指數運算和對運算,Hash函數、點乘、異或等運算計算量較小。

表1 注冊協議中節點計算量比較分析表
具體如表1所示,協議中MN和HA沒有采用復雜的對運算和指數運算,只是用到了一些點乘等運算,與文獻[5]相比,協議中MN用到2次Hash函數,2次點乘,1次異或運算,HA用到3次Hash函數,3次點乘,1次異或運算,相對于指數運算和對運算,計算量大幅減少。注冊過程中異或運算建立 TID,多1次Hash運算是計算MN、FA、HA各自秘密隨機數的Hash值,這樣不僅可以防止重放攻擊還能進行第二次認證,明顯比時間戳更有效,安全性更高。
本方案的安全基礎是橢圓曲線CDH問題,利用Diffie-Hellman密鑰交換算法建立共享密鑰。方案沒有使用很復雜的雙線性對運算和指數運算,使得移動節點和家鄉代理的計算量明顯減少,計算效率大幅提高,從而達到快速匿名注冊的目的。這樣對于移動節點日益頻繁的移動切換和家鄉代理負擔過重有重要的意義。
[1]蘇劍飛,王景偉.網絡攻擊技術與網絡安全探析[J].通信技術,2010(1):99-101.
[2]PERKINS C.IP mobility support for IPv4[DB/OL].(2002-8-1)[2012-05-10]http://www.ietf.com.
[3]彭華熹,馮登國.匿名無線認證協議的匿名性缺陷和改進[J].通信學報,2006,27(9):78 -85.
[4]黨嵐君,寇衛東,曹雪菲,等.具有用戶匿名性的移動IP注冊協議[J].西安電子科技大學學報,2008,35(2):282-287.
[5]馬華,任偉超,黨嵐君,等.基于身份的移動IP注冊協議[J].北京工業大學學報,2010,36(2):123 -127.
[6]吳福生.改進新密鑰交換協議及其形式化分析[J].通信技術,2011(7):105-107.
[7]任中崗,翟東海.有限域GF(q)上安全橢圓曲線的選取[J].信息與電子工程,2009,7(5):493-496.