第三章 IEEE 802.11i 無線網路快速換手之設計與架構
3.4 換手及重新聯結
3.4.1 換手及重新聯結程序
在一般的換手流程當中,當行動節點跟新無線存取點重新聯結之後,行動節 點會主動送出 EAPOL-Start 訊息,或是由無線存取點送出 EAP-Request/Identity 的 訊息來啟始 IEEE 802.1x 身份認証,接著行動節點會透過新無線存取點和認証伺
傳遞;若 PTKSA 不存在而 PMKSA 存在,則雙方只需進行四訊息握手交換來產 生成對暫時金鑰即可;若 PTKSA 和 PMKSA 都不存在則會進行 IEEE 802.1x 的認 証和四訊息握手交換來產生成對暫時金鑰。
圖 3.7 換手及重新聯結流程
圖 3.7 續 換手及重新聯結流程 3.5 IEEE 802.11i 無線網路快速換手
根據上述幾節的說明,本論文提出的 IEEE 802.11i 無線網路快速換手詳細的 操作過程如下圖 3.9。依序的步驟為:
圖 3.8 IEEE 802.11i 無線網路快速換手流程圖 1. 行動節點經由探查、身份認証之後聯結上一無線存取點。
2. 行動節點和後端的認証伺服器執行 IEEE 802.1x 身份認証,認証完後行 動節點和無線存取點會持有相同的成對主金鑰。
3. 行動節點和無線存取點進行四訊息握手交換,完成後會持有成對暫時金 鑰。
4. 行動節點和無線存取點將相關金鑰安裝好,開始傳送正常的封包。
5. 行動節點利用主動掃描取得當地無線網路環境及無線存取點資訊。
6. 行動節點將所得的資料送回至位置伺服器,位置伺服器會記錄下來。
7. 行動節點偵測出和目前聯結的無線存取點訊息低於某一個門檻。
8. 行動節點送出候選無線存取點列表要求至位置伺服器,位置伺服器會利 用當地的網路拓樸和行動節點的位置資訊計算出可能會換手到的候選無 線存取點,最後將此列表送回到行動節點上。
9. 行動節點透過目前的無線存取點和後端的認証伺服器進行預先認証。
10. 行動節點透過目前的無線存取點和目標無線存取點進行預先四訊息握手 交換。
11. 行動節點切斷目前的聯結,開始換手程序。
12. 行動節點重新聯結上新無線存取點。
13. 行動節點和新無線存取點安裝成對暫時金鑰並開始正常封包的傳遞。
第四章 IEEE 802.11i 無線網路快速換手之實作
4.1 系統之軟硬體需求
本論文提出的 IEEE 802.11i 無線網路快速換手系統中,包含了四項系統元 件,分別為行動節點、無線存取點、認証伺服器及位置伺服器。本論文使用 Host AP[22] 套 件 作 為 無 線 網 路 卡 的 驅 動 程 式 及 IEEE 802.1x 的 功 能 , 加 上 FreeRADIUS[23]及 OpenSSL[24]來實作出本系統,因 Intersil 公司生產的 Prism 2/2.5/3 晶片對 Host AP 有較高的支援度,所以本系統的無線網路卡皆使用 Prism
2. WPA supplicant:讓行動節點能有申請者的功能,跟認証伺服器溝通並完 成 IEEE 802.1x 認証,之後也會跟無線存取點完成四訊息握手交換,需
2. Host AP daemon:讓無線存取點有認証者的功能,轉送 EAPOL 封包至認
2. OpenSSL:配合 FreeRadius 所要安裝的軟體。
位置伺服器:
硬體需求:乙太網路卡 作業系統:Linux Red Hat 9 軟體需求:
1. Location Server:需實作位置伺服器的功能,管理並追蹤行動節點的位置 資訊,利用網路拓樸資訊計算並提供候選無線存取點列表給行動節點。
圖 4.1 位置資訊封包基本元件格式 Header Format
0 15 16 31 32 63
Code Number Timestamp
Entry Format
0 47 48 55 56 63 MAC address Signal Noise
點主動掃描的結果傳回給位置伺服器,此訊息由一個訊息標頭及一個以上的訊息 本體項目所組成,每一個訊息本體項目含有無線存取點的位址和訊號強弱相關資 訊,圖 4.2 為一個位置資訊更新訊息的範例,其中包含兩個訊息本體項目。
圖 4.2 位置資訊更新訊息範例 4.2.3 候選無線存取點列表要求
候選無線存取點列表要求是由行動節點傳給位置伺服器的訊息,目的是要求 位置伺服器傳送可能會換手到的無線存取點列表,此訊息由一個訊息標頭組成,
沒有任何訊息本體項目,圖 4.3 為一個候選無線存取點列表要求範例。
圖 4.3 候選無線存取點列表要求範例 4.2.4 候選無線存取點列表回覆
候選無線存取點列表回覆是由位置伺服器傳給行動節點的訊息,藉由此訊息 位置伺服器將計算出的無線存取點列表傳給行動節點,此訊息由一個訊息標頭及 一個以上訊息本體項目組成,圖 4.4 為一個候選無線存取點列表回覆範例,其中 包含三個候選無線存取點。
0x00 2 Timestamp
00:11:22:33:44:55 Signal Noise
66:77:88:99:aa:bb Signal Noise
0x01 0 Timestamp
圖 4.4 候選無線存取點列表回覆範例 以我們必須修改 Host AP wpa supplicant 的程式將所要的功能加上。Host AP wpa supplicant 利用許多個事件的資料結構,這裡的事件可能是:
網路事件:封包收送、網路卡的接上與斷接等
訊號 (Signal) 的觸發:系統的訊號,像 SIGHUP、SIGKILL 等 計時器 (Timer) 的倒數結束:任意時間的倒數計時器
0x02 3 Timestamp
00:11:22:33:44:55 0 0
66:77:88:99:aa:bb 0 0
cc:dd:ee:ff:00:11 0 0
在資料結構裡也會記錄各事件的 call back 函式。然後在每一輪迴圈裡主程式 都會一一去輪詢 (Polling) 每個事件是否發生,若發生了某事件主程式則會啟動 相對應的 call back 函式來動作。
首先在行動節點完成四訊息握手交換之後,此時正常封包已可以傳送,客戶 端會新增一個(a)主動掃描計時器事件來預定下一次的掃描。
當(a)發生時,客戶端會執行主動掃描,並新增兩個事件,分別為下一次(a)主 動掃描計時器事件和(b)讀取本次主動掃描結果事件。
當(b)發生時,客戶端會讀取主動掃描的結果,並把此結果送回給位置伺服器,
同時在此時檢查和目前聯連的無線存取點訊號是否低於一個門檻,若低於此 門檻則客戶端會向位置伺服器送出候選無線存取點列表要求,並新增一(c)接 收候選無線存取點列表回覆事件。
當(c)發生時,客戶端會讀取位置伺服器傳送的回覆,解開封包把其中的無線 存取點位址讀出來,之後對該群無線存取點執行預先認証和預先四訊息握手 交換。
圖 4.5 為以上各事件的相互關係圖。
圖 4.5 客戶端事件關係圖 4.5 RSN 資訊元素 (Information Element) 修改
在 IEEE 802.11 無線網路中,管理訊框都會帶有多個資訊元素,像是服務組 合識別碼 (Service Set Identity)、所支援的速率 (Supported Rates) 等等,其中和本 論文最相關的即是 RSN 資訊元素。圖 4.6 是 RSN 資訊元素的格式,而在行動節 點送出的重新連結訊息中會帶有此一資訊元素,根據本論文提出的快速換手機 制,行動節點在重新連結時必須提供 PTKID 的資訊給無線存取點,所以本論文在 實作上對 RSN 資訊元素做了必要的修改,主要的更動有兩個:
PTKID 欄位:此欄位為選擇性 (optional) 存在的,若在重新連結訊息中 RSN 資訊元素裡出現此欄位,代表行動節點有經過之前預先四訊息握交 換而產生的 PTKSA,其辨識代碼為 PTKID,而行動節點想用此 PTKSA 來達成快速換手的目的,而此欄位之前的 PMKID List 欄位也必定存在 於訊息中。
Pre-Four-Way-Handshake 位元旗標:新增此位元旗標,若無線存取點支
援預先四訊息握手交換,則此位元設成 1,反之則其值為 0。
茲將修改後的 RSN 資訊元素格式也顯示在圖 4.6。
圖 4.6 RSN 資訊元素修改 Element
ID Length Version Group
Pre-Auth No Pairwise
ID Length Version
Group
List PTKID
Pre-Auth No Pairwise Original RSN IE format
Modified RSN IE format
第五章 效能分析
5.1 換手延遲時間分析
5.1.1 一般換手程序
圖 5-1 是在一般換手程序下延遲時間的分析,圖中的橫軸由左到右代表著時 間的演進,而圖中由上到下分別代表著環境中四個不同的元件,依序為舊的無線 存取點、行動節點、新的無線存取點及認証伺服器。
圖中可以看到行動節點會先和舊無線存取點聯結,上層應用程式會傳遞所需 的封包,之後行動節點會移動到和新無線存取點訊號較佳的位置,行動節點上的 網路卡會決定是否要換手到新無線存取點,若決定要換手的話,此時上層應用程 式的封包傳送會被中斷,行動節點會和新無線存取點進行 IEEE 802.11 的三個步 驟,所需時間是 T1,接著行動節點會和後端的認証伺服器進行 802.1x 認証,所 需時間是 T2,最後則是行動節點和新無線存取點的四訊息握手交換,所需時間為 T3,當這些程序完成後應用程式才會繼續之前的封包傳送。
在一般的換手程序下,其所需的換手延遲時間為 T1+T2+T3。
圖 5.1 換手延遲時間示意圖(一般程序)
5.1.2 快速換手程序
圖 5-2 是在快速換手程序下延遲時間的分析,圖中的橫軸由左到右代表著時 間的演進,而圖中由上到下依然分別代表著環境中四個不同的元件,依序為舊的 無線存取點、行動節點、新的無線存取點及認証伺服器。
如同上一節所述,行動節點會聯結上舊無線存取點並開始傳送應用程式的封 包,之後行動節點會移動到和新無線存取點訊號較好的位置,但在移動同時,根 據我們所提出的快速換手機制,行動節點會和新無線存取點及認証伺服器進行預 先認証及預先四訊息握手交換,之後當無線網路卡決定要換手時,僅需進行 IEEE 802.11 的三個步驟,就可以繼續進行應用程式的封包傳送。
在本論文所提出的快速換手程序下,其所需的換手延遲時間為 T1,証明我們 提出的方法確實能減少換手所需的時間。
圖 5.2 換手延遲時間示意圖(快速換手程序)
第六章 結論與未來工作
6.1 結論
IEEE 802.11i 是新一代無線網路的安全性標準,由於使用更複雜的訊息交換 和金鑰管理階層,行動節點在無線存取點之間進行換手時,將會有較長的換手延 址改變所產生的問題,或者用 SIP (Session Initiation Protocol) 來做移動管理 (mobility management),將來會一併考慮這些上層協定,將之整合到本論文所提出
更多的網路環境當中。
其實我們在日常生活中,可能每天都會經過特定的區域,所會使用到的無線 存取點也很固定是某幾個,這些週期性的行為,可以經由統計歸納的方式來推導 出一個人的移動樣本 (mobility pattern),定期的去維護這些移動樣本,我們可以 更精準的去計算可能會換手到的無線存取點,將可以大幅減少訊息的傳送數量,
其實我們在日常生活中,可能每天都會經過特定的區域,所會使用到的無線 存取點也很固定是某幾個,這些週期性的行為,可以經由統計歸納的方式來推導 出一個人的移動樣本 (mobility pattern),定期的去維護這些移動樣本,我們可以 更精準的去計算可能會換手到的無線存取點,將可以大幅減少訊息的傳送數量,