まずはアクセスポイントへ「アソシエーション」

無線LAN(Wi-Fi)の通信は、基本的にはアクセスポイントを中心としたインフラストラクチャモードです。Wi-Fiで通信するために、Wi-Fiクライアントステーションは、まず、アクセスポイントへ接続します。アクセスポイントに接続することを「アソシエーション」と呼びます。Wi-Fiアクセスポイントとクライアントステーションはアソシエーションによって、Wi-Fiの電波を送受信するべき相手を認識することになります。

図 アソシエーションの概要
図 アソシエーションの概要

Wi-Fiアクセスポイントへのアソシエーションは、有線イーサネットでのケーブル接続に相当します。ただ、電波を利用するWi-Fiのアソシエーションは、イーサネットのケーブル接続よりも少し複雑なプロセスです。

図 アソシエーションは有線イーサネットのケーブル接続に相当
図 アソシエーションは有線イーサネットのケーブル接続に相当
Wi-Fiの通信は半二重通信です。そのため、共有ハブの有線イーサネットのケーブル接続に相当します。

Wi-Fiアクセスポイントへアソシエーションするときの処理の流れは次のようになります。

スキャニング(Scanning)
接続するべきWi-Fiネットワークを探し出します。
ジョイニング(Joining)
アソシエーションするWi-Fiアクセスポイントを決定します。
認証(Authentication)
IEEE802.11のローレベルの認証を行います。
アソシエーション(Association)
Wi-Fiアクセスポイントに接続して、Wi-Fiのデータ通信ができるようにします。
「アソシエーション」は「関連付け」なんていう風に日本語訳されていることがあります。無理に日本語訳にしなくて、英単語をそのままカタカナ表記した「アソシエーション」でいいでしょう。

スキャニング

まずはWi-Fiネットワークを見つけ出さなければいけません。スキャニングによってWi-Fiネットワークを探し出します。スキャニングの手順では、次のようなパラメータを利用して、Wi-Fiネットワークを認識します。

  • BSSタイプ
  • BSSID
  • SSID
  • スキャンタイプ
  • チャネルリスト
  • プローブディレイ
  • MinChannelTime/MaxChannelTime

これらのパラメータの中で重要なのは、SSIDとチャネルリストです。アソシエーションするときにはSSIDの情報が必要です。チャネルリストは、Wi-Fiの通信で利用する電波の周波数チャネルの情報です。

パッシブスキャン

Wi-Fiアクセスポイントが送信しているBeaconフレームによって、Wi-Fiネットワークを認識することがパッシブスキャンです。Wi-Fiアクセスポイントは通常100ミリ秒ごとにBeaconフレームを送信しています。パッシブ(passive)は「受動的」という意味ですが、Wi-Fiクライアントステーションが受動的という意味です。

図 パッシブスキャン
図 パッシブスキャン

アクティブスキャン

セキュリティ目的で、Wi-FiアクセスポイントからBeaconフレームを送信しないように設定していることがあります。このような場合、アクティブスキャンでWi-Fiネットワークを識別します。Wi-FiクライアントはProbe Requestを送信して、Wi-FiアクセスポイントがProbe Responseで応答することで、Wi-Fiネットワークを識別するようにします。

Wi-Fiクライアントステーションがアクティブ(active)、つまり能動的にWi-Fiネットワークを探し出すことがアクティブスキャンです。

図 アクティブスキャン
図 アクティブスキャン

ジョイニング

スキャニングしてWi-Fiネットワークを探しだしたら、アソシエーションするWi-Fiアクセスポイント(BSSID)を決定します。同じSSIDの複数のWi-Fiアクセスポイントが存在することがあります。どのWi-Fiアクセスポイントを選択するかは実装に依存していますが、たいていは電力レベルと信号強度によって、アソシエーションするWi-Fiアクセスポイントを決定します。

図 アクセスポイントの選択
図 アクセスポイントの選択

認証

認証は、通常イメージする認証とはだいぶ違っているプロセスです。IEEE802.11のローレベルの認証として、次の2つあります。

  • オープンシステム認証
  • 共有鍵(Shared key)認証(WEP)

一般的に「Wi-Fiの認証」としてイメージするWPA/WPA2/WPA3の認証は、アソシエーションしてからのプロセスです。以下、オープンシステム認証と共有鍵認証についてもう少し補足します。

オープンシステム認証

オープンシステム認証は、Authenticationフレームを交換してWi-FiアクセスポイントがWi-FiクライアントステーションのMACアドレスを認識できるようにするだけです。アソシエーションしようとするWi-Fiクライアントステーションが正規のデバイスであるかを検証するようなことは行いません。

図 オープンシステム認証
図 オープンシステム認証

共有鍵(Shared key)認証(WEP)

共有鍵(Shared key)認証は、WEPを利用しているときの認証です。Wi-FiアクセスポイントとWi-Fiクライアントステーションが同じパスワード(共有鍵)を設定していることによって、アソシエーションしようとするデバイスが正規のデバイスであることを検証しています。

共有鍵認証は、チャレンジベースの認証を行います。Wi-Fiアクセスポイントがランダムに生成したチャレンジテキストを送ります。クライアントステーションがチャレンジテキストも含めてAuthenticationフレームをWEPで暗号化して返します。そして、Wi-FiアクセスポイントでWEPの暗号化を復号します。WEPの復号ができれば、クライアントステーションでWEPのパスワードが正しく設定されているとわかります。Wi-FiアクセスポイントからAuthenticationフレームを返して、共有鍵認証が成功したことを通知します。

図 共有鍵認証(WEP)
図 共有鍵認証(WEP)

ただし、今ではWEPを利用することはありません。WEPの暗号化は脆弱で、かんたんに破られてしまうからです。つまり、アソシエーションの前の認証のプロセスは、ほぼオープンシステム認証ということになります。

アソシエーション

認証のプロセスが完了したら、アソシエーションです。Wi-FiクライアントステーションからAssociation Requestフレームでアソシエーションを要求します。Wi-FiアクセスポイントはAssociation Responseフレームで応答します。Association Responseには、Wi-Fiクライアントステーションを識別するために割り当てているAssociation IDの情報が含まれます。

なお、Wi-Fiクライアントステーションがアソシエーションできるのは、ただ1つのアクセスポイントのみです。

図 アソシエーション

こうしたアソシエーションのプロセスで、Wi-FiクライアントステーションはWi-Fiネットワークに接続します。つまり、Wi-Fiアクセスポイントの配下にクライアントステーションが存在することになります。

そして、Wi-Fiだけで通信が完結することはほとんどありません。クライアントステーションがデータを送受信する相手は、同じアクセスポイントにつながっているクライアントであることはほとんどないでしょう。Wi-Fiアクセスポイントはたいてい有線イーサネット(ディストリビューションシステム)に接続しています。配下のクライアントステーション宛てのデータが、有線イーサネットを通じてアクセスポイントまで転送されるようにしなければいけません。GARPでクライアントステーションのMACアドレスが、有線イーサネットのスイッチに登録されるようしていることが多いようです。

いわゆる「Wi-Fiの認証」はアソシエーションのあと

オープンシステム認証またはWEP共有鍵認証を利用していると、アソシエーション完了後にWi-Fiの通信ができます。でも、いまどき、そんな無防備なWi-Fiアクセスポイントはまずありません。WPA(Wi-Fi Protected Access)のセキュリティを有効にしていることがほとんどです。

WPAセキュリティ、いわゆる「Wi-Fiの認証」はアソシエーションのあとに行われます。Wi-Fiの認証として、認証サーバを必要としないWPA-PSK(WPAパーソナル)と認証サーバに基づいたIEEE802.1Xの認証(WPAエンタープライズ)があります。

WPAの認証が正常に完了すると、Wi-Fiのデータ通信ができます。WPAの認証の過程で暗号鍵のネゴシエーションも行っているので、Wi-Fiのデータは暗号化されて安全な通信が可能です。

以下、アクティブスキャンをして、Wi-FiアクセスポイントにアソシエーションしてからWi-Fiのデータ通信ができるまでの流れをまとめています。

図 アソシエーションの流れ
図 アソシエーションの流れ
このページでは、WPAセキュリティの認証の詳細は省略しています。