SSID

Wi-Fi ネットワークの識別名。最大 32 バイトで、接続先を区別するためにルーターに設定する文字列。

SSID (Service Set Identifier) は、Wi-Fi ネットワークを識別するための名前です。スマートフォンやパソコンで Wi-Fi 接続先の一覧に表示される文字列がこれにあたります。IEEE 802.11 では SSID フィールドの長さを 0〜32 オクテット (バイト) と規定しており、UTF-8 で符号化する場合は ASCII 文字なら 32 文字、日本語なら 10 文字 (3 バイト × 10 = 30 バイト) が上限です。

SSID の上限はバイト数で決まるため、見た目の文字数とは一致しません。「CaféWiFi」は 8 文字ですが、é が UTF-8 で 2 バイトを占めるので 9 バイトになります。日本語の SSID は仮名・漢字 1 文字が 3 バイトなので、「我が家のWiFi」は 8 文字で 16 バイトです。絵文字は多くが 4 バイトを占めるため (記号系の一部は 2〜3 バイト)、絵文字を並べた SSID は数個で上限に届きます。上限近くまで使う名前を付けるときは、文字数ではなくバイト数で数えてください。

規格の中身を見ると、SSID フィールドはもともと文字コードを規定しておらず、任意のバイト列として扱われていました。UTF-8 で符号化されていることを示すフラグが追加されたのは 2012 年版からで、それ以前の設計の機器はバイト列をどの文字コードとして解釈するかを自分で決めています。これが非 ASCII の SSID で文字化けや接続失敗が起きる根本の理由です。古い機器や IoT 機器を接続する環境では、SSID を ASCII 文字だけで付けるのが安全です。

また、SSID はビーコンフレームで平文のまま送信されます。暗号化が守るのは通信内容であって、ネットワーク名は対象外です。名前、住所、部屋番号のように個人を特定できる情報を SSID に含めるべきではありません。

ステルス SSID (SSID を非公開にする設定) はセキュリティ対策として広く知られていますが、効果は限定的です。ビーコンが SSID を広告しなくなると、端末側は接続先の SSID を自分から名乗るプローブリクエストを送る必要があり、その電波を拾えば SSID は分かってしまいます。隠す設定よりも、WPA3 などの暗号化と十分に長いパスフレーズの方がはるかに重要です。

この記事を共有