成大研發快訊 - 文摘 成大研發快訊 第七卷 第一期 - 2008年十二月十九日 [ http://research.ncku.edu.tw/re/articles/c/20081219/3.html ]
基於虛擬子網路在無線行動隨意網路建構安全之群組通
訊
黃悅民
國立成功大學工學院工程科學系 [email protected]*This article is tailored from the paper: Y.M. Huang*, C.H. Yeh, T.I. Wang, and H.C. Chao, "Constructing Secure Group Communication over Wireless Ad Hoc Networks based on a Virtual Subnet Model", IEEE Wireless Communications, 14(5), Oct. 2007, (Rank 3/66, SCI-indexed)
最
近幾年來,因為越來越多人開始使用無線行動裝置,如PDA、智慧型手機及筆記型電腦等,使我們的生活受到深切的影響。無線行動隨意網路
(Mobile Ad Hoc Networks, MANET)是一種特殊的無線網路系統,不依賴無 線存取裝置或基地台,其設備即可相互溝通,並在需要時可自由形成群組 (group)通訊。一方面,在相同的地點環境,可同時存在多個通訊群組,而另 一方面,因為無線通訊的本質是採用廣播之方式,資料封包會被所有節點收 到,包括群組成員及非群組成員。因此,在無線行動隨意網路裡,群組通訊之 效率與安全是必要的。本研究之目標為在無線行動隨意網路,提出一虛擬子網 路模式以建構安全的群組通訊,我們設計虛擬子網路,包含起使階段以產生設定相關參數、創設階段以形 成群組、群組密鑰協議階段以建立群組密鑰,維護及傳輸機制以執行虛擬子網路的行為及通訊。透過我們 的模式運作,無線行動隨意網路的群組通訊可以充分滿足安全與效率的需求。 原創的 Diffie-Hellman 雙方密鑰交換協定被提出於1976年,藉由兩個系統參數,一個質數q及一個小於q的 整數a,當兩個參與者I及J 要共同產生一密鑰時,先各自產生隨機的非公開值XI與XJ,可公開值 YI= 及YJ= ,藉由交換彼此的公開值與以下的運算,即可產生兩者共同擁有的密鑰。 GDH.3 擴充原雙方密鑰交換協定為多方密鑰交換,使其在知道參與者的前提下,可達到多個參與者共同產 生群組密鑰。但在無線行動隨意網路,因為通訊節點可隨意行動之特性,使得網路拓樸充滿不確定性,預 先知道群組成員是非常困難的。我們設計的模組在群組建立及群組密鑰產生兩方面,同時解決了這個不確 定的問題。
隨著網路技術的演進,虛擬區域網路( Virtual Local Area Network,VLAN) 為有效且廣被使用的技術, 其可使無實體連接的網路設備,猶如存在於相同網路區段一般。當多個群組同時於無線行動隨意網路通訊 時,就需要將網路分割為多個網域如同虛擬區域網路一般,而問題就在於通訊節點如何預先知道同群組的 其他節點。解決的方法為,我們設計一個監理角色的節點,因為群組的形成,是因群組成員有共同的喜好 或議題,監理節點就負責發佈預先定義好的群組或接受新的群組登錄。另外,我們也提出三項規則,使虛 擬子網路的行為得以在無線行動隨意網路中運作。
a. 每一封包有一虛擬子網路識別碼欄位(virtual subnet identification field VSID),用以區分該封包屬
成大研發快訊 - 文摘
於某一虛擬子網路,如果該欄位值為null ,則該封包為一般封包。
b. 每一節點保留一轉送快取表(forwarding cache table),用以儲存虛擬子網路識別碼,來決定封包
是否轉送與否。
c. 請求登錄快取表封包(cache request packet CREQ) 存在於hello messages中,虛擬子網路藉以宣達
他的存在,當節點收到hello messages就將其中的虛擬子網路識別碼寫入轉送快取表中。
起使階段
當一個節點到達某一區域時,首先向監理節點要求加入某一預先定義的群組或登錄一個新的群組,等待其 他節點加入。同時,監理節點為每一群組準備個別的雜湊函數(hash function h())、參數q 及a ,並分派 給加入該群組的節點。監理節點通常如會議主持人或該區域管理者。
創設階段
發起通訊需求的節點,若其本身尚未擁有虛擬子網路識別碼時,首先發出請求群組組成封包(VS-REQUEST packet),其中包含有s, IDs, h(Nonces||IDs)>。其他節點收到此一封包,藉由驗證h(Nonces||
IDs)來判斷發出該封包之節點,是否為相同群組。由於,只有相同群組的節點,才會擁有相同的雜湊函
數,因此,同群組的節點得以正確驗證並回覆回應封包(VS-REPLY packet)其中包含 i, IDi, h(Noncei||
IDi)>。相同的,原請求節點可檢驗h(Noncei||IDi) 驗證回覆節點,是否屬於相同群組並收集其節點識別碼
(ID),在等待一段時間後,原請求節點以自己的節點識別碼(ID)為虛擬子網路識別碼(VSID),然 後將虛擬子網路相關資訊< Nonces, IDs, VSID, virtual subnet member list, h(Nonces||IDs)>傳送給所屬節
點。 維護機制
轉送快取表(forwarding cache table)的功能如同虛擬區域網路(VLAN)的過濾器(filter),其虛擬子 網路的識別是藉由虛擬子網路識別碼(VSID)來判定。當某一節點收到來自鄰近節點的請求登錄快取表封 包(CREQ),即將其中的虛擬子網路識別碼(VSID)記錄於轉送快取表。另一方面,當節點在一區段時 間內,未收到相同虛擬子網路識別碼(VSID)的請求登錄快取表封包(CREQ)或從未為其轉送資料封 包,則節點清除該無用的虛擬子網路識別碼(VSID)。 傳輸機制 當虛擬子網路開始通訊時,其所屬封包皆包含虛擬子網路識別碼(VSID),收到封包的節點,都將依據以 下的演算法,進行處理: Begin
If the packet is never received before then /* for avoid forwarding loop */
If received node is in the same virtual subnet as the source node then {Accept and forward the packet;
Reply ACK packet to the source node }
Else-if the VSID exists in the forwarding cache table then Forward the packet
Else
/*VSID does not exist in the forwarding cache table of the receiving node */ Drop the packet
成大研發快訊 - 文摘 End-if End-if End-if End 群組密鑰協議階段 為了防止群組密鑰協議過程中,有惡意節點進行竊聽(eavesdropping)及偽造(tampering)的攻擊行 為。我們擴充GDH.3 使其可以在無線行動隨意網路中執行,其方法如下圖中所示,而使用的符號,說明如 下: n:參與群組的數目 i,j:虛擬子網路成員的索引 Mi:第i個虛擬子網路成員 Xi:第i個虛擬子網路成員的非公開值 Yi:第i個虛擬子網路成員的公開值 藉由雜湊函數及參數,我們所提出的方法,不僅達到安全性,也滿足效率的需求。但是,在無線行動隨意 網路中,隨著時間的進行,節點可自由離開或加入群組,因此,更完善的群組重組及密鑰機制,是未來值 得深入研究的方向。 3 of 3