(57)【要約】【課題】  公開鍵を取得するための特別な機能を備えていない装置同士でも、通信パラメータを共有しＷｉ−Ｆｉ  Ｄｉｒｅｃｔの通信を開始できるようにする。【解決手段】  通信装置は、無線ＬＡＮを用いない特定の取得方法によって第１の他の通信装置の識別情報及び公開鍵を取得し、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信における前記第１の他の通信装置の役割を当該第１の他の通信装置へ通知する。また、前記特定の取得方法によって第２の他の通信装置の識別情報及び公開鍵を取得し、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信における前記第２の他の通信装置の役割を当該第２の他の通信装置へ通知する。通知される役割の一方はＰ２Ｐ  Ｇｒｏｕｐ  Ｏｗｎｅｒであり、他方はＰ２Ｐ  Ｃｌｉｅｎｔであり、当該通知によって前記第１の他の通信装置と前記第２の他の通信装置との間でＷｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信を可能とする。【選択図】  図６
2018026722.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
無線ＬＡＮを用いない特定の取得方法によって第１の他の通信装置の識別情報及び公開鍵を取得する第１の取得手段と、
前記第１の取得手段による取得に応じて、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信における前記第１の他の通信装置の役割を当該第１の他の通信装置へ通知する第１の通知手段と、
前記特定の取得方法によって第２の他の通信装置の識別情報及び公開鍵を取得する第２の取得手段と、
前記第２の取得手段による取得に応じて、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信における前記第２の他の通信装置の役割を当該第２の他の通信装置へ通知する第２の通知手段と、
を有し、
前記第１の通知手段と前記第２の通知手段によって通知される役割の一方はＰ２Ｐ  Ｇｒｏｕｐ  Ｏｗｎｅｒであり、他方はＰ２Ｐ  Ｃｌｉｅｎｔであり、当該通知によって前記第１の他の通信装置と前記第２の他の通信装置との間でＷｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信を可能とすることを特徴とする通信装置。
【請求項２】
前記第１の通知手段は、前記第２の取得手段によって第２の他の通信装置の識別情報及び公開鍵を取得する前に、前記第１の他の通信装置へ役割を通知することを特徴とする請求項１記載の通信装置。
【請求項３】
前記第１の通知手段は、前記第２の取得手段によって第２の他の通信装置の識別情報及び公開鍵を取得した後に、前記第１の他の通信装置へ役割を通知することを特徴とする請求項１記載の通信装置。
【請求項４】
前記第２の通知手段は、前記第１の他の通信装置の識別情報を通知することを特徴とする請求項１乃至３の何れか１項に記載の通信装置。
【請求項５】
前記第１の取得手段によって取得された公開鍵を用いて、前記第１の他の通信装置へ認証要求を送信する第１の送信手段と、
前記第２の取得手段によって取得された公開鍵を用いて、前記第２の他の通信装置へ認証要求を送信する第２の送信手段と、
前記第１の通知手段は、前記第１の送信手段によって送信された認証要求に基づく認証処理に成功した場合に前記第１の他の通信装置への通知を行い、前記第２の通知手段は、前記第２の送信手段によって送信された認証要求に基づく認証処理に成功した場合に前記第２の他の通信装置への通知を行うことを特徴とする請求項１乃至４の何れか１項に記載の通信装置。
【請求項６】
画像を読み取る読取手段を有し、
前記特定の取得方法は、前記読取手段によって読み取られた画像から情報を取得する取得方法であることを特徴とする請求項１乃至５の何れか１項に記載の通信装置。
【請求項７】
前記画像は、バーコードまたは二次元コードのいずれかであることを特徴とする請求項６に記載の通信装置。
【請求項８】
前記第１の取得手段による取得と前記第２の取得手段による取得の順番に従って、前記第１の他の通信装置と前記第２の他の通信装置それぞれのＷｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信における役割を決定する決定手段を有し、
前記第１の通知手段及び前記第２の通知手段は、前記決定手段によって決定された役割を通知することを特徴とする請求項１乃至７の何れか１項に記載の通信装置。
【請求項９】
前記第１の通知手段及び前記第２の通知手段は無線ＬＡＮを用いて通知することを特徴とする請求項１乃至８の何れか１項に記載の通信装置。
【請求項１０】
無線ＬＡＮを用いない特定の取得方法によって第１の通信装置の識別情報及び公開鍵を取得する第１の取得工程と、
前記第１の取得工程による取得に応じて、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信における前記第１の通信装置の役割を当該第１の通信装置へ通知する第１の通知工程と、
前記特定の取得方法によって第２の通信装置の識別情報及び公開鍵を取得する第２の取得工程と、
前記第２の取得工程による取得に応じて、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信における前記第２の通信装置の役割を当該第２の通信装置へ通知する第２の通知工程と、
を有し、
前記第１の通知工程と前記第２の通知工程によって通知される役割の一方はＰ２Ｐ  Ｇｒｏｕｐ  Ｏｗｎｅｒであり、他方はＰ２Ｐ  Ｃｌｉｅｎｔであり、当該通知によって前記第１の通信装置と前記第２の通信装置との間でＷｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信を可能とすることを特徴とする通信方法。
【請求項１１】
請求項１乃至９の何れか一項に記載の通信装置としてコンピュータを動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法、及びプログラムに関する。
【背景技術】
【０００２】
アクセスポイント（以下ＡＰとする）を介さずに通信装置間で直接無線ＬＡＮによる通信を行う技術であるＷｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標、以下ＷＦＤとする）が、無線ＬＡＮの業界団体であるＷｉ−Ｆｉ  Ａｌｌｉａｎｃｅにおいて規格化されている。
【０００３】
ＷＦＤでは、直接無線ＬＡＮ通信を行う通信装置の一方がＡＰとして動作することによって通信を行っている。ＷＦＤにおいてＡＰとして動作する装置の役割をＰ２Ｐ  Ｇｒｏｕｐ  Ｏｗｎｅｒ（以下、ＧＯとする）と呼ぶ。一方、ＧＯが生成したネットワークに参加する装置の役割をＰ２Ｐ  Ｃｌｉｅｎｔ（以下、ＣＬとする）と呼ぶ。ＷＦＤでは、ＧＯが生成したネットワークに参加するために必要な通信パラメータを、ＧＯからＣＬへ送信することによって装置間で共有し、その後、ＷＦＤにおける無線通信は共有した通信パラメータに基づいて実行される。
【０００４】
共有する通信パラメータがＷＦＤの通信を行わない他装置に漏えいしてしまうことを防ぐために、公開鍵暗号方式を用いてより安全に通信パラメータを共有することが考えられている。ここで、公開鍵暗号方式を使うために必要な公開鍵は、より安全に装置間で共有する必要がある。
【０００５】
特許文献１には、ＱＲコード（登録商標）を読み取る機能を用いて、アクセスポイントの情報を簡単、且つ安全に携帯端末が取得する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２６１９３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の技術により、ＱＲコードを読み取ることにより、より安全に公開鍵を取得することができる。
【０００８】
しかしながらこのような方法を用いてＷＦＤの通信を行うためには、少なくとも一方の装置がこのような方法を可能にするための特別な機能を備えている必要がある。例えば上述の例では、少なくとも一方の装置がＱＲコードを読み取る機能を備えていなければならず、ＱＲコードを読み取る機能を備えていない装置同士では、上述の方法を用いたＷＦＤによる通信ができなかった。
【０００９】
そこで本発明は、公開鍵を取得するための特別な機能を備えていない装置同士でも、通信パラメータを共有しＷＦＤの通信を開始できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の通信装置は、無線ＬＡＮを用いない特定の取得方法によって第１の他の通信装置の識別情報及び公開鍵を取得する第１の取得手段と、前記第１の取得手段による取得に応じて、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信における前記第１の他の通信装置の役割を当該第１の他の通信装置へ通知する第１の通知手段と、前記特定の取得方法によって第２の他の通信装置の識別情報及び公開鍵を取得する第２の取得手段と、前記第２の取得手段による取得に応じて、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信における前記第２の他の通信装置の役割を当該第２の他の通信装置へ通知する第２の通知手段とを有し、前記第１の通知手段と前記第２の通知手段によって通知される役割の一方はＰ２Ｐ  Ｇｒｏｕｐ  Ｏｗｎｅｒであり、他方はＰ２Ｐ  Ｃｌｉｅｎｔであり、当該通知によって前記第１の他の通信装置と前記第２の他の通信装置との間でＷｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信を可能とすることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、公開鍵を取得するための特別な機能を備えていない装置同士でも、通信パラメータを共有しＷＦＤの通信を開始できるようになる。
【図面の簡単な説明】
【００１２】
【図１】設定装置のハードウェアブロック図
【図２】通信装置のハードウェアブロック図
【図３】設定装置のソフトウェア機能ブロック図
【図４】通信装置のソフトウェア機能ブロック図
【図５】実施形態に係るシステム構成の一例を示す図
【図６】実施形態における設定装置の動作フロー図
【図７】実施形態における通信装置の動作フロー図
【図８】実施形態における設定装置および通信装置間の動作シーケンス図
【図９】第２の実施形態における設定装置および通信装置間の動作シーケンス図
【発明を実施するための形態】
【００１３】
＜第１の実施形態＞
以下、本発明の実施形態の一例に係る通信装置について、図面を参照しながら詳細に説明する。以下では、ＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮシステムを用いた例について説明するが、通信形態は必ずしもＩＥＥＥ８０２．１１準拠の無線ＬＡＮには限らない。また、本発明の技術範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１４】
図１は本実施形態に係る、後述の設定装置の構成の一例を表すハードウェアブロック図である。１０１は装置全体を示す。１０２は、記憶部１０３に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部１０２は例えば一つ以上のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により構成される。制御部１０２は、他の装置との間で通信パラメータの設定制御も行う。１０３は制御部１０２が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部１０３に記憶された制御プログラムを制御部１０２が実行することにより行われる。記憶部１０３は、例えば、ＲＯＭ、ＲＡＭ、ＨＤＤ、フラッシュメモリまたは着脱可能なＳＤカードなどの記憶媒体により構成される。
【００１５】
１０４はＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ等の無線通信を行うための無線通信部である。無線通信部１０４は、無線通信を行うチップにより構成される。無線通信には近距離無線通信、例えばＮｅａｒ Ｆｉｅｌｄ Ｃｏｍｍｕｎｉｃａｔｉｏｎ（登録商標）（以下、ＮＦＣと記載）なども含まれる。１０５は各種表示を行う表示部でありＬＣＤやＬＥＤのようにユーザが視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。表示部１０５は視覚情報および音情報の少なくともどちらか一方を出力する機能を備えるものである。ＱＲコードの表示も表示部１０５で実施する。なお、ＱＲコードについては表示部１０５を通じて表示する以外に、ＱＲコードを通信装置の筺体にシールなどの形態で貼り付けられていてもよいし、取扱説明書や通信装置の販売時の段ボールなどの包装に貼り付けられていてもよい。１０６は無線ＬＡＮアンテナ制御部、そして１０７は無線ＬＡＮアンテナである。１０８は、ユーザが各種入力等を行い、通信装置を操作するための操作部である。１０９は、ＱＲコード等を撮影することによって読み取る手段としての撮像部である。
【００１６】
図２は本実施形態に係る、後述の通信装置の構成の一例を表すハードウェアブロック図である。２０１は装置全体を示す。２０２は、記憶部２０３に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部２０２は例えば一つ以上のＣＰＵにより構成される。制御部２０２は、他の装置との間で通信パラメータの設定制御も行う。２０３は制御部１０２が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部２０３に記憶された制御プログラムを制御部２０２が実行することにより行われる。記憶部２０３は、例えば、ＲＯＭ、ＲＡＭ、ＨＤＤ、フラッシュメモリまたは着脱可能なＳＤカードなどの記憶媒体により構成される。
【００１７】
２０４はＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ等の無線通信を行うための無線通信部である。無線通信部２０４は、無線通信を行うチップにより構成される。無線通信には近距離無線通信、例えばＮＦＣなども含まれる。２０５は各種表示を行う表示部でありＬＣＤやＬＥＤのようにユーザが視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。表示部２０５は視覚情報および音情報の少なくともどちらか一方を出力する機能を備えるものである。ＱＲコードの表示も表示部２０５で実施する。なお、ＱＲコードについては表示部２０５を通じて表示する以外に、ＱＲコードを通信装置の筺体にシールなどの形態で貼り付けられていてもよいし、取扱説明書や通信装置の販売時の段ボールなどの包装に貼り付けられていてもよい。２０６は無線ＬＡＮアンテナ制御部、そして２０７は無線ＬＡＮアンテナである。２０８は、ユーザが各種入力等を行い、通信装置を操作するための操作部である。尚、図１に示した構成は一例であり、通信装置がその他のハードウェア構成を有していてもよい。例えば通信装置がプリンタである場合には、図１に示す構成の他に、印刷部を有していてもよい。また、通信装置がカメラである場合には、撮影部を有していてもよい。
【００１８】
図３は、後述の通信制御機能を実行する設定装置のソフトウェア機能ブロックの構成の一例を表すブロック図である。本実施形態において、各通信装置の機能ブロックは、それぞれ記憶部１０３にプログラムとして記憶され、制御部１０２によって当該プログラムが実行されることによりその機能が実施される。制御部１０２は、制御プログラムにしたがって、各ハードウェアの制御、および、情報の演算や加工を行うことで各機能を実現する。なお、本機能ブロックに含まれる一部または全部がハードウェア化されていてもよい。この場合、各機能ブロックに含まれる一部または全部は、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により構成される。
【００１９】
３０１はソフトウェア機能ブロック全体を示す。３０２は通信パラメータ提供部である。自通信装置が通信パラメータ提供元となり、通信パラメータの生成や暗号化、通信パラメータの対向装置への提供などを実施する。後述のパラメータ提供処理は、通信パラメータ制御部３０２にて実施される。３０３は認証処理部であり、自通信装置が取得したＱＲコード情報等を用いて対向装置との間で認証処理を実施する。後述の設定装置の認証処理は認証処理部３０３にて実施される。３０４は無線ＬＡＮパケット受信部、３０５は無線ＬＡＮパケット送信部であり、対向装置との間でＩＥＥＥ８０２．１１規格に準拠した無線ＬＡＮ通信を実施する。３０６はデータ記憶部であり、ソフトウェアそのものおよび、無線ＬＡＮパラメータや、認証情報、バーコード類の情報を記憶保持している。尚、上記機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【００２０】
図４は、後述の通信制御機能を実行する通信装置のソフトウェア機能ブロックの構成の一例を表すブロック図である。本実施形態において、各通信装置の機能ブロックは、それぞれ記憶部２０３にプログラムとして記憶され、制御部２０２によって当該プログラムが実行されることによりその機能が実施される。制御部２０２は、制御プログラムにしたがって、各ハードウェアの制御、および、情報の演算や加工を行うことで各機能を実現する。なお、本機能ブロックに含まれる一部または全部がハードウェア化されていてもよい。この場合、各機能ブロックに含まれる一部または全部は、例えばＡＳＩＣにより構成される。
【００２１】
４０１はソフトウェア機能ブロック全体を示す。４０２は通信パラメータ共有部であり、通信パラメータの提供または受信処理、通信パラメータの暗号化処理および暗号化された通信パラメータの復号処理などを実施する。後述のパラメータ提供処理およびパラメータ受信処理は、通信パラメータ共有部４０２にて実施される。４０３は認証処理部であり、受信したメッセージに含まれる情報等を用いて対向装置との間で認証処理を実施する。後述の通信装置の認証処理は認証処理部４０３にて実施される。４０４はネットワーク構築処理部であり、受信した通信パラメータを用いて無線ＬＡＮネットワークの構築または参加処理を実施する。後述のネットワーク構築処理、およびネットワーク参加処理はネットワーク構築処理部４０４にて実施される。４０５は無線ＬＡＮパケット受信部、４０６は無線ＬＡＮパケット送信部であり、対向装置との間でＩＥＥＥ８０２．１１規格に準拠した無線ＬＡＮ通信を実施する。４０７はデータ記憶部であり、ソフトウェアそのものおよび、無線ＬＡＮパラメータや、認証情報、バーコード類の情報を記憶保持している。尚、上記機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【００２２】
図５は、本実施形態におけるシステム構成であり、スマートフォン５０１、プリンタ５０２、ノートＰＣ５０３、および無線ＬＡＮ５０４（以下、ネットワーク５０４）を示した図である。
【００２３】
本実施形態において、設定装置としてのスマートフォン５０１は、通信装置としてのプリンタ５０２およびノートＰＣ５０３のＱＲコードを読み取り、各々の通信装置へＷＦＤによる通信における役割を通知する。通知される役割の一方はＧＯであり他方はＣＬである。ＧＯ又はＣＬの役割が通知されたプリンタ５０２及びノートＰＣ５０３は、通知された役割に従って動作し、プリンタ５０２とノートＰＣ５０３との間でＷＦＤによる通信が開始される。スマートフォン５０１は設定装置の一例であり、設定装置はその他の各種の装置、例えばプリンタ、カメラ、ＰＣ、デジタルテレビ、各種のデジタル家電、ウェアラブルデバイス等であってもよい。また、プリンタ５０２及びノートＰＣ５０３は通信装置の一例であり、その他の各種の装置、例えば、スマートフォン、カメラ、デジタルテレビ、各種のデジタル家電、ウェアラブルデバイス等であってもよい。
【００２４】
尚、設定装置は通信装置の一種であるが、本実施形態においては、無線ＬＡＮを用いない特定の取得方法によって他の通信装置の公開鍵を取得するための機能を備える通信装置を、そのような機能を備えていない通信装置と区別するために設定装置と呼ぶ。一方、そのような機能を備えていない通信装置を単に通信装置と呼ぶ。上述したように、本実施形態において、スマートフォン５０１は設定装置の一例であり、プリンタ５０２及びノートＰＣ５０３は通信装置の一例である。また、本実施形態において、ＱＲコードを用いた公開鍵の取得方法は上述の特定の取得方法の一例である。この場合、ＱＲコードの読取機能は、特定の取得方法によって他の通信装置の公開鍵を取得するための機能の一例である。特定の取得方法のその他の例としてＮＦＣやＢｌｕｅｔｏｏｔｈ（登録商標）、無線ＬＡＮ以外の他の無線通信であってもよい。この場合、特定の取得方法によって他の通信装置の公開鍵を取得するための機能の例として、ＮＦＣのリーダ／ライタ機能がある。
【００２５】
本実施形態において、設定装置としてのスマートフォン５０１は、先に説明した図１および図３の構成を有している。また、通信装置としてのプリンタ５０２およびノートＰＣ５０３は、先に説明した図２および図４の構成を有している。
【００２６】
図６は、スマートフォン５０１にて実施される処理を示すフローチャートである。図６は表示部１０５、および入力部１０８を介したユーザ操作により処理開始が指示された際に、制御部１０２により開始される。また図６の各ステップは、制御部１０２が記憶部１０３に記憶されたコンピュータプログラムを読み出して実行することにより行われる。
【００２７】
処理開始後、スマートフォン５０１は「２台モード」として処理を進めるか、「３台モード」として処理を進めるか、表示部１０５及び入力部１０８を介してユーザに選択させる（Ｓ６０１）。ここで「２台モード」とは、スマートフォン５０１が自装置と他の通信装置とでネットワークを構築するためのモードである。一方、「３台モード」とは、スマートフォン５０１が、自装置を使って第１の他の通信装置と第２の他の通信装置の２台でネットワークを構築するためのモードである。
【００２８】
スマートフォン５０１はどちらのモードが選択されたかを判定し、２台モードが選択された場合（Ｓ６０２のＮｏ）、スマートフォン５０１と共にネットワークを構築する相手装置のＱＲコードを読み取る（Ｓ６０３）。そして、スマートフォン５０１は、読み取ったＱＲコードから取得した情報を使って、相手装置との間で通信パラメータを共有する処理を行い、その後、相手装置と共にネットワークを構築する（Ｓ６０４）。具体的には、スマートフォン５０１は、Ｓ６０３において読み取ったＱＲコードから、相手装置の公開鍵と相手装置の識別情報を取得する。そして、スマートフォン５０１はその公開鍵を用いた公開鍵暗号方式により相手装置と通信パラメータを共有する。更に、２台モードが選択された場合にスマートフォン５０１は相手装置とＷＦＤを実施して無線ネットワークを構築しても良い。
【００２９】
Ｓ６０２の判定において３台モードが選択された場合（Ｓ６０２のＹｅｓ）、スマートフォン５０１は他の通信装置（例えばプリンタ５０２）のＱＲコードを読み取る。そして、スマートフォン５０１は、読み取ったＱＲコードから他の通信装置の公開鍵と、他の通信装置の識別情報を取得する（Ｓ６０５）。尚、他の通信装置の識別情報は、ＭＡＣアドレスやＵＵＩＤ等であってもよく、ＱＲコードから取得する情報はこれら以外の情報を含んでいてもよい。公開鍵を取得した後、スマートフォン５０１は、取得した公開鍵のハッシュ値を計算し、そのハッシュ値を含む認証要求を他の通信装置へ送信する（Ｓ６０６）。ここで、認証要求は、読み取ったＱＲコードから他の通信装置のアドレスが特定できた場合にはそのアドレスを指定してユニキャストで送信してもよい。他の通信装置のアドレスが特定できなかった場合には、ブロードキャストで認証要求を送信してもよい。
【００３０】
認証要求に正しいハッシュ値が含まれていて、認証処理に成功した場合、スマートフォン５０１は他の通信装置から認証成功を示す認証応答を受信する（Ｓ６０７のＹｅｓ）。一方、誤ったハッシュ値が含まれているなど認証処理に失敗した場合、スマートフォン５０１は他の通信装置から認証失敗を示す認証応答を受信する（Ｓ６０７のＮｏ）。又は、一定時間認証要求に対する応答が返ってこない場合、スマートフォン５０１は認証処理に失敗したと判断する。そのような場合、スマートフォン５０１は表示部１０５にエラーを表示しユーザに処理失敗を通知して処理を終了する（Ｓ６０８）。
【００３１】
認証成功を示す認証応答を受信すると（Ｓ６０７のＹｅｓ）、スマートフォン５０１は公開鍵暗号方式により暗号鍵を計算して他の通信装置へ認証確認を送信する（Ｓ６０９）。スマートフォン５０１と他の通信装置は認証処理によって、その後の暗号化処理に用いる共有鍵を共に保持した状態となる。認証確認を送信した後、スマートフォン５０１は他の通信装置から送信される設定要求を待ち受ける（Ｓ６１０）。
【００３２】
他の通信装置から設定要求を受信すると、スマートフォン５０１は、ＷＦＤによる通信における他の通信装置の役割を決定する（Ｓ６１１）。役割の決定方法として、ＱＲコードを読み取った順番に従って、ＷＦＤの役割を決定する。即ち、スマートフォン５０１は、Ｓ６０２において「３台モード」が選択された後に先にＱＲコードを読み取った相手装置をＧＯとして決定する。そして、後にＱＲコードを読み取った相手装置をＣＬとして決定する。他の通信装置の役割を決定した後、スマートフォン５０１は、決定した役割と、他の通信装置がＷＦＤを実行するために用いられる通信パラメータとを、設定応答として他の通信装置へ通知する（Ｓ６１２）。Ｓ６１２で送信される情報は、他の通信装置との間で共有されている暗号鍵で暗号化されている。ここで通知される通信パラメータには、ＷＦＤの通信で用いられる暗号方式や暗号鍵、認証方式や認証鍵の情報が含まれる。また、当該通信パラメータを受信した複数の他の通信装置によって構築されるＷＦＤのネットワーク識別子（例えばＳＳＩＤ）が含まれる。更には、ＷＦＤの通信で用いる無線チャネルの情報（例えば２．４ＧＨｚ帯の１ｃｈ、２ｃｈ、３ｃｈ等の情報）を含んでいてもよい。また、通信パラメータとは別に、Ｓ６１２において他の通信装置へ通知する情報として、既にＳ６１２においてＷＦＤにおける役割と通信パラメータを送信した他の通信装置を示す識別情報や、当該他の通信装置の公開鍵を含んでいてもよい。
【００３３】
以上の処理を実行し、スマートフォン５０１は処理を終了する。尚、Ｓ６１１におけるＷＦＤの役割の決定方法は上述の方法に限られず、例えば先にＱＲコードを読み取った相手装置をＣＬとし、後にＱＲコードを読み取った相手装置をＧＯとしてもよい。また、Ｓ６１２において通知する情報はＳ６１１において決定したＷＦＤの役割だけとしてもよい。しかし、Ｓ６１２においてＷＦＤの通信で使用する通信パラメータを通知するようにすれば、その後、他の通信装置同士がＷＦＤを実行する際にＧＯが通信パラメータを決定する処理を省略することができる。また、通信チャネルを通知するようにすれば、その後、他の通信装置同士がＷＦＤを実行する際に、相手装置を検索するために全チャネルを検索しなくて済むため、検索処理を簡略化することができる。同様に、他の通信装置を示す識別情報を通知するようにすれば、その後、他の通信装置同士がＷＦＤを実行する際に、相手装置を検索する処理を簡略化することができる。
【００３４】
図７は、プリンタ５０２またはノートＰＣ５０３（以下、通信装置とする）にて実施される処理を示すフローチャートである。本実施形態において、図７は機器の電源投入時などのタイミングで通信装置の無線ＬＡＮ通信機能が有効化された際に、制御部１０２により開始される。なお、図７は表示部１０５、および入力部１０８を介したユーザ操作により処理開始が選択された際に、制御部１０２により開始されても良い。又は、ＱＲコードを表示部に表示させる機能を持つ装置である場合は、ＱＲコードが表示部に表示された際に開始されてもよい。図７は、制御部１０２が記憶部１０３に記憶されたコンピュータプログラムを読み出して実行することにより行われる。
【００３５】
処理開始後、通信装置は設定装置から送信される認証要求を待ち受ける（Ｓ７０１）。認証要求を受信した場合（Ｓ７０１のＹｅｓ）、通信装置は認証要求に含まれるハッシュ値が、自身が保持する公開鍵情報のハッシュ値と一致するか確認する（Ｓ７０２）。ハッシュ値が一致しない場合（Ｓ７０２のＮｏ）、通信装置は認証に失敗した旨を示す認証応答を設定装置へ送信して図７に示す処理を終了する（Ｓ７０３）。なお、Ｓ７０３において、通信装置は表示部２０５にエラーを表示しても良い。また、通信装置はステップ７０３において認証応答を送信後、処理を終了せずにＳ７０１に戻り再度認証要求を待ち受けても良い。その場合、この繰り返し処理は所定時間継続するようにしてもよい。ハッシュ値が一致する場合（Ｓ７０２のＹｅｓ）、通信装置は認証に成功した旨を示す認証応答を設定装置へ送信し（Ｓ７０４）、設定装置から送信される認証確認を待ち受ける（Ｓ７０５）。
【００３６】
認証確認を受信した場合（Ｓ７０５のＹｅｓ）、通信装置は設定要求を設定装置へ送信して（Ｓ７０６）設定応答を待ち受ける（Ｓ７０７）。設定応答を受信した場合（Ｓ７０７のＹｅｓ）、通信装置は設定応答に含まれる暗号化された情報を自身が保持する暗号鍵を用いて復号する（Ｓ７０８）。
【００３７】
通信装置は、復号された情報を確認し、その中にＷＦＤの役割を示す情報が含まれているか判断する（Ｓ７０９）。ＷＦＤの役割が含まれていると判断された場合、通信装置は、復号された情報に通信パラメータが含まれているか判断する（Ｓ７１４）。通信パラメータが含まれていないと判断された場合、通信装置は、他の通信装置とＷＦＤによる通信を実行するために、設定装置から通知された役割に自装置を設定し、他の通信装置との間で通信パラメータの設定処理を実行する（Ｓ７１５）。通信パラメータの設定処理とは、Ｓ７０１〜Ｓ７０８において実行した処理と同様であり、Ｓ７１５では、設定装置とではなく、ＷＦＤの通信相手となる他の通信装置との間で、これらの処理を行う。Ｓ７１５における通信パラメータの設定処理により、ＧＯからＣＬへと、互いに共有した暗号鍵で暗号化された通信パラメータが提供され、ＷＦＤを実行する各装置に通信パラメータが設定される。Ｓ７１４において通信パラメータが含まれていると判断された場合、又はＳ７１５の処理が終了した後、通信装置は、ＷＦＤを実行する相手装置を検索する（Ｓ７１６）。そして、検索の結果見つかった相手装置と、設定された通信パラメータに基づいてＷＦＤによる通信を実行する（Ｓ７１７）。尚、Ｓ７１６における検索処理では、設定装置から受信した情報に他の通信装置の識別情報が含まれていた場合には、この識別情報を指定した検索を行う。また、設定装置から受信した情報にＷＦＤの通信で用いる無線チャネルの情報が含まれていた場合には、全チャネルの検索を行わずにこの無線チャネルのみを検索することによって検索処理を実行する。
【００３８】
一方、Ｓ７０９において、復号された情報にＷＦＤの役割が含まれていないと判断された場合、通信装置は相手装置の検索処理を実行する（Ｓ７１０）。この時、設定装置では、「３台モード」ではなく「２台モード」が選択されている。従って、Ｓ７１０の検索処理の結果、通信装置は、相手装置として設定装置を見つける（Ｓ７１１）。Ｓ７１１において相手装置が見つかると、見つかった相手装置との間でＷＦＤの役割決定処理を実行する。具体的には、通信装置と設定装置との間で、ＷＦＤにおいて規定されたＧｒｏｕｐ  Ｏｗｎｅｒ  Ｎｅｇｏｔｉａｔｉｏｎを実行し、どちらがＧＯになり、どちらがＣＬになるかを決定する。その後、ＧＯとして動作する装置からＣＬとして動作する装置へ通信パラメータが提供され、その通信パラメータを用いてＷＦＤによる接続処理が完了する（Ｓ７１３）。
【００３９】
図８は、スマートフォン５０１とプリンタ５０２、およびノートＰＣ５０３との間で実施される処理動作のシーケンスを示している。
【００４０】
スマートフォン５０１は、ユーザから登録処理を開始する指示（Ｆ８０１）を受けて図６に示すフローを開始する。そしてプリンタ５０２のＱＲコードを読み取りプリンタ５０２の公開鍵及びプリンタ５０２の識別情報を取得する（Ｆ８０２）。スマートフォン５０１は、取得した公開鍵からハッシュ値を計算し、そのハッシュ値を含む認証要求をプリンタ５０２へ送信する（Ｆ８０３）。プリンタ５０２は認証要求を受信すると図７に示すフローを実施し、認証が成功した場合には認証成功を示す認証応答を送信する（Ｆ８０４）。スマートフォン５０１は認証応答を受信すると認証確認を送信する（Ｆ８０５）。そして、プリンタ５０２から受信した設定要求（Ｆ８０６）に対して、設定応答を送信する（Ｆ８０７）。送信される設定応答には、ＷＦＤによる通信におけるプリンタ５０２の役割が含まれる。また、ＷＦＤによる通信に用いる通信チャネルの情報や、ＷＦＤによる通信を行うための通信パラメータが含まれていてもよい。
【００４１】
スマートフォン５０１は、Ｆ８０７にて設定応答を送信後、ノートＰＣ５０３のＱＲコードを読み取り、ノートＰＣ５０３の公開鍵及びノートＰＣ５０３の識別情報を取得する（Ｆ８０８）。スマートフォン５０１は、受信した公開鍵からハッシュ値を計算し、そのハッシュ値を含む認証要求をノートＰＣ５０３へ送信する（Ｆ８０９）。ノートＰＣ５０３は認証要求を受信すると、図７のフローを実施し、認証が成功した場合には認証成功を示す認証応答を送信する（Ｆ８１０）。
【００４２】
スマートフォン５０１は認証応答を受信すると認証確認を送信する（Ｆ８１１）。スマートフォン５０１はノートＰＣ５０３から受信する設定要求（Ｆ８１２）に対して設定応答を送信する（Ｆ８１３）。送信される設定応答には、ＷＦＤによる通信におけるノートＰＣ５０３の役割が含まれる。また、プリンタ５０２の公開鍵やプリンタ５０２の識別情報が含まれている。更には、ＷＦＤによる通信に用いる通信チャネルの情報や、ＷＦＤによる通信を行うための通信パラメータが含まれていてもよい。
【００４３】
Ｆ８０７及びＦ８１３でスマートフォン５０１から送信される設定応答に、ＷＦＤによる通信を行うための通信パラメータが含まれていた場合には、Ｆ８１４〜Ｆ８１８の処理は省略され、Ｆ８１９の処理を行う。即ち、ＧＯの役割で動作する装置が、スマートフォン５０１から通知された通信パラメータに従ったネットワークを生成し、ＣＬの役割で動作する装置がそのネットワークに参加することにより、ＷＦＤのネットワークを構築する（Ｆ８１９）。
【００４４】
一方、Ｆ８０７及びＦ８１３でスマートフォン５０１から送信される設定応答に、ＷＦＤによる通信を行うための通信パラメータが含まれていない場合には、Ｆ８１４の処理を行う。図８の例では、ノートＰＣ５０３がＧＯとして動作し、プリンタ５０２がＣＬとして動作することがスマートフォン５０１より通知された場合を説明する。ノートＰＣ５０３は、スマートフォン５０１から設定応答を受信した後、プリンタ５０２の公開鍵のハッシュ値を計算し、そのハッシュ値を含む認証要求をプリンタ５０２へ送信する（Ｆ８１４）。プリンタ５０２は認証要求を受信し、認証処理に成功した場合、認証成功を示す認証応答を送信する（Ｆ８１５）。ノートＰＣ５０３は認証応答を受信すると認証確認を送信する（Ｆ８１６）。そしてノートＰＣ５０３はプリンタ５０２から受信する設定要求（Ｆ８１７）に対して、ＷＦＤによる通信を行うために必要な通信パラメータを設定応答に含めてプリンタ５０２へ送信する（Ｆ８１８）。その後、ノートＰＣ５０３はプリンタ５０２に通知した通信パラメータ従ったネットワークを生成し、プリンタ５０２がそのネットワークに参加することにより、ＷＦＤのネットワークを構築する（Ｆ８１９）。
【００４５】
以上のように、本実施形態によれば、プリンタ５０２とノートＰＣ５０３は、ＱＲコードの読取機能を備えていなくても、スマートフォン５０１を利用することにより、公開鍵を用いたより安全な方法でＷＦＤの接続が可能になる。
【００４６】
＜第２の実施形態＞
第１の実施形態では、スマートフォン５０１が、プリンタ５０２及びノートＰＣ５０３のＱＲコードを読み取った際に、その都度ＷＦＤの役割を通知していた。これに対して本実施形態では、スマートフォン５０１が、プリンタ５０２及びノートＰＣ５０３両方のＱＲコードを読み取った後に、各装置にＷＦＤの役割を通知する。以下、第１の実施形態との差分について詳細に説明する。尚、通信システムの構成や各装置の構成、及びプリンタ５０２とノートＰＣ５０３の動作フローは、第１の実施形態と同様のため説明は省略する。
【００４７】
図９は、本実施形態におけるスマートフォン５０１とプリンタ５０２、およびノートＰＣ５０３との間で実施される処理動作のシーケンスを示している。
【００４８】
Ｆ８０１〜Ｆ８１３までの処理において図８と異なるのは、Ｆ８０７とＦ８１３において、スマートフォン５０１から通知される情報にＷＦＤの役割が含まれていない点である。図９のＦ８０７、Ｆ８１３では、スマートフォン５０１は、プリンタ５０２とノートＰＣ５０３とでＷＦＤの通信を行う際に利用するＳＳＩＤや通信チャネルの情報を通知する。
【００４９】
Ｆ８１３の後、スマートフォン５０１は、ノートＰＣ５０３及びプリンタ５０２へ役割設定要求を送信する（Ｆ９０１、Ｆ９０２）。役割設定要求には、スマートフォン５０１において決定した、プリンタ５０２とノートＰＣ５０３とでＷＦＤの通信を行う際のそれぞれの装置の役割が含まれている。役割の決定方法としては、第１の実施形態と同様に、ＱＲコードを読み取った順番に基づいてＷＦＤの役割を決定してもよい。即ち、先にＱＲコードを読み取った相手装置をＧＯにし、後にＱＲコードを読み取った相手装置をＣＬにしてもよいし、その逆でもよい。又は、プリンタ５０２やノートＰＣ５０３から読み取ったＱＲコードからデバイス種別を示す情報を取得し、そのデバイス種別に基づいてＧＯとＣＬを決定してもよい。例えば、デバイス種別がプリンタであれば優先的にＧＯにしたり、デバイス種別がモバイル端末であれば優先的にＣＬにするなどの決定方法でもよい。又は、プリンタ５０２やノートＰＣ５０３から読み取ったＱＲコードからＷＦＤの規格で規定されたインテント値を取得し、インテント値に基づいてＧＯとＣＬを決定してもよい。又は、ＱＲコードを読み取った相手装置の情報をスマートフォン５０１の表示部に表示し、どちらをＧＯとしてどちらをＣＬとするかについて、ユーザに選択させるようにしてもよい。
【００５０】
ノートＰＣ５０３に送信される役割設定要求には、プリンタ５０２の識別情報とプリンタ５０２の公開鍵が含まれている。一方プリンタ５０２に送信される役割設定要求には、ノートＰＣ５０３の識別情報とノートＰＣ５０３の公開鍵が含まれている。これらの情報により、ノートＰＣ５０３とプリンタ５０２の各装置は、ＷＦＤの通信を行う相手装置と、その公開鍵を知ることができる。また、スマートフォン５０１から各通信装置に送信される役割設定要求は、各通信装置と共有されている暗号鍵で暗号化されているため、安全に各通信装置へ通知することができる。
【００５１】
役割設定要求を受信したノートＰＣ５０３、プリンタ５０２のそれぞれは、スマートフォン５０１に対して役割設定応答を送信する（Ｆ９０３、Ｆ９０４）。それ以降の処理（Ｆ８１４〜Ｆ８１９）は、第１の実施形態と同様である。
【００５２】
本実施形態によれば、第１の実施形態と同様に、プリンタ５０２とノートＰＣ５０３は、ＱＲコードの読取機能を備えていなくても、スマートフォン５０１を利用することにより、公開鍵を用いたより安全な方法でＷＦＤの接続が可能になる。また、スマートフォン５０１は、各通信装置のＷＦＤの役割を決定するにあたって、互いの通信装置の情報を取得した上で決定することができる。
【００５３】
＜その他の実施形態＞
上述の各実施形態は組み合わせることが可能であり、設定装置における設定等によりユーザが選択的に各実施形態を切り替えられるようにしてもよい。各実施形態において、設定装置が各通信装置から識別情報及び公開鍵を取得して以降の通信は、全て無線ＬＡＮによる通信を行う例を示したが、この通信の少なくとも一部をＢｌｕｅｔｏｏｔｈなどの別の無線通信によって実行してもよい。
【００５４】
また、上述の実施形態においては、ＱＲコードの画像撮影を利用して装置の識別情報や公開鍵を取得する例を説明したが、ＱＲコードの撮影に代えて、ＮＦＣやＢｌｕｅｔｏｏｔｈ（登録商標）などの無線通信を用いてもよい。また、ＩＥＥＥ８０２．１１ａｄもしくはトランスファージェット（ＴｒａｎｓｆｅｒＪｅｔ）（登録商標）等のその他の無線通信を用いてもよい。公開鍵を取得するために無線通信を用いる場合には、その無線通信は暗号化通信等によってセキュリティが確保されていることが望ましい。
【００５５】
尚、公開鍵を取得するためのこれらの特別な機能を備えていない装置とは、現在その機能を利用しない設定やモードにある装置も含まれる。即ち、装置自体が持つ機能としてはこれらの特別な機能を備えていたとしても、現在の装置の設定としてこれらの機能を利用できない状態にある装置も、公開鍵を取得するためのこれらの特別な機能を備えていない装置とする。又は、装置の故障等により現在一時的にこれらの特別な機能を利用できない状態である装置も、これらの特別な機能を備えていない装置とする。
【００５６】
また、上述の実施形態において、ＱＲコードは設定装置において読み取られる画像の一例であり、読み取られる画像はＱＲコードに限らず、一次元バーコード、ＱＲコード以外の二次元コード等のその他の画像であっても良い。また、上述の実施形態において、設定装置が各通信装置から別の方法で公開鍵を取得するようにしてもよい。例えば、スマートフォン５０１はプリンタ５０２からＱＲコードの画像撮影を利用して公開鍵を取得し、ノートＰＣ５０３からはＱＲコード以外の方法（例えばＮＦＣ）により公開鍵を取得しても良い。
【００５７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５８】
５０１  スマートフォン
５０２  プリンタ
５０３  ノートＰＣ
５０４  無線ＬＡＮネットワーク
【図１】
2018026722.tif 000003
【図２】
2018026722.tif 000004
【図３】
2018026722.tif 000005
【図４】
2018026722.tif 000006
【図５】
2018026722.tif 000007
【図６】
2018026722.tif 000008
【図７】
2018026722.tif 000009
【図８】
2018026722.tif 000010
【図９】
2018026722.tif 000011