??? 摘? 要: 分析了移動環(huán)境下移動IP認證方案的不足,提出一種高效的移動IPv6安全認證體系結(jié)構(gòu),,并使用BAN邏輯方法對其進行了形式化分析。
??? 關(guān)鍵詞: 移動IPv6? 授權(quán)? 認證? BAN邏輯
?
??? 在移動IPv6研究領(lǐng)域中,,對移動節(jié)點進行認證是保證網(wǎng)絡安全和有效管理網(wǎng)絡的重要內(nèi)容,。
1? 移動IPv6中的認證
??? 移動節(jié)點(Mobile Node,MN)經(jīng)常會跨域移動,,本屬于管理域(Home Domain,,HD)A的節(jié)點可能會移動到另一管理域(Foreign Domain,F(xiàn)D)B中,,申請使用網(wǎng)絡資源,。這時就需要對資源申請者的身份進行認證。授權(quán)和計費(Authentication Authorization and Accounting)AAA實體依靠安全關(guān)聯(lián)(Security Association,SA)傳輸敏感信息,,相互協(xié)作,,共同完成對客戶的認證和授權(quán)。
??? 通過對幾種常見認證協(xié)議(RADIUS,、IEEE802.1X和EAP方法等)的分析考察,,可以發(fā)現(xiàn)以下不足:
??? (1)客戶端的身份認證基本都依賴證書體制?;谧C書的密鑰管理方案通常要依賴PKI模型中的通用可信任第三方,。要建立這樣一個所有管理域都認可的第三方難度很大,涉及很多非技術(shù)因素,。認證中心(Certification Authorities,,CA)難以對AAA實體的所有證書進行有效管理。所有證書都公開,,每個用戶都可以訪問,,要真正使可信任第三方符合這個前提實際上很難完全做到。(2)大多數(shù)協(xié)議主要考慮了如何在跨域情況下實現(xiàn)AAA數(shù)據(jù)的安全傳輸,,而對認證協(xié)議自身的效率和性能考慮得較少,。(3)每次移動節(jié)點發(fā)生移動時,都需要進行一次認證,,極大降低了認證系統(tǒng)的使用效率,。
??? 在設(shè)計移動IPv6 AAA認證體系結(jié)構(gòu)時,必須充分考慮移動漫游這個特性,,至少要滿足以下要求:①家鄉(xiāng)AAA服務器(AAA Home,,AAAH)和本地AAA服務器(AAA Local,AAAL)之間通過Internet交換消息所需要的傳輸時間占了AAA協(xié)議處理時間的相當大部分,。這就要求盡量減少消息往返次數(shù),,以提高AAA性能。②能夠使用IP地址以外的方法來標識用戶身份,,對所有的AAA信息都要提供不可否認性服務,,并能夠抵御一些常見的攻擊。③AAA服務器除了認證以外還要具備注冊,、密鑰分配等其他功能,,在進行轉(zhuǎn)交地址注冊同時完成密鑰分配。
2? 移動IPv6中安全認證體系結(jié)構(gòu)的設(shè)計
??? 設(shè)計改進安全認證體系結(jié)構(gòu)的目標是盡量少地使用證書體制,,保證各管理域中系統(tǒng)的安全通信,,并盡量提高認證系統(tǒng)的使用效率。本文在以下幾個方面對AAA體系結(jié)構(gòu)進行了改進:(1)在服務點的設(shè)計中增加訪問控制模塊,,使服務點不僅僅只轉(zhuǎn)發(fā)消息和授權(quán)AAA客戶端使用網(wǎng)絡資源,,還可以用來過濾MN和服務點之間的通信,,防止惡意站點進行拒絕服務(Denial of Service,DoS)攻擊,,以進一步保證AAA系統(tǒng)的安全,。(2)采用了基于網(wǎng)絡服務標識(Network Access Identifier,NAI)的密碼體制,。改進的AAA體系結(jié)構(gòu)把可以惟一標識移動節(jié)點身份的NAI(通常采用電子郵件格式,,如[email protected])作為公鑰來減少對證書的使用和對可信任第三方實體的依賴,簡化密鑰管理,。(3)充分考慮到MN進行小范圍移動時可能需要進行多次認證的情況,,通過“一次認證、多次使用”來減少AAA信息交換次數(shù),,以提高認證系統(tǒng)的使用效率和性能,。
??? 改進后的移動IPv6安全認證體系結(jié)構(gòu)如圖1所示。整個認證過程可以分為以下3個階段,。
?
2.1 準備階段
??? 該階段的主要目標是使MN獲知服務點的地址,,為后續(xù)通信奠定基礎(chǔ)。
??? (1)當MN移動到異地管理域中時,,通過無狀態(tài)或者有狀態(tài)的地址配置協(xié)議得到一個轉(zhuǎn)交地址,,并使用區(qū)域局部多播地址向服務點發(fā)送Attendant-request報文。
??? (2)服務點返回attendant-reply報文響應MN節(jié)點,,MN得到服務點地址,。
??? 服務點地址也可以通過服務點的定期通告獲知。訪問控制模塊在該階段允許所有未認證節(jié)點的報文通過,。
2.2 認證注冊階段
??? 在該階段,,改進的認證方案通過使用基于NAI的密碼體制實現(xiàn)了認證,其中AAAH,、家鄉(xiāng)代理(Home Agent,,HA)和MN都擁有與其NAI相對應的私鑰,。整個認證注冊過程如圖2所示,。
?
??? (1)MN使用與自己NAI相對應的私鑰Smn@計算數(shù)字簽名<
??? (2)服務點檢查MN的NAI,,用mn@對數(shù)字簽名<
??? (3)AAAH使用mn@對數(shù)字簽名<
??? (4)HA使用mn@作為密鑰,,把移動IP會話密鑰KMN-HA和KMN-attendant使用ECC進行加密,得到{KMN-HA,,KMN-attendant}mn@,,并產(chǎn)生RRP(Registration Reply)報文M2,且使用與自己NAI相對應的私鑰Sha@計算數(shù)字簽名<
??? (5)AAAH把包含M2,<
??? (6)服務點使用AAAH@來驗證<
??? (7)如果MN成功通過了驗證,,MN就向AAAL發(fā)送一個隨機數(shù)組RAND[0..n-1],其中n的大小和具體的應用環(huán)境有關(guān),。如果希望認證結(jié)果保留時間長些,,就增大n;否則減小n,。AAAL生成并儲存認證向量(Authentication Vector,,AV),。AV在經(jīng)過一定的生存期后就會被刪除。AV的格式如下:
??? AV∷==
????? ??{MN′S? NAI}
????? ??{RAND[i]}/*0<=i<=n-1*/
? ???? {HASH0MD5(RAND[i]| mn@)}/*算法使用MD5*/
??? 當?shù)谝淮纬晒φJ證后,,服務點就向MN提供網(wǎng)絡服務,,并修改訪問控制模塊中的訪問控制列表配置,只允許成功通過認證的MN節(jié)點的流量通過,,以阻止旨在竊取合法服務的非法訪問企圖,。
2.3 后續(xù)認證階段
??? 當移動節(jié)點在異地管理域B中跨越服務點移動時(如從當前服務點的管轄范圍移動到了同一管理域中另一服務點的管轄范圍),按照一般認證方案,,需要重新認證,,有可能再次和家鄉(xiāng)管理域通信。為提高AAA系統(tǒng)的使用效率,,本文進行了改進,,改進后的后續(xù)認證過程如圖3所示。
?
??? (1)MN把NAI和隨機數(shù)RAND[i](i從小到大使用,,RAND[i]使用后就從數(shù)組RAND中刪除)和HASH1MD5(RAND[i]|mn@)一同發(fā)送給AAAL,。
??? (2)AAAL根據(jù)MN的NAI和RAND[i]檢索出HASH0MD5(RAND[i]|mn@),并和HASH1MD5(RAND[i]|mn@)進行比較,。如果二者相等就表明MN不久前已通過了認證,,返回肯定信息,并刪除AV中的RAND[i]和對應的HASH0MD5(RAND[i]|mn@),。新的服務點相應地修改訪問控制模塊中的訪問控制列表配置以允許MN的通信量通過,。如果二者不相等,就返回否定信息,,表明距離上次成功認證已經(jīng)過去很長時間,,MN需要重新發(fā)起認證。
3? 認證方案的形式化分析
??? BAN邏輯方法使用基于知識和信念的邏輯來建立分析認證協(xié)議的安全需求模型和跟蹤認證過程,,是目前為止分析認證協(xié)議使用最廣泛的一種方法,。本文使用BAN邏輯方法對提出的認證方案進行如下分析:
??? (1)建立初設(shè)集合a
??? ①|(zhì)≡mn@|→MN;|≡ha@|→HA,;|≡AAAH@|→AAAH
??? ②服務點|≡#(N1),;AAAH|≡#(N1);服務點|≡#(N2),;MN|≡#(N2)
??? ③MN|≡#(N1),;HA|≡#(N2)
??? (2)理想化協(xié)議模型
??? ①MN→服務點:N1,,<
??? ②服務點→AAAH:N1,,<
??? ③HA→AAAH:N2,<
??? ④AAAH→服務點:N2,,<
??? ⑤服務點→MN:N2,,<
??? (3)建立協(xié)議預期目標集合Y
??? Y={AAAH|≡MN;MN|≡HA}
??? (4)利用初設(shè)和邏輯法則分析認證過程
??? 服務點N1,,<
??? 因為服務點|≡#(N1),,所以服務點|≡#(<
??? 因為服務點|≡mn@|→MN,服務點<
??? AAAHN1,,<
??? 因為 AAAH|≡#(N1),所以 AAAH|≡#(<
??? 因為AAAH|≡mn@|→MN,,AAAH<
??? AAAH|≡MN
??? 服務點N2,<
??? 因為 服務點|≡#(N2),,所以服務點|≡#(<
??? 因為 服務點|≡aah@|→AAAH,,服務點?茳<
??? MNN2,<
??? 因為 MN|≡#(N2),,所以 MN|≡#(<
??? 因為 MN|≡ha@|→AAAH,,MN<
??? MN|≡HA
??? (5)推導出最終目標集合r
??? r:{AAAH|≡MN,MN|≡HA}??r=Y,。
??? 可見,,該協(xié)議通過使用NAI密碼體制和隨機數(shù),實現(xiàn)了MN和家鄉(xiāng)管理域的雙向認證,,達到了身份鑒別和預防重放攻擊的基本目標,。
4? 結(jié)? 論
??? 在移動IPv6和AAA之間如何進行高效、安全的認證必將越來越重要,。下一步將具體結(jié)合移動終端的計算能力對AAA體系結(jié)構(gòu)進行更深入的研究,。
參考文獻
1?? 孫利民,闞志剛.移動IP技術(shù).北京:電子工業(yè)出版社,,2003
2?? Jocobs S,,Belgard S.Mobile IP Public Key Based Authentication.http://www.ietf.org/proceedings/98aug/slides/mobileip-jacobs-98aug.pdf,2001
3?? Lee B G,,Choi D H,,Kim H G et al.Mobile IP and WLAN?with AAA Authentication Protocol Using Identity-based?Cryptography.In:10th International Conference on Telecommunications ICT,2003
4?? Brurrows M,,Abadi M,,Needham R.A Logic of Authentication.ACM Transactions on Computer System,1990,;8(1)