[Wi-Fi] Connect

這篇文章主要是要探討Wi-Fi連線的細節,加密的細節則會在下一篇的文章進行探討

STA藉由Wi-Fi與AP連上線的過程,大約可以分成三個部分:

  1. Authentication:
    • STA 嘗試使用與 AP 進行low-level 802.11 authentication。
    • 最初 802.11 authentication frame 是為 WEP 加密設計的,但是這種安全方案已被證明是不安全的,因此已被棄用。
    • 請記住,802.11 身份驗證與 WPA2 或 802.1X 身份驗證機制不同,後者發生在移動台經過Authentication和Association之後。
  2. Association:
    • STA會向AP登記,以及與AP產生Association。Association之後,分散式系統即可根據這些登入資訊判定哪部STA該使用哪部AP存取網路。
  3. 4-way handshake (802.11i):
    • 4-way handshake是在AP(authenticator)與客戶端設備(supplicant)之間交換 4 條消息以生成一些加密密鑰的過程,這些密鑰可加密透過無線介質發送的Data。 

在 802.11裡有三種connect state:

  1. Not authenticated or associated.
  2. Authenticated but not yet associated.
  3. Authenticated and associated. 

在開始傳輸Data或進行身份驗證前,STA必須處於Authenticated and associated的狀態。

Connection Flow

  1. STA尚未與任何一台AP連線,會先透過Scan的方式找到所要連上的AP.
  2. 決定好要連線的AP後,STA會先送出 authentication frame 給 AP將身份驗證設置為打開並將sequence 設置為 0x0001。
  3. 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。
  4. 一旦STA確定了它想要association到哪個 AP,它就會向那個 AP 發送association request。 如果需要,association request將包含選擇的加密類型和其他兼容的 802.11 功能。
    如果 AP 從已經是authenticated但尚未associated的STA收到Data,它將以disassociation frame作為回應,將STA置於已驗證但未關聯的狀態。
  5. 如果association reques中的capabilties與 AP 的能力匹配,則 AP 將為STA建立一個Association ID,並以association response回應,並授予STA的網絡訪問權限。
  6. 現在STA已成功association到 AP 並且可以開始傳輸Data。

PS:如果無線網絡需要 WPA/WPA2 或 802.1X 認證,在 802.11 association完成後,移動台將無法發送數據,直到動態密鑰和認證發生。

Reference

  1. 802.11_Association_Process_Explained

發佈留言