Certains contenus de cette application ne sont pas disponibles pour le moment.
Si cette situation persiste, veuillez nous contacter àObservations et contact
1. (WO2018030296) DISPOSITIF DE COMMUNICATION, PROCÉDÉ DE COMMUNICATION ET PROGRAMME
Document

明 細 書

発明の名称 通信装置、通信方法、及びプログラム

技術分野

0001  

背景技術

0002   0003   0004   0005  

先行技術文献

特許文献

0006  

発明の概要

発明が解決しようとする課題

0007   0008   0009  

課題を解決するための手段

0010  

発明の効果

0011  

図面の簡単な説明

0012  

発明を実施するための形態

0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11  

図面

1   2   3   4   5   6   7   8   9  

明 細 書

発明の名称 : 通信装置、通信方法、及びプログラム

技術分野

[0001]
本発明は、通信装置、通信方法、及びプログラムに関する。

背景技術

[0002]
 アクセスポイント(以下APとする)を介さずに通信装置間で直接無線LANによる通信を行う技術であるWi-Fi Direct(登録商標、以下WFDとする)が、無線LANの業界団体であるWi-Fi Allianceにおいて規格化されている。
[0003]
 WFDでは、直接無線LAN通信を行う通信装置の一方がAPとして動作することによって通信を行っている。WFDにおいてAPとして動作する装置の役割をP2P Group Owner(以下、GOとする)と呼ぶ。一方、GOが生成したネットワークに参加する装置の役割をP2P Client(以下、CLとする)と呼ぶ。WFDでは、GOが生成したネットワークに参加するために必要な通信パラメータを、GOからCLへ送信することによって装置間で共有し、その後、WFDにおける無線通信は共有した通信パラメータに基づいて実行される。
[0004]
 共有する通信パラメータがWFDの通信を行わない他装置に漏えいしてしまうことを防ぐために、公開鍵暗号方式を用いてより安全に通信パラメータを共有することが考えられている。ここで、公開鍵暗号方式を使うために必要な公開鍵は、より安全に装置間で共有する必要がある。
[0005]
 特許文献1には、QRコード(登録商標)を読み取る機能を用いて、アクセスポイントの情報を簡単、且つ安全に携帯端末が取得する技術が開示されている。

先行技術文献

特許文献

[0006]
特許文献1 : 特開2006-261938号公報

発明の概要

発明が解決しようとする課題

[0007]
 特許文献1の技術により、QRコードを読み取ることにより、より安全に公開鍵を取得することができる。
[0008]
 しかしながらこのような方法を用いてWFDの通信を行うためには、少なくとも一方の装置がこのような方法を可能にするための特別な機能を備えている必要がある。例えば上述の例では、少なくとも一方の装置がQRコードを読み取る機能を備えていなければならず、QRコードを読み取る機能を備えていない装置同士では、上述の方法を用いたWFDによる通信ができなかった。
[0009]
 そこで本発明は、公開鍵を取得するための特別な機能を備えていない装置同士でも、通信パラメータを共有しWFDの通信を開始できるようにすることを目的とする。

課題を解決するための手段

[0010]
 本発明の通信装置は、無線LANを用いない特定の取得方法によって第1の他の通信装置の識別情報及び公開鍵を取得する第1の取得手段と、前記第1の取得手段による取得に応じて、Wi-Fi Directによる通信における前記第1の他の通信装置の役割を当該第1の他の通信装置へ通知する第1の通知手段と、前記特定の取得方法によって第2の他の通信装置の識別情報及び公開鍵を取得する第2の取得手段と、前記第2の取得手段による取得に応じて、Wi-Fi Directによる通信における前記第2の他の通信装置の役割を当該第2の他の通信装置へ通知する第2の通知手段とを有し、前記第1の通知手段と前記第2の通知手段によって通知される役割の一方はP2P Group Ownerであり、他方はP2P Clientであり、当該通知によって前記第1の他の通信装置と前記第2の他の通信装置との間でWi-Fi Directによる通信を可能とすることを特徴とする。

発明の効果

[0011]
 本発明によれば、公開鍵を取得するための特別な機能を備えていない装置同士でも、通信パラメータを共有しWFDの通信を開始できるようになる。

図面の簡単な説明

[0012]
[図1] 設定装置のハードウェアブロック図
[図2] 通信装置のハードウェアブロック図
[図3] 設定装置のソフトウェア機能ブロック図
[図4] 通信装置のソフトウェア機能ブロック図
[図5] 実施形態に係るシステム構成の一例を示す図
[図6] 実施形態における設定装置の動作フロー図
[図7] 実施形態における通信装置の動作フロー図
[図8] 実施形態における設定装置および通信装置間の動作シーケンス図
[図9] 第2の実施形態における設定装置および通信装置間の動作シーケンス図

発明を実施するための形態

[0013]
 <第1の実施形態>
 以下、本発明の実施形態の一例に係る通信装置について、図面を参照しながら詳細に説明する。以下では、IEEE802.11シリーズに準拠した無線LANシステムを用いた例について説明するが、通信形態は必ずしもIEEE802.11準拠の無線LANには限らない。また、本発明の技術範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
[0014]
 図1は本実施形態に係る、後述の設定装置の構成の一例を表すハードウェアブロック図である。101は装置全体を示す。102は、記憶部103に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部102は例えば一つ以上のCPU(Central Processing Unit)により構成される。制御部102は、他の装置との間で通信パラメータの設定制御も行う。103は制御部102が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部103に記憶された制御プログラムを制御部102が実行することにより行われる。記憶部103は、例えば、ROM、RAM、HDD、フラッシュメモリまたは着脱可能なSDカードなどの記憶媒体により構成される。
[0015]
 104はIEEE802.11シリーズに準拠した無線LAN等の無線通信を行うための無線通信部である。無線通信部104は、無線通信を行うチップにより構成される。無線通信には近距離無線通信、例えばNear Field Communication(登録商標)(以下、NFCと記載)なども含まれる。105は各種表示を行う表示部でありLCDやLEDのようにユーザが視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。表示部105は視覚情報および音情報の少なくともどちらか一方を出力する機能を備えるものである。QRコードの表示も表示部105で実施する。なお、QRコードについては表示部105を通じて表示する以外に、QRコードを通信装置の筺体にシールなどの形態で貼り付けられていてもよいし、取扱説明書や通信装置の販売時の段ボールなどの包装に貼り付けられていてもよい。106は無線LANアンテナ制御部、そして107は無線LANアンテナである。108は、ユーザが各種入力等を行い、通信装置を操作するための操作部である。109は、QRコード等を撮影することによって読み取る手段としての撮像部である。
[0016]
 図2は本実施形態に係る、後述の通信装置の構成の一例を表すハードウェアブロック図である。201は装置全体を示す。202は、記憶部203に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部202は例えば一つ以上のCPUにより構成される。制御部202は、他の装置との間で通信パラメータの設定制御も行う。203は制御部102が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部203に記憶された制御プログラムを制御部202が実行することにより行われる。記憶部203は、例えば、ROM、RAM、HDD、フラッシュメモリまたは着脱可能なSDカードなどの記憶媒体により構成される。
[0017]
 204はIEEE802.11シリーズに準拠した無線LAN等の無線通信を行うための無線通信部である。無線通信部204は、無線通信を行うチップにより構成される。無線通信には近距離無線通信、例えばNFCなども含まれる。205は各種表示を行う表示部でありLCDやLEDのようにユーザが視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。表示部205は視覚情報および音情報の少なくともどちらか一方を出力する機能を備えるものである。QRコードの表示も表示部205で実施する。なお、QRコードについては表示部205を通じて表示する以外に、QRコードを通信装置の筺体にシールなどの形態で貼り付けられていてもよいし、取扱説明書や通信装置の販売時の段ボールなどの包装に貼り付けられていてもよい。206は無線LANアンテナ制御部、そして207は無線LANアンテナである。208は、ユーザが各種入力等を行い、通信装置を操作するための操作部である。尚、図1に示した構成は一例であり、通信装置がその他のハードウェア構成を有していてもよい。例えば通信装置がプリンタである場合には、図1に示す構成の他に、印刷部を有していてもよい。また、通信装置がカメラである場合には、撮影部を有していてもよい。
[0018]
 図3は、後述の通信制御機能を実行する設定装置のソフトウェア機能ブロックの構成の一例を表すブロック図である。本実施形態において、各通信装置の機能ブロックは、それぞれ記憶部103にプログラムとして記憶され、制御部102によって当該プログラムが実行されることによりその機能が実施される。制御部102は、制御プログラムにしたがって、各ハードウェアの制御、および、情報の演算や加工を行うことで各機能を実現する。なお、本機能ブロックに含まれる一部または全部がハードウェア化されていてもよい。この場合、各機能ブロックに含まれる一部または全部は、例えばASIC(Application Specific Integrated Circuit)により構成される。
[0019]
 301はソフトウェア機能ブロック全体を示す。302は通信パラメータ提供部である。自通信装置が通信パラメータ提供元となり、通信パラメータの生成や暗号化、通信パラメータの対向装置への提供などを実施する。後述のパラメータ提供処理は、通信パラメータ制御部302にて実施される。303は認証処理部であり、自通信装置が取得したQRコード情報等を用いて対向装置との間で認証処理を実施する。後述の設定装置の認証処理は認証処理部303にて実施される。304は無線LANパケット受信部、305は無線LANパケット送信部であり、対向装置との間でIEEE802.11規格に準拠した無線LAN通信を実施する。306はデータ記憶部であり、ソフトウェアそのものおよび、無線LANパラメータや、認証情報、バーコード類の情報を記憶保持している。尚、上記機能ブロックは一例であり、複数の機能ブロックが1つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
[0020]
 図4は、後述の通信制御機能を実行する通信装置のソフトウェア機能ブロックの構成の一例を表すブロック図である。本実施形態において、各通信装置の機能ブロックは、それぞれ記憶部203にプログラムとして記憶され、制御部202によって当該プログラムが実行されることによりその機能が実施される。制御部202は、制御プログラムにしたがって、各ハードウェアの制御、および、情報の演算や加工を行うことで各機能を実現する。なお、本機能ブロックに含まれる一部または全部がハードウェア化されていてもよい。この場合、各機能ブロックに含まれる一部または全部は、例えばASICにより構成される。
[0021]
 401はソフトウェア機能ブロック全体を示す。402は通信パラメータ共有部であり、通信パラメータの提供または受信処理、通信パラメータの暗号化処理および暗号化された通信パラメータの復号処理などを実施する。後述のパラメータ提供処理およびパラメータ受信処理は、通信パラメータ共有部402にて実施される。403は認証処理部であり、受信したメッセージに含まれる情報等を用いて対向装置との間で認証処理を実施する。後述の通信装置の認証処理は認証処理部403にて実施される。404はネットワーク構築処理部であり、受信した通信パラメータを用いて無線LANネットワークの構築または参加処理を実施する。後述のネットワーク構築処理、およびネットワーク参加処理はネットワーク構築処理部404にて実施される。405は無線LANパケット受信部、406は無線LANパケット送信部であり、対向装置との間でIEEE802.11規格に準拠した無線LAN通信を実施する。407はデータ記憶部であり、ソフトウェアそのものおよび、無線LANパラメータや、認証情報、バーコード類の情報を記憶保持している。尚、上記機能ブロックは一例であり、複数の機能ブロックが1つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
[0022]
 図5は、本実施形態におけるシステム構成であり、スマートフォン501、プリンタ502、ノートPC503、および無線LAN504(以下、ネットワーク504)を示した図である。
[0023]
 本実施形態において、設定装置としてのスマートフォン501は、通信装置としてのプリンタ502およびノートPC503のQRコードを読み取り、各々の通信装置へWFDによる通信における役割を通知する。通知される役割の一方はGOであり他方はCLである。GO又はCLの役割が通知されたプリンタ502及びノートPC503は、通知された役割に従って動作し、プリンタ502とノートPC503との間でWFDによる通信が開始される。スマートフォン501は設定装置の一例であり、設定装置はその他の各種の装置、例えばプリンタ、カメラ、PC、デジタルテレビ、各種のデジタル家電、ウェアラブルデバイス等であってもよい。また、プリンタ502及びノートPC503は通信装置の一例であり、その他の各種の装置、例えば、スマートフォン、カメラ、デジタルテレビ、各種のデジタル家電、ウェアラブルデバイス等であってもよい。
[0024]
 尚、設定装置は通信装置の一種であるが、本実施形態においては、無線LANを用いない特定の取得方法によって他の通信装置の公開鍵を取得するための機能を備える通信装置を、そのような機能を備えていない通信装置と区別するために設定装置と呼ぶ。一方、そのような機能を備えていない通信装置を単に通信装置と呼ぶ。上述したように、本実施形態において、スマートフォン501は設定装置の一例であり、プリンタ502及びノートPC503は通信装置の一例である。また、本実施形態において、QRコードを用いた公開鍵の取得方法は上述の特定の取得方法の一例である。この場合、QRコードの読取機能は、特定の取得方法によって他の通信装置の公開鍵を取得するための機能の一例である。特定の取得方法のその他の例としてNFCやBluetooth(登録商標)、無線LAN以外の他の無線通信であってもよい。この場合、特定の取得方法によって他の通信装置の公開鍵を取得するための機能の例として、NFCのリーダ/ライタ機能がある。
[0025]
 本実施形態において、設定装置としてのスマートフォン501は、先に説明した図1および図3の構成を有している。また、通信装置としてのプリンタ502およびノートPC503は、先に説明した図2および図4の構成を有している。
[0026]
 図6は、スマートフォン501にて実施される処理を示すフローチャートである。図6は表示部105、および入力部108を介したユーザ操作により処理開始が指示された際に、制御部102により開始される。また図6の各ステップは、制御部102が記憶部103に記憶されたコンピュータプログラムを読み出して実行することにより行われる。
[0027]
 処理開始後、スマートフォン501は「2台モード」として処理を進めるか、「3台モード」として処理を進めるか、表示部105及び入力部108を介してユーザに選択させる(S601)。ここで「2台モード」とは、スマートフォン501が自装置と他の通信装置とでネットワークを構築するためのモードである。一方、「3台モード」とは、スマートフォン501が、自装置を使って第1の他の通信装置と第2の他の通信装置の2台でネットワークを構築するためのモードである。
[0028]
 スマートフォン501はどちらのモードが選択されたかを判定し、2台モードが選択された場合(S602のNo)、スマートフォン501と共にネットワークを構築する相手装置のQRコードを読み取る(S603)。そして、スマートフォン501は、読み取ったQRコードから取得した情報を使って、相手装置との間で通信パラメータを共有する処理を行い、その後、相手装置と共にネットワークを構築する(S604)。具体的には、スマートフォン501は、S603において読み取ったQRコードから、相手装置の公開鍵と相手装置の識別情報を取得する。そして、スマートフォン501はその公開鍵を用いた公開鍵暗号方式により相手装置と通信パラメータを共有する。更に、2台モードが選択された場合にスマートフォン501は相手装置とWFDを実施して無線ネットワークを構築しても良い。
[0029]
 S602の判定において3台モードが選択された場合(S602のYes)、スマートフォン501は他の通信装置(例えばプリンタ502)のQRコードを読み取る。そして、スマートフォン501は、読み取ったQRコードから他の通信装置の公開鍵と、他の通信装置の識別情報を取得する(S605)。尚、他の通信装置の識別情報は、MACアドレスやUUID等であってもよく、QRコードから取得する情報はこれら以外の情報を含んでいてもよい。公開鍵を取得した後、スマートフォン501は、取得した公開鍵のハッシュ値を計算し、そのハッシュ値を含む認証要求を他の通信装置へ送信する(S606)。ここで、認証要求は、読み取ったQRコードから他の通信装置のアドレスが特定できた場合にはそのアドレスを指定してユニキャストで送信してもよい。他の通信装置のアドレスが特定できなかった場合には、ブロードキャストで認証要求を送信してもよい。
[0030]
 認証要求に正しいハッシュ値が含まれていて、認証処理に成功した場合、スマートフォン501は他の通信装置から認証成功を示す認証応答を受信する(S607のYes)。一方、誤ったハッシュ値が含まれているなど認証処理に失敗した場合、スマートフォン501は他の通信装置から認証失敗を示す認証応答を受信する(S607のNo)。又は、一定時間認証要求に対する応答が返ってこない場合、スマートフォン501は認証処理に失敗したと判断する。そのような場合、スマートフォン501は表示部105にエラーを表示しユーザに処理失敗を通知して処理を終了する(S608)。
[0031]
 認証成功を示す認証応答を受信すると(S607のYes)、スマートフォン501は公開鍵暗号方式により暗号鍵を計算して他の通信装置へ認証確認を送信する(S609)。スマートフォン501と他の通信装置は認証処理によって、その後の暗号化処理に用いる共有鍵を共に保持した状態となる。認証確認を送信した後、スマートフォン501は他の通信装置から送信される設定要求を待ち受ける(S610)。
[0032]
 他の通信装置から設定要求を受信すると、スマートフォン501は、WFDによる通信における他の通信装置の役割を決定する(S611)。役割の決定方法として、QRコードを読み取った順番に従って、WFDの役割を決定する。即ち、スマートフォン501は、S602において「3台モード」が選択された後に先にQRコードを読み取った相手装置をGOとして決定する。そして、後にQRコードを読み取った相手装置をCLとして決定する。他の通信装置の役割を決定した後、スマートフォン501は、決定した役割と、他の通信装置がWFDを実行するために用いられる通信パラメータとを、設定応答として他の通信装置へ通知する(S612)。S612で送信される情報は、他の通信装置との間で共有されている暗号鍵で暗号化されている。ここで通知される通信パラメータには、WFDの通信で用いられる暗号方式や暗号鍵、認証方式や認証鍵の情報が含まれる。また、当該通信パラメータを受信した複数の他の通信装置によって構築されるWFDのネットワーク識別子(例えばSSID)が含まれる。更には、WFDの通信で用いる無線チャネルの情報(例えば2.4GHz帯の1ch、2ch、3ch等の情報)を含んでいてもよい。また、通信パラメータとは別に、S612において他の通信装置へ通知する情報として、既にS612においてWFDにおける役割と通信パラメータを送信した他の通信装置を示す識別情報や、当該他の通信装置の公開鍵を含んでいてもよい。
[0033]
 以上の処理を実行し、スマートフォン501は処理を終了する。尚、S611におけるWFDの役割の決定方法は上述の方法に限られず、例えば先にQRコードを読み取った相手装置をCLとし、後にQRコードを読み取った相手装置をGOとしてもよい。また、S612において通知する情報はS611において決定したWFDの役割だけとしてもよい。しかし、S612においてWFDの通信で使用する通信パラメータを通知するようにすれば、その後、他の通信装置同士がWFDを実行する際にGOが通信パラメータを決定する処理を省略することができる。また、通信チャネルを通知するようにすれば、その後、他の通信装置同士がWFDを実行する際に、相手装置を検索するために全チャネルを検索しなくて済むため、検索処理を簡略化することができる。同様に、他の通信装置を示す識別情報を通知するようにすれば、その後、他の通信装置同士がWFDを実行する際に、相手装置を検索する処理を簡略化することができる。
[0034]
 図7は、プリンタ502またはノートPC503(以下、通信装置とする)にて実施される処理を示すフローチャートである。本実施形態において、図7は機器の電源投入時などのタイミングで通信装置の無線LAN通信機能が有効化された際に、制御部102により開始される。なお、図7は表示部105、および入力部108を介したユーザ操作により処理開始が選択された際に、制御部102により開始されても良い。又は、QRコードを表示部に表示させる機能を持つ装置である場合は、QRコードが表示部に表示された際に開始されてもよい。図7は、制御部102が記憶部103に記憶されたコンピュータプログラムを読み出して実行することにより行われる。
[0035]
 処理開始後、通信装置は設定装置から送信される認証要求を待ち受ける(S701)。認証要求を受信した場合(S701のYes)、通信装置は認証要求に含まれるハッシュ値が、自身が保持する公開鍵情報のハッシュ値と一致するか確認する(S702)。ハッシュ値が一致しない場合(S702のNo)、通信装置は認証に失敗した旨を示す認証応答を設定装置へ送信して図7に示す処理を終了する(S703)。なお、S703において、通信装置は表示部205にエラーを表示しても良い。また、通信装置はステップ703において認証応答を送信後、処理を終了せずにS701に戻り再度認証要求を待ち受けても良い。その場合、この繰り返し処理は所定時間継続するようにしてもよい。ハッシュ値が一致する場合(S702のYes)、通信装置は認証に成功した旨を示す認証応答を設定装置へ送信し(S704)、設定装置から送信される認証確認を待ち受ける(S705)。
[0036]
 認証確認を受信した場合(S705のYes)、通信装置は設定要求を設定装置へ送信して(S706)設定応答を待ち受ける(S707)。設定応答を受信した場合(S707のYes)、通信装置は設定応答に含まれる暗号化された情報を自身が保持する暗号鍵を用いて復号する(S708)。
[0037]
 通信装置は、復号された情報を確認し、その中にWFDの役割を示す情報が含まれているか判断する(S709)。WFDの役割が含まれていると判断された場合、通信装置は、復号された情報に通信パラメータが含まれているか判断する(S714)。通信パラメータが含まれていないと判断された場合、通信装置は、他の通信装置とWFDによる通信を実行するために、設定装置から通知された役割に自装置を設定し、他の通信装置との間で通信パラメータの設定処理を実行する(S715)。通信パラメータの設定処理とは、S701~S708において実行した処理と同様であり、S715では、設定装置とではなく、WFDの通信相手となる他の通信装置との間で、これらの処理を行う。S715における通信パラメータの設定処理により、GOからCLへと、互いに共有した暗号鍵で暗号化された通信パラメータが提供され、WFDを実行する各装置に通信パラメータが設定される。S714において通信パラメータが含まれていると判断された場合、又はS715の処理が終了した後、通信装置は、WFDを実行する相手装置を検索する(S716)。そして、検索の結果見つかった相手装置と、設定された通信パラメータに基づいてWFDによる通信を実行する(S717)。尚、S716における検索処理では、設定装置から受信した情報に他の通信装置の識別情報が含まれていた場合には、この識別情報を指定した検索を行う。また、設定装置から受信した情報にWFDの通信で用いる無線チャネルの情報が含まれていた場合には、全チャネルの検索を行わずにこの無線チャネルのみを検索することによって検索処理を実行する。
[0038]
 一方、S709において、復号された情報にWFDの役割が含まれていないと判断された場合、通信装置は相手装置の検索処理を実行する(S710)。この時、設定装置では、「3台モード」ではなく「2台モード」が選択されている。従って、S710の検索処理の結果、通信装置は、相手装置として設定装置を見つける(S711)。S711において相手装置が見つかると、見つかった相手装置との間でWFDの役割決定処理を実行する。具体的には、通信装置と設定装置との間で、WFDにおいて規定されたGroup Owner Negotiationを実行し、どちらがGOになり、どちらがCLになるかを決定する。その後、GOとして動作する装置からCLとして動作する装置へ通信パラメータが提供され、その通信パラメータを用いてWFDによる接続処理が完了する(S713)。
[0039]
 図8は、スマートフォン501とプリンタ502、およびノートPC503との間で実施される処理動作のシーケンスを示している。
[0040]
 スマートフォン501は、ユーザから登録処理を開始する指示(F801)を受けて図6に示すフローを開始する。そしてプリンタ502のQRコードを読み取りプリンタ502の公開鍵及びプリンタ502の識別情報を取得する(F802)。スマートフォン501は、取得した公開鍵からハッシュ値を計算し、そのハッシュ値を含む認証要求をプリンタ502へ送信する(F803)。プリンタ502は認証要求を受信すると図7に示すフローを実施し、認証が成功した場合には認証成功を示す認証応答を送信する(F804)。スマートフォン501は認証応答を受信すると認証確認を送信する(F805)。そして、プリンタ502から受信した設定要求(F806)に対して、設定応答を送信する(F807)。送信される設定応答には、WFDによる通信におけるプリンタ502の役割が含まれる。また、WFDによる通信に用いる通信チャネルの情報や、WFDによる通信を行うための通信パラメータが含まれていてもよい。
[0041]
 スマートフォン501は、F807にて設定応答を送信後、ノートPC503のQRコードを読み取り、ノートPC503の公開鍵及びノートPC503の識別情報を取得する(F808)。スマートフォン501は、受信した公開鍵からハッシュ値を計算し、そのハッシュ値を含む認証要求をノートPC503へ送信する(F809)。ノートPC503は認証要求を受信すると、図7のフローを実施し、認証が成功した場合には認証成功を示す認証応答を送信する(F810)。
[0042]
 スマートフォン501は認証応答を受信すると認証確認を送信する(F811)。スマートフォン501はノートPC503から受信する設定要求(F812)に対して設定応答を送信する(F813)。送信される設定応答には、WFDによる通信におけるノートPC503の役割が含まれる。また、プリンタ502の公開鍵やプリンタ502の識別情報が含まれている。更には、WFDによる通信に用いる通信チャネルの情報や、WFDによる通信を行うための通信パラメータが含まれていてもよい。
[0043]
 F807及びF813でスマートフォン501から送信される設定応答に、WFDによる通信を行うための通信パラメータが含まれていた場合には、F814~F818の処理は省略され、F819の処理を行う。即ち、GOの役割で動作する装置が、スマートフォン501から通知された通信パラメータに従ったネットワークを生成し、CLの役割で動作する装置がそのネットワークに参加することにより、WFDのネットワークを構築する(F819)。
[0044]
 一方、F807及びF813でスマートフォン501から送信される設定応答に、WFDによる通信を行うための通信パラメータが含まれていない場合には、F814の処理を行う。図8の例では、ノートPC503がGOとして動作し、プリンタ502がCLとして動作することがスマートフォン501より通知された場合を説明する。ノートPC503は、スマートフォン501から設定応答を受信した後、プリンタ502の公開鍵のハッシュ値を計算し、そのハッシュ値を含む認証要求をプリンタ502へ送信する(F814)。プリンタ502は認証要求を受信し、認証処理に成功した場合、認証成功を示す認証応答を送信する(F815)。ノートPC503は認証応答を受信すると認証確認を送信する(F816)。そしてノートPC503はプリンタ502から受信する設定要求(F817)に対して、WFDによる通信を行うために必要な通信パラメータを設定応答に含めてプリンタ502へ送信する(F818)。その後、ノートPC503はプリンタ502に通知した通信パラメータ従ったネットワークを生成し、プリンタ502がそのネットワークに参加することにより、WFDのネットワークを構築する(F819)。
[0045]
 以上のように、本実施形態によれば、プリンタ502とノートPC503は、QRコードの読取機能を備えていなくても、スマートフォン501を利用することにより、公開鍵を用いたより安全な方法でWFDの接続が可能になる。
[0046]
 <第2の実施形態>
 第1の実施形態では、スマートフォン501が、プリンタ502及びノートPC503のQRコードを読み取った際に、その都度WFDの役割を通知していた。これに対して本実施形態では、スマートフォン501が、プリンタ502及びノートPC503両方のQRコードを読み取った後に、各装置にWFDの役割を通知する。以下、第1の実施形態との差分について詳細に説明する。尚、通信システムの構成や各装置の構成、及びプリンタ502とノートPC503の動作フローは、第1の実施形態と同様のため説明は省略する。
[0047]
 図9は、本実施形態におけるスマートフォン501とプリンタ502、およびノートPC503との間で実施される処理動作のシーケンスを示している。
[0048]
 F801~F813までの処理において図8と異なるのは、F807とF813において、スマートフォン501から通知される情報にWFDの役割が含まれていない点である。図9のF807、F813では、スマートフォン501は、プリンタ502とノートPC503とでWFDの通信を行う際に利用するSSIDや通信チャネルの情報を通知する。
[0049]
 F813の後、スマートフォン501は、ノートPC503及びプリンタ502へ役割設定要求を送信する(F901、F902)。役割設定要求には、スマートフォン501において決定した、プリンタ502とノートPC503とでWFDの通信を行う際のそれぞれの装置の役割が含まれている。役割の決定方法としては、第1の実施形態と同様に、QRコードを読み取った順番に基づいてWFDの役割を決定してもよい。即ち、先にQRコードを読み取った相手装置をGOにし、後にQRコードを読み取った相手装置をCLにしてもよいし、その逆でもよい。又は、プリンタ502やノートPC503から読み取ったQRコードからデバイス種別を示す情報を取得し、そのデバイス種別に基づいてGOとCLを決定してもよい。例えば、デバイス種別がプリンタであれば優先的にGOにしたり、デバイス種別がモバイル端末であれば優先的にCLにするなどの決定方法でもよい。又は、プリンタ502やノートPC503から読み取ったQRコードからWFDの規格で規定されたインテント値を取得し、インテント値に基づいてGOとCLを決定してもよい。又は、QRコードを読み取った相手装置の情報をスマートフォン501の表示部に表示し、どちらをGOとしてどちらをCLとするかについて、ユーザに選択させるようにしてもよい。
[0050]
 ノートPC503に送信される役割設定要求には、プリンタ502の識別情報とプリンタ502の公開鍵が含まれている。一方プリンタ502に送信される役割設定要求には、ノートPC503の識別情報とノートPC503の公開鍵が含まれている。これらの情報により、ノートPC503とプリンタ502の各装置は、WFDの通信を行う相手装置と、その公開鍵を知ることができる。また、スマートフォン501から各通信装置に送信される役割設定要求は、各通信装置と共有されている暗号鍵で暗号化されているため、安全に各通信装置へ通知することができる。
[0051]
 役割設定要求を受信したノートPC503、プリンタ502のそれぞれは、スマートフォン501に対して役割設定応答を送信する(F903、F904)。それ以降の処理(F814~F819)は、第1の実施形態と同様である。
[0052]
 本実施形態によれば、第1の実施形態と同様に、プリンタ502とノートPC503は、QRコードの読取機能を備えていなくても、スマートフォン501を利用することにより、公開鍵を用いたより安全な方法でWFDの接続が可能になる。また、スマートフォン501は、各通信装置のWFDの役割を決定するにあたって、互いの通信装置の情報を取得した上で決定することができる。
[0053]
 <その他の実施形態>
 上述の各実施形態は組み合わせることが可能であり、設定装置における設定等によりユーザが選択的に各実施形態を切り替えられるようにしてもよい。各実施形態において、設定装置が各通信装置から識別情報及び公開鍵を取得して以降の通信は、全て無線LANによる通信を行う例を示したが、この通信の少なくとも一部をBluetoothなどの別の無線通信によって実行してもよい。
[0054]
 また、上述の実施形態においては、QRコードの画像撮影を利用して装置の識別情報や公開鍵を取得する例を説明したが、QRコードの撮影に代えて、NFCやBluetooth(登録商標)などの無線通信を用いてもよい。また、IEEE802.11adもしくはトランスファージェット(TransferJet)(登録商標)等のその他の無線通信を用いてもよい。公開鍵を取得するために無線通信を用いる場合には、その無線通信は暗号化通信等によってセキュリティが確保されていることが望ましい。
[0055]
 尚、公開鍵を取得するためのこれらの特別な機能を備えていない装置とは、現在その機能を利用しない設定やモードにある装置も含まれる。即ち、装置自体が持つ機能としてはこれらの特別な機能を備えていたとしても、現在の装置の設定としてこれらの機能を利用できない状態にある装置も、公開鍵を取得するためのこれらの特別な機能を備えていない装置とする。又は、装置の故障等により現在一時的にこれらの特別な機能を利用できない状態である装置も、これらの特別な機能を備えていない装置とする。
[0056]
 また、上述の実施形態において、QRコードは設定装置において読み取られる画像の一例であり、読み取られる画像はQRコードに限らず、一次元バーコード、QRコード以外の二次元コード等のその他の画像であっても良い。また、上述の実施形態において、設定装置が各通信装置から別の方法で公開鍵を取得するようにしてもよい。例えば、スマートフォン501はプリンタ502からQRコードの画像撮影を利用して公開鍵を取得し、ノートPC503からはQRコード以外の方法(例えばNFC)により公開鍵を取得しても良い。
[0057]
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[0058]
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
[0059]
 本願は、2016年8月10日提出の日本国特許出願特願2016-157860を基礎として優先権を主張するものであり、その記載内容の全てをここに援用する。

請求の範囲

[請求項1]
 通信装置であって、
 無線LANを用いない特定の取得方法によって第1の他の通信装置の識別情報及び公開鍵を取得する第1の取得手段と、
 前記第1の取得手段による取得に応じて、Wi-Fi Directによる通信における前記第1の他の通信装置の役割を当該第1の他の通信装置へ通知する第1の通知手段と、
 前記特定の取得方法によって第2の他の通信装置の識別情報及び公開鍵を取得する第2の取得手段と、
 前記第2の取得手段による取得に応じて、Wi-Fi Directによる通信における前記第2の他の通信装置の役割を当該第2の他の通信装置へ通知する第2の通知手段と、
 を有し、
 前記第1の通知手段と前記第2の通知手段によって通知される役割の一方はP2P Group Ownerであり、他方はP2P Clientであり、当該通知によって前記第1の他の通信装置と前記第2の他の通信装置との間でWi-Fi Directによる通信を可能とすることを特徴とする通信装置。
[請求項2]
 前記第1の通知手段は、前記第2の取得手段によって第2の他の通信装置の識別情報及び公開鍵を取得する前に、前記第1の他の通信装置へ役割を通知することを特徴とする請求項1記載の通信装置。
[請求項3]
 前記第1の通知手段は、前記第2の取得手段によって第2の他の通信装置の識別情報及び公開鍵を取得した後に、前記第1の他の通信装置へ役割を通知することを特徴とする請求項1記載の通信装置。
[請求項4]
 前記第2の通知手段は、前記第1の他の通信装置の識別情報を通知することを特徴とする請求項1乃至3の何れか1項に記載の通信装置。
[請求項5]
 前記第1の取得手段によって取得された公開鍵を用いて、前記第1の他の通信装置へ認証要求を送信する第1の送信手段と、
 前記第2の取得手段によって取得された公開鍵を用いて、前記第2の他の通信装置へ認証要求を送信する第2の送信手段と、
 前記第1の通知手段は、前記第1の送信手段によって送信された認証要求に基づく認証処理に成功した場合に前記第1の他の通信装置への通知を行い、前記第2の通知手段は、 前記第2の送信手段によって送信された認証要求に基づく認証処理に成功した場合に前記第2の他の通信装置への通知を行うことを特徴とする請求項1乃至4の何れか1項に記載の通信装置。
[請求項6]
 画像を読み取る読取手段を有し、
 前記特定の取得方法は、前記読取手段によって読み取られた画像から情報を取得する取得方法であることを特徴とする請求項1乃至5の何れか1項に記載の通信装置。
[請求項7]
 前記画像は、バーコードまたは二次元コードのいずれかであることを特徴とする請求項6に記載の通信装置。
[請求項8]
 前記第1の取得手段による取得と前記第2の取得手段による取得の順番に従って、前記第1の他の通信装置と前記第2の他の通信装置それぞれのWi-Fi Directによる通信における役割を決定する決定手段を有し、
 前記第1の通知手段及び前記第2の通知手段は、前記決定手段によって決定された役割を通知することを特徴とする請求項1乃至7の何れか1項に記載の通信装置。
[請求項9]
 前記第1の通知手段及び前記第2の通知手段は無線LANを用いて通知することを特徴とする請求項1乃至8の何れか1項に記載の通信装置。
[請求項10]
 無線LANを用いない特定の取得方法によって第1の通信装置の識別情報及び公開鍵を取得する第1の取得工程と、
 前記第1の取得工程による取得に応じて、Wi-Fi Directによる通信における前記第1の通信装置の役割を当該第1の通信装置へ通知する第1の通知工程と、
 前記特定の取得方法によって第2の通信装置の識別情報及び公開鍵を取得する第2の取得工程と、
 前記第2の取得工程による取得に応じて、Wi-Fi Directによる通信における前記第2の通信装置の役割を当該第2の通信装置へ通知する第2の通知工程と、
 を有し、
 前記第1の通知工程と前記第2の通知工程によって通知される役割の一方はP2P Group Ownerであり、他方はP2P Clientであり、当該通知によって前記第1の通信装置と前記第2の通信装置との間でWi-Fi Directによる通信を可能とすることを特徴とする通信方法。
[請求項11]
 請求項1乃至9の何れか一項に記載の通信装置としてコンピュータを動作させるためのプログラム。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]