國
立
交
通
大
學
資訊科學與工程研究所
碩
士
論
文
改良式隨機位元認證機制抵禦 802.11
無線網路阻絕式攻擊
Enhanced Random Bitsream Authentication to Defend IEEE
802.11 DoS Attacks
研 究 生:黃柏翰
指導教授:蔡文能 教授
良式隨機位元認證機制抵禦 802.11 無線網路阻絕式攻擊
Enhanced Random Bitsream Authentication to Defend IEEE 802.11 DoS
Attacks
研 究 生:黃柏翰 Student:Po-Han Huang
指導教授:蔡文能 Advisor:Wen-Nung Tsai
國 立 交 通 大 學
資 訊 科 學 與 工 程 研 究 所
碩 士 論 文
A ThesisSubmitted to Institute of Computer Science and Engineering College of Computer Science
National Chiao Tung University in partial Fulfillment of the Requirements
for the Degree of Master
in
Computer Science July 2007
中文摘要
改良式隨機位元認證機制抵禦 802.11
無線網路阻絕式攻擊
國立交通大學資訊工程學系﹙研究所﹚碩士班
摘
要
網路已經成為許多人日常生活的一部份,尤其無線網路 IEEE 802.11 更是蓬 勃發展,但 802.11 卻因本身特性與協定的問題,而存在許多的安全漏洞。 802.11(a,b,g)以 WEP 為其安全的機制,但已被證實存在許多弱點而容易被破 解。IEEE 為了解決 802.11 安全問題,因此制定了 802.11i 為新一代的無線網路 標準。雖然 802.11i 解決了完整性(integraty)與機密性(confidentiality)的問題,但 在驗證性(Authentication)與可及性(Availability)上卻有嚴重的設計缺陷,使得 802.11 系列的無線網路還是容易遭受阻絕服務(Denial of Service,DoS)攻擊。
[1]提出了「SND(Sequence Number Deviation)與隨機位元串」兩層過濾機 制防禦 DoS 攻擊,本篇論文以[1]為延伸,針對其未完整說明與可改進部份,修 改成本研究的「DSN(Dynamic Sequence Number)與隨機位元串」兩層過濾機 制。「DSN 與隨機位元串」兩層過濾主要概念是在認證((de)authentication)及 連結((dis)association)訊框中,加入變動的 SN 值與數個隨機位元,作為擷取點 (AP)和無線工作站(STA)雙方溝通的認證機制。本研究設計的「DSN 與隨機 位元串」兩層過濾 DoS 攻擊機制,經實作與實驗模擬後證明不僅能有效的抵禦 802.11 無線網路阻絶式攻擊,並且與[1]比較後安全與效能都大幅提昇。
英文摘要
Enhanced Random Bitsream Authentication to Defend IEEE 802.11 DoS
Attacks
Institute of Computer Science and Information Engineering
National Chiao Tung University
Abstract
Networks have already become a major part of people's life with IEEE 802.11 networks growing the most. However, 802.11 has considerable security issues. WEP is the security mechanism in 802.11 specification, but was proved vulnerable and easy to be cracked.
802.11i is an enhanced version of 802.11. It is concentrated on improving integrity and confidentiality of 802.11 frames. But, the availability of 802.11(i) network is not handled properly. The problem lies in the lack of any key-based authentication mechanism for the protection of the 802.11(i) management frames, As a consequence, 802.11(i) networks are vulnerable to Denial of Service (DoS) attacks.
To solve the problem, Chien et al. [1] proposed a two-phase filtering mechanism consisting of Sequence Number Deviation (SND) and Random Bitstream (RBS) to mitigate the effect of DoS under 802.11 networks. Our research is extended from [1] by implementing a random bitstream generator and enhancing its SND phase. We also considered the synchronization problem in exchanging the authenticating random bitstream. Our proposed scheme thus becomes a new Dynamic Sequence Number (DSN) and RBS, two-phase filtering mechanism. In our experiments, it was demonstrated that our new two-phase filtering mechanism is more effective at defending IEEE 802.11 networks from DoS attacks than the mechanism proposed in [1].
致 謝
在兩年的努力之下,終於完成了我的畢業論文,中間遇到了許
多的困難與問題,也受到許多人的幫助,在此一一感謝。首先要感謝
的是我的指導教授—蔡文能教授,在碩士班兩年的之中,他給我許多
方面的指導,讓我受益良多,也因此成長了不少。再者,感謝父母與
兩個姐姐給我一個平穩的環境在背後支持著我,讓我能夠專心學習。
接著要感謝的是實驗室的學長姐與同學們,大家一起工作、學習,並
且互相幫忙,讓我有個難忘的碩士回憶。需要感謝的人實在太多了,
在我難過或沮喪時,他們都能給我幫助與支持,讓我繼續支持下去,
真心感謝曾經幫助過我的人,謝謝你們。
目錄
中文摘要... III 英文摘要... IV 致 謝 ... V 目錄... VI 圖目錄... VIII 表目錄... X 第一章 緒論...1 1.1 研究動機...1 1.2 研究目標...2 1.3 論文架構...3 第二章 背景知識 ...4 2.1 無線區域網路簡介 ...4 2.1.1 無線區域網路運作原理 ...4 2.1.2 無線網路的特性 ...5 2.1.3 802.11 家族的演進...6 2.2 IEEE802.11 安全問題 ...72.3 服務阻絕攻擊(DENIAL OF SERVICE ATTACK)...9
2.4 DIFFIE-HELLMAN金鑰交換演算法 ... 11
第三章 相關研究 ...13
3.1 阻絕服務攻擊於 IEEE802.11 規格 ...13
3.1.1 IEEE 802.11 Deauthentication 與 Disassociation 氾濫式攻擊(flooding attacks) ..13
3.1.2 IEEE 802.11i EAPOL-Failure 與 EAPOL-Logoff 氾濫式攻擊(flooding attacks) ...15
3.2 用於 IEEE802.11 的輕負擔驗證機制(LIGHTWEIGHT AUTHENTICATION ON IEEE 802.11) ...17
3.2.1 IEEE 802.11 單一隨機位元驗證(One-bit Lightweight Authentication on IEEE 802.11) 17 3.2.2 IEEE 802.11 加強隨機位元驗證(Enhanced Lightweight Authentication on IEEE 802.11)...20
3.3 阻絕服務攻擊(DOS)防禦機制...21
3.4 串流加密(STREAM CIPHER) ...25 第四章 系統架構 ...29 4.1 系統概觀...29 4.2 系統設計...32 4.2.1. 訊框分析 ...32 4.2.2. 金鑰產生與交換 ...37
4.2.3. 驗證隨機位元串產生器(ARBG, Authentication Random Bitstream Generator) ...40
4.2.4. 結合變動順序控制(Dynamic Sequence Number, DSN)與隨機位元串之防禦阻絕服 務攻擊機制 ...45
4.2.5. 隨機位元串同步演算法 ...49
第五章 分析與實驗結果 ...54
5.1 實驗環境...54
5.2 [1]提出的 SND(SEQUENCE NUMBER DEVIATION)與隨機位元串兩層過濾機制效能 56 5.3 本研究提出的 DSN(DYNAMIC SEQUENCE NUMBER)與隨機位元串兩層過濾機制效能 63 5.4 驗證失敗率門檻(AUTHENTICATION FAILURE RATE THRESHOLD) ...68
第六章 結論 ...71
6.1 結論...71
6.2 未來工作...72
圖目錄
圖 1 無線網路在北美的成長率...2 圖 2 獨立基礎架構與基礎架構...5 圖 3802.11 有限狀態機圖 ...9 圖 4DIFFIE-HELLMAN金鑰交換法[28] ...12 圖 5802.11 與 802.1X連結上網協定的有限狀態機 ...14 圖 6 802.11 阻絕服務攻擊模式...15 圖 7802.11I協定流程(紅色區塊表未加密)...16 圖 8SOLA 協定運作 ...17 圖 9同步演算法實例[2] ...18 圖 10 同步過程(BEST CASE)[5][6] ...19 圖 11增強版的存取控制驗證協定[6]...20 圖 12 隨機位元串的劇本(未遭受到攻擊) ...24 圖 13 隨機位元串的劇本(遭受到攻擊) ...24 圖 14 仜色框框為 WEP 容易遭受破解主因(重複使用金鑰) ...27 圖 15 仜色框框為[8]所改善 WEP 缺點之處 ...28 圖 16SPRING 安全分析圖...28 圖 17 一般 IEEE802.11 無線區域網路上網流程 ...30 圖 18 本研究提出的上網流程方法一 ...31 圖 19 本研究提出的上網流程方法二 ...31 圖 20 一般 802.11MAC 訊框格式 ...32 圖 21 訊框控制中可以使用的位置分析[7] ...34 圖 22 項目資訊格式...35 圖 23 金鑰交換所需大質數 P 與原根 G 資訊項目 ...35 圖 24 擷取點與無線工作站各自產生一半的金鑰交換資訊項目 ...36 圖 25 虛擬亂數產生器的資訊項目 ...36 圖 26 加入驗證的隨機位元串資訊項目 ...36 圖 27 同步演算法需要的回覆成功或失敗資訊項目 ...36 圖 28 同步演算法需要的計數器資訊項目 ...36 圖 29 本研究提出的主動金鑰交換流程 ...38 圖 30 本研究提出的被動金鑰交換流程...39圖 31FEEDBACK SHIFT REGISTER...41
圖 32 多個 FEEDBACK SHIFT REGISTER...41
圖 33ARBG 原始想法 ...42
圖 36 本研究提出的防禦機制流程 ...46 圖 37 訊標訊框中 TIMESTAMP欄位...47 圖 38 時序同步方式...48 圖 39 變動 SN 產生方式...48 圖 40 無線工作站要求訊框遺失之同步演算法過程...52 圖 41 擷取點回覆遺失之同步演算法過程 ...52 圖 42 擷取點與無線工作站不同步情形之同步演算法過程 ...53 圖 43 模擬網路架構圖...55 圖 44 左圖為未使用任何防禦機制,右圖為隨機位元串數為 11 時的防禦效果(攻擊模式為 SN 值連續增加的方式)...58 圖 45SND 與隨機位元串的兩層過濾效果(攻擊模式為 SN 值跳躍的方式,SND>=10) ...61 圖 46SND 與隨機位元串的兩層過濾效果(攻擊模式為 SN 值加大跳躍的方式,SND>=30) ..62 圖 47DDOS 攻擊示意圖(攻擊模式為 SN 值加大跳躍的方式,SND>=30)...66 圖 48DSN 與隨機位元串防禦 DDOS 的吞吐量...67 圖 49SND 與隨機位元串防禦 DDOS 的吞吐量...67 圖 50 在W=8 時,攻擊者的機率...70 圖 51 在W=12 時,攻擊者的機率 ...70
表目錄
表 1同步演算法[2][3]...18 表 2利用保留訊框位置定義出的新型態 ...20 表 3 [7]提出的結合 SN 與隨機位元串的防禦機制 ...25 表 4線性同餘法的參數選擇 ...26 表 5管理訊框型態與子型態功能對照 ...33 表 6管理訊框的項目內容 ...35 表 7本研究提出的同步演算法-接收端(擷取點) ...50 表 8 本研究提出的同步演算法-傳送端(無線工作站)...50 表 9同步演算法比較圖 ...51 表 10 模擬環境...55 表 11金鑰交換、ARBG、身份認證與連結所需時間 ...56 表 12 一般連結上網與使用本研究連結上網時間比較 ...57 表 13 正常情況與皆攻擊失敗的傳送時間比較 ...57 表 14 隨機位元串防禦效果(攻擊模式為 SN 值為連續增加的方式) ...58 表 15SND 防禦效果(攻擊模式為 SN 值連續增加的方式下) ...59 表 16SND 防禦效果(攻擊模式為 SN 值跳躍的方式,SND>=10)...59 表 17SND 防禦效果(攻擊模式為 SN 值加大跳躍的方式,SND>=30)...60 表 18SND 與隨機位元串的兩層過濾效果(攻擊模式為 SN 值跳躍的方式,SND>=10) ...61 表 19SND 與隨機位元串的兩層過濾效果(攻擊模式為 SN 值加大跳躍的方式,SND>=30) ..62 表 20DSN 防禦效能(攻擊模式為 SN 值加大跳躍的方式,SND>=10)...64 表 21DSN 防禦效能(攻擊模式為 SN 值加大跳躍的方式,SND>=30)...64 表 22DSN 與隨機位元串兩層機制防禦效能(攻擊模式為 SN 值加大跳躍的方式,SND>=30) ...65 表 23DSN 防禦效能(攻擊模式為 SN 值加大跳躍的方式,SND>=30)...66 表 24 「DSN 與隨機位元串」與「DSN 與隨機位元串」防禦 DDOS 比較圖(攻擊模式為 SN 值 加大跳躍的方式,SND>=30) ...67第一章 緒論
從早先的撥接,到 ADSL/Cable 寬頻上網,網路已經成為許多人日常生活的 一部份,無線網路 IEEE 802.11 更是漸漸成為主流。雖然無線網路架構出一個無 論何時何地都能快速連上網路的環境,但是安全問題卻遠遠比有線網路嚴重許 多。802.11 就因為本身的特性與協定制定的問題,而存在許多安全漏洞。所以在 此章節中,會先於 1.1 節介紹本論文欲解決的安全問題。1.2 節介紹研究的目標。 1.3 節介紹本論文的組織架構。1.1 研究動機
無線網路的使用十分方便,並且已經慢慢成為主流急速地成長中,根據國科 會資科中心的報告,從 2000 年到 2006 年間無線網路的使用率大幅的成長(如圖 1 所示)。但是相對地,水能載舟,亦能覆舟,由於無線電波的特性,使得無線 網路比有線網路多了許多安全性的考量,例如:任何人皆能輕易地存取無線網 路,使得在無線網路上傳輸的資料無法受到保障。再者協定標準(Protocol)與 安全機制亦具有嚴重的漏洞存在,例如:IEEE 802.11 中定義的 WEP(Wired Equivalent Privacy)在 2001 年 Fluhrer、Mantin 和 Shamir 發表的一篇相關研究論 文後,網路上就出現破解 WEP 的程式。此外攻擊者也可能使用您的無線網路來 進行對外的一些攻擊行為。 無線網路中有四種安全考量,分別是資料的保密性(Confidentiality)、資料的 完整性(Integrity)、驗證性(Authentication),與可及性(Availability)。IEEE 為了 解決 802.11 安全性的問題,因此制定了 802.11i 為新一代的無線網路標準。雖然 802.11i 解決了保密性和完整性的問題,但是對驗證性與可及性卻有嚴重的設計 缺陷,使得 802.11 系列的無線網路還是容易遭受阻絕服務(Denial of Service, DoS)攻擊。所以本研究將設計一個有效且負擔輕的機制來預防 802.11 系列容易遭受 阻絕服務攻擊的問題。 圖 1 無線網路在北美的成長率
1.2 研究目標
本篇論文研究目標分成下列四個部份: 第一,本研究首先讓無線工作站(Station)與擷取點(Access point)利用 Diffie-Hellman金鑰交換演算法以產生相同的金鑰(Shared Key)。之後再利用此 把共同金鑰輸入本研究所設計的認證隨機位元產生器(Authentication Random Bitstream Generator,ARBG)中,以便產生用來互相認證的相同隨機位元串。此 外在設計ARBG時,我們必須要確保此認證隨機位元串是攻擊者(attacker)難以 分析出來的,亦無法從其推算出無線工作站與擷取點的共同金鑰。 第二,在無線工作站與擷取點產生相同的認證隨機位元串之後,利用 802.11 在 MAC 層中的訊框主體(Frame Body)欄位,於認證((de)authentication)及 連結((dis)association)訊框中加入動態的順訊控制值(Dynamic Sequence Number)與數個隨機位元串,以作為擷取點和無線工作站雙方溝通的認證機制, 如此達到有效過濾偽造的阻絶式攻擊封包的兩層防禦。第三,設計一個有效率的隨機位元串同步演算法(Synchronization Algorithm),因為在無線網路的環境下,封包遺失(Lost)或遭到噪音(Noise)的 干擾是常有的事情。所以必須讓無線工作站與擷取點指到相同的位元串上,才能 用來做互相驗證的工作。同步演算法的設計是非常重要的問題,因為演算法的設 計優劣會直接影響到我們所提出的機制的效能,在本篇論文我們將提出一個簡 單、有效率的方式來達成同步機制。 第四,我們會經由分析與實驗證明本研究所提出的兩層防禦機制,不僅是可 行、有效率(efficient)且負擔輕(lightweight),並可與 IEEE 802,11(a,b,g) 向後相容(Backward Compatible)。
1.3 論文架構
本篇論文的組織架構如下:『第一章 緒論』介紹研究動機目標。『第二章 背 景知識』介紹無線網路 IEEE 802.11 的運作原理、特性、802.11 家族與安全問題、 阻絕服務攻擊、以及本論文中應用到的相關知識。『第三章 相關研究』依序介紹 研究 IEEE 802.11 阻絕服務攻擊的相關論文、現階段提出防禦 IEEE 802.11 阻絕 服務攻擊機制的相關論文、本篇論文的兩層防禦機制想法來源,最後再介紹論文 中會應用到的相關技巧。『第四章 系統架構』本論文將以 3.3.2 節中的[1]為延伸, 將在此章中修改[1]論文中有缺陷的部份,並完成作者沒有說明完整的地方。『第 五章 分析與實驗結果』利用實驗證明本論文提出的新防禦機制不僅可行,且比 [1]安全且有效率。『第六章 結論』提出結論與未來方向。第二章 背景知識
此章節將簡介一些無線網路的背景知識,以及為何 802.11 容易遭受阻絕服務攻 擊的原因。2.1 簡介線網路,包含其運作、特性、家族規格的演進。2.2 說明 IEEE 802.11 安全問題,以及 IEEE 802.11i 為何沒有解決組絕服務攻擊的原因。2.3 介 紹服務阻絕攻擊的種類。2.4 介紹如何利用 Diffie-Hellman 金鑰交換演算法讓無 線工作站與擷取點產生共同的金鑰,以便用來產生相同的驗證隨機位元串。2.1 無線區域網路簡介
本研究探討的問題是有關無線網路安全,但要了解問題時,必須先對無線區 域網路的架構有初步認識。所以底下先介紹 IEEE 802.11 的運作原理、特性、及 IEEE 訂定的一系列相關標準。2.1.1 無線區域網路運作原理
無線網路就是不使用實體線路所構成的網路,目前大部分的無線網路技術都 是使用無線電波為傳輸媒體,另外有一小部分則是使用紅外線或藍牙為傳輸媒 體。所以,我們也可以說無線網路就是以無線電波或紅外線做為傳輸媒介,而構 成的通訊網路。目前常用的協定為 IEEE 802.11,其主要目的是要製定一套適合 在無線區域網路環境下作業的通訊協定,依架構可以分為兩種,如下圖 2:圖 2 獨立基礎架構與基礎架構[31]
獨立基礎架構(Independent BSS(Basic Service Set),亦稱 Ad-Hoc Mode): 在這個架構下沒有擷取點(Access Point),無線工作站只要彼此在乎互相 的範圍內,就可以退過點對點的方式直接互相通訊,而不需透過有線的架構來輔 助。
基礎架構(Infrastrucutre BSS,亦稱 Infrastructure Mode):
在這個架構下是靠有線的架構來輔助無線工作站上網,通常是以擷取點作為 溝通的橋樑,擷取點同時擁有有線網路介面與無線網路介面,所以任兩台無線工 作站如果要彼此互相通訊,或是無線工作站要與有線網路通訊,都必須透過擷取 點來傳送資料。
2.1.2 無線網路的特性
無線區域網路與有線網路不僅在架構上有很大的不同,協定與封包格式也不 相同。所以無線區域網路的特性也與有線網路有很多的不同之處。底下為無線網 路與有線網路的差別: (1)無線電波傳輸: 利用無線電波來做為資料的傳遞,它與有線網路的用途相 似,兩者最大不同的地方在於傳輸資料的媒介不同,一個使用無線電波,另一個使用實體線路。由於它是無線電波來做為資料傳遞,因此在硬體架設或使用之機 動性均比有線網路要方便許多。 (2)易受干擾:如上所述,因為在空氣中利用無線電波傳送,所以會牽涉到訊 號強弱的問題,距離的遠近、無線工作站的位置、週遭是否有其他相同頻段的裝 置(例如:微波爐、無線電話等等)在正使用,都會干擾到資料的傳送。所以無 線區域網路在資料傳送的可靠性來講,比有線網路來得不穩定。 (3)無線工作站可以漫遊移動(roaming):無線工作站可以漫遊於 BSS 或 ESS (Extended Service Set)中。所以無線網路的目的位址通常不等於目的位置。在 有線網路裡,一個位址通常就代表一個固定的位置,然而在無線網路裡,這件事 不一定成立,因為在無線網路中,事先被給定位址的電腦,隨時都有可能會移動 到不同的地方。 (4)安全性比有線網路低:由於無線電波是在空氣中傳送的,所以只要在傳輸 範圍內有任何人都可以收到訊號,而且訊號的傳輸範圍難以界定,要防止監聽相 當困難,所以無線區域網路的安全威脅比有線網路嚴重許多。
2.1.3 802.11 家族的演進
802.11 家族為 IEEE 發展無線區域網路而訂定的一系列規格,在 802.11 家 族中,IEEE 針對了不同的問題而定義了不同的規格,例如: 802.11n(速度提昇)、 802.11e(Quality of Service,QoS)、802.11i(安全問題)等等。 802.11b: 802.11b 又被稱為 Wi-Fi,用於 2.4GHz 頻帶,其最大速率可達 11Mbps,實際速 率 5Mbps,為目前常用的傳輸協定之一。 802.11a:802.11a 為 802.11b 的後續標準,用於 5GHz 頻帶,最大速率可達 54Mbps,實際 傳輸速率為 25Mbps。該標準採用正交頻分多路複用(OFDM)調制技術,此外 802.11a 的 5GHz 頻段無法與 802.11b 相容。 802.11g: 802.11g 向後相容 802.11b,用於 2.4GHz 頻帶。但它與 802.11a 一樣擁有 54Mbps 的傳輸速率,可滿足 802.11b 更大的資料傳輸。 802.11e: 802.11e 標準提供了兩種提高服務保障的新機制,即訊息通道爭用期的增強分散 式協調功能(EDCF)與非訊息通道爭用期的混合點協調功能(HCF)來增加無線區 域網路的服務品質。 802.11i: 802.11i 主要針對 802.11 安全性方面強化,訂定了強健性安全網路(Robust Security Network, RSN)與過渡性安全網路(Transitional Security Network, TSN)。 RSN 主要是為了加強資料加密與認證性能而訂定,並針對 WEP 加密機制的各 種缺陷改進。TSN 主要是因為現有無線網路卡無法升級支援,以至於運算能力 不足。因此 Wi-Fi 聯盟提出 WPA,作為要變更到 802.11i 的一種過渡方案。 802.11w:
802.11w 主要是針對管理訊框中沒有受到加密保護的機制,造成攻擊者可以利用 的缺陷做改進,目前還在訂定當中。
2.2 IEEE 802.11 安全問題
一般來說,不管是無線或有線網路的安全機制,大致上可以從四個角度分 析,分別為機密性(Confidentiality)、完整性(Integrity)、驗證性(Authentication) 與可及性(Availability)。根據以上的四個標準來看,IEEE 802.11 安全問題可 歸咎為三個原因:
(1)無線通訊的特性: 由於無線網路先天設計便是以無線電技術為基礎,使得攻擊者得以無線電 波涵蓋的範圍內進行通訊內容的監聽。如果使用者未將傳送的資訊適當的進行 加密,則入侵者很容易的便可以竊取所有的通訊內容。另外,由於無線通訊只 要電波收訊範圍內即可使用,也造成了管控上的麻煩,管理者無法完全的進行 存取控制。 (2)加密機制設計錯誤: 在 IEEE 802.11 的標準中訂定了 WEP 的標準,希望透過這種加密技術能讓 使用獲得更好的資料安全性,但是由於某些設計上的錯誤,使得 WEP 無法保 護資料內容。此外亦沒有考慮到金鑰管理的問題,因此如果有一個很大的無線 區域網路的話,金鑰的修改及配送亦會是一個很大的管理問題。 (3)驗證性與可及性問題 在 802.11 中有三種訊框,分別為管理訊框(Management Frame)、控制訊 框(Control Frame)與資料訊框(Data Frame)。控制訊框是用來作為頻道的宣 告或載波感測的狀態維護(例如:RTS、CTS)。管理訊框是用來執行管理功能 (例如:Authentication/Deauthentication、Association/Diassociation)。資料訊框 則是用來傳送資料的。 802.11 為什麼會有可及性的問題呢?問題出在管理訊框與協定上面,因為無 線區網不依靠實體佈線來傳輸資料,那麼無線區域網路要怎麼樣來維持擷取點與 無線工作站之間的虛擬網線路呢?答案是靠管理封包來建立連結(Association)。 建 立 這 個 虛 擬 線 路 主 要 有 兩 大 步 驟 , 第 一 個 是 先 做 身 分 認 證 的 動 作 (Authentication),第二個就是建立連結(Association)的動作。那既然有建立的動作 就會有相對應的解除動作,在無線區網所用的通訊協定裡這兩個動作靠的是 Deauthentication 與 Disassociation 兩個封包。然而,設計者在訂定這樣的通訊協 定時,並未將身分認證或加密機制加進這些管理虛擬線路的訊框裡,而造成任何
務),而造成服務阻絕攻擊(如圖 3 所示)。
經過上面的詳述,我們可以知道 IEEE 802.11 系列的無線網路,有上述三種 安全問題。因此 IEEE 制定了 802.11i 以改善 802.11(a,b,g)無線網路資料傳送的完 整性及機密性的安全問題,但在驗證性與可及性卻沒有嚴謹的考量與設計,也就 是 802.11i 繼承了 802.11(a,b,g)先天上的設計缺陷(i.e.容易遭受到阻絶式攻擊 的特性)。本研究將在第四章中,針對阻絕服務攻擊造成的驗證性與可及性問題 提出解決的機制。
圖 3 802.11 有限狀態機圖
2.3 服務阻絕攻擊(Denial of Service Attack)
本研究是以解決 802.11 系列中容易遭受到服務阻絕攻擊為目的,所以在此 小節中,將對服務阻絕攻擊的定義、種類與攻擊手法做介紹,讓讀者對服務阻絕 攻擊有更進一步的認識。
2.3.1 服務阻絕攻擊定義
服務阻絕(Denial of Service,DoS)攻擊是指故意攻擊協定的漏洞,或直接 使用暴力法耗盡攻擊目標的資源(CPU、網路、硬碟空間等等),目的不是取得系統使用的權力,而是讓目標電腦或網路無法提供正常的服務,甚至系統崩潰 (Crash)。而另一阻絕服務攻擊的特例為分散式阻絕服務攻擊(Distributed Denial of Service,DDoS),駭客利用多台機器同時攻擊來達到妨礙正常使用者使用服 務。分散式服務組絕攻擊非常難以抵擋,因為駭客可能一次控制高達上百台電腦 展開攻擊,例如:在西元 2000 年,Yahoo 與 eBay 就遭受到了分散式阻絕服務攻 擊,不僅網站癱瘓,並且因而損失達上千萬元。
2.3.2 服務阻絕攻擊種類
要發動服務阻絕攻擊的方法很多,也有很多種軟體可以達成。不過大致可以 分為以下三種目的,來達成服務阻絕的目的: (1)消耗頻寬:駭客利用一些指令去消耗可用的頻寬。例如:smurf 攻擊,直接 對網路進行廣播,造成網路很快地充滿垃圾封包而中斷。smurf 會不斷地將小量 偽造的 icmp 要求封包送給 IP 廣播位址,然後廣播位址會傳回大量的 icmp 回應 封包給目標主機。這種 smurf 的攻擊方式除了攻擊特定目標主機,也能在網路上 塞滿 icmp 的要求封包與回應封包而造成網路中斷,稱為加強型的 smurf 攻擊。 (2)消耗系統資源:利用網路主機處理封包的特性進行攻擊,使得受害主機無 法處理正常封包,而將資源一直用在主處理垃圾封包而當機,例如:Ping of Death 產生超過 IP 協定所能允許的最大封包。若是沒有檢查機制的系統收到這些過量 的封包時,則有可能會造成系統當機。 (3)利用協定缺陷 常見的攻擊利用 TCP/IP 通訊協定中詰問-回應模式的漏洞進行攻擊。例 如:SYN-Flood,主要是利用 TCP 連結時的三向交握訊息來造成的。駭客惡意地 產生一些大量的 SYN 封包給目標主機,每個 SYN 封包都要求目標主機系統回應 一個 SYN-ACK 封包,但是駭客並不產生任何 ACK 封包給目標主機,因此目標封包,所以目標主機的 SYN queue 會因為儲存太多正在等待連結的資訊而超過 其容許量,這些封包必須等到收到對方的 ACK 封包或是超過逾時時間之後才會 被移除,所以系統會因為充滿了 SYN-ACK 封包而造成無法服務。本研究中的 802.11 阻絕服務攻擊即屬於此類,細節將於第三章 3.1 節中說明。
2.4 Diffie-Hellman 金鑰交換演算法
在本研究中,因為無線工作站與擷取點需要互相驗證對方的隨機位元串,所 以彼此必須要擁有一把相同的金鑰,才能產生相同的驗證隨機位元串。因此我們 必須有一套機制可以讓兩個素不相識的無線工作站與擷取點取得相同的金鑰,我 們採用的機制是 Diffie-Hellman 金鑰交換演算法。 最早發表的公開鑰匙演算法是由 Diffie 和 Hellman 所提出來的,不少的商用 軟體都使用這種金鑰交換技術。這個演算法容許兩個使用者透過某個不安全的交 換機制,來共享金鑰以提供後續的加密或應用,而不需要首先就某些祕密值達成 協定。Diffie-Hellman 演算法有兩個公開的系統參數,其中一個大質數 P,另一 個為 P 的原根 G,{G1 ,G2,…,Gp-1} mod P 可以生成從 1 到 P-1 之間任何一個數。 首先,A 與 B 各自生成一個隨機的私有值,即 a 和 b。然後,A 與 B 使用公共 參數 P 和 G 以及它們特定私有值 a 或 b 透過一般公式 G a mod P 或 G a mod P 來產生公共值。然後,他們交換這些公共值。最後,一個人計算 Kab = (G b ) a mod p,另一個人計算 Kba = (G a ) b mod p,則 A 與 B 共享的秘鑰為 Kab = Kba = K(如 圖 4)。上述 Diffie-Hellman 金鑰交換的方式是基於數學上的要計算離散對數 (Discrete Logarithm)是非常困難的,因此其安全是可以信任的。圖 4 Diffie-Hellman 金鑰交換法[37]
Diffie-Hellman 金鑰交換協定可能會遭受到中間人攻擊攻擊(middle person attack)。如果 A 和 B 正在執行交換金鑰,但第三個人 C 有心介入 A 與 B 的金 鑰交換。於是 A 認為初始的私有值傳送到了 B。但事實上被 C 攔截,然後向 B 傳送了一個假的私有值,而 B 傳給 A 的私有值也遭受同樣的攻擊(i.e. B 亦以為 它的私有值傳送到了 A。這樣的攻擊導致了 A 與 C 擁有共同金鑰,而 B 與 C 亦 擁有共同金鑰,但 A 與 B 卻渾然不知。因此 C 就可以在從中攔截 A 到 B 交換的 訊息,然後使用 A 與 C 金鑰解密,修改它們,再使用 B 與 C 金鑰轉信到 B, B 到 A 的過程與此相反,而 A 和 B 都將無法察覺。 為了防止這種攻擊,1992 年 Diffie 開發了經認證的 Diffie-Hellman 金鑰協 定。在這個協定中,必須使用現有的私密金鑰⁄公開金鑰對以及與公開金鑰元素 的相關數位簽章,由數位簽章驗證交換的初始公共值。不過,本論文中間人攻擊 不在的討論中,在此只提供讀者參考。
第三章 相關研究
本章將介紹與本論文相關的一些研究,並於第四章中針對這些缺點加以改 善。3.1 介紹 IEEE 802.11(a,b,g)為何會遭到阻絕服務攻擊,與 IEEE 802.11i 為 何沒有改善遭到阻絕服務攻擊的相關論文。3.2 介紹最早使用隨機位元串的想法 來源,不過這些研究是用於驗證資料方面,而非用於 802.11 阻絕服務攻擊。3.3 介紹目前防禦 802.11 阻絕服務攻擊的機制有哪些,以及分析其優缺點。3.4 介紹 串流加密,與本研究隨機位元串的產生器有很大的關聯。
3.1 阻絕服務攻擊於 IEEE 802.11 規格
本論文重點在於防禦 IEEE 802.11 阻絕服務攻擊,而 802.11(a,b,g)與 802.11i 可能會遭受阻絕服務的原因有兩個: (1) S-Band ISM 頻段的干擾。(2)IEEE 802.11 協定本身設計的缺陷。第一個原因是因為 ISM(Industrial Scientific and Medical)頻段是 FCC(Federal Communications Commission)訂定給不需執照 的裝置使用。然而目前這個頻段是非常擁擠的,例如:家用無線電話、監視器、 X10 攝影機等等,所以使得 IEEE 802.11 容易遭到干擾,造成封包遺失和損毀, 以至服務中斷,造成阻絕式攻擊。 我們想要解決的是第二個原因,也就是協定設定不良造成的缺陷問題(第一 個原因則是屬於 FCC 頻段規劃使用的問題,本篇論文不討論)。底下 3.1.1 與 3.1.2 進一步介紹 802.11 與 802.11i 設計上的缺陷,以及造成服務阻絕攻擊的原因。
3.1.1 IEEE 802.11 Deauthentication 與 Disassociation 氾濫
式攻擊(flooding attacks)
管理封包來建立連結。建立這個虛擬線路主要有兩大步驟,第一個是先做身分認 證的動作(Authentication),第二個就是建立連結(Association)的動作。然而,既然 有建立的動作,就會有相對應的解除動作。在無線區網所用的通訊協定裡這兩個 動作靠的是 Deauthentication 與 Disassociation 兩個訊框。所以攻擊者可以利用這 兩個訊框,讓正常使用者無法正常得網路服務。 圖 5 802.11 與 802.1x 連結上網協定的有限狀態機 [11][13] IEEE 802.11 的設計者為了效率問題,所以在設計 IEEE 802.11 的通訊協定 時,並未在這些管理虛擬線路的訊框裡面加入互相驗證來源性或加密的機制。 所以任何人都可以偽裝成無線工作站或擷取點,發出這些管理訊框後,切斷正 常使用者的連線或讓網路處於不穩的狀態,進而達到阻絕式攻擊(如圖 6)。
圖 6 802.11 阻絕服務攻擊模式[14]
3.1.2 IEEE 802.11i EAPOL-Failure 與 EAPOL-Logoff 氾
濫式攻擊(flooding attacks)
IEEE 為了解決 802.11 安全上的問題,而提出了 802.11i 的標準。不過在[2][3] 中提出 802.11i 在防禦類似 802.11(a,b,g)先天協定上的缺陷並沒有改善,也就 是 802.11i 繼承了 802.11(a,b,g)的容易遭受阻絕式攻擊的特性,而且 802.11i 的情況比 802.11(a,b,g)更嚴重。802.11i 中的 EAPOL-Logoff、EAPOL-start、 EAPOL-Success 與 EAPOL-Failure 訊框都沒有互相驗證來源性或加密的機制,使 得有心的人(攻擊者)只要偽裝成擷取點或無線工作站,發出假的訊框,就可以 讓使用者斷線,或者無法正常的使用網路服務[2][3][4][5]。 802.11i 協定流程如圖 7 所示,紅色框框中表示傳送的訊框未使用任何金鑰 加密或驗證來源性的機制加以保護,所以攻擊者可以利用這些紅色的框框中的訊 框發出假造的訊息,如此就可以騙過系統,讓正常使用者斷線,或是做任何會危 及系統安全的事。
圖 7 802.11i 協定流程(紅色區塊表未加密)[3] Disassoc /Deauth
3.2 用 於 IEEE 802.11 的 輕 負 擔 驗 證 機 制 ( Lightweight
Authentication on IEEE 802.11)
[6][7][8][9][10]利用隨機位元串的方式驗證來源性,防止未經授權存取或修 改,其不需複雜加密的驗證,主要是用於資料傳輸的存取控制(Access Control) 方面,以下 3.2.1 與 3.2.2 介紹使用隨機位元串的方法與其演進過程。
3.2.1 IEEE 802.11 單一隨機位元驗證(One-bit Lightweight
Authentication on IEEE 802.11)
在此小節中,要介紹的是[6][7][8][9]四篇。首先[6][7]提出SOLA(Statistical One-bit Lightweight Authentication)身分認證協定,主要的想法是先假設在傳送 端與接收端彼此擁有相同的金鑰、會期金鑰與ASG(Authentication Stream Generator,ASG),利用會期金鑰帶入ASG中算出相同的隨機位元串。然後從這 相同隨機位元串中,選取一個位元加入到資料訊框(Data Frame)中未用到或保 留的欄位,例如:MAC或IP表頭中未用到或保留的位置。如圖8所示,傳送端在 把訊框傳送給接收端,接收端收到後會先去比對隨機位元串。如果比對相符的 話,接收端會回覆ACK-Success(代表為合法使用者所傳送的資料)給傳送端; 反之,接收端會回覆ACK-failed(代表不合法使用者所傳送的資料)給傳送端。 圖 8 SOLA 協定運作
然而在無線網路的環境下,封包的遺失或遭受到干擾是很容易發生的,所以 必須確保傳送端與接收端必須指到同一個位元位置上,如此傳送端送給接收端的 隨機位元才會相符。底下表1為[6][7]論文提出的同步演算法,圖9則為在最佳情 況下的同步過程: 表 1 同步演算法[6][7] 圖 9 同步演算法實例[6] 值得一提的是,在[6]中提到不能使用訊框表頭中的順序控制(Sequence
若接收端回傳給傳送端的封包遺失,則傳送端會重新發送一個封包給接收端,此 時的順序控制的參數是不變的,但是因為剛剛接收端有收到封包,所以必須要往 前指到下一個隨機位元串上,如此就會造成不同步。所以我們不能使用順訊控制 來達到同步的過程。 [8][9]中分析在這樣的同步演算法下,若要使得傳送端與接收端恢復同步的 話,則最多需要NSI(non-synchronization index,傳送端與接收端所指到位元串 位置的差)次,傳送端與接收端才可恢復同步(如圖10所示)。 圖 10 同步過程(Best Case)[8][9] SOLA協定特點: 簡單且低負擔:不需加密或解密的計算過程,而不像WEP則必須在每個訊框中 使用RC4來做加解密的動作。而且對一個無線工作站來說必須考量到電力問題, 所以簡單的計算量代表有效率,且可以長時間運作。 有效率:在同步的環境下,因為只需檢查一個位元,所以可以很快的完成驗證過 程。 實做細節: 要如何把[6][7][8][9]提出的機制加入現有的IEEE 802.11中,並且能向後相容 呢?如前所述,將「隨機位元串」與需要的新定義欄位,訂定於原IEEE 802.11 訊框中未使用或保留的欄位,如此就可達到向後相容的目的。如表2所示,[8]利 用管理訊框的型態(Type)與子型態(Subtype)定義出代表隨機位元串0與1的
格式欄位,以及代表ACK-Success與ACK-Failure的格式欄位。
表 2 利用保留訊框位置定義出的新型態
3.2.2 IEEE 802.11 加強隨機位元驗證(Enhanced
Lightweight Authentication on IEEE 802.11)
在此小節中,要介紹的是[10]這一篇,其提出了一個增強版的存取控制驗證 協定(圖 11),加強隨機位元串的部份。原本在[6][7][8][9]都是使用單一位元 隨機位元串的方式,來達到資料存取控制的目的。也就是每次傳送端要傳送資 訊訊框給接收端的時候,原本[6][7][8][9]都是加入一個隨機位元串,而[10]則改 成在一個資料訊框中,一次加入三個隨機位元串,這樣做的好處是可以增加防 禦的強度。在每次只使用一個位元加入訊框的情況下,攻擊者使用暴力法攻擊 (Brute Force),也有 0.5 的機率會猜中(因為不是 0 就是 1)。然而,若在每 次使用三個位元加入訊框中的情況下,只有 0.125 的機率才會猜中,所以防禦 的強度也因此而提昇。 圖 11 增強版的存取控制驗證協定[10] 由 3.2.1 與 3.2.2 小節可知,在無線網路環境下相關的安全防禦是必須的, 但是必須考量到無線工作站的負擔與能力,所以[6][7][8][9][10]提出一個負擔
不過,在[6][7][8][9]論文中提出的同步演算法是有問題的。因為若要使得傳 送端與接收端恢復同步的話,最多可能要 NSI 次才會讓傳送端與接收端恢復同 步。我們覺得這樣的演算法是很沒有效率的,因為無線網路的特性容易遺失訊 框或遭受攻擊,在這種情況下很可能會讓系統一直在做同步演算法。所以我們 將在第四章的 4.2.5 節中,介紹我們提出的隨機位元串同步演算法,將大幅度地 改善同步的效能問題,而其餘相關系統的細節,將於第四章各小節中詳細說明。
3.3 阻絕服務攻擊(DoS)防禦機制
3.1 節中分析了 802.11 為何容易遭受阻絕服務攻擊之因,所以在本節中, 將為大家介紹目前防禦 802.11 阻絕服務攻擊機制有哪些,以及它們的優缺點。 本論文將在第四章以 3.3.2 小節中的[1]為延伸,幫作者完成研究不足或有缺陷的 部份。3.3.1. 目前防禦 802.11 Deauthentication 與 Disassociation
阻絕服務(DoS)的機制
在 [11] 中 提 出 有 以 下 四 種 可 能 的 方 式 可 用 來 防 禦 IEEE 802.11 Deauthentication/Disassociation 阻絕服務攻擊: (1)停止 IEEE 802.11 Deauthentication/Disassociation 訊框功能: 此種方法是不實際的,因為 Deauthentication/Disassociation 訊框皆有存在的 必要,例如:若擷取點為攻擊者偽裝或是有惡意的,正常使用者可以使用 Deauthentication/Disassociation 訊框來離開假的擷取點。 (2)在 Deauthentication/Disassociation 訊框中加入驗證: 在 Deauthentication/Disassociation 訊框中加入驗證機制,也就是說限制只有 特定人士可以使用 Deauthentication/Disassociation 訊框。例如:PEAP 利用 keyed integrity check 來保護 Deauthentication/Disassociation 攻擊,不過卻需要花費相當 的計算與資源。而在[12]提出 per-frame 的驗證機制,每個訊框在接收的時候都要先經過驗證,然後才會執行相對應的動作。 在以上兩種 PEAP、[12]或其他複雜的驗證機制下,都有可能會引發其他的 阻絕服務攻擊。例如:攻擊者可以從網路抓到一堆監聽的驗證封包,大量的發 給擷取點,而擷取點因為需要花費大量的計算量與資源做驗證的工作,使得原 本要預防組絕服務攻擊的美意,卻引發另一種阻絕服務攻擊的機會。 (3) 修改協定: 修改 IEEE 802.11 中的管理訊框使其能支援加密機制,但是這樣的方式是沒 有效率的且不實用的機制。在[13]設計了一個 CM(Central Manager)的機制來 防禦 802.1x 遭受阻絕式攻擊的問題。CM 是在後端(Back-end)的伺服器,取 代 802.1x Radious Server,主要是用來管理一群擷取點和無線工作站。也就是除 了負責 802.1x 驗證的工作外,還需負責避免遭到阻絕式攻擊。 擷取點從無線工作站收到 Disassociation 訊框後,擷取點會把這個訊框傳送 給 CM。CM 收到此訊框後,會送要求訊框給無線工作站,問無線工作站是否真 的想要斷線。無線工作站收到來自擷取點問是否真的要斷線的訊框後,會回覆 CM 確認訊息(Confirmation Message)或否認訊息(Denial Message,表無線工 作站根本沒有發這樣的訊框)。CM 收到無線工作站的確認回覆之後,CM 會發 Disassociation-continue 訊框給擷取點,擷取點收到 Disassociation-continue 後, 才會真的讓無線工作站斷線。反之,若擷取點收到 Disassociation-igonre,會忽 略原本的 Disassociation 訊息,原本的無線工作站則不會斷線。 採用 CM 這種架構有三個缺點,(1)若攻擊者偽裝成擷取點,則攻擊會成 功,因為真正的擷取點與 CM 無法收到 Disassociation 訊框。(2)需要更改認 證伺服器(Authentication Server)的架構,也就是需要對 802.11 的規格作修改 (3)認證伺服器損壞(Single Server Failure),則無法提供驗證服務。
(4) 利用佇列:
利用佇列方式來判斷使用者是真的有發出 Deauthentication/Disassociation 訊 框是由攻擊者所發出。在[14]中 J. Bellardo and S. Savage 利用佇列機制來防禦服
到 10 秒,如果等一下從無線工作站來的訊框是資料訊框的話,則放棄上次的 Deauthentication/Disassociation 訊框。因為合法的使用者既然要繼續使用網路的 話,是不太可能連續發送 Deauthentication/Disassociation 訊框,所以極有可能是 攻擊者所發送的。反之,無線工作站也可以借由佇列的機制,來觀察是法真的 是從擷取點所發的 Deauthentication/Disassociation 訊框。J. Bellardo and S. Savage 是使用 FTP 來設計實驗,雖然成功的防禦了阻絕服務攻擊,但是有一些缺點, 如下: 1. 延 遲 現 象 (Delay ) : 擷 取 點 則 必 須 等 待 5 到 10 去 檢 查 是 否 為 真 的 Deauthentication/Disassociation 訊框,所以會導致系統延遲的問題。 2. 實驗使用 FTP 測試:雖然於 FTP 測試上實驗證明可以防禦阻絕服務攻擊,但 假若測試環境為使用者在瀏覽網頁時,則無法有效防禦。因為使用者通常會停 留 一 段 時 間 觀 看 網 頁 , 此 時 並 不 會 有 資 料 的 傳 送 , 若 攻 擊 者 在 這 時 候 發 Deauthentication/Disassociationn 訊框,則可以成功達到攻擊目的。再者攻擊者可 能會在發了 Deauthentication/Disassociation 訊框後,在發假的資料訊框給擷取 點,亦可以逃過截取點的過濾。
3.3.2. 新穎的防禦 802.11 Deauthentication 與 Disassociation
阻絕服務(DoS)的機制
在 3.3.1 防禦機制中,缺點為成效不彰、複雜加密運算或需要修改協定。為 了要讓無線網路能夠有效率地運作,[1]提出了一個新穎、負擔輕(Lightweight) 的方法,其不是利用上面四種機制來預防阻絕服務攻擊,而是使用 3.1 節中 [6][7][8][9][10]中的隨機位元串驗證機制。在 3.1 節中的研究主要是將隨機位元串 用於 IEEE 802.11 中資料訊框(Data Frame)的存取驗證;而[1]則是將隨機位元 串應用於防止 IEEE 802.11 管理訊框(Management Frame)的偽造問題,進而防 止阻絕服務攻擊。封包中,以隨機方式加入 3 到 4 個位元於 802.11 在 MAC 層的封包標頭結構中, 以便讓擷取點和無線工作站可以互相溝通認證,並配合 MAC 層封包標頭中的訊 框控制(Sequence Counter,SN)欄位值為連續正整數的特性,設計有效過濾偽 造的阻絶式攻擊封包的機制(如圖 12,13 所示)。 圖 12 隨機位元串的劇本(未遭受到攻擊) 圖 13 隨機位元串的劇本(遭受到攻擊) [1]研究設計的抵禦無線網路阻絶式攻擊機制,經過作者的實作與實驗模擬後, 得到兩種方式可以有效的抵禦 IEEE 802.11 無線網路阻絶式攻擊: (1)只使用隨機位元串驗證的方式,需要 8 個以上的隨機位元串加入訊框中, 才可以有效防禦阻絕服務攻擊。或是只用 SND(SN – SN ,Sequence Number)
防禦,需設 SND 為 16 以上才可以防禦阻絕服務攻擊。
(2)結合 SND 與隨機位元串機制,則使用 3 個隨機位元串,與 SND=24 可以 有效的防禦 DoS 攻擊。而使用 4 個隨機位元串,與 SND=12,則也有相同效果 (如表 3)。
4 8 12 16 20 24 28 32 Deauth flooding attack 58.3 49 43.8 42.8 41.8 39.1 39.1 38.9 Disassoc flooding attack 58.1 47.7 43.6 43.2 41.1 39.7 39.2 38.8 Delay (1) 19.8 10.6 5.4 4.4 3.4 0.7 0.7 0.4 3
Delay (2) 19.6 9.2 5.1 4.7 2.6 1.2 0.7 0.3 Deauth flooding attack 47.7 43.2 39.1 37.7 38.0 37.8 37.7 37.9 Disassoc flooding attack 44.9 44.3 39.4 37.9 38.1 37.9 38.0 37.7 Delay (3) 9.3 4.8 0.7 -0.8 -0.5 -0.7 -0.8 -0.6 4 Delay (4) 6.4 5.8 0.9 -0.6 -0.4 -0.6 -0.5 -0.8 表 3 [1]提出的結合 SN 與隨機位元串的防禦機制 雖然[1]經過實驗證明使用 SND 與隨機位元串兩層過濾機制,抵禦阻絕服務 攻擊是有效的,但是[1]作者在研究中某些部份是沒有完整說明,或有缺陷的, 所以本論文將在第四章以[1]為延伸,把底下列出五個部份做修改與擴充: (1)加入隨機位元串於訊框中的訊框分析不完整 (2)如何讓傳送端與接收端預先共享金鑰 (3)相同的隨機位元串要如何產生
(4)SND(Sequence Number Deviation)防禦機制有缺陷 (5)隨機位元串的同步演算法
3.4 串流加密(Stream Cipher)
本研究因為需要讓無線工作站與擷取點擁有相同的隨機位元串,所以會需要 用到串流加密的技巧來產生相同的隨機位元串,而串流加密又與虛擬亂數有很大 的關係,所以在此3.4.1小節中會先介紹虛擬亂數。之後3.4.2小節中再介紹我們產 生隨機位元串的想法來源。 SND Duration RBN3.4.1 虛擬亂數產生器
(Pseudorandom Number Generator)
在密碼學或網路安全中,大部分是使用虛擬亂數產生器來產生亂數。這些虛 擬亂數是經過一個明確的(Deterministic)演算法過程而產生的,所產生的數字 串在統計上並不是隨機且不可預測的。但是只要所使用的演算法夠好,其所產生 的虛擬亂數通過很多數學測試[16](Full Period、統計分佈、效能),就可以用在 密碼學上(至少有一定的安全度)。最被廣泛使用的虛擬亂數產生器是 Lehmer[18] 所提出的線性同餘法(Linear Congruential Method)演算法,此方程式有四個參 數:a、b、m 與 Rk-1,如下方程式所示: 只要適當地選取 a,b 與 m(例如:a 為 16807,b 為 0,m 為 231 - 1),則 可以通過[16][17]中的安全測試。如表 4 所示,表中的 a,b 與 m 為經過測試的適 當選擇,就可以讓 PRNG 產生很大週期。3.4.2 加密串流的產生
在[20]中提出一個簡單且有效的 SPRiNG 協定,其利用 Lehmer 所提的虛擬 亂數產生器來動態產生金鑰流(Keystream),以改善 WEP 中重覆使用同一把金 鑰產生金鑰流的缺點。 原本 WEP 中是利用固定的金鑰與初始向量結合,之後在輸入到RC4 演算 法中,得出用來加密的金鑰流,如圖 14。但是如前所述,WEP的缺點就是因 為重覆使用金鑰與初始向量,所以[20]利用虛擬亂數產生器(線性同餘)的輸出 與 RC4 演算法結合,以動態地產生金鑰流與資料加密。如此就可改善 WEP 中金 鑰與初始向量重複的缺點,如圖 15。 雖然有很多其它的機制[21][22][23]提出如何改善 WEP,但是因為無線工作 站的能力有限,所以必須要考量到硬體以及電力的問題。SPRiNG 因為簡單,所 以可以在任何的無線裝置上面有效地執行,而且提供比 WEP 強的安全度。 圖 14 仜色框框為 WEP 容易遭受破解主因(重複使用金鑰)圖 15 仜色框框為[20]所改善 WEP 缺點之處 SPRiNG 的安全性取決於虛擬亂數產生器與 RC4 演算法。我們假設虛擬亂 數產生器中的 a、b 與 m 是公開的,雖然只要其中一個 Rk洩漏出去,整個隨機 序列就會被攻擊者知道了,但是 Rk的資訊隱藏在 RC4 演算法後面,攻擊者很 難分析出來。如果要絕對地評估 SPRiNG 的安全性,唯一的方式就是證明 RC4 是難以逆推的函數[24],所以 SPRiNG 在不僅在安全性上比 WEP 要強的許多(因 為虛擬亂數產生器的輸出序列期間比初始向量長,所以可以動態地產生加密 流),也較有效率。 圖 16 SPRiNG 安全分析圖 在本研究中隨機位元串的產生就是透過 SPRiNG 的想法產生的,如圖 16 所 示,以便動態地產生我們需要的驗證隨機位元串。這樣的方式不僅安全,且效率 亦很理想。不過我們會在第四章做一些變更,讓隨機位元串的產生更安全更適我 們的系統(Lightweight),其餘細節部份我們留在第四章,4.2.3 節驗證隨機位元 串產生器中討論。
第四章 系統架構
本論文將以 3.2.2 節中的[1]為延伸,其為使用「SND 與隨機位元串」來防禦 阻絕服務攻擊的兩層過濾機制。本章節將繼續完成[1]作者研究中未說明分析或 有缺陷的部份,首先在 4.1 系統概觀,我們先介紹整個系統架構的流程,包括從 擷取點與無線工作站的金鑰交換,到互相驗證隨機位元串等等。接著 4.2 節介紹 系統設計,包含 4.2.1 訊框分析,分析 IEEE 802.11 訊框中哪些是可以使用的位 置(例如:保留或未使用欄位)。4.2.2 金鑰產生與交換,提出四種可行的金鑰交 換方式於本系統中。1.1.4.2.3 討論隨機位元串要如何產生,我們會設計一個 ARBG (Authentication Random Bitstream Generator)模組,以便讓無線工作站與擷取點 可以彼此互相驗證的隨機位元串。1.1.4.2.4 修改[1] 中第一層的 SND(Sequence Number Deviation)過濾機制為 DSN(Dynamic Sequence Number),以便增強系 統的防禦功能,之後結合「DSN 與隨機位元串」形成新的兩層過濾防禦機制。 4.2.5 隨機位元串同步演算法,討論驗證的隨機位元串不同步時,要如何有效率 地讓擷取點與無線工作站恢復同步,以便後續的驗證。4.1 系統概觀
首先,先介紹一般 IEEE 802.11 無線網路上網的程序,因為我們將在此程序 中的訊框加入一些額外資訊。如 17 圖,一開始無線工作站必須掃描(Scan)有 無擷取點的存在,可以分為被動或主動式掃描。被動式掃描無線工作站會依照頻 率順序,依序調整停留接收擷取點所週期發出的訊標(Beacon)訊框,裡面包含 了擷取點的資訊(例如:時間同步,群組的識別碼,支援的速率等等)。主動式 掃描是由無線工作站發出試探要求(Probe Request)訊框,來尋找週遭的擷取點,若有擷取點收到此訊框後,就會發送試探回應(Probe Response)給無線工作站, 而試探回應訊框裡面也包含了擷取點的相關資訊。 當無線工作站掃描完周遭的擷取點並且收集到相關資訊後,無線工作站會選 擇加入其中一個適合的擷取點。選定後,無線工作站會改變自己的狀態(例如: 速率、加密支援等等),然後向擷取點表明身份,也就是做身份認證 (Authentication)的工作,無線工作站會送出認證要求(Authentication Request) 訊框。擷取點收到認證要求後,會回傳認證回覆(Authentication Response)訊框, 裡面包含是否認證通過與否。完成身份認證後,無線工作站必須還要與擷取點做 連結的動作,才可以要求傳送資料服務。無線工作站會送連結要求(Association Request)訊框,擷取點收到後會送連結回覆(Association Response)訊框,如此 才算完成整個 IEEE 802.11 上網流程。 圖 17 一般 IEEE 802.11 無線區域網路上網流程 而在本研究所提出的架構中(如圖 18、19 所示),因為要讓無線工作站與擷 取點擁有相同的隨機位元串,所以雙方必須先擁有共同的金鑰(或稱種子),才 能帶入共通的 ARBG(Authentication Random Bitstream Generator)模組中產生相 同的驗證隨機位元串。但是無線工作站與擷取點一開始並不認識對方,既無法事 先分配金鑰,亦不知道互相的資訊,那麼要如何造出共同的金鑰呢?幸運地,我 們可以使用 1976 年由 Diffie 與 Hellman 所發明的金鑰交換演算法
金鑰的相關資訊,加入試探要求訊框與試探回覆訊框中保留或為用到的位置,如 此雙方就可以取得相同的金鑰,進而得出要驗證用的隨機位元串(圖 18)。 大致上,系統概觀就如上述。接下來我們在 4.2 節中對本研究的系統設計有 更深入的介紹,依序為分析隨機位元串與額外資訊要插入訊框中的位置、 Diffie-Hellman 金鑰演算法、認證隨機位元串產生器(ARBG)、修改 SND 為 DSN 過濾機制,與隨機位元串同步演算法。 圖 18 本研究提出的上網流程方法一 圖 19 本研究提出的上網流程方法二
4.2 系統設計
此小節將介紹將完成[1]作者研究中未說明部份,並修改有缺陷之處,底下 列出五個部份: (1)訊框分析不完整 (2)如何讓無線工作站與擷取點擁有共享金鑰 (3)相同隨機位元串要如何產生(4)SND(Sequence Number Deviation)防禦機制的修改 (5)隨機位元串同步演算法
4.2.1. 訊框分析
我們必須加入一些額外的資訊於IEEE 802.11訊框中,例如:金鑰的交換、 隨機位元串資訊等等,並且不能影響到原有的802.11協定運作,也就是設計的機 制必須與802.11向後相容(Backward Compatible)。所以本研究必須利用訊框中 沒有使用到或保留的位置,為其欄位定義出新的意義。 一般典型的802.11訊框格式如圖20所示,依據型態(Type)的不同可以分為 管理訊框(Management Frame)、控制訊框(Control Frame)以及資料訊框(Data Frame)三種,而每種型態以子型態來定義所需的功能,如表5列出的管理訊框型 態與子型態的對應功能表。不是每個訊框都包含圖20中的所有欄位,而是當有需 求時才會包含某一欄位,因此我們可以利用這種特性加入額外資訊,但是卻不會 影響系統運作。管理訊框(型態 = 00) 子型態 功能 0000 連結要求 0001 連結回覆 0010 重新連結要求 0011 重新連結回應 0100 試探要求 0101 試探回覆 1000 訊標 1001 ATM 1010 連結終止 1011 身份認證 1100 身份認證終止 表 5 管理訊框型態與子型態功能對照 接下來我們將分析管理訊框中訊框表頭(Mac Header)與訊框主體(Frame Body)中有哪些位置是可以被我們使用的。 訊框表頭分析: 在[1][7][8][9][10][1]中都是將額外資訊加在訊框表頭中,不過在此處所受的 限制很大,因為只有些許的位置是未使用到的。例如:如圖 21 所示,在[1]中將 額外資訊加入訊框控制(Frame Control)中,訊框控制在型態為管理訊框的情形 下,可能只有 B8、B9、B10、B12、B13、B15 這些位置是可以使用的。這些可 用的位置數目對本研究所提的架構是不夠的,所以把額外的資訊加在訊框表頭中 並不適用於我們的系統,底下列出加入額外資訊於此處的缺點: (1)位置不夠(除了隨機位元串至少要三個位置,還有金鑰交換資訊等等) (2)沒有使用相同格式管理,效率不好 (3)無彈性 所以本研究中的額外資訊都將加入訊框主體(Frame Body)中,如此則可以決上 述(1)(2)(3)中的缺點,下一段將為大家說明。
圖 21訊框控制中可以使用的位置分析[1] 訊框主體分析: 根據上述說明,我們知道把額外的資訊加在訊框表頭中並不恰當。所以接下 來會把本研究架構所需的額外資訊都加在訊框主體中的,如此不僅可以解決位置 不夠多的問題,亦因使用相同的格式來管理而使得效率提昇。管理訊框中的訊框 主體定義了許多用來提供資訊的欄位,以便告知對方(擷取點或無線工作站)本 身資訊的欄位。例如:訊標訊框中含有擷取點 SSID 的資訊項目等等。要告知對 方自己本身相關資訊的欄位可以分為兩種,一種是固定欄位,另一種「資訊項目」 欄位。固定欄位並不適合本研究(因為位置不夠),所以我們將使用「資訊項目」 欄位,加入本研究所需額外資訊。 資訊項目欄位如表 6 所示,可以看到編號 7~15 與 32~255 都是屬於保留區 段,所以我們可以使用這些保留的位置來定義出新的項目資訊。定義方式如圖 22 所示,管理訊框中所攜帶的資訊項目都使用相同的格式來表達,一個位元組 的「項目編號」欄位,一個位元組的「長度」欄位,以及不固定長度的「項目表 示內容」欄位。
項目編號 項目表示內容 0 服務組編號(SSID) 1 支援速率 2 FH 參數集 3 DS 參數集 4 CF 參數集 5 流量指示圖譜(TIM) 6 IBSS 參數集 7~15 保留未使用 16 挑戰字串 17~31 保留作為挑戰字串的延伸 32~255 保留未使用 表 6 管理訊框的項目內容 圖 22 項目資訊格式 至於要定義出哪些新的欄位呢?與我們需要在訊框中加入哪些額外資訊有 關。根據我們提出的機制,需要定義的資訊項目有 Diffie-Hellam 金鑰交換(大 質數 P、P 的原根 G、無線工作站產生的 Ks、擷取點產生的 Ka)、虛擬亂數產生 器(a、b、m)、隨機位元串、回覆成功/失敗、計數器。各個新定義資訊項目的 功能,會在本章各節中會有更進一步的介紹。 圖 23 無線工作站與擷取點為了利用 Diffie-Hellman 金鑰交換演算法得到共 同金鑰,所需的大質數 P 與 P 的原根 G。 圖 23 金鑰交換所需大質數 P 與原根 G 資訊項目 圖 24 為雙方知道公開的 P 與 G 後,各自產生的一半金鑰資訊(Ka/Ks),加 入試探要求與試探回覆(Probe Request/Response)中互相交換,即可算出同一把 金鑰,細節於 4.2.2 討論
圖 24 擷取點與無線工作站各自產生一半的金鑰交換資訊項目 圖 25 是利用線性同餘(Linear Congruential)方式當虛擬亂數產生器時,所 需的公開值,用於 4.2.3 中認證隨機位元串產生器中,細節將於 4.2.3 中討論。 圖 25 虛擬亂數產生器的資訊項目 圖 26 為擷取點或無線工作站插入驗證的隨機位元串欄位,擷取點或無線工 作站收到管理類型訊框後,會去檢驗這個欄位的值是否相符,之後才會有續動作。 圖 26 加入驗證的隨機位元串資訊項目 圖 27 中的回覆成功或失敗欄位,是接收端用來回覆傳送端驗證的隨機位元 串是否相符。若相符,則回覆成功;反之,則回覆失敗。 圖 27 同步演算法需要的回覆成功或失敗資訊項目 圖 28 的計數器欄位,是用調整擷取點與無線工作站的隨機位元串不同步的 問題,細節於 4.2.5 討論。 圖 28 同步演算法需要的計數器資訊項目 經過以上的分析之後,我們就可以利用新定義於訊框主體的新欄位加入我們 需要的額外資訊於管理訊框中,以下各小節會有更詳盡的介紹本研究的機制是如 何運作,包括金鑰交換、隨機位元串的產生、兩層過濾的機制、隨機位元串同步
4.2.2. 金鑰產生與交換
本研究中,因為擷取點與無線工作站需要擁有相同的隨機位元串,才能互相 驗證對方是否為合法使用者,進而達到防止服務阻絕攻擊的攻擊。因此擷取點與 無線工作站彼此會先透過某種機制而擁有相同的「金鑰」,之後再根據這把「金 鑰」造出隨機位元串以便互相驗證溝通。在本研究提出的系統架構中,有以下四 種可行的方式: (1) 預先分配金鑰(Pre-Shared Key, PSK): 「預先分配金鑰」是在要使用金鑰前就先分配好,通常使用在對稱式的加密 演算法。例如:在 WiFi(IEEE 802.11b)中的 WEP 或 WPA 加密方式,都是採 用事先分配金鑰的方式。不過,這種方式主要是應用在比較小型或是變化不大的 環境下。 若在本研究中採用「預先分配金鑰」方式,則不需要執行交換金鑰資訊的動 作,只要事先分配完金鑰後,擷取點與無線工作站就可以帶入 ARBG 中產生隨 機位元串,進行連結上網所需的互相驗證工作。此外金鑰的組成不管在長度與字 母的組合都必需要符合密碼學上安全(Cryptographically Secure)的金鑰,並且 必須定時更換金鑰,否則將造成金鑰資訊容易被分析出來。 (2) Diffie-Hellman 金鑰交換演算法: 上述預先分配金鑰的方式缺點就是需要管理者手動方式輸入密碼,但是我們 希望提出的系統架構能夠更有彈性。所以我們可以利用在第二章背景知識 2.4 節 所描述的 Diffie-Hellman 金鑰交換演算法,讓彼此互相不認識的擷取點與無線工 作站能夠擁有相同的金鑰。如圖 29,無線工作站與擷取點只要把所需的金鑰產生資訊,加入試探要求 與試探回應訊框的中保留位置(4.2.1 小節中新定義於訊框主體的欄位),彼此 收到利用資訊後,就可以利用 Diffie-Hellman 金鑰交換演算法取得共同金鑰 Kas 之後,帶入 ARBG 中產生隨機位元串,進行連結上網所需的互相驗證工作。 圖 29 本研究提出的主動金鑰交換流程 如圖 30,無線工作站把所需的金鑰產生資訊,加入訊標訊框的保留位置, 無線工作站收到訊標訊框加入的額外資訊後,就可以產生金鑰 Ks,之後再利用 Diffie-Hellman 金鑰交換演算法算出 Kas並代入 ARBG 中產生隨機位元串。接著 無線工作站準備連結上網時,會加入隨機位元串與 Ks於驗證訊框中(以便讓擷 取點可以產生相同的金鑰)。擷取點收到 Ks 後會先產生 Kas,接著代入 ARBG 中產生隨機位元串後,才會進行驗證的工作。
圖 30 本研究提出的被動金鑰交換流程
(3) IEEE 802.11i 交換金鑰:
802.11 TGi 為了改善 WEP 中使用同一把金鑰的問題,而提出了 TKIP 演算 法,讓傳收端與接收端可以交換而得到暫時的成對金鑰(PTK),以避免長時間 使用同一把金鑰的問題。金鑰產生與交換過程如圖 7 所示,當無線工作站與擷取 點取得相同的 PTK 或 GTK 之後,就可以在每次會期溝通時帶入 ARBG 產生驗 證的隨機位元串,彼此互相驗證。利用 802.11i 產生金鑰的方式,在安全的考量 上的確比較理想。但是有一點要注意的是,因為 802.1x 認證程序也有類似 802.11 容易遭受 DoS 攻擊問題(如:EAPOL-Failure),所以必須等到認證過後才能獲 取金鑰的話,中間可能會遭受攻擊者利用 EAPOL-Failure 攻擊,造成使用者不能 順利通過認證。 此外,現行的無線工作站計算能力還不足已達到 802.11i 金鑰交換程序,因 為其金鑰產生的函數過程太複雜,所以並不適用於無線裝置上。再者電力消耗也 是一大考量問題。所以本研究在現階段並不會採取 802.11i 交換金鑰的方式,不 過當軟體與硬體的升級支援之後,採取此方式是可行的。
(4) PKI(Public Key Infrastructure):
擷取點與無線工作站亦可在在 PKI 的架構下交換金鑰。擷取點可以先向 CA (Certification Authority)取得無線工作站的公開金鑰(Public Key),把雙方要 產生隨機位元串的金鑰利用無線工作站的公開金鑰加密後,送給無線工作站。無 線工作站收到後,就可以利用自己的私密金鑰(Private Key)解開,如此雙方就 擁有可以產生相同隨機位元串的共同金鑰。雖然 PKI 是可行的方式,不過建立 CA 的成本太高,再者無線工作站的運算能力與是否有憑證都是需要考量之處。 所以,本研究在現階段並不會採取 PKI 交換金鑰的方式,不過當建立 CA 的成本 降低,並且由可信任的第三者執行的話,則亦為可行的方式。 在上述四個所提的金鑰交換可行方式中,(3)與(4)的方式雖然可行,但 是需要軟體與硬體上的升級支援才可以。所以在現階段中,本研究將會以(1) 或(2)的方式來實作,以便讓無線工作站與擷取點可以擁有共同金鑰。在雙方 擁有了共同的金鑰之後,會基於這把金鑰下造出會期金鑰,加入我們下一節所提 的 ARBG 模組,以便讓無線工作站與擷取點產生相同的驗證隨機位元串。
4.2.3. 驗證隨機位元串產生器(ARBG, Authentication
Random Bitstream Generator)
無線工作站與擷取點利用上節 4.2.2 所討論的四種方式之一取得共同金鑰 後,會將金鑰帶入雙方共有的 ARBG 模組(Module)以便輸出驗證的隨機位元 串,如此擷取點與無線工作站才可以彼此互相驗證。那 ARBG 模組要如何實現 呢?實作的方式可以使用硬體或軟體兩種方式來實現。
硬體實現:
式,輸出隨機位元串。理論上長度為n的LFSR,最多可以產生2n-1個位元長度的 隨機位元串(最大週期,也就是需要2n-1 才會重複)。若想要增加安全強度,則 可以利用多個LFSRs一起帶入函式F(x)做運算,進而得到更大的週期長度(如圖 32)。LFSR的優點就是速度快,缺點就是硬體花費比較高且需廠商的支援。 在本研究因為受到裝置的限制,所以在實現ARBG模組時會以軟體方式為 主。未來若有無線網卡廠商支援本研究的協定,則可以把ARBG加入硬體中,效 能應會比軟體好,所以在此先提出硬體實作的概念。
圖 31 Feedback shift register
圖 32 多個 Feedback shift register 軟體實現: 用軟體來產生隨機位元串的方式很多,但是必須考量到安全與效能。因為在 無線網路的環境下,因為無線裝置的能力有限,所以不能花費太多時間在計算量 上,否則可能會造成另一種阻絕服務攻擊。所以在軟體實現上,一定要設計一個 在安全與效能兩個因素上,都能達到一定效果的隨機位元串生器。 在此我們應用第三章 3.4 節中[11]所提出的概念(圖 16)來實作 ARBG 模組。
本研究一開始的想法如圖 33 所示,利用會期金鑰帶入 RC4 演算法來造出驗證的 隨機位元串,但是會期金鑰要如何產生?本研究利用[11],David L. Pepyne 所 提出的 SPRiNG 協定中的 PRNG(Pseudo Random Number Generator)概念,來當 作我們會期金鑰產生的方式。[11]中的 PRNG 是為了改善 WEP 中重複使用相同金 鑰與 IV(初始向量)的問題(見第三章 3.4.2 與圖 15)。而在本研究中亦是為了 避免每次產生相同的隨機位元串問題(因為金鑰會重複使用,如 PSK 架構),所 以加入 PRNG 的概念讓 ARBG 可以動地產生每個會期時所需的隨機位元串,如此不 僅會期金鑰產生速度快,也可以動態地改變金鑰值。 圖 33 ARBG 原始想法 本系統的 ARBG 模組如圖 34,欲驗證的雙方都擁有相同的這個 ARBG 模組, 運作方式可以分為三個階段: (1)一開始時將雙方共同金鑰帶入 PRNG (2)PRNG 的輸出當作演算法(Algorithm)的輸入,以輸出隨機位元串 (3)將認證的隨機位元串分成數個區段,擷取區段後才當成驗證的隨機位元串 圖 34 ARBG 模組架構 底下分別說明圖 34 中,PRNG、ALGO 與 Truncate 的用途: ⎥⎦ ⎥ ⎢⎣ ⎢ − 2 1 2 N