關鍵 3步驟讓你從 Wifi用戶端接入網路-Anybus 工業無線連接解決方案

我們平時要使用無線網路,首先要用手機連接到一個無線路由器。通常是在手機WIFI 界面找到家中無線路由器的名稱然後點擊連接,在輸入框中輸入密碼後連接成功,這就是一個終端接入AP 的過程。

開始之前,首先讓我們先了解一下WIFI 模組的兩種工作模式。

1、AP 無線接入點:AP 模式自身可以輻射出一個無線 WIFI 網路,比如家中的無線路由器

2、STA 用戶端:連接到無線網路中的終端,比如手機、iPad、電腦

下面我們來介紹接入過程的詳細步驟


▍ 掃描階段

打開手機的 WIFI 列表查看可用的網路,掃描分為兩種方式:主動掃描和被動掃描

主動掃描

主動掃描是STA 在信道上主動廣播一個探測請求(Probe Request),並等待 AP 響應。

在發送 Probe Request 幀時,其中 SSID 字段若有指定的字符,則稱為「Directed probe(直接探測)」。此時若該信道上存在對應 SSID 名稱的 AP 則會發送探測響應

而 SSID 字段為 NULL 時,該幀稱為「Broadcast probe(廣播探測)」,意味著這個探測請求想要獲取到周圍所有能夠獲取到的無線網路信號。

如果我們在無線路由器中設置了隱藏 SSID,此時 AP 是不會回應 STA 的廣播型探測請求。

被動掃描

被動掃描是 STA 不發送探測請求,被動接收來自 AP 定期發送的信標幀。Beacon 幀中包括SSID 和支持速率等資訊。

STA 就是透過接收 Beacon 幀來獲知周圍的無線網路,需要注意的是如果設置了在 Beacon 幀中隱藏SSID 後,STA 是無法獲得SSID 訊息的。

▍ 鏈路認證

在掃描階段之後,選擇要接入的 AP,就進入了鏈路認證階段,鏈路認證並不是輸入用戶名和密碼來存取網路。

我們知道當802.3 有線設備需要與其它設備通訊時,首先要連接網線從而在設備之間建立一條物理鏈路

802.11 無線設備需要通訊時首先要連接接入點,鏈路認證類似於連接網線的過程,相當於驗證兩台設備是否屬於有效的802.11 設備。

802.11 標准定義了兩種認證方式:

1、共享密鑰認證Shared-key Authentication

共享密鑰認證採用 WEP 驗證用戶端的身份,STA 與AP 都要配置靜態WEP 密鑰,不過 WEP 因為安全原因已很少使用了。

2、開放系統認證Open System Authentication

開放系統認證不對用戶端做任何驗證,只要 STA 發送認證請求,AP 都會允許其認證成功,這不是一個安全的認證,所以開放系統認證一般都配合接入認證來使用。

▍ 關聯階段

鏈路認證之後,接下來 STA 要與 AP 建立關聯。STA 向 AP 發送關聯請求(Association request),其中包括 STA 支持的速率、信道、QoS 的能力,以及選擇的接入認證和加密算法等。

AP 在判斷後會回覆關聯響應(Association response)給 STA。

關聯響應(Association response)幀包含關聯狀態和關聯標識符(AID),它是分配給每個關聯STA 的唯一關聯號。

關聯成功後,如果沒有設置帶有安全機制的接入認證,STA 就可以使用無線網路了。這種方式任何 STA 都可加入,但肯定是不安全的。

就如家裡無線路由器被人蹭網,通常我們會給無線網路加上密碼,增加了接入認證,這樣 AP 只讓和自己密碼一致的 STA 接入網路。

但這又帶來了另外的問題,那就是:AP 要如何知道 STA 密碼呢?

還有,如果 STA 明文傳輸密碼給 AP 這顯然也是不安全的,那採用加密傳輸呢?

我們之前的介紹里大家會發現並沒有同步密鑰的過程,STA 加密傳輸之後,AP 也不能解密。

至於這個問題如何解決,下面我們以WPA 方式為例來說明:

STA 和AP 之間交換訊息得到(STA MAC、AP MAC、PMK、ANonce、SNonce),這五個元素用相同算法計算得到 PTK,如果雙方 PSK 和SSID 相同,PMK 就相同,計算得到的 PTK 也就相同。

使用 PTK 的前 16 位字節以及802.1X Authentication 數據包,計算出 MIC,AP 從STA 的接入包中用 PTK 解密得到 MIC,如果得到的 MIC 和自己的 MIC 相同,也就驗證了 STA 的密碼和自己一致。

WPA 使用四次握手來實現上述操作:

下面我們來看具體的交換過程:

1、AP 把自己的隨機數(ANonce)傳給STA,STA 在收到 ANonce 後,可以生成 PTK。

2、STA 把自己的隨機數(SNonce)和生成的 PTK 中的 MIC 傳給 AP。AP 收到 SNonce 後,可以生成PTK,將收到的 MIC 和自己生成的 MIC 比較進行完整性校驗,如果校驗失敗,握手失敗。

3、校驗成功,AP 使用 PTK 加密 GTK,然後把加密後的 GTK 傳給 STA。

4、STA 使用自己生成的 PTK 解密 GTK,同時驗證 MIC,如果無誤則發送 ACK 進行確認。

完成上述步驟後,STA 就可以成功接入無線網路了。


本篇文章結束,希望幫助您更了解 wifi的通訊知識!

本文轉載處