第九章 無線網路安全管控
第九章 無線網路安全管控 前言 9-1 無線網路之現況及弱點 9.1.1 無線網路現況 9.1.2 無線網路弱點 9-2 無線網路安全標準的發展沿革 9.2.1 WEP 9.2.2 802.1X+WEP 9.2.3 WPA 9.2.4 WPA2 9-3 802.1X (Port-based 網路存取控制) 9.3.1 驗證與結合 9.3.2 IEEE 802.1x 9.3.3 Extensible Authentication Protocol (EAP) 無線區域網路(WLAN)的機動性和便利性是有線網路所不能及的,而WLAN的建置也不同於傳統有線網路需要大量的佈線,只需要分散地擺放少數的存取點(Access Point)在使用者的活動範圍內即可。 無線網路技術大部份是以電磁波做為傳輸媒體,因此在通訊範圍內的所有可接收裝置都能收到訊號,若這些訊號沒有保密措施,並經由有心人士的竊聽,往往造成意想不到的損害。 在眾多身份認證協定之中,無線網路管理員該如何選擇才能讓使用者便利地踏進無線網路的入口,並兼具高度的安全等級呢? 本章首先簡述無線網路之現況及弱點,接著介紹無線網路安全標準的發展沿革,最後說明Port-based網路存取控制的通訊標準 - 802.1X 協定。
第九章 無線網路安全管控 9.1.1 無線網路現況 無線網路可由傳輸距離分為三大類: 無線廣域網路(WWAN): WWAN (Wireless Wide Area Network)是指傳輸範圍可跨國或是不同城市之間的無線網路,由於其通訊範圍過大,通常是由服務提供者來架設及維護基地台,使用者可藉由行動電話無線上網。 無線區域網路(WLAN): WLAN (Wireless Local Area Network)是指傳輸範圍在一百公尺左右的無線網路,像是單一建築物或是辦公室之內。通常會將WLAN和LAN整合,不但增加原本有線網路的使用彈性,也可擴大網路的使用範圍。本章的無線網路安全管控將針對802.11無線網路作介紹。 無線個人網路(WPAN): WPAN (Wireless Personal Area Network)是指在個人活動範圍內所使用的無線網路,主要的用途是讓各項資訊設備(PDA、手機、筆記型電腦、印表機…等等)能交換資料。例如:藍芽(Bluetooth)技術就是用於WPAN其中之一的代表作。 無線上網示意圖
第九章 無線網路安全管控 9.1.1 無線網路現況 802.11a 802.11b 802.11g IEEE 802.11是現今無線區域網路通用的標準,它是由IEEE所制定的通信工業標準,其中包含IEEE 802.11a、802.11b、802.11g,以下將介紹各個標準的特性與使用規範。 802.11a 於1999年,IEEE定義了一個在5GHz ISM頻段上的數據傳輸速率可達54Mbit/s的實體層,稱為「802.11a」,由於這個頻段較少被使用,因此比較不會受到干擾或是遭到其它設備搶奪頻道的問題。它擁有12條不相互重疊的傳輸頻道,8條用於室內,總頻寬可達432Mbps,而其餘4條用於點對點傳輸。 802.11b 於1999年,IEEE定義了一個在2.4GHz ISM頻段上的數據傳輸速率可達11Mbit/s的實體層,稱為「802.11b」,並提供了1、2、5.5、11Mbps的多重傳輸速率。 802.11g 於2003年,IEEE定義了一個在2.4GHz ISM頻段上的數據傳輸速率可達54Mbit/s的實體層,稱為「802.11g」。 傳輸標準 802.11a 802.11b 802.11g 最大傳輸速率 54Mbps 11Mbps 平均傳輸速率 27M 4~5Mbps 20~25Mbps 使用頻帶 5GHz 2.4GHz 實體層技術 DSSS/CCK OFDM
第九章 無線網路安全管控 9.1.1 無線網路現況 身份認證 (Authentication) 802.11 無線網路安全機制 根據IEEE所制定的標準,一個安全的無線網路至少必須提供三項服務:身份認證、資料保密、資料完整性確認。 身份認證 (Authentication) 在無線網路環境中必須針對使用者進行身份的識別。在無線網路的認證方式最主要有三種: (1) 開放系統認證(Open System Authentication) 各存取點會廣播自身的SSID (Service Set ID)讓通訊範圍內的裝置連入。例如,在Windows XP下,啟動無線網路後,會出現可使用無線網路存取點 (Access Point)的SSID列表。 (2) 封閉系統認證(Closed System Authentication) 各存取點不會廣播自身的SSID,使用者必須在其系統內設定欲連入存取點的SSID,方可進行連線。簡單來說,以SSID當成存取無線網路的密碼。 (3) 分享密鑰認證(Shared-Key Authentication) Shared Key驗證方式需要使用到WEP (Wired Equivalent Privacy)或其它安全標準,WEP加密用的Key在AP與Client端必須相同。其驗證流程如左圖所示。 分享密鑰認證流程
RF in the AIR is uncontrolled… 第九章 無線網路安全管控 9.1.1 無線網路現況 資料保密 (Confidentiality) 由於無線網路是靠廣播的方式進行訊號的傳遞,較一般有線網路更容易遭受到竊聽,因此IEEE設計了一個加解密的機制,稱為Wired Equivalent Privacy (WEP),讓無線網路使用者在傳遞資料時能保有私密性,以防止第三者竊取通訊內容,提供無線上網基本的安全防護。但WEP存在諸多瑕玼,使得許多改善WEP缺失的標準也因應而生,如WPA、WPA2。 資料完整性確認 (Integrity) 在傳送過程中用來保護資料的完整性,讓接收者得以驗證所收到的資料在傳送過程中未被更改。802.11無線網路使用的完整性確認演算法與其它802家族相同,可使用CRC Checksum進行封包內容完整性的確認。 e a k t r 2 RF in the AIR is uncontrolled… AIR Vs. Intruder Server Computer
第九章 無線網路安全管控 9.1.2 無線網路弱點 802.11無線網路安全問題大致可分為三大類: 無線通訊的特性 由於無線網路的訊號於空氣中傳播,使得網路上的監聽問題特別嚴重。如果使用者傳遞資料未進行加密,很容易讓攻擊者竊取所有的通訊內容。 WEP設計的錯誤 IEEE制訂了WEP的安全標準,但因它設計與實作上的缺陷,導致WEP無法有效保護資料內容的私密性。例如,WEP的金鑰管理問題讓系統管理員付出極高的管理成本,在本章9.2節將仔細介紹WEP的金鑰管理問題。 設備安全管理措施不當 大部份的網路設備出廠時都有一些預設的設定值,但許多的管理員並未修改任何的安全設定,這讓攻擊者很容易地取得管理員權限。 左圖為常見的網路攻擊類型,下一頁將進一步介紹相關的無線網路弱點。 常見網路攻擊的類型
第九章 無線網路安全管控 9.1.2 無線網路弱點 Telnet管理介面 TFTP管理介面 WWW管理介面 許多無線網路存取點都有提供Telnet管理介面,它的優點是方便管理者利用網路進入存取點(Access Point),但Telnet通訊協定在資料傳輸的過程中並未執行加密,因此攻擊者可以經由網路竊聽,輕易取得管理者密碼。 TFTP管理介面 Trivial File Transfer Protocol (TFTP)是一個簡易的檔案傳輸協定,它的優點是快速的傳輸檔案,但它存在一嚴重缺點:只要知道檔案的路徑就可以直接下載該檔案,不需經過任何的身份認證。攻擊者可藉此弱點,利用TFTP下載儲存在Access Point上的實體位址過濾列表、管理者密碼或是WEP密鑰…等等。 WWW管理介面 WWW管理介面允許管理員透過瀏覽器管理網路設備,由於圖文並茂的WWW介面,讓它成為許多廠商的首選,但可能存在網路設備出廠時預設密碼未被管理員更動,而輕易地遭到攻擊者的入侵。
第九章 無線網路安全管控 9.1.2 無線網路弱點 SNMP管理介面 沒有健全的使用者身份認證機制 網路設備的預設管理密碼 Simple Network Management Protocol (SNMP) 也是方便網路管理者進行設備管理的通訊協定,若要使用該協定,則需配合SNMP瀏覽管理軟體。SNMP的認證方式是使用SNMP社群字串(SNMP Community String),這個字串相當於使用者輸入密碼一樣。通常網路設備有兩個預設的字串(Public、Private),一個供讀取網路設備資料使用,一個則是具備寫入資料的權限。若設備所用的密碼是出廠值(Public、Private),攻擊者可以藉此進行設備組態的變更與設定。 沒有健全的使用者身份認證機制 在開放式與封閉式認證系統中存取點(Access Point)僅靠簡易的SSID辨識使用者是否有網路使用權,這樣的認證方式過於簡易且不安全;實際的做法,應建立完整使用者身份認證機制來確保無線網路的安全。 網路設備的預設管理密碼 存於網路設備的預設值,若有心人士得知該網路設備的型號,藉由設備手冊上記載的管理密碼,很容易入侵,並取得管理權。
第九章 無線網路安全管控 9.1.2 無線網路弱點 以偽造存取點攻擊用戶端 用戶端密鑰儲存問題 以偽造存取點攻擊用戶端 緩衝區溢位攻擊 WEP是一對稱式加密系統,通常用戶端的系統會將WEP密鑰寫入韌體內或是作業系統專用的註冊表內,一般系統對WEP密鑰只做簡單的加密保護,目前已有工具可以讓人輕鬆破解存於系統註冊表中的WEP密鑰。 以偽造存取點攻擊用戶端 當空氣中散播著兩個相同SSID的訊息,用戶端的系統會選擇訊號較強的存取點建立連結。如左圖所示,攻擊者若偽裝成合法的存取點(即設定相同的SSID)欺瞞用戶,用戶端的系統無法辨識,與非法的存取點建立連結之後,可能被有心人士惡意地植入木馬程式,日後伺機進行破壞行為。 緩衝區溢位攻擊 緩衝區溢位(Buffer overflow)是利用程式設計的不當,造成攻擊者可達成遠端控制存取點(Access Point)或是執行阻斷服務的攻擊。 Client With WEP Disabled Rogue AP APs With Interference 以偽造存取點攻擊用戶端
第九章 無線網路安全管控 9.1.2 無線網路弱點 阻斷服務攻擊 中間人(MITM)攻擊 Man-In-The-Middle攻擊示意圖 Denial of Service (DoS)可以用很多方式來達成,例如:用實際的無線電訊號干擾、偽造斷線的封包,如送出Deauthentication、Disassociation、TCP RST之類的封包,切斷無線區網用戶端的連線,或者是破壞無線網路存取點的天線等。 中間人(MITM)攻擊 Man-In-The-Middle (中間人)攻擊方式是攻擊者位於用戶端與存取點之間,攔截雙方的通訊,同時扮演用戶端和存取點的角色,讓受到攻擊的用戶和存取點在不知情的情況下,把秘密資訊洩露了。 Man-In-The-Middle攻擊示意圖
WEP (Wired Equivalent Privacy)。 802.1x EAP。 第九章 無線網路安全管控 9.2 無線網路安全標準的發展沿革 由於無線網路快速發展,至今已建立許多標準: WEP (Wired Equivalent Privacy)。 802.1x EAP。 WPA (Wi-Fi Protected Access)。 WPA2。 在本節,我們將探討這些標準的優缺點。 WEP (1997) 802.1x EAP (2001) WPA (2003) 802.11i/WPA2 (2004 to present) 加密簡單。 認證缺乏健全。 使用靜態方式設定金鑰,容易被破解。 擴充不易。 動態金鑰管理。 加強加密演算法的安全性。 提供簡易的使用者認證機制。 多種認證協定可供選擇。 需要安裝AAA伺服器。 提供健全的認證機制。 不需強迫安裝AAA伺服器。 使用AES做為加密核心。
第九章 無線網路安全管控 9.2.1 WEP加解密流程 WEP是一個對稱式加解密系統(Symmetric Cryptography System),亦即加密與解密是使用同樣一把密鑰,密鑰長度為40-bits或是104-bits。WEP使用RC4 PRNG(虛擬亂數產生器)的演算法來產生加解密的串流金鑰(Key Stream),並使用XOR進行加解密運算。 WEP加密流程 傳送端將封包的內容進行CRC-32演算法產生資料完整性檢查碼,並附於該封包中。 傳送端使用IV Generator產生一組24-bits IV (Initialization vector)。 傳送端將IV以及密鑰進行RC4演算法運算取得跟封包同樣長度的串流金鑰。 將步驟1的封包與步驟3的串流金鑰進行XOR運算(即加密)得到密文資料,將密文及24-bits長度的IV附於封包中。 傳送端將封包透過空氣傳播給接收端。 WEP解密流程 接收端取得封包中的IV值。 接收端將取得的IV與密鑰進行RC4演算法的運算以取得對該封包內的密文進行解密所需的串流金鑰。 接收端將該封包內的密文與步驟2獲得的串流金鑰進行XOR運算(即解密),便可得原始的明文資料。 接收端利用CRC-32演算法進行資料完整性的確認。
第九章 無線網路安全管控 9.2.1.1 RC4 Algorithm 在1987年,RSA Security的Ron Rivest設計了RC4 ,為一串流加密(Stream Cipher)演算法,常常在一些網路安全通訊(如Secure Socket Layer),見到它的踨影,WEP也將RC4納入作為加解密的核心。 RC4結合了一虛擬亂數產生器(Pseudo random number generator)與一XOR運算。其結構如左圖所示。主金鑰(K)可以是0至255bytes的任意長度,經由虛擬亂數產生器輸出的串流資料,在此被稱為加解密所需要的次金鑰(key),即上頁的串流金鑰(Key Stream)。次金鑰與明文(Plaintext)執行XOR運算可得密文;反之亦然。 下頁將說明RC4演算法如何產生串流金鑰(Key Stream)的執行過程。 串流加密(Stream Cipher)示意圖
第九章 無線網路安全管控 9.2.1.1 RC4 Algorithm Vector S[256]: 0~255的純量陣列 Variable keylen: 輸入金鑰長度(0<=keylen<=255) Vector K[keylen]: 金鑰陣列 Variable key: 串流輸出金鑰(byte) Variable i, j: 索引指標 /* 金鑰排程(右邊的Initialization & Permutation of S)*/ /* Initialization */ 1. for i=0 to 255 do 2. S[i] = i /* Permutation of S */ 1. j=0; 2. for i=0 to 255 do 3. j= (j + S[i] + K[ i mod keylen]) mod 256; 4. swap(S[i], S[j]); /* 虛擬亂數產生(Stream generation) */ /* Stream generation */ 1. i, j=0; 2. while (true) 3. i= ( i + 1) mod 256; 4. j= ( j + S[i] ) mod 256; 5. swap( S[i], S[j] ); 6. key= S[ S[i] + S[j] mod 256];
第九章 無線網路安全管控 9.2.1.2 WEP的缺點 初始向量(IV)太小: IV在WEP整個加解密運作中,使用24bits的長度,IV值總數量共有2的24次方。若IV值重覆使用,攻擊者很容易從收蒐的封包集(<1500bytes*2^24)破解使用者的金鑰。而在一些廠商的實作,IV值的產生採用計數累計的方式,而不是標準制定的隨機方式產生IV值,若硬體重置後,攻擊者就很容易因IV值相同而破解金鑰了。 金鑰長度:若WEP可採用長度為40bits的金鑰,這在安全專家的眼裡是極度不安全的,甚至使用另一種104bits的金鑰,也不足以保護無線網路安全。 金鑰管理:任何用WEP的成員離開公司,基於安全上的考量,需重新發送金鑰至各個成員。這樣一來,管理成本就增加了。 資料完整性脆弱:WEP資料完整性執行CRC-32 計算檢查碼,然後再以 WEP 加密其值。由於CRC-32是線性函數,不像MD5、SHA1等單向函數。即使經過加密,依然相當容易變更加密裝載中的位元,然後適當地竄改加密的CRC-32 結果,以防止接收端偵測到封包內容已經變更。 無法抵制重送攻擊:攻擊者傳送先前擷取的一系列封包,試圖存取或修改資料。 以Airsnort破解WEP Key的範例,其存取點CNL_AP的WEP key為12345。
第九章 無線網路安全管控 9.2.2 WEP+802.1X 當企業採用WEP做為無線網路加密時,由於相同的WEP Key所產生的密文都是不變的,日子一久,遭到破解金鑰的機率就變大。就因為如此,無線網路管理者需要每隔一段時間就通知使用者的更改WEP Key,以降低風險。 為考量無線網路管理者的管理成本,因此IETF制訂了802.1X與RADIUS Server之間的認證標準,也進一步的提供無線網路使用者動態更換WEP Key的能力,可以讓無線網路存取點可為每個使用者設定不同的WEP Key。雖說這樣動態更改WEP Key的機制,改善了以往需要手動設定的麻煩,並且在短時間內動態更改多組WEP Key的方式,來增加破解WEP Key困難度。但如果設定動態更新WEP Key的時間週期過長,也不足以確保無線網路的安全性。 由於WEP與802.1X的組合可讓無線網路存取點與無線網路使用者之間的WEP key動態地更換,但更換的過程中缺乏交握協議,所有更換WEP Key的動作都是由無線網路存取點單方面的通知無線網路使用者,因此如果設定更新WEP Key的週期很短,在很多使用者加入使用無線網路並且頻繁更新WEP Key的情形下,也很容易發生使用者端無法正確接收金鑰更新訊息導致WEP Key更新錯誤因而連線中斷的問題。
第九章 無線網路安全管控 9.2.3 WPA安全特性之介紹 IEEE 802.11i(WPA2)針對無線網路原本WEP的弱點加以補強,但由於IEEE 802.11i的標準尚未制訂完成之前,在WIFI的推動下,定訂了WIFI Protected Access (WPA)標準,以IEEE 802.11i Draft為藍圖,是在IEEE 802.11i完備之前替代WEP的過渡方案。 WPA與WPA2的特色與差異,以下就安全性的三大要素加以分析說明: 認證 提供企業模式,在這個模式下,需架設一認證伺服器(RADIUS),以對企業內容多個使用者進行身份驗證。 提供個人模式,因使用無線網路的人數不多,所以不需要架設昂貴的認證伺服器,只需要在使用者端與Access Point雙方設定一組預先金鑰(Presharekey)即可。 資料私密性 WPA採用TKIP (Temporal Key Integrity Protocol)相較於原本的WEP加密使用24-bit的IV值,多了24bits,共使用48-bit IV值。如此大幅減低IV值重複的問題。 WPA2採用AES為加密核心。而AES的實作需硬體化,加解密效能才能提升,故一些老舊的無線網路卡因無內建AES,所以無法執行WPA2。 訊息完整性保護 WPA採用MIC (Message Integrity Code/Michael)讓加密封包內容相同,也會產生不同的訊息摘要。 WPA2採用CCM (Counter with CBC-MAC, IETF RFC 3610)。 圖片來源:WikiPedia WPA WPA2 Enterprise mode (need AAA) 802.1X/EAP TKIP MIC AES CCM Personal mode Presharekey PreshareKey
第九章 無線網路安全管控 9.2.3.1 TKIP 加解密流程 WPA相較於原本WEP加密機制,多了以下的能力: 採用長度48bits為IV值。 在TKIP的加密機制下,會透過兩個階段產生與WEP相同長度的128bits加密金鑰串流,不同的是WEP是直接將WEP Key與IV值輸入至RC4內。 對於每個封包採用不同的加密金鑰。 使用TKIP Sequence Counter、Transmitter Address與Temporal透過Phase1、Phase2的金鑰混亂器可產生對每個封包採用不同的加密金鑰。 加入Michael,使用訊息完整性機制更為強大。 將封包中的資訊輸入至Michael演算生產生一MIC,把這個MIC值加到封包的後面,來確認彼此封包的訊息完整性。其加入MIC值的目的,主要是讓CRC-32產生的ICV不容易被破解。 TTAK := Phase1(TSC, TA, TK) WEP Seed := Phase2(TTAK, TSC, TK) TTAK := Phase1(TSC, TA, TK) WEP Seed := Phase2(TTAK, TSC, TK)
第九章 無線網路安全管控 9.2.4 WPA2: CCMP安全特性之介紹 Counter Mode with Cipher Block Chaining MAC Protocol (CCMP)是802.1i中的加密協定。它採用採用128位元長度的CCM加密模式,核心採用AES。 RFC 3610 單一加密金鑰讓架構最小化、效能最大化。 封包標頭與封包內容的完整性保護。 Computation of some cryptographic parameters prior to the receipt of packets to enable fast comparisons when they arrive, which reduces latency 可硬體化或是軟體實現簡單。 Small security-related packet overhead 沒有專利(美國加密出口)的問題。 Counter Mode 接收端需要知道Counter值。 解密為MX=(CX) ⊕DK(Counter+X)。 可以平行的運算。 不能提供訊息認證的機制。 CBC Mode BlockX=DK(CX) ⊕CX-1, C0=IV 不可以平行的運算。 只要改變密文其中的1位元將可影響接來的密文。(可提供訊息認證的機制)
第九章 無線網路安全管控 9.2.4.1 CCMP加解密流程 加密流程 解密流程 遞增封包數量(PN, Packet Number)。 將PN和其它位址欄的部份製造一nonce值。 將Temporal Key(TK)的識別值或是KeyID,與PN結合形成CCM標頭。 利用訊框建構出Additional Authentication Data(AAD),長度是22bytes或是28bytes的參數,包含幾個位址、QoS控制欄位。 將AAD、nonce、明文資料輸入至CCM,並利用Temporal Key(TK)執行加密。 連結訊框標頭、CCM標頭、密文傳遞給解密端。 解密流程 剖析加密的訊框,重建AAD與nonce。 將PN加上A2(Transmit address)和Priority欄做出nonce。 CCM利用Temporal Key(TK)、AAD、nonce、MIC與密文,還原出明文並驗證MIC是否正確無被竄改。 將明文與訊框標頭結合成原來的明文訊框。 解密端自身維護一PN值。若收的PN值沒超過自身維護的PN值時,將把該訊框丟棄,以避免重送攻擊。
第九章 無線網路安全管控 9.2.4.2 金鑰管理階層 WPA在金鑰管理方面做了很大的改進。包含 Pairwise Keys 階層 9.2.4.2 金鑰管理階層 WPA在金鑰管理方面做了很大的改進。包含 Pairwise Keys 階層 Group Keys 階層
第九章 無線網路安全管控 9.2.4.2.1 Pairwise Key 階層 Policy Decision Point 決定安全存取策略的角色。 Supplicant與Authentication Server (AS)彼此認證成功後,將「同意存取無線網路資源的策略」給Policy Enforcement Point執行。 「同意存取無線網路資源的策略」只限一次使用。 Policy Enforcement Point 執行安全存取策略的角色。 Access Point (AP)得到Policy Decision Point給予的「同意存取無線網路資源的策略」後,就與Supplicant開始展開保護無線網路的安全。 MK (Master Key) 它是Supplicant與AS的藉由認證成功後,共推得的一把對稱式會議金鑰(Session key)。 PMK (Pairwise Master Key) 它是Supplicant與AS雙方利用MK,推得的一把新的對稱式會議金鑰,並將它從AS分配給AP。 它並不同於MK,否則AP可以取代AS授權Supplicant無線網路存取控制;但若選擇個人模式時,則PMK=PreShareKey。 它代表著授權Supplicant與AP之間的802.11通道存取,但只可用於這次Session。 PTK ( Pairwise Transient Key) 它是Supplicant與AP利用PMK推導出的一把祕密通訊金鑰,其中包括KCK、KEK、TK。
第九章 無線網路安全管控 9.2.4.2.1 PTK的4-Way協議 當Supplicant與AS認證成功後,共推得到一把PMK,並將它導遞給Authenticator。而Pairwise Transient Key的推導需要經過4-Way交握協議,以確保更新暫時性的加密金鑰(TK)。以下解釋這4-Way交握協議的過程: Authenticator選擇一隨機值Anonce,並將它傳遞給Supplicant。 Supplicant檢查訊息的Replay Counter(類似Sequence number)欄位判別該EAPoL-Key訊框是否重覆傳送,並選擇一隨機值Snonce和PMK、Anonce、AP與自身的MAC位址推導 PTK 。 Supplicant傳遞Snonce、MIC(步驟2的訊息驗證碼)、RSN IE( Robust Security Network Information Element)給Authenticator。 Authenticator檢查步驟3訊息的Replay Counter欄位判別該EAPoL-Key訊框是否重覆傳送。若否,則利用這些資訊推導PTK。 Authenticator: 推導出PTK後,利用PTK中的KCK(下節說明)完整性金鑰驗證MIC,若訊息正確無誤,則傳遞Replay Required、MIC、RSN IE( Robust Security Network Information Element)給Supplicant 。 Supplicant檢查步驟5訊息的Replay Counter欄位判別該EAPoL-Key訊框是否重覆傳送。比較自身與Authenticator的RSN IE是否相同並驗證MIC。 Supplicant檢查步驟6全都正確,並通知Authenticator TK( Temporal Key)已經更新。
第九章 無線網路安全管控 9.2.4.2.1 分析PTK的4-Way協議 完成這個4-Way交握協議需有一點假設: PMK只能讓Supplicant與Authenticator知道。但在802.1X的架構下,使得AS將會得知PMK,所以只能假設Authentication Server是信任的。 4-Way協議中的第二個訊息主要目的是Supplicant告訴Authenticator: 沒有中間人攻擊。 Supplicant以推導PTK完成。 4-Way協議中的第三個訊息主要目的是Authenticator告訴Supplicant: Authenticator以推導PTK完成。
9.2.4.2.1 PTK ( Pairwise Transient Key)結構 第九章 無線網路安全管控 9.2.4.2.1 PTK ( Pairwise Transient Key)結構 KCK (Key Confirmation Key) – 128Bits 它使用於IEEE 802.1X的4-Way交握與群組金鑰交握中,目的為保護資料的完整性。 KEK (Key Encryption Key) – 128Bits 它使用於EAPOL-Key(用於動態更新金鑰)封包中 ,提供4-Way交握與群組金鑰交握的私密性。 TK (Temporal Key) – 128Bits or 256Bits 它主要保護Supplicant與AP之間的資料流。它共有兩種長度可選擇: 256Bits for TKIP (PTK bits 256~511) 128 bits的TKIP TK用於Phase1與Phase2的金鑰混合。 128 bits的TKIP MIC Key用於Michael演算法的金鑰。 Supplicant與Authenticator各半(64 bits)使用。 128Bits for CCMP (PTK bits 256~383) 128 bits用於CCM。 在802.11i,PTK可以在兩種加密系統使用。
第九章 無線網路安全管控 9.2.4.2.2 Group-Key協議 當Supplicant與AS完成4-Way交握協議後,共推得到一把PTK,而Group Key的推導只需要經過2-Way交握協議。Group Key包含Multicast與Broadcast通訊時需使用的金鑰。以下解釋這2-Way交握協議的過程: Authenticator選擇隨機值Gnonce、GTK,並將GTK使用PTK中的KEK加密後,傳遞{MIC、Gnonce、Key RSC(最後訊框的Sequence Number)、被加密(GTK、Key ID)}給Supplicant。 Supplicant檢查訊息的Key RSC判別該EAPoL-Key訊框是否重覆傳送,並驗證MIC是否合法,接著,將GTK解開。 Supplicant傳遞MIC給Authenticator。 Authenticator檢查Key Replay Counter與驗證MIC。
第九章 無線網路安全管控 9.2.4.2.2 GTK Key 結構 GTK (Group Transient Key) – 128Bits or 256Bits 它主要保護Supplicant與AP之間Multicast與Broadcast的資料流。它共有兩種長度可選擇: 256Bits for TKIP 128 bits的TKIP TK用於Phase1與Phase2的金鑰混合。 128 bits的TKIP MIC Key用於Michael演算法的金鑰。 Supplicant與Authentication各半(64 bits)使用。 128Bits for CCMP 128 bits用於CCM。
第九章 無線網路安全管控 9.3 802.1x Port-based網路存取控制 802.1x認證交換程序定義了三個元件。(1)申請者(Supplicant)是尋求存取網路資源的使用者機器。(2)認證者(Authenticator)掌控網路資源的存取,它就像傳統的撥接網路中存取伺服器一樣的角色。申請者與認證者被稱為連接埠認證實體(Port Authentication Entities, PAE)。(3)認證伺服器進行實際的認證處理。 若支援802.1x的網路設備上,各個實體連接埠若處於未授權的狀態下,所有的資料將不會被傳至目的端;直到申請者認證成功後,被授權的連接埠將傳送資料到目的端。 本節將介紹: 無線網路的驗證與結合 IEEE 802.1x Extensible Authentication Protocol (EAP) EAP-MD5 EAP-TLS EAP-TTLS PEAP LEAP
第九章 無線網路安全管控 9.3.1 無線網路的驗證與結合 無線區域網路的連接可分為兩個步驟,一是「驗證」,二是「結合」。若Supplicant與AP完成了連線,也代表著它們完成了驗證與結合的二階段程序。 什麼是驗證? 驗證是與無線區域無線連接的第一個動作。其流程為Supplicant送出一個驗證請求給AP,回覆驗證請求的主角可以是AP或是AP將驗證請求傳送到上游的驗證主機(RADIUS)。 什麼是結合? 當Supplicant驗證成功後, Supplicant則開始與AP做結合。若結合成功,則Supplicant可以與AP進行傳送及接收資料。 當Supplicant與AP結合成功後,若採取802.1x存取控制的策略時,則開始進行與Authentication Server的認證。 左圖可以說明以上的狀態。 資料來源:IEEE 802.11i
第九章 無線網路安全管控 9.3.2 IEEE 802.1x 為什麼無線網路使用到802.1X呢? 其主要有四個優點: 成熟性與互通性 802.1X與RADIUS均屬業界公開的標準,發展自然成熟,故互通性很高。 以使用者為基礎的身份認證 802.1X/EAP是針對使用者作認證,甚至可以驗證其它的網路設備及其它的RADIUS伺服器,只要透過RADIUS集中式的管理 。 動態金鑰管理 802.1X/EAP支援Per-User(每個使用者連線時使用不同的金鑰)、 Per-Session(每隔一段時間需更新金鑰)的功能。 彈性的驗證方法 802.1X/EAP支援許多的認證方式,若更換這些認證方式是不需要更換網路卡或存取點的設備。 圖片來源: Wikipedia
9.3.3 Extensible Authentication Protocol (EAP) 第九章 無線網路安全管控 9.3.3 Extensible Authentication Protocol (EAP) 約於1998年,802.1X的觀念起因於大學與政府機構表達想要控制網路的存取,因此,802.1X的研究就此展開。IEEE於1999年1月通過成立802.1x工作小組,並於2001年6月成為標準。 EAP(Extended Authentication Protocol)起源於PPP(Point-to-Point Protocol),PPP在早期時代是使用於電話上網的使用者認證,搭配著後方的RADIIUS,儲存Username與Password以供認證。在RFC2284中有定義EAP,其中並定義了認證方式須具備的特性。 若一網路設備有支援802.1x,即代表它需支援兩種的網路協定:一是EAP、二是RADIUS。 EAP支援的認證協定眾多,無法在本節一一介紹,我們只提到幾個常用的認證協定,並討論它們的優缺點: EAP-MD5 EAP-TLS EAP-TTLS EAP-PEAP EAP-LEAP
第九章 無線網路安全管控 9.3.3.1 EAP-MD5 MD5(RFC-2284)為第一種的驗證法,也是最簡單的驗證法。 首先,認證伺服端傳送一隨機的挑戰字串給使用者。 接著,使用者將自身的保管的密碼使用MD5演算法對該挑戰字串執行雜湊運算,並回應運算結果至認證伺服端。 最後,伺服端收到使用者的運算結果與ID之後,使用MD5運算,用以判斷使用者是否合法。 缺點 只提供單向驗證,即Authenticator可驗證Supplicant,但Supplicant並無法驗證Authenticator。 若有一攻擊者在認證雙方之間,看到了所有挑戰與回應挑戰認息,攻擊者可使用字典攻擊法破解使用者密碼。 此認證協定不適用於無線區域網路環境,因為它無法推導出動態金鑰。 資料來源:RFC 1994、RFC 2284
第九章 無線網路安全管控 9.3.3.2 EAP-TLS EAP-TLS(傳輸層安全性)擁有EAP眾多認證協定中,提供很好安全保證,但佈署也卻因難。它使用了TLS協定來提供客戶端與認證伺服端的相互認證。認證伺服端與客戶端皆擁有一張屬於自己的數位憑證,用此憑證來証明自己的身份,並以憑證上的公開金鑰對所有的認證訊息進行加密。 EAP-TLS最後可推導出資料加密(AES、TKIP、WEP)時所需要的金鑰。 EAP-TLS已在MAC OS 10.3(包括10.3以上), Windows 2000 SP4, Windows XP, Windows Mobile 2003(包括2003以上), 和Windows CE 4.2中被支援。 EAP-TLS雖然安全,但卻需要在無線工作站上安裝用戶端憑證。PKI基礎架構的維護,除了維護無線區域網路以外,還必需付出額外的管理成本。
第九章 無線網路安全管控 9.3.3.3 EAP-TTLS EAP-TTLS(隧道式傳輸層安全性)是由Funk Software與Certicom開發的類型,作為EAP-TLS的一項延伸,它改善了EAP-TLS需在客戶端安裝憑證麻煩,只需要在認證伺服端安裝憑證,並透過一個加密通道來保障認證時的安全。而在這通道內可使用各種的認證協定,像是PAP, CHAP, MSCHAP, MSCHAPV2等等方式。 EAP-TTLS可在一開始傳送ID至認證伺服端時,使用匿名ID,避免使用者ID在網路上傳送,真正的使用者ID則在隧道建立後才傳送。 當完成認證後,它可推導最後通訊加密金鑰,以確保資料私密性。 draft-ietf-pppext-eap-ttls-05
第九章 無線網路安全管控 9.3.3.4 PEAP 在EAP標準定案數月後,各界發現了許多的缺點。 在認證時(Request/Response),使用者的資訊並沒有被加密,存在著安全風險。 認證費時,當USER漫遊到鄰近的存取點,所需要的EAP快速重建並不支援。 不支援的切割(Fragmentation) 與重組(Reassembly)。 為解決這些問題,各種以EAP-TLS為基礎的認證協定開始出現,如PEAP。 PEAP (Protected EAP)是由Cisco與Microsoft開發的,大致可分為兩個階段:第一階段是用伺服端憑證建立TLS Tunnel,第二階段使用另一種認證方式認證。與EAP-TTLS相同的是只需在伺服端安裝憑證。 draft-josefsson-pppext-eap-tls-eap-03
第九章 無線網路安全管控 9.3.3.5 LEAP Lightweight EAP(輕量型可伸認證通訊協定)是主要用於Cisco Aironet WLAN的一種EAP驗證類型。它使用動態產生的WEP金鑰將資料加密與傳輸,並且支援雙向認證。LEAP以前屬於專利技術,但已透過其Cisco 相容擴充(Cisco Compatible Extensions, CCX)方案授權給許多的製造廠商,亦即具有CCX技術的無線網卡均能與Cisco的無線網卡相同,能與Cisco AP以LEAP互通。 缺點 LEAP為Cisco私有技術。 容易使用字典攻擊破解金鑰。 802.1x EAP類型 MD5 TLS TTLS PEAP LEAP Client_Cert.? 否 是 Server_Cert.? 雙向認證? 部署難度 容易 困難 適中 無線安全性 差 極高 高 中上
第九章 無線網路安全管控 結論 企業在導入無線網路前應仔細評估傳輸資料的機密等級,並考慮如何在安全性與方便性之間取得一平衡點。在本章我們提到了許多無線網路的弱點,並說明這些弱點的改善方法。一般無線網路建設成功後,管理者應該要求合法使用者在使用無線網路之前,必須透過802.1X的認證,認證成功後才允許使用無線網路。此外,為求保護資料在無線網路傳輸的安全,IPSec也是可以納入無線網路安全管控的方案之一。
第九章 無線網路安全管控 參考資料 「無線網路安全白皮書」林秉忠, 陳彥銘 「IEEE 802.11i Overview v0.1」, Nancy Cam-Winget, Tim Moore, Dorothy Stanley, Jesse Walker 「 無線網路WPA安全機制剖析」,HungLin Chou 「802.11 完全剖析無線網路技術」,作者:鄭同伯 「802.11無線網路技術通論」,作者:Matthew S. Gast, 譯者:黃裕彰、蔣大偉 「802.11無線區域網路通訊協定及應用」,作者:唐政 「IEEE 802.11i Standard」,2004 「draft-josefsson-pppext-eap-tls-eap-03.txt」 「Establishing Wireless Robust Security Networks: A Guide to IEEE 802.11i」, Sheila Frankel, Bernard Eydt Les Owens, Karen Scarfone