這篇文章主要是要探討Wi-Fi連線的細節,加密的細節則會在下一篇的文章進行探討
STA藉由Wi-Fi與AP連上線的過程,大約可以分成三個部分:
- Authentication:
- STA 嘗試使用與 AP 進行low-level 802.11 authentication。
- 最初 802.11 authentication frame 是為 WEP 加密設計的,但是這種安全方案已被證明是不安全的,因此已被棄用。
- 請記住,802.11 身份驗證與 WPA2 或 802.1X 身份驗證機制不同,後者發生在移動台經過Authentication和Association之後。
- Association:
- STA會向AP登記,以及與AP產生Association。Association之後,分散式系統即可根據這些登入資訊判定哪部STA該使用哪部AP存取網路。
- 4-way handshake (802.11i):
- 4-way handshake是在AP(authenticator)與客戶端設備(supplicant)之間交換 4 條消息以生成一些加密密鑰的過程,這些密鑰可加密透過無線介質發送的Data。
在 802.11裡有三種connect state:
- Not authenticated or associated.
- Authenticated but not yet associated.
- Authenticated and associated.
在開始傳輸Data或進行身份驗證前,STA必須處於Authenticated and associated的狀態。
Connection Flow
- STA尚未與任何一台AP連線,會先透過Scan的方式找到所要連上的AP.
- 決定好要連線的AP後,STA會先送出 authentication frame 給 AP將身份驗證設置為打開並將sequence 設置為 0x0001。
- AP接收到authentication frame,並使用open的authentication frame來response給STA,sequence為 0x0002。
此時,STA已經是authenticated但尚未associated。 某些 802.11 capabilities 允許STA對多個 AP 進行low-level authenticate。 這加快了在 AP 之間移動時的關聯過程。 STA可以透過 802.11 對多個 AP 進行authenticate,但一次只能與單個AP進行associated以及傳輸Data。
- 一旦STA確定了它想要association到哪個 AP,它就會向那個 AP 發送association request。 如果需要,association request將包含選擇的加密類型和其他兼容的 802.11 功能。
如果 AP 從已經是authenticated但尚未associated的STA收到Data,它將以disassociation frame作為回應,將STA置於已驗證但未關聯的狀態。
- 如果association reques中的capabilties與 AP 的能力匹配,則 AP 將為STA建立一個Association ID,並以association response回應,並授予STA的網絡訪問權限。
- 現在STA已成功association到 AP 並且可以開始傳輸Data。
PS:如果無線網絡需要 WPA/WPA2 或 802.1X 認證,在 802.11 association完成後,移動台將無法發送數據,直到動態密鑰和認證發生。