第34章 無線通信

目次

34.1. 無線LAN
34.2. Bluetooth
34.3. 赤外線データ通信

概要

Linuxシステムを使用して他のコンピュータ、携帯電話、または周辺デバイスと通信するには、いくつかの方法があります。WLAN (無線LAN)は、ラップトップをネットワーク化するために使用できます。Bluetoothを使用すると、個々のシステムコンポーネント(マウス、キーボード)、周辺デバイス、携帯電話、PDA、および個々のコンピュータを互いに接続できます。PDAまたは携帯電話との通信には、IrDAがよく使用されます。この章では、3つのテクノロジとその設定のすべてを紹介します。


34.1 無線LAN

無線LANは、モバイルコンピューティングに不可欠な側面となってきています。現在、ほとんどのラップトップにはWLANカードが内蔵されています。WLANカードによる無線通信に関する802.11規格がIEEEにより策定されました。当初、この規格は最大伝送速度2MBit/sについて提供されましたが、その後、データ伝送速度を高めるために複数の補足事項が追加されています。これらの補足事項では、モジュレーション、伝送出力、および伝送速度などの詳細が定義されています。

表 34.1 各種WLAN規格の概要

名称

帯域(GHz)

最大伝送速度(MBit/s)

802.11

2.4

2

廃止、実質上、使用可能なエンドデバイスはなし

802.11b

2.4

11

普及

802.11a

5

54

あまり普及せず

802.11g

2.4

54

11bとの下位互換性あり

また、最大伝送速度22MBit/sのTexas Instrumentsの802.11bバージョン(802.11b+)のような独自規格もあります。ただし、この規格を使用するカードは一般的ではありません。

34.1.1 ハードウェア

802.11カードは、SUSE Linuxではサポートされていません。802.11a、802.11b、および802.11gを使用するカードのほとんどは、サポートされています。通常、新しいカードは802.11g規格に準拠していますが、802.11bを使用するカードも使用可能です。一般に、次のチップを内蔵したカードがサポートされています。

  • Aironet 4500, 4800

  • Atheros 5210、5211、5212

  • Atmel at76c502、at76c503、at76c504、at76c506

  • Intel PRO/Wireless 2100、2200BG、2915ABG

  • Intersil Prism2/2.5/3

  • Intersil PrismGT

  • Lucent/Agere Hermes

  • Ralink RT2400, RT2500

  • Texas Instruments ACX100、ACX111

  • ZyDAS zd1201

普及していたが廃止になった古いカードも、多数サポートされています。WLAN カードと使用チップについての詳細なリストは、http://www.linux-wlan.org/docs/wlan_adapters.html.gzにあるAbsoluteValue SystemsのWebサイトを参照してください。http://wiki.uni-konstanz.de/wiki/bin/view/Wireless/ListeChipsatzは、各種WLANチップの概要を提供しています。

一部のカードの場合は、ドライバの初期化時にファームウェアイメージをカードにロードする必要があります。Intersil PrismGTAtmelTI ACX100およびACX111がその例です。ファームウェアは、YaSTオンラインアップデートを使用して簡単にインストールできます。Intel PRO/Wirelessカード用のファームウェアはSUSE Linuxに内蔵されており、この種のカードが検出されるとただちに、YaSTによって自動的にインストールされます。このトピックに関する詳細は、インストール済みシステムの/usr/share/doc/packages/wireless-tools/README.firmwareを参照してください。

ネイティブLinuxサポートのないカードは、ndiswrapperアプリケーションを実行すれば使用できます。ndiswrapperは、ほとんどのWLANカードに同梱されるWindows XPドライバを使用します。

ndiswrapperをセットアップするには、以下の手順に従います。

  1. YaSTを使用して、ndiswrapperパッケージをインストールします。

  2. 無線ネットワークアダプタに適切なWindows XPドライバをダウンロードします。http://ndiswrapper.sourceforge.net/mediawiki/index.php/Listにあるサポートされているカードのリストに含まれているドライバを使用します。ネットワークカードインストールCDからの未テストのドライバも機能するかもしれませんが、予想しない問題が発生する可能性があります。

  3. アーカイブを展開します。各ドライバは、.inf拡張子のあるファイルと1つ以上のDLLで構成されています。rootで、ndiswrapper -i driver_name.infコマンドを使用してドライバをインストールします。これにより、すべての必要なファイルが/etc/ndiswrapper/ディレクトリにコピーされ、カード用の設定ファイルが作成されます。

  4. ndiswrapper -lコマンドを使用して、ドライバが適切にインストールされているかどうかを確認します。

  5. modprobe ndiswrapperコマンドを使用してモジュールをロードします。システムログの/var/log/messagesに成功か失敗かが記述されます。

  6. 成功した場合は、ndiswrapper -mを入力して、システムの起動時にモジュールをロードできます。

  7. [ネットワークデバイス]+[ネットワークカード]の順に選択して、YaSTで無線ネットワークアダプタを設定します。[デバイスの型][無線][設定名]O[モジュール名]ndiswrapperを選択します。他のフィールドはデフォルトのままにします。

ndiswrapperについては、/usr/share/doc/packages/ndiswrapper/README.SUSEを参照してください(ただしndiswrapperがインストールされている場合)。ndiswrapperについての詳細は、プロジェクトのWebサイトhttp://ndiswrapper.sourceforge.net/support.htmlを参照してください。

34.1.2 機能

無線ネットワークでは、高速で高品質、そして安全な接続を確保するために、さまざまなテクニックや設定が使用されています。動作のタイプが違えば、それに適したセットアップ方式も異なります。適切な認証方式を選択するのは難しいことがあります。利用可能な暗号化方式には、それぞれ異なる利点と欠点があります。

34.1.2.1 動作モード

基本的に、無線ネットワークは管理ネットワークとAd-hocネットワークに分類できます。管理ネットワークには管理用の要素であるアクセスポイントがあります。このモード(インフラストラクチャモードとも呼ばれます)では、ネットワーク内のWLAN局の接続はすべてアクセスポイント経由で行われ、イーサネットへの接続としても機能できます。Ad-hocネットワークには、アクセスポイントはありません。局は相互に直接通信します。Ad-hocネットワークの場合は、伝送範囲と参加局の数が大幅に制限されます。そのため、通常はアクセスポイントを使用する方が効率的です。また、WLANカードをアクセスポイントとして使用することも可能です。ほとんどのカードは、この機能をサポートしています。

有線ネットワークよりも無線ネットワークの方がはるかに盗聴や侵入が容易なので、各種の規格には認証方式と暗号化方式が含まれています。IEEE 802.11規格のオリジナルバージョンでは、これらがWEPという用語で説明されています。ただし、WEPは安全でないことが判明したので(34.1.5.2項 「セキュリティ」)、WLAN業界(Wi-Fi Allianceという団体名で協力)はWPAという新規の拡張機能を定義しており、これによりWEPの弱点がなくなるものと思われます。その後のIEEE 802.11i規格には、WPAと他の認証方式および暗号化方式が含まれています(WPAはドラフトバージョンの802.11iに基づいているので、この規格はWPA2と呼ばれることもあります)。

34.1.2.2 認証

認可された局だけが接続できるように、管理ネットワークでは各種の認証メカニズムが使用されます。

オープン

オープンシステムとは、認証を必要としないシステムです。任意の局がネットワークに参加できます。ただし、WEP暗号化(34.1.2.3項 「暗号化」を参照)は使用できます。

共有キー(IEEE 802.11に準拠)

この方式では、認証にWEPキーが使用されます。ただし、WEPキーが攻撃にさらされやすくなるので、この方式はお勧めしません。攻撃者は、局とアクセスポイント間の通信を長時間リスニングするだけで、WEPキーを奪取できます。認証処理中には、通信の両側が1度は暗号化形式、1度は暗号化されていない形式で同じ情報を交換します。そのため、適当なツールを使えば、キーを再構成することが可能です。この方式では認証と暗号化に WEPキーを使用するので、ネットワークのセキュリティは強化されません。適切なWEPキーを持っている局は、認証、暗号化および復号化を行うことができます。キーを持たない局は、受信したパケットを復号化できません。したがって、自己認証を行ったかどうかに関係なく、通信を行うことができません。

WPA-PSK (IEEE 802.1xに準拠)

WPA-PSK (PSKはpreshared keyの略)の機能は、共有キー方式と同様です。すべての参加局とアクセスポイントは、同じキーを必要とします。キーの長さは256ビットで、通常はパスフレーズとして入力されます。この方式では、WPA-EAPのような複雑なキー管理を必要とせず、個人で使用するのに適しています。したがって、WPA-PSKはWPA 「Home」とも呼ばれます。

WPA-EAP (IEEE 802.1xに準拠)

実際には、WPA-EAPは認証システムではなく、認証情報を転送するためのプロトコルです。WPA-EAPは、企業内の無線ネットワークを保護するために使用されます。プライベートネットワークでは、ほとんど使用されていません。このため、WPA-EAPはWPA 「Enterprise」とも呼ばれます。

WPA-EAPは、ユーザを認証するのにRadiusサーバを必要とします。EAPは、サーバに接続して認証するために、TLS (Transport Layer Security)、TTLS (Tunneled Transport Layer Security)、およびPEAP (Protected Extensible Authentication Protocol)という、3通りの方式を提供しています。簡単に説明すると、これらのオプションは以下のように働きます。

EAP-TLS

TLSの認証は、サーバとクライアント両方の、証明書の相互交換に依存しています。まず、サーバがクライアントに対して証明書を提示し、それが評価されます。証明書が有効であるとみなされた場合には、今度がクライアントがサーバに対して証明書を提示します。TLSはセキュアですが、ネットワーク内で証明書管理のインフラストラクチャを運用することが必要になります。このインフラストラクチャは、プライベートネットワークでは通常存在しません。

EAP-TTLSとPEAP

TTLSとPEAPは両方とも、2段階からなるプロトコルです。最初の段階ではセキュリティが確立され、2番目の段階ではクライアントの認証データが交換されます。これらの証明書管理のオーバヘッドは、もしあるとしても、TLSよりずっと小さいものです。

34.1.2.3 暗号化

権限のないユーザが無線ネットワークで交換されるデータパケットを読み込んだりネットワークにアクセスしたりできないように、さまざまな暗号化方式が存在しています。

WEP (IEEE 802.11で定義)

この規格では、RC4暗号化アルゴリズムを使用します。当初のキー長は40ビットでしたが、その後104ビットも使用されています。通常、初期化ベクタの24ビットを含めるものとして、長さは64ビットまたは128ビットとして宣言されます。ただし、この規格には一部弱点があります。このシステムで生成されたキーに対する攻撃が成功する場合があります。それでも、ネットワークをまったく暗号化しないよりはWEPを使用する方が適切です。

TKIP (WPA/IEEE 802.11iで定義)

このキー管理プロトコルはWPA規格で定義されており、WEPと同じ暗号化アルゴリズムを使用しますが、弱点は排除されています。データパケットごとに新しいキーが生成されるので、これらのキーに対する攻撃は無駄になります。TKIPはWPA-PSKと併用されます。

CCMP (IEEE 802.11iで定義)

CCMPは、キー管理を記述したものです。通常は、WPA-EAPに関連して使用されますが、WPA-PSKとも併用できます。暗号化はAESに従って行われ、WEP規格のRC4暗号化よりも厳密です。

34.1.3 YaSTでの設定

無線ネットワークカードを設定するには、YaSTの[ネットワーク・カード]モジュールを起動します。ここで、ネットワークカードの管理にYaSTまたはNetworkManagerのいずれを使用するかを選択できます。YaSTを選択した場合は、[ネットワークアドレス設定]のデバイスタイプに[無線]を選択し、[次へ]をクリックします。[無線ネットワークカードの設定]で(図 34.1. 「YaST:: 無線ネットワークカードの設定」を参照)、WLAN操作の基本設定を行います。

図 34.1 YaST:: 無線ネットワークカードの設定

YaST:: 無線ネットワークカードの設定
動作モード

WLANでは、局を3つのモードで統合できます。適切なモードは、通信に使用するネットワークに応じて異なります。選択肢は、[Ad-hoc](アクセスポイントなしのpeer-to-peerネットワーク)、[Managed](アクセスポイントで管理されているネットワーク)、または[Master](ネットワークカードをアクセスポイントとして使用)です。WPA-PSKまたはWPA-EAPモードを使用するには、動作モードを[Managed]に設定する必要があります。

ネットワーク名(ESSID)

無線ネットワークのすべての局が相互に通信するには、同じESSIDが必要です。何も指定しなければ、カードは自動的にアクセスポイントを選択しますが、それが意図したアクセスポイントとは異なる場合があります。

認証モード

ネットワークに合った認証方式を選択します。選択できるものは[Open][Shared Key][WPA-PSK]、または[WPA-EAP]です。WPA認証を選択した場合は、ネットワーク名を設定する必要があります。

エキスパート設定

このボタンをクリックすると、WLAN接続の詳細設定用ダイアログが開きます。このダイアログの詳細については後述します。

基本設定を完了すると、自局がWLANで運用可能になります。

[Important]無線ネットワークでのセキュリティ

ネットワークトラフィックを保護するために、サポートされている認証方式と暗号化方式の1つを必ず使用してください。暗号化されていないWLAN接続では、第三者がすべてのネットワークデータを盗聴することができます。弱い暗号化(WEP)でも、まったく暗号化しないよりはましです。詳細については、34.1.2.3項 「暗号化」34.1.5.2項 「セキュリティ」を参照してください。

選択した認証方式によっては、の別のダイアログで設定を微調整するように要求されます。[オープン]を選択した場合、何も設定項目はありません。この設定では、認証なしの暗号化されない動作が実装されるからです。

キーの入力タイプ

キーの入力タイプを設定します。[パスフレーズ]、[ASCII][16進]のいずれかを選択します。最大4つの異なるキーを使用して伝送データを暗号化できます。[複数のキー]をクリックしてキー設定ダイアログを開きます。キーの長さを選択します。選択できるのは、[128ビット]または[64ビット]です。デフォルト設定は、[128ビット]ビットです。ダイアログ下部にあるリスト領域では、局で暗号化に使用するキーを最大4つまで指定できます。[デフォルト設定とする]を押して、4つのうち1つをデフォルトキーとして定義します。この方法で変更しない限り、YaSTでは最初に入力したキーがデフォルトキーとして使用されます。標準キーが削除された場合は、残りのキーの1つを手動でデフォルトキーに設定する必要があります。[編集] をクリックし、既存のリストエントリを変更するか、新規のキーを作成します。新規作成の場合、ポップアップウィンドウが表示され、キーの入力タイプ([パスフレーズ][ASCII]、または[16進])を選択する必要があります。[パスフレーズ] を選択した場合は、前に指定した長さに従ってキーの生成に使用するワードまたは文字列を入力します。[ASCII]を選択した場合は、64ビットキーであれば5文字、128ビットキーであれば13文字を入力する必要があります。[Hexadecimal]を選択した場合は、64ビットキーであれば10文字、128ビットキーであれば26文字を16進表記で入力します。

WPA-PSK

WPA-PSK用のキーを入力するには、入力方法として[パスフレーズ]または[16進]を選択します。[Passphrase]モードでは、8から63文字を入力する必要があります。[Hexadecimal]モードでは、64文字を入力します。

WPA-EAP

ネットワーク管理者から受け取った証明書を設定します。TLSの場合、[Client Certificate]および[Server Certificate]を設定します。TTLSとPEAPでは、[Identity][Password]が必要です。[Server Certificate]はオプションです。YaSTは、/etc/certで証明書を探すので、受け取った証明書はこの場所に保存し、これらのファイルに対するアクセス権は0600 (所有者の読み取りと書き込み)に制限してください。

[詳細設定]をクリックして、WPA-EAPセットアップ用の高度認証ダイアログを入力します。EAP-TTLSまたはEAP-PEAP通信の第2ステージ用の認証方法を選択します。前のダイアログでTTLSを選択した場合は、autoMD5GTCCHAPPAPMSCHAPv1またはMSCHAPv2を選択します。PEAPを選択した場合は、autoMD5GTCまたはMSCHAPv2を選択します。自動的に決定された設定を変更する必要がある場合は、[PEAP version]を使用して特定のPEAP実装を使用するように強制できます。[OK]をクリックして、このダイアログを終了します。

[エキスパート設定]をクリックしてWLAN接続の基本設定ダイアログを終了し、上級者用の設定に入ります。このダイアログでは、次のオプションを使用できます。

チャンネル

WLAN局が使用するチャンネルの指定を必要とするのは、[Ad-hoc]モードと[マスタ]モードだけです。[管理]モードでは、カードはアクセスポイントに使用可能なチャネルを自動的に検索します。[Ad-hoc]モードでは、自局と他局との通信用に提供されている12のチャンネルから1つを選択します。[マスタ]モードでは、使用するカードがアクセスポイント機能を提供する必要のあるチャネルを指定します。このオプションのデフォルト設定は[自動]です。

転送ビットレート

ネットワークのパフォーマンスに応じて、あるポイントから別のポイントへの伝送について特定のビットレートを設定できます。デフォルト設定の[自動]では、システムは最大許容データ伝送速度を使用しようとします。ビットレートの設定をサポートしていないWLANカードもあります。

アクセスポイント

複数のアクセスポイントがある環境では、MACアドレスを指定することで、その1つを事前に選択できます。

電源管理を使用

外出先では、省電力テクノロジを使用してバッテリの動作時間を最長にします。電源管理の詳細については、第33章 電源管理を参照してください。

34.1.4 ユーティリティ

WLANカードをアクセスポイントとして使用するには、hostap (hostapパッケージ)を使用します。このパッケージの詳細については、プロジェクトのホームページ(http://hostap.epitest.fi/)を参照してください。

kismet (kismetパッケージ)は、WLANパケットトラフィックのリスニングに使用するネットワーク診断ツールです。このツールを使用すると、ネットワーク内の侵入試行も検出できます。詳細については、http://www.kismetwireless.net/とマニュアルページを参照してください。

34.1.5 WLANのセットアップに関するヒントとテクニック

これらのヒントでは、速度と安定性を微調整する方法や、WLANのセキュリティの側面について説明します。

34.1.5.1 安定性と速度

無線ネットワークのパフォーマンスと信頼性は、主として参加局が他局からクリーンな信号を受信するかどうかに依存します。壁などの障害物があると、信号が大幅に弱くなります。信号強度が低下するほど、伝送速度も低下します。操作中には、コマンドライン(Link Qualityフィールド)でiwconfigユーティリティを使用するか、またはKDEでkwifimanagerを使用して、信号強度をチェックします。信号品質に問題がある場合は、他の場所でデバイスをセットアップするか、またはアクセスポイントのアンテナ位置を調整してください。多くのPCMCIA WLANカードの場合、受信品質を実質的に向上させる補助アンテナを利用できます。メーカ指定のレート(54MBit/sなど)は、理論上の上限を表す公称値です。実際の最大データスループットは、この値の半分以下です。

34.1.5.2 セキュリティ

無線ネットワークをセットアップする際には、セキュリティ対策を導入しなければ、伝送範囲内の誰もが簡単にアクセスできることを忘れないでください。したがって、必ず暗号化方式をアクティブにする必要があります。すべてのWLANカードとアクセスポイントが、WEP暗号化をサポートしています。これでも完全に安全とは言えませんが、潜在的な攻撃者に対する障害物は存在することになります。通常、プライベート用であればWEPで十分です。WPA-PSKも適していますが、WLAN機能を持つ 古いアクセスポイントやルータには実装されていません。デバイスによっては、ファームウェア更新を使用してWPAを実装できます。さらに、Linuxは、すべてのハードウェアコンポーネントでWPAをサポートしているわけではありません。このマニュアルの制作時点では、WPAが機能するのは、AtherosIntel PRO/Wireless、またはPrism2/2.5/3チップを使用するカードの場合だけです。Prism2/2.5/3の場合、WAPが機能するのはhostapドライバを使用している場合だけです(34.1.6.2項 「Prism2カードの問題」を参照)。WPAが使用できない場合、暗号化しないよりはWEPを使用することをお勧めします。高度なセキュリティ要件を持つ企業では、無線ネットワークの運用にWPAを使用する必要があります。

34.1.6 トラブルシューティング

WLANカードが応答しない場合は、必須ファームウェアをダウンロードしたかどうかを確認します。詳細については、34.1.1項 「ハードウェア」を参照してください。ここでは、判明している一部の問題について説明します。

34.1.6.1 複数のネットワークデバイス

通常、最近のラップトップにはネットワークカードと WLAN カードが搭載されています。DHCP (自動アドレス割り当て) を使用して両方のデバイスを構成すると、名前解決とデフォルトゲートウェイに問題が発生することがあります。これは、ルータはpingできるがインターネット上でナビゲーションできないことを示しています。詳細については、http://portal.suse.comにあるSupport Databas (サポートデータベース)を参照してください。この記事を検索するには、検索ダイアログに「DHCP」と入力します。

34.1.6.2 Prism2カードの問題

Prism2チップ搭載のデバイスには、複数のドライバが用意されています。各種カードがスムーズに動作するかどうかは、ドライバに応じて異なります。この種のカードの場合、WPAに使用できるのはhostapドライバだけです。この種のカードが正常に動作しない場合、まったく動作しない場合、またはWPAを使用する必要がある場合は、/usr/share/doc/packages/wireless-tools/README.prism2を参照してください。

34.1.6.3 WPA

WPAのサポートは、SUSE Linuxでも非常に新しいことで、まだ発展途上にあります。そのため、YaSTはすべてのWPA認証方式の設定をサポートしているわけではありません。また、すべての無線LANカードやドライバがWPAをサポートしているわけでもありません。カードの中には、WPAを有効にするためにファームウェアのアップデートを必要とするものがあります。WPAを使用する場合は、/usr/share/doc/packages/wireless-tools/README.wpaを参照してください。

34.1.7 関連情報

Linux用の無線ツールを開発したJean Tourrilhesのインターネットページには、無線ネットワークに関して役立つ情報が多数提供されています。http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wireless.htmlを参照してください。