首頁(yè)>>>技術(shù)>>>NGN

基于層次移動(dòng)IPv6接入認(rèn)證設(shè)計(jì)與實(shí)現(xiàn)

2008/05/21

  摘要 在移動(dòng)IPv6和層次移動(dòng)IPv6中,移動(dòng)節(jié)點(diǎn)通過(guò)無(wú)線接入點(diǎn)(AP)接入網(wǎng)絡(luò)并且自動(dòng)配置地址,缺乏必要的安全認(rèn)證和地址管理機(jī)制。針對(duì)這一問(wèn)題,文章結(jié)合IPv6的動(dòng)態(tài)主機(jī)配置協(xié)議(DHCPv6)和認(rèn)證、授權(quán)、計(jì)費(fèi)(AAA,Authentication、Authorization、Accounting)協(xié)議設(shè)計(jì)出一套安全可靠的接入認(rèn)證機(jī)制,并給出了實(shí)驗(yàn)結(jié)果,結(jié)果表明該接入認(rèn)證方案能夠有效實(shí)現(xiàn)對(duì)移動(dòng)節(jié)點(diǎn)的合法性進(jìn)行驗(yàn)證,認(rèn)證成功的同時(shí)也為移動(dòng)節(jié)點(diǎn)(MN)配置了合法IP地址,能夠滿足實(shí)際應(yīng)用的需要。

引言

  隨著互連網(wǎng)絡(luò)的飛速發(fā)展和便攜式移動(dòng)終端的不斷涌現(xiàn),用戶希望通過(guò)個(gè)人終端隨時(shí)隨地的加入到互聯(lián)網(wǎng)中,方便快捷地獲取自己所需的信息,移動(dòng)IPv6[1]應(yīng)運(yùn)而生,實(shí)現(xiàn)了無(wú)線局域網(wǎng)中的跨子網(wǎng)漫游和切換等功能。然而無(wú)線局域網(wǎng)的引入也帶來(lái)了相應(yīng)的安全隱患問(wèn)題,比如對(duì)移動(dòng)節(jié)點(diǎn)(MN)的接入缺少必要的身份驗(yàn)證。本文基于此提出了層次移動(dòng)IPv6的接入認(rèn)證設(shè)計(jì)方案和實(shí)現(xiàn)過(guò)程,為MN在網(wǎng)絡(luò)間的切換提供可靠的身份驗(yàn)證。

  本文是在基于內(nèi)核版本為2.6.8.1的Linux平臺(tái)上實(shí)現(xiàn)了層次移動(dòng)IPv6[2](HMIPv6)的接入認(rèn)證機(jī)制,采用DHCPv6[3]協(xié)議和AAA協(xié)議[4](認(rèn)證、授權(quán)、計(jì)費(fèi))相結(jié)合完成接入認(rèn)證過(guò)程,認(rèn)證成功的同時(shí)為MN分配一個(gè)合法的IP地址。

接入認(rèn)證方式

  在大多數(shù)情況下,移動(dòng)IPv6應(yīng)用于無(wú)線環(huán)境中。與有線網(wǎng)絡(luò)相比,攻擊者可以不受物理空間的限制,在網(wǎng)絡(luò)的任意一個(gè)角落通過(guò)無(wú)線電波發(fā)起諸如重放攻擊和其他主動(dòng)攻擊,而且由于無(wú)線網(wǎng)絡(luò)的特殊性使得攻擊更容易實(shí)施。另外MN切換到外地網(wǎng)絡(luò)時(shí),所在的網(wǎng)絡(luò)不一定是可信的網(wǎng)絡(luò),更容易受到諸如竊聽(tīng)、主動(dòng)重放等攻擊,因此無(wú)線接入的安全問(wèn)題顯得尤為突出。下面先對(duì)目前常用的接入認(rèn)證機(jī)制進(jìn)行比較,然后提出本文的認(rèn)證機(jī)制。

  1)PPPoE認(rèn)證:以太網(wǎng)上點(diǎn)對(duì)點(diǎn)協(xié)議(PPP over Ethernet)把最經(jīng)濟(jì)的局域網(wǎng)技術(shù)、以太網(wǎng)和點(diǎn)對(duì)點(diǎn)協(xié)議的可擴(kuò)展性及管理控制功能結(jié)合在一起。 PPPoE在發(fā)現(xiàn)階段會(huì)產(chǎn)生大量廣播流量,對(duì)網(wǎng)絡(luò)性能產(chǎn)生很大的影響,用戶端需要安裝專(zhuān)門(mén)的軟件。

  2)Web認(rèn)證:Web認(rèn)證最初是一種業(yè)務(wù)類(lèi)型的認(rèn)證,通過(guò)啟動(dòng)一個(gè)Web頁(yè)面輸入用戶名/密碼,實(shí)現(xiàn)用戶認(rèn)證。Web認(rèn)證目前已經(jīng)成為運(yùn)營(yíng)商網(wǎng)絡(luò)平臺(tái)的認(rèn)證方式,通過(guò)Web頁(yè)面實(shí)現(xiàn)對(duì)用戶是否有使用網(wǎng)絡(luò)權(quán)限的認(rèn)證。缺點(diǎn):用戶連接性差;易用性不夠好;IP地址的分配在用戶認(rèn)證前;會(huì)造成地址的浪費(fèi)。

  3)802.1x認(rèn)證:IEEE 802.1x稱(chēng)為基于二層端口的訪問(wèn)控制協(xié)議,能夠?qū)崿F(xiàn)認(rèn)證與業(yè)務(wù)的分離。如果簡(jiǎn)單地使用標(biāo)準(zhǔn)協(xié)議,容易造成如中間人攻擊、拒絕服務(wù)攻擊、網(wǎng)絡(luò)接入盜用等安全隱患。用標(biāo)準(zhǔn)802.1x認(rèn)證在認(rèn)證通過(guò)后的安全性是個(gè)很大問(wèn)題,而且無(wú)法滿足上述網(wǎng)絡(luò)接入管理控制的需求。

  本方案認(rèn)證機(jī)制在比較上述幾種認(rèn)證機(jī)制的優(yōu)缺點(diǎn)的基礎(chǔ)上,根據(jù)層次移動(dòng)IPv6的網(wǎng)絡(luò)特性和運(yùn)行需求,采用IPv6的動(dòng)態(tài)主機(jī)配置協(xié)議(DHCPv6)結(jié)合AAA協(xié)議來(lái)完成AAA認(rèn)證和地址分配過(guò)程。該機(jī)制工作在網(wǎng)絡(luò)層,不依賴鏈路層協(xié)議,有利于移動(dòng)節(jié)點(diǎn)用多種方式接入網(wǎng)絡(luò),具有兼容性好、利于向高層協(xié)議擴(kuò)展、實(shí)現(xiàn)簡(jiǎn)單、容易控制、與移動(dòng)IP結(jié)合性好等優(yōu)點(diǎn)。

層次移動(dòng)IP接入認(rèn)證設(shè)計(jì)

  1.層次移動(dòng)IPv6

  層次移動(dòng)IPv6引入移動(dòng)錨點(diǎn)(MAP),作用如同一個(gè)本地家鄉(xiāng)代理,它將代表其所服務(wù)的移動(dòng)節(jié)點(diǎn)接收所有數(shù)據(jù)包,并將這些數(shù)據(jù)包封裝后直接轉(zhuǎn)發(fā)至移動(dòng)節(jié)點(diǎn)的當(dāng)前地址。如果移動(dòng)節(jié)點(diǎn)在本地MAP域中更改其當(dāng)前地址(即在線轉(zhuǎn)交地址(LCOA)),只需在相應(yīng)的MAP注冊(cè)新的LCOA。因此,移動(dòng)節(jié)點(diǎn)在對(duì)端節(jié)點(diǎn)或家鄉(xiāng)代理注冊(cè)本地轉(zhuǎn)交地址(RCOA)后,如果移動(dòng)節(jié)點(diǎn)在一個(gè)MAP域中移動(dòng),則LCOA不發(fā)生改變。這使移動(dòng)節(jié)點(diǎn)的移動(dòng)對(duì)于與其通信的對(duì)端節(jié)點(diǎn)是透明的。

  在無(wú)線鏈路情況下,層次移動(dòng)IPv6可以減少通過(guò)空中接口發(fā)送到通信對(duì)端或家鄉(xiāng)代理的消息數(shù)目。移動(dòng)錨點(diǎn)的引入有利于移動(dòng)IPv6協(xié)議減少與外部網(wǎng)絡(luò)之間的移動(dòng)信令傳輸。

  2.消息格式

  本方案采用DHCPv6協(xié)議作為接入認(rèn)證方式,在DHCPv6 Request消息中添加用戶名和密碼選項(xiàng)來(lái)傳送認(rèn)證信息。用戶名選項(xiàng)格式定義如下:

  選項(xiàng)標(biāo)識(shí)定義為OPTION_CLIENT_NAI,類(lèi)型為44,占2個(gè)字節(jié)。

  密碼選項(xiàng)格式定義如下:


  選項(xiàng)標(biāo)識(shí)定義為OPTION_CLIENT_PASS-WORD,類(lèi)型為45,占2個(gè)字節(jié)。

  如果認(rèn)證失敗,則在reply消息中添加認(rèn)證失敗信息選項(xiàng),格式定義如下:
  

  選項(xiàng)標(biāo)識(shí)定義為OPTION_AUTH_FAIL,類(lèi)型為46,占2個(gè)字節(jié)。

圖1 接入認(rèn)證時(shí)序圖

  3.消息流程

  接入認(rèn)證時(shí)序如圖1所示,消息流程如下。

軟件實(shí)現(xiàn)過(guò)程

  在軟件體系的設(shè)計(jì)上,在HMIPv6的基礎(chǔ)上修改和添加對(duì)DHCPv6配置地址的處理。本文采用MIPL即Mobile IPv6 for Linux,版本為2.0-rc2,層次移動(dòng)IP基于此實(shí)現(xiàn)。DHCPv6采用的是dibbler軟件來(lái)實(shí)現(xiàn),版本為0.3.1;AAA協(xié)議采用的是FreeRADIUS開(kāi)源軟件,版本為1.0.4,它包含服務(wù)器端和客戶端兩部分。服務(wù)器端有MYSQL開(kāi)源軟件,版本為4.1.7,包過(guò)濾采用Netfilter機(jī)制。

  1.DHCPv6消息處理

  在層次移動(dòng)IP的啟動(dòng)過(guò)程中,當(dāng)MN收到路由通告,發(fā)現(xiàn)與自己的路由緩存中維護(hù)的路由前綴不一樣時(shí),發(fā)送一個(gè)信號(hào)量啟動(dòng)DHCPv6客戶端子進(jìn)程,開(kāi)始接入認(rèn)證過(guò)程。在DHCPv6協(xié)議中創(chuàng)建用戶名、密碼和認(rèn)證失敗選項(xiàng),在填充選項(xiàng)內(nèi)容時(shí),用戶名和密碼通過(guò)對(duì)MN的配置文件進(jìn)行讀取操作,由AAA服務(wù)器預(yù)先分配給用戶。

  在獲取密碼后通過(guò)標(biāo)準(zhǔn)的DES加密算法對(duì)原始密碼采用雙方協(xié)商好的密鑰進(jìn)行加密。由于DES只能對(duì)不大于8字節(jié)的字符進(jìn)行加密,所以在加密過(guò)程中先計(jì)算原始密碼的長(zhǎng)度,如果小于或等于8字節(jié)則直接進(jìn)行加密;如果大于8字節(jié)則截取前8個(gè)字節(jié)進(jìn)行加密,再對(duì)剩余的字節(jié)進(jìn)行相同的加密過(guò)程,把生成的密碼拷貝到密碼選項(xiàng)中。為了簡(jiǎn)化運(yùn)算,在該文中默認(rèn)密碼字節(jié)不大于16字節(jié),一般能滿足實(shí)際運(yùn)用。

  在客戶端消息選項(xiàng)中,添加用戶名和密碼選項(xiàng)的標(biāo)識(shí)OPTION_CLIENT_NAI和OPTION_CLIENT_PASSWORD,通過(guò)標(biāo)識(shí)對(duì)相應(yīng)的選項(xiàng)進(jìn)行處理。當(dāng)客戶端在構(gòu)建Request消息時(shí),把定義好的用戶名和密碼標(biāo)識(shí)通過(guò)系統(tǒng)函數(shù)添加到Request消息中,完成后發(fā)送該消息給服務(wù)器。

  DHCPv6服務(wù)器端收到Request消息后,通過(guò)switch語(yǔ)句對(duì)OPTION_CLIENT_ NAI和OPTION_CLIENT_PASSWORD標(biāo)識(shí)進(jìn)行處理,獲取選項(xiàng)中的用戶名和密碼密文字符,其中通過(guò)DES解密算法對(duì)收到的密文使用原先加密用的密鑰進(jìn)行解密。假如密文大于8個(gè)字節(jié),則先對(duì)前8個(gè)字節(jié)進(jìn)行解密,之后在對(duì)剩余的字節(jié)進(jìn)行解密。把解密好的密碼和用戶名通過(guò)字符讀取操作存到AAA的配置文件中。

  完成后在DHCPv6服務(wù)器創(chuàng)建子進(jìn)程來(lái)啟動(dòng)AAA客戶端程序,并且構(gòu)造Reply報(bào)文,在其中創(chuàng)建一個(gè)消息隊(duì)列來(lái)等待接收AAA客戶端認(rèn)證完成后返回的認(rèn)證結(jié)果。如果收到認(rèn)證成功標(biāo)識(shí),則從地址池中獲取一個(gè)合法地址添加到該消息選項(xiàng)中完成后發(fā)送Reply消息。并且將MN的MAC地址和IP地址發(fā)送到包過(guò)濾器的訪問(wèn)控制列表(ACL)中;如果收到認(rèn)證失敗標(biāo)識(shí),則在構(gòu)造的Reply消息中添加一個(gè)認(rèn)證失敗信息選項(xiàng),該認(rèn)證選項(xiàng)標(biāo)識(shí)為OPTION_AUTH_FAIL。將認(rèn)證失敗信息添加到該選項(xiàng)中,并且刪除準(zhǔn)備分配給客戶端的合法地址選項(xiàng),完成后發(fā)送Reply消息。

  MN對(duì)收到的Reply報(bào)文進(jìn)行判斷,使用switch語(yǔ)句對(duì)消息中各選項(xiàng)進(jìn)行處理。如果認(rèn)證成功則含有地址選項(xiàng)標(biāo)識(shí),從中獲取合法地址分配給接口使用,MN可以使用當(dāng)?shù)鼐W(wǎng)絡(luò)提供的服務(wù)或者完成切換綁定認(rèn)證[5]過(guò)程。如果認(rèn)證失敗,不含有地址選項(xiàng),而含有OPTION_AUTH_FAIL選項(xiàng),MN可以獲取該選項(xiàng)中相應(yīng)的出錯(cuò)信息,進(jìn)行再次認(rèn)證或是退出該網(wǎng)絡(luò)。該過(guò)程的主要消息流程如圖2所示。

圖2 DHCPv6接入認(rèn)證消息流程圖

  2.AAA交互過(guò)程

  當(dāng)DHCPv6服務(wù)器調(diào)用子進(jìn)程執(zhí)行AAA客戶端程序后,AAA客戶端將把從MN傳過(guò)來(lái)的密碼和用戶名添加到認(rèn)證請(qǐng)求選項(xiàng)中,向AAAL進(jìn)行認(rèn)證。AAAL將收到的消息轉(zhuǎn)發(fā)給AAAH服務(wù)器,AAAH收到認(rèn)證請(qǐng)求后進(jìn)行認(rèn)證。如用戶名和密碼正確,則返回Accecpt響應(yīng)消息,標(biāo)志認(rèn)證成功;如用戶名或者密碼錯(cuò)誤,則返回Reject響應(yīng)消息,標(biāo)志認(rèn)證失敗。AAAL收到認(rèn)證回復(fù)消息后記錄認(rèn)證信息,下次認(rèn)證時(shí)只需詢問(wèn)AAAL,減少認(rèn)證步驟。

  AAA客戶端對(duì)收到的認(rèn)證回復(fù)消息進(jìn)行判斷,通過(guò)創(chuàng)建消息隊(duì)列,將認(rèn)證回復(fù)中的認(rèn)證結(jié)果標(biāo)志傳遞給DHCPv6服務(wù)器。

  3.包過(guò)濾

  在接入路由器上安裝包過(guò)濾器軟件,它工作在網(wǎng)絡(luò)層,根據(jù)ACL列表對(duì)每個(gè)通過(guò)的包進(jìn)行訪問(wèn)控制,列表中維護(hù)IP地址和MAC地址綁定選項(xiàng),防止合法IP地址被偽造。ACL列表的更新由DHCPv6服務(wù)器完成,認(rèn)證成功后將相應(yīng)的IP地址和MAC地址添加到ACL列表中,當(dāng)DHCPv6分配的地址過(guò)期后負(fù)責(zé)刪除該綁定選項(xiàng)。接入認(rèn)證開(kāi)始只允許DHCPv6協(xié)議和AAA協(xié)議的消息包通過(guò),認(rèn)證成功后只允許綁定列表中維護(hù)的IP地址消息包通過(guò),有效地控制了假冒攻擊。

測(cè)試結(jié)果

  實(shí)驗(yàn)拓?fù)湓韴D如3所示:

圖3 實(shí)驗(yàn)拓?fù)鋱D

  首先修改層次移動(dòng)IP的地址配置機(jī)制,使其采用有狀態(tài)地址配置,在家鄉(xiāng)代理(HA)、接入路由器1(AR1)、AR2和AR3安裝dibbler軟件和包過(guò)濾軟件,在服務(wù)器上安裝RADIUS軟件。

  分別在MN上啟動(dòng)HMIPv6程序,在HA上啟動(dòng)HMIPv6程序和DHCPv6服務(wù)器程序,在AR1、AR2和AR3上啟動(dòng)DHCPv6服務(wù)器端程序和路由通告協(xié)議。在服務(wù)器上啟動(dòng)AAA服務(wù)器端程序。通過(guò)手動(dòng)修改ESSID在家鄉(xiāng)與不同的MAP域之間進(jìn)行切換,完成在切換過(guò)程的接入認(rèn)證過(guò)程。

  實(shí)驗(yàn)完成了從家鄉(xiāng)到MAP1中的AR1、AR2和MAP2中的AR3的切換過(guò)程的接入認(rèn)證,以及從MAP1到MAP2切換的接入認(rèn)證過(guò)程。在切換的過(guò)程中MN觸發(fā)接入認(rèn)證過(guò)程,只有使用正確的用戶名和密碼才能完成接入,獲得合法的IP地址。切換完成后采用該地址作為轉(zhuǎn)交地址進(jìn)行綁定注冊(cè)和認(rèn)證過(guò)程。如果用戶采用了錯(cuò)誤的用戶名或者密碼,則在切換過(guò)程中不能獲得IP地址,接入認(rèn)證失敗,不能完成切換過(guò)程,MN被拒絕加入相應(yīng)的網(wǎng)絡(luò)。

  結(jié)果證明,完成接入認(rèn)證過(guò)程僅需要2s左右,這是完成DHCPv6協(xié)議重復(fù)地址檢測(cè)過(guò)程和AAA協(xié)議信息交互所需的時(shí)間,沒(méi)有增加附加的延時(shí),并且在認(rèn)證成功的同時(shí)給MN分配了一個(gè)合法的IP地址作為在線轉(zhuǎn)交地址。

結(jié)束語(yǔ)

  本文結(jié)合HMIPv6、DHCPv6和AAA協(xié)議實(shí)現(xiàn)了對(duì)MN在不同的網(wǎng)絡(luò)間切換的接入認(rèn)證過(guò)程,對(duì)用戶提供了可靠的安全保證,解決了無(wú)線接入存在的安全問(wèn)題;同時(shí)便于運(yùn)營(yíng)商對(duì)接入用戶的管理和維護(hù);采用DHCPv6作為接入認(rèn)證方式還可以提供對(duì)地址的有效管理和附加參數(shù)的配置(如DNS等)。

  下一階段主要是考慮如何縮短認(rèn)證過(guò)程時(shí)間,實(shí)現(xiàn)無(wú)縫切換,并且考慮在雙棧下實(shí)現(xiàn)接入認(rèn)證過(guò)程,這些也是未來(lái)研究的熱點(diǎn)和重點(diǎn)。

參考文獻(xiàn)

  1D Johnson,C Perkins,J Arkko.Mobility Support in IPv6.RFC 3775,June 2004.

  2H Soliman,C Castelluccia,K E1 Malki,et a1.Hierarchical Mobile IPv6 Mobility Management(HMIPv6).RFC 4140,August 2005.

  3J Bound,B Volz,T Lemon,et al. Dynamic Host Configuration Protocol for IPv6(DHCPv6).RFC 3315,July 2003.

  4C Rigney,A Rubens,W Simpson,S.Willens.Remote Authentication Dial In User Service.RFC 2865.June 2000.

  5A Patel,K Leung,M Khalil,H Akhtar. Authentication Protocol for Mobile IPv6.RFC 4285.January 2006.

中國(guó)信息產(chǎn)業(yè)網(wǎng)(www.cnii.com.cn)



相關(guān)鏈接:
下一代媒體網(wǎng)關(guān)系統(tǒng)架構(gòu)及實(shí)現(xiàn) 2008-05-15
基于電信網(wǎng)的家庭網(wǎng)關(guān) 2008-05-08
業(yè)務(wù)網(wǎng)承載網(wǎng)和終端 影響未來(lái)網(wǎng)絡(luò)發(fā)展 2008-04-28
NGN分層網(wǎng)絡(luò)安全方案 2008-04-23
透析基于IP協(xié)議的網(wǎng)絡(luò)演進(jìn)相關(guān)技術(shù) 2008-04-15

分類(lèi)信息:  移動(dòng)_與_NGN及軟交換技術(shù)     行業(yè)_移動(dòng)_文摘   技術(shù)_NGN及軟交換_文摘