期待のネット新技術

WPA3は「SAE」採用で鍵の推測が不可能に、KRACKsで悪用の穴ふさぐ、2018年末から登場?

【利便性を向上するWi-Fi規格】(第12回)

 Wi-Fiにおける暗号化の方式は、当初用いられていた「WEP」から「WPA」「WPA2」へと変遷してきている。そして、現在は中心的な役割を担っているWPA/WPA2に発見された脆弱性“KRACKs”を受け、2018年後半には、新たなセキュリティ機能「WPA3」が提供される予定だ。

 今回は、次期セキュリティ機能である「WPA3」で採用された「SAE(Simultaneous Authentication of Equals)」の詳細や、推測されるWPA3対応製品の登場時期などについて解説する。(編集部)

「利便性を向上するWi-Fi規格」記事一覧

「SAE」採用の「WPA3」、192bit暗号化オプションも

 WPA3では、どのようなプロトコルを採用すべきかという点において、Wi-Fi Allianceの中でさまざまな議論があったようだが、その詳細は外部には見えていない。このあたり、IEEEの方が、議論がすべて公開されていてずっとトレースしやすい。そして最終的には2018年6月25日、新しい「WPA3」が発表された。

 WPA3がどんなものか? という点は、Wi-Fi Allianceが6月28日に行った説明会にまとまっている。その骨子は以下のようになっており、上記記事の「認証パスワードへの推測攻撃が事実上不可能になる」という特徴は、SAE(Simultaneous Authentication of Equals)を利用することで得られる副作用というか、メリットとなる。

  • PMKの交換に、4-way Handshakeに代えて「SAE」を採用
  • 192bit AESをオプションで追加

 ちなみにSAEの採用は、WPA3-Personalでは明確に実装されることになるが、WPA3-Enterpriseについては「アプリケーション、セキュリティプロトコルを一貫したかたちで利用できるエンタープライズグレードのセキュリティを提供する」という、よく分からない表現になっている。

 これは、WPA3-Enterpriseでは別途設けた認証サーバーでIEEE 802.1Xでの認証を行っており、この4-way Handshakeが残ることになるためと思われる。言わば“4-way Handshake over SAE”とでも言うようなかたちの実装になると思われるが、その詳細は不明なままだ。これを管理するのは、WPA3の必須要件として掲げられている「PMF(Protected Management Frames)」で、この中に4-way Handshakeが必要な場合のフレーム構造などが規定されるのではないかと思われる。

 ちなみに、WPA3に対応するアクセスポイントやクライアントは、Transition Modeをサポートする必要があるようだ。これを利用することで、WPA2のクライアントあるいはアクセスポイントとの接続が可能になる。ただこの場合は、当然WPA2ベースでの接続になるので、SAEでの保護は期待できない。

共通パスワードから楕円暗号で互いに鍵交換、外部からの推測もできない「SAE」

 さて、そのSAEが何かというと、実はこれ、IEEE 802.11のSection 12.4.1に規定されている方法で、「Dragonfly(RFC7664)」の派生形という説明まである。

 そのSAEの概略をまとめたのが以下の図だ。SAEでは、楕円曲線暗号を利用して鍵の交換を行う。まず最初に、楕円そのもののパラメータ(IEEE 802.11の場合、」y^2=x^3+ax+b mod p」となるような楕円を考え、この際のaとbに相当する)を相互に交換しておく。アクセスポイントとクライアントは、どちらも接続するSSID(ESSID)を選ぶ際にパスワードを入力するが、これを元に“ジェネレータ”と呼ばれる関数を使い、楕円上の位置を生成(Point R)。それとは別に、それぞれu/vという2つの乱数を生成しておく。

 そして認証においては、まずクライアントからuとu2.R、アクセスポイントからvとv2.Rをそれぞれ送り出すかたちになる。これを互いに受け取り合い、それぞれが自身で鍵を生成するかたちとなるわけだ。ここで重要になるのが、計算で必要になる楕円上の位置Rが、通信の中に一度も出てこないことだ。理屈で言えば、Rの値がu2.Rあるいはv2.Rというかたちで含まれてはいるのだが、u2とv2はどちらも乱数なので、ここからRを推測することはできない。

 そして、鍵のハッシュを互いに送り合って正しく鍵を生成できたかを検証し、鍵そのものは送らないため、ここでも鍵を推測することはできないというわけだ。

 かくして、共通のパスワードを知ってさえいれば、互いに共通の鍵を持つことが可能で、しかもこれを外部からは推測できないことになる。ここで生成された鍵がPMKとなるわけで、あとはここからTPKなりGTKを生成して、それぞれ使えばいいわけだ。

 ちなみにこの方式が、辞書などを使ったパスワードへの推測攻撃に強いというのは、仮にこのプロトコルを傍受されても、u/vという乱数を加味して送信されているのでRの値を推測できない。さらに、アクセスポイントとクライアントの間では、認証の成功/失敗ではなくハッシュを送り合っているだけなので、ここからパスワードが一致したか否かを判断できない。

 このため、仮に攻撃を行うとしたら、仮のパスワードを利用した通信をしばらく試みようとして、「うまく行かないからこのパスワードは間違っている」という判断を繰り返さざるを得ない。つまり辞書攻撃を実行するにしても、猛烈に時間が掛かることになるわけだ。

 また、先の記事にあった「ユーザーの指定したパスワードが推奨される強度に適していなくても保護」というのは、パスワードをそのまま鍵に使うのではなく、楕円上の位置を定めることに使われるため、パスワードそのものが短かろうと長かろうと、変換後の強度は同じ(何しろただの座標である)になるから、相対的に安全という話である。もちろんこれは、Wi-Fiで盗聴される分には、という話でしかない。

 ちなみに、先の記事で説明された「Wi-Fi CERTIFIED Enhanced Open」については、正確にはまだ不明だが、おそらく「RFC8110」で規定された「Opportunistic Wireless Encryption」になるのではないかとみられている。

 こちらもやはり、楕円暗号をベースとしたものだが、オープンネットワークなので、パスワードはない。このため、あらかじめ楕円上の位置Gが決め打ちとなっている。ただ、アクセスポイントとクライアントが互いに乱数を生成し、これをGと合わせているため、盗聴してもGが推測できないのはSAEと同じであり、これで少なくとも通信の秘匿性がカバーできると考えられている。

 一度鍵の交換に成功した後は、オープンネットワークでしばしば要求されるログイン手順のために、EAPOLの4-way Handshakeなどを利用することになる。ただ、ここは既に鍵を交換済なので暗号化することが可能(実際の手法はWi-Fi CERTIFIED Enhanced Openの仕様が明確になっていないため不明だが、普通に考えれば生成したPMKを元にGTKを生成してこれで暗号化すると思われる)となっている。KRACKsは、4-way Handshakeが平文で行われていたからこそ可能だったわけだが、こうした攻撃にも対応できるというわけだ。

WPA3への対応は11ac/11ax対応製品のみ、登場は2018年末から?

 もっとも、これを実装するには、少なからぬ時間を要するだろう。特にアクセスポイント側が問題だ。現時点ではまだWPA2のサポートを切るのは無理だと思われるため、WPA3の認証をそこに追加するとなると、メモリをそこそこ必要とする。アップグレード用などに潤沢なFlash(と作業用のDRAM)を搭載している製品であれば可能かもしれないが、コストをギリギリまで削減しているコンシューマー向け製品では、おそらく対応は難しいと思われる。

 これに比べると、クライアント側は、それこそWindows/MacOS/Android/iOSなどでWPA3の認証を実装すれば済むため、その性能はともかく、ドライバアップデート+α程度の作業で済むだろう。

 こうした問題もあってか、Wi-Fi Allianceの提供している「Product Finder」によれば、原稿執筆時点でWPA3の認証を取得しているのはわずか5つの製品というかチップに過ぎない。Wi-Fi Allianceマーケティング担当バイスプレジデントのケビン・ロビンソン氏が「2019年後半には、かなり多くのデバイスが(WPA3に)対応してくると考えている」と言っているのは、要するに2018年中にはまだ無理、ということでもある。

 おそらく家庭用の低価格ルーターのうち、結構な割合の製品が、当面はWPA3への対応を見送ると思われる。現実問題として、WPA3対応ファームウェアが提供されるのは、IEEE 802.11acないしIEEE 802.11ax対応製品に限られ、実際には2018年末から2019年前半あたりから、順次提供されていくことになるだろうと筆者は予測している。

【お詫びと訂正 12月12日 12:15】
 記事初出時、4-way Handshakeの廃止に関する記述の一部に誤りがありました。お詫びして訂正いたします。

誤:■4-way Handshakeを廃止、「SAE」採用の「WPA3」、192bit暗号化オプションも
正:■「SAE」採用の「WPA3」、192bit暗号化オプションも

誤:4-way Handshakeを廃止し、「SAE(Simultaneous Authentication of Equals)」を採用
正:PMKの交換に、4-way Handshakeに代えて「SAE(Simultaneous Authentication of Equals)」を採用

「利便性を向上するWi-Fi規格」記事一覧

大原 雄介

フリーのテクニカルライター。CPUやメモリ、チップセットから通信関係、OS、データベース、医療関係まで得意分野は多岐に渡る。ホームページはhttp://www.yusuke-ohara.com/