縁側 > その他 > 備忘録いろいろ
「縁側」-みんなが作る掲示板-からのお知らせ
縁側からのお知らせ

縁側をご利用いただく際のルール&マナー集を用意いたしました
ユーザーの皆様に楽しくご参加いただけるよう、主に投稿時の注意点などをまとめています。
ご投稿の前には必ずご一読をお願いいたします。詳しくはこちら⇒「縁側 ルール&マナー

紹介文

スマホのg07の不具合を確認する為に始めましたが、ログを眺めるのも飽きたので機器を限定せずに思う事を書いておきます。

カテゴリもその他に変更しましたが、過去の書込はそのままにしてあるので、違和感ありますが…

最近はGoogle Homeを手に入れたので気付いた事を書き留めておこうと思います。

  • 備忘録いろいろの掲示板
  • 備忘録いろいろの伝言板
  • 備忘録いろいろの投稿画像
この掲示板は閲覧専用です(運営者のみが投稿できます)。

無線LANの電波が乱立しているけど、ふと「そもそもの仕組みって?」と思いました。
周波数帯の種類や接続手順等は分かりますが、もっと根本的な部分です。

少しずつ調べて記録しておこうと思います…気まぐれですが。

色々調べると大きくは2つの手順で接続される事がわかりました。
1.接続できる相手を探す
2.決められた手順で接続する

これって、以前g07に関連してログを調べた時に確認した様な気がします。

1については大きく2つの方法がある様です。
a.APが出す信号を受信する
b.端末がAPを探す為に問い合わせる

2については基本的には下記の手順になるはずです。
認証 → 接続 → データ交換

まずは1のaについて

APは自分の存在を定期的に周辺に知らせます。
知らせる電波のことをビーコンと言います。

通常の設定では、ビーコンにはSSIDやサポートしている速度やセキュリティなど通信に必要な情報が含まれます。
端末ではこの情報を受け取って、サポートする通信手順に合致するSSIDを一覧表示します。
自宅内では少数だと思いますが、屋外では大量のSSIDが表示されるのが一般的です。

この流れをパッシブスキャンと言います。
潜水艦等のソナーと同じ名前ですね。後述しますがアクティブスキャンもあります。

この時端末に保存されているSSIDの中で合致する設定があり、かつ自動接続になっている場合はそのAPに対して接続動作が行われます。
複数の合致がある場合は原則的には一番電波強度の強いAPが選択されるはずですが、端末の仕様等で必ずしもそうならない時があります。

1のbはアクティブスキャンの事です。

パッシブスキャンによっても一定時間ビーコンが検知できない場合や、ステルスAPに対して接続を行いたい場合に動作します。
端末からAPに対するプローブ要求とAPから端末へのプローブ応答から構成されます。

プローブ要求には端末が接続したいSSID情報が含まれ、同じSSIDを持つAPがプローブ応答します。
当然ですが、端末がスマホの様な移動体の場合は同じSSIDを持つAPが応答できない(存在しない)ケースが多くなります。
相手がいないのに、このSSIDのAPいますか?と探し続ける感じですね。

よくステルスは危険だから設定しない方が良いと言う人がいますが、これが原因です。
でも、ステルスで無くても端末が接続したい相手が見つからないとアクティブスキャンするなら、同じ事の様な気もしますが…

まずは、ステルスの場合に何が違うのか?ですが、単にビーコンが違うだけです。
ビーコンにSSIDが含まれないか、ビーコンそのものを出さない場合もあるらしいです。
曖昧に書いたのは、自分の環境下ではステルス設定したAPはSSIDを含まないビーコンを出しているからです。
端末にとってはビーコンを出さないAPもビーコンが見つからないケースと同じです。

ビーコンは電波ですので、その電波を検出可能な受信器(無線LANじゃなくても)なら確認可能です。
通常の無線LAN子機でもSSIDを除くMACアドレスやサポートする通信情報は検知できます。
ただ、それを表示するかどうかは端末の仕様次第です。

最初は、ビーコンを検知できるなら自分が過去に接続した情報と比較してSSIDを除いて同じならプローブ要求すれば良いのでは?と思いました。
でも、よく考えるとネットワークによっては同一SSIDを複数のAPが持つケースがあるので、比較結果で同一だけじゃ駄目と分かりました。

結局、ビーコンの有無や一致に関わらず、アクティブスキャンするしか無い事になります。

2018/5/9 20:02  [2048-95]   

1のプロセスでお互いの存在確認が取れたら2の接続プロセスに進みます。

大昔のルータは初期状態で誰でも接続可能な状態で出荷されていたので、1が終われば簡単に2も終了してました。
しかし、現在はほぼ初期状態では何らかの認証が必要です。
但し、SSIDが同じだったり、機器名等とMACアドレスの組合せで変化を付けていてもパスワードは同じだったりでザル状態のも多いです。
なので、必ず初期状態からは変更するのが鉄則だと思います。

と、ここまで調べていてSSIDとひとくくりに書くのは正確では無い事が分かりました。
この前にアクティブスキャンの際に「同一SSIDを複数のAPが持つケース…」と書きましたが、これがまさにESSIDの事でした。

元々のSSIDは一つのAPに対して設定されるもので、それを拡張して複数のAPで使用出来る様にしたのがESSIDって事みたいです。
従って、現状では正確に表現するならESSIDと書くのが正解ですね。

今回は単純に単一のAPとして考えます。

話を戻します。

認証の手順は利用する暗号化方式によって異なるみたいです。
現状では殆どがWPA2を採用していると思うので、そのケースを調べます。

下記の様な手順のようです。
T.アソシエーション処理
U.PMKの共有
V.PTKの生成
W.GTKの生成

T.アソシエーション処理

簡単に書くと、これから行う認証方式や手順の確認って感じです。
ここでは認証自体が行われる訳では無いので、接続しようとする全ての端末が処理を完了できます。

以下面倒なので、手動で設定するパスキー等はすべてパスと略します。

通信に本当に使用される認証キー自体はこの後のプロセスで生成されるのですが、それは設定されたパスだけでなく乱数や機器固有情報等から自動生成されるって事みたいです。

蛇足ですが、今では殆ど使用されないWEPはこの部分でお互いが持つパスを使用して暗号化し通信するので、悪意ある第三者がその内容からパスを復元する事も可能みたいです。

U.PMKの共有

PMKとはPairwise Master Keyの略で通信で使用するマスターキーです。
WPA2では通信によってキーが違うらしいですが、それを生成する元となるキーの事です。
最初にそれぞれに設定されているパスが同じかどうかの確認はするみたいですが、実際の通信ではPMKから生成されたキーを使うらしいので、セキュリティレベルは上がるって事でしょうか?

V.PTKの生成 及び W.GTKの生成

PTKとはPairwise Transient Keyの略で、ユニキャスト(1対1)通信で使用するキーです。
共有されているPMKを元にして決められた手順で生成されます。

GTKとはGroup Transient Keyの略でマルチキャストやブロードキャスト(1対多)通信で使用するキーです。
PTKを元にして生成されるらしいです。

キーの生成と交換が完了するまでには4ウェイハンドシェイク(2往復)の通信が行われます。

具体的には

1.APから端末
 ANonce(Authenticator Nonce:APで生成されるランダム文字列)を送信
 受信した端末はANonceとSNonce(Supplicant Nonce:端末で生成したランダム文字列)からPTKを生成
2.端末からAP
 SNonceとMIC(Message Integrity Check:メッセージ完全性コード)を含む情報を送信
 受信したAPはANonceとSNonceからPTKを生成し、端末から送信されたMICを検証
3.APから端末
 GTKを生成しMICを含む情報とともに送信
4.端末からAP
 端末は一時キーをインストールし、インストールした事をAPに通知
 APも一時キーをインストール(※文献によっては3でインストールするとの記述もあり、どちらか不明)

先日発見されたWPA2の脆弱性は3番目のAPから端末へのキーの通知に対して端末が応答出来ないと、3番目の通知を再送するのですが、その際にNonceやカウンタがリセットされる事が原因のようです。
悪意ある第三者が強制的にリセットさせて、APを偽装して意図的に作られた文字列をベースにして、キー生成を最初から行う事が可能って感じでしょうか?

もし、そうだとするとAPが一時キーをインストールするのは最後が正しいかも知れないですね。

2018/5/13 16:56  [2048-96]   

ところで、ESSIDをステルスにすることの是非ですが…

自分は可能な限りステルス設定をしてMACアドレスフィルタを掛けます。

確かに、不必要な場所で接続先を探す動作はセキュリティ的には良くないとは思います。
でも、それは一定レベル以上の技術を持って他人を攻撃しようという悪意(好奇心?)ある人がいる前提です。

MACアドレスも偽装可能だからフィルタ掛けても意味ないという人もいます。
確かに、その通りですが、それも悪意ある人がいる前提です。

もし、ある家庭のAPを攻撃しようとするなら、そのAPの電波が到達する範囲に入る必要があります。
そして、セキュリティの脆弱な部分を探して攻撃方法を考える事になります。
そこまでの労力を掛け、発見されるリスクを負ってまで攻撃するでしょうか?

普通に考えて、明らかに労力やリスクに見合う何かの存在を確信しているか、攻撃対象に特別な感情を持っていないと実行はしないと思います。

それよりも、ステルス設定等は行わずいつでもAPの存在を主張し続けのはどうなのでしょうか?
田舎の一軒家でない限りは、APの電波は屋外や近隣の室内まで届きます。
もし、そこに技術と悪意(または好奇心)を持った隣人がいたなら…

無線LAN普及の初期の頃はAPのデフォルトはセキュリティ無しだったので、誰でも接続可能でした。
現状はそこまでの無防備な状態では無いですが、それに類する状態の方が危ない気がします。

2018/5/18 10:19  [2048-97]   


この掲示板の新着スレッド

運営者のみ投稿可
備忘録いろいろ
備忘録いろいろをお気に入り登録
運営者:
亜都夢さん
設立日:
2017年3月2日
  • 注目度:

    103(お気に入り登録数:2件)

タグの登録はありません

該当掲示板はありません

ページの先頭へ