• 沒有找到結果。

無基礎行動網路環境上安全群播的密鑰管理機制

N/A
N/A
Protected

Academic year: 2021

Share "無基礎行動網路環境上安全群播的密鑰管理機制"

Copied!
66
0
0

加載中.... (立即查看全文)

全文

(1)

國 立 交 通 大 學

資訊管理研究所

碩 士 論 文

無 基 礎 行 動 網 路 環 境 上 安 全 群 播 的 密 鑰 管 理 機 制

A Key Management Scheme for Secure Multicast on Mobile Ad Hoc Networks

研 究 生: 陳淑雯

指導教授: 羅濟群 博士

(2)

無 基 礎 行 動 網 路 環 境 上 安 全 群 播 的 密 鑰 管 理 機 制

A Key Management Scheme for Secure Multicast on Mobile Ad Hoc Networks

研 究 生: 陳淑雯 Student: Shu-Wen Chen 指導教授: 羅濟群 Advisor: Chi-Chun Lo

國立交通大學 資訊管理研究所

碩士論文

A Thesis

Submitted to Institute of Information Management College of Management

National Chiao Tung University in Partial Fulfillment of the Requirements

for the Degree of

Master of Business Administration in

Information Management June 2005

Hsinchu, Taiwan, the Republic of China

(3)

無基礎行動網路環境上安全群播的密鑰管理機制

研究生:陳淑雯

指導教授:羅濟群 教授

國立交通大學資訊管理研究所

摘要

隨著無線網路技術的進步,無線網路的應用亦趨普及。而在無線網路中,無 基礎行動網路隨著技術之演進,及克服路由與服務品質等問題後,將使得它的應 用範圍更廣。由於它不需藉由無線擷取器提供服務的特性,而是可以自我組成路 由環境,亦因於此,它非常適用於災難救助、軍方作戰演訓及辦公室會議環境使 用。但由於它具有動態拓樸及無線網路環境所形成的弱連結現象,使得它在實際 應用面所遇到的安全問題較傳統的有線網路及無線網路環境更為複雜。 在網路環境中,可藉由點對點、點對多點或多點對多點方式完成資訊傳播, 但由於無基礎行動網路的特性,點對點的方式較不適用,故群播在無基礎行動網 路下的應用將劇增。而群播的安全性問題在此網路架構下完成群播之目的就顯得 格外重要。另在叢集架構下之無基礎行動網路環境,路由及密鑰管理上較有效 率。因此,本研究針對在叢集架構下的無基礎行動網路環境,就點對多點的安全 群播問題做研究。 本研究提出在群播架構下就通訊點的單一節點/多個節點加入、離開及金匙 管理問題提出一個安全機制與架構,以符合在無基礎行動網路中因動態拓樸與無 線通訊本身之限制下,提供一個安全且具有效率的群播通訊環境。最後,於安全 性分析上,本機制除滿足安全性需求外,另由於每個節點所握有的密鑰數量及因 更新群組密鑰所需傳送的訊息量較其他機制少,故本研究所提的機制應可提供較 佳的安全性與運作效率。 關鍵字:無基礎行動網路、安全群播、密鑰管理

(4)

A Key Management Scheme for Secure Multicast

on Mobile Ad Hoc Networks

Student:

Shu-Wen

Chen

Advisor:

Dr.

Chi-Chun

Lo

Institute of Information Management

Nation Chiao Tung University

Abstract

Along with the technology evolution, and after overcomes the routing and quality of service problems, the Mobile Ad Hoc Networks, MANET, make the application in this environment more popular than before. MANET can self-organize routing and does not need access point, so it is useful for emergency operation, military environment and conference. Owing to dynamic topology and wireless environment its secure problems are more complex than wired or wireless network environments in the reality applications.

There are many ways for information dissemination during communication, like point-to-point, point-to-multipoint and multipoint-t-multipoint in the network environment; but due to the characteristic of MANET the point-to-point method is not applicable. Multicast is rapidly becoming a more application in the MANET environment. Therefore, the security problems of secure multicast are more significant, and focus this in our research. In addition, the cluster-based MANET can get more efficient than others in the aspect of routing and key management. We will propose secure scheme and scalable architecture for multicast while some node joins or leaves from the multicast tree and key management problems in the above architecture. We make multicast more efficient and secure under the restriction of the

(5)

dynamic topology and infrastructureless and wireless network constraint in MANET environment. Finally, security analysis present the schemes we proposed are more secure and efficient than the others.

(6)

誌謝

研究所的學習生活說長不長,說短不短,但隨著論文的完成,也代表研究所 的學習生活即將告一個段落,對於這兩年來的時光,內心仍舊有些許的不捨。這 二年來,不管在論文的指導上或生活、課業等其它方面,要感謝的人實在很多, 其中最感謝的,是我的指導老師羅濟群老師。課業上,羅老師開授的課程讓我對 網路及密碼學的領域有了深入的瞭解; Meeting 時所給予的看法與意見,讓我們 能有正確的思考方向與啟發;每學期由老師帶隊的戶外之旅,讓我們享受到大自 然的洗禮,培養了健康的身心,真的很感謝羅老師在這二年對我的指導。 另外一個對我課業及論文寫作上亦協助相當大的,則是博班俊傑學長,謝謝 他在國科會計劃及論文上給我許多的建議跟指導,還有碩士班的秋儀同學,謝謝 她那麼努力聽我論文的內容,協助我找出論文的盲點。碩二的同學們,謝謝大家 在遇到困難時可以互相扶持、互相勉勵,還有碩一的學弟們,每週的讀書會報告 都相當的精彩;當然,我還要特別感謝我的家人,尤其是我的父母,謝謝你們這 麼的照顧我,讓我能在交大完成研究所學業,真的謝謝你們你們的全力支持。

(7)

目次

一.緒論...1 1.1 研究動機...1 1.2 研究目標...2 1.3 研究方法...3 1.4 章節介紹...5 二.文獻探討...6 2.1 無基礎行動網路(AD HOC NETWORK) ...6 2.1.1 架構介紹...6 2.1.2 安全上的挑戰...8 2.2 安全群播機制... 11 2.2.1 安全群播特性... 11 2.2.2 群播密鑰管理方法分類...12 2.3 二元樹架構密鑰管理方法...13

2.4EBS(EXCLUSIVE BASIS SYSTEMS)群組密鑰管理方法 ...15

2.5 二階式群播金匙管理方法 ...18 三.支援多人加入/離開之群組密鑰管理協定...23 3.1 問題分析 ...23 3.2 支援多人加入/離開之密鑰管理協定 ...24 3.2.1 成員合作的傳輸架構...25 3.2.2 密鑰管理機制...26 3.2.3 群播資料傳送...39 3.2.4 與EBS的方法比較...41

(8)

四.比較與分析...44 4.1 安全性的比較與分析 ...44 4.2 效率性的比較與分析 ...45 五.結論與未來研究方向...53 5.1 結論 ...53 5.2 未來研究方向 ...53 參考文獻...55

(9)

圖目次

圖 1-1:研究方法流程圖...4 圖 2-1:無基礎行動網路架構………...7 圖 2-2:以二元樹為基礎的密鑰管理架構[18]...14 圖 2-3:子集合A 與成員間關係[18]...17 i 圖 2-4:二階式群播管理模型[17]...19 圖 2-5:用完全二元樹建立成員區域輔助金匙分散樹[17]...20 圖 2-6:多重成員離去之卡諾圖化簡[17]...21 圖 3-1:叢集架構之無基礎行動網路 ………..25 圖 3-2:成員M 加入叢集i5 i之BIT STRING表格與CHi 送出的加密訊息...30 圖 3-3:成員M 加入叢集i6 i之BIT STRING表格與CHi 送出的加密訊息...30 圖 3-4:成員M ~i3 M 加入叢集i6 i之BIT STRING表格與CHi 送出的加密訊息...31 圖 3-5:成員M 離開叢集i2 i之BIT STRING表格與CHi 送出的加密訊息...36 圖 3-6:成員M 離開叢集i1 i之BIT STRING表格與CHi 送出的加密訊息...37 圖 3-7:成員Mi1 M 同時離開叢集i3 i之BIT STRING表格與CHi 送出的加密訊息…38 圖 3-8:卡諾圖運算...42 圖 3-9:多人加入/離開演算法...43 圖 4-1:總輔助金匙數量比較圖……….51 圖 4-2:每人握有輔助金匙比較圖...51 圖 4-3:假設N=50, X位成員加入之總REKEY訊息數量比較圖...52 圖 4-4:假設N=50, Y位成員離開之總REKEY訊息數量比較圖...52

(10)

表目次

表 2-1:成員真值表...21 表 3-1:本論文密鑰管理方法中的符號定義……….27 表 4-1:群組密鑰協定之效率評估比較……….47

(11)

一.緒論

在本章裡,主要說明本論文的研究動機、研究目標、研究方法及後續各章的 簡單介紹。

1.1 研究動機

隨著無線網路技術的進步及設備和部署成本越來越低,在無線網路上的應用 也越趨成熟,各式的通訊服務,如語音、文件、影像得以在通訊平台上傳輸資訊。 目前無線網路分為兩類,需要無線擷取器(Access Point, AP)構成的無線區域網 路,稱為基礎式網路(infrastructure network),以及不需要無線擷取器,僅靠 行動設備建立起來的無線網路稱為無基礎式行動網路(Ad Hoc Network)。

由於在有基礎架構之通訊環境須倚賴無線擷取器的存在方能完成資訊的轉 送,因此,若有無線擷取器損毀、或因自然災害或因無線擷取器無法涵蓋的範圍, 則此通訊管道失去作用,將造成節點間無法通訊。而無基礎架構之無基礎行動網 路,正可解決上述問題[19] 。 因為無基礎網路架設容易,因此它非常適用於災難救助、軍方作戰演訓及辦 公室會議環境使用。但它具有動態拓樸及無線網路環境所形成的弱連結現象,使 得它在實際應用面所遇到的安全問題較傳統的有線網路及無線網路環境更為複 雜,因此無基礎式網路上群組通訊的安全議題逐漸受到重視。 我們可以使用傳統的 IP 群播交換訊息,然而 IP 群播無法提供任何機制,來 預防非群組成員存取群組交換訊息。雖然加密可用來保護群組交換的資料,但我 們如何在無基礎行動網路上,安全並有效率的分散群組密鑰就是一個重要的議 題。 在無基礎行動網路上架構群組通訊的環境,必須管理大量的群組成員,並面 對成員經常的加入與離開。因此我們需要一個有效率的群組密鑰管理方法。許多

(12)

研究就此問題已提出不同的群組密鑰管理方法,這些方法可分為三部分:集中式 的群組密鑰管理協定、半集中式的架構、以及分散式的密鑰管理協定。一般來說, 在無基礎行動網路下採用分散式的架構較為適合,因為若此架構非分散式架構, 就需要確保一個管理中心永遠存在無基礎行動網路中,且要負責計算群組密鑰, 這樣對無基礎行動網路中的任一個成員都是不公平的。 然而,分散式密鑰管理協定卻需要先建構出類似樹狀的架構,而後進行密鑰 及群播資料傳送,這在無基礎行動網路上不易達成,因此造成在實作上有困難 度,所以本論文主要採用半集中式的架構,即以叢集架構之無基礎行動網路環境 為基礎,建構出適當的群播環境,設計更安全且具效率的群組密鑰管理方法,並 需兼顧每位群組成員對密鑰貢獻與掌握的公平性。

1.2 研究目標

本論文的研究目標是希望以叢集架構之無基礎行動網路環境為基礎,提出一 個安全、有效率的密鑰管理協定(key management protocol)。本論文所提密鑰協定 應用的群組通訊環境,是採用無基礎行動網路(Mobile Ad Hoc Network),而非一 般的實體有線網路或具基礎架構(infrastructure)的無線網路,目的是希望此空間內 的成員能夠利用密鑰管理協定安全地、有效率地產生群組密鑰,以供後續群組通 訊時的資料加密使用。 要達成安全群播,必須滿足以下四個條件[17]: z 私密性(Confidentiality): 非群組成員,不能得知群組成員間傳送的資料。 z 身份認證(Authentication): 成員間資料的傳送必須提供有來源端的認證 機制,以確認群組成員的身份。 z 向前安全性(Forward Security): 離開群組的成員,不能得知其離開群組 後,群組成員間資料傳送的內容。 z 向後安全性(Backward Security): 新加入的成員,不能得知他加入群組

(13)

前,群組成員間資料傳送的內容。 本論文旨在提出安全且具有效率的密鑰管理機制,以達成上述的私密性、向 前安全性、以及向後安全性,至於身份認證則不在本論文討論範圍。且因無基礎 行動網路環境下,群組成員可能因為訊號的變化,經常加入與離開,因此又提出 在成員加入/離開時,如何進行群組密鑰更新的演算法,有效率的處理群組密鑰 更新,並透過密鑰管理的機制,進行群播資料的傳送,達成安全群播。

1.3 研究方法

為能有效達成前述之研究目的,本研究乃採行下列研究步驟,首先進行文獻 回顧整理, 瞭解目前群組密鑰管理方法,探討應用於動態群組群播的相關架構, 深入研究各種密鑰管理方法的可行性與績效分析,歸納出應用於無基礎行動網路 可能產生的問題,結合目前網路密鑰管理所制定的標準,發展有效的動態群組群 播密鑰管理機制。. 研究流程如圖 1-1: (1) 文獻收集 深入瞭解密鑰管理領域的研究主題,與最新研究狀況。 (2) 確定研究主題與架構 藉由相關文獻的整理與收集,瞭解目前正在進行的動態群組群播機制, 針對無基礎式網路研究進行分析。 (3) 分析研究資料並對之前的方法進行問題分析 對於蒐集的文獻做一完整的分析及研究。 (4) 提出可支援多人加入/離開的密鑰管理方法並進行驗證、分析、與比較 利用之前所做的分析比較,規劃可實行的演算法,透過數學證明,驗證 提出方法的優異性,並於數學證明中,設計多種案例進行比較。 (5) 歸納與未來研究方向

(14)

將數學證明所得的紀錄資料進行比對,驗證研究成果是否符合預期,提 升密鑰管理機制的效率。歸納研究時遇到的問題,作為未來研究的方向。 文獻收集 確定研究主題與架構 分析研究資料 對之前的方法做問題分析 提出改良的密鑰管理方法 驗證、分析、比較 修正本論文所提的方法 結束 開始 圖 1-1:研究方法流程圖

(15)

1.4 章節介紹

在第二章中,針對與本論文主題相關的研究做文獻探討,包括:無基礎行動 網路的架構及安全上的挑戰、安全群播特性與群播密鑰管理方法的分類,並簡介 一般以二元樹為基礎的密鑰管理架構以及 L. Morales 等人提出的 EBS 密鑰管理 方法[18] 和二階式群播金匙管理方法[17] ;在第三章中,先對之前學者所提的 方法做出問題分析後,接著提出改良的方法,並且透過本論文提出的密鑰管理方 法及叢集架構的群播環境,設計群播資料傳送的方式;在第四章中,對本論文所 提的方法做分析與比較,包括安全面及效率面;最後,在第五章中對本論文做結 論及未來的研究方向。

(16)

二.文獻探討

在本章裡,主要介紹及說明與本論文主題相關的一些研究,包括無基礎行動 網路的架構及安全上的挑戰、安全群播特性與群播密鑰管理方法的分類、並簡介 一般以二元樹為基礎的密鑰管理架構以及 L. Morales 等人提出的 EBS 密鑰管理 方法[18] 和二階式群播金匙管理方法[17] 等三大部份。

2.1 無基礎行動網路(Ad Hoc Network)

由於本論文所提出的密鑰管理協定主要是用於無基礎行動網路的環境,因此 本節將對此網路做簡單及概念性的介紹,包括架構的介紹與在此環境上應注意的 安全議題。

2.1.1 架構介紹

所謂的無基礎行動網路意指以對等方式進行無線網路存取,電腦之間直接做 點對點無線連線,不需要透過無線基地台(Access Point, AP)。不過此模式的無 線傳輸距離受限於電腦之間的距離,且各無線節點 (Node) 需設定相同頻道 (Channel)與 SSID 才能互相傳輸。 在無基礎行動網路環境中,節點間可以做直接的通訊,也能隨意移動,並繼 續保持節點間連線的狀態。無基礎行動網路是由無線裝置自行建立的區域網路環 境,其中並無無線擷取器或橋接器,它是一種能夠在沒有事先建置基礎架構的環 境下,讓各個節點透過彼此點對點連結所臨時組成的網路,使得節點間能夠互相 傳送資料,其架構圖如圖 2-1 所示。 無基礎行動網路特性即是節點間之通訊並不須預存無線基地台,它們彼此間 能自我組成(Self-Organization)建構起通訊管道。但若兩個節點之前的距離超

(17)

過訊號接收範圍,則在此網路中的某一行動設備需藉由路由功能,搭起此兩節點 的通訊通道。亦即具有動態拓樸的特性使得各個行動設備可以任意移動位置,且 還能繼續和其他節點做溝通。因此,此架構除了具有傳統無線通訊的可移動性優 點外,又因它具有無基礎架構的特性,其應用範圍更廣,例如,災難救助、軍方 作戰演訓、辦公室會議環境及航空運用。 圖 2-1:無基礎行動網路架構 由於無基礎行動網路並沒有無線擷取器、路由器等裝置,因此,每個節點除 了扮演一般的使用者之外,也必須同時具備有路由的能力。由於在無基礎行動網 路環境,每個節點具有高度的動態特性,所以傳統的路由架構如 link-state 以 及 distance-vector[1] [2] ,均不適用。故以下即就無基礎行動網路路由架構 做說明:

1. Proactive Protocol,也稱做 table-driven protocol:

這個方式會經常性的去更新路由的路徑,當有封包需要被傳送時,路由 的路徑通常是可以立刻得知的,使得封包能夠即時的被傳送出去。採用 proactive 方式的協定有:Destination-Sequenced Distance Vector protocol (DSDV)[3] 、Temporally-Ordered Routing protocol (TORA) [4] 、Lightweight Mobile Routing protocol (LMR)[5] 等。Proactive 協定的好處是,當有封包需要傳送時,路由路徑能夠很快決定;但是, 單純的採用 proactive 方式並不能完全適用於無基礎行動網路上,因為 節點會經常性的改變位置,維持路由的資訊會佔用網路很大的資源,且 可能會有某些路由資訊在過期之前,都不會被用到,而浪費了網路的資 源。

(18)

2. Reactive Protocol,也稱做 on-demand protocol:

這個方式只有在當有路由需求時,才會去進行路由路徑的決定。採用 reactive 方式的協定有:Ad hoc On Demand Distance Vector protocol (AODV)[6] 、Dynamic Source Routing protocol (DSR)[7] 等。由於在 收到路由需求的訊息時,路由資訊可能不存在,因此,決定路由路徑將 會造成封包傳送延遲時間較長,且在決定路由路徑時所需要的廣播訊息 將會佔用很多頻寬,因此,單純的採用 reactive 協定也無法完全適用於 無基礎行動網路上。

基於以上兩種路由協定,進而有學者提出應用於以叢集為基礎的無基礎行動 網路(Cluster Based Mobile Ad-Hoc Networks)的路由協定:Cluster Based Routing Protocol (CBRP)[8] ,在這樣的架構下,由於叢集頭(cluster head) 已經知道屬於它的叢集成員(cluster member)的資訊,因此,路由需要訊息的廣 播只需要在叢集頭之間進行,不但能夠有效減少傳送路由訊息所需佔用的頻寬, 也能較快速的決定路由路徑,這也是本研究最後選擇採用叢集式架構的原因之 一。

2.1.2 安全上的挑戰

由於一般無線網路與有線實體網路傳輸媒介的差異,加上無基礎行動網路本 身具有的特性,並非所有的安全協定皆適用於無基礎行動網路環境;因此,想要 在無基礎行動網路上建構安全的通訊環境必須特別注意以下可能面臨到的挑戰 [9] 。 1. 網路上面臨的攻擊: 由於無線網路上資料傳輸的媒介是空氣而不是實體線路,使得此環境下 網路攻擊者的攻擊行為比在實體網路上更容易進行,也因為如此,使得 無線網路的安全議題一直受人所重視,一般網路的攻擊行為可以分為消 極攻擊與積極攻擊兩大類,消極攻擊指的是竊取網路上傳送的資料,而 積極攻擊則不但竊取資料並竄改送出,可看出積極攻擊更具有威脅性。

(19)

2. 分散式或集中式架構: 由於無基礎行動網路是動態拓樸的架構,構成網路的每個成員都可以隨 意移動,為了逹到高度的存活性(survivability)及避免單一弱點的攻擊, 應該採用分散式的架構,避免一個集中式的裝置,否則當單一集中式的 裝置失敗後,整個傳輸網路就無法使用。 3. 省電及運算以及記憶體儲存空間的問題: 由於構成無基礎行動網路的節點都可以不受線路東縛的隨意移動,該設 備一般都是靠電池供電,除了 Notebook 之外,還有 PDA 等,電力及運算 能力以及記憶體儲存空間都有一定的限制。因此,在此環境下所採用的 運算若是太過複雜或是需要儲存的資料過多,則可能造成設備執行運算 及儲存上的負擔,並加速電力的耗損。 基於以上的討論,在無基礎行動網路環境中,節點之間要如何傳送訊息、溝 通,是一個重要的議題。因此,有許多學者提出應用於無基礎行動網路的架構[10] [11] ,大致包含以下三種: 1. 集中式架構(centralized): 由一個單一的單一管理者負責驗證成員合法性與安全傳送訊息。這樣的 方式很明顯的在無基礎行動網路中是不容易達成的,因為我們無法確切 知道網路的大小;除此之外,單一管理者萬一發生錯誤,將無法補救, 且因為單一管理者是單一的點,很容易會遭受非法使用者的惡意攻擊, 造成整個網路無法運作。 2. 階層式架構(hierarchical): 將整個網路分成數個子網路,組合成一個階層式的架構,每個子網路也 有各自的子網路,分別形成一樹狀的架構,並互相合作來提供安全的服 務,這樣的架構能提供給大型的無線網路使用。但是階層式的架構主要 仍然有下列三種問題: (1)由於無線網路高度的動態性,經常需要改變路由的路徑,且節點也會 移動,如何有效且快速的重新組織樹狀結構,是一個瓶頸; (2)階層性的架構經常需要多階(multihop)的傳輸,使得傳送中的資料遭 受竊取的機率更大; (3)每一個行動機置都有可能遭受單一節點失敗的攻擊。

(20)

3. 叢集架構(cluster-based)[12] [13] : 是將網路中的節點分成數個叢集,每個叢集中有各自的一個叢集頭及數 個叢集成員,由叢集頭來負責成員的管理,及訊息轉送與傳送等動作。 由於網路是被分成多個小叢集,因此管理網路成員將更方便;且成員的 資料交換是由叢集頭協助傳送,不需透過多階傳輸,減少資料傳送過程 中遭受攻擊的可能性。 叢集頭所需扮演的角色較複雜,因此需要有較強的計算能力,在動態的網 路中,如何選出適合的叢集頭,並保證叢集頭不是一個非法的使用者,是無基礎 行動網路的問題之一。叢集頭的選定方式大致有兩種[14] : 1. Identifier-based Clustering: 依照使用者的身分編號來決定,通常可選定編號最低或最高的使用者來 當作叢集頭,這樣的做法可較快速的選出叢集頭。 2. Connectivity-based Clustering: 依照使用者的連接性,有越多鄰居(neighbor node)的使用者將被選做 叢集頭,如此做法可以使用較少的叢集數目就能夠包含整個網路。 至於要如何決定叢集的大小,即規定叢集成員與叢集頭之間最遠的距離,則 必須考量到訊息傳送效率、叢集頭所需紀錄資訊的多寡等問題。假設同一叢集之 中,叢集成員與叢集頭之間的距離越遠,則可以用少數幾個叢集就能夠包含整個 網路成員,但是叢集頭所需紀錄它自己內部成員的資訊就要越多,且叢集頭要傳 送給內部成員的訊息也必須經過較多 hop 數[12],延遲訊息傳送的時間,也增加 了訊息可能被竊取的機率;若叢集成員與叢集頭之間的距離越近,則叢集頭在跟 內部成員交換訊息時,可以縮短訊息傳送的時間,也減少了訊息被竊取的可能 性,但這樣的架構需要較多的叢集數才能包含整個網路的成員,且叢集頭也必須 紀錄較多其他叢集的資訊。因此,要如何訂定叢集的大小,到目前為止有許多不 同的叢集式架構提出,也有人提出除了叢集頭及叢集成員之外,應該有另一個角 色:閘道點(gateway node)[12] ,用來負責連接兩個群組之間的通訊。 基於以上路由架構與安全性的考量,本研究將採用叢集式架構,來有效達到 安全的訊息傳送以及成員管理的目的。

(21)

2.2 安全群播機制

本論文主要探討在無基礎行動網路下,如何達成安全群播。因此於本節中介 紹安全群播特性,並簡介群播密鑰管理方法的分類。

2.2.1 安全群播特性

網路上資料的傳遞不外乎三種方式: z 單播(Unicast)。單播就是一般所說的一對一傳輸,這也是傳統 Internet 的資料傳遞方式,資料只會送到指定的使用者端﹔但是如果有三個使用者, 則資料就必須傳遞三次,對於網路通訊頻寬會造成相當大的壓力。 z 廣播(Broadcast)則是一對多,但是並非網路上的所有成員皆需要收到傳送 的訊息,因此此種方式會造成網路頻寬的浪費。 z 群播(Multicast)的技術就是希望能解決這個問題。資料接收端必須指定要 加入網路上任一的群播群組(Multicast Group),因此資料發送端只要送一 次資料則不論資料接收端有多少,都能讓所有加入此群組的使用者接收到資 料。 隨著網際網路與網路上通訊服務的快速成長,群組通訊變的越來越重要。群 組通訊的服務包括:IP 電話、視訊會議、及協同式工作場所等等。同步、安全、 及隱私對群組通訊是必要的。因此如何提供安全的群播,讓付費網路多媒體、責 任性言論、公告及私人會議等群組應用,在傳送資料時能做到保密及認證的功 能,是目前一項重要的研究課題。 所謂安全的群播,就是在群組成員在通訊時,必須提供溝通資料的私密性及 可認證性的機制,滿足下列幾點的特性:[16] 1. 非群組成員,不能夠得知群組成員之間資料傳送的內容。 2. 成員間資料的傳送必需提供有來源端認證的機制。

(22)

3. 一個新加入的成員,不能夠得知他加入群組之前,群組成員間資料傳送 的內容。 4. 一個離開群組的成員,不能得知其離開群組後,群組成員間資料傳送的 內容。 要達到上述四點的安全群播特性,必需在群組成員間建立一個共享的加解密 金匙,並作安全且有效率的管理。在[17] 一文中即對安全群播作詳盡的描述, 以下摘其內容做說明:『一般安全群播協定需建立一群播金匙的管理機制(Key Management),使得加解密金匙的共享不限定於兩者之間,而是由群組成員所共 享,通常這把加解密金匙被稱為群組密鑰(Group Key,簡稱 GrpKey)』,另藉由 輔助金匙達到群組密鑰更新的目的。

2.2.2 群播密鑰管理方法分類

一般而言,群組密鑰管理方法可分成三類[15] :

‹ 集中式的密鑰管理(Centralized Group Key Management Protocols) 由單一個金鑰分佈中心或管理成員來產生群組金鑰。在集中式系統中,只有 一個成員控制整個群組。集中式控制者不需依賴其他輔助成員執行存取控制 和傳遞密鑰。然而,因為只有一個管理成員,當此管理成員被竊取或是發生 重大失誤,整個群組密鑰管理系統就會失敗。也就是說,整個群組訊息的私 密性決定於此管理成員是否能正常運作。當群組成員數目越來越多時,因為 群組僅由單一成員管理,造成管理成員負擔過重且會失去效率。 ‹ 半集中式的密鑰管理(Decentralized Architectures) 將整個群組分成多個子群組,並由各子群組管理者來產生密鑰。在半集中式 的密鑰管理方法中,將整個大群組分割成數各小群組。每個小群組會有自己 的小群組管理者。這個方法解決了將整個群組密鑰管理都交由單一管理者管 理可能發生的負荷過重以及單一管理者失敗導致整個系統失敗的危機。但目

(23)

前此方法較少被採用,因為他仍須依賴一個集中的子群組管理者,負責控制 子群組的存取,或是產生群組密鑰。這會使群組擴充的效率降低,因為他要 靠集中式的子群組管理者和每個子群組管理者做接觸,以確定是否有新成員 加入;且在產生密鑰的部分仍有風險存在,當集中式管理者無法產生群組密 鑰,仍會造成群組通訊失敗。

‹ 分散式的密鑰管理(Distributed Key Management)

沒有任何群組控制者存在。群組密鑰可由所有成員共同貢獻部分資訊合作產 生,或是由單一成員產生。然而交由單一成員產生密鑰是較不適切的作法, 因為並非每個成員都具備產生密鑰的計算能力,例如亂數產生器。協同產生 密鑰的處理時間和傳送的訊息次數會依群組成員線性增加。採用協同產生密 鑰的方式時,每個群組成員都必須隨時注意群組關係的變動,例如新成員加 入或舊成員離開。 由於本研究採叢集式的拓樸協定,因此於安全群播之密鑰管理協定將以半集 中式的方式達到安全群播的效果。本論文之安全群播機制基於[18] 作者所提的 EBS(Exclusive Basis Systems)並結合 sum of product 的觀念應用於叢集內 與叢集間的密鑰管理與動態成員加入與離開,使其達到安全群播之效果。以下先 介紹以傳統二元樹架構進行密鑰管理的方法,之後再對 EBS 機制做完整性介紹。

2.3 二元樹架構密鑰管理方法

在[20]這篇 RFC 規格書中,採用傳統的二元樹架構,管理群組密鑰。樹中的 每個節點都代表一把鑰匙,根節點代表此次會議或是群組的通訊密鑰,加密群播 資料送給群組成員;葉節點代表每位群組成員個別擁有的私有密鑰;而內部節點 (除了根節點)則代表輔助金匙(Administrative Keys),輔助金匙在成員離開 時,能使系統快速的進行群組密鑰更新。在二元樹中,每個群組成員由對應他的 葉節點到根節點,會有一條 Key Path,也就是說每個群組成員會知道其 Key Path

(24)

上的每把鑰匙。因此,如果二元樹是完全二元樹或是平衡二元樹,每個成員會握 有 把鑰匙,等同於樹的高度,包含 1 把私有密鑰、1 把通訊密鑰以及 把輔助金匙,如圖 2-2 所示。 1 ) (log2n + 1 ) (log2n − 在圖 2-2 中,我們將每把鑰匙視為一個集合體,在此集合體中的元素,即表 示握有此把鑰匙。舉例來說,編號為 00 的鑰匙,集合為{0,1},表示成員 0 和成 員 1 握有此把輔助金匙;而編號為 0 的鑰匙,集合為{0,1,2,3},表示成員 0、 成員 1、成員 2、成員 3 皆握有此把輔助金匙。另外,群組通訊密鑰λ的集合元 素為{0,1,2,3,4,5,6,7},表示每位成員皆握有群組通訊密鑰。 圖 2-2:以二元樹為基礎的密鑰管理架構[18] 當有成員想離開群組時,僅需送出三個更新群組密鑰的訊息即可。假設成員 0 想離開群體,我們可以用編號為 1 的輔助金匙加密新的群組密鑰後,送給所有 成員,因為僅有成員 4、成員 5、成員 6、成員 7 握有此把輔助金匙,因此僅有 此四位成員可解開此訊息取得新的群組密鑰。另外,用編號為 01 的輔助金匙加 密新的群組密鑰與輔助金匙 0 後,送給所有成員,因為僅有成員 2、成員 3 握有 此把輔助金匙,因此僅有此兩位成員可解開此訊息取得新的群組密鑰。最後,用 編號為 001—user1 所握有的私有金鑰,加密新的群組密鑰與輔助金匙 0 和 00 後,送給所有成員,因為僅有成員 1 握有此把私有密鑰,因此僅有成員 1 可解開

(25)

此訊息取得新的群組密鑰。透過傳送此三個更新密鑰的訊息,便可更新而不讓離 開的成員 0 得知新的群組密鑰。此即為一般二元樹架構下更新群組密鑰的作法。

2.4 EBS(Exclusive Basis Systems)群組密鑰管理方法

在[18] 這篇論文中,提及當群組的成員經常變動時,如何能有效率管理群 播的群組密鑰的方法。此方法稱之為 EBS,它改善了目前以二元樹為基礎及其他 相關系統的密鑰管理方法。 在群體中,每位成員不僅握有群體密鑰,還個別握有數把用來協助群體密鑰 更新的輔助金匙。這篇論文提出一個技術,稱為 EBS,此為一個群體密鑰管理的 組合公式,即如何在成員數為 n 下,求出最佳的 k 和 m。n 指的是群體成員數,k 則為每個成員握有的輔助金匙數,m 是每次更新群體密鑰所需送出的訊息數。在 這篇論文中,描述了單一成員加入/離開的演算法,並且驗證了大型群體採用 EBS 進行密鑰管理的效率。 EBS 定義:令 n、k、m 皆為正整數,1 < k、m < n。我們將 EBS(n, k, m) 表示為數個子集合(子集合內容為[1, n] = {1, 2, …, n})的集合體,令它為 Γ,即 Γ={A1,A2,…,Ai}。每個整數 t∈[1, n]滿足以下兩個特性: (a) t 最多只能出現在 Γ 中的 k 個子集合。 (b) 在 Γ 中,當有 m 個子集合做聯集,即 …∪ ,使得 = [1, n]-{t}(表示若要排除掉 t 元素,需要 m 個在 Γ 中的子集合做聯集)。 1 AA2Am i m i A 1 = U 舉例如下:EBS(8, 3, 2)是一個數個子集合的集合體 Γ = { ={5, 6, 7, 8}, ={2, 3, 4, 8}, ={1, 3, 4, 6, 7}, ={1, 2, 4, 5, 7}, ={1, 2, 3, 5, 6, 8}}。我們可以簡易的驗證每個 t 1 A 2 A A3 A4 A5 ∈[1, 8]在 Γ 所有子集合中僅出現 3 次, 且每個成員都被在 Γ 中的兩個子集合聯集後排除。就像下面所示:

(26)

[1, 8] – {1} = A1A2 [1, 8] – {2} = A1A3 [1, 8] – {3} = A1A4 [1, 8] – {4} = A1A5 [1, 8] – {5} = A2A3 [1, 8] – {6} = A2A4 [1, 8] – {7} = A2A5 [1, 8] – {8} = A3A4 一個維度為(n, k, m)的 EBS 集合體 Γ,表示在群體中有編號為 1 到 n 的 n 個使用者,而密鑰伺服器(Key Server)保管集合體 Γ 中所有子集合的輔助金 匙(即為 )。若 出現在 Γ 中,表示出現在 此子集合中的所有成員都握有 這把輔助金匙,像上例 EBS(8, 3, 2)中,僅有成員 5、6、7、8 才握有輔助金匙 。而對於 = [1, n]-{t}此特性,即表示當密鑰伺服器想驅逐某位成員時, 可以使用 中所有的 來加密新的群體密鑰送給留下來的成員,換句話說, 當有成員離開群體,密鑰伺服器僅需群播出 m 個用 中所有 加密過的訊息 給所有群體成員,如此可確保除了 t 以外的所有成員都可獲得新的群體密鑰。 i A Ai Ai 1 A i m i A 1 = U i m i A 1 = U Ai i m i A 1 = U Ai 當有成員離開時,除了更新群體密鑰,該成員握有的輔助金匙亦需更新以避 免串謀攻擊,此論文建議可採用雜湊函數 f(新群體密鑰, 舊 )來算出新的 , 如此不但可確保僅原先握有該輔助金匙者才可得出新的 ,亦可避免由密鑰伺 服器產生新 後,以舊 加密後再傳送給所有成員的流量浪費。 i A Ai i A i A Ai 現在可以開始建構 EBS,首先我們先列舉如何在 k+m 個物件中,形成 k 個子 集合的可能方法。對於所有的 k 和 m,我們令 Canonical(k, m)為

( )

k m k + 以在 k+m 個物件中,形成 k 個子集合。舉例矩陣 A=

( )

5 3 ,如圖 2-3 所示:

(27)

圖 2-3:子集合Ai與成員間關係[18] 此矩陣即可用來管理當群體成員為 10 時的輔助金匙分配表。表格中的每列 表示輔助金匙 分配的成員(1 表示有被分配到 ),每欄即為每位成員握有的 (1 表示握有 )。在此例中,n=10,k=3,m=2。因此當有某位成員要離開時, 僅需以m=2 兩個 加密送出rekey訊息即可。假設成員 1 離開此群體,僅需以 (握有 者包含M i A Ai i A Ai i A A1 1 A 3、M5、M6、M8、M9、M10 (Mi表示編號為i的成員))和 (握有 者 包含M 2 A A2 2、M4、M6、M7、M9、M10)分別加密新群體密鑰後送出,則除了成員 1 以外的 所有其他成員都能解開此訊息。需注意的是

( )

k m k + 必須大於等於n,亦即每位成員 握有的Key String都不相同,如此才可確保此密鑰管理系統的安全性。 當新成員加入一個群體大小為 n 的群體時,若

( )

k m k + 仍大於或等於 n+1,則僅 需分配新的 Key String 和對應的輔助金匙給該成員。反之,若

( )

k m k + 小於 n+1, 則可採用兩種方法: 1. 增加每個人握有的輔助金匙數: 即除了新加入成員以外的其他所有成員,都取得新增加的輔助金匙 。則密鑰伺服器將先前的 k+m 把輔助金匙(不含新產生的輔助金 匙)任選 k+1 把分配給新加入成員。 1 + +m k A 2. 增加 rekey 訊息的送出次數: 即除了新加入成員取得新增加的輔助金匙 ,其他所有成員握有的 輔助金匙都維持不變。因此密鑰伺服器需將先前的 k+m 把輔助金匙(不 含新產生的輔助金匙)任選 k-1 把分配給新加入成員。 1 + +m k A 當成員離開時,關於 rekey 的運作,即採用上述聯集所產生的輔助金匙,來

(28)

加密新的群體密鑰送出,確保離開的成員無法解開。但除了 rekey 的部分,我們 仍須考量如何減少密鑰伺服器所管理的輔助金匙數,每位成員握有的輔助金匙 數,以及 rekey 訊息送出的次數。 因此當新成員離開一個群體大小為 n 的群體時,若可以較少的 k 或 m 滿足

( )

k m k + 仍大於或等於 n-1,則需減少每位成員握有的輔助金匙數或 rekey 訊息送出 的次數,以達到 EBS 的最佳化。 若離開成員 y 即是最後加入者,只需將系統回復到 y 加入前的狀態即可(及 回復到先前所採用的 k 及 m 個數)。但當離開成員和最後加入成員的對象不同時, 則可採用以下運作方式: 當成員 x 要離開此群體,而成員 y 是最後加入者,則 (1)將 x 和 y 驅逐出此群體(x 和 y 握有的Ai都會在 rekey 的訊息中被更新); (2)增加成員 y 回此群體; (3)但成員 y 會被分配先前成員 x 的 Key String 和新的對應Ai。 EBS 在密鑰管理方法上提供一個新的架構,EBS 所需採用的輔助金匙個數和 rekey 訊息送出次數,都明顯優於以二元樹資料結構來管理輔助金匙。 由於本研究僅就密鑰管理與單人加入/離開問題做討論,並未說明如何有效 做安全群播與多人加入/離開之機制研究,因此,本研究除了將 EBS 方法引至無 基礎行動網路環境,並結合 sum of product 概念達到上述效果。以下簡介在二 階式群播金匙管理方法[17] 中如何使用卡諾圖迅速找出 sum of product,以有 效率達成群組密鑰管理。

2.5 二階式群播金匙管理方法

在二階式群播金匙管理中,將群組分成兩個區域:一是路由器區域(Router Domain,簡稱 RDomain),另一是成員區域(Member Domain,簡稱 MDomain),如

(29)

圖 2-4 所示。 每個群組只會存在一個路由器區域;路由器區域是由邊界路由器組成,該邊 界路由器在群組進行後將被稱為子群組管理者(Subgroup Manager)。在眾多的子 群組管理者將有一個會被特別稱為群組管理者(Group Manager)。群組管理者負 責管理路由器區域內子群組管理者在加入及離開群組通訊時群播金匙的分配和 更新等動作。 M M M M M M Group Member Subgroup Manager Group Manager M GM SM M M M M Member Domain SM SM SM Router Domain GM M M 圖 2-4:二階式群播管理模型[17] 成員區域則是由一個子群組管理者及其管轄範圍內的已註冊群組成員所組 成,子群組管理者將負責管理該成員區域內的成員加入及離開群組通訊時群播金 匙的分配和更新等動作。 二階式群播金匙管理利用分層管理的觀念,將整個群組成員的管理負擔分散 到各個子群組管理者上,讓群組管理者只負責管理子群組管理者,並不直接管理 群組成員。利用這樣的階層化觀念,將使得安全群播群組的管理擁有可量化的特 性。 基本是我們亦可稱其採用的是叢集架構,由群組管理者管理子群組管理者, 另交由子群組管理管理者直接管理屬於他的群組成員,由於網路是被分成多個小 叢集,因此管理網路成員將更方便。

(30)

每個成員區域內,會維持一個輔助金匙分散樹,此樹狀架構將由該區域的子 群組管理者維護,子群組管理者依照該成員區域內的成員名單建立靜態的輔助金 匙分散樹。其使用完全二元樹(Complete Binary Tree)的方法來建立成員區域內 的輔助金匙分散樹,如圖 2-5 所示。 在圖 2-5 中,由子群組管理者依照成員建立一個完全二元樹的輔助金匙分散 樹。圖中每個圓點代表一個輔助金匙節點,而每個方形成員節點則代表著一個群 組成員。由於為完全二元樹的架構,會有部份成員節點是空的,表示沒有代表任 何成員。 0 K K0 1 K K1 top K 0 K K0 K0 K0 1 K K1 0 K K0 2 K K2 m7 m6 m5 m4 m3 m2 101 100 110 011 010 111 MID: Key Node Member Node 001 null m1 圖 2-5:用完全二元樹建立成員區域輔助金匙分散樹[17] 對於輔助金匙分散樹上的金匙配置,子群組管理者將先產生 2⎡ ⎤+1 把的 輔助金匙,其中 N 為該成員區域內的成員個數,然後配置到輔助金匙節點。樹根 (root)節點將被配置 ,在樹的第 i 層每個節點其左邊兒子節點(left child) 配置金匙 1,而右邊兒子節點(right child)則配置金匙 N log top Ki K Ki1i>0 且Ki−1和Ki−1 並沒有任何關係。 每個成員節點將配置一MID(Member ID)代表著該成員節點到樹根節點間所經 過輔助金匙節點,同時也表示該註冊成員加入群組通訊時時被配置到的輔助金 匙。MID用二元字串(Binary String) bn-1bn-2…b0來表示,其中n為二元字串的長 度且n=⎡logN ⎤,而bi可為 0 或者是 1,如圖 3 中m6 的MID為 110,其中b2=1、b1=1、

(31)

b0=0。如果註冊成員MID的bi=1 則表示註冊成員在加入群組通訊後會分配到 , 反之b i K i=0 即表示註冊成員會分配到Ki,而每個成員皆會分配到 。如圖四中m6 的MID為 110,即表示m6 在進入群組後將會取得輔助金匙 、 、 top K 2 K K1 K0及 , m2 的MID為 010,表示m2 在進入群組後將會取得輔助金匙 top K 2 KK1K0Ktop。 在處理多重成員離開群組通訊時,透過使用布林代數化簡的方法,將更新群 組金匙所需的的訊息個數減到最少。例如在圖 2-5 中,若成員 m7 及 m2 同時要離 開群組,並且 m6 並未加入群組,MID 000 並末配置。我們可以 MID 為輸入,並 依下列原則建立成員真值表,如表 2-1 所示。 z 輸出為 0 表示該 MID 成員將離開群組通訊。 z 輸出為 1 表示該 MID 成員沒有要離開群組通訊。 z 輸出為 X 表示該 MID 成員並未加入群組通訊,或者該 MID 並未配置。 表 2-1:成員真值表 Input(MID) 0 1 2bb b Output 000 X 001 1 010 0 011 1 100 1 101 1 110 X 111 0 X 1 1 0 1 1 0 X 0 1b b 00 01 11 10 0 1 2 b X 1 1 0 1 1 0 X 0 1b b 00 01 11 10 0 1 2 b (a)卡諾圖 (b)卡諾圖化簡圈選 圖 2-6:多重成員離去之卡諾圖化簡[17] 由於 MID 的字元(bits)同時代表著成員所擁有的輔助金匙,所以我們可以利

(32)

用卡諾圖或是列表法來化簡成員真值表,並將化簡結果以積之和(sum of product expression)的方式來表示,而化簡結果即為非離去成員間所擁有的共同輔助金 匙。如圖 2-6 所示使用卡諾圖方法化簡表 1,其化簡結果b1 +b2b0。在化簡結果 中的每個積項(product term)即代表著部份非離去成員間所共有的一組輔助金 匙,而全部的積項將能含蓋全部的非離去成員。例如b1代表輔助金匙K1,而K1被 m5、m4 及 m1 所共有,b2b0代表輔助金匙K2K0,並且只有 m3 和 m1 同時擁有K2 及K0,而 m5、m4、m3 及 m1 則是全部的非離去成員。 在求得共同輔助金匙組後,子群組管理者便可以利用各組的同共輔助金匙來 對更新群播金匙的訊息進行加密。如果共同輔助金匙組的金匙數目為 1,則只要 直接利用該輔助金匙來加密,而如果共同輔助金匙組的金匙數目超過 1,則使用 複合金匙的方式將多把輔助金匙結合成一把,並利用該複合金匙來加密。在本例 中 , 最 後 子 群 組 管 理 者 必 需 分 別 使 用 輔 助 金 匙 K1 及 複 合 金 匙 0 2 K (K20 = f(K2,K0))來加密群組金匙更新訊息。 本論文為了達成成員加入/離開亦能有效率的更新密鑰,故在叢集架構下亦 採用卡諾圖進行 sum of product 的化簡,在群組成員加入及離去群組的動作非 常的頻繁或是群組成員分散情形極端的時候,叢集架構下採用卡諾圖進行化簡將 能提供更好的群組金匙更新效率。

(33)

三.支援多人加入/離開之群組密鑰管理

協定

在第一章的研究動機中,本論文提出想達成的目標及方向,因此收集、研究 了許多與本論文相關的文獻,如第二章所介紹。在文獻探討的過程中,了解無基 礎行動網路的特性及安全上的挑戰、了解為什在無基礎行動網路環境上較適用以 叢集式為基礎的群組密鑰管理協定,而不採用分散式的密鑰協同協定,也了解利 用 EBS 和卡諾圖進行密鑰管理的好處,接著本論文提出一個能支援多人同時加 入/離開的密鑰管理協定,在此章中,先對問題做分析、定義,接著再對本論文 提出的方法做詳細的介紹。

3.1

問題分析

由於無基礎行動網路應用於無線網路環境上的設備,其電力、運算能力以及 儲存空間常被假設有一定的限制,綜觀多種架構下的群組密鑰管理協定,發現採 用 EBS 機制進行密鑰管理,可以大幅減少每個成員的運算時間、儲存空間以及 需送出的 Rekey 訊息,即減少每位成員的運算及儲存負擔,並可降低 Rekey 訊 息佔用的頻寬,因此本論文所提的方法即基於以 EBS 機制結合卡諾圖構成安全 群播的密鑰管理機制。 此外,無線網路的封包較一般實體網路更容易發生群組成員隨時加入/離 開,因此不管單人加入/離開或是多人同時加入/離開,如何快速安全並有效率的 更新群組密鑰,是本論文想要解決的問題,另外,當有一個完善的密鑰管理機制, 如何在叢集式架構下,安全並迅速的將資料送到目的地,也是本論文欲探討的內 容。

(34)

在仔細檢視於第二章所述的 EBS 機制後,發現此方法僅提出以 Bit String 來 進行密鑰更新,卻未深入提及在無基礎行動網路上,應極易發生的多人加入/離 開情況下,如何做群組密鑰的更新。因此在本論文中,透過 EBS 機制與卡諾圖 的搭配,設計了如何進行多人加入/離開的群組運作與密鑰更新機制,且討論如 何在這樣的機制下進行安全群播。 因此基於[19]此篇論文中提出的 EBS 方法,本論文欲延伸並改進的部分有: z 結合卡諾圖協助群組訊息傳送 將每位群組成員握有的輔助金匙 Bit String,透過卡諾圖進行運算,可 有效率地找出可用來加密訊息的輔助金匙,避免群組訊息被群組外的其 他人或是不應取得此訊息的群組內成員得知。 z 延伸 EBS 機制,設計可支援多人同時加入/離開演算法 本論文延伸 EBS 機制下的單人加入/離開演算法,設計可支援多人加入 /離開演算法,滿足原先 EBS 機制的優點:即每個群體的輔助金匙及需 送出的 Rekey 訊息都達到最小值。且透過卡諾圖的運算,在多人加入/ 離開演算法的實作上能更有效率傳送 Rekey 訊息。 z 叢集架構下的安全群播 深入探討如何藉由本論文所提出的密鑰管理機制,在叢集架構下安全的 在叢集間及叢集內傳送群組訊息,以達成安全群播的目標。

3.2 支援多人加入/離開之密鑰管理協定

基於前一節裡的問題分析描述,本論文所要做的方向,即基於[19]作者所提 的機制完成群組密鑰傳送,但以最少的輔助金匙協助群組密鑰的更新;並解決[19] 更新群組密鑰的運作效率問題;除了改良群組內多人加入/離開如何更新群組密 鑰的演算法之外,還增加了如何透過卡諾圖運算,進行群組密鑰及資料的加密與 傳送,讓安全群播得以達成,以下即對本論文所提的密鑰管理協定做詳細的介紹。

(35)

3.2.1 成員合作的傳輸架構

本研究乃基於叢集架構下討論無基礎行動網路的安全群播機制。因此,它包 括了叢集內與叢集間動態環境下的密鑰管理機制,以滿足安全群播之目標。而之 所以採用叢集架構,其原因為它具有較佳的路由效率。因此,在本研究中我們假 設能和叢集頭直接進行通訊(Single Hop)的所有成員形成一個叢集,在叢集內的 所 有 成 員 共 同 分 享 一 把 子 叢 集 密 鑰 。 不 同 叢 集 間 亦 可 透 過 叢 集 頭 , 使 用 Inter-cluster key 互相通訊。而任何一個節點均可加入或離開某一叢集。 在本研究機制中是以編號最小者做為該叢集之叢集頭,且此叢集頭具有可信 賴的特性,除非此叢集頭離開了此叢集,則必須重新找叢集頭,並重建此叢集內 所有成員的信賴關係,且該叢集頭必須重新取得叢集間的群組通訊密鑰及輔助金 匙。於叢集間亦以編號最小的叢集之叢集頭當做此群組之叢集頭。同樣的,它必 須具備與叢集內之叢集頭同樣的特性,它的目的是為了實現跨叢集的安全群播。 CH0 CH1 CH2 CH3 CH4 Cluster Head Mobile Host CH 圖 3-1:叢集架構之無基礎行動網路

(36)

圖 3-1 即為本研究之叢集架構圖,以CH標示者為該叢集的叢集頭,編號最小 的叢集頭(CH0)為群組控制者,即此群組之叢集頭。 另先就本研究所須之假設在此做描述: 假設 1: 此群組通訊環境共區分成n個叢集,即GS ={Clusteri |∀i =0,...,n−1}; 每個叢集擁有m個成員(節點),即Clusteri ={Mi,j | j=0,1,2,...},其中每個叢 集內的成員個數可以不一樣,Mi0即為Clusteri的叢集頭,標示為CHi。 假設 2: 0 , 0 M 為此群組通訊主要控制者,由它來產生叢集間的群組密鑰及各叢集 頭的輔助金匙,做為叢集間更換群組密鑰之用外,另它亦扮演此叢集內之叢 集頭角色;而 為第i+1個叢集之叢集頭,其目的是為了產生此叢集之子 叢集密鑰及該叢集內所有成員的輔助金匙,做為叢集內更換子叢集密鑰之 用。另所有叢集之叢集頭均為可信賴的節點,由它們來協助完成密鑰管理與 群播工作。 0 , i M 假設 3: 0 , 0 MMi,0;∀i=1,2,...,n−1間已存在一個秘密金鑰 ;同理每一個叢 集 頭 與 該 叢 集 內 的 所 有 成 員 i PW 0 , i M Mi,j; j=1,2,..., 亦 存 在 一 個 秘 密 金 鑰 。 j SPW 假設 4: 叢集內之叢集頭 或此通訊群組之叢集頭 必須協助合法的群組成員 完成群播事宜。 0 , i M M0,0

3.2.2 密鑰管理機制

關於在本論文中所提出之密鑰管理演算法中,使用的相關符號定義,皆說明 如表 3-1:

(37)

表 3-1:本論文密鑰管理方法中的符號定義 符號 說明 i CH 群組通訊環境中的編號為i的叢集頭 ij M 群組通訊成員,編號為i之叢集中,編號為 的成員 j i PW 群組通訊主要控制者握有的其他叢集頭之私密金鑰 j SPW 各叢集頭握有的該叢集內所有成員之私密金鑰 k A 群組通訊環境中,叢集間的輔助金匙 ik A 各叢集內所使用的輔助金匙 GK 群組通訊環境中的群體密鑰,即 inter-group key Sub-GKi 各叢集內使用的子叢集密鑰,即 intra-group key

Key E {data} 使用對稱式加密將群組通訊資料“data”以密鑰“Key”加密 ) ( f 單向雜湊函式 由於群播具有點對多點遞送之效果,故非常適用於無基礎行動網路環境。本 小節就群播密鑰之管理,做詳細介紹。

本機制採[18] 所提之 EBS 機制,並使用 sum of product 的機制以達快速化 簡之目的,如此使得群播所需之輔助金匙及當有成員離開群組,完成更新此群組 密鑰之後,將新的群組密鑰送至現有成員所需使用之輔助金匙能很快的計算出 來。於本研究中,安全群播之密鑰管理,亦區分叢集間與叢集內之密鑰管理機制。 亦即是說,對某一叢集而言,該叢集頭必須產生子叢集密鑰鑰及協助叢集內成員 產生子叢集輔助金匙,作為該叢集內任一節點欲進行叢集內群播之用;另對叢集 間而言, 必須協助剛加入此通訊群組之叢集代表,即是該叢集之叢集頭 產生輔助金匙及該群組之群組密鑰。 0 , 0 M Mi,0 以下即就分別針對成員加入,離開群組的密鑰管理機制做描述。 1. 成員加入密鑰管理機制 某一節點通過身份認證後,叢集頭必須有義務協助它成為叢集的成 員之一。因此,就叢集頭而言,它必須執行成員加入機制。然而在 EBS

(38)

機制中,並未提及多人加入之密鑰管理機制,然而在無基礎行動網路下, 此種情況會經常發生,即可能同一時間有多人進行加入群組的動作。若 個別以單人加入法逐一加入成員,則需一直變動 Bit String 表格,且叢集 頭每處理一個新加入的成員,就需產生新的群組密鑰加密後送出,造成 叢集頭運算能力及網路頻寬的浪費。 因此本論文延伸原先 EBS 單人加入機制,提出能同時支援單人與多 人同時加入之演算法,以下即詳述此成員加入演算法並詳加舉例。 成員加入演算法分為三步驟: (1)叢集頭判斷是否增加輔助金匙; (2)分配 Key String 和對應的輔助金匙給對應的新加入成員。 (3)系統需記錄「金匙變動點」; (4)叢集頭送出新子叢集密鑰與輔助金匙訊息。 以下針對此三步驟做詳細描述: (1)叢集頭判斷是否增加輔助金匙: 假設共有 x 位新成員欲加入此群組,加入的後的群組數目為 n+x,叢集頭需先判斷目前的輔助金匙數目是否滿足

( )

k m k + 仍大於 或等於 n+x,若此條件滿足,則僅需分配新的 Key String 和對應 的輔助金匙給對應的新加入成員。反之,若

( )

k m k + 小於 n+x,則需 增加輔助金匙的數目,使新的

( )

k m k + 大於或等於 n+x。 換句話說,此方法不需針對每位成員的加入修改 Bit String 表格,而是一次增加足夠的輔助金匙,並且分配 Bit String 給所 有新加入的成員。 (2)分配 Key String 和對應的輔助金匙給對應的新加入成員。 若需增加輔助金匙,叢集頭可如同 EBS 自行判斷欲增加每個人

(39)

握有的輔助金匙數或是增加 rekey 訊息的送出次數以滿足

( )

k m k + 於或等於 n+x,即: A. 增加每個人握有的輔助金匙數: 即除了新加入成員以外的其他所有成員,都取得新增加的 輔助金匙 。則子叢集頭將先前的 k+m 把輔助金匙(不 含新產生的輔助金匙)任選 k+1 把分配給新加入成員。 i A B. 增加 rekey 訊息的送出次數: 即除了新加入成員取得新增加的輔助金匙 ,其他所有 成員握有的輔助金匙都維持不變。因此子叢集頭需將先前 的 k+m 把輔助金匙(不含新產生的輔助金匙)任選 k-1 把分配給新加入成員。 i A 本論文為簡化叢集頭的判斷流程,故設計若新增的輔助金匙編 號為單數,則採用 A 步驟;反之若新增的輔助金匙編號為雙數,則 採用 B 步驟。 (3)系統需記錄「金匙變動點」: 但系統增加輔助金匙後,不管是決定要增加每個人握有的輔助 金匙數(增加 k),或是增加 rekey 訊息的送出次數(增加 m),都需 留下記錄(需記錄哪位成員的加入,與其加入前的 Bit String 表 格),即找出哪些成員的加入是造成輔助金匙增加的臨界點,本論 文稱這些成員為「金匙變動點」。 因此當成員離開時即需此記錄來幫助系統回復到最佳的狀 況,使成員離開的運作上更有效率。 (4)叢集頭送出新子叢集密鑰與輔助金匙訊息: 當 Bit String 表格成功建立後,即可由叢集頭以舊子叢集密 鑰加密新的子叢集密鑰,送出給先前的成員,若先前成員應握有的

(40)

子叢集輔助金匙有增加,則亦需以舊子叢集密鑰加密先前成員應擁 有的子叢集輔助金匙並送給先前成員;並且以新成員和叢集頭共享 的私密金鑰,加密新的輔助金匙和新子叢集密鑰後送出給新成員。 <單人加入-輔助金匙數目不變> 成員 加入叢集 , 需送出的 加密訊息: 5 i M i CHi i 5 GK Sub E { Sub-GKi’} -> Mi0~Mi4 SPW E { Sub-GKi’,Ai3,Ai4} -> Mi5 0 i M M i1 M i2 M i3 Mi4 Mi5 1 i A 1 0 1 1 0 0 2 i A 0 1 1 0 1 0 3 i A 1 1 0 0 0 1 4 i A 0 0 0 1 1 1 圖 3-2:成員Mi5加入叢集i之 Bit String 表格與CHi 送出的加密訊息 0 i M M i1 M i2 M i3 Mi4 Mi5 Mi6 1 i A 1 0 1 1 0 0 1 2 i A 0 1 1 0 1 0 1 3 i A 1 1 0 0 0 1 1 4 i A 0 0 0 1 1 1 0 5 i A 1 1 <單人加入-輔助金匙數目增加> 成員 加入叢集 i ,CH 需送出的加密 訊息: 6 i M i i GK Sub E { Sub-GKi’} -> Mi0~Mi5 6 SPW E { Sub-GKi’,Ai1,Ai2,Ai3} -> Mi6 1 1 1 1 0 圖 3-3:成員Mi6加入叢集i之 Bit String 表格與CHi 送出的加密訊息 舉例說明:以單人加入為例,若成員 想加入叢集 ,則 Bit String 表格可如圖 3-2. 所示。即表示叢集頭 需將新的子叢集密 鑰 Sub-GKi'以舊群組密鑰加密後,送給 ~ ,並且以 加密 新群組密鑰和 應握有的輔助金匙( , )送給新成員 ,如圖 3-2 所示。但因為 加入時輔助金匙並未增加,因此不需留下記錄。 5 i M i i CH 0 i M Mi4 SPW5 5 i M Ai3 Ai4 Mi5 5 i M 另若成員 亦想加入叢集 ,需增加輔助金匙 ,滿足在 EBS 所 提及 6 i M i Ai5

( )

k m k + 必須大於等於 n 的條件,且因為新增的輔助金匙 編號為單 5 i A

(41)

數,故採用前述的 A 步驟,即增加每人握有的輔助金匙數 k。 Bit String 表格可如圖 3-3 所示。叢集頭 同樣的需將新的群組密鑰 Sub-GKi' 以舊群組密鑰加密後,送給 ~ ,並且以 加密新群組密鑰和 應握有的輔助金匙( , , )送給新成員 ,如圖 3-3 所示。 因為 加入時輔助金匙增加,因此需留下記錄,內容為成員 加入 前的 Bit String 表格,即圖 3-2 的 Bit String 表格。

i CH 0 i M Mi5 SPW6 6 i M Ai1 Ai2 Ai3 Mi6 6 i M Mi6 0 i M Mi1 Mi2 Mi3 Mi4 Mi5 M i6 1 i A 1 0 1 1 0 0 1 2 i A 0 1 1 0 1 0 1 3 i A 1 1 0 0 0 1 1 4 i A 0 0 0 1 1 1 0 5 i A 1 1 1 1 1 1 0 <多人加入-輔助金匙數目增加> 成員Mi3、Mi4、 M 、i5 Mi6加入叢集 , CH 需送出的加密訊息: i i i 3 4 5 6 GK Sub E { Sub-GKi’,Ai4} -> Mi0~Mi2 SPW E { Sub-GKi’,Ai1,Ai4,Ai5} -> Mi3 SPW E { Sub-GKi’,Ai2,Ai4,Ai5} -> Mi4 SPW E { Sub-GKi’,Ai3,Ai4,Ai5} -> Mi5 SPW E { Sub-GKi’,Ai1,Ai2,Ai3} -> Mi6 圖 3-4:成員Mi3~Mi6加入叢集i之 Bit String 表格與CHi 送出的加密訊息 另若成員多人加入,亦可採用此演算法進行。

(42)

舉例說明:若成員 、 、 、 同時想加入叢集i,需增 加輔助金匙 、 ,才可滿足在 EBS 所提及 必須大於等於 n 的條 件。 Bit String 表格可如圖 3-4. 所示。叢集頭 同樣的需將新的 子叢集密鑰 Sub-GKi'以舊子叢集密鑰加密後,送給 ~ ,且根據 Bit String 表格, ~ 需握有 ,因此將此輔助金匙和新子叢集 密鑰以舊子叢集密鑰加密後送出給 ~ 。並且分別以每位新成員 和叢集頭共享的私密金鑰加密新子叢集密鑰和個別新成員應握有的輔 助金匙 送給新成員 ~ ,如圖 3-4 所示。 3 i M Mi4 Mi5 Mi6 4 i A Ai5 ( ) k m i CH 0 i M Mi2 0 i M Mi2 Ai5 0 i M Mi2 ik A Mi3 Mi6 2. 成員離開密鑰管理機制 若有某一成員或某一群成員離開此叢集時,叢集頭除了必須依照 EBS 演算法驅離此叢集內需離開的成員外,亦須藉由 sum of product 化簡機制將新的子叢集密鑰以卡諾圖化簡後結果的子叢集輔助金匙之 組合加密後送至未離開的節點手中。最後,再將不應該驅離的成員加回 到此叢集。 而成員離開在 EBS 中亦有單人離開的機制,而無提及多人同時離開 群組的情況,但在無基礎行動網路下,此種情況會經常發生,例如因為 無線設備訊號的變化,便可能同一時間有多人離開群組的動作。若個別 以單人離開法逐一做成員驅逐的步驟,則需一直變動 Bit String 表格, 且叢集頭每處理一個離開的成員,就需產生新的子叢集密鑰加密後送 出,造成叢集頭運算能力及網路頻寬的浪費,而每位成員亦需浪費其運 算能力在輔助金匙的計算上。 因此本論文乃提出可支援多人同時離開的密鑰管理機制,此機制延 伸 EBS 的單人離開演算法,並且也結合卡諾圖協助運算,快速找出可用 來加密訊息的輔助金匙,避免被驅逐的所有成員解開此訊息,成員加入

(43)

演算法分為四步驟: (1)將欲離開的成員(令其為 X 集合,離開的成員數為 x 人),和後 面加入的 x 位成員(令其為 Y 集合)共同驅逐出此群組,換句話 說,即將(X∪Y)集合中的所有成員共同驅逐(所有的 都會藉 由雜湊函數被更新); i A (2)使用卡諾圖化簡找出可用來加密新子叢集密鑰的輔助金匙,以 這些輔助金匙加密新的子叢集密鑰後送出,而可解開此訊息的 成員則以 f(Sub-GKi’,Ai)= Ai'更新其握有的 ,叢集頭亦以 此雜湊函數更新所有的 。 ik A ik A (3)若 Y 集合中,某些成員加入時系統有留下輔助金匙變化的紀 錄,則系統還原至編號最小的成員加入前的狀態; (4)依序增加(Y-X)集合中的成員回此群體,即是將不應被驅逐的成 員加回此群體,但在(Y-X)集合中的成員會被分配先前離去成員 X 的 Key String 和新的對應Ai。 舉例說明:若成員 想離開叢集 ,假設原先的 Bit String 表格 如圖 3-5.之原始 Bit String 表格所示。依本論文提出的成員離開演算 法,X={ }、Y={ },因此 X∪Y 集合中的成員為{ , },所 以同時驅逐 和 ,所有的輔助金 匙 都 會藉由雜湊函 數 Sub-GKi’, 被更新。 2 i M i 2 i M Mi4 Mi2 Mi4 2 i M Mi4 Ai f( ) ik A 但當同時驅逐 和 時,在 EBS 並未提及要採用哪些輔助金匙 加密新的子叢集密鑰訊息,因此本論文結合卡諾圖的計算,快速找出可 用來加密的輔助金匙,避免被驅逐的 和 解開此訊息,需注意的 是,因為本論文採用的輔助金匙皆為正元素,因此卡諾圖計算出的結果 中,若項數含有反元素,例如 2 i M Mi4 2 i M Mi4 i A ,在本論文中定義為無意義。因此結 果如圖 3-5.之卡諾圖所示。 本論文採用雜湊函數協助更新輔助金匙,即取得新的子叢集密鑰成 員可和其原先握有的輔助金匙當作輸入,經由雜湊函數的運算得到新的

(44)

輔助金匙,可表示為 f(Sub-GKi’,Ai)= Ai',因為叢集頭不需傳送更新 的輔助金匙,而交由各個成員自行運算,因此可減少網路傳送訊息的大 小。 另外因 加入時系統並未留下造成輔助金匙變化的紀錄,因此不 需做還原的的動作,直接刪除 此欄即可。接著需將不應被驅逐的成 員 加回此群組,即執行前述的加入演算法,但成員 的 Bit String 會被分配離開成員 的 Bit String 和對應的輔助金匙 ,換句話說, 成員 會被視為新的 。需注意的是若原先 加入時,在系統中 有留下金匙變動點的紀錄,則 會繼承此金匙變動點的身份,即當 離開,需將系統還原至此筆記錄原先 加入前的系統狀態。最終 的 Bit String 表格與叢集頭應送出的訊息如圖 3-5 之更新後 Bit String 表格所示。 4 i M 4 i M 4 i M Mi4 2 i M Ai 4 i M M2 Mi2 4 i M 4 i M M2 另若成員 亦想離開叢集i,需減少輔助金匙 ,因為三把輔助 金匙即滿足在 EBS 所提及 1 i M Ai4

( )

k m k + 必須大於等於 n 的條件,避免輔助金匙

的浪費。原先的 Bit String 表格如圖 3-6.之原始 Bit String 表格所 示。X={ }、Y={ },因此 X Y 集合中的成員為{ , },所以 將 和 同時驅逐,而所有的輔助金匙 都會藉由雜湊函數被更 新。同樣的透過卡諾圖的計算,快速找出可用來加密的輔助金匙,避免 被驅逐的 和 解開此訊息,如圖 3-6.之卡諾圖所示。系統還原至 加入前的狀態,即還原至 M 加入前的 Bit String 表格,因為 加入前,在 Bit String 表格中僅有三把輔助金匙,因此會減少一把輔 助金匙,即是將 Bit String 表格中的最後一列刪掉。接著需將不應被 驅逐的成員 加回此群組,執行加入演算法,成員 的 Bit String 分配給 的 Bit String 和對應的輔助金匙 和 。最終的 Bit String 表格與叢集頭應送出的訊息如圖 3-6.之更新後 Bit String 表格 所示。 1 i M Mi3Mi1 Mi3 1 i M Mi3 Ai 1 i M Mi3 3 i M i3 Mi3 3 i M Mi3 1 i M Ai2 Ai3

數據

圖 2-3:子集合 A i 與成員間關係[18]  此矩陣即可用來管理當群體成員為 10 時的輔助金匙分配表。表格中的每列 表示輔助金匙 分配的成員(1 表示有被分配到 ) ,每欄即為每位成員握有的 (1 表示握有 ) 。在此例中,n=10,k=3,m=2。因此當有某位成員要離開時, 僅需以m=2 兩個 加密送出rekey訊息即可。假設成員 1 離開此群體,僅需以 (握有 者包含MAi A iAiAiAi A 1A 1 3 、M 5 、M 6 、M 8 、M 9 、M 10  (M i 表示編號為i的成員)
圖 2-4 所示。   每個群組只會存在一個路由器區域;路由器區域是由邊界路由器組成,該邊 界路由器在群組進行後將被稱為子群組管理者(Subgroup Manager)。在眾多的子 群組管理者將有一個會被特別稱為群組管理者(Group Manager)。群組管理者負 責管理路由器區域內子群組管理者在加入及離開群組通訊時群播金匙的分配和 更新等動作。  M MMM MM Group Member Subgroup ManagerGroup ManagerMGMSMMMMMMember DomainSMSMSM
表 3-1:本論文密鑰管理方法中的符號定義  符號  說明  CH   i 群組通訊環境中的編號為 i 的叢集頭  M ij 群組通訊成員,編號為 i 之叢集中,編號為 的成員 j PW   i 群組通訊主要控制者握有的其他叢集頭之私密金鑰  SPW j 各叢集頭握有的該叢集內所有成員之私密金鑰  A   k 群組通訊環境中,叢集間的輔助金匙  A   ik 各叢集內所使用的輔助金匙  GK  群組通訊環境中的群體密鑰,即 inter-group key  Sub-GK i 各叢集內使用的子叢集密鑰,即 i
表 4-1:群組密鑰協定之效率評估比較  傳統二元樹 金匙管理  二階式群播金匙管理  EBS  (僅有單人加入/ 離開演算法)  支援多人加入離開的密鑰管理機制  總輔助金匙數目  n-2  2 ⎡ log 2 n ⎤ +1 滿足 ( )kkm+ ≥  n  滿足 ( )kkm+ ≥  n  每人握有的  輔助金匙數  ⎡ log 2 n ⎤ -1  ⎡ log 2 n ⎤ +1  k k  x 位成員加入  總 Rekey  訊息量  2 * x  2 * x  2 * x  x + 1  y 位成員離

參考文獻

相關文件

擁有很強的內在動機 (探索自己和世界) 擁有內在和外在的動機,並能自我調控(提升能力、升 職準備). 喜歡與生活連繫

a 全世界各種不同的網路所串連組合而成的網路系統,主要是 為了將這些網路能夠連結起來,然後透過國際間「傳輸通訊 控制協定」(Transmission

經過小學四年級輔助課程四十多小時密集式的活動,組員有不同程度及層面的學習和參

近期全球各地皆藉由停止上班上課以遏制新冠肺炎疫情的傳播,正是需要遠端視訊或會 議軟體的時刻,然而視訊會議工具 Zoom

近期全球各地皆藉由停止上班上課以遏制新冠肺炎疫情的傳播,正是需要遠端視訊或會 議軟體的時刻,然而視訊會議工具 Zoom

密碼系統中,通常將想要保護的密碼訊息稱為 plain text。而將經過加密後產生的加密訊息稱為 cipher text。在這 中間的過程,會用到可以對外供應的 Public Key 以及私人保

擴大商品及服務、民族、文化及信息交流。為支援基礎設施建設,中國帶頭成立 1,000 億美元 的亞洲基礎設施投資銀行,有 57 個國家作為創始成員國參與其中。中國亦於

其防護原理是以櫃內層流配合 HEPA FILTER 的使用來提供