趙義
摘要摘要:在動態IP應用環境中,無線信道的開放性和節點的動態性會給網絡安全帶來許多新問題。動態IP注冊是安全管理的前提與基礎,是動態IP協議能夠繼續執行的關鍵。提出了一種基于網絡代理的動態IP安全注冊協議,以解決動態IP安全注冊難題,提高動態網絡安全性能,減少認證注冊開銷。
關鍵詞關鍵詞:動態IP;網絡代理;安全注冊;網絡認證
DOIDOI:10.11907/rjdk.162655
中圖分類號:TP393
文獻標識碼:A文章編號文章編號:16727800(2017)005016103
0引言
隨著動態網絡需求的不斷發展,動態IP技術的安全性和可靠性變得越來越重要。動態IP技術能夠保證計算機在動態過程中實現對網絡的不間斷訪問。但動態IP極易遭到各種攻擊,如果認證過程遭到攻擊,將導致動態節點MN(Dynamic Node)無法正常使用網絡資源,解決辦法是通過安全注冊協議防止這些攻擊。另一方面,當動態主機遠離Home網絡時,其注冊過程會給網絡增加新的負擔,解決辦法是引入外地代理域網絡管理技術,減少動態節點遠距離Home注冊頻度[1]。本文根據網絡外地代理管理方案,提出基于代理的動態IP注冊協議,有效解決了動態IP安全注冊難題。
1符號定義
AA:代理廣播;RQ:注冊請求;RR:注冊回應;FAid:FA的網絡地址(MAC和IP)作為其身份標識;TFA:動態注冊過程中,不同的nFA匯聚上級FA,有可能是GFA;
COAs:外地代理公告中包含的可用轉交地址列表;A → B: M:實體A發送消息M給實體B,實體包括MN、FA、nFA、GFA、HA;RA:實體A產生的一次性隨機數;
KA-B:實體A和B之間共享的對稱密鑰;GK:網絡外地代理域中使用的群密鑰;
M|N:消息域M和N的組合;EK(M):利用密鑰K對消息域M實施對稱加密運算得到的密文;Hi(M):用單向函數Hi對消息域M實施雜湊預算得到的哈希值。
2安全假設
為將協議的復雜度控制在合理范圍內,同時保證足夠的安全性,對于注冊協議的應用環境作如下安全假設[2]:①GK是安全的,由GFA對GK進行管理,即GFA可以保證GK的安全性;②GFA承認HA對MN身份的驗證結果具有權威性,MN承認HA對GFA身份的驗證結果具有權威性;③協議中采用的對稱加密算法EK(m)是安全的,即任何人在不知道密鑰K時無法獲知明文m,或知道明文m和相應的密文EK(m),沒有比窮舉攻擊更有效的辦法破解密鑰K;④作為詢問(Challenge)的一次性隨機數選自足夠大的空間,攻擊者無法預測。
3代理方式
當動態節點MN離開Home網絡到達外地網絡時,首先要從外地代理FA(Foreign Agent)獲取一個轉交地址COA(Change Of Address)[3],然后向Home代理HA(Home Agent)注冊這個COA。當MN不停地改變它的網絡連接點時,它可能離HA變得越來越遠,這時向HA注冊的過程將會極大增加外地網絡和Home網絡之間的流量負擔,網絡延遲將增大,解決方法是進行網絡動態性管理,例如網絡FA管理方案[12]。在網絡FA管理方案中(見圖1),MN首先將一個網關外地代理GFA(Gate Foreign Agent)的IP地址向它的HA注冊為COA。這里GFA指FA的最高層,即外地代理管理域中的根代理,這個GFA保存當前所有與它注冊的訪問者列表。HA將GFA的IP地址記錄為MN的COA,當MN在同一個訪問域中改變接入點時,HA中的記錄將不會改變。因此,MN并不需要一直向HA注冊。除此之外,FA在區域中是以網絡形式排列的,只要MN在同一訪問域內,它就不需經過HA同意或重新綁定,就可從一個FA動態到另一個FA,這樣極大減少了注冊所帶來的網絡通信負擔,提高了網絡性能。如果每個被訪問的FA都能直接認證MN,則認證過程將大大簡化,認證操作也分散到每個FA上。
協議分為Home注冊和動態注冊[4]兩個部分。當MN動態到一個外地代理管理域,接收代理公告中的轉交地址列表與MN存儲的COA進行比較,如果GFA的COA不同, MN就知道進入了新的外地代理管理域,需要進行Home注冊;否則MN認為是動態注冊。在Home注冊過程中,MN需要與FA、GFA和HA建立認證鏈,同時完成與HA的共享密鑰KHAMN更新。HA不僅會對MN的動態綁定進行更新,也會借此機會更新GFA的共享密鑰KGFAHA。在動態注冊過程中,MN與nFA(next Foreign Agent)進行雙向認證,若認證通過,MN將以新的COA獲得由nFA提供的網絡服務,nFA將向TFA(Target Foreign Agent)更新MN的動態綁定。這里TFA指訪問的FA之間的第一個相同祖先。否則,MN和nFA都丟棄本次動態注冊過程中產生的消息,并重新進行動態注冊。
4Home注冊
Home注冊過程如圖2所示。其中每一步傳輸的消息格式與意義如下:
(1) FA MN: AA,COAs,RFA。
(2) MN FA: RQ,MAC,COA,IP,RMN,EKHAMN ( MAC,IP,RMN),RFA。MN收到FA的代理公告后,選定轉交地址COA,然后向FA發出一個注冊請求以及認證消息。注冊請求包括MN的MAC、永久HomeIP地址、RMN和RFA;MN的認證消息包括MN的MAC、IP,以及一次性隨機數RMN,用MN和HA的共享密鑰KHAMN進行加密。
(3) FA GFA: RQ,MAC,IP,RMN,EKHAMN (MAC,IP,RMN),RFA,EGK(FAid,RFA)。FA收到MN在第(2)部分中發送的消息后,插入用GK加密自己的身份標識的FAid和RFA消息域,然后發送給GFA。
(4) GFA HA: RQ,RMN,EKHAMN(MAC,IP,RMN),RGFA,EKGFAHA(RGFA)。GFA收到FA在第(3)部分中發送的消息后,檢查MN是否已經注冊。若是,則表明此消息是動態注冊的本地綁定更新(GFA恰好為TFA),否則,GFA將通過MN的HA對MN進行認證。此時,GFA去掉消息中的MAC和IP,加入RGFA和與HA共享密鑰KGFAHA加密的RGFA發送給HA。
(5) HA GFA: RR,EKGFAHA(RHA,EKHAMN(RHA)),EK′HAMN(RMN),EK′GFAHA(RGFA)。HA收到GFA在第(4)部分中發送的消息后,首先對MN進行認證。HA利用密鑰KHAMN解密EKHAMN(MAC,IP,RMN),檢查MAC、 IP和RMN的正確性。如果都正確,則HA認為MN是合法用戶。HA接下來對GFA進行認證,利用密鑰KGFAHA解密EKGFAHA(RGFA)。若RGFA一致,則HA認為GFA是合法的。若對MN和GFA的認證有一個不成功,HA都將拒絕此次注冊請求。否則,HA接受MN注冊請求。HA會產生一個一次性隨機數RHA,并分別進行下列計算:
K′HAMN=H1(KHAMN,H1(RMN||RHA)) (1)
K′GFAHA=H1(KGFAHA,H1(RGFA||RHA)) (2)
這里,K′HAMN和K′GFAHA分別是HAMN、HAGFA之間新的密鑰,此時HA還不會改變相應的安全關聯,因為還無法確定MN和GFA是否能正確獲得各自的新密鑰。然后HA向GFA發送注冊回應消息,并且插入3個加密的信息域[5]。
(6) GFA FA: RR,ERHA(CR),Z,EKHA-MN(RHA),EK′HAMN(RMN)。GFA收到HA在第(5)部分中發送的消息后,首先對HA實施認證。GFA利用密鑰KGFAHA解密EKGFAHA(RHA,EKHAMN(RHA))獲得RHA,計算如下:
K″GFAHA=H1(KGFAHA,H1(RGFA||RHA)) (3)
用K″GFAHA解密EK′GFAHA(RGFA),若結果不為RGFA,則GFA認為HA未通過認證,從而拒絕MN的注冊請求,否則認為HA通過認證,同時接受MN的認證,為MN建立訪問入口,并按如下方法為MN計算證書:
CR=H2(GK,H2(MAC,IP)) (4)
然后GFA用RHA將CR加密為ERHA(CR),并按如下方法計算Z:
Z=H3(GK,MAC,IP,RFA) (5)
最后,GFA將RR、ERHA(CR)、Z、EKHAMN(RHA)和EK′HAMN(RMN)一起發送給FA。
(7) FA MN: RR,ERHA(CR),EKHA-MN(RHA),EK′HA-MN(RMN)。FA收到GFA在第(6)部分中發送的消息后,首先計算H3(GK,MAC,IP,RFA),若結果與Z相等,FA就認為GFA接受了MN的合法性,因而FA承認MN是合法的,并將注冊回應消息及ERHA(CR)、EKHA-MN(RHA)和EK′HA-MN(RMN)一起發送給MN。
(8) MN HA : 密鑰更新確認,EK″HA-MN(RHA-1)。MN收到FA在第(7)部分中發送的消息,首先對HA進行認證。MN利用密鑰EKHA-MN解密 EKHA-MN(RHA),獲得RHA,計算如下:
K″HA-MN=H1(KHA-MN,H1(RMN||RHA)) (6)
接著用K″HA-MN解密EK′HA-MN(RMN),若結果不為RMN,則MN認為HA未通過認證,從而丟棄此次注冊,否則,MN認為RR是合法的。然后,MN解密獲得CR,MN在GFA所在的管理域中用CR完成動態注冊。最后MN必須向HA確認已經獲得了新的密鑰,向HA發送密鑰更新確認消息和EK″HA-MN(RHA)。注意此時MN已經能夠通過FA接入網絡,因此可以直接向HA發送消息。HA收到消息后,更新與MN的安全關聯。
(9)GFA HA: 密鑰更新確認,EK″GFA-HA (RHA+1)。此操作的目的同樣是通知HA對GFA-HA之間的安全關聯進行更新。事實上這一步操作可以在第(5)部分完成后任意時刻進行,從圖2也可看出這一點。為了敘述方便,這里作為第(9)步。
5動態注冊
注冊過程如下:
(1) nFA MN : AA,COAs,RnFA。
(2) MN nFA : RQ,σ,MAC,IP,COA,RMN。收到nFA的代理公告后,MN首先判斷是否已經動態到一個新的FA域,若是,則MN計算認證因子:
σ = H4(RnFA,CR,COA,MAC,RMN) (7)
然后MN將注冊請求、σ、MAC、IP、COA和RMN一起發送給nFA。
(3) nFA MN : H4(RMN,CR′,COA)。收到MN在(2)中發送的消息后,nFA首先對MN進行認證。nFA計算如下:
CR′ = H2(GK,H2(MAC,IP)) (8)
σ′ = H4(RnFA,CR′,COA,MAC,RMN) (9)
將計算值與收到的σ相比較,若不等,則nFA拒絕MN的注冊請求,否則,nFA接受MN的注冊請求。立即向TFA發送MN的動態綁定更新消息,并向MN發送H4(RMN,CR′,COA)。
(4) MN收到nFA在(3)中發送的消息后,在本地計算H4(RMN,CR,COA),若與收到消息相吻合,則MN認為注冊回應消息可信,否則MN放棄本次動態注冊。
6結語
本文設計的注冊協議結合網絡外地代理管理方案特點,引入動態注冊,提高了注冊效率。協議實現了兩個重要密鑰的動態更新,提高了協議安全性,同時為解決密鑰管理問題提供了解決辦法。協議避免使用復雜的算法實現認證和密鑰更新,適用于動態節點計算能力受限場合,使協議具有良好的適用性。本協議有效解決了動態IP安全注冊難題,提高了動態性網絡安全性能,對于動態IP協議分析和設計有一定的參考價值。
參考文獻參考文獻:
[1]BENNETT C H ,BRASSARD G,EKERT A K.Quantum cryptography,scientific american[EB/OL].http://xueshu.baidu.com/s?wd=paperuri:(2b039c4eee0f401e0dbb4f5de1a8f4c5)&filter=1205040471072631760.
[2]W K WOOTERS,W H ZUREK.A single quantum can't be cloned[J].Nature,1982(299):802803.
[3]A EINSTEIN,B PODOLSKY,N ROSEN.Can quantum mechanical description of physical reality be considered complete[J].Phys,Rev,1935(47):777779.
[4]J S BELL.Physics[J].Long Island City,N Y,1965(1):195196.
[5]MARTIN RUPINSKI,JOHAN ZETTERBERG.Quantum cryptography[J].Project in Nonlinear Optics,2004(5): 96100.
責任編輯(責任編輯:杜能鋼)