トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

無線LAN のセキュリティ技術

http://www.uquest.co.jp/embedded/columns/lan2.html
http://blogs.yahoo.co.jp/bunomajikana/26579448.html

WEP

もともとIEEE802.11で定義されているセキュリティとは、 以下の三つでした。

(1) ESSID
(2) MACフィルタリング
(3) WEP64/128

(1)は単なるAP接続とグルーピングが目的であり、(2)はステーションのMACアドレスでAPへの接続規制を行うわけですが、ステーションのMACアドレスは偽造することも不可能ではありません。よってこれら(1)(2)は、厳密な意味でのセキュリティとは言えません。

(1)、(2)とは違い、(3)は実際に流れるデータを隠すという目的のために用意されており、APとステーションで事前に共有鍵を設定しておく、という形をとります。しかしながら、WEPアルゴリズムは暗号学的には弱い部類に入る暗号なので、電波が届き、かつそのデータを傍受できるPCがあれば、クラッキングツールを用いて容易に鍵の類推をすることができ、生データを見ることが可能になってしまいます。

WPA

IEEE802.11という規格に対して、この普及を促進する業界団体Wi-Fiアライアンス(発足当時の名称はWECA)は、無線LAN同士の相互接続の認証を行い、Wi-Fiというブランドを構築していました。IEEE802.11だけのセキュリティの弱さを危惧したWi-Fiは、WPA (Wi-Fi Protected Access)を2002年10月に発表しました。WPAは、認証を事前秘密鍵で行うか、RADIUSサーバーを使用するかで二つに別れ、前者はWPA-PSK、後者はWPA-1X(あるいは単にWPA)と呼ばれています。

 WPA-PSK

WPA-PSKでは、APとステーションで共有するパスフレーズから、決められたアルゴリズムに従って512bitのマスターキー(PMKと呼ばれる)を事前に生成しておきます。そして、AP-ステーション間のLINK確立後、4Way-Handshakeと呼ばれるプロトコルで乱数とお互いのMACアドレスを交換し、それらとマスターキーを組み合わせて512bit(但し、AESを使用する場合は384ビット)のテンポラリキー(PTKと呼ばれる)を生成します。このうち最初の128bitは、PTKとして両者が同じ物を持ったことを確認するために使用されます。次の128bitは、この後行われるGroupKey-Handshakeにおいて、ブロードキャスト/マルチキャストの暗号鍵(GTKと呼ばれる)の暗号化に使われ、GTKは定期的にAPから配布されます。残りの256bit(AESを使用する場合は128bit)は、ユニキャストの暗号鍵として使用されます(図4)。

このように4Way-Handshake、GroupKey-Handshakeを使うことで、キーの変わらないWEP64/128と違い、接続あるいはAPからの更新の度に鍵が変わるようにしてセキュリティの強度を上げています。


 WPA 1X

共有マスターキーを認証の一部とするWPA-PSKとは違い、WPA-1Xは認証としてIEEE802.1Xを使用します(図5)。IEEE802.1XとはRADIUSサーバーを使用して、いわゆるCredential(証明書)で認証を行う方式であり、このために、ステーションとAP間でEAPoL(EAP over LAN)、APとRADIUSサーバー間でRADIUSプロトコル(EAPがRADIUSプロトコルでWrapされる)が使用されます。

IEEE802.1Xで決められている認証方式はEAPであれば、特に既定されていませんが、WPAでの使用にあたっては、EAP-TLS、PEAP、EAP-TTLSなどTLSをベースとしたものに限定されます。これは、IEEE802.1Xが認証だけを規定しているのに対し、WPAはそれに加え、PTK生成に必要なマスターキー(PMK)の生成を要求するためです。上記の方式では、その認証の過程においてPMKが生成され、RADIUSサーバーはAPにそのPMKをMPPE(Microsoft Point-to-Point Encryption)を使って転送します。そして、認証成功後、WPA-PSKと同様、4Way-Handshake、GroupKey-Handshakeが行われます。

EAP-TLS、PEAP、EAP-TTLSはセキュアなトンネルを生成するところは共通しますが、細かいところで違いがあるため、以下にその違いを要約します。


方式 内容 ステーションへの負荷
EAP-TLS お互いの認証をX.509証明書で行う
PEAP X.509証明書による認証はサーバーのみ。ステーションの認証はセキュアトンネル内でさらにEAPによる認証を行う
EAP-TTLS X.509証明書による認証はサーバーのみ。セキュアトンネル内でAVP(Attribute-Value Pair)形式による認証を行う
上記以外にも、Ciscoが提唱するEAP-FASTや携帯電話での認証を応用したEAP-SIMなどが次世代の認証方式として期待されていますが、まだ一般的には使用されておらず、WPA-1XはもっぱらビジネスユースでPEAP、EAP-TTLSで使用されているのが実情のようです。

WPA2

そもそもIEEE802.11のセキュリティは、IEEE802.11iでの標準化作業が進んでいたものの、無線LANが世の中に急速に広まったおかげで、セキュリティ対策が必要になったためにWi-Fiアライアンスから急遽出されたという背景がWPAにはあり、セキュリティ的に十分ではないと考えられていました。そんな中、2004年6月にようやくIEEE802.11iの標準化作業がおわり、これを反映したWPA2が制定されました。WPA自身はWi-Fiアライアンス内でしか開示されていませんが、以下に述べる部分を含む基本的な部分はIEEE802.11iとして公開されているものと同じですので、以下については、IEEE802.11iの規格として説明します。

WPA2(IEEE802.11i)は、プロトコルで使用されるフレームフォーマットが細かいところで違うものの基本的にはWPAと同じです。WPAとの大きな違いを挙げれば以下のようになります。

(1)AESを標準とする。(TKIPはオプション)
(2)事前認証が行える。
(3)PMKキャッシュが行える。

このうちの(2)と(3)、接続するAPが変わる毎に認証が必要になり利便性が悪くなるという、WPA-1Xが本来持っていた問題を解決する機能です。「事前認証」とは、現在接続中以外のAPに対して、今接続中のAPを経由してIEEE802.1X認証を行うものです(図6)。これにより、ローミングなどで接続するAPが変わっても、事前認証が済んでいるAPに接続することで認証処理を省略することが可能になり、通信の回復がすばやく行えるようになります。

「PMKキャッシュ」とは、一度認証に成功し接続可能となったAPとの間で共有しているPMKをAPがキャッシュしておくことにより、先の「事前認証」と同様、ローミングなどで接続するAPが変わっても認証処理を省略することが可能になり、同様の効果が得られます(図7)。


[カテゴリ: ネットワーク]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2012年09月14日 15時12分25秒