以下に、添付図面に従って本発明に係る各実施形態を説明する。ただし、本発明の技術範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるものではない。
<第1実施形態>
図1に、第1実施形態における通信システムの構成例を示す。
携帯機器101は、無線LAN機能を有し、例えば、DPPに規定されるコンフィギュレータとして動作する。携帯機器101は、アクセスポイント103に対して無線ネットワーク104を形成するための通信パラメータを提供することができる。ここで、通信パラメータには、ネットワーク識別子としてのSSID(Service Set Identifier)、暗号方式、暗号鍵、認証方式等の、無線通信を行うために必要な設定項目が含まれる。なお、コンフィギュレータである携帯機器101の提供する通信パラメータは、携帯機器101の保持するコンフィギュレータ専用の秘密鍵によって暗号化される。携帯機器101は、アクセスポイント103の設定に用いたコンフィギュレータ専用の秘密鍵と公開鍵のペア(以下、鍵ペアと称する)を携帯機器102に渡すことができる。
携帯機器102は、無線LAN機能を有し、例えば、DPPに規定されるコンフィギュレータまたはエンローリとして動作する。携帯機器102は、エンローリとして動作して携帯機器101からコンフィギュレータ専用の鍵ペアを取得し、無線ネットワーク104に接続するための通信パラメータを提供するコンフィギュレータとして動作することができる。
アクセスポイント103は、例えばDPPに規定されるアクセスポイントとして動作する。また、アクセスポイント103はエンローリとして動作し、コンフィギュレータである携帯機器101から通信パラメータを取得することで無線ネットワーク104を形成することができる。プリンタ105およびプリンタ106は、無線LAN機能を有し、例えばDPPに規定されるエンローリとして動作する。プリンタ105およびプリンタ106は、コンフィギュレータである携帯機器101もしくは携帯機器102から暗号化された通信パラメータを取得し、これを復号して用いることで、無線ネットワーク104に接続することができる。
なお、本実施形態の携帯機器としては、携帯電話、デジタルカメラ、ビデオカメラ、PC、PDA、スマートフォン、スマートウォッチなどの電子機器があげられるがこれらに限られるものではない。また、本実施形態では、無線ネットワークに接続される電子機器として携帯機器とプリンタを用いて説明を行うがこれらに限られるものではなく、無線ネットワークに接続が可能な電子機器であればよく、携帯型でなくてもよい。また、本実施形態におけるアクセスポイントは、DPPに規定されるアクセスポイントとして動作するとともに特定の機能をもつ電子機器(プリンタやデジタルカメラなど)であってもよい。
図2は、本実施形態における携帯機器101および携帯機器102の機能構成例を示すブロック図である。図2に示される各機能部は、コンピュータ(プロセッサ)が、メモリに格納されたプログラムを実行することにより実現される。ただし、各機能の一部またはすべてが専用のハードウェアにより実現されてもよい。
図2において、無線通信制御部201は、無線LANを介して他の無線装置との間で無線信号の送受信を行うための、アンテナおよび回路等を用いた通信を制御する。送受信部202は、各通信レイヤのプロトコルに応じたデータの送受信制御を行う。操作部203は、ユーザが携帯機器101を操作するために用いられる。操作部203には撮像部207を起動するためのボタン等が含まれる。なお、操作部203はハードウェアで構成されていてもよいし、ソフトウェアにより表示部204を用いて提供されるUIで構成されてもよい。表示部204は、LCDやLED、あるいはスピーカのように視覚・聴覚で認知可能な情報を出力するなど、各種表示処理を行う。
制御部205は、携帯機器101全体を制御する。記憶部206は、携帯機器101を制御するためのプログラムやデータが格納されたROMと、一時的な記憶を司るRAMとを備えている。後述する各種動作は、記憶部206に記憶された制御プログラムを不図示のCPUが実行して、制御部205などの機能部を実現することにより行われる。
撮像部207は、撮像素子、レンズ等を含み、静止画や動画の撮影を行う。画像処理部208は、撮像部207で撮影された画像等の画像処理を行う。また、画像処理部208は、撮像部207により撮影されたQRコードの画像を解析し、符号化された情報を復号してその情報(QRコード情報)を取得する。コード生成部209は、QRコード情報を生成し、生成したQRコード情報をQRコード(画像)として表示部204へ表示するための制御を行う。なお、本実施形態では、コード情報の画像としてQRコードを用いたがこれに限られるものではなく、バーコード、二次元コードなどが用いられてもよい。
通信パラメータ処理部210は、無線ネットワーク104に接続するための通信パラメータの提供や取得を行うための処理を行う。役割判定部211は、通信パラメータの送受信を行う相手機器の役割を判定する。本実施形態では、判定される役割の種類として、通信パラメータを提供する「コンフィギュレータ」、通信パラメータを取得する「エンローリ」などが存在するが、これらに限らない。例えば、コンフィギュレータ専用の鍵ペアを提供する役割や、コンフィギュレータ専用の鍵ペアを取得する役割が存在してもよい。
鍵共有処理部212は、アクセスポイント103への通信パラメータの提供に用いた秘密鍵と公開鍵のペア(鍵ペア)を、他の装置との間で共有するための処理を行う。鍵共有処理部212は、鍵共有を行うためのユーザからの指示受信や相手装置からの共有要求の許可を受け付けて、鍵共有処理を実行する。
なお、上記機能ブロックは一例であり、複数の機能ブロックが1つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
次に、DPP規格で規定された通信パラメータの提供処理に関して、図3、図4を用いて説明する。また、DPP規格で規定されたアクセスポイントへの接続処理に関して、図5を用いて説明する。
まず、コンフィギュレータである携帯機器101が、アクセスポイント103に無線ネットワーク104を形成させるために、また、プリンタ105を無線ネットワーク104へ接続させるために、通信パラメータを提供する処理について述べる。図3は、コンフィギュレータである携帯機器101が、エンローリであるアクセスポイント103に通信パラメータを提供する処理を示すフローチャートである。
携帯機器101において、制御部205は、パラメータ提供の指示をユーザから受けると、アクセスポイント103の表示するQRコードを撮影するために撮像部207を起動する(S301)。そして、制御部205は、携帯機器101の撮像部207がQRコードを撮影したか否かを判定する(S302)。ここで、アクセスポイント103の表示するQRコードは、ディスプレイ等で表示されたものに限らず、電子機器の筺体や付属品に貼り付けられたラベル等に印刷されたものであってもよい。また、QRコードは、例えば説明書等に記載されたものでもよい。なお、S302にて、撮像部207の起動から所定の時間内にQRコードを撮影できなかった場合、通信パラメータの提供処理を終了してもよい。
QRコードを撮影したと判定されると(S302でYES)、画像処理部208は撮像画像中のQRコードを復号し、アクセスポイント103の認証用の公開鍵を含むQRコード情報を取得する(S303)。次に、制御部205は、送受信部202、無線通信制御部201を用いて、アクセスポイント103に認証要求を送信する(S304)。この認証要求は、例えばDPP規格で規定されたDPP Authentication Requestフレームである。この認証要求には、認証に用いるための認証情報と、携帯機器101の識別情報、役割情報、乱数、共有鍵生成用の公開鍵が含まれる。
認証情報は、QRコードに含まれるアクセスポイント103の認証用の公開鍵のハッシュ値である。識別情報は、携帯機器101の認証用の公開鍵のハッシュ値である。役割情報は、携帯機器101の役割(コンフィギュレータまたはエンローリなど)を示す情報である。乱数は、後述する認証応答の受信時に、認証のために使用される。共有鍵生成用の公開鍵は、アクセスポイント103との間で生成される共有鍵の生成元となる鍵である。
認証要求を受信したアクセスポイント103は、認証要求を送信した装置がQRコードを撮影した装置であるか否かを判定する。この判定は、認証要求に含まれている認証情報を用いて行われる。すなわち、アクセスポイント103が、表示したQRコードに含めた公開鍵のハッシュ値を計算し、計算されたハッシュ値と認証要求に含まれるハッシュ値(認証情報)とを比較し、両者が一致した場合に検証が成功したと判定する。なお、このときのハッシュ値の計算に用いられるハッシュ関数は、認証要求を送信する携帯機器101との間で予め合意されているものとする。
認証要求に含まれている公開鍵は、後述するタグ情報などアクセスポイント103との間で送受信する情報を暗号化および復号するために用いられる共有鍵の生成元となる鍵である。コンフィギュレータである携帯機器101は、アクセスポイント103の共有鍵生成用の公開鍵(後述の認証応答に含まれている)と、携帯機器101の共有鍵生成用の秘密鍵の双方を用いて共有鍵を生成する。一方、エンローリであるアクセスポイント103は、携帯機器101の共有鍵生成用の公開鍵と、アクセスポイント103の共有鍵生成用の秘密鍵の双方を用いて共有鍵を生成する。共有鍵は、例えば、ECDH(Elliptic Curve Diffie-Hellman)方式に基づいて生成される。以下、共有鍵は、このECDH方式に基づいて生成されるものとするが、この方式に限定されるものではなく、その他の公開鍵暗号方式で生成してもよい。
S304にてアクセスポイント103に認証要求を送信した後、携帯機器101の制御部205は、アクセスポイント103から認証応答を受信するのを待つ(S305)。S304にて所定の時間内に認証応答を受信できなかった場合、通信パラメータの提供処理を終了する。
認証応答は、例えばDPP規格で規定されたDPP Authentication Responseフレームである。この認証応答には、アクセスポイント103の共有鍵生成用の公開鍵、役割情報、乱数、タグ情報が含まれる。携帯機器101は、アクセスポイント103の共有鍵生成用の公開鍵と自身の共有鍵生成用の秘密鍵を用いて共有鍵を生成する。共有鍵の生成については上述したとおりである。
また、タグ情報は、携帯機器101の送信した認証要求に含まれていた乱数であり、アクセスポイント103の共有鍵生成用の秘密鍵と、携帯機器101の共有鍵生成用の公開鍵の双方を用いて生成された共有鍵で暗号化されている。携帯機器101は、タグ情報を自身が生成した共有鍵で正しく復号できた場合に、認証に成功したと判定する。より具体的には、制御部205が、携帯機器101の共有鍵生成用の秘密鍵とアクセスポイント103の共有鍵生成用の公開鍵を用いて、アクセスポイント103が共有鍵を生成したのと同等の方法で共有鍵を生成し、その共有鍵を使ってタグ情報を検証する。制御部205は、自身が生成した共有鍵でタグ情報を復号できた場合に認証成功と判定し、復号できなかった場合に認証失敗と判定する。
図3において、認証応答を受信すると(S305でYES)、携帯機器101の制御部205は、認証応答の内容を検証する(S306)。上述のように、制御部205は、認証応答に含まれるタグ情報を用いて認証成功か否かを判定し、認証応答に含まれているアクセスポイント103の役割情報がエンローリを示すか否かを判定する。認証に失敗した、または、認証応答を送信したアクセスポイント103の役割がエンローリを示さないと判定された場合(S306でNO)、制御部205は、表示部204にエラーを示すメッセージを表示して(S310)、パラメータ提供処理を終了する。
認証成功と判定され、且つ、アクセスポイント103の役割がエンローリであると判定された場合(S306でYES)、制御部205は、アクセスポイント103へ認証確認を送信する(S307)。この認証確認は、例えばDPP規格で規定されたDPP Authentication Confirmフレームである。この認証確認は、タグ情報を含む。タグ情報は、アクセスポイント103が送信した認証応答に含まれていた乱数を制御部205が共有鍵によって暗号化したものである。携帯機器101の制御部205は、認証確認を送信後、エンローリであるアクセスポイント103から設定要求が送信されるのを待つ(S308)。
認証確認を受信したアクセスポイント103は、その認証確認に含まれているタグ情報を自身が生成した共有鍵で正しく復号できた場合に、認証成功と判定する。認証成功と判定すると、アクセスポイント103は、認証要求を送信した携帯機器101をコンフィギュレータと認定し、携帯機器101に対して設定要求を送信する。設定要求は、例えばDPP規格で規定されたDPP Configuration Requestフレームである。この設定要求には、アクセスポイント103のデバイス情報や通信パラメータ受領後の役割情報が含まれる。デバイス情報は、アクセスポイント103のデバイス名などである。また、通信パラメータ受領後の役割情報は、エンローリが無線ネットワークを構築するアクセスポイントとして動作するか無線ネットワークに接続する装置として動作するかを示す情報である。ここでは、無線ネットワークを構築するアクセスポイントとして動作することを示す情報が設定される。設定要求に含まれる情報は、アクセスポイント103が認証応答の送信時においてタグ情報の暗号化に使用した共有鍵で暗号化される。
アクセスポイント103からの設定要求が受信されると(S308でYES)、携帯機器101の通信パラメータ処理部210は、設定応答として、無線ネットワーク104を形成するための通信パラメータの提供処理を行う(S309)。設定応答は、例えばDPP規格で規定されたDPP Configuration Responseフレームである。携帯機器101の通信パラメータ処理部210が送信する設定応答には、通信パラメータ、パラメータの有効期限、携帯機器101のコンフィギュレータ専用の公開鍵などが含まれる。設定応答において、通信パラメータは、携帯機器101のコンフィギュレータ専用の秘密鍵で暗号化されている。さらに、設定応答に含まれる情報は、S307にてタグ情報の暗号化に使用した共有鍵で暗号化される。なお、通信パラメータは、暗号鍵として、共有鍵の生成に用いた通信相手の公開鍵(この場合、アクセスポイント103からの認証応答に含まれる公開鍵)を含む。
エンローリであるアクセスポイント103は、設定要求を送信後、コンフィギュレータである携帯機器101から設定応答が送信されるのを待ち受ける。設定応答を受信したアクセスポイント103は、設定応答に含まれる情報を、タグ情報の暗号化に使用した共有鍵で復号する。さらに、アクセスポイント103は、携帯機器101のコンフィギュレータ専用の秘密鍵で暗号化された通信パラメータを、携帯機器101のコンフィギュレータ専用の公開鍵で復号する。アクセスポイント103は、復号して得られた通信パラメータで無線ネットワーク104を形成することができる。
以上のような処理を行う携帯機器101がアクセスポイント103に通信パラメータを提供するまでの、携帯機器101とアクセスポイント103の動作についてさらに説明する。図4は、携帯機器101が、アクセスポイント103に通信パラメータを提供する処理を示すシーケンス図である。
アクセスポイント103は、パラメータ受領の指示をユーザから受けると(S401)、ディスプレイにQRコードを表示し(S402)、認証要求を待ち受ける。なお、所定の時間内に認証要求を受信できなかった場合、アクセスポイント103は認証要求の待ち受けを終了してもよい。また、アクセスポイント103がQRコードを表示するディスプレイ等を備えておらず、電子機器の筺体や付属品に貼り付けられたラベル等にQRコードが印刷されている場合、S402はスキップされる。すなわち、アクセスポイント103は、パラメータ受領の指示を受け付けると(S401)、S402での処理を行わずに認証要求を待ち受ける。
一方、携帯機器101は、パラメータ提供の指示をユーザから受けると(S403)、アクセスポイント103の表示するQRコードを撮影するために撮像部207を起動する(S404)。そして、携帯機器101の撮像部207がアクセスポイント103の表示するQRコードを撮影することで、そのQRコードが示す情報を取得する(S405)。
QRコードが示す情報を取得した携帯機器101は、認証要求を生成、送信し、アクセスポイント103はこの認証要求を受信する(S406)。アクセスポイント103は、受信した認証要求の内容を検証する。認証要求を送信した携帯機器101がQRコードを撮影した装置であると判定すると、役割情報を検証する(S407)。アクセスポイント103は、役割情報を検証した結果、認証要求を送信した装置の役割がコンフィギュレータを示すと判定すると、認証応答を生成、送信する(S408)。携帯機器101へ認証応答を送信したアクセスポイント103は、携帯機器101から認証確認が送信されるのを待ち受ける。
認証応答を受信した携帯機器101は、認証応答の内容を検証する(S409)。携帯機器101は、認証応答の認証に成功し、認証応答に含まれる役割情報がエンローリを示すと判定すると、アクセスポイント103へ認証確認を送信する(S410)。
携帯機器101から認証確認を受信(S410)したアクセスポイント103は、認証確認の内容を検証する。アクセスポイント103は、自身が生成した共有鍵でタグ情報を正しく復号できた場合に認証に成功したと判定する。認証に成功したと判定されると、アクセスポイント103は、携帯機器101との間で通信パラメータの設定処理を行う(S411)。より具体的には、アクセスポイント103は、通信パラメータの設定処理を行うために設定要求を送信し、携帯機器101から設定応答が送信されるのを待ち受ける。設定要求を受信した携帯機器101は、携帯機器101のコンフィギュレータ専用の秘密鍵で暗号化した通信パラメータと、コンフィギュレータ専用の公開鍵を設定応答に含めて送信する。設定応答を受信したアクセスポイント103は、携帯機器101のコンフィギュレータ専用の公開鍵で通信パラメータを復号する。アクセスポイント103は、この復号された通信パラメータを用いて無線ネットワーク104を形成する。
以上、図3、図4を用いて説明した処理によって、携帯機器101が、アクセスポイント103に通信パラメータを提供することができる。また、図3、図4を用いて説明した処理と同様の処理によって、コンフィギュレータである携帯機器101がエンローリであるプリンタ105に対して通信パラメータを提供することができる。ただし、タグ情報の暗号化などに使用される共有鍵は、携帯機器101とアクセスポイント103との間で生成した共有鍵とは異なる鍵となる。これは、プリンタ105の共有鍵生成用の鍵ペアが、アクセスポイント103の共有鍵生成用の鍵ペアと異なるためである。また、通信パラメータに含まれる内容も異なるものとなる。これは、プリンタ105が携帯機器101から受領する通信パラメータには、アクセスポイント103の共有鍵生成用の公開鍵は含まれず、プリンタ105自身の共有鍵生成用の公開鍵が含まれるためである。
続いて、コンフィギュレータである携帯機器101から通信パラメータを取得したプリンタ105が、アクセスポイント103の形成する無線ネットワーク104に接続する処理について述べる。図5は、プリンタ105が、アクセスポイント103の形成する無線ネットワーク104に接続する処理を示すシーケンス図である。
プリンタ105は、無線ネットワーク104への接続指示をユーザから受けると(S501)、検索要求を送信する(S502)。この検索要求は、例えばDPP規格で規定されたDPP Peer Discovery Requestフレームである。この検索要求には、プリンタ105が携帯機器101から取得した通信パラメータが含まれている。この通信パラメータは、上述した通り携帯機器101のコンフィギュレータ専用の秘密鍵で暗号化されている。
検索要求を受信したアクセスポイント103は、S411にて取得した携帯機器101のコンフィギュレータ専用の公開鍵を使用して、検索要求に含まれる通信パラメータを復号する(S503)。なお、復号できない場合は、検索要求を破棄する。通信パラメータを復号したアクセスポイント103は、プリンタ105との間で共有するマスター鍵(PMK(Pairwise Master Key))を生成する(S504)。このマスター鍵は、WPA(Wi-Fi Protected Access)と呼ばれる暗号化規格において様々な鍵のもとになり、無線接続を確立する際に用いられる。マスター鍵は、通信パラメータに含まれるプリンタ105の共有鍵生成用の公開鍵と、アクセスポイント103の共有鍵生成用の秘密鍵の双方を用いて生成される。
S504にてマスター鍵を生成したアクセスポイント103は、検索応答を送信する(S505)。この検索応答は、例えばDPP規格で規定されたDPP Peer Discovery Responseフレームである。この検索応答には、S411にてアクセスポイント103が携帯機器101から取得した通信パラメータが含まれている。この通信パラメータも同様に、携帯機器101のコンフィギュレータ専用の秘密鍵で暗号化されている。
検索応答を受信したプリンタ105は、携帯機器101から取得したコンフィギュレータ専用の公開鍵を使用して、検索応答に含まれる通信パラメータを復号する(S506)。なお、復号できない場合は、検索応答を破棄する。通信パラメータを復号したプリンタ105は、アクセスポイント103との間で共有するマスター鍵を生成する(S507)。マスター鍵は、通信パラメータに含まれるアクセスポイント103の共有鍵生成用の公開鍵と、プリンタ105の共有鍵生成用の秘密鍵の双方を用いて生成される。マスター鍵を共有したプリンタ105とアクセスポイント103は、マスター鍵を用いて接続処理を行う(S508)。以上により、プリンタ105は、アクセスポイント103の形成する無線ネットワーク104に接続することができる。
次に、携帯機器101に加えて、携帯機器102も、アクセスポイント103の形成する無線ネットワーク104に接続するための通信パラメータを提供するコンフィギュレータとして動作させる場合を考える。この場合、携帯機器101が通信パラメータを暗号化するために用いた携帯機器101のコンフィギュレータ専用の鍵ペアを、携帯機器102が取得する必要がある。その理由を説明するために、携帯機器101のコンフィギュレータ専用の鍵ペアを保持していない携帯機器102が、携帯機器101からエンローリとして取得した通信パラメータをプリンタ106に提供する場合を考える。
例えば、携帯機器102が、携帯機器101のコンフィギュレータ専用の秘密鍵で暗号化されたままの通信パラメータを、プリンタ106に提供する。プリンタ106は、取得した通信パラメータを含めた検索要求をアクセスポイント103に送信する。検索要求を受信したアクセスポイント103は携帯機器101のコンフィギュレータ専用の公開鍵を用いて通信パラメータの復号を行うが、通信パラメータに含まれる公開鍵は携帯機器102の共有鍵生成用の公開鍵である。アクセスポイント103は、この通信パラメータに含まれる携帯機器102の共有鍵生成用の公開鍵と、アクセスポイント103の共有鍵生成用の秘密鍵の双方を用いてマスター鍵を生成する。一方、プリンタ106は、アクセスポイント103から送信された通信パラメータに含まれるアクセスポイント103の共有鍵生成用の公開鍵と、プリンタ106の共有鍵生成用の秘密鍵の双方を用いてマスター鍵を生成する。そのため、アクセスポイント103およびプリンタ106の間で生成するマスター鍵は異なる鍵となり、無線接続を確立することができない。
また、例えば、携帯機器102が、携帯機器101のコンフィギュレータ専用の公開鍵で復号した通信パラメータを、携帯機器102のコンフィギュレータ専用の秘密鍵で暗号化してプリンタ106に提供したとする。プリンタ106は、携帯機器102から取得した通信パラメータを含めた検索要求をアクセスポイント103に送信する。検索要求を受信したアクセスポイント103は通信パラメータの復号を試みるが、携帯機器101のコンフィギュレータ専用の公開鍵ではこの通信パラメータを復号できないため、検索要求を破棄する。その結果、プリンタ106は、無線ネットワーク104に接続することができない。
以上の理由により、携帯機器102を無線ネットワーク104に接続するための通信パラメータを提供するコンフィギュレータとして動作させるためには、携帯機器101のコンフィギュレータ専用の鍵ペアを携帯機器102が取得する必要がある。以下、無線ネットワーク104に接続するための通信パラメータの暗号化および復号に用いる携帯機器101のコンフィギュレータ専用の鍵ペアを、携帯機器101から携帯機器102に提供する処理を説明する。なお、第1実施形態では、アクセスポイント103の設定に用いた携帯機器101のコンフィギュレータ専用の鍵ペアの共有を、携帯機器102が携帯機器101に要求する場合の処理について述べる。
図6は、本実施形態における携帯機器101と携帯機器102の間の処理を示すシーケンス図である。携帯機器101、携帯機器102は、それぞれ外部装置である携帯機器102、携帯機器101と通信が可能である。
携帯機器102は、無線ネットワーク104に接続するための通信パラメータを提供するコンフィギュレータとして動作するために、携帯機器101のコンフィギュレータ専用の鍵ペアを共有するようにユーザから指示を受ける(S601)。そして、携帯機器102は、QRコードを自装置の表示部204に表示させ、認証要求を待ち受ける(S602)。一方、携帯機器101は、ユーザからパラメータ提供の開始指示を受けると(S603)、携帯機器102が表示するQRコードの画像を撮像してQRコード情報を取得する(S604、S605)。S606、S609、S613は、携帯機器101と携帯機器102が互いを認証するための情報(本実施形態では、認証情報、乱数、タグ情報)を含むフレームを交換する認証処理である。そして、この認証処理の間に、コンフィギュレータが通信パラメータを提供するのに用いる固有の情報(本実施形態ではコンフィギュレータの秘密鍵)をエンローリと共有するための要求、およびその要求に対する許可がやり取りされる。
携帯機器101は取得したQRコード情報に基づいて認証要求を生成し、送信する(S606)。これらのS603~S606の処理は、図4で説明したS403~S406までの処理と同様である。携帯機器102は、認証要求を受信すると(S606)、認証要求の内容を検証する。携帯機器102は、認証要求に含まれる認証情報を検証して、認証要求を送信した携帯機器101がQRコードを撮影した装置であると判定(認証成功)すると、認証要求に含まれる役割情報を検証する(S607)。携帯機器102は、携帯機器101の送信した認証要求に含まれる役割情報がコンフィギュレータであると判定すると、鍵ペアの共有要求を示す情報を認証応答に含める処理を行う(S608)。鍵ペアの共有要求は、例えば、DPP Authentication Responseフレームの所定のビットを立てることで示される。なお、鍵ペアの要求を示すために所定のビットを用いるとしたがこれに限られるものではない。例えば、認証応答に含める役割情報が、「パラメータ提供装置」を表すコンフィギュレータや「パラメータ受領装置」を表すエンローリ以外の役割、例えば「鍵ペア受領装置」を表す役割を示すようにしてもよい。携帯機器102は、以上のようにして生成した、鍵ペアの共有要求を含む認証応答を送信する(S609)。認証応答を送信後、携帯機器102は、認証要求を送信した携帯機器101から認証確認が送信されるのを待つ。
携帯機器101は、認証応答を受信し(S609)、タグ情報による認証に成功すると、認証応答に含まれる携帯機器102の役割情報を検証する(S610)。役割情報の検証により、認証応答を送信した装置の役割がエンローリ(もしくは「鍵ペア受領装置を示す役割」)を示すと判定されると、携帯機器101は、パラメータ提供処理を継続する。一方、役割情報が上記以外の役割を示す場合、パラメータ提供処理を終了する。
パラメータ提供処理を継続する携帯機器101は、認証応答に鍵ペアの共有要求が含まれているかを確認する(S611)。認証応答に鍵ペアの共有要求が含まれている場合、携帯機器101は、鍵ペアの共有要求がある旨を表示部204に表示してユーザに通知し、操作部203を用いたユーザからの鍵ペアの共有に対する許可の指示を待ち受ける。鍵ペアの共有がユーザから許可された場合、携帯機器101は、鍵ペアの共有許可を示す情報を認証確認に含める(S612)。鍵ペアの共有許可は、例えば、DPP Authentication Confirmフレームの所定のビットを立てることで示される。携帯機器101は、鍵ペアの共有許可を示す情報を含めた認証確認を携帯機器102に送信する(S613)。
なお、鍵ペアの共有要求がある旨を表示部204に表示し、操作部203を用いたユーザからの許可指示を受け付けることを鍵ペアの共有の条件としたが、これに限られるものではない。例えば、ユーザからの許可指示を受けることなく鍵ペアの共有許可を示す情報を認証確認に含める処理実行してもよい。この場合、鍵ペアの共有要求がある旨の表示が省略されてもよい。
一方、ユーザが鍵ペアの共有を許可しない場合、後述する鍵ペアの提供処理(S616)は行われない。あるいは、鍵ペアの共有が許可されない場合、認証確認を送信しないことで、パラメータ提供処理を行わずに終了してもよい。さらに、鍵ペア共有を許可しない場合、許可しないことを示す情報を含めたメッセージを携帯機器102に送信するようにしてもよい。
認証確認を受信した携帯機器102は、認証確認に含まれる鍵ペアの共有許可を示す情報を確認する(S614)。鍵ペアの共有許可を示す情報が認証確認に含まれていない場合、携帯機器102はパラメータ受領処理を終了する。なお、鍵ペアの共有許可を示す情報が認証確認に含まれていない場合、携帯機器102は、表示部204にエラーを示すメッセージを表示してユーザに通知してもよい。
認証確認による認証が完了すると、通信パラメータの設定が行われる(S615)。より具体的には、携帯機器102が認証確認による認証を完了した後、携帯機器101に対して設定要求を送信する。携帯機器101は、この設定要求に応答して、通信パラメータを含む設定応答を携帯機器102に送信する。これにより通信パラメータの提供処理が行われる。通信パラメータの提供処理が完了すると、携帯機器101は、携帯機器101のコンフィギュレータ専用の秘密鍵と公開鍵のペアを、携帯機器101と携帯機器102との間の共有鍵を使用して暗号化し、携帯機器102に送信する(S616)。なお、S615で送信した設定応答に携帯機器101のコンフィギュレータ専用の公開鍵が含まれているため、S616では秘密鍵だけを送信するようにしてもよい。また、携帯機器101は、S615でのパラメータ提供処理にて、設定応答に携帯機器101のコンフィギュレータ専用の秘密鍵を含めて送信してもよい。その場合、S616の処理が不要となる。
また、携帯機器101は、S613にて認証確認を送信後、S615での通信パラメータ提供処理が完了する前に携帯機器101のコンフィギュレータ専用の鍵ペアを提供するようにしてもよい。さらに、携帯機器101は、鍵ペアの共有許可を示す情報を含めずに認証確認を送信した場合でも、携帯機器101のコンフィギュレータ専用の鍵ペアを提供してもよい。
アクセスポイント103の設定に用いた携帯機器101のコンフィギュレータ専用の秘密鍵と公開鍵のペアを取得した携帯機器102は、コンフィギュレータとしてエンローリであるプリンタ106に通信パラメータを提供することができる。プリンタ106は、携帯機器102から取得した通信パラメータを用いて、図5のシーケンスで示した処理を実施することで、アクセスポイント103が形成する無線ネットワーク104に接続することが可能となる。
なお、S603にてパラメータ提供の開始を指示ではなく、鍵ペア共有の開始を指示された場合、S612においてユーザからの許可指示を待ち受けずに、鍵ペアの共有許可を示す情報を認証確認に含める処理を行ってもよい。
なお、通信パラメータを提供せずに、すなわちS615のパラメータ設定を行わずに、鍵ペアだけが提供されるようにしてもよい。その場合、S615での通信パラメータ提供処理を省くことができるため、ユーザの利便性が向上する。この鍵ペアだけを提供する処理は、S612にてユーザから鍵ペアだけを渡す旨の指示も受けた場合に実行されるようにしてもよい。なお、S603にてパラメータ提供の指示ではなく、鍵ペア共有の開始が指示された場合に、S612においてユーザからの許可指示を待ち受けずに、鍵ペアだけを提供する処理が行われるようにしてもよい。なお、後述の図9~図11のシーケンス図に示される処理においても、通信パラメータの提供処理を行わずに鍵ペアの提供処理が実行されるようにしてもよい。
続いて、図7、図8のフローチャートを用いて、携帯機器101、携帯機器102の処理を説明する。
図7は、携帯機器101が、携帯機器102の要求に応じて、自身が保持するコンフィギュレータの鍵ペア(秘密鍵と公開鍵)を携帯機器102に提供する処理を示すフローチャートである。撮像部207を起動してから、認証応答の検証を行うまでの処理は図3(S301~S306)と同様である。図7では、図3の処理において、認証応答を用いた認証に成功し、役割情報がエンローリを示すと判定された後(S306でYES)の処理を示す。
携帯機器102が送信した認証応答について、役割がエンローリであり、タグ情報の検証に成功すると、携帯機器101の制御部205は、認証応答に鍵ペアの共有要求があるかどうかを判定する(S701)。鍵ペアの共有要求があると判定された場合、制御部205は表示部204と操作部203を用いて鍵ペアの共有の可否をユーザに確認する(S702)。ユーザが共有を許可した場合(S702でOK)、鍵共有処理部212は認証確認に共有許可を示す情報を設定し(S703)、これを携帯機器102に送信する(S704)。他方、認証応答に鍵ペアの共有要求がないと判定された場合(S701でNO)、または、ユーザが共有を許可しない場合(S702でNG)、S703はスキップされ、共有許可を示す情報のない認証確認を携帯機器102に送信する(S704)。
その後、制御部205は、携帯機器102からの設定要求を待ち受ける(S705)。設定要求が受信されると、通信パラメータ処理部210は、通信パラメータを携帯機器102に提供する(S706)。この提供処理は、S310と同様である。続いて、鍵共有処理部212は、コンフィギュレータの秘密鍵と公開鍵である鍵ペアを携帯機器102に提供する(S707)。なお、鍵ペアは、共有鍵により暗号化される。また、後述の図8のS807に示されるように、S703で共有許可が設定されていないと設定要求が受信されないため、鍵ペアの共有は実行されない。但し、安全のために、S707では、S703で供給許可を設定した場合にのみ、鍵ペアの提供を実行するようにしてもよい。
図8は、携帯機器102が、携帯機器101の保持する鍵ペアを共有するようにユーザから指示を受け、アクセスポイント103の設定処理に用いた携帯機器101のコンフィギュレータ専用の鍵ペアを取得する処理を示すフローチャートである。
携帯機器102のコード生成部209は、携帯機器101の保持する携帯機器101のコンフィギュレータ専用の鍵ペアを共有するようにユーザから操作部203を介して指示を受けると、QRコードを生成し、表示部204に表示する(S801)。その後、制御部205は、認証要求を待ち受ける(S802)。なお、所定の時間内に認証要求を受信できなかった場合、アクセスポイント103は認証要求の待ち受けを終了してもよい。
携帯機器101から認証要求を受信すると、制御部205は受信した認証要求に含まれている認証情報を用いて認証を行い、役割判定部211は役割情報を検証してその役割を判定する。制御部205は、認証情報を用いた認証に成功し、且つ、役割判定部211により判定された役割がコンフィギュレータであるかを判定する(S803)。認証に失敗した、または、携帯機器101の役割がコンフィギュレータでないと判定されると、制御部205は、表示部204にエラーを示すメッセージを表示(S811)し、処理を終了する。なお、エラーメッセージの表示(S811)は省略されてもよい。
一方、S803において認証成功と判定され、且つ、認証要求を送信した携帯機器101の役割がコンフィギュレータであると判定された場合、鍵共有処理部212は、鍵ペアの共有要求を示す情報を認証応答に設定する(S804)。その後、制御部205は、携帯機器101に共有要求が設定された認証応答を送信し(S805)、携帯機器101からの認証確認を待ち受ける。
携帯機器101から認証確認を受信すると(S806)、制御部205は認証確認に含まれているタグ情報を用いた認証に成功し、且つ、鍵ペアの共有許可を示す情報が認証確認に含まれているか否かを判定する(S807)。認証に成功したと判定され、且つ、鍵ペアの共有許可を示す情報が認証確認に含まれていると判定された場合、通信パラメータ処理部210は、携帯機器101へ設定要求を送信する(S808)。その後、通信パラメータ処理部210は、携帯機器101からの設定応答を受信することにより通信パラメータを取得する(S809)。そして、鍵共有処理部212は、携帯機器101のコンフィギュレータ専用の鍵ペアを取得する(S810)。一方、S807において、タグ情報の検証に失敗した、または、鍵ペアの共有許可を示す情報が認証確認に含まれていないと判定された場合、制御部205は、表示部204にエラーを示すメッセージを表示し、処理を終了する(S811)。
<変形例1>
図6では、携帯機器101と携帯機器102が認証のための情報を交換するためのフレームから、コンフィギュレータが通信パラメータを提供するのに用いる固有の情報(本実施形態では鍵ペア)を共有する要求(共有要求)が検出される例を示した。しかしながら共有要求を携帯機器101に通知する方法はこれに限られるものではない。例えば、携帯機器101宛の鍵ペアの共有要求を示す情報を含むActionフレームを用いて通知してもよいし、QRコードを用いて鍵ペアの共有要求を通知してもよい。図9は、鍵ペアの共有要求を示す情報をQRコード内に含める場合の処理を示すシーケンス図である。
携帯機器102は、無線ネットワーク104に接続するための通信パラメータを提供するコンフィギュレータとして動作するために、携帯機器101のコンフィギュレータ専用の鍵ペアを共有するようにユーザから指示を受ける(S901)。鍵ペアを共有する指示を受けた携帯機器102は、鍵ペアの共有要求を示す情報をQRコードに埋め込み(S902)、これを表示する(S903)。携帯機器102の表示したQRコードの情報を携帯機器101が取得するためのS904からS906での処理は、図4のS403からS405までの処理と同様である。なお、共有要求を含むQRコードが、印刷物などの形態で提供されてもよい。
携帯機器101は、取得したQRコード情報に、鍵ペアの共有要求が存在することを確認する(S907)。鍵ペアの共有要求を確認した携帯機器101は、鍵ペアの共有を許可する場合、鍵ペアの共有許可を示す情報を認証要求に含め(S908)、これを携帯機器102に送信する(S909)。なお、S907、S908の処理はS611、S612と同様である。
携帯機器102は、認証要求を受信し(S909)、認証要求に含まれる認証情報による認証に成功(認証要求を送信した携帯機器101がQRコードを撮影した装置であると判定)すると、認証要求に含まれている役割情報を検証する(S910)。認証情報の検証により、携帯機器101がコンフィギュレータであることを確認すると、携帯機器102は、認証要求に含まれる鍵ペアの共有許可を示す情報を確認する(S911)。鍵ペアの共有許可は、例えば、DPP Authentication Requestフレームの所定のビットが立っていることで示される。なお、認証要求において鍵ペアの共有許可を示す方法はこれに限られるものではない。例えば、役割が「パラメータ提供装置」を表すコンフィギュレータではなく「鍵ペア提供装置」であることを表すように、認証要求に含まれる役割情報を設定することで、鍵ペアの共有許可が示されてもよい。
認証要求から鍵ペアの共有許可を示す情報を確認した携帯機器102は、認証応答を送信し(S912)、携帯機器101から認証確認が送信されるのを待ち受ける。一方、認証応答を受信した携帯機器101は、認証応答に含まれるタグ情報と携帯機器102の役割情報を検証する(S913)。そして、タグ情報が正しく復号されて認証に成功したと判定され、役割情報がエンローリを示す場合、携帯機器101は認証確認を送信する(S914)。こうして認証が完了すると、設定要求と設定応答による通信パラメータの提供処理が行われる。通信パラメータの設定処理および鍵ペアの提供処理であるS915からS916の処理は、図6のS615からS616の処理と同様である。
以上のように、図9を用いて説明した処理によれば、QRコードを用いて鍵ペアの共有要求を通知することで、携帯機器101のコンフィギュレータ専用の鍵ペアを共有することができる。
<変形例2>
また、図6を用いて説明した処理によれば、鍵ペアの共有を要求する携帯機器102がQRコードを表示していたがこれに限られるものではない。携帯機器101がQRコードを表示する場合でも、鍵ペアの共有を携帯機器102が携帯機器101に要求するようにしてもよい。図10は、携帯機器101がQRコードを表示し、携帯機器102が携帯機器101に鍵ベアの要求を行う処理を示すシーケンス図である。
携帯機器101は、パラメータ提供の指示をユーザから受けると(S1001)、QRコードを自装置の表示部204に表示させ、認証要求を待ち受ける(S1002)。一方、携帯機器102は、無線ネットワーク104に接続するための通信パラメータを提供するコンフィギュレータとして動作するために、携帯機器101のコンフィギュレータ専用の鍵ペアを共有するようにユーザから指示を受ける(S1003)。携帯機器102は、この指示を受けてQRコードを撮影するために撮像部207を起動する(S1004)。携帯機器102は、携帯機器101の表示部204に表示されているQRコードを、携帯機器102の撮像部207により撮像して、そのQRコードが示す情報を取得する(S1005)。携帯機器102は、QRコード情報を用いて認証要求を生成し、鍵ペアの共有要求を示す情報をこの認証要求に含め(S1006)、これを携帯機器101に送信する(S1007)。鍵ペアの共有要求は、例えば、DPP Authentication Requestフレームの所定のビットを立てることで示される。
認証要求を受信した携帯機器101は、認証要求に含まれる認証情報により認証に成功すると、認証要求に含まれている役割情報を検証する(S1008)。この検証により役割情報がエンローリを示すことを確認すると、携帯機器101は、認証要求に鍵ペアの共有要求が含まれているか否かを確認する(S1009)。認証要求に鍵ペアの共有要求が含まれていることを確認すると、携帯機器101は、鍵ペアの共有許可を示す情報を認証要求に含め(S1010)これを携帯機器102に送信する(S1011)。鍵ペアの共有許可は、例えば、DPP Authentication Responseフレームの所定のビットが立っていることで示される。なお、S1009、S1010の処理はS611、S612と同様である。
携帯機器102は、認証応答を受信すると、認証応答に含まれているタグ情報、役割情報を検証する(S1012)。そして、タグ情報を用いた認証が成功し、役割情報がコンフィギュレータを示す場合、携帯機器102は、認証応答に鍵ペアの共有許可が含まれているかを確認する(S1013)。鍵ペアの共有許可を確認した携帯機器102は、認証確認を携帯機器101に送信する(S1014)。こうして認証が完了すると、通信パラメータの提供処理(S1015)と鍵ペアの提供処理(S1016)が行われる。通信パラメータの設定処理および鍵ペアの提供処理であるS1015からS1016での処理は、図6のS615からS616までの処理と同様である。
以上のように、図10を用いて説明した処理によれば、携帯機器101がQRコードを表示する場合にも、携帯機器101のコンフィギュレータ専用の鍵ペアを共有することができる。
以上のように、第1実施形態によれば、携帯機器102が携帯機器101に要求することで、アクセスポイント103の設定に用いた携帯機器101のコンフィギュレータ専用の秘密鍵と公開鍵のペアを共有することができる。鍵ペアを共有した結果、無線ネットワーク104に接続するための通信パラメータを配布するコンフィギュレータを複製することが可能となるため、ユーザの利便性が向上する。
<第2実施形態>
第1実施形態では、アクセスポイント103の設定に用いた携帯機器101のコンフィギュレータ専用の鍵ペアの共有を携帯機器102が携帯機器101に要求する場合について説明した。第2実施形態では、アクセスポイント103の設定に用いた携帯機器101のコンフィギュレータ専用の鍵ペアの共有を、携帯機器101が携帯機器102に要求する場合の処理について説明する。
図11は、第2実施形態における携帯機器101と携帯機器102の間の処理を示すシーケンス図である。
携帯機器102は、通信パラメータ受領の指示をユーザから受けると(S1101)、ディスプレイにQRコードを表示し(S1102)、認証要求を待ち受ける。一方、携帯機器101は、無線ネットワーク104に接続するための通信パラメータを提供するコンフィギュレータとして携帯機器102を動作させるために、携帯機器102との間で鍵ペアを共有するようにユーザから指示を受ける(S1103)。携帯機器101は、S1103で指示を受けると、QRコードを撮影するために撮像部207を起動する(S1104)。携帯機器101は、携帯機器102の表示部204に表示されているQRコードを撮像部207により撮像し、そのQRコードが示す情報を取得する(S1105)。QRコードが示す情報を取得した携帯機器101は、鍵ペアの共有要求を示す情報を認証要求に含め(S1106)、この認証要求を携帯機器102に送信する(S1107)。
S1107にて携帯機器101から認証要求を受信した携帯機器102は、認証要求に含まれる認証情報や役割情報を検証する。携帯機器102は、認証に成功し、役割情報がコンフィギュレータを示すことを確認すると、鍵ペアの共有要求を示す情報が認証要求に含まれているか否かを確認する(S1109)。鍵ペアの共有要求を示す情報が含まれていることを確認した携帯機器102は、共有の可否をユーザに問合せ、操作部203を用いたユーザからの共有許可の指示を待ち受ける。鍵ペアの共有を許可する指示が入力されると、携帯機器102は、鍵ペアの共有許可を示す情報を認証要求に含め(S1110)、これを携帯機器101へ送信する(S1111)。
鍵ペアの共有が許可されない場合、後述するS1116での鍵ペア提供の処理は行われない。なお、鍵ペアの共有が許可されない場合、認証応答を送信しないことで、パラメータ提供処理を行わずに終了してもよい。さらに、鍵ペアの共有が許可されない場合、鍵ペアの供給を許可しないことを示す情報を含めたメッセージ(認証応答)を携帯機器101に送信してもよい。
携帯機器101は、認証応答を受信すると、認証応答に含まれるタグ情報と役割情報を検証する(S1112)。携帯機器101は、タグ情報による認証に成功し、役割情報がエンローリを示すことを確認すると、認証応答に含まれる鍵ペアの共有許可を確認する(S1113)。鍵ペアの共有許可が確認されると、携帯機器101は認証確認を送信する(S1114)。こうして、認証を完了すると通信パラメータの提供処理が行われ(S1115)、続いて鍵ペアの提供処理が行われる(S1116)。S1115からS1116の処理は、図6のS615からS616の処理と同様である。
続いて、上述の動作を実現する携帯機器101の動作と携帯機器102の動作を、図12および図13のフローチャートを用いて説明する。図12は、携帯機器101が、アクセスポイント103の設定処理に用いた携帯機器101のコンフィギュレータ専用の鍵ペアを提供する処理を示すフローチャートである。
携帯機器102との間で鍵ペアを共有するようにユーザから指示を受けた携帯機器101の鍵共有処理部212は、撮像部207を起動する(S1201)。そして、鍵共有処理部212は、撮像部207がQRコードを撮影したか否かを判定する(S1202)。S1202にてQRコードを撮影したと判定されると、画像処理部208は撮像画像中のQRコードを復号し、携帯機器102の認証用の公開鍵を含むQRコード情報を取得する。制御部205は、取得されたQRコード情報を用いて認証要求を生成する(S1203)。制御部205は、鍵ペアの共有要求を示す情報を認証要求に含め(S1204)、認証要求を携帯機器102に送信する(S1205)。その後、鍵共有処理部212は、携帯機器102からの認証応答を待ち受ける(S1206)。なお、S1206にて所定の時間内に認証応答を受信できなかった場合、鍵ペア共有処理を終了するようにしてもよい。
認証応答を受信すると、制御部205は、認証応答に含まれるタグ情報による認証に成功したか否か、携帯機器102の役割情報がエンローリを示すか否かを判定する(S1207)。認証に失敗した場合、または、役割情報がエンローリを示さないと判定した場合、制御部205は、表示部204にエラーを示すメッセージを表示し、鍵ペア共有処理を終了する(S1213)。認証に成功し、且つ、役割情報がエンローリであると判定した場合、制御部205は、鍵ペアの共有許可が認証応答に含まれている否かを判定する(S1208)。鍵ペアの共有許可が認証応答に含まれていないと判定された場合(S1208でNO)、鍵共有処理部212は、表示部204にエラーを示すメッセージを表示し、鍵共有処理を終了する(S1213)。
鍵ペアの共有許可が認証応答に含まれていると判定された場合(S1208でYES)、制御部205は、認証確認を送信し(S1209)、携帯機器102からの設定要求を待つ(S1210)。携帯機器102からの設定要求が受信されると、通信パラメータ処理部210は、通信パラメータの提供処理を行い、携帯機器102に通信パラメータを提供する(S1211)。そして、鍵共有処理部212は、鍵ペアを提供する(S1212)。なお、S1211、S1212の処理はS706、S707の処理と同様である。
図13は携帯機器102が、携帯機器101によるコンフィギュレータ専用の鍵ペアの提供を受け付ける処理を示すフローチャートである。パラメータ受領の指示をユーザから受けたことに応じて、コード生成部209は、QRコードを生成し、表示部204に表示するよう制御する(S1301)。その後、制御部205は、認証要求を待ち受ける(S1302)。なお、所定の時間内に認証要求を受信できなかった場合、アクセスポイント103は認証要求の待ち受けを終了してもよい。
携帯機器101から認証要求を受信すると、制御部205は認証要求の認証情報を検証して認証成功か否か(認証要求の送信元の装置がQRコードを撮影した装置であるか否か)を判定し、役割判定部211は役割情報を検証する(S1303)。認証に失敗した、または、役割情報がコンフィギュレータ以外の場合(S1303でNO)、制御部205は、表示部204にエラーを示すメッセージを表示(S1313)し、処理を終了する。なお、エラーメッセージの表示(S1313)は省略されてもよい。
認証に成功し、且つ、役割情報がコンフィギュレータを示す場合(S1303でYES)、制御部205は、認証要求に鍵ペアの共有要求が設定されているか否かを判定する(S1304)。認証要求に鍵ペアの共有要求が設定されている場合、制御部205は共有設定の可否をユーザに確認する(S1305)。ユーザが共有設定を許可した場合(S1305でYES)、制御部205は共有許可を認証応答に設定し(S1306)、これを携帯機器101に送信する(S1307)。一方、認証要求に鍵ペアの供給要求を示す情報が設定されていない場合(S1304でNO)、または、ユーザが共有設定を許可しない場合(S1305でNO)、制御部205は、供給許可の設定の無い認証応答を携帯機器101に送信する(S1307)。そして、制御部205は、認証応答の送信先である携帯機器101からの認証確認を待ち受ける(S1308)。
制御部205は、携帯機器101から認証確認を受信するとそのタグ情報を用いて認証を行い、認証に成功すると(S1309でYES)、携帯機器101へ設定要求を送信する(S1310)。その後、通信パラメータ処理部210は、携帯機器101との通信パラメータ提供処理により、通信パラメータを取得する(S1311)。また、鍵共有処理部212は、S1306で共有許可を設定している場合に、携帯機器101のコンフィギュレータの鍵ペアの提供を受け付け、鍵ペアを取得する(S1312)。
以上のように、第2実施形態によれば、携帯機器101から携帯機器102に鍵ペアの共有を要求することで、アクセスポイント103の設定に用いた携帯機器101のコンフィギュレータ専用の秘密鍵と公開鍵のペアを共有することができる。鍵ペアを共有した結果、無線ネットワーク104に接続するための通信パラメータを配布するコンフィギュレータが増加するため、ユーザの利便性が向上する。
なお、携帯機器101のコンフィギュレータ専用の鍵ペアの共有を携帯機器101が携帯機器102に要求する場合にも、図9を用いて説明した処理(変形例1)のように、QRコードを用いて鍵ペアの共有要求を通知することで鍵ペアを共有してもよい。また、図10を用いて説明した処理(変形例2)のように、携帯機器101がQRコードを表示する場合でも、鍵ペアを共有してよい。
<第3実施形態>
第1実施形態および第2実施形態では、携帯機器101と携帯機器102が認証のための情報を交換するためのフレームもしくはQRコードを用いて、鍵ペアの共有要求を通知する例を示した。第3実施形態では、アクセスポイント103の設定に用いた携帯機器101のコンフィギュレータ専用の鍵ペアの共有を、通信パラメータの設定処理を行うためのフレームを用いて、携帯機器101が携帯機器102に要求する場合の処理について説明する。
図14は、第3実施形態における携帯機器101と携帯機器102の間の処理を示すシーケンス図である。
携帯機器102は、無線ネットワーク104に接続するための通信パラメータを提供するコンフィギュレータとして動作するために、携帯機器101のコンフィギュレータ専用の鍵ペアを共有するようにユーザから指示を受ける(S1401)。そして、携帯機器102は、QRコードを自装置の表示部204に表示させ、認証要求を待ち受ける(S1402)。これらのS1401~S1402の処理は、図6で説明したS601~S602までの処理と同様である。
一方、携帯機器101は、ユーザからパラメータ提供の開始指示を受けると(S1403)、携帯機器102が表示するQRコードの画像を撮像してQRコード情報を取得する(S1404、S1405)。携帯機器101は取得したQRコード情報に基づいて認証要求を生成し、送信する(S1406)。
携帯機器102は、認証要求を受信すると(S1406)、認証要求の内容を検証する。携帯機器102は、認証要求に含まれる認証情報を検証して、認証要求を送信した携帯機器101がQRコードを撮影した装置であると判定(認証成功)すると、認証要求に含まれる役割情報を検証する(S1407)。携帯機器102は、役割情報を検証した結果、認証要求を送信した装置の役割がコンフィギュレータを示すと判定すると、認証応答を生成、送信する(S1408)。携帯機器101へ認証応答を送信した携帯機器102は、携帯機器101から認証確認が送信されるのを待ち受ける。携帯機器101は、認証応答を受信し(S1408)、タグ情報による認証に成功すると、認証応答に含まれる携帯機器102の役割情報を検証する(S1409)。携帯機器101は、認証応答の認証に成功し、認証応答に含まれる役割情報がエンローリを示すと判定すると、携帯機器102へ認証確認を送信する(S1410)。これらのS1403~S1410の処理は、図4で説明したS403~S410までの処理と同様である。
携帯機器102は、認証確認を受信すると(S1410)、認証確認の内容を検証する。認証確認の内容を検証した結果、認証に成功したと判定されると、鍵ペアの共有要求を示す情報を設定要求に含める処理を行う(S1411)。鍵ペアの共有要求は、例えば、DPP Configuration Requestフレームの所定のビットを立てることで示される。なお、鍵ペアの要求を示すために所定のビットを用いるとしたがこれに限られるものではない。例えば、設定要求に含める通信パラメータ受領後の役割情報が、「アクセスポイント」や「無線ネットワークに接続する装置」以外の役割、例えば「コンフィギュレータ」を表す役割を示すようにしてもよい。携帯機器102は、以上のようにして生成した、鍵ペアの共有要求を含む設定要求を送信する(S1412)。設定要求を送信後、携帯機器102は、認証確認を送信した携帯機器101から設定応答が送信されるのを待つ。
設定要求を受信した携帯機器101は、設定要求に鍵ペアの共有要求が含まれているかを確認する(S1413)。設定要求に鍵ペアの共有要求が含まれている場合、携帯機器101は、鍵ペアの共有要求がある旨を表示部204に表示してユーザに通知し、操作部203を用いたユーザからの鍵ペアの共有に対する許可の指示を待ち受ける。鍵ペアの共有がユーザから許可された場合、携帯機器101は、鍵ペアの共有許可を示す情報を設定応答に含める(S1414)。鍵ペアの共有許可は、例えば、DPP Configuration Responseフレームの所定のビットを立てることで示される。携帯機器101は、鍵ペアの共有許可を示す情報を含めた設定応答を携帯機器102に送信する(S1415)。設定応答を送信した携帯機器101は、携帯機器101のコンフィギュレータ専用の秘密鍵と公開鍵のペアを、携帯機器101と携帯機器102との間の共有鍵を使用して暗号化し、携帯機器102に送信する(S1416)。なお、S1415で送信した設定応答に携帯機器101のコンフィギュレータ専用の公開鍵が含まれているため、S1416では秘密鍵だけを送信するようにしてもよい。また、携帯機器101は、S1415で送信した設定応答に携帯機器101のコンフィギュレータ専用の秘密鍵を含めて送信してもよい。その場合、S1416の処理が不要となる。
なお、鍵ペアの共有要求がある旨を表示部204に表示し、操作部203を用いたユーザからの許可指示を受け付けることを鍵ペアの共有の条件としたが、これに限られるものではない。例えば、ユーザからの許可指示を受けることなく鍵ペアを提供してもよい。また、ユーザからの許可指示を受けることなく鍵ペアの共有許可を示す情報を設定応答に含める処理を実行してもよい。この場合、鍵ペアの共有要求がある旨の表示が省略されてもよい。
一方、ユーザが鍵ペアの共有を許可しない場合、鍵ペアの提供処理(S1416)は行われない。あるいは、鍵ペアの共有が許可されない場合、設定応答を送信しないことで、パラメータ提供処理を行わずに終了してもよい。さらに、鍵ペア共有を許可しない場合、許可しないことを示す情報を含めた設定応答を携帯機器102に送信するようにしてもよい。
設定応答を受信した携帯機器102は、設定応答に含まれる鍵ペアの共有許可を示す情報を確認する(S1417)。鍵ペアの共有許可を示す情報が設定応答に含まれていない場合、携帯機器102はパラメータ受領処理を終了する。なお、鍵ペアの共有許可を示す情報が設定応答に含まれていない場合、携帯機器102は、表示部204にエラーを示すメッセージを表示してユーザに通知してもよい。
続いて、図15、図16のフローチャートを用いて、携帯機器101、携帯機器102の処理を説明する。
図15は、携帯機器101が、携帯機器102の要求に応じて、自身が保持するコンフィギュレータの鍵ペア(秘密鍵と公開鍵)を携帯機器102に提供する処理を示すフローチャートである。撮像部207を起動してから、設定要求の受信を行うまでの処理は図3(S301~S308)と同様である。図15では、図3の処理において、設定要求を受信したと判定された後(S308でYES)の処理を示す。
携帯機器102が送信した設定要求を受信した携帯機器101の制御部205は、設定要求に鍵ペアの共有要求があるかどうかを判定する(S1501)。鍵ペアの共有要求があると判定された場合、制御部205は表示部204と操作部203を用いて鍵ペアの共有の可否をユーザに確認する(S1502)。ユーザが共有を許可した場合(S1502でOK)、鍵共有処理部212は設定応答に共有許可を示す情報を設定し(S1503)、これを携帯機器102に送信する(S1504)。他方、設定要求に鍵ペアの共有要求がないと判定された場合(S1501でNO)、または、ユーザが共有を許可しない場合(S1502でNG)、S1503はスキップされ、共有許可を示す情報のない設定応答を携帯機器102に送信する(S1504)。
続いて、鍵共有処理部212は、コンフィギュレータの秘密鍵と公開鍵である鍵ペアを携帯機器102に提供する(S1505)。なお、鍵ペアは、共有鍵により暗号化される。また、安全のために、S1505では、S1503で共有許可を設定した場合にのみ、鍵ペアの提供を実行するようにしてもよい。
図16は、携帯機器102が、携帯機器101の保持する鍵ペアを共有するようにユーザから指示を受け、アクセスポイント103の設定処理に用いた携帯機器101のコンフィギュレータ専用の鍵ペアを取得する処理を示すフローチャートである。
携帯機器102の制御部205は、鍵ペアを共有するようにユーザから操作部203を介して指示を受けると、QRコードを生成し、表示部204に表示する(S1601)。その後、制御部205は、認証要求を待ち受ける(S1602)。携帯機器101から認証要求を受信すると、制御部205は、認証を行い、役割情報を検証してその役割がコンフィギュレータであるかを判定する(S1603)。認証に失敗した、または、携帯機器101の役割がコンフィギュレータでないと判定されると(S1603でNO)、制御部205は、表示部204にエラーを示すメッセージを表示(S1612)し、処理を終了する。
一方、S1603において認証成功と判定され、且つ、認証要求を送信した携帯機器101の役割がコンフィギュレータであると判定された場合(S1603でYES)、制御部205は認証応答を送信し(S1604)、携帯機器101からの認証確認を待ち受ける。携帯機器101から認証確認を受信すると(S1605でYES)、制御部205は認証確認に含まれているタグ情報を用いた認証に成功したかを判定する(S1606)。
制御部205は、携帯機器101から認証確認を受信するとそのタグ情報を用いて認証を行い、認証に成功すると(S1606でYES)、鍵共有処理部212は、鍵ペアの共有要求を示す情報を設定要求に設定する(S1607)。その後、制御部205は、携帯機器101に共有要求が設定された設定要求を送信し(S1608)、携帯機器101からの設定応答を待ち受ける。一方、S1606において、タグ情報の検証に失敗した場合、制御部205は、表示部204にエラーを示すメッセージを表示し、処理を終了する(S1612)。
携帯機器101から設定応答を受信すると(S1609)、制御部205は鍵ペアの共有許可を示す情報が設定応答に含まれているか否かを判定する(S1610)。そして、鍵ペアの共有許可を示す情報が設定応答に含まれていると判定された場合(S110でYES)、鍵共有処理部212は、携帯機器101のコンフィギュレータ専用の鍵ペアを取得する(S1611)。S1610にて鍵ペアの共有許可を示す情報が認証確認に含まれていないと判定された場合(S1610でNO)、制御部205はパラメータ受領処理を終了する、または、表示部204にエラーを示すメッセージを表示し、処理を終了する(S1612)。
<その他の実施形態>
上述の各実施形態においては、QRコード(登録商標)の画像を利用して通信パラメータの設定を行うための情報を装置間でやり取りする構成について説明した。しかし、QRコード(登録商標)の撮影に代えて、NFCやBluetooth(登録商標)などの無線通信を用いてもよい。また、IEEE802.11adもしくはトランスファージェット(TransferJet)(登録商標)等の無線通信を用いてもよい。
なお、読みとるQRコード(登録商標)は表示部に表示されているQRコードだけではなく、通信機器の筺体にシールなどの形態で貼り付けられているQRコードであってよい。また、読みとるQRコード(登録商標)は取り扱い説明書や通信機器の販売時の段ボールなどの包装に貼り付けられているものであってもよい。また、QRコードでなく、バーコード、二次元コードであっても良い。また、QRコードなどの機械が読み取り可能な情報に代えて、ユーザが読みとれる形式の情報であっても良い。
また、各実施形態において、装置間の通信をIEEE802.11準拠の無線LAN通信により行う場合について説明したが、これに限る物ではない。例えば、ワイヤレスUSB、MBOA、Bluetooth(登録商標)、UWB、ZigBee、NFC等の無線通信媒体を用いて実施してもよい。ここで、MBOAは、Multi Band OFDM Allianceの略である。また、UWBは、ワイヤレスUSB、ワイヤレス1394、WINETなどが含まれる。
また、各実施形態において、無線LANのアクセスポイントに接続するための通信パラメータを提供する場合について記載したが、これに限るものではない。例えば、Wi-Fi Direct(登録商標)のグループオーナーに接続するための通信パラメータを提供するようにしてよい。
以上のように、各実施形態によれば、コンフィギュレータが通信パラメータの暗号化と復号に用いる秘密鍵と公開鍵のペアを、他の装置からの要求、あるいは、コンフィギュレータからの要求により、共有することができる。その結果、アクセスポイントに接続するための通信パラメータを提供するコンフィギュレータの数を容易に増やすことができる。例えば、DPPによる通信パラメータの設定の手続きにおいて、記憶媒体または別のプロトコル(例えばHTTP)を用いることなく、コンフィギュレータの鍵ペアを当該コンフィギュレータとエンローリで共有することができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。