O HAI THIS BLOG PURPZIEZ 2 B UZED AZ MAH PLESIOUS MEM. :)

2006/12/27

doDesc(HardMAC & SoftMAC);

なんかそれっぽい話題で盛り上がっていたらしい.
[Well, got off?]
livedoor Wirelessのラの字も考えてないWeb屋のネタ帳の誤読記事
livedoor wireless、MACアドレスによる認証を開始--ニンテンドーDSにも対応
セキュリティのセの字も考えてないライブドアの公衆無線LANサービス

何はともあれ,IEEE 802.11を読んでみましょ,話はそれからっす.
['kay, before we start to talk wireless thingy, Get IEEE 802.11.]

で,改訂版.
[BTW, here's improved one.]


無線伝送路として使用する周波数帯域自体が全く別のトコを使うのでIEEE 802.11*準拠*で
特に問題無いけど,現在作成中のこのブツ,ハードウェアの何処にもMACアドレスへの縛りが無い.
完全にソフトウェア側で,強引にやればruntimeや通信中でも変更可能.
かなり反則なハードウェアに仕上っている. :P
[It has no problem b/c it'll be used on not common radio frequency band,
this hardware has no hardware restriction for MAC address.
Its address can be changed even if in runtime.
Say, it really rocks, I thought. :P]

ARPのframe formatの話になるとモノを読んだ訳ではないからなんとも言えないけど,
IEEE 802.11ではAP側はMACアドレスをBSSIDとしてframe format中で使う.
このBSSIDはBSSと呼ばれるAPのサービス範囲に定期的に送信されるbeaconと
STAからのprobe requestに対するprobe responseに付加される事になっている.
これはClass I frameと呼ばれるブツでauthenticationやassociation,
つまり認証や論理接続する以前の段階で送受信が許されている.
[I dunno about ARP's frame format b/c I've not read ARP standard.
But, in IEEE 802.11, AP uses its own MAC address as BSSID.
This BSSID is payloaded on beacon and probe resposne.
These are included in Class I frame, it can be tx/rx-ed before
authentication/association is completed.]

つまり,IEEE 802.11に従う限り,APのMACアドレスを知る為にARPを使う必要は無い.
受信側のSTAをテキトーな周波数で固定して,beaconが捕まえられる通信圏内に入れて,
且つPMD/PLCPが適切な機能を持っていれば,無線伝送路上を行き交うモノはIEEE 802.11の
MACのレイヤーではoctet streamに変換される.
結局,ARPとは異なり,STAがAP側に何も送信せずにAPのMACアドレスが分かる.
これはpassive scan,具体的に言うとMLME-SCAN.requestのScanType==PASSIVEに相当する.
[So, in IEEE 802.11, to get AP's MAC address does not needs to use ARP.
All you have to do is, fixed STA's a channel and move into accress area
where it can grab AP's beacon and proper PMD/PLCP capability, you can
see all frame as octet stream in IEEE 802.11 MAC layer.
So, STA does not needs to transmit any frame to get AP's MAC address.]

更に,IEEE 802.11ではAPのBeaconPeriodを幾つにするかは規定されていない.
が,WiFiなんとかとか言う機関が異なるベンダーから提供されるIEEE 802.11な機器で
相互接続性が保証出来るか否かを検査しているらしい.
一般の消費者が使用するIEEE 802.11なブツがAPとして動作する場合,
100[ms]程度の間隔でbeaconを吐く様になっているらしい.
[And IEEE 802.11 does not specified BeaconPeriod value explicitly.
But WiFi-blah tests their connectivity for different vendor's products.
In general, most of IEEE 802.11 products which can be available for consumer
may transmit beacon every about 100[ms] interval.]

勿論,beacon自体を暗号化してしまう手もあるだろうが,
この辺はまた別でIEEE 802.11[a-z]の内,"せきゅりてぃ"なトコが担当しているので良く知らない.
そもそも暗号化したbeaconに対応しない機器では相互接続性は確立出来無い.
[Of cource, there is a way to encrypt beacon itself.
But it's beyond of IEEE 802.11, it's mentioned in security enhancement group
which is one of IEEE 802.11[a-z].
And you can easy to understand it breaks connectivity.]

単純に,「APがbeaconを吐かなきゃ良いじゃん」とか思ったりするが,それはそれで問題有り.
beaconはAPの存在をSTAに知らせる為のbroadcastなブツであり,
且つTSFタイマと言うAPが刻むBSS毎にuniqueなタイマのtimestampを使用して,
未だBSSに属していないSTAがこのTSFタイマに同期する為のブツとしても使用されている.
これはそもそもIEEE 802.11の規定する無線伝送路での通信手段として,
Ethernetで良く知られる
CSMA/CD == Carrier Sense Multiple Access/Collision Detection
ではなくて,
CSMA/CA == Carrier Sense Multiple Access/Collision Avoidance
を使っているから,BSSに未だ同期していないSTAは自ら無線伝送路にブツを吐けない.
勿論,Collision Avoidanceとは言ってもcollisionする事は考慮されているので,
dot11ShortRetryやらdot11LongRetryってのがIEEE 802.11 MAC MIBには存在する.
[Simply, "No beacon transmit is another way to go", of course no.
Beacon is broadcast one to announce where AP is at all,
and it's for synchronize TSF timer which is unique timer of each
BSS as well.
Well, IEEE 802.11 is based on CSMA/CA, not CSMA/CD AKA which is use
base of Ethernet.
So, STA wouldn't transmit any frame before synchronized BSS.]

それからWEPはその名の通り,Wired Equivalent Privacy.
つまり,有線と同等の"ぷらいばしー"と言う意味.
利用可能な周波数のチャネル数がバカHUBの台数だけしかなくて,
それらのポートが空中に浮いていると思えば良い.
通信路の途中でframeを盗聴するなんて簡単なのがよーく分かるはず.
[BTW, WEP stands for Wired Equivalent Privacy.
Imagine, number of available frequency channel is equal to
number of repeater and everyone can use these repeater.
It's really easy to get other's frame by simply tapping.]

まとめると,リンク先で盛り上がっているMACアドレスによるfilteringって話は,
Frame Control fieldのoctet streamに対する単純なdecoderでしかない
address recognizerの部分をSMEを経由してソフトウェア側で実現しているだけ.
[That MAC address filtering is simple.
It is software implementation of SME of address recognizer
which decode octet stream of one of Frame Control filed stuffs.]

つまり,ハードウェアにヘチョいブツ混じっているのがまず問題なんじゃね?
と言う訳で,みなさんはハードウェアには投資して下さい. :P
[So, the problem is, many dumb hardware are?
Say, pay to get proper/sane hardware, plz. :P]

0 件のコメント: