期待のネット新技術

スマホでQRコードを読み取り、ほかの機器をWi-Fi接続する「Wi-Fi Easy Connect」、画面やカメラがない機器を接続可能に

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

 Wi-Fiにおける暗号化の方式は、当初用いられていた「WEP」から「WPA」「WPA2」へと変遷したが、2017年に公表されたWPA/WPA2の脆弱性“KRACKs”を受け、2018年後半には新機能「WPA3」が提供予定だ。

 一方、SSIDやパスワードが公開されて運用されることの多いフリーWi-Fiでは、これまでならVPNなどを使って通信を暗号化する必要があった。こうした環境で、アクセスポイントとクライアント間の通信を傍受されない仕組みを提供するのが、すでに解説した「Wi-Fi CERTIFIED Enhanced Open」である。

 さらに、SSIDによらない認証手段を提供することで、接続先のSSIDをシームレスに切り替えてフリーWi-Fiを利用できるのが「Wi-Fi CERTIFIED Passpoint」、そのベースとなった標準規格が「IEEE 802.11u」、ホットスポットの設置・提供にあたって技術指標が「WISPr」、IEEE 802.11uやWISPrに欠けていた項目を定めた規格が「HotSpot 2.0」だ。

 そして今回は、表示画面のない機器をWi-Fiアクセスポイントに接続する手段を提供する規格である「Wi-Fi Easy Connect」について解説していく。(編集部)

スマートフォンのQRコードスキャンで、ほかの対応機器をWi-Fiに接続できる「Wi-Fi Easy Connect」

 今回は「Wi-Fi Easy Connect」についてだ。今年6月のWi-Fi Allianceの説明会でも紹介されていた規格で、ディスプレイや操作画面を持たない(いや、持っていても構わないが)さまざまな機器を、安全かつ簡単にWi-Fiネットワークへ繋ぐための手段を提供するものとなる。

 Wi-Fi Easy Connectには、「Enrollee」(登録対象)と「Configurator」(構成管理者)の2つの役割が存在する。最初のステップでは、アクセスポイント自身がEnrolleeとなる一方、スマートフォンやタブレットがConfiguratorとなる。この状態で、アクセスポイントに貼られたQRコードを読み取ったスマートフォンは、アクセスポイントのネットワークに接続することが可能になる。

アクセスポイントのQRコードをスマートフォンでスキャン。出典はWi-Fi Allianceの「Wi-Fi CERTIFIED Easy Connect Highlights」(PDF)

 次のステップでは、Configuratorは、アクセスポイント以外のEnrolleeの機器それぞれに貼られたQRコードを読み取る。各機器のQRコードは、それぞれの機器のネットワーク情報であり、まずこれを利用してConfiguratorはそれぞれのEnrolleeと接続。その上で、最初に取得したアクセスポイントに接続するための情報をEnrolleeの各機器に登録する。

各クライアントのQRコードをスキャンして接続機器を登録

 この結果として、Configuratorを含む全ての対応機器が、アクセスポイントへ接続できるようになるわけだ。これだけ普及しているスマートフォンを使うことを前提に、より簡単な接続方法を用意した、というかたちだろうか。

登録された機器のネットワーク接続が完了する

NFCやBluetoothでの接続はCertificationの対象外

 ちなみに仕様書では、QRコード以外にNFCやBluetoothを利用したデータ交換も定義されている。ただ、この2つは“This feature has note been tested in the Device Provisioning Protocol(DPP) certification program”とのただし書きがある通り、Wi-Fi Easy ConnectにおけるCertificationの対象外となっている。このため、当面はQRコードを利用するものだけが対象となる。

 この時点で、接続に用いる機器として認証の対象となるのが、ノートPCではなくスマートフォンやタブレットがメインとなることが分かる。

 ちなみに、前述した1~3の各ステップでは、1台のスマートフォンのみをConfiguratorとしていたが、実際には複数を用いることも可能だ。例えばオフィスなどで、さまざまな機器を手分けして各機器のWi-Fi接続を設定するような場合、複数のスマートフォンを用意し、並行して登録作業が行える。

Specificationではこれを"Configurator delegation"(管理者の委任)と称している。出典はDevice Provisioning Protocol Specification Version 1.1

完了までの手順を4ステップで定義した「DPP」を活用して接続

 ここまでの通り、接続手順がかなり簡略化されているWi-Fi Easy Connectだが、内部的にどういった実装で実現しているのかというと、新しく定義された「Device Provisioning Protocol(DPP)」というものを利用している。DPPでは、接続完了までの手順を4ステップで定義している。まずBootstrapping、次いでAuthentification(認証)、Configuration(設定)と続き、最後にNetwork接続が完了するという流れだ。

 最初のBootstrappingでは、Wi-Fi Easy Connectに対応した機器は全て、ユニークなIDを保持することになっている。このIDは公開鍵を含んだもので、QRコードまたは人間が読み取り可能な文字列として定義されることになっている。

これはあくまでサンプルで、実際に読み取っても特に何も起きないので念のため。出典は「Wi-Fi CERTIFIED Easy Connect Technology Overview」(Wi-Fi Alliance)

 例えば、右のQRコードで定義される文字列は、"DPP:C:81/1,115/36;K:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADM2206avxHJaHXgLMkq/24e0rsrfMP9K1Tm8gx+ovP0I=;;"という値になっている。これには、公開鍵に加え、デバイスのMACアドレスと、Channel 1~36が有効であるとの情報が含まれている。この情報をConfiguratorが読み取る作業が、Bootstrappingに相当する。

 Bootstrappingが完了したら、Configuratorはその情報を基にEnrolleeへアクセスを行う。ちなみにSpecificationでは、アクセスを行う側をInitiator、アクセスされる側をResponderとしている。ほとんどのケースでは、ConfiguratorがInitiator、EnrolleeがResponderとなる。

 その後、Configuratorは以下のような流れで処理を行っていく。まず、ConfiguratorがアクセスポイントのEnrolleeに、Authentification(認証)とConfiguration(設定)を行う。

 Enrolleeは、基本的に初期状態ではResponderとなり、電源が投入されるとConfiguratorからのInitiationが来るのを待機状態で待ち続ける。ただし、常時フルパワーで受信待機していると、消費電力を増えて仕方がないので、当然、間欠的な受信待機モードに入っていると思われる。

 このため、InitiatorがAuthentification Requestを送り出しても、必ずしもすぐに反応があるとは限らない。上の図は、最初の2回のRequestはTimeoutとなっていて、3度目で初めて受け取るかたちになっているのは、こうした状況を考慮したものだろう。

 このRequestでは、Bootstrappingで取得したResponderの公開鍵を利用した、InitiatorのBootstrap Keyのハッシュ値、Initiatorのプロトコルキー、Initiatorが生成するNonce、それとInitiatorの持つ機能(Capabilities)などが暗号化して送られる。暗号化には楕円暗号が利用され、256bit/384bit/512bitの3種類がサポートされている。どれを使うのかは最初のQRコードから判別可能だ。先に示したQRコードであれば256bit(P-256)なので、256bit長で暗号化される。ちなみに、256/384bit長の場合は、QRコードのVersion 4(33×33cell)で対応可能だが、512bitではVersion 5(37×37cell)が必要とされる。

 これを受け取ったResponderは、暗号を自身の持つ秘密鍵で正しく展開できた場合、この情報を基にして、自身のプロトコルキーペアとNonce、Authentification Tagなどを生成。これをDPP Authentification ResponseとしてInitiatorに返す。受け取ったInitiatorは、Responseに含まれるデータを基に「I-auth」と呼ばれる値を計算し、もともと自身の持っていたI-authの値と比較して、一致していればDPP Authentification ConfirmをResponderに送り出す。これをResponderが受け取るとDPP Authentificationが完了し、以後はプロトコルキーをベースに生成される共通の暗号化キーを利用して、DPP Configurationを行うことになる。

 次のDPP Configurationでは、これまでとは逆に、EnrolleeからConfiguratorに対してリクエストを出し、これにConfiguratorが返答を出すかたちになる。この際に、Configuratorは各々のEnrolleeに対し、「Connector」と呼ばれるデータ構造を1つずつ作って、各Enrolleeへと送り出す。このConnectorには、「DPP Objects」と呼ばれる以下の情報が格納されている。

  • Wi-Fi情報:Enrolleeの立場を示すもの。DPP Configurator/Infrastructure/P2Pのいずれか
  • DPP Discovery:アクセスポイントと接続するために必要となる、SSDIやチャネルなどの情報
  • DPP Credential:AKM(Authentication and Key Management)パラメーターを含む、アクセスポイントへSecureにアクセスするのに必要な情報。もしアクセスポイントがPSKやパスフレーズを利用する場合には、これも含まれる

 DPP Objectsを受け取って解釈することで、Enrolleeはアクセスポイントに接続できる。ただ、Enrollee自身がアクセスポイントの場合は、このConnectorの情報にあわせて自身を設定するという仕組みである。

 このように、仕様そのものは固まっているのだが、Wi-Fi Easy Connectの対応機器としてWi-Fi Allianceに登録され、Certificationを現時点で取得しているのは、Product Finderによると2製品しかない。しかも、Configuratorに相当するスマートフォンアプリが、今のところ存在しないというおまけ付きで、現時点ではまだ利用可能な状況になっているとは言い難い。

 Wi-Fi AllianceではCertificationの条件として、WPA2もしくはWPA3をサポートすることを掲げているので、理論上はDPPプロトコルさえ実装すれば、どんな製品でも対応できるはずだ。ただ、現実問題として、あまり実装のプライオリティは高くないようだ。2019年中にある程度普及が進むといいのだが、個人的には、本格的に普及するのは2020年以降ではないかとみている。

大原 雄介

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