企業向け無線LAN
企業向けの無線LANは家庭内無線LANをそのまま活用できますが、多くの人が使うためセキュリティに考慮したり利便性を高める必要があります。
本項では、企業向け無線LANについて説明します。
家庭内無線LANとの違い
家庭内無線LANでは通常、1台の無線親機を数人の家族で使うため、複数の無線親機の利用を想定しなくて済みます。
企業や研究所など多数の人が利用する場合、1台の無線親機でまかなえないため、複数の無線親機を設置して共同で利用することになります。このため、セキュリティに考慮したり複数の無線親機を使う時の利便性を高めるしくみが必要になります。
なお、無線親機は無線LANアクセスポイント(Access Point)とも呼ばれ、企業向けの製品では特に無線LANアクセスポイントと呼ばれることが多いため、本ページでも以降は無線LANアクセスポイント(または無線AP)と記述します。
認証や暗号化方式
家庭内無線LANでは、認証と暗号化のために事前共有キーを設定すると説明しました。多くの人が利用する場合に事前共有キーを採用すると、パソコンで設定してもらうために公開しなければいけません。公開の仕方によっては事前共有キーが外部の人に知られてしまう可能性があり、その場合は盗聴や内部ネットワークへの接続を許してしまいます。無線では建物内部に侵入しなくても盗聴・接続できるため、非常に危険です。また、無線LANアクセスポイントが多くなると、すべての機器に事前共有キーを設定するのは大変手間がかかりますし、キーが漏えいした時にはすべての無線LANアクセスポイント、パソコンで設定変更が必要になります。
これに対応するには、ユーザーIDとパスワードでサーバーが認証するしくみを用います。認証するサーバーをRADIUS(Remote Authentication Dial In User Service)サーバーと言います。
動作の詳細ですが、まずはパソコンから通信が発生すると無線LANアクセスポイントはRADIUSサーバーと通信を行います。RADIUSサーバーは無線LANアクセスポイントに鍵を送信し、無線LANアクセスポイントはパソコンにその鍵を送信します。この鍵自体は暗号化されておらず、誰でも傍受できます。
パソコンはランダムな値を作成し、家庭内無線LANで説明した事前共有キーと同様な共通鍵を作成します。同時に、作成したランダムな値をRADIUSサーバーから送られてきた鍵を元に暗号化して送信します。RADIUSサーバー側では受信したランダムな値を元にパソコンと同じ共通鍵を作ります。
互いに共通鍵ができれば、暗号化してユーザーIDとパスワードを送り認証します。
その後は、RADIUSサーバーから無線LANアクセスポイントに共通鍵を送信し、パソコンと無線LANアクセスポイントの間で暗号化して通信を開始します。
家庭内無線LANではWPA-PSK、WPA2-PSK、WPA3-SAEでしたが、上記方式はWPA-EAP、WPA2-EAP、WPA3-EAPという方式になります。また、ユーザーIDとパスワードを用いて認証する方法をEAP-TTLS、またはEAP-PEAPと言います。
規格 | 方式 | 説明 |
---|---|---|
WPA-EAP | TTLS | ユーザーIDとパスワード認証を行い、WEPを強固にしたTKIPという鍵を自動的に変更する技術を採用しています。 |
PEAP | ユーザーIDとパスワード認証を行い、WEPを強固にしたTKIPという鍵を自動的に変更する技術を採用しています。WindowsXP SP1以降標準で組み込まれています。 | |
WPA2-EAP | TTLS | ユーザーIDとパスワード認証を行いAESという暗号化を採用しています。 |
PEAP | ユーザーIDとパスワード認証を行いAESという暗号化を採用しています。WindowsXP SP1以降標準で組み込まれています。 | |
WPA3-EAP | TTLS | ユーザーIDとパスワード認証を行い192ビット暗号化システムを採用しており最も強固と言われています。 |
PEAP | ユーザーIDとパスワード認証を行い192ビット暗号化システムを採用しており最も強固と言われています。Windows10バージョン 2004以降標準で組み込まれています。 |
WPA(Wi-Fi Protected Access)は、無線LANが相互接続するための規格で、同じ規格に対応していれば接続できます。
なお、パソコンから無線LANアクセスポイントまでの通信をIEEE802.1x認証、無線LANアクセスポイントからRADIUSサーバまでの通信をRADIUS認証と言います。
また、WPA-EAP、WPA2-EAP、WPA3-EAPはそれぞれ、WPA-Enterprise、WPA2-Enterprise、WPA3-Enterpriseとも呼ばれます。
公開鍵暗号方式
通信開始時にRADIUSサーバーから鍵が送られてきますが、これは暗号化されていないため誰でも傍受できると説明しました。このため、この鍵を傍受されると暗号化したランダムな値を解読して共通鍵を作成され、その後の通信が解読されてしまうのではないかと考えるかもしれません。
結論から言うと、これは傍受されても解読されません。
サーバーから送られてくる鍵は公開鍵と言って、サーバー側で持っている鍵でしか解読できないようになっています。サーバー側で持っている鍵を秘密鍵と言います。
この方式を公開鍵暗号方式と言い、秘密鍵と一対になった公開鍵をサーバーは持っていて要求に応じて送信します。公開鍵は誰でも利用できますが、公開鍵で暗号化されたデータは一対になっている秘密鍵でしか解読できません。
この方法は無線だけでなく、Webサーバーとの通信などでも用いられています。
URLでhttp://www.example.comと指定すると通常の通信になりますが、https://www.example.comとhttpの後にsを付けて入力するとサーバーから公開鍵が送られてきて暗号化して通信を行います。最近は、ほとんどが暗号化されていると思います。
共通鍵暗号方式
パソコンとサーバーで同じ鍵を作成して通信する方式を共通鍵暗号方式と言います。家庭内無線LANで説明した事前共有キーを設定する方式も共通鍵暗号方式です。
つまり、WPA-PSKやWPA2-PSK、WPA3-SAEでは共通鍵暗号方式だけを使っていますが、WPA-EAPやWPA2-EAP、WPA3-EAPでは公開鍵暗号方式を使って共通鍵を作成し、その後共通鍵暗号方式に切り替えて通信を行っています。
無線だけでなく、Webサーバーなどでもhttpsで通信する際は同様に公開鍵暗号方式から共通鍵暗号方式に切り替えて通信を行います。
無線LANでは、公開鍵を使って送ったランダムな値から同じ鍵である共通鍵を作成します。
なお、通常は共通鍵はそのままでは暗号化用の共通鍵として使われません。4ウェイハンドシェイクというやりとりを経て暗号化用の共通鍵が生成されます。
最初に作成される共通鍵をPMK(Pairwise Master Key)と言い、マスターとなる鍵になります。PMKが一致していれば、暗号化用の共通鍵は通信途中でも変更可能なため、セキュリティが強化されます。
パソコンの認証
ユーザーIDとパスワードで認証する場合、外部の人に知られてしまう可能性があります。このため、使ってよいパソコンかどうかを判断するしくみもあります。
パソコン側で秘密鍵を保持し、サーバー側に公開鍵を送信する方法です。公開鍵は単体で送られるのではなく、デジタル証明書という形で送られてきます。証明書にはFQDNなどの情報や、認証局というサーバーで作成した秘密鍵で送られてきた内容自体を暗号化した署名が付属してます。
この署名を、認証局が公開している公開鍵で解読します。公開鍵で暗号化したデータは秘密鍵でしか解読できないと説明しましたが、逆に秘密鍵で暗号化したデータは一対になっている公開鍵でしか解読できません。このため、署名を認証局の公開鍵で解読して送られてきたFQDNや公開鍵などの情報と一致すれば、認証局が認めた証明書であることが確認できます。
その後、パソコンから秘密鍵で暗号化したデータが送られて来て、この公開鍵で解読できれば、通信してきたパソコンは認証局が認めた証明書の正当な持ち主であることが確認できます。
これがデジタル証明書を使った認証ですが、実際にはもう少し処理を複雑化しています。
これまで説明したEAP-TTLSやPEAPに対して、無線LANでパソコンの認証も行う方法をEAP-TLSと言います。EAP-TLSではパソコンの秘密鍵を盗まれない限り安全ですが、パソコン1台1台に秘密鍵を作成するのは面倒なため、セキュリティ強度との兼ね合いになります。
なお、公開鍵暗号方式で示したサーバー側から送られてくる公開鍵も、実際にはデジタル証明書として送られてきます。このため、EAP-TTLS、EAP-PEAP、EAP-TLSともに常にサーバーの認証は行われます。
サーバーの認証に用いられるデジタル証明書をサーバー証明書、パソコンの認証に用いられるデジタル証明書をクライアント証明書と言います。
認証局
デジタル証明書を使えば、認証局が認めた秘密鍵を持っている相手しか解読できないことが保障されると説明しましたが、認証局が無暗に認めた場合はどうでしょう?
例えば、www.xx.yyに対してwww.aa.bbの署名をした場合、www.xx.yyはwww.aa.bbに成りすますことが可能です。
結論から言えば、これは可能です。認証局は誰でも作ることができ、署名したデジタル証明書を配布できます。ただし、そのデジタル証明書を信頼するかどうかは通信する側の判断に任されています。
有名な認証局(パブリック認証局)が発行したデジタル証明書は、パソコンに最初から信頼される機関として登録されています。また、パブリック認証局はデジタル証明書を発行する前に、信頼できる機関なのか審査をします。このため、パソコンに登録されたデジタル証明書の署名があれば安全と判断されます。httpsでの通信が成り立っているのはこのためです。
勝手に作った認証局(プライベート認証局)はパソコンに登録されていないため、危険と判断されます。このため、認証局を作った場合は通信を行うサーバーやパソコンにその公開鍵を信頼できる機関として登録する必要があります。
例えば、Google Chromeでは設定で、「プライバシーとセキュリティ」→「証明書の管理」を選択して開いた画面で「信頼されたルート証明機関」タブを選択します。すると、現在信頼している機関が表示されます。
認証局を自分で作成した場合、インポートをクリックして証明書を信頼できる機関として登録しておく必要があります。
認証VLAN
認証後は、無線LANアクセスポイントが接続されたLANスイッチのインターフェースに割り当てられたVLANを使えますが、認証後にユーザ単位でVLANを割り当てることも可能です。これを認証VLANと言います。
認証VLANを利用する場合、利用するVLANは無線LANアクセスポイントまでタグVLANで接続されている必要があります。
ローミング
無線LANアクセスポイントが複数ある環境では、移動によりパソコンが接続している無線LANアクセスポイントの無線範囲から外れて、違う無線LANアクセスポイントの無線範囲になることがあります。例えば、ノートブックやスマートフォンを持って移動する時です。
このような場合は、近くの無線LANアクセスポイントに自動的に再接続可能です。これをローミングと言います。
事前認証
ローミングする際、新たに接続する無線LANアクセスポイントはパソコンが認証されているかわからないため、すぐに接続できません。これを防ぐために、接続可能な範囲になると認証しておき、ローミングが行われるとすぐに使えるようにできます。これを事前認証と言います。
PMKキャッシュ
認証自体を省略する方法もあります。一回認証をすると、無線LANアクセスポイントはPMKを一時的にキャッシュします。同じパソコンが接続範囲に戻ってくると、キャッシュしたPMKを利用して暗号化通信が可能です。
ローミングのポイント
ローミングで通信を途切れさせないようにするためには、2台の無線LANアクセスポイントの無線範囲を重複させる必要があります。
ただし、チャンネルは重複しないようにする必要があります。また、余り重複させると不安定になります。重複した範囲ではどちらの無線LANアクセスポイントに接続するかはパソコン側の判断によるため、場合によっては切り替えが何度も行われるようになります。
無線LANコントローラー
認証や暗号化の取決めを集約している製品もあります。この場合、専用のコントローラーやLANスイッチが無線LANアクセスポイントの代わりに認証や暗号化の方式を決めます。
一般的に、複数の無線アクセスポイントがあったとしても、SSIDや認証方式などは統一されています。別々だとローミングできないためです。各無線LANアクセスポイントで異なる設定は、IPアドレスなど一部です。
このため、無線LANコントローラーはSSIDなど共通の内容は同じ設定を各無線LANアクセスポイントに配布し、IPアドレスなど異なる設定は無線LANアクセスポイントごとに設定(もしくはDHCPなど自動に設定)して配布することができます。つまり、無線LANコントローラーを利用すれば、無線LANアクセスポイントごとにSSIDなどを設定する手間が省け、間違いが発生する可能性も少なくなります。
まとめ
これまで説明した企業向け無線LANの特長をまとめると、以下になります。
- 多くの人が利用する無線LANでは、WPA-PEAPによるユーザーIDやパスワードなどの認証を使う。
- RADIUSサーバーは、証明書によって常に認証される。証明書を使い、暗号化も行える。
- 認証VLANを使えば、ユーザーごとに利用するVLANを変えることができる。
- ローミングにより、移動しても他の無線APに自動で接続し直して通信を継続できる。
- 多くの無線APがある場合、無線LANコントローラーがあれば設定や管理などを一元化できる。