第四章 系統架構
4.2 系統設計
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 同步演算法需要的計數器資訊項目
經過以上的分析之後,我們就可以利用新定義於訊框主體的新欄位加入我們 需要的額外資訊於管理訊框中,以下各小節會有更詳盡的介紹本研究的機制是如 何運作,包括金鑰交換、隨機位元串的產生、兩層過濾的機制、隨機位元串同步