2009-05-19

舶来NAS「Maxtor Shared Storage II」購入

家庭用NAS(ファイルサーバ)として玄箱アマゾン)を使ってきたんですが、ファンが異音を立てるようになりました。分解して取り替えるのも面倒なので、丸ごとリプレースを考えることにしました。

玄箱はDebian化していましたが、最近は結局ファイルサーバーとしてしか使っていません。だったら次に買うのはもう普通のNASでいいやと価格.comで探してみたら、値段的にはバッファロー一択状態。もちろん他社からもNASはいろいろ発売されていますが、同価格帯で比べると、バッファローだと他社機より1ランク上の物が買えちゃいます。

バッファロー製の中でもラインナップは豊富で、RAIDとかUSB接続より速いとかSSD&ファンレスで超静音とか特徴的な機種もいろいろありますが、今回はスタンダードなシングルHDDタイプの比較的リーズナブルな機種を選びます。ただしギガビットイーサは必須とします。

それでもいくつか選択肢がありますが、大きくはHDD容量と「DLNA等サーバー機能の有無」が選択ポイントのようです。
以下はアマゾン価格です。価格.comだと送料まで考えればアマゾンが大体最安かそれに近いので。

【500GB】
LS-C500L(DLNAなし) ¥11,650(¥23/GB)
LS-CH500L(DLNAあり) ¥13,545(¥27/GB)
【640GB】
LS-H640GL(DLNAあり/生産完了) ¥14,674(¥23/GB)
【1TB】
LS-C1.0TL(DLNAなし) ¥16,432(¥16/GB)
LS-CH1.0TL(DLNAあり) ¥17,505(¥17/GB)

容量単価を考えると500GBはもったいないような気もします。DLNAは、あればPS3等で使えて楽しそうですが、じゃあ実際に使うかというと微妙。でも1TBモデルのように差が千円強ならあってもいいかも。値段が高いほうがハードウェア性能も良いかもしれないし。しかし写真を見る限りでは同じ筐体っぽいので、違いはソフトウェアだけかも…?

などと思いを巡らせていた矢先、ドスパラのオンラインショップでふと遭遇したのが「Seagate STM31004SSA20G-RK」という機種。

書かれていたスペックは、なんと以下3行だけ。

◇インターフェース(LAN):10/100/1000 Gigabit Ethernet Lan Connection
◇対応ドライブ:搭載:Maxtor Shared Storage 1TB 32MB cache
◇容量:1TB

情報が少なすぎで、ものすごい博打感が漂います。しかし「ギガビットイーサ+1TB」で13,980円(送料入れて14,768円)は魅力。

数少ないスペック情報と写真を元に世界を探してみると、見つかりました。
Maxtor Shared Storage™ II 1TB Single Drive

日本語の公式サイトが見つからなかったので、おそらく日本では公式には流通していない輸入品扱いなのでしょう。
英語サイトによると「UPnP AV / Designed to DLNA guidelines」とあるので、何とDLNA対応です。
しかもUSBポートが2個ついていて、プリンタ共有や外部ストレージの接続が可能とあります。
あとは自動バックアップだの何だのという便利機能もあるようですが、そういうクライアント(PC)側にいろいろソフトを入れなきゃいけない系の機能は、たぶん使わない気がします。

というわけでスペックはけっこう良さそう。買ってみました。
結論から言うと、コストパフォーマンスはいいです。

まずは外箱と中身。
MaxtorSharedStorageII/外箱
MaxtorSharedStorageII/外箱(概要)
MaxtorSharedStorageII/同梱物一覧
つづいて本体の背中。左からLANポート(gigabit)、USB×2、ACアダプタ、電源スイッチ。
MaxtorSharedStorageII/本体背面
細かい点を補足すると、LANポートの左にある小さな穴はリセットスイッチ、その上の四角い穴(ラベル左隣)はセキュリティ(ケンジントン)ロック用の穴です。

日本で使って大丈夫?

MaxtorSharedStorageII/ACアダプタ
ACアダプタは100-240Vでした。日本の家庭用電源でも普通に使えます。
無線機能は持っていないので、「海外製品を日本国内で使うと電波法違反になるのでは?」という心配も不要です。

アフターサポートは?

私が買ったドスパラでは、販売店で6ヶ月の無償保証をしてくれるそうです。(他店がどうかは知りません)

いちおうメーカー(Seagate)の保証は1年となっていますが、それは本国の話で、シーゲイト日本法人がサポートしてくれるかは微妙です。6ヶ月が過ぎたら、無償どころか有償での修理にも苦労しそう。

もっともHDDは消耗品ですし値下がりも激しいので、2~3年後ともなれば有償で修理するよりは新しく買ったほうが良いかもしれません。7ヶ月で壊れたら……安物買いの何とやら、バクチに負けたと諦めるのが一番でしょうか。

日本語は使える?

日本語のファイルが正しく扱えなかったらどうしよう、というのが使う前の最大の懸念点でした。
Windows XPからしか確認していませんが、ファイルサーバーとして保存するファイル/フォルダ名には日本語は不自由なく使えます
MaxtorSharedStorageII/ファイルの日本語対応

ご覧のとおり、Unicodeレベルでちゃんと対応してるようで、かつて「機種依存文字」と呼ばれていた半角カタカナや丸数字、「はしご高」や「草なぎ」の「なぎ」を使っても大丈夫でした。Unicodeに変換するときに化けやすい全角チルダ「~」も意図通りに表示されているようです。
Macは持っていないので、相互利用性については分かりません。

MaxtorSharedStorageII/Web管理画面(言語設定)ただし、設定画面のUIで日本語は選べません。日本語のマニュアルもありません。

「NASとは何か」を知っている人なら、英語に自信がなくても、設定画面やマニュアルに書いてあることは大体想像がつくと思うので何とかなるかと。
NASに詳しくなく、かつ外国語アレルギーという方は、さすがに国内メーカーの機種を買うべきです。

スペック情報の対応機種にはWin2000/XP/Mediacenter/MacOSXとしかないけど?

Vista用のCD-ROMも入っていました。Windows 7や64bit版の対応状況は分かりません。
もっとも、設定画面はWebインターフェースです。ファイルサーバーとしての機能は、CD-ROMに収録されているソフトを使わなくても(インストールしなくても)利用でき、常駐ソフトを減らしたい人も安心です。

ただし、「自動ワンタッチバックアップ」などの機能を使うには、同梱ソフトを使うことになります。
もっともそれをインストールせず、他の好きなバックアップソフトを使ってもおそらく問題はないかと。

Linuxからも使える?

同梱ソフトはLinuxでは使えませんが、普通に mount.cifs でアクセス可能です。

# mount -t cifs //192.168.0.xxx/Public /mnt/public -o username=xxx,password=xxx,iocharset=utf8

【同梱ソフトを使わずにどうやって初期設定するのか気になる人へ】
Web管理画面で設定したいが、その管理画面を表示するのに必要な「NASのIPアドレス」はどうやって知るのか? という点がLinuxしかない人は気になるかもしれません。
CD-ROMに収録された専用クライアントソフトを使えば、LAN上にあるNASを見つけてIPアドレスを教えてくれますが、専用ソフトを使わなくても何とかなります。工場出荷時設定では、DHCPでIPアドレスを取得するからです。
DHCPサーバー(ルーターであることが多い)のログを見ればどんなIPアドレスが振り出されたかは見当がつきますし、ログを見なくても、192.168.0.3、~.4、~.5 と順番にブラウザのアドレス入力欄に打ち込んでいけば(LANを192.168.0.*で構成している場合)、遠からずNASの設定画面が表示されることでしょう。
設定画面に入れたら、固定IPに変更しておくとその後ラクです。

なお、カーネルのバージョン等にもよるでしょうが、私の環境ではマウントしただけではパーミッションやタイムスタンプがうまく設定されないことがありました。/var/log/messages に「nounixオプションを付けてマウントするといいかも」とメッセージが出ていて、それに従ったら解決しました。

パワーマネジメント機能はある?

一定時間アクセスがなければスリープする」機能があります。「15分/30分/1時間/2時間/なし」の5段階から選べます。
「なし」があるということは24時間稼働させていても大丈夫なHDDなのかもしれませんが、使わないときはスリープさせることでHDDの寿命を延ばせるかもしれません。デフォルトは確か「1時間」。

スリープ中も放熱ファンは回っているようで残念。
(もしかしたら止め方があるのかもしれませんが、今のところ不明)

静音性は?

ファンの音は「うるさい」というほどではないですが、寝室に置くには気になるかも。ファンを止められればいいんですが。

Jumbo Frameは?

ジャンボフレーム対応なのでギガビットLANのポテンシャルを引き出せます。フレームサイズは「4K/8K」から選べます。

DLNAサーバーはPS3から使える?

大丈夫でした。下の写真、赤枠のようにPS3から認識されています。
MaxtorSharedStorageII/DLNA(PS3)
iTunesサーバーになる機能も持っているみたいです。

速度は?

いまギガビットLAN環境がなく、中途半端なベンチマークしかできないので実測値は掲載しないことにします。

インターネットからのWebアクセス機能は?

外出先などインターネットからWeb経由でアクセス(ファイルの閲覧/ダウンロード/アップロード)することも可能です。
ただし、「Maxtor Shared Storage II を Maxtor Central Axis に変換するファームウェア」の適用が必要です。ファームウェアは公式に無料で配布されています。

「Maxtor Central Axis」がそもそも何なのかがよく分からず、コンバートすることで他に何ができるようになるのか、逆に失われるものがあるのかないのか、詳細がさっぱり不明なあたりはお国柄ですが、どうやら元々は別製品のようです。
元々の「Shared Storage II」のファームウェアのバージョンが「v3.1.28」、「Central Axis」のバージョンが「v3.5.74」と微妙に近いところを見ると、後継製品なのかもしれません。

なお、Webアクセス機能を利用するには同梱の専用ソフトでの設定が必要でした。(つまり、WindowsかMac環境がないと設定ができません)
具体的には、インターネットからNASにアクセスするには、メーカーが提供するSeagate Global Accessというサイトにログインする必要があるのですが、「このログインアカウントと実際のNASとの紐付け」をWeb管理画面から行う方法が見つかりませんでした。

ただし、いちど紐付けしてしまえば、その後は専用ソフトを使わずともWebアクセス機能は利用できます。
Seagate Global Accessサービスは無料。日本時間で毎週水曜の12~13時(サマータイム時は11~12時)はメンテナンスで利用できません。

4GB超ファイルは置ける?

4GB制限のあるFAT32のNASなんて滅多にないでしょうが、一応確認。問題ありません。
4GB超ファイル/MaxtorSharedStorageII
ちなみに4GBのファイルを作るには、Linuxやcygwin等で dd コマンドを使うとラクです。下記のようにbs(ブロックサイズ)を指定すれば、1024*1024*1024*4を電卓で計算する必要もありません。

$ dd if=/dev/zero of=over4GB bs=1G count=4

ftp/telnet/sshログインできる?

できません。

まとめ

値段の割にはなかなか高機能で満足しています。スリープ時にファンが止まらないのが今のところ唯一の難点。
こんどUSB関連を試してみようかと思います。

2009-05-08

無線LANの「最強暗号化キー」を作ろう

無線LANを使用するのに欠かせない「暗号化キー」(WPAキー)。
できる限り最高レベルのセキュリティを目指すキーを自動的に生成するツールを、JavaScriptで作ってみました。
以下のボタンを押すと、なるべく最強の暗号化キーをランダムに生成します。


(※WPA/WPA2-PSKのパスフレーズ)


簡単な説明


無線LANの暗号化方式がWPA/WPA2-PSK(つまりTKIPやAES)で共有鍵を使う場合に、指定する暗号化キー(パスフレーズ)を、ランダムに生成します。
WPAで定められている仕様等の範囲で、できる限り最高のセキュリティレベルを目指したパスフレーズを生成します。

  • 無線ルーターによって使用可能な記号類の種類が違うようなので(詳しくは後述)、「どんな文字を使わないか」を自由に設定できるようにしました。
    いくつかのルーターで拒否される文字はデフォルトで用意してあります(詳細後述)。お使いの無線ルーターにそれでも受け付けてもらえない場合は、「使いたくない文字」の種類を増やして調整してみてください。
  • 「英大文字」「英小文字」「数字」「記号」の4文字種とも必ず含む、半角63文字のパスフレーズを生成します。
    (自動生成した結果、上の4種のうち1種でも欠けていたら、それはボツにして作り直しています)
  • 生成されるのはWPA用のキーであって、WEP用の暗号化キーではありません。長さ(63文字)がWEPには合いませんし、それ以前にWEPはもはやセキュリティ的にあまり信頼できないので、そもそも利用をオススメしません。
  • 最高レベルのパスフレーズと言っても、「このツールで生成したパスフレーズであれば永遠に破られない」、という意味ではありません。WPAの仕様や無線ルーターの実装等の制約の中での最高レベルを目指しただけです。科学や技術の進歩とともに容易に破られうる日がいつかは来ます。
  • 「ランダム」と言ってもJavaScriptのMath.random()の疑似乱数をそのまま使っています。どのくらい疑似なのかはブラウザ(JavaScriptエンジン)の実装に依存します。
  • 「使いたくない文字」の設定を増やせば増やすほど、セキュリティ強度は弱まり、最高でも何でもないレベルのパスフレーズが生成されやすくなります。

以下、背景と技術的解説が長々と続きます。興味のある方はどうぞ。

背景(どうして生成ツールを作ったか)


ことの始まりは、先日買ったバッファローの無線ルーターWZR-AGL300NHでした。

ここでCMですが、この機種は5GHz帯(11a)と2.4GHz帯(11g/b)の同時利用ができるうえに有線ポートはギガビット対応、なのにアマゾンでは単体でも¥1.2万強とリーズナブルなお値段で販売されています。さらにUSBアダプタとのセットだと¥1.5万弱イーサネットコンバータとのセットに至っては¥1.7万弱と大変お買い得な品となっております。…CMここまで。

この無線ルーター、AWSやWEPといった暗号方式別に複数のSSIDを吹いて、異なるセキュリティレベルのネットワークを混在させられるので便利です(詳しくは、先日の記事で)。
ただ、AESがあるからTKIPは要らないのに、TKIP用のSSIDも吹かれるのは残念です。(WEP用SSIDは不要なら停止できるようになっているのですが、TKIPのネットワークは止めることができません)

そこで、TKIPを止めることができないのなら、せめて使わずに放置しておいても安心なように、セキュリティのレベルを最高まで上げてしまおうと考えました。仮に今後TKIPの脆弱性みたいなものが見つかっても、それなら簡単には破られないでしょう。……たぶん。

セキュリティレベルを上げるためには、何をいじればよい?

さて、「TKIPネットワークのセキュリティを最高レベルに引き上げる」と言っても、この無線ルーターのTKIPの項目で設定できるのは、次の3項目だけです。
SSID
暗号化キー
キーの更新間隔
(なお、キー更新間隔はAESと共通)

ちなみに「ルーターのセキュリティレベル」と言えば「MACアドレス制限」を思い出す人も多いかもしれません。ところがこのルーターでは、AOSS機能がオンになっているとMACアドレスの制限はできないのです。
じゃあAOSSはオフにすべきかと言うと、そうもいきません。AOSSを無効にすると、マルチSSID機能が使えなくなってしまうのです。

一見「使えないルーターだなあ」と思っちゃいそうですが、実はMACアドレス制限は無意味(高木先生の記事)だとか。
MACアドレスは通信の過程で暗号化されないため簡単に傍受できます。そのためMACアドレスで制限したとしても、その気になった人がMACアドレスを偽装して制限をすり抜けるのは、難しいことではありません。

もう一つ、「意味のないセキュリティ対策」としてはSSIDのステルス化があります。
ステルスにしたところで、SSIDは簡単に入手できるツールで簡単に発見できます。ステルスにしてもセキュリティ的に安全が得られるわけではありません。
それを踏まえてか、このルーターではAOSSをオンにしているとSSIDのステルス化もできません。

というわけで、セキュリティレベルを上げようと思うなら「暗号化キーをいかに複雑にするか」に全てが掛かってくることが判明しました。

(ここから延々解説)WPAの「暗号化キー」とは?

そもそも暗号化キーとは何でしょう……という話を始めると「そもそも暗号とは」という数学的な話に入ってしまうので、ここでは暗号化するための「鍵」、という文字通りの意味で納得したことにします。
暗号について詳しく学びたい方は『新版暗号技術入門 秘密の国のアリス』(結城 浩/ソフトバンククリエイティブ )(アマゾンで購入)などが評判良いようです。

さて、鍵は長ければ長いほどがよく、できるだけいろんな文字(記号とか)を使ったほうがいいと言われています。では、
(1)鍵の長さは最大で何文字までで、
(2)鍵にはどんな文字が使える
のでしょう?

このルーターのヘルプを見ると、「8~63文字の半角英数字記号が指定できます」とあります。
最大は63文字らしいことが分かりましたが、「英数字記号」の「英数字」はともかく「記号」とは何でしょう
使っていい記号と使ってはいけない記号があるのでしょうか。ピリオドとかハイフンは何となく経験的に大丈夫そうですが、「\」(半角バックスラッシュというか円記号というか)はどうだろう、半角スペースは…スペースってそもそも「記号」に入るのだろうか? 等々、疑問が湧きます。

「WEPキー」のASCII文字列と16進数

ここでちょっと昔話。WEPの場合を回想してみます。
…「昔話」って今もWEPはあるんですけど? と思われるかもしれませんが、繰り返しますがセキュリティ的に使うべきでないとされているので、過去の話として進めます。

WEPキーの長さは、
「64bitの場合、ASCIIで5文字か16進数で10桁」
「128bitの場合、ASCIIで13文字か16進数で26桁」
でした。

WEPキーにおける「16進数」というのは、ASCII文字列を16進表記したものでした。そのため、設定可能なキーの種類はASCII文字列のほうが少ないことになります。
なぜならASCII文字列は全て16進で表記できますが、逆は成り立たないからです。例えば16進数で0x00とか0x7Fとか0x99といった値は、ASCII文字(厳密に言うと印字可能文字と呼ばれる0x20~0x7E)では表現できません。
そのため、WEPキーは「ASCII文字に含まれない値も使って16進で指定したほうが多少は安全」というような話もありました。今となっては五十歩百歩ですが。

さて、なぜそんな昔話をしたかというと、その「暗号化キーとしてASCII文字列を指定するのってイマイチ」という話は、WPAにも当てはまるのか? と思ったからです。
ルーターによっては16進数64桁での設定も可能な機種があるようですが、ウチのWZR-AGL300NHは違います。ASCIIでしか指定できないというのはセキュリティ的にはどうなのでしょう?

だいたい、暗号化キーの長さが「8~63文字」という可変長なのはどういうわけでしょう?
ASCIIの1文字が8bit分ですから、「8~63文字」だと「64bit~504bit」?
鍵長がそんな自由なはずはないですよね……?

WPAの暗号鍵はハッシュ関数で生成される

困ったときのWikipedia。WPA(Wi-Fi_Protected_Access)の項によると、ハッシュ関数で256bitの鍵を生成しているそうです。
なーんだ! 道理で暗号化キーがたった8文字でも許されるわけです。

そして、これまで「暗号化キー」と呼んできたものは実は暗号の鍵そのものではなく、「鍵をハッシュ関数で生成するための材料」だったようです。それもあって「パスフレーズ」と呼んでいるのですね。

ちなみに16進数64桁での入力が可能な機種の場合は、ハッシュ関数を通さず、それをそのまま暗号鍵として使うとのこと。
16進数なら1桁4bitですから、確かに64桁でちょうど256bitです。

なお、いまさっき「パスフレーズは8文字でも許される」と書きましたが、それはあくまで仕様上の話。
現実的には、総当たり攻撃などを考えると、安心なのは「13文字以上」とWikipediaにあります。

複数人で共用する無線LANの場合、パスフレーズをMAXの63文字(しかも記号とか含んだランダム文字列)にするのは運用上、現実的ではないかもしれません。
13文字くらいなら何とかなりそうですが、人間的に意味のない文字記号63個の羅列だと、入力ミスが頻発します。あげく、情報システム管理者はしょっちゅう「無線LANの設定ができない! ルーター落ちてんじゃないの?」という問い合わせに「いえ落ちてません、暗号化キーの入力間違いなのでもう一度よーく確認して入力してください」「もう3回も確認したよ!」「でもルーターは安定稼働中ですし…」というお決まりのやり取りを繰り返させられるのだろうと想像できます。
63文字と言わず、20文字程度でも職場で本当によく見る光景です。

しかし今回は「放置するネットワークのために利便性とか無視で最強レベルのパスフレーズを考える」という目的ですので、長さは当然、MAXの63文字で決定です。

パスフレーズが十分に長ければ、SSIDは何でもいい?

ちょっと脱線しますが、暗号鍵を生成するためのハッシュ関数には、このパスフレーズに加えてSSIDも与えます
パスフレーズが十分に長ければ、SSIDはどうせAOSSをオンにしている限りステルスにはできないし、適当に付けておけばいいや……と考えるかもしれません。

ところが。
世の中には「Church of Wifi WPA-PSK Rainbow Tables」というものがあります。
ありがちなSSIDの上位1000件それぞれについて、ありがちなパスフレーズ約100万件を使った場合の暗号鍵がすべて収録されているデータベースだそうです。
このDBに収録されているSSIDとパスフレーズの組み合わせを使っている無線LANは、セキュリティ的に少々不安があります。

なお、この「パスフレーズランダム生成ツール」は、今のところ「ありがちなパスフレーズ約100万件」に収録されているありがちなパスフレーズは生成しません
100万件をダウンロードして確認しましたが(正確には996,358件でした)、その中には長さが63文字のパスフレーズは1つも含まれていなかったからです。(目視じゃなくて、カウントするスクリプトを書いて確認しました。いちばん長かったのは41,372件目の“No_Lord_Shall_Stand_Before_Myself,I_am_Deicide”で44文字)
そのため、現状、この「ありがちなSSID」に収録されているSSIDを使ったとしても、ありがちな暗号鍵は生成されません。

ただし、今後もしこのデータベースが拡張され、63文字のパスフレーズが収録された場合、そのパスフレーズが当ツールでランダム生成される(または過去に生成されていた)可能性はゼロではありません。
(ランダムに生成された63文字のパスフレーズが偶然に収録される確率は天文学的と言っていいほど低いと思いますが……)

とはいえ「そんなデータベースにSSIDが収録されていると気持ち悪い」という方は、よくあるSSIDのリストで確認してみてもよいかと。なお、海外の統計のため日本ではおなじみの「YBBナントカ」などは含まれていません。

【追記】
なお、「ありがちなSSID」として収録されるのを避けるため、ユニークな値を含めばいいかとMACアドレスを入れる――というのは逆に危険な行為です。
参考:Windowsの無線LANが放送するSSIDからPlaceEngineで自宅の場所を特定される恐れ(高木先生の記事)
【追記ここまで】

パスフレーズに利用可能な文字種は95文字のはずだけど…?

閑話休題。パスフレーズの最大長は63文字と判明したので、次はもう1つの問題、「一口に“記号”と言っても具体的にはどんな記号が使えるのか」です。

前掲のWikipediaにはサラリと「総当り攻撃への対策としては、13文字のランダムなパスフレーズ(文字種は95文字)で十分と言われている」という記述がありました。ASCIIで95文字ということは、0x20~0x7E (正規表現で書くと /[ -~]/ )でしょうか?
日本語版のWikipediaを読んでもよく分かりませんでしたが、英語版WikipediaのWPAの項 を見たら次のように明記されていました。

Each character in the pass-phrase must have an encoding in the range of 32 to 126 (decimal), inclusive. (IEEE Std. 802.11i-2004, Annex H.4.1)
The space character is included in this range.

というわけで、ピリオドやハイフンはおろか、< も " も \ も、半角スペースさえ使っていいことが分かりました。他方、0x00(NULL)や0x7F(DEL)などは使えないようです。ASCIIに含まれない半角カタカナ(JIS X 0201)などもNG。
もっとも、ハッシュ関数に通す以上、WEPキーのときと違って「非ASCII印字可能文字」を敢えて使うべき理由もないです。

これで文字種の問題も解決……と思いきや、実際に記号類をふんだんに使ったパスフレーズを無線ルーターに設定しようとすると、「その文字は使えません」的なエラーが出ることが分かりました。
ルーターによっては、必ずしも95文字種すべてを利用可能とはいかないようです。

ルーターによって使用可能文字は異なる

たとえば私が買った機種、バッファローのWZR-AGL300NHでは「スペースは使えない」と明記されています。その他の記号類は何が使えて何が使えないのか、説明はありませんでした(全部使えるのかも)。
他メーカーでは、たとえばNEC機種のマニュアルによると、半角スペースの他に「?」がなぜか使えないようです。
coregaのとある機種のマニュアルによれば、半角スペースの他に「=」「~」「`」(バッククォート)の3文字が使えないようです。

というわけで、当ランダムパスフレーズ生成ツールでは、「特定の文字を含まずにパスフレーズを生成する」という指定ができるようにしました。
とりあえず、いま出てきた5文字を除外した90字種から生成するようにしています。お使いの無線ルーターの仕様に合わせて自由に足し引きしてください。

なお、できる限り、63文字長のパスフレーズ中に「英大文字」「英小文字」「数字」「その他(記号)」の4グループすべてを必ず含むものを生成しようとします。
ただ、完全ランダムだと、偶然「77777(中略)777」という「7」が63個連続するだけの、運は良さそうですがセキュリティ面ではよろしくなさそうなパスフレーズが生成される確率も、天文学的な確率とは言えゼロではありません。
そういうイマイチなパスフレーズが運悪く(運良く?)生成された場合は、破棄して自動的に再生成します。

ただし、除外文字が多ければ多いほど、どれだけ繰り返しても「4グループすべてを含むパスフレーズ」を生成できない確率が上がります。数百回繰り返しても生成できなかった場合は、「4グループすべてを含んでいるわけではない」という但し書きとともに、セキュリティ的には最高レベルとは言えないパスフレーズを表示します。
「いつまで経っても生成処理が終わらない」というループを防ぐための措置ですので、ご了承ください。

暗号鍵として16進数64桁を直接設定できるルーターもあるけれど

ところで、「無線ルーターによっては、パスフレーズの代わりに64桁の16進数で256bitの暗号鍵を直接設定できる場合もある」と先に書きました。
「除外文字とかややこしいことを考えなくても、ランダムで64桁の16進数を出力するツールを作ればいいのに」と思われた方もいるかもしれません。
そうしなかった理由は単純で、ウチのWZR-AGL300NHは16進入力に対応していなかったからです……。

もっとも、上述のようにWEPキーの時と違って、「ASCII文字でのパスフレーズ入力」が「16進数入力」と比べてセキュリティ的に劣るわけではないということが分かったのは大きな収穫でした。

実は「16進でランダムに“暗号化キー”を生成する機能」はあらかじめこのルーター(Web管理画面)に一応備わっているのですが、実行すると「0~Fの16文字種しか使わない63桁のパスフレーズ」が生成されるのです。それはちょっと……。

それでも、ついでなので16進数版も作っておきました。
「ウチのルーターは、ASCII入力だと英数字のみで記号を受け付けないので不安」という方はこちらをお使いください。


(※WPA/WPA2-PSK)


こちらは解説するよりJavaScriptのソースを見ていただいたほうが早いかもしれませんが、単に16面体のサイコロを64回振るだけです。(サイコロと違って疑似乱数ですが)

まとめ

これでとりあえず、ウチのルーターWZR-AGL300NHが使いもしないTKIPの電波を吹きっぱなしでも、セキュリティ的に人事を尽くせた感があり、まあそれなりに安心して放置できそうです。
ただ、常用するAESのほうは覚えやすいパスフレーズを設定してあるので、「パスフレーズ的には常用するネットワークのほうがセキュリティレベルが低い」という逆転現象が起きています。いささか複雑な気分です。

2009-05-02

PLC(電力線LAN)アダプターが2個で3,960円

NTT-X StoreでPLC(電力線LAN)アダプターが激安です。

PLCアダプタ HDX101-200JPS(NETGEAR Inc.)
1,980円(税込) 送料無料

NTT-X Store 販売ページへ





2つ以上ないと用をなしませんが、2つ買っても3,960円。2個セットもありますが3,980円なので、なぜか1つずつ買ったほうが20円安いという地球に優しくない状況になっています。

価格.comのPLCページを見ると、次に安い店が1個4,970円、2個セット9,799円。別メーカー品も含めた「PLCアダプタ最安値」で探してもセールで3千円、通常5千円程度ですから、NTT-Xストア、破格です。

PLCって何? という方はWikipedia(電力線搬送通信)などをご覧いただくとして、この機種はメーカー公式サイトによると、理論値200Mbps、実効スループット最大80Mbpsとのこと。11a/gの無線LAN(理論値54Mbps、実効20~30Mbpsくらい?)と比べても速そうです。
あんまり気になったので、近所にアマチュア無線家がいないことを祈りつつ注文してみました。(アマチュア無線や短波ラジオ等と周波数が重なるため、互いに影響が出るそうです)



ちなみにNTT-X Storeでは、同じネットギア社の無線LANルーター「WNDR3300M」(右写真)も、11n/a/b/g対応で5,680円(税込/送料無料)と価格破壊中です。メーカー公式サイトでは有線部ギガビットイーサ非対応とあるにも関わらずNTT-X Store販売ページに「有線スループット580Mbps」と書かれている理由は謎ですが、「5GHz帯で11nを使いつつ2.4GHz帯で11b/g」という同時利用もできるようなので、お買い得であることに変わりはありません。

2009-05-01

バッファローの無線ルータ、AOSS機能は活かすか殺すか

先日、無線LANルータを買い換えました。あこがれの802.11n対応機です。300Mbps(理論値)!
今回、ちょっと贅沢に行こうと、次のような条件で機種を探しました。
  • 802.11nの300Mbps対応
  • 2.4GHz帯と5GHz帯の同時利用可能
  • 有線LANポートはgigabit(1000BASE-T)対応
結果、バッファロー(BUFFALO)の WZR-AGL300NH がミート。イーサネットコンバータとのセット(WZR-AGL300NH/E)で実売1万7千円前後(アマゾン)という価格が魅力でした。
無線ルータ(WZR-AGL300NH)が単体で(1万2千円くらい、イーサネットコンバータ(WLI-TX4-AG300N)が単体で(8千円くらいですから、セットのほうが断然お得です。「5GHz帯(11a)で11n(300Mbps)対応のコンバータ」というのは他メーカーからはあまり発売されておらず、価格競争もなさそうなわりにはアグレッシブな値付けです。

イーサネットコンバータはTV付近に置きます。PS3では、今まで1GBを超えることもあるファイルを802.11g(54Mbps)でダウンロードしてましたが、これでやっと次世代機の威力を発揮できます。テレビはまだSDブラウン管ですが。

WEPは使いたくないけど、DSはWEPしか使えない

さて、無線LANを設置する際に避けて通れないのがセキュリティ設定。
難しいことを考えなくても、暗号を最高強度に上げておけば当分は心配無用……と行きたいところですが、悩ましいのがニンテンドーDSの存在です。

我が家にあるDS以外の無線LAN対応機器、具体的にはPCやイーサネットコンバータ、PSP、iPhoneなんかはどれもWPA(AES)での接続が可能なのですが、DSだけはWEPでないと接続できないのです。かと言って今どきWEPで無線ネットワークを構築するのは、いくらなんでもちょっと。

でも大丈夫!
WZR-AGL300NHには「マルチセキュリティ」なる機能が搭載されていて、AES・TKIP・WEPの3種のセキュリティ方式の混在利用が可能、と公式サイトに書いてありました。
さらに、WEP接続の場合はLAN内の他の機器との通信を不許可にして、インターネットにのみ接続できるような設定も可能とあります。

それなら安心……と思って購入し、運用してみて確かに安心ではあるんですが、いくつか事前に思っていたことと微妙に違うポイントがあったので記しておきます。

AOSS機能を無効にするとマルチセキュリティが使えない

上述の「マルチセキュリティ」機能は、バッファローが誇るワンタッチ設定システム「AOSS」とガッチリ統合されていました。AOSS機能をオフにした場合、マルチセキュリティ機能は使えません

AOSS機能を有効にした場合の残念な点

AOSSを有効にした場合、対応子機を設定する際に暗号化キーを手入力したりしなくて済むので、ラクといえばラクです。バッファロー製イーサネットコンバータはもちろんのこと、PSPもDSもPS3もWiiもAOSSに対応していて、意外と対応機種は多いです。

しかし、AOSSを有効にした場合、(少なくともこのWZR-AGL300NHでは)次のような残念ポイントがありました。

  • SSIDの隠蔽(ステルス)ができない
    SSIDを全力でブロードキャストしてしまいます。もっとも、セキュリティ的な観点からは、SSIDの隠蔽は気休め程度の効果しかない(隠したつもりでも実は簡単に見つけることができる)ので、実質的なセキュリティ低下があるわけではないのですが。
  • MACアドレス制限(ホワイトリスト)に対応していない
    「あらかじめ無線ルータに登録したMACアドレスのみ通信可能にする」というホワイトリスト形式でのアクセス制限ができません。(接続してきた機器のMACアドレスを接続禁止にする、というブラックリスト形式での制限は可能)
    これもSSID同様、制限したつもりでも簡単にすり抜けられるので、実質的なセキュリティには影響ありません。

……一見残念なようで、よく考えると別に残念ではありませんでした。ただし後述しますが別に残念な点があります。

AOSS機能を有効にしても残念ではない点

AOSSで誤解されがちというか、「AOSSのデメリットと言われることが多いけど、実は誤解なポイント」もついでに書いておきます。
AOSSで多い誤解が、「AOSSを使わないといけない」という点。実はAOSSを使わずに(手動で)設定することもできるのです。AOSSに対応していないiPhone等はもちろん、DSやPSP等のAOSS対応機器を敢えて手動設定することだって可能です。

また、AOSSを使う場合、無線ルータがSSIDを勝手に決めるのが不愉快でしたが、WZR-AGL300NHの場合はβ版のファームウェア(Ver.1.51β以降)を使うことで、任意のSSIDを設定することができます。
暗号化キーも任意に設定できます。

マルチセキュリティ機能では最大6つのSSID

さて、本題のマルチセキュリティ機能。どんな設定ができるのか、概要です。
まず、これから書いていく設定はすべて、5GHz帯と2.4GHz帯でそれぞれ別々に設定できます。5GHz帯と2.4GHz帯で用途を分けることが多いでしょうから、これは便利。

そして各周波数帯ごとに、「AES」「TKIP」「WEP」の3つの暗号化方式を同時に利用できます。
使い分けはSSIDで行います。つまり、「AES用SSID」「TKIP用SSID」「WEP用SSID」の3つをそれぞれ設定できます。(両周波数帯合計で6つものSSIDを発信することになります)

さらにWEPに関しては、「64bit」「128bit」「停止」を選ぶことができます。「停止」にするとWEP接続を禁止します(SSIDも吹かなくなります)。周波数帯ごとに選べます。
また、WEP接続を隔離するか否かも設定でき、隔離する場合はWEP接続機器とWPA(AES/TKIP)接続機器どうしの通信は遮断されます。しつこいですが周波数帯ごとに選べます。
(「プライバシーセパレータ」機能をONにすれば、WPA機器どうしの通信も遮断できます)

というわけで、マルチセキュリティ機能はけっこう設定の自由度が高いのでした。MACアドレス制限ができない割には。
惜しむらくは、停止可能なのがWEPだけで、TKIPは止められないことくらいでしょうか。今や「TKIPには対応しているけどAES未対応」なんて機器は滅多にないですから、AESだけ残してTKIPは止めてしまいたいところです。これが最大の残念ポイントでしょうか。

具体的な設定例


というわけで、ウチでは次のように設定してみました。

【5GHz帯】(802.11a/n) 最大300Mbps
■WEP→使用しない(停止)
■TKIP→使用しない(停止できればいいのに)
■AES→PC、イーサネットコンバータ(経由でPS3等)で利用

【2.4GHz帯】(802.11b/g) 最大54Mbps
■WEP→128bit、隔離、DS専用
■TKIP→使用しない(これも停止できればいいのに)
■AES→iPhone、PSP等で利用

でもって無線ルータの有線ポートにはNASがつながっています。

使わないTKIPをどうするか

使わないけど止めることもできないTKIP接続。適当な暗号化キーを設定して放置しておくしかないですが、どうせ放置するなら暗号化強度を最大まで引き上げておきたいものです。
では、どんな暗号化キーを設定しておけばいいのか? …という話は、また次回。せっかくなので「暗号化キーをランダム生成するツール」でも作ることにします。
追記:作りました→無線LAN(WPA)の最強「暗号化キー」を作るには