南京化工職業技術學院 徐 濤
當移動節點在外地網絡時,會經歷如下的幾個過程:
(1)移動節點首先獲得一個轉交地址,然后它把家鄉地址與轉交地址的映射告知家鄉代理,這個過程稱為家鄉注冊;
(2)通信節點與移動節點通信仍然使用移動節點的家鄉地址,數據包仍然發往移動節點的家鄉網段;家鄉代理截獲這些數據包,并根據已獲得的映射關系通過隧道方式將其轉發給移動節點的轉交地址。移動節點則可以直接和通信節點進行通信。這個過程也叫做三角路由過程;
(3)為了避免三角路由,移動節點也會將家鄉地址與轉交地址的映射關系告知通信節點,這個過程稱為通信節點注冊;
(4)當通信節點知道了移動節點的轉交地址就可以直接將數據包轉發到其轉交地址所在的外地網段,這樣通信節點與移動節點之間就可以直接進行通信。
對移動IPv6的攻擊研究將集中在家鄉注冊和通信節點注冊這兩個過程。
常見的幾種攻擊類型如下:
·數據保密性攻擊:如圖1.1所示,攻擊者發送虛假的binding update給家鄉代理,讓后者以為攻擊者的地址就是移動節點的轉交地址,所有通過家鄉代理發往移動節點的數據將發往惡意節點。
·阻止通信攻擊:和上面類似,不過攻擊者把移動節點的轉交地址設置為不存在的地址.這樣發送給移動節點的數據包就無法到達,造成通信被阻止;
·DoS攻擊:攻擊者可以把大量網絡節點的轉交地址都指向攻擊目標,這樣發給這些節點的數據都被重定向到攻擊目標,達到DoS攻擊的效果;
·假冒家鄉代理:移動IPv6具備動態家鄉代理發現的功能,它通過發送家鄉代理發現請求到家鄉任意播地址,由某個家鄉代理回應一個帶有家鄉代理列表的應答消息。家鄉鏈路上的惡意節點有可能收到這個請求并給出虛假應答,如圖1.2所示。
盡管移動IPv6要求利用IPSec保證家鄉注冊的安全,但是IPSec應用本身存在問題。首先IPSec需要在移動節點和家鄉代理之間建立起安全關聯,如果采用手工配置的方式,n個移動節點就要配置n條關聯,擴展性不好,不適合大規模部署。如果采用IKE(Internet KeyExchange)動態建立,IKE本身又是一個耗時和復雜的過程。其次,IPSec需要公鑰來完成認證和加密,而公鑰的管理一直是個沒有解決好的問題。最后,IPSec不可避免的給主機帶來額外的計算負擔,因為加密/解密運算的復雜性,攻擊者可以構造虛假的IPSec報文,消耗主機的計算資源,造成拒絕服務攻擊。
攻擊者從一開始就就假冒移動節點,欺騙家鄉代理,加上RRP消息都是明
文的,這樣它通過正常的RRP過程就能夠“合法”的欺騙通信節點。
攻擊過程如下:
(1)攻擊者發送HoTI消息,源地址是假冒的移動節點家鄉地址,目的地址是通信節點地址,通過家鄉代理轉發。
(2)攻擊者發送CoTI消息,源地址是攻擊者的地址,目的地址是通信節點地址,直接發送。
(3)攻擊者通過家鄉代理收到HoT消息,源地址是通信節點地址,目的地址是移動節點家鄉地址。
(4)攻擊者收到CoT消息,源地址是通信節點地址,目的地址是攻擊者的地址。
(5)攻擊者發送binding update,源地址是攻擊者的地址,目的地址是通信節點地址。由于任何能同時接收到HoT消息和CoT消息的攻擊者都可以給通信節點發送能通過認證的binding update,結果就是通信節點以為攻擊者的地址就是移動節點的轉交地址。
由上述分析可知,家鄉注冊和通信節點注冊這兩個過程都存在攻擊可能,并且目前的解決方案都存在不足。從另一個角度看,不論是家鄉注冊,還是通信節點注冊過程,都是通過綁定更新/確認消息的交互,攻擊能夠奏效很大程度上是由于綁定更新缺乏認證機制,如果能對綁定更新提供一種認證機制,就能較好的解決其安全問題。
為此,我們提出一種結合AAA(認證,計費,授權)過程的改進綁定更新過程。本方案的實現分為兩個部分。一是身份認證以及認證之后AAAH服務器在移動節點和家鄉代理之間共享密鑰;二是通過修改移動IPv6的實現,把該共享密鑰嵌入到移動IPv6的消息之中。目前只實現了第一部分的工作,身份認證采用802.1x+Radius的方案。

圖1.1 移動IPv6保密性攻擊

圖1.2 移動IPv6假冒家鄉代理攻擊

圖2.1 系統結構圖
網絡拓撲如圖2.1所示,工作流程如圖2.2所示。注意的是,為了防止網絡竊聽,不是直接傳輸數i,而是傳輸數i和用戶口令的異或。
(1)用戶在客戶端中輸入用戶名和密碼,客戶端向外地網絡的交換機發起
EAPoL認證請求,其中包含用戶名;

圖2.2 工作流程圖

圖2.3 客戶端流程

圖2.4 服務器端流程1

圖2.5 服務器端流程2
(2)交換機收到用戶請求后,實現從EAPoL報文取出認證消息,并將認證
消息按照Radius協議的格式進行封裝,然后向FAAA發出Access-Request認證請求;
(3)FAAA收到認證請求后,根據用戶名做判斷,將Access-Request請求
報文轉發給家鄉網絡的HAAA;
(4)HAAA判斷用戶的狀態,如果是首次認證請求,則產生一個隨機數R,
由Access-Challenge報文攜帶返回給FAAA;
(5)FAAA把Access-Challenge報文返回給交換機,后者進行轉換為EAPoL
格式,返回給用戶;
(6)用戶從Challenge報文提取出隨機數R,計算口令P與R的MD5摘要,把摘要放入響應消息中,再發給交換機;
(7)交換機進行轉換后發給FAAA,后者轉發給HAAA;HAAA從本地數據庫取出用戶口令P’,計算P’與R的MD5摘要,并與收到的做比較,如果相等
則認證成功,接下來HAAA生成數i,i=First(16,sha1(time)),把數i和口
令P異或,得到i’,即i’=i xor P。i’攜帶在Access-Accept報文里發給FAAA;
(8)FAAA把Access-Accept報文返回給交換機,后者打開相應端口,并且把報文返回給用戶;
(9)用戶提取出數i’,通過i’xor P恢復出數i并保存起來。
客戶端是自己開發的802.1x客戶端,在客戶端和交換機之間報文格式是
EAPoL,工作流程如圖2.3所示:
AAA服務器使用開源軟件FreeRadius,工作流程如圖2.4,2.5所示,認證方法采用EAP-MD5。
本文針對移動IPv6家鄉注冊和通信節點注冊這兩個過程的安全問題,以及目前的解決方案IPSec和RRP在應用中的一些問題,提出了一種改進的綁定更新方案,利用802.1x和AAA技術實現了該方案的一部分。
[1]孫利民.移動IP技術[M].電子工業出版社,2003.
[2]Greg O’Shea et al.Child proof authentication for MIPv6(CAM),ACM SIGCOMM Computer Communication Review 2001,Volume 31,Issue 2,Pages:4-8.
[3]劉述.國內外下一代互聯網試驗網淺析[J].網絡專家.2006,4(13):B5-B6.
[4]P.Congdon et al,IEEE 802.1X Remote Authentication Dial In User Service(RADIUS)Usage Guidelines,RFC 3580,September 2003.