行政院國家科學委員會專題研究計畫 成果報告
無線感測網路安全密鑰配置與管理機制研發及實際系統實 現(第 3 年)
研究成果報告(完整版)
計 畫 類 別 : 個別型
計 畫 編 號 : NSC 95-2221-E-011-093-MY3
執 行 期 間 : 97 年 08 月 01 日至 98 年 10 月 31 日 執 行 單 位 : 國立臺灣科技大學資訊工程系
計 畫 主 持 人 : 邱舉明
計畫參與人員: 碩士班研究生-兼任助理人員:王志傑 碩士班研究生-兼任助理人員:張舒怡 碩士班研究生-兼任助理人員:王紹宇 碩士班研究生-兼任助理人員:蔡國天 碩士班研究生-兼任助理人員:陳青霞 碩士班研究生-兼任助理人員:簡伯勳 碩士班研究生-兼任助理人員:鄧寶麗 博士班研究生-兼任助理人員:楊凱婷 博士班研究生-兼任助理人員:楊政儒 博士班研究生-兼任助理人員:羅千益
報 告 附 件 : 出席國際會議研究心得報告及發表論文
處 理 方 式 : 本計畫可公開查詢
中 華 民 國 99 年 02 月 04 日
行政院國家科學委員會補助專題研究計畫 ■ 成 果 報 告
□ 期中進度報告 無線感測網路安全密鑰配置與管理機制研發及實際系統實現
計畫類別:■ 個別型計畫 □ 整合型計畫 計畫編號: NSC 95-2221-E-011-093-MY3
執行期間: 95 年 8 月 1 日 至 98 年 10 月 31 日
計畫主持人:邱舉明 共同主持人:
計畫參與人員: 楊政儒、楊凱婷、王志傑、黃俊凱、張舒怡
成果報告類型(依經費核定清單規定繳交):□精簡報告 ■完整報告
本成果報告包括以下應繳交之附件:
□赴國外出差或研習心得報告一份
□赴大陸地區出差或研習心得報告一份
□出席國際學術會議心得報告及發表之論文各一份
□國際合作研究計畫國外研究報告書一份
處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計畫、列 管計畫及下列情形者外,得立即公開查詢
□涉及專利或其他智慧財產權,□一年□二年後可公開查詢
執行單位:國立臺灣科技大學資訊工程系
中 華 民 國 99 年 1 月 6 日
行政院國家科學委員會專題研究計畫期中進度報告
無線感測網路安全密鑰配置與管理機制研發及實際系統實現
A Study on Key Pre-Distribution and Management in Wireless Sensor Networks and Its Realization
計畫編號:NSC 95-2221-E-011-093-MY3 執行期限:95 年 8 月 1 日至 98 年 10 月 31 日 主持人:邱舉明 國立台灣科技大學資訊工程系 教授
Email:[email protected]
計畫參與人員 : 楊政儒、楊凱婷、王志傑、黃俊凱、張舒怡 一、摘要:
本計畫為三年期的計畫,此為本計畫三年 執行結束之結案報告。本計畫的目的是針對 無線感測網路安全密鑰的配置問題,做一總 體、深入的研究,進而研發有效率的密鑰配 置與管理機制,並進行效能與成本評比;此 外,除了理論的研究,亦配合設置於本校之 資通安全研究與教育中心(TWISC)的資源,實 際建構一個無線感測網路的實驗平台,並在 其上實作網路攻擊與防禦機制。
在第一年度的計畫裡,我們完成了針對無 線感測網路的特性、其運作模式、以及通訊 安全方面的議題深入的了解,也對於共享式 密鑰池的加密方式,研發出一套密鑰的配置 機制,使保證任意兩個節點所配置的密鑰,
至少能共有k把相同的密鑰。
第二年度的計畫,建基於第一年度對於對 對式密鑰的研究,我們以提升感測網路安全 性與resilience能力為考量,將密鑰配置方法加 以改良,結合了Blom的觀念,發展出以法團 (Quorum)為基礎的密鑰預先配置機制,在有 限記憶體下達到較好的安全通訊,提高破解 網路安全所需compromised的節點數目來提 升resilience能力。
最後一年的研究工作,則配合TWISC之資 源,於本校國際大樓建構一無線感測網路的 實驗平台-SuperTed。除了硬體的平台架設,
我們也實作出多種感測網路中的攻擊,並加 以抵擋防禦。防禦的機制,以對對式密鑰為 基礎,佐以GUI呈現攻防的過程。最後,提出 benchmark的概念,蒐集網路中的資訊,加以 分析,做為網路安全等級的初步評估標準。
關鍵詞:循環式區塊設計,密鑰管理,密鑰 配置,網路安全,無線感測網路,實驗平台。
Abstract:
The objective of this project is to address the key pre-distribution issues for wireless sensor networks. We are to design efficient key
pre-distribution schemes that are based on the notions of shared keys and pair-wise keys. We will then realize our mechanisms on physical sensor devices and finally deploy a small-sized sensor network. The entire project is divided into three phases and will be completed in a span of three years. This report summarizes our work in whole three years of the project.
During the first period of the project, we have already investigated in depth the characteristics of a wireless sensor network, operating modes of sensor devices, and security-related issues. We have completed the design of a key pre-distribution scheme that is based on the notion of a shared key pool, which guarantees that any two nodes share, at the least, k common keys from the pool. Our approach is based on the concept of cyclic block design in which a sophisticated
In the second period of the project, we have extended, on the basis of the previous research outcome, our technique to offer a key pre-distribution scheme that is based on the distribution of keying information, rather than the secret keys. Our approach is also based on the cyclic block design-like technique. In addition, we have studied the hardware/software operation of physical sensor devices at this stage of the project.
In the last year of the project, we have built a sensor network testbed, named SuperTed, with collaboration of TWISC center at NTUST.
We have already implemented some attacks and defenses on the testebed, and also developed GUI to present the process and behavior of sensors and attackers. Moreover, we bring up the benchmark issue of wireless sensor networks and try to do it on the testbed by collecting data during the transmission among
sensors. The statistical data can be used to classify the secure level of defense scheme.
Keywords: Cyclic block design, key management, key pre-distribution, network security, wireless sensor network, testbed.
二、前言
無 線 感測 網 路 (wireless sensor networks, WSN)的普及,可以溯及美國軍方委託美國加 州柏克萊分校(UC Berkeley)的一項研究計畫,
Smart Dust(智慧塵),計畫目的原為開發可用 於軍事戰場的微型感測器(MEMS),藉由大量 散佈在戰場上的感測器,蒐集可用的環境資 料,回傳給後端人員進行分析研究。如此可 以降低派遣軍隊進行偵查的危險。近來,隨 著微型製造技術的進步,無線感測網路也日 趨熱門,相關的應用與研究議題也愈來愈廣 泛[1], [27], [29]。
無線感測網路由一群具無線通訊能力的 感測節點(亦可稱為mote)所組成。傳統上,感 測節點包含有能感測週遭環境如溫度、濕度、
亮度、位移等的單元、可做資料處理的計算 與記憶體單元,以及達成無線通訊功能的收 發單元等。近年來,隨著不同應用需求,也 發展出可拍攝影像的camera mote等。感測節 點亦具備著體積小、攜帶方便、低耗電、價 格便宜等特性。藉由這些功能與特性,感測 節點不但能長時間偵測及蒐集環境中的特定 數據,並且可以將收集到的資料加以適當的 處理,以無線傳輸方式傳送到需要的地點如 資料收集中心(sink node、base station)等。
也由於感測節點的低成本與易佈置特性,
無線感測網路的應用日趨多元。除了上述軍 事方面,加州大學柏克萊分校,便將無線感 測網路運用在環境偵測方面,透過隨時監控 環境數據,便可即時知道山坡地是否發生土 石流。又或者安置在森林或是動物身上,以 觀測森林環境變遷、監控森林火災、觀察生 物的生活習性等。再者,亦可運用在生醫感 測方面,藉由感測元件,可以了解老人家的 行為,在發生跌倒或是危急事件時能立即通 報。無線感測網路為我們提供了一低成本與 安全的監控與資料蒐集系統。
然而,由於感測節點具有本身硬體上的 限制,如有限的供電時間、計算能力、記憶 體空間、傳輸量,傳統有線網路的做法不適 合運用在感測網路上,故已有很多不同層面 的議題受到研究與重視,包括了封包路由 (routing) 、感測涵蓋範圍(coverage)、資料聚 合(data aggregation)、目標追蹤(target tracking)、
時間同步(time synchronization) 、延長系統時 間等等[4], [17], [18], [19], [30]。當中,安全性
的議題,一直都受到極大的關注。原因我們 將加以說明。
感測節點的佈署,在可控制的情況下,
如居家照護,可以根據需求加以手動放置。
然而,在多數危險的環境,如戰場、地勢嚴 苛處,或在成本考量的情況下,感測節點的 佈署就必頇仰賴隨機散佈(random deployment) 的方式,如利用無人小飛機將節點散佈至欲 感測的區域內。因此,其所形成的網路拓撲 (topology)也常呈現隨意的連結,無法預先安 排。在這類開放且惡劣的環境中,感測節點 及其構成的網路實體上很難受到有效的保護 與管理,如針對節點的物理攻擊,進而取得 儲存於感測節點內的資訊;再加上,其通訊 功能是建構在無線傳輸的基礎上,屬於開放 的媒介,隱密性與可靠度也較差,傳統無線 網路常常面臨的安全威脅,諸如封包竊聽 (eavesdropping)、訊息竄改、阻斷服務(denial of service)攻擊等,也都是無線感測網路會遭受 的攻擊之一。故對無線感測網路而言,相關 的安全議題,更是不可或缺的一環。總結而 言,無線感測網路的安全傳輸,頇確保以下 幾點:
訊息來源的正確性(authentication):在無線感 測網路中,攻擊者很容易利用偽裝的感測節 點侵入網路中,如果對於訊息的來源沒有一 個有效的辨識機制的話,具敵意的感測節點 可以任意傳送假造的資訊,造成資料蒐集的 錯誤,或假命令造成無線感測網路的停擺,
例如前述的老人安全照護監視系統就是一 例。
資料的完整性(data integrity):在無線感測網 路裡,資料傳送的過程中,攻擊者可能攔截 傳輸的訊息,並篡改感測節點偵測到的資料,
造成應用系統蒐集到的資料是錯誤的。例如,
前述偵測土石流數據,就必頇保障其內涵資 訊的完整不受更改。
資料傳輸的機密性(confidentiality):無線感 測網路中,某些應用所偵測的資料可能具有 相當私密性,所以在資料傳送的過程中,有 時必需確保其私密性;例如,在居家照護的 應用裡,病人的個人資料與其健康狀況等,
就不宜隨便洩漏給無關的人員。
本研究計畫即是針對無線感測網路的通 訊安全加以研究。要達成上述網路安全的目 標,常見的方法是利用秘密金鑰(以下簡稱密 鑰)(secret key)將資料加密(encrypt),以達到保 護資料的目的[9]。而密鑰的管理、配置與保 存無疑是此安全機制的核心課題。一般而言,
資料的加解密方法有兩類—對稱性演算法 (symmetric algorithms),例如AES及DES,與 非對稱性演算法(asymmetric algorithms),如
RSA。非對稱性演算法雖然加強了對稱性演 算法的安全問題,但需要耗費大量的計算,
速度慢,除了保存自己的密鑰外,還需藉保 存或藉由通訊交換取得他人的金鑰,因此,
所花費的成本較高。
由於感測節點本身的資源有限,而非對稱 性演算法又比對稱性演算法需耗費更多的資 源[13],尤其是能量消耗方面,故一般在無線 感測網路的安全機制設計中,多採用對稱性 加密演算法。可行的方法是密鑰採取預先配 置 (key pre-distribution)在節點中,待感測節 點佈署完畢後,若需要進行祕密通訊,則直 接使用節點本身所擁有的密鑰來加密;或者,
以其所保有的密鑰資訊經計算,找到通訊所 需的共同密鑰。在此,我們面對的挑戰就是 要研發有效率的密鑰配置及管理、運作機制,
以較低的成本,達成安全通訊的目的。
三、研究目的
由上述可知,由於先天資源上的限制,無 線感測網路的安全議題研究與以往有線網路 有很大的不同,又由於感測網路的特殊與應 用多元,使得這些研究顯得益發迫切。而本 計畫的目的就是針對無線感測網路安全密鑰 的配置問題,做一總體、深入的研究,進而 研發有效率的密鑰配置與管理機制,並做詳 細的效能與成本評比;最後,配合設置於本 校之資通安全研究與教育中心(TWISC)的資 源,實際建置一無線感測網路實驗平台,實 地進行可行性的評估。
計畫前兩年的執行,主要是對於無線感測 網路有初步的認識與理解;並在其上提出以 法團為基礎的對對式密鑰預先配置系統,使 其可以確保任兩節點間可以有共享的 key space,且同時具有” λ-secure”特性。最後一年 度的計畫,則是基於前兩年度的研究基礎之 上,配合 TWISC 提供的支援,進一步將其實 作成一小型無線感測網路,並於其上實際進 行網路攻擊與防禦的多種測詴。
計畫中,密鑰配置機制的建立則以達成下 列之特性為主要考量重點:
1. 善用無線感測元件有限的記憶體容量;
2. 減少建立共同通訊密鑰時的通訊量;
3. 降低建立共同通訊密鑰時的計算量;
4. 減少節點被 compromised 所帶來的影 響。
四、文獻探討
我們首先針對無線感測網路的密鑰配置 系統議題,做一完整描述。最後,再介紹幾 種無線感測網路中常見的攻擊方式。
由前面的敘述我們可以知道,在無線感測
網路的安全議題中,要確保安全的溝通環境,
密鑰的配置與管理問題是其核心關鍵。而這 些密鑰配置機制依不同的面向可以有不同的 分類方式;在本計畫中,我們則依據無線感 測節點配置密鑰的形式將既有的方法分為下 列兩類-(1)共享式密鑰(shared key)方式;(2) 對對式密鑰(pairwise key)方式。所謂共享式密 鑰,是指配置在各感測節點上的密鑰是由同 一密鑰池(key pool)取出,且同一把密鑰可能 配置於多個節點上面,被用於不同的節點對 之間的通訊。而對對式密鑰是指,密鑰在預 先配置時,只有兩個節點才有可能擁有或以 密鑰資訊計算出同一把密鑰,不像前者密鑰 一律由密鑰池取出。
基本上,在共享式密鑰的方法中,感測節 點在密鑰預先配置的階段,各別由共享的密 鑰池中取得一定數量的共享式密鑰;接著,
在網路佈署之後,再和其他感測節點進行共 同密鑰探索(shared-key discovery)動作,藉以 得知與其他感測節點之間共有的密鑰;而往 後的通訊,就使用這些共同密鑰做為通訊密 鑰,達到通訊加密的目的。而在對對式密鑰 的方法中,於密鑰預先配置的階段,感測節 點必頇事先配置對對式密鑰,或是儲存足夠 的資訊,幫助往後建立對對式密鑰之用。接 著,待網路佈署之後,即可使用事先配置好 的配對密鑰,當作共同通訊密鑰,或是利用 事先儲存的資訊來產生和其他感測節點通訊 用的對對式密鑰。不同的配置方式在建立共 同通訊密鑰時,就會需要不同的成本,也產 生不同的效能。這包括存放密鑰所需的記憶 體空間、建立通訊密鑰的通訊成本與計算需 求量、還有網路的resilience能力。以下,我們 就依據密鑰型式,將目前已提出的重要研究 方法,做相關的評述。
我們首先介紹共享式密鑰配置的相關研 究。在共享式密鑰方法部份,最簡單且直覺 的作法,就是大家都共同擁有一把密鑰,稱 為單一主密鑰(single-master key),此把密鑰就 當作網路中各個感測節點之間的共同通訊密 鑰。這個方法的優點為所花費的記憶體空間 最小,也不需要做共同密鑰探索的動作,不 需任何的計算耗損。然而,只要有任何一個 感測節點被compromised,那麼整個感測網路 上所有的通訊將會處於不安全的狀態。當然,
這方法並沒有被使用在現有的感測網路中。
較 早 被 提 出 的 共 享 式 密 鑰 配 置 當 屬 Eschenauer及Gligor所提出的機制[13]。該方法 的精神主要是基於隨機式(random)的密鑰配 置方式,再藉由這些密鑰的共享所形成的隨 機網路圖(random graph)[12],建立各節點對之 間互相溝通的安全管道(secure channel)。此機
制大致上分為三大部分,在密鑰預先配置的 階段,會先產生一個大小為n的共享密鑰池,
每一個節點從共享密鑰池中隨機挑出k把共 享密鑰,形成各自的密鑰鏈(key chain),並載 入記憶體中。接著在共同密鑰探索的階段,
感測元件將自身所持有密鑰的相對應識別碼,
以明文的格式透過廣播的方式傳送出去,收 到的節點即可經比對,找出其間的共同通訊 密鑰。在上述階段之後,處於通訊範圍內的 兩個感測節點若不存在共同通訊密鑰時,則 可透過路徑密鑰建立(path-key establishment) 的方式,建立共同的通訊密鑰,而此時則頇 透過其它感測節點,找到安全通道,以達成 路徑密鑰的建立。例如:若節點A和B要通訊,
但A和B之間沒有共同的共享式密鑰,此時若 另一節點C同時與A和B擁有共同的共享式密 鑰的話,則A和B可以透過A-C-B這一條安全 管道,來建立一把共同路徑密鑰,作為通訊 密鑰之用。相較於單一主密鑰方法,此法加 強了整個網路的resilience能力,同時可以在記 憶體空間使用不多且極少的計算量之下,達 成通訊安全的目的。此方法的缺點在於進行 共享密鑰探索的階段時,需要蠻高的通訊量 以交換彼此共享的密鑰;且由於是隨機的方 式配置共享密鑰,可能會造成鄰近兩節點間 沒有共享密鑰也沒有共同的安全路徑,無法 溝通。
同樣以共享式密鑰機制為基礎,Camtepe 和Yener等人[7],於2004年將排列組合設計 (combinatorial design)的技術,應用於密鑰預 先配置的議題中。其主要目的是在於將任意 兩個感測節點之間具有一把共同密鑰的機率 提升至1,也就是保證任兩個感測節點間必定 有一把相同的共享式密鑰,而且只有一把。
此方法使用一個質數的次方n,來產生一組對 稱 式設計(symmetric design) 的配對(n2+n+1, n+1, 1),其中,n2+n+1代表最大的感測元件數 量和共享密鑰池的大小。在這樣的設計之下,
滿足了下列的性質:產生了n2+n+1個大小為 n+1的密鑰鏈,而任兩把密鑰鏈必定有一把相 同的密鑰,並且每把密鑰會平均出現在n+1個 密鑰鏈中。故在網路佈署之後,任兩個感測 節點皆會剛好有一把共同密鑰可以使用。但 是,此方法的條件太過強烈,會造成許多不 必要的記憶體空間浪費,較難適用於任意大 小的無線感測網路;因此,作者亦提出了一 個名為GQ的改善方法,能夠較適用於一般任 意大小的感測網路;此方式不保證任兩個感 測節點一定會有共同密鑰,但是一定存在第 三個節點與前兩者擁有共同的密鑰,藉由這 個感測節點,就可以建立一把共同通訊密鑰。
然而,此方法與前法類似,也需要n是一個質
數的次方,因此,限制了感測網路的延展性。
以下我們針對已提出的對對式密鑰配置 機制做一探討。在對對式密鑰配置方法中,
最直覺的作法,就是在密鑰預先配置的階段,
為感測網路中任兩個感測節點,配置一把獨 立的對對式密鑰,然而,這種方法需要消耗 最多的記憶體空間,若網路上有N個感測節點,
則每個感測節點必頇儲存N-1把對對式密鑰,
如 此 將 嚴 重 限 制 感 測 網 路 的 延 展 性 (scalability)。
在Chan et al. [6]中,提出了所謂PIKE的方 法,主要的想法是使用同儕節點(peers)做為可 信賴的中間節點,透過這些中間節點,來完 成共同通訊密鑰的建立,進而達到溝通的目 的。基本的做法是,我們會將網路中所有的 節點形成一近似正方形架構,而在密鑰預先 配置的階段,針對每個感測元件,會預先與 其同一行和同一列的其他感測節點,各自產 生一把對對式密鑰,並加以記錄於記憶體中。
如此,在節點佈署完畢後,對於感測網路中 的任意兩節點A和B而言,一定會存在另一個 感測節點C,而此節點C分別與A和B各擁有一 把對對式密鑰;如此,即可保證感測網路上 的任意兩個感測元件,必定可以安全的建立 一把共同密鑰,做為通訊密鑰之用。當然,
在此前提下,此交換溝通密鑰的過程必頇是 安全的, 也就 是說感 測 節點同 儕 C 不 能被 compromised,否則,A和B的通訊就會有危險。
論文中,也把此法延伸至多象限(dimensions) 及多軸的架構。
上述方法中,在密鑰預先配置的時期,就 先將密鑰本身直接配置於各個感測節點中,
待網路佈署之後,就能使用事先儲存的對對 式密鑰,以進行溝通。而對對式密鑰的另外 一類做法是在密鑰預先配置階段,儲存可供 佈署後產生對對式密鑰所需的資訊(稱之為 keying materials),節點在溝通時,先交換彼 此擁有的資訊,再藉以產生共同的溝通密鑰,
而在建立密鑰的過程中,往往需要進行計算,
來完成密鑰的建立。主要使用此類方式的機 制如下:
Chan et al. [5]中的方法是針對[13]所提出 的方法加以改進,以提昇其resilience能力。文 中主要提出下列的作法;首先為Q-composite Random Key,它的基本概念是,基於密鑰強 度上的需求,要求感測節點A和感測節點B之 間,至少要持有q把以上共同密鑰,才能建立 通訊密鑰,反之則不可;若節點A、B之間的 共同密鑰數為Q把(Q≥q),那麼此感測節點對 之間的共同通訊密鑰KA,B就等於感測節點A和 B之間所有Q把共同密鑰的雜湊(hash)值,即 KA,B = Hash(K1 ||K2 ||K3 || … ||KQ)。但為了確保q
值,密鑰池(以S代表)就不能太大;相對的,S 若太小,一旦遭遇節點被compromised的情形 時,resilience會受到較大的影響,因此S是個 很關鍵的參數;相較於[13],在較少節點被 compromised的情況下,提供了較大的安全性。
然而,一旦被compromised的感測節點較多時,
resilience相對於[13]的方法則較差。此外,作 者 也提出 多 重路 徑密 鑰 加強 (multipath key reinforcement)的機制,透過多條安全通訊管 道,共同更新密鑰(key-update),來加強原先 建立的路徑密鑰。例如,節點A和節點B之間 若有J條安全通訊管道,節點A隨機產生J把隨 機密鑰v1,v2,…,vJ,透過這些多重安全通訊管 道,送給節點B,經某些運算,計算出兩者之 間的共同通訊密鑰。因此,若要得知這把密 鑰,必頇完全蒐集J條路徑所產生的密鑰才行。
此 一 方 法 相 對 於 [13] , 雖 然 加 強 了 網 路 的 resilience能力,但是也需要較多的記憶體空間、
計算量以及通訊量來達成。
在Du et al. [11]中,作者所提出的方法主要 是利用Blom[2]的概念,以達成對對式密鑰的 型式,並根據類似[13]的隨機方法,增加感測 網路的resilience能力。概念上,在密鑰的預先 配置階段,感測節點存有部分矩陣的資訊,
在網路佈署之後,欲溝通的節點間,透過交 換這些事先配置的資訊,各自產生一把共同 通訊密鑰。其做法描述如下:假設無線感測 網路是由N個感測節點所組成,那麼使用一個 (λ+1) × N的矩陣G,和一個隨機產生的(λ+1) × (λ+1)對稱矩陣D,其中兩者皆屬於有限體 (finite field) GF(q),矩陣G是公開的,而矩陣 D必頇是私密的。此時,取一個矩陣A = (D〃
G) T,使其滿足A〃G = (A〃G)T,亦即A〃G 為一對稱矩陣,令K = A〃G,則會具有Kij = Kji
的性質;透過計算產生Kij = A(rowi) × G(columnj)
= A(rowj) × G(columni) = Kji,Kij與Kji值就可用做 共同通訊密鑰。該矩陣方法還有λ-secure的良 好性質,此性質是指在沒有超過λ個感測節點 被 compromised 的 情 況 下 , 無 法 透 過 被 compromised的感測節點,計算出其他感測節 點溝通時使用的共同通訊密鑰。此外,文中 更加入隨機密鑰的概念,提出了multiple-space 的想法,用以提升感測網路的resilience能力。
Liu et al. [23]中的方法是根據[3]中的觀念 加以改善。概念上,每個感測節點將會分配 到一個共享多項式(polynomial share),在網路 佈署之後,兩兩感測節點間,就可以利用所 取得的共享多項式,運算出一把共同的對對 式密鑰,以進行溝通。其中,所謂的共享多 項式,是一個主多項式的部份運算結果,並 且具有t-collusion resistant的性質(此性質類似 [11]中提出的λ-secure的性質),亦即除非多於t
個感測節點被compromised,否則無法透過被 compromised的感測節點,得知其他感測節點 溝通時使用的共同通訊密鑰。其方法中,根 據上述多項式的特性,加上考慮到網路上的 任兩個感測節點間,不一定會需要建立一把 共同通訊密鑰的特性,因此綜合了隨機密鑰 的概念,提出了多項式池(polynomial pool)觀 念,在密鑰預先配置的階段,節點由多項式 池中,隨機抓取一個集合的共享多項式(各屬 於不同的主多項式產生的),待網路佈署之後,
若與附近的感測節點擁有由相同的主多項式 產生的共享多項式,則可以溝通,否則必頇 透過其他節點來達到共同通訊密鑰的建立;
在此方法中,並不能保證所有的感測網路中 的節點皆能相互安全的溝通,因此,文中另 外提出了一個Grid-based的方法,需要安排感 測節點取得在相同維度上由相同主多項式產 生的共享多項式,若是在n維的架構之下,每 個節點需儲存n個共享多項式,藉此,則網路 中各個節點對皆能夠相互溝通。以二維的架 構為例,擁有相同x座標的節點,可以相互透 過共享多項式所產生的共同溝通密鑰溝通,
同樣的,擁有相同y座標上的節點亦然;因此,
感測網路中任兩個節點A、B必定能找到一個 中間節點C,分別能與A和B產生共同通訊密 鑰,透過C節點,就能建立A與B間的共同通 訊密鑰。共享多項式的概念,加上隨機式的 想法,在精神上與上述的對稱矩陣概念非常 類似,可以藉由多個共享多項式的使用,增 加網路的resilience能力,不過在此方法中,節 點間是否能溝通需依賴機率值而定;因此又 加入Grid架構的概念,以保證網路中任兩點節 點必定可以溝通,但是相較於隨機共享多項 式的方法,在尋找中間節點的過程中,會花 費較多通訊量;在多項式的方法下,整體而 言,有著計算量相較於其他方法負擔較大的 問題存在。
除了上述基本的對對式密鑰機制,在Lai et al. [20]中,提出了一個有趣的概念,名為重疊 共享密鑰(overlap-key-sharing, OKS)。在重疊 共享密鑰的方法中,在密鑰預先配置的階段,
會先產生出一個密鑰字串池(key-string pool),
節點則從密鑰字串池隨機的取出字串中的某 一個片段字串(sub-string),儲存在其記憶體中。
每個感測節點都會存有一組片段字串的資訊,
若是想與節點互相溝通時,則交換彼此索引 (index),藉以得知需要溝通的感測節點之間互 相交集的部份,並用此交集的部份,產生共 同通訊密鑰,產生的方式可以是透過一個雜 湊函數或是其他方法;當然,這把透過彼此 的資訊所產生出的共同通訊密鑰,同時也會 是一把對對式密鑰。此法雖然具有低記憶體
空間需求、低通訊耗損和不需要太多計算的 特質;然而,也產生了一個嚴重的缺點,就 是任兩個感測節點之間,交集的多寡是不一 定的,而安全的強度又是根據所交集的部分 來決定,因此若是交集的部分太小,則安全 的強度也會太弱。
此外,也有一些相關研究是以知悉無線感 測節點的可能佈署位置(location-aware)為基 礎[10][16][22][24]。若是擁有佈署的位置資訊,
我們可以將節點間的共同密鑰更緊密的結合。
基本上,此類方法利用了佈署資訊上的優勢,
再使用群組的概念,配置每個區域內的密鑰,
並透過使用共享密鑰管理觀念,使得區域內 的感測節點,能消耗較少資源下,與周圍節 點 間 擁 有 對 對 式 密 鑰 , 進 而 保 持 足 夠 的 resilience能力。在擁有位置資訊的情況下,相 較於沒有位置資訊的環境中,不論是在記憶 體空間的使用、通訊耗損、計算耗損以及 resilience等衡量標準上,都有相當程度的勝出。
完整的無線感測網路密鑰配置相關研究的概 觀介紹可見諸[8]。
了解完目前的密鑰配置機制研究後,我們 就無線感測網路上常見的兩種攻擊:複製攻 擊、Sybil攻擊加以簡述介紹,以利我們對實 驗平台的實作。
所謂複製攻擊(Replication attack)[14],是 指攻擊者在網路中散佈一個以上,具有相同 節點編號的假節點,且此節點編號在網域中 已經有一個正常節點為此編號。攻擊者可以 利用這些假的複製節點,侵入網路中進行破 壞、竊取或竄改無線網路封包中的資料。複 製攻擊主要分為三步驟:
(1.) 監聽其他節點的封包,或者經由修改蒐 集的資料內容等,偷偷的取得金鑰以及 節點資訊,再放入自己的節點上或者產 生複製節點(replicated nodes)攻擊;也可 直接compromised一般節點。由於無線感 測節點一般來說都是大規模的散佈,對 於一個攻擊者來說要捕獲少數節點並不 困難。
(2.) 將複製節點放入感測網路中,依照攻擊 者的需求,可以隨機、定點或者集中散 佈複製節點。
(3.) 由於攻擊者的節點編號、金鑰都與正常 節點相同,因此可以滲入正常網路中與 其他節點認證和溝通,再開始進行破壞、
竊取或者篡改無線感測器網路中的資料 的攻擊。當攻擊者與正常節點間建立控 制聯結(control link)後,便可以藉由這些 control link控制或入侵攻擊網路。
複製攻擊對無線感測網路造成的影響,主 要在於其所複製的對象,為原本網路中就存
在的節點,故與攻擊節點溝通的其他節點,
會無法分辨其合法性;這對網路會造成很嚴 重的安全衝擊。
而Sybil attack是指一惡意節點去假冒多重 不同身分的攻擊。攻擊者會偽造假冒不同身 份,此身份可以是編號未出現於此網路中的 假身份,或是偷取其他在同網路中真實存在 的節點的身份。Sybil attack在無線感測網路中 具有相當程度的威脅,無線感測網路在封包 傳遞的過程中,大多單純的以節點編號做為 ID判斷。而當發動Sybil attack,以單一惡意節 點去假冒多重節點身份傳送封包,便可以偽 裝為不同的節點身份破壞網路之間所蒐集、
統計以及計算的數據。
五、研究方法
在本計畫中,前兩年的研究主要以對對式 密鑰為基礎,配合無線感測網路的限制與特 性,提出密鑰預先配置系統;第三年則以架 設實驗平台為主,以下分年概述。
5.1 第一年度
第一年度的計畫主要是對無線感測網路 的特性、其運作模式、以及相對於通訊安全 方面的議題做深入的了解,同時也針對共享 式密鑰池的方式,研發出一套密鑰的配置機 制,使其保證網路中任兩節點必定可以產生 一組對對式密鑰,互相溝通,並且幾乎不需 計算即可運算出共同的通訊密鑰,以達到節 省發現共同密鑰的負擔及增加網路 resilience 效能的提昇。
5.1.1 法團為基礎(Quorum-based)區塊設計 由於我們的密鑰機制是基於循環式區塊 設計,故首先介紹 Balanced Incomplete Block Design (BIBD)[15]中的 symmetric design,即 (v, k, λ) cyclic difference set。
一個(v, k, λ)循環式差集合,指的是存在一 個差集合 D={d1, d2, …, dk}(其中 d1~ dk屬於 v),其中的任兩個元素的差 modulo v 所形成 的差集合 = {1, 2, …, v-1},並且每一個 v 中 的元素剛好出現” λ”次。
我們的方法,是基於循環式區塊設計,
所謂的”循環式區塊”(cyclic block design)的設 計,指的是所有集合的生成方式是由一生成 集合 G,依照此集合中的各個元素加上一個 位移差Δ而形成,並且任意產生的兩個集合 之間的交集,必定交集λ個元素。
舉例而言,在(13, 4, 1)的循環式差集合設 計中,我們可以取產生集合 G={0, 3, 5, 12},
依照產生集合,我們將其個元素加 i,i = 0 ~ 12,
分別會產生相對的集合如下:
G1={1, 4, 6, 0}, G2={2, 5, 7, 1},
G3={3, 6, 8, 2}, G4={4, 7, 9, 3},
G5={5, 8, 10, 4}, G6={6, 9, 11, 5},
G7={7, 0, 12, 6}, G8={8, 11, 0, 7},
G9={9, 12, 1, 8}, G10={10, 0, 2, 9},
G11={11, 1, 3, 10},G12={0, 2, 4, 11}。
在上述集合中,我們任取兩個集合,可 以發現任兩個集合 Gi與 Gj,i≠j,i, j = 1, 2, 3, ….12,必定交集一個元素,並且恰好一個,
因此稱上述作法為一循環式區塊設計。
事實上,此集合屬於(n2+n+1, n+1, 1)的設 計,其中 n 為一個 prime power(質數或質數的 次方),在前述的例子中 n=3;而在文獻探討 中,我們介紹過在[7]中使用了這種設計的概 念,加以應用在感測網路的密鑰預先配置問 題上。
5.1.2 讀寫法團(Read-Write Quorum)
在分散式系統中,為了提昇效能以及容 錯能力,相同的資料往往會複製儲存在許多 地方,故資料的同步成了一個重要的議題。
針對一個資料,我們可能會對它執行 read 或 是 write 的動作,但在分散式系統中,read 或 write 的動作可能會在同一時間內執行,因此 若發生 write 與 read 或是 write 與 write 的動作 同時執行的話,勢必會產生衝突(conflict),因 此必頇有前後順序之分。為了達到分散式系 統中,read 與 write 在多重複製情形下,仍能 正常運作,故發展出了 read write quorum 的概 念。而 read write quorum 主要的性質為:
對於任兩個 write quorums,必定交集至 少一個或一個以上的元素;
任一 read quorum 和任一 write quorum 必 定交集至少一元素;
但是,任兩個 read quorums,則不一定有 交集。
值得注意的是,上述條件只要求至少交 集一元素,而非剛好一元素。在[21]中,作者 提出了一套能針對任意的集合 v,產生有效率 的 read write quorum 的循環式設計方法。由 於我們的方法是基於此一方法之上,因此以 下 就 將 此 一 方 法 做 一 概 述 。 在 此 我 們 分 成”write quorum”、”read quorum”以及”m 值的 分析”三大部分來簡介:
Write Quorum:
Write quorum 的性質:
根據循環式設計所產生任兩個 write quorum 間,必定交集至少 1 個的元素。
Write quorum 的產生方法:
就一正整數 m 而言,write quorum 的產生集合 為:
Wg = {0, 1, 2, …, m-1, w1, w2, …wk-1},
m-1 < w1 ≤ 2m-1, and wk-1 ≥ (N-1) / 2 0 < wi+1 – wi ≤ m, for all 1 ≤ i ≤ k-2 其中,write quorum 的大小為
𝑆𝑤 = 𝑚 + 𝑁−12𝑚 − 1。
根據上述方式產生的集合,我們以 N=19, m = 2 為例,如【圖一】所示,取產生集合 G = {0, 1, 3, 5, 7, 9};我們可以利用兩個角度來觀察 write quorum 的現象:
(1.) 幾何學的角度:
觀察 G 中 1 ~ 𝑁−12 的連續 m 個元素,我 們稱之為”密部”,其餘稱為”疏部”,必定會分 別與產生集合 G1~G (N-1)/2中密部交集,由於 定義中疏部為介於 1 ~ m-1 的大小;而當 G
(N-1)/2 之後的集合,由於循環的關係,尾部的
元素會再將掉入 G 中的密部。在本例中,我 們可以觀察到,G∩G1 = {1}、G∩G2 = {3, 5, 7, 9}、G∩G3 = {3}…等,一直到 G∩G9 = {9},
都是由於 G 的疏部最少分別與 G1~G9的密部 交集,相反來說,G 與 G10~G18中,則是由於 G 的密部分別最少與他們的疏部交集。
(2.) 由循環式差集合的定義:
在[21]中根據循環式差集合的定義,加以 證明,詳細證明請參閱原論文。當然,相較 於循環式差集合,產生集合元素個數會稍微 大於循環式差集合的元素個數,但皆屬於 O( N)的級數中。如例中,
I. Difference 1 ~ m-1:
2 可以提供 1(由 2-1)的差。
II. Difference m ~ (N-1)/2:
3 可以提供 2(由 3-1), 3(由 3-0)的差,
5 可以提供 4(由 5-1), 5(由 5-0)的差,
7 可以提供 6(由 7-1), 7(由 7-0)的差,
9 可以提供 8(由 9-1), 9(由 9-0)的差。
III. Difference (N-1)/2 ~ N-1:
有 1 ~ 9 的差後,分別取-1 ~ -9 mod 19 得 到 18 ~ 10 的差。
由上述討論可知,此 write quorum 可以產生 1~18 的差至少一次,因此擁有循環式差集合 的性質。
Read Quorum:
Read quorum 的性質:
根 據 [21] 中 的 循 環 式設 計 所 產 生 的 任 一 對 read quorum 與 write quorum 間,必定交集至 少 1 個以上的元素。
Read quorum 的產生方法:
其中,read quorum 配合前述之 write quorum
的產生方式如下:
𝑙 = 𝑁
𝑚 , 𝑅𝑔 = 𝑟0, 𝑟1, 𝑟2, … , 𝑟𝑙−1 ,
𝑎𝑛𝑑 0 < 𝑟𝑖+1 − 𝑟𝑖 ≤ 𝑚, 𝑓𝑜𝑟 𝑎𝑙𝑙 0 < 𝑖 ≤ 𝑙 − 2, 𝑎𝑛𝑑 0 < 𝑁 − 𝑟𝑙−1 ≤ 𝑚,
其中,read quorum 的大小為 𝑆𝑟 = 𝑚𝑁 。
我們以 N=19,m = 2,以上述的方式,取產生 集合 G = {0, 1, 3, 5, 7, 9},見【圖二】。相同 的,以幾何學的方式,我們可以發現 write quorum 的密部必定會掉入 read quorum 的疏 部,例如圖中的密部 0, 1 連續兩個必定掉入 read quorum 的疏部,因為這邊的疏部間格是 小於 m (m = 2);而若以循環式差集合的定義 來觀察 read quorum 的現象,也可以發現滿足 差集合的定義。
m 值的分析:
在接下來的研究中,我們使用了以 write quorum 為基礎的方法,來建構我們的密鑰配 置機制,因此在固定密鑰池大小為 N 的情況 下,我們若要求得最佳的安全性,便是求得 最小的「size of write quorum」,使得
size of write quorum
𝑁 達到最小,此部分在接下 來的密鑰配置系統中會詳細介紹。在[21]中證 明了 write quorum 最小值,是在𝑚 = N+12 時。
5.1.3 以 Write Quorum 為基礎的密鑰預先配 置系統
第一年的研究,為了達到”保證網路中任 兩節點之間都能建立通訊密鑰”的特性,我們 採用了 read/write quorum-based 的觀念,加以 應用在密鑰預先配置系統上。
在 write quorum 的概念中提到:對於任兩 個 write quorum,必定交集至少一個或一個以 上的元素。而我們的密鑰系統,即可直接將 write quorum 中的元素替代為欲配置的密鑰,
即可確保任兩節點必交集 1 或 1 把以上密鑰。
若密鑰池(key pool)為固定大小 N 的情況下,
我們只要透過[21]中對於 write quorum 的最小 化,就可以設計出擁有最佳的 resilience 能力 的密鑰配置系統。此外,為了再提升網路的 resilience,我們加入了[5]中所謂 Q-composite 的概念,將 write quorum 的設計延伸至 k,即 當敵人進行攻擊時,需搜集到 k 把密鑰,才 能得知彼此溝通的共同通訊密鑰。如[5]中所 述,小規模的 compromise 行為是非常不容易
偵測出來的,因此使用這種機制,會強迫攻 擊方做大規模的 compromise 行為,如此一來,
將會使得惡意攻擊行為更容易被偵測出來。
透過這樣的機制,我們可以在有限的記憶體 空間下,設計出一個密鑰池(key pool),達到 在密鑰預先配置的階段中,不同節點間從密 鑰池中所抓取的密鑰鏈,必定有 k 把或 k 把以 上是相同的。接著,就可以利用這些密鑰組 合 成 一 把 共 同 通 訊 密 鑰 , 來 加 強 網 路 的 resilience 能力。若將此 write quorum 系統對 應到前述循環式差集合的設計,即成為(key pool size, memory size, # of intersections)的系 統設計,我們稱此為 k-WQ 設計。其建構方 法如下:
對於一個正整數 m (m≧2),其產生方式如 下:
Wg ={0,1,2,…,km-2, W0, W1, …,Wc}, k≧1, c≧0, W0<N , and
Wc = (k+c)m-1≧
( 1) 1
2
N k m
;
其中,所需的金鑰數目為 SM=km+c。在【圖 三】中以 N=19,k=2 為例做了說明,其中取 m=2。
利用上述方法,節點間只需要交換密鑰 鍊 ID,即可由此 ID 推導出彼此所含有的密鑰,
經過比對,則可得到共同的密鑰,即可使用 這些密鑰來建立共同通訊密鑰;有了此建構 方式,接著我們就能將建構出密鑰池的設計 方式,應用在密鑰配置系統中。
5.1.4 以 k-WQ 為基礎的密鑰池設計
如【圖四】所示,機制中產生大小為 N 的密鑰池,密鑰池中含有密鑰 K0 ~ KN-1,並 且依照 k-WQ 的方式,將對應的密鑰填入,
產生密鑰鏈(key chain)S0~SN-1,接著各節點依 序由密鑰池中拿取一密鑰鏈 Sj,如此則可以 保證,不論節點在佈署後位於何處,任兩節 點所抓取的密鑰鏈中必定交集至少 k 把以上 的密鑰,經由這些密鑰產生通訊密鑰即可達 到安全的通訊。如圖中 NA 和 NB 共同擁有 K1 和 K5,可以利用 KAB = K1♁K5 等方式來 產生其通訊密鑰,如此一來,惡意的破壞者 必頇蒐集到此兩把密鑰,才能將其通訊破 解。
5.1.5 固定記憶體大小下的密鑰池設計方式 由於感測節點有記憶體空間的限制,如 何在固定記憶體大小為 SM的情況下,以 k-WQ 的方式,做最有效的密鑰配置設計,將是此 機制的重點;在此就 k-WQ 的大小做一整理討 論:
1. 1 ( 1)
M 2
N K m
S km
m
。 2. k-WQ 的大小最小值發生在m ma 或
m ma ,其中 1
a 2 m N
k
,由此可知 記 憶 體 大 小 SM 和 密 鑰 池 的 關 係 為
( ) SM O kN 。
3. 令ml ma ,mh ma ,Sl與 Sh為 SM在 ml及 mh之值,由 2 可知最小的 k-WQ 大 小為 min( ,S Sl h),而
1 1
Sl l 2 l 2
N k
km m
、
h
1 1
S h 2 h 2
N k
km m
,比較 Sl和 Sh
兩者可知道Sl Sh k,所以
min( ,S Sl h)Shk;有了這樣的關係,
就可中找出 Sh的範圍,當 ma是整數時,
為 2 + 1
h l a 2
S S km k ;當 ma不是整 數時,範圍為
2
h
1 1
S 2
1 2 2
( 1)
a
a a
a
a
km k k
km km
m k m
最佳密鑰池 N 的求法:
令
4 2 1
( )
2( 1)
a a a
a
a
km km m k
p m m
, 因 此
m i n ( S , S )l h p m k,假設記憶體大小為 S( ) M, 我們可以透過最小的 k-WQ 必定大於 p(m)-k 的關係,求解 m 值,並找出對應的 N,而此 N 必定大於實際上符合的最大 N 值,但相距 不遠,接著透過此 N 往下逼近,找到能符合 的最大值 N,使得密鑰鏈大小為 SM,即為最 佳的密鑰池大小 N。以 k=2,SM=500 為例,
當 N=62874 的時候,Sh SM 500,則此 N 即為最佳的密鑰池大小。
5.1.6 網路 resilience 能力分析
透過上述方式,我們可以在固定記憶體 大小 SM之下,求最佳的密鑰池大小 N,使得 網路的 resilience 能力,在 k-WQ 的設計下可 以達到最佳化。所謂的 resilience 最佳化,是 指當有某些節點被 compromised 的時候,網
路還能保有 resilience 的能力;其定義如下:
對於網路中未被 compromised 的任意兩節點 NA 以及 NB,當目前網路中有 x 個節點被 compromised 時 , linkAB 會 被 影 響 ( 意 即 被 compromised)的機率,若此數值越小,表示網 路 resilience 能力越佳,反之越大則越差。
簡單來說,當節點逐漸被 compromised 時,敵方所蒐集的密鑰資訊也會越來越多。
因此,如何降低敵方所含有的密鑰資訊,成 為本機制中最關鍵的地方。本小節中,說明 了如何在有限的記憶體 SM下,找到ㄧ個最大 的 N 使得 SNM 最小,透過此 N 的最佳化,則 能使得網路的 resilience 能力達到最佳,也代 表了定義中,當任一個節點被 compromised 時,透漏的密鑰資訊,佔整體密鑰池的總密 鑰資訊若能最少,linkAB受到影響被的機率也 能最小。
由於依照不同密鑰池 N 所產生出來的 k-WQ 特質不盡相同,擁有非常多組合且無規 律,無法簡化到容易計算的方式,因此較難 精確計算此系統下的 resilience 能力,故在此 我們以機率分析的方式,搭配 resilience 的定 義,求出其近似值如下:
1 − 1 −SM N
𝑥 q SM
q=𝑘
p q ,
其中 SNM 為取到某把密鑰的機率, 1 −SNM 𝑥 為被破解的 x 個節點皆沒有取到該把密鑰的 機率,p(q)為交集 q 把密鑰所佔的比例,由此 方式,可以求出 q 把共同的密鑰皆被得知的 機率,即為網路 resilience 能力的分析結果。
當記憶體大小為 SM,所能得到最佳的密鑰池 設計 N,求出 SM和 N 的關係式,以及透過分 析得到兩個節點交集 k 把密鑰的機率佔所有 的比例 p(q);有了這些資訊,就可將之導入前 式中進行分析。
5.1.7 效能分析結果
在【圖五】與【圖六】中,我們呈現不 同的記憶體大小下所帶來的結果,其中,密 鑰的大小假設為 16 bytes。圖中以*代表 k=1、
+ 代 表 k=2 、 o 代 表 k=3 以 及 X 代 表 combinatorial design。由分析的結果所示,在 記憶體較大的時候對此機制的運作較為有利,
雖然目前感測節點的記憶體空間有限,使得 k-WQ 的機制在記憶體極小的情況下,相對於 combinatorial design 機制優點有限,但是隨著