(57)【要約】【課題】第１の外部装置を利用して、通信装置と第２の外部装置との間に無線接続を確立させるための新規な技術を提供すること。【解決手段】通信装置は、第１の外部装置から特定信号が受信された後に、公開鍵を用いて得られる特定情報を出力部に出力させる。特定情報が出力されることによって、公開鍵が第１の外部装置によって取得される。その後、通信装置は、第１の外部装置から公開鍵が利用された認証要求を受信し、認証応答を第１の外部装置に送信して、第１の外部装置から接続情報を受信する。接続情報は、通信装置と第２の外部装置との間に無線インターフェースを介した無線接続を確立するための情報である。この結果、通信装置は、接続情報を利用して、第２の外部装置との無線接続を確立する。【選択図】図７
2019180036.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
出力部と、
無線インターフェースと、
第１の外部装置から、前記無線インターフェースを介して、特定信号を受信する特定信号受信部と、
前記第１の外部装置から前記特定信号が受信された後に、公開鍵を用いて得られる特定情報を前記出力部に出力させる第１の出力制御部であって、前記特定情報が出力されることによって、前記公開鍵が前記第１の外部装置によって取得される、前記第１の出力制御部と、
前記特定情報が出力された後に、前記第１の外部装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記第１の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第１の外部装置に送信する認証応答送信部と、
前記認証応答が前記第１の外部装置に送信された後に、前記第１の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第２の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第１の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第２の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
を備える、通信装置。
【請求項２】
前記通信装置は、さらに、
操作部と、
前記操作部を介した所定操作が受け付けられる場合に、前記特定情報を前記出力部に出力させる第２の出力制御部を備え、
前記第１の出力制御部は、前記第１の外部装置から前記特定信号が受信された後に、前記操作部を介した前記所定操作が受け付けられなくても、前記特定情報を前記出力部に出力させる、請求項１に記載の通信装置。
【請求項３】
前記特定情報は、前記公開鍵がコード化されることによって得られるコード画像である、請求項１又は２に記載の通信装置。
【請求項４】
前記コード画像は、ＱＲコード（登録商標）であり、
前記公開鍵は、前記ＱＲコードが前記第１の外部装置によって撮影されることに応じて、前記第１の外部装置によって取得される、請求項３に記載の通信装置。
【請求項５】
前記出力部は、画像を表示するための表示部であり、
前記第１の出力制御部は、前記特定情報を前記表示部である前記出力部に表示させる、請求項１から４のいずれか一項に記載の通信装置。
【請求項６】
前記通信装置は、さらに、
操作部と、
前記第１の外部装置から前記特定情報が受信される場合に、前記特定情報を表示すべきことを指示するための指示画面を前記表示部である前記出力部に表示させる表示制御部と、を備え、
前記第１の出力制御部は、前記指示画面において、前記操作部を介して、前記特定情報を表示すべきことが指示される場合に、前記特定情報を前記表示部である前記出力部に表示させる、請求項５に記載の通信装置。
【請求項７】
前記通信装置は、さらに、
所定条件が満たされる場合に、前記無線インターフェースの動作モードを第１のモードから第２のモードに移行させるモード移行部であって、前記第１のモードは、前記無線インターフェースが前記特定信号を解釈不可能なモードであり、前記第２のモードは、前記無線インターフェースが前記特定信号を解釈可能なモードである、前記モード移行部を備え、
前記第１の出力制御部は、前記無線インターフェースの動作モードが前記第２のモードである状況において、前記第１の外部装置から前記特定信号が受信された後に、前記特定情報を前記出力部に出力させ、
前記無線インターフェースの動作モードが前記第１のモードである状況において、前記第１の外部装置から前記特定信号が受信されても、前記特定情報は出力されない、請求項１から６のいずれか一項に記載の通信装置。
【請求項８】
前記通信装置は、さらに、
前記第１の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる第１の状態移行部であって、前記不可能状態は、前記第１の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態であり、前記可能状態は、前記第１の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第１の外部装置に送信する状態である、前記第１の状態移行部を備え、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第１の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第１の外部装置に送信する、請求項１から７のいずれか一項に記載の通信装置。
【請求項９】
前記特定情報は、前記公開鍵と、前記通信装置において予め決められている第１の通信チャネルを示す通信チャネル情報と、を用いて得られる情報であり、
前記特定情報が出力されることによって、前記通信チャネル情報が前記第１の外部装置によって取得され、
前記可能状態は、前記第１の外部装置から前記第１の通信チャネルが利用された前記認証要求を受信することを監視し、前記第１の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第１の外部装置に送信する状態であり、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第１の外部装置から前記第１の通信チャネルが利用された前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第１の外部装置に送信する、請求項８に記載の通信装置。
【請求項１０】
通信装置であって、
無線インターフェースと、
第１の外部装置から、前記無線インターフェースを介して、特定信号を受信する特定信号受信部と、
前記第１の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる第１の状態移行部であって、前記不可能状態は、前記第１の外部装置から認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第１の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第１の外部装置に送信する状態である、前記第１の状態移行部と、
前記第１の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記通信装置の動作状態が前記可能状態に移行された後に、前記第１の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第１の外部装置に送信する認証応答送信部と、
前記認証応答が前記第１の外部装置に送信された後に、前記第１の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第２の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第１の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第２の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
を備える、通信装置。
【請求項１１】
前記可能状態は、前記第１の外部装置から前記通信装置において予め決められている第１の通信チャネルが利用された前記認証要求を受信することを監視し、前記第１の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第１の外部装置に送信する状態であり、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第１の外部装置から前記第１の通信チャネルが利用された前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第１の外部装置に送信する、請求項１０に記載の通信装置。
【請求項１２】
前記確立部は、前記第１の通信チャネルとは異なる第２の通信チャネルを利用して、前記通信装置と前記第２の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する、請求項９又は１１に記載の通信装置。
【請求項１３】
前記通信装置は、さらに、
前記通信装置の動作状態が前記可能状態に移行された後に、特定条件が満たされる場合に、前記通信装置の動作状態を前記可能状態から前記不可能状態に移行させる第２の状態移行部を備える、請求項８から１２のいずれか一項に記載の通信装置。
【請求項１４】
前記通信装置は、さらに、
操作部と、
前記操作部を介した所定操作が受け付けられる場合に、前記通信装置の動作状態を前記不可能状態から前記可能状態に移行させる第３の状態移行部と、を備え、
前記第１の状態移行部は、前記第１の外部装置から前記特定信号が受信された後に、前記操作部を介した前記所定操作が受け付けられなくても、前記通信装置の動作状態を前記不可能状態から前記可能状態に移行させる、請求項８から１３のいずれか一項に記載の通信装置。
【請求項１５】
前記通信装置は、さらに、
所定条件が満たされる場合に、前記無線インターフェースの動作モードを第１のモードから第２のモードに移行させるモード移行部であって、前記第１のモードは、前記無線インターフェースが前記特定信号を解釈不可能なモードであり、前記第２のモードは、前記無線インターフェースが前記特定信号を解釈可能なモードである、前記モード移行部を備え、
前記第１の状態移行部は、前記無線インターフェースの動作モードが前記第２のモードである状況において、前記第１の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を前記不可能状態から前記可能状態に移行させ、
前記無線インターフェースの動作モードが前記第１のモードである状況において、前記第１の外部装置から前記特定信号が受信されても、前記通信装置の動作状態は前記不可能状態から前記可能状態に移行されない、請求項１０から１４のいずれか一項に記載の通信装置。
【請求項１６】
前記通信装置は、さらに、
メモリと、
前記第１の外部装置から前記接続情報が受信される場合に、前記接続情報を前記メモリに記憶する記憶制御部と、を備え、
前記メモリ内に前記接続情報が記憶されていない状況において、前記通信装置の電源がＯＮされる場合に、前記所定条件が満たされ、
前記メモリ内に前記接続情報が記憶されている状況において、前記通信装置の電源がＯＮされる場合に、前記所定条件が満たされない、請求項７又は１５に記載の通信装置。
【請求項１７】
前記通信装置は、さらに、
操作部を備え、
前記メモリ内に前記接続情報が記憶されている状況において、前記操作部を介した特定操作が受け付けられる場合に、前記所定条件が満たされる、請求項１６に記載の通信装置。
【請求項１８】
前記第２の外部装置は、前記第１の外部装置とは異なる装置であって、無線ネットワークの親局として動作すべき親局装置であり、
前記確立部は、前記通信装置と前記第２の外部装置との間に前記無線インターフェースを介した前記無線接続を確立して、前記通信装置を前記無線ネットワークに子局として参加させる、請求項１から１７のいずれか一項に記載の通信装置。
【請求項１９】
前記接続情報は、前記第２の外部装置から受信される受信情報を認証するための認証情報を含む、請求項１から１８のいずれか一項に記載の通信装置。
【請求項２０】
前記通信装置は、さらに、
前記認証応答が前記第１の外部装置に送信された後に、前記通信装置をＷｉ−Ｆｉ規格に従ったＥｎｒｏｌｌｅｅとして動作させる動作制御部であって、前記第１の外部装置は、前記Ｗｉ−Ｆｉ規格に従ったＣｏｎｆｉｇｕｒａｔｏｒとして動作する、前記動作制御部を備える、請求項１から１９のいずれか一項に記載の通信装置。
【請求項２１】
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
第１の外部装置から、前記通信装置の無線インターフェースを介して、特定信号を受信する特定信号受信部と、
前記第１の外部装置から前記特定信号が受信された後に、公開鍵を用いて得られる特定情報を前記通信装置の出力部に出力させる第１の出力制御部であって、前記特定情報が出力されることによって、前記公開鍵が前記第１の外部装置によって取得される、前記第１の出力制御部と、
前記特定情報が出力された後に、前記第１の外部装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記第１の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第１の外部装置に送信する認証応答送信部と、
前記認証応答が前記第１の外部装置に送信された後に、前記第１の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第２の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第１の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第２の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
として機能させる、コンピュータプログラム。
【請求項２２】
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
第１の外部装置から、前記通信装置の無線インターフェースを介して、特定信号を受信する特定信号受信部と、
前記第１の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる第１の状態移行部であって、前記不可能状態は、前記第１の外部装置から認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第１の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第１の外部装置に送信する状態である、前記第１の状態移行部と、
前記第１の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記通信装置の動作状態が前記可能状態に移行された後に、前記第１の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第１の外部装置に送信する認証応答送信部と、
前記認証応答が前記第１の外部装置に送信された後に、前記第１の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第２の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第１の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第２の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、外部装置との無線接続を確立可能な通信装置に関する技術を開示する。
【背景技術】
【０００２】
特許文献１には、スマートフォンを利用して、カメラとＡＰとの間の無線接続を確立するための技術が開示されている。カメラは、ユーザから操作を受け付けることに応じて、通信パラメータの設定を行うための情報を含むＱＲコード（登録商標）を表示し、検索信号の受信の監視を開始する。スマートフォンは、カメラに表示されたＱＲコードを読み取ることによって、通信パラメータの設定を行うための情報を取得し、検索信号をカメラに送信する。カメラは、スマートフォンから検索信号を受信する場合に、検索信号に対する応答をスマートフォンに送信する。スマートフォンは、カメラから応答が受信される場合に、取得済みの情報を利用して通信パラメータを設定し、設定済みの通信パラメータをカメラに送信する。また、スマートフォンは、同様の処理をＡＰと実行して、通信パラメータをＡＰに送信する。これにより、カメラは、受信済みの通信パラメータを利用して、ＡＰとの無線接続を確立することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２８４５４号公報
【特許文献２】特開２０１８−６９８３号公報
【特許文献３】特開２０１８−３７９７８号公報
【非特許文献】
【０００４】
【非特許文献１】「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」 Wi-Fi Alliance, ２０１７年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本明細書では、第１の外部装置を利用して、通信装置と第２の外部装置との間に無線接続を確立させるための新規な技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される通信装置は、出力部と、無線インターフェースと、第１の外部装置から、前記無線インターフェースを介して、特定信号を受信する特定信号受信部と、前記第１の外部装置から前記特定信号が受信された後に、公開鍵を用いて得られる特定情報を前記出力部に出力させる第１の出力制御部であって、前記特定情報が出力されることによって、前記公開鍵が前記第１の外部装置によって取得される、前記第１の出力制御部と、前記特定情報が出力された後に、前記第１の外部装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、前記第１の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第１の外部装置に送信する認証応答送信部と、前記認証応答が前記第１の外部装置に送信された後に、前記第１の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第２の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、前記第１の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第２の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、を備えてもよい。
【０００７】
上記の構成によると、通信装置は、第１の外部装置から特定信号を受信した後に、公開鍵を用いて得られる特定情報を出力する。この結果、公開鍵が、第１の外部装置によって取得される。その後、通信装置は、第１の外部装置から公開鍵が利用された認証要求を受信して、認証応答を第１の外部装置に送信し、第１の外部装置から接続情報を受信する。これにより、通信装置は、接続情報を利用して、第２の外部装置との無線接続を確立することができる。
【０００８】
また、本明細書によって開示される通信装置は、無線インターフェースと、第１の外部装置から、前記無線インターフェースを介して、特定信号を受信する特定信号受信部と、前記第１の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる第１の状態移行部であって、前記不可能状態は、前記第１の外部装置から認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第１の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第１の外部装置に送信する状態である、前記第１の状態移行部と、前記第１の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、前記通信装置の動作状態が前記可能状態に移行された後に、前記第１の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第１の外部装置に送信する認証応答送信部と、前記認証応答が前記第１の外部装置に送信された後に、前記第１の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第２の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、前記第１の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第２の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、を備えてもよい。
【０００９】
上記の構成によると、通信装置は、第１の外部装置から特定信号を受信した後に、不可能状態から可能状態に移行する。これにより、通信装置は、第１の外部装置から認証要求を受信する場合に、認証応答を第１の外部装置に送信することができる。そして、通信装置は、第１の外部装置から接続情報を受信し、接続情報を利用して、第２の外部装置との無線接続を確立することができる。
【００１０】
上記の通信装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。また、上記の通信装置によって実行される方法も新規で有用である。また、上記の通信装置と他の装置（例えば第１の外部装置、第２の外部装置）とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【００１１】
【図１】通信システムの構成を示す。
【図２】実施例の概略を説明するための説明図を示す。
【図３】ケースＡのＢｏｏｔｓｔｒａｐｐｉｎｇの処理のシーケンス図を示す。
【図４】Ａｕｔｈｅｎｔｉｃａｔｉｏｎの処理のシーケンス図を示す。
【図５】Ｃｏｎｆｉｇｕｒａｔｉｏｎの処理のシーケンス図を示す。
【図６】Ｎｅｔｗｏｒｋ  Ａｃｃｅｓｓの処理のシーケンス図を示す。
【図７】ケースＢのＢｏｏｔｓｔｒａｐｐｉｎｇの処理のシーケンス図を示す。
【図８】ケースＣのＢｏｏｔｓｔｒａｐｐｉｎｇの処理のシーケンス図を示す。
【図９】ケースＤのＢｏｏｔｓｔｒａｐｐｉｎｇの処理のシーケンス図を示す。
【発明を実施するための形態】
【００１２】
（通信システム２の構成；図１）
図１に示されるように、通信システム２は、ＡＰ（Access Pointの略）６と、端末１０と、プリンタ１００と、を備える。本実施例では、ユーザが端末１０を利用して、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ方式に従った無線接続（以下では「Ｗｉ−Ｆｉ接続」と記載する）を確立させる状況を想定している。
【００１３】
（端末１０の構成）
端末１０は、携帯電話（例えばスマートフォン）、ＰＤＡ、タブレットＰＣ等の可搬型の端末装置である。なお、変形例では、端末１０は、据置型のＰＣ、ノートＰＣ等であってもよい。端末１０は、カメラ１５と、Ｗｉ−Ｆｉインターフェース１６を備える。以下では、インターフェースを単に「Ｉ／Ｆ」と記載する。カメラ１５は、物体を撮影するためのデバイスであり、本実施例では、特に、ＡＰ６及びプリンタ１００のためのＱＲコードを撮影するために利用される。また、端末１０は、接続アプリケーション４０（以下では単に「アプリ４０」と記載する）を記憶している。アプリ４０は、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ接続を確立させるためのプログラムであり、例えば、プリンタ１００のベンダによって提供されるインターネット上のサーバから端末１０にインストールされる。
【００１４】
Ｗｉ−ＦｉＩ／Ｆ１６は、Ｗｉ−Ｆｉ方式に従ったＷｉ−Ｆｉ通信を実行するための無線インターフェースである。Ｗｉ−Ｆｉ方式は、例えば、ＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.の略）の８０２．１１の規格、及び、それに準ずる規格（例えば８０２．１１ａ，１１ｂ，１１ｇ，１１ｎ，１１ａｃ等）に従って、無線通信を実行するための無線通信方式である。特に、Ｗｉ−ＦｉＩ／Ｆ１６は、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅによって策定される予定であるＤＰＰ（Device Provisioning Protocolの略）方式をサポートしている。ＤＰＰ方式は、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅによって作成された規格書のドラフトである「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」に記述されており、端末１０を利用して一対のデバイス（例えばプリンタ１００とＡＰ６）の間に容易にＷｉ−Ｆｉ接続を確立させるための無線通信方式である。
【００１５】
（プリンタ１００の構成）
プリンタ１００は、印刷機能を実行可能な周辺装置（例えば、端末１０の周辺装置）である。プリンタ１００は、操作部１１２と、表示部１１４と、Ｗｉ−ＦｉＩ／Ｆ１１６と、印刷実行部１１８と、制御部１３０と、を備える。各部１１２〜１３０は、バス線（符号省略）に接続されている。
【００１６】
操作部１１２は、複数のキーを備える。ユーザは、操作部１１２を操作することによって、様々な指示をプリンタ１００に入力することができる。表示部１１４は、様々な情報を表示するためのディスプレイである。Ｗｉ−ＦｉＩ／Ｆ１１６は、端末１０のＷｉ−ＦｉＩ／Ｆ１６と同様である。即ち、Ｗｉ−ＦｉＩ／Ｆ１１６は、ＤＰＰ方式をサポートしている。また、Ｗｉ−ＦｉＩ／Ｆ１１６は、ＭＡＣアドレス「ａｂｃ」を有する。印刷実行部１１８は、インクジェット方式、レーザ方式等の印刷機構を備える。
【００１７】
制御部１３０は、ＣＰＵ１３２とメモリ１３４とを備える。ＣＰＵ１３２は、メモリ１３４に格納されているプログラム１３６に従って、様々な処理を実行する。メモリ１３４は、揮発性メモリ、不揮発性メモリ等によって構成される。
【００１８】
（本実施例の概要；図２）
続いて、図２を参照して、本実施例の概要を説明する。端末１０及びプリンタ１００がＤＰＰ方式をサポートしていることを上述したが、ＡＰ６もＤＰＰ方式をサポートしている。そして、本実施例では、各デバイス６，１０，１００がＤＰＰ方式に従った通信を実行することによって、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続を確立することを実現する。以下では、理解の容易化のために、各デバイスのＣＰＵ（例えばＣＰＵ１３２等）が実行する動作を、ＣＰＵを主体として記載せずに、各デバイス（例えばプリンタ１００）を主体として記載する。
【００１９】
Ｔ５では、端末１０は、ＤＰＰ方式のＢｏｏｔｓｔｒａｐｐｉｎｇ（以下では、単に「ＢＳ」と記載する）をＡＰ６と実行する。当該ＢＳは、ＡＰ６に貼り付けられているＱＲコードが端末１０によって撮影されることに応じて、後述のＴ１０のＡｕｔｈｅｎｔｉｃａｔｉｏｎ（以下では、単に「Ａｕｔｈ」と記載する）で利用される情報をＡＰ６から端末１０に提供する処理である。
【００２０】
Ｔ１０では、端末１０は、Ｔ５のＢＳで取得済みの情報を利用して、ＤＰＰ方式のＡｕｔｈをＡＰ６と実行する。当該Ａｕｔｈは、端末１０及びＡＰ６のそれぞれが通信相手を認証するための処理である。
【００２１】
Ｔ１５では、端末１０は、ＤＰＰ方式のＣｏｎｆｉｇｕｒａｔｉｏｎ（以下では、単に「Ｃｏｎｆｉｇ」と記載する）をＡＰ６と実行する。当該Ｃｏｎｆｉｇは、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続を確立するための情報をＡＰ６に送信する処理である。具体的には、端末１０は、当該Ｃｏｎｆｉｇにおいて、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ接続を確立させるための第１のＣｏｎｆｉｇｕｒａｔｉｏｎ  Ｏｂｊｅｃｔ（以下では、Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｏｂｊｅｃｔのことを単に「ＣＯ」と記載する）を生成して、第１のＣＯをＡＰ６に送信する。この結果、ＡＰ６では、第１のＣＯが記憶される。
【００２２】
次いで、端末１０は、Ｔ２０において、ＤＰＰ方式のＢＳをプリンタ１００と実行する。当該ＢＳは、プリンタ１００に表示されるＱＲコードが端末１０によって撮影されることに応じて、後述のＴ２５のＡｕｔｈで利用される情報をプリンタ１００から端末１０に提供する処理である。
【００２３】
Ｔ２５では、端末１０は、Ｔ２０のＢＳで取得済みの情報を利用して、ＤＰＰ方式のＡｕｔｈをプリンタ１００と実行する。当該Ａｕｔｈは、端末１０及びプリンタ１００のそれぞれが通信相手を認証するための処理である。
【００２４】
Ｔ３０では、端末１０は、ＤＰＰ方式のＣｏｎｆｉｇをプリンタ１００と実行する。当該Ｃｏｎｆｉｇは、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続を確立するための情報をプリンタ１００に送信する処理である。端末１０は、当該Ｃｏｎｆｉｇにおいて、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ接続を確立させるための第２のＣＯを生成して、第２のＣＯをプリンタ１００に送信する。この結果、プリンタ１００では、第２のＣＯが記憶される。
【００２５】
Ｔ３５では、プリンタ１００及びＡＰ６は、記憶済みの第１及び第２のＣＯを利用して、ＤＰＰ方式のＮｅｔｗｏｒｋ  Ａｃｃｅｓｓ（以下では、単に「ＮＡ」と記載する）を実行する。ＮＡは、Ｗｉ−Ｆｉ接続を確立するための接続キーをプリンタ１００及びＡＰ６の間で共有するための処理である。
【００２６】
Ｔ４０では、プリンタ１００及びＡＰ６は、４ｗａｙ−ｈａｎｄｓｈａｋｅの通信を実行する。４ｗａｙ−ｈａｎｄｓｈａｋｅの通信の少なくとも一部の過程において、プリンタ１００及びＡＰ６は、Ｔ３５のＮＡで共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ接続が確立される。これにより、プリンタ１００は、ＡＰ６によって形成される無線ネットワークに子局として参加することができ、この結果、ＡＰ６を介して、当該無線ネットワークに参加している他のデバイスとの通信を実行することができる。なお、変形例では、プリンタ１００及びＡＰ６は、４ｗａｙ−ｈａｎｄｓｈａｋｅの通信に代えて、ＳＡＥ（Simultaneous Authentication of Equalsの略、通称「Dragonfly」）の通信を実行してもよい。
【００２７】
Ｔ４５では、プリンタ１００は、Ｗｉ−Ｆｉ接続がＡＰ６と確立されたことを示す完了画面を表示部１１４に表示させる。Ｔ４５の処理が終了すると、図２の処理が終了する。
【００２８】
ＤＰＰ方式では、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ接続を確立させるために、ユーザは、ＡＰ６が親局として動作する無線ネットワークの情報（例えばＳＳＩＤ（Service Set Identifierの略）、パスワード等）をプリンタ１００に入力する必要がない。従って、ユーザは、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続を容易に確立させることができる。
【００２９】
（各処理の説明；図３〜図９）
続いて、図３〜図９を参照して、図２のＴ２０〜Ｔ３５において実行される各処理の詳細を説明する。なお、Ｔ５〜Ｔ１５の処理は、プリンタ１００に代えてＡＰ６が利用される点を除いて、Ｔ２０〜Ｔ３０の処理と同様であるので、その詳細な説明を省略する。また、図３及び図７〜図９は、端末１０とプリンタ１００との間で実行されるＢＳの各ケースを示す。これらのケースは、一つの実施例において実行される処理である。
【００３０】
（ケースＡのＢｏｏｔｓｔｒａｐｐｉｎｇ（ＢＳ）；図３）
まず、図３を参照して、図２のＴ２０のＢＳのケースＡの処理を説明する。図３の初期状態では、プリンタ１００のメモリ１３４は、プリンタ１００の公開鍵ＰＰＫ１及び秘密鍵ｐｓｋ１を予め記憶している。
【００３１】
プリンタ１００は、Ｔ１００において、ユーザから電源ＯＮ操作を受け付けることに応じて、Ｔ１０５において、メニュー画面ＭＳを表示部１１４に表示させる。画面ＭＳは、換言すればプリンタ１００のデフォルト画面であり、プリンタ１００に印刷を実行させる印刷ボタンと、プリンタ１００の各種設定（例えば印刷設定等）を指定するための設定ボタンと、を含む。
【００３２】
プリンタ１００は、Ｔ１０６において、画面ＭＳ内の設定ボタンがユーザによって選択されることに応じて、Ｔ１０７において、設定画面ＳＳを表示部１１４に表示させる。画面ＳＳは、プリンタ１００の印刷設定を変更するための印刷設定ボタンと、ＱＲコードの表示をプリンタ１００に実行させるためのＱＲコードボタンと、Ｗｉ−ＦｉＩ／Ｆ１１６の動作モードを変更するためのモード移行ボタンと、を含む。
【００３３】
プリンタ１００は、Ｔ１２０において、画面ＳＳ内のＱＲコードボタンがユーザによって選択されることに応じて、Ｔ１２２において、ＱＲコードを表示部１１４に表示させる。当該ＱＲコードは、メモリ１３４に予め記憶されている公開鍵ＰＰＫ１と、メモリ１３４に予め記憶されているチャネルリストと、Ｗｉ−ＦｉＩ／Ｆ１１６のＭＡＣアドレス「ａｂｃ」と、がコード化されることによって得られるコード画像である。チャネルリストは、Ａｕｔｈ（図２のＴ２５参照）で利用されるべき複数個の通信チャネルの値のリストである。当該ＱＲコードは、Ｔ１２２の処理が実行される際にプリンタ１００によって生成されてもよいし、プリンタ１００の出荷段階からメモリ１３４に予め記憶されていてもよい。
【００３４】
次いで、Ｔ１２４では、プリンタ１００は、不可能状態から可能状態に移行する。不可能状態は、Ｗｉ−ＦｉＩ／Ｆ１１６が、端末１０からＤＰＰ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｒｅｑｕｅｓｔ（以下では、単に「ＡＲｅｑ」と記載する）（後述の図４のＴ２００参照）を受信しても、ＤＰＰ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｒｅｓｐｏｎｓｅ（以下では、単に「ＡＲｅｓ」と記載する）（後述のＴ２１０参照）を送信しない状態である。可能状態は、Ｗｉ−ＦｉＩ／Ｆ１１６が、端末１０からＡＲｅｑを受信することに応じて、ＡＲｅｓを端末１０に送信する状態である。即ち、プリンタ１００は、不可能状態から可能状態に移行することによって、Ａｕｔｈ（図２のＴ２５参照）を実行可能な状態になる。具体的には、本実施例では、不可能状態は、Ｗｉ−ＦｉＩ／Ｆ１１６が、外部から信号を受信しても、当該信号をＣＰＵ１３２に供給しない状態である。また、可能状態は、Ｗｉ−ＦｉＩ／Ｆ１１６が、外部から信号を受信することに応じて、当該信号をＣＰＵ１３２に供給し、当該信号に対する応答を送信する状態である。可能状態は、ＣＰＵ１３２が外部から受信した信号を処理する状態であるので、不可能状態と比較して処理負荷が高い。なお、変形例では、不可能状態がＷｉ−ＦｉＩ／Ｆ１１６に通電されていない状態であり、可能状態がＷｉ−ＦｉＩ／Ｆ１１６に通電されている状態であってもよい。また、別の変形例では、不可能状態は、Ｗｉ−ＦｉＩ／Ｆ１１６が、外部からＡＲｅｑを受信しても、ＡＲｅｑが受信されたことを示す通知をＣＰＵ１３２に供給しない状態であり、可能状態は、Ｗｉ−ＦｉＩ／Ｆ１１６が、外部からＡＲｅｑを受信することに応じて、ＡＲｅｑが受信されたことを示す通知をＣＰＵ１３２に供給する状態であってもよい。
【００３５】
端末１０は、Ｔ１３０において、ユーザからアプリ４０の起動操作を受け付けることに応じて、アプリ４０を起動し、さらに、カメラ１５を起動する。端末１０によって実行される以降の各処理は、アプリ４０によって実現される。次いで、端末１０は、Ｔ１３２において、カメラ１５を利用して、プリンタ１００に表示されたＱＲコード（Ｔ１２２参照）を撮影する。そして、端末１０は、Ｔ１３４において、撮影済みのＱＲコードをデコードして、公開鍵ＰＰＫ１とチャネルリストとＭＡＣアドレス「ａｂｃ」とを取得する。
【００３６】
Ｔ１３６では、端末１０は、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ接続を確立するための接続処理を実行するのか否かをユーザに問い合せる端末側確認画面ＴＣＳを表示する。画面ＴＣＳは、接続処理を実行することを示すＹＥＳボタンと、接続処理を実行しないことを示すＮＯボタンと、を含む。Ｔ１４０では、端末１０は、ユーザから画面ＴＣＳ内のＹＥＳボタンの選択を受け付ける。Ｔ１４０の処理が終了すると、ケースＡのＢＳの処理が終了する。
【００３７】
（Ａｕｔｈｅｎｔｉｃａｔｉｏｎ（Ａｕｔｈ）；図４）
続いて、図４を参照して、図２のＴ２５のＡｕｔｈの処理を説明する。端末１０は、図３のＴ１４０において、画面ＴＣＳ内のＹＥＳボタンがユーザによって選択されることに応じて、Ｔ１４１において、端末１０の公開鍵ＴＰＫ１及び秘密鍵ｔｓｋ１を生成する。次いで、端末１０は、Ｔ１４２において、ＥＣＤＨ（Elliptic curve Diffie-Hellman key exchangeの略）に従って、生成済みの秘密鍵ｔｓｋ１と、図３のＴ１３４で取得されたプリンタ１００の公開鍵ＰＰＫ１と、を用いて、共有鍵ＳＫ１を生成する。そして、端末１０は、Ｔ１４４において、生成済みの共有鍵ＳＫ１を用いてランダム値ＲＶ１を暗号化して、暗号化データＥＤ１を生成する。
【００３８】
Ｔ２００では、端末１０は、Ｗｉ−ＦｉＩ／Ｆ１６を介して、図３のＴ１３４で取得されたＭＡＣアドレス「ａｂｃ」を送信先として、ＡＲｅｑをプリンタ１００に送信する。ＡＲｅｑは、認証の実行をプリンタ１００に要求する信号である。ここで、端末１０は、Ｔ１３４で取得されたチャネルリスト内の複数個の通信チャネルを順次利用して、ＡＲｅｑをプリンタ１００に送信することを繰り返す。当該ＡＲｅｑは、Ｔ１４１で生成された端末１０の公開鍵ＴＰＫ１と、Ｔ１４４で生成された暗号化データＥＤ１と、端末１０のｃａｐａｂｉｌｉｔｙと、を含む。
【００３９】
ｃａｐａｂｉｌｉｔｙは、ＤＰＰ方式をサポートしている機器において予め指定されている情報であり、ＤＰＰ方式のＣｏｎｆｉｇｕｒａｔｏｒのみとして動作可能であることを示す値と、ＤＰＰ方式のＥｎｒｏｌｌｅｅのみとして動作可能であることを示す値と、Ｃｏｎｆｉｇｕｒａｔｏｒ及びＥｎｒｏｌｌｅｅのどちらとしても動作可能であることを示す値と、のいずれか１個の値を含む。なお、Ｃｏｎｆｉｇｕｒａｔｏｒは、Ｃｏｎｆｉｇ（図２のＴ３０）において、ＮＡ（図２のＴ３５）で利用されるＣＯをＥｎｒｏｌｌｅｅに送信するデバイスを意味する。一方、Ｅｎｒｏｌｌｅｅは、Ｃｏｎｆｉｇにおいて、ＣｏｎｆｉｇｕｒａｔｏｒからＮＡで利用されるＣＯを受信するデバイスを意味する。上記のように、本実施例では、端末１０が第１又は第２のＣＯを生成してＡＰ６又はプリンタ１００に送信する。従って、端末１０のｃａｐａｂｉｌｉｔｙは、Ｃｏｎｆｉｇｕｒａｔｏｒのみとして動作可能であることを示す値を含む。
【００４０】
プリンタ１００は、Ｔ２００において、端末１０から、Ｗｉ−ＦｉＩ／Ｆ１１６を介して、ＡＲｅｑを受信する。上記のように、当該ＡＲｅｑは、プリンタ１００のＭＡＣアドレス「ａｂｃ」を送信先として送信される。従って、プリンタ１００は、端末１０から当該ＡＲｅｑを適切に受信することができる。
【００４１】
また、プリンタ１００は、図３のＴ１２４で可能状態に移行すると、チャネルリスト内の複数個の通信チャネルのうちの１個の通信チャネルが利用されたＡＲｅｑを受信することを監視する。上記のように、Ｔ２００のＡＲｅｑは、チャネルリスト内の複数個の通信チャネルを順次利用して送信される。従って、プリンタ１００は、端末１０から当該ＡＲｅｑを適切に受信することができる。
【００４２】
次いで、プリンタ１００は、ＡＲｅｑの送信元（即ち端末１０）を認証するための以下の処理を実行する。具体的には、まず、プリンタ１００は、Ｔ２０２において、ＥＣＤＨに従って、当該ＡＲｅｑ内の端末１０の公開鍵ＴＰＫ１と、メモリ１３４内に予め記憶されているプリンタ１００の秘密鍵ｐｓｋ１と、を用いて、共有鍵ＳＫ１を生成する。ここで、Ｔ１４２で端末１０によって生成される共有鍵ＳＫ１と、Ｔ２０４でプリンタ１００によって生成される共有鍵ＳＫ１と、は同じである。従って、プリンタ１００は、Ｔ２０４において、生成済みの共有鍵ＳＫ１を用いて、当該ＡＲｅｑ内の暗号化データＥＤ１を適切に復号することができ、この結果、ランダム値ＲＶ１を取得することができる。プリンタ１００は、暗号化データＥＤ１の復号が成功する場合には、当該ＡＲｅｑの送信元がプリンタ１００で表示されたＱＲコードを撮影したデバイスであると判断し、即ち、認証が成功したと判断し、Ｔ２０６以降の処理を実行する。一方、プリンタ１００は、仮に、暗号化データＥＤ１の復号が成功しない場合には、当該ＡＲｅｑの送信元がプリンタ１００で表示されたＱＲコードを撮影したデバイスでないと判断し、即ち、認証が失敗したと判断し、Ｔ２０６以降の処理を実行しない。
【００４３】
プリンタ１００は、Ｔ２０６において、プリンタ１００の新たな公開鍵ＰＰＫ２及び新たな秘密鍵ｐｓｋ２を生成する。なお、変形例では、公開鍵ＰＰＫ２及び秘密鍵ｐｓｋ２は、メモリ１３４に予め記憶されていてもよい。次いで、プリンタ１００は、Ｔ２０７において、ＥＣＤＨに従って、Ｔ２００のＡＲｅｑ内の端末１０の公開鍵ＴＰＫ１と、生成済みのプリンタ１００の秘密鍵ｐｓｋ２と、を用いて、共有鍵ＳＫ２を生成する。そして、プリンタ１００は、Ｔ２０８において、生成済みの共有鍵ＳＫ２を用いて、取得済みのランダム値ＲＶ１及び新たなランダム値ＲＶ２を暗号化して、暗号化データＥＤ２を生成する。
【００４４】
Ｔ２１０では、プリンタ１００は、Ｗｉ−ＦｉＩ／Ｆ１１６を介して、ＡＲｅｓを端末１０に送信する。当該ＡＲｅｓは、Ｔ２０６で生成されたプリンタ１００の公開鍵ＰＰＫ２と、Ｔ２０８で生成された暗号化データＥＤ２と、プリンタ１００のｃａｐａｂｉｌｉｔｙと、を含む。当該ｃａｐａｂｉｌｉｔｙは、Ｅｎｒｏｌｌｅｅのみとして動作可能であることを示す値を含む。
【００４５】
端末１０は、Ｔ２１０において、プリンタ１００から、Ｗｉ−ＦｉＩ／Ｆ１６を介して、ＡＲｅｓを受信することに応じて、当該ＡＲｅｓの送信元（即ちプリンタ１００）を認証するための以下の処理を実行する。具体的には、まず、端末１０は、Ｔ２１２において、ＥＣＤＨに従って、Ｔ１４１で生成された端末１０の秘密鍵ｔｓｋ１と、当該ＡＲｅｓ内のプリンタ１００の公開鍵ＰＰＫ２と、を用いて、共有鍵ＳＫ２を生成する。ここで、Ｔ２０７でプリンタ１００によって生成される共有鍵ＳＫ２と、Ｔ２１２で端末１０によって生成される共有鍵ＳＫ２と、は同じである。従って、端末１０は、Ｔ２１４において、生成済みの共有鍵ＳＫ２を用いて、当該ＡＲｅｓ内の暗号化データＥＤ２を適切に復号することができ、この結果、ランダム値ＲＶ１及びＲＶ２を取得することができる。端末１０は、暗号化データＥＤ２の復号が成功する場合には、当該ＡＲｅｓの送信元が撮影済みのＱＲコードを表示したデバイスであると判断し、即ち、認証が成功したと判断し、Ｔ２２０以降の処理を実行する。一方、端末１０は、仮に、暗号化データＥＤ２の復号が成功しない場合には、当該ＡＲｅｓの送信元が撮影済みのＱＲコードを表示したデバイスでないと判断し、即ち、認証が失敗したと判断し、Ｔ２２０以降の処理を実行しない。
【００４６】
Ｔ２２０において、端末１０は、Ｗｉ−ＦｉＩ／Ｆ１６を介して、Ｃｏｎｆｉｒｍをプリンタ１００に送信する。Ｃｏｎｆｉｒｍは、端末１０がＣｏｎｆｉｇｕｒａｔｏｒとして動作し、かつ、プリンタ１００がＥｎｒｏｌｌｅｅとして動作することを示す情報を含む。この結果、Ｔ２２２において、Ｃｏｎｆｉｇｕｒａｔｏｒとして動作することが端末１０によって決定され、Ｔ２２４において、Ｅｎｒｏｌｌｅｅとして動作することがプリンタ１００によって決定される。Ｔ２２４の処理が終了すると、図４の処理が終了する。
【００４７】
（Ｃｏｎｆｉｇｕｒａｔｉｏｎ（Ｃｏｎｆｉｇ）；図５）
続いて、図５を参照して、図２のＴ３０のＣｏｎｆｉｇの処理を説明する。Ｔ３００では、プリンタ１００は、Ｗｉ−ＦｉＩ／Ｆ１１６を介して、ＤＰＰ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｑｕｅｓｔ（以下では、単に「ＣＲｅｑ」と記載する）を端末１０に送信する。当該ＣＲｅｑは、ＣＯ（即ちプリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続を確立するための情報）の送信を要求する信号である。
【００４８】
端末１０は、Ｔ３００において、プリンタ１００から、Ｗｉ−ＦｉＩ／Ｆ１６を介して、ＣＲｅｑを受信する。この場合、端末１０は、Ｔ３０１において、端末１０のメモリ（図示省略）から、グループＩＤ「Ｇｒｏｕｐ１」と公開鍵ＴＰＫ２と秘密鍵ｔｓｋ２とを取得する。上述したように、端末１０は、図２のＴ１５のＣｏｎｆｉｇをＡＰ６と実行済みであり、この際に、グループＩＤ「Ｇｒｏｕｐ１」と公開鍵ＴＰＫ２と秘密鍵ｔｓｋ２とを生成してメモリに記憶する。グループＩＤ「Ｇｒｏｕｐ１」は、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続が確立されることによって形成される無線ネットワークを識別する情報である。なお、変形例では、ユーザによって指定された文字列がグループＩＤとして利用されてもよい。即ち、Ｔ３０１では、端末１０は、図２のＴ１５で記憶された各情報を取得する。次いで、端末１０は、Ｔ３０２において、第２のＣＯ（図２のＴ３０参照）を生成する。具体的には、端末１０は、以下の各処理を実行する。
【００４９】
端末１０は、端末１０の公開鍵ＴＰＫ２をハッシュ化することによって、ハッシュ値ＨＶを生成する。また、端末１０は、ハッシュ値ＨＶと、グループＩＤ「Ｇｒｏｕｐ１」と、図４のＴ２１０のＡＲｅｓ内のプリンタ１００の公開鍵ＰＰＫ２と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、端末１０は、ＥＣＤＳＡ（Elliptic Curve Digital Signature Algorithmの略）に従って、端末１０の秘密鍵ｔｓｋ２を用いて、生成済みの特定値を暗号化することによって、電子署名ＤＳ１を生成する。この結果、端末１０は、ハッシュ値ＨＶと、グループＩＤ「Ｇｒｏｕｐ１」と、プリンタ１００の公開鍵ＰＰＫ２と、電子署名ＤＳ１と、を含むプリンタ用Ｓｉｇｎｅｄ−Ｃｏｎｎｅｃｔｏｒ（以下では、Ｓｉｇｎｅｄ−Ｃｏｎｎｅｃｔｏｒのことを単に「ＳＣｏｎｔ」と記載する）を生成することができる。そして、端末１０は、プリンタ用ＳＣｏｎｔと、端末１０の公開鍵ＴＰＫ２と、を含む第２のＣＯを生成する。
【００５０】
Ｔ３１０では、端末１０は、Ｗｉ−ＦｉＩ／Ｆ１６を介して、第２のＣＯを含むＤＰＰ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｓｐｏｎｓｅ（以下では、単に「ＣＲｅｓ」と記載する）をプリンタ１００に送信する。
【００５１】
プリンタ１００は、Ｔ３１０において、端末１０から、Ｗｉ−ＦｉＩ／Ｆ１１６を介して、ＣＲｅｓを受信する。この場合、プリンタ１００は、Ｔ３１２において、当該ＣＲｅｓ内の第２のＣＯをメモリ１３４に記憶する。Ｔ３１２の処理が終了すると、図５の処理が終了する。
【００５２】
（Ｎｅｔｗｏｒｋ  Ａｃｃｅｓｓ（ＮＡ）；図６）
続いて、図６を参照して、プリンタ１００とＡＰ６との間で実行される図２のＴ３５のＮＡの処理を説明する。上記のように、図２のＴ２０〜Ｔ３０と同様に、図２のＴ５〜Ｔ１５の処理が端末１０及びＡＰ６の間で実行済みである。ただし、ＡＰ６は、図３のＴ１０５〜Ｔ１２４の処理を実行しない。ＡＰ６は、ＡＰ６の公開鍵ＡＰＫ１及び秘密鍵ａｓｋ１を予め記憶している。そして、ＡＰ６の公開鍵ＡＰＫ１と、ＡＰ６のチャネルリストと、ＡＰ６のＭＡＣアドレスと、をコード化することによって得られるＱＲコードが、ＡＰ６の筐体に貼り付けられている。端末１０が当該ＱＲコードを撮影することによって、端末１０及びＡＰ６の間でＴ１３４以降の各処理と同様の各処理が実行される。この結果、ＡＰ６は、ＡＰ６の公開鍵ＡＰＫ２及び秘密鍵ａｓｋ２を記憶し（図４のＴ２０６参照）、さらに、端末１０から受信される第１のＣＯを記憶する（図５のＴ３１２参照）。第１のＣＯは、ＡＰ用ＳＣｏｎｔと、端末１０の公開鍵ＴＰＫ２と、を含む。当該公開鍵ＴＰＫ２は、第２のＣＯに含まれる公開鍵ＴＰＫ２と同じである。また、ＡＰ用ＳＣｏｎｔは、ハッシュ値ＨＶと、グループＩＤ「Ｇｒｏｕｐ１」と、ＡＰ６の公開鍵ＡＰＫ２と、電子署名ＤＳ２と、を含む。当該ハッシュ値ＨＶ及び当該グループＩＤ「Ｇｒｏｕｐ１」は、それぞれ、第２のＣＯに含まれるハッシュ値ＨＶ及びグループＩＤ「Ｇｒｏｕｐ１」と同じである。電子署名ＤＳ２は、ハッシュ値ＨＶとグループＩＤ「Ｇｒｏｕｐ１」と公開鍵ＡＰＫ２との組み合わせをハッシュ化することによって得られる特定値が端末１０の秘密鍵ｔｓｋ２によって暗号化された情報であり、第２のＣＯに含まれる電子署名ＤＳ１とは異なる値である。
【００５３】
プリンタ１００は、Ｔ４００において、Ｗｉ−ＦｉＩ／Ｆ１１６を介して、プリンタ用ＳＣｏｎｔを含むＤＰＰ  Ｐｅｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｒｅｑｕｅｓｔ（以下では、単に「ＤＲｅｑ」と記載する）をＡＰ６に送信する。当該ＤＲｅｑは、認証の実行と、ＡＰ用ＳＣｏｎｔの送信と、をＡＰ６に要求する信号である。
【００５４】
ＡＰ６は、Ｔ４００において、プリンタ１００からＤＲｅｑを受信することに応じて、ＤＲｅｑの送信元（即ちプリンタ１００）、及び、ＤＲｅｑ内の各情報（即ち、ハッシュ値ＨＶ、「Ｇｒｏｕｐ１」、及び、公開鍵ＰＰＫ２）を認証するための処理を実行する。具体的には、ＡＰ６は、Ｔ４０２において、まず、受信済みのプリンタ用ＳＣｏｎｔ内のハッシュ値ＨＶ及びグループＩＤ「Ｇｒｏｕｐ１」が、それぞれ、記憶済みの第１のＣＯに含まれるＡＰ用ＳＣｏｎｔ内のハッシュ値ＨＶ及びグループＩＤ「Ｇｒｏｕｐ１」に一致するのか否かに関する第１のＡＰ判断処理を実行する。図６のケースでは、ＡＰ６は、第１のＡＰ判断処理で「一致する」と判断するので、ＤＲｅｑの送信元（即ちプリンタ１００）の認証が成功したと判断する。なお、受信済みのプリンタ用ＳＣｏｎｔ内のハッシュ値ＨＶと、記憶済みの第１のＣＯに含まれるＡＰ用ＳＣｏｎｔ内のハッシュ値ＨＶと、が一致するということは、プリンタ用ＳＣｏｎｔ及びＡＰ用ＳＣｏｎｔが、同じ装置（即ち、端末１０）によって生成されたことを意味する。従って、ＡＰ６は、受信済みのプリンタ用ＳＣｏｎｔの生成元（即ち、端末１０）の認証が成功したとも判断する。さらに、ＡＰ６は、記憶済みの第１のＣＯに含まれる端末１０の公開鍵ＴＰＫ２を用いて、受信済みのプリンタ用ＳＣｏｎｔ内の電子署名ＤＳ１を復号する。図６のケースでは、電子署名ＤＳ１の復号が成功するので、ＡＰ６は、電子署名ＤＳ１を復号することによって得られた特定値と、受信済みのプリンタ用ＳＣｏｎｔ内の各情報（即ち、ハッシュ値ＨＶ、「Ｇｒｏｕｐ１」、及び、公開鍵ＰＰＫ２）をハッシュ化することによって得られる値と、が一致するのか否かに関する第２のＡＰ判断処理を実行する。図６のケースでは、ＡＰ６は、第２のＡＰ判断処理で「一致する」と判断するので、ＤＲｅｑ内の各情報の認証が成功したと判断し、Ｔ４０４以降の処理を実行する。第２のＡＰ判断処理で「一致する」と判断されることは、第２のＣＯがプリンタ１００に記憶された後に、受信済みのプリンタ用ＳＣｏｎｔ内の各情報（即ち、ハッシュ値ＨＶ、「Ｇｒｏｕｐ１」、及び、公開鍵ＰＰＫ２）が第三者によって改ざんされていないことを意味する。一方、第１のＡＰ判断処理で「一致しない」と判断される場合、電子署名ＤＳ１の復号が失敗する場合、又は、第２のＡＰ判断処理で「一致しない」と判断される場合には、ＡＰ６は、認証が失敗したと判断し、Ｔ４０４以降の処理を実行しない。
【００５５】
次いで、ＡＰ６は、Ｔ４０４において、ＥＣＤＨに従って、取得済みのプリンタ１００の公開鍵ＰＰＫ２と、記憶済みのＡＰ６の秘密鍵ａｓｋ２と、を用いて、接続キー（即ち共有鍵）ＣＫを生成する。
【００５６】
Ｔ４１０では、ＡＰ６は、ＡＰ用ＳＣｏｎｔを含むＤＰＰ  Ｐｅｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｒｅｓｐｏｎｓｅ（以下では、単に「ＤＲｅｓ」と記載する）をプリンタ１００に送信する。
【００５７】
プリンタ１００は、Ｔ４１０において、Ｗｉ−ＦｉＩ／Ｆ１１６を介して、ＡＰ６からＤＲｅｓを受信することに応じて、ＤＲｅｓの送信元（即ちＡＰ６）、及び、ＤＲｅｓ内の各情報（即ち、ハッシュ値ＨＶ、「Ｇｒｏｕｐ１」、及び、公開鍵ＡＰＫ２）を認証するための処理を実行する。具体的には、プリンタ１００は、Ｔ４１２において、まず、受信済みのＡＰ用ＳＣｏｎｔ内のハッシュ値ＨＶ及びグループＩＤ「Ｇｒｏｕｐ１」が、それぞれ、記憶済みの第２のＣＯに含まれるプリンタ用ＳＣｏｎｔ内のハッシュ値ＨＶ及びグループＩＤ「Ｇｒｏｕｐ１」に一致するのか否かに関する第１のＰＲ判断処理を実行する。図６のケースでは、プリンタ１００は、第１のＰＲ判断処理で「一致する」と判断するので、ＤＲｅｓの送信元（即ちＡＰ６）の認証が成功したと判断する。なお、受信済みのＡＰ用ＳＣｏｎｔ内のハッシュ値ＨＶと、記憶済みの第２のＣＯに含まれるプリンタ用ＳＣｏｎｔ内のハッシュ値ＨＶと、が一致するということは、プリンタ用ＳＣｏｎｔ及びＡＰ用ＳＣｏｎｔが、同じ装置（即ち、端末１０）によって生成されたことを意味する。従って、プリンタ１００は、受信済みのＡＰ用ＳＣｏｎｔの生成元（即ち、端末１０）の認証が成功したとも判断する。さらに、プリンタ１００は、記憶済みの第２のＣＯに含まれる端末１０の公開鍵ＴＰＫ２を用いて、受信済みのＡＰ用ＳＣｏｎｔ内の電子署名ＤＳ２を復号する。図６のケースでは、電子署名ＤＳ２の復号が成功するので、プリンタ１００は、電子署名ＤＳ２を復号することによって得られた特定値と、受信済みのＡＰ用ＳＣｏｎｔ内の各情報（即ち、ハッシュ値ＨＶ、「Ｇｒｏｕｐ１」、及び、公開鍵ＡＰＫ２）をハッシュ化することによって得られる値と、が一致するのか否かに関する第２のＰＲ判断処理を実行する。図６のケースでは、プリンタ１００は、第２のＰＲ判断処理で「一致する」と判断するので、ＤＲｅｓ内の各情報の認証が成功したと判断し、Ｔ４１４以降の処理を実行する。第２のＰＲ判断処理で「一致する」と判断されることは、第１のＣＯがＡＰ６に記憶された後に、ＡＰ用ＳＣｏｎｔ内の各情報（即ち、ハッシュ値ＨＶ、「Ｇｒｏｕｐ１」、及び、公開鍵ＡＰＫ２）が第三者によって改ざんされていないことを意味する。一方、第１のＰＲ判断処理で「一致しない」と判断される場合、電子署名ＤＳ２の復号が失敗する場合、又は、第２のＰＲ判断処理で「一致しない」と判断される場合には、プリンタ１００は、認証が失敗したと判断し、Ｔ４１４以降の処理を実行しない。
【００５８】
プリンタ１００は、Ｔ４１４において、ＥＣＤＨに従って、記憶済みのプリンタ１００の秘密鍵ｐｓｋ２と、受信済みのＡＰ用ＳＣｏｎｔ内のＡＰ６の公開鍵ＡＰＫ２と、を用いて、接続キーＣＫを生成する。ここで、Ｔ４０４でＡＰ６によって生成される接続キーＣＫと、Ｔ４１４でプリンタ１００によって生成される接続キーＣＫと、は同じである。これにより、Ｗｉ−Ｆｉ接続を確立するための接続キーＣＫがプリンタ１００及びＡＰ６の間で共有される。Ｔ４１４が終了すると、図６の処理が終了する。
【００５９】
上述したように、接続キーＣＫがプリンタ１００及びＡＰ６の間で共有された後に、図２のＴ４０において、プリンタ１００及びＡＰ６は、接続キーＣＫを利用して、４ｗａｙ−ｈａｎｄｓｈａｋｅの通信を実行する。この結果、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ接続が確立される。なお、上述したように、プリンタ１００は、プリンタ１００のチャネルリストに含まれる複数個の通信チャネルのうちの１個の通信チャネルを利用して、端末１０から図４のＴ２００のＡＲｅｑを受信する。即ち、プリンタ１００は、プリンタ１００と端末１０との双方が利用可能な通信チャネルを利用して、端末１０からＴ２００のＡＲｅｑを受信する。一方、図２のＴ４０では、プリンタ１００は、プリンタ１００とＡＰ６との双方が利用可能な通信チャネルを利用して、Ｗｉ−Ｆｉ接続をＡＰ６と確立する。ここで、端末１０が利用可能な通信チャネルと、ＡＰ６が利用可能な通信チャネルと、は異なる場合がある。本実施例では、プリンタ１００が図４のＴ２００で端末１０からＡＲｅｑを受信するための通信チャネルと、プリンタ１００が図２のＴ４０でＷｉ−Ｆｉ接続をＡＰ６と確立するための通信チャネルと、が異なる。ただし、変形例では、前者の通信チャネルと後者の通信チャネルとは同じでもよい。
【００６０】
（ケースＢのＢｏｏｔｓｔｒａｐｐｉｎｇ（ＢＳ）；図７）
続いて、図７を参照して、図２のＴ２０のＢＳのケースＢの処理を説明する。ケースＢは、図２のＴ２０〜Ｔ４０が実行される前の状態、即ち、プリンタ１００のメモリ１３４が第２のＣＯをまだ記憶していない状態である。
【００６１】
Ｔ５００及びＴ５０５は、図３のＴ１００及びＴ１０５と同様である。Ｔ５０９では、プリンタ１００は、メモリ１３４が第２のＣＯを記憶していないので、Ｗｉ−ＦｉＩ／Ｆ１１６の動作モードを移行させるための移行指示をＷｉ−ＦｉＩ／Ｆ１１６に供給して、Ｗｉ−ＦｉＩ／Ｆ１１６の動作モードを通常モードから設定モードに移行させる。従って、メモリ１３４が第２のＣＯを記憶していない状態では、ユーザがプリンタ１００の電源をＯＮするだけで、Ｗｉ−ＦｉＩ／Ｆ１１６の動作モードが通常モードから設定モードに自動的に移行される。通常モードは、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔ（以下では、単に「ＰＲｅｑ」と記載する）（後述のＴ５１２）を解釈不可能なモード（即ちＰＲｅｑを受信しても無視するモード）である。設定モードは、ＰＲｅｑを解釈可能なモード（即ちＰＲｅｑを受信するとＰＲｅｑ内の情報をＣＰＵ１３２に供給するモード）である。
【００６２】
端末１０は、ユーザからアプリ４０の起動操作を受け付けることに応じて、Ｔ５１０において、アプリ４０を起動し、さらに、カメラ１５を起動する。この場合、端末１０は、Ｔ５１２において、Ｗｉ−ＦｉＩ／Ｆ１６を介して、ＰＲｅｑをブロードキャストによって送信する。当該ＰＲｅｑは、アプリ４０において予め決められているＳＳＩＤ「ＤＩＳＰＬＡＹ」を含む。なお、ＰＲｅｑ内のＳＳＩＤの文字列は、「ＤＩＳＰＬＡＹ」に限られず、プリンタ１００が解釈可能な文字列であればよい。
【００６３】
プリンタ１００は、Ｔ５１２において、端末１０から、Ｗｉ−ＦｉＩ／Ｆ１１６を介して、ＰＲｅｑを受信することに応じて、Ｗｉ−ＦｉＩ／Ｆ１１６からＳＳＩＤ「ＤＩＳＰＬＡＹ」を取得する。この場合、プリンタ１００は、ＳＳＩＤが予め決められている文字列「ＤＩＳＰＬＡＹ」を含むので、Ｔ５１４以降の処理を実行するための条件が満たされたと判断し、Ｔ５１４において、プリンタ側確認画面ＰＣＳを表示部１１４に表示させる。画面ＰＣＳは、ＱＲコードの表示をプリンタ１００に実行させるのか否かをユーザに問い合わせる画面であり、ＱＲコードの表示をプリンタ１００に実行させることを示すＹＥＳボタンと、ＱＲコードの表示をプリンタ１００に実行させないことを示すＮＯボタンと、を含む。これにより、例えば、ユーザがＷｉ−Ｆｉ接続の確立を望まない場合（例えばアプリ４０を誤って起動してしまった場合）には、画面ＰＣＳ内のＮＯボタンを選択することによって、ＱＲコードが表示されることを抑制することができる。
【００６４】
また、Ｔ５１２において、ＳＳＩＤ「ＤＩＳＰＬＡＹ」を含むＰＲｅｑがブロードキャストされると、プリンタ１００とは異なるプリンタにおいて、画面ＰＣＳが表示される可能性がある。この場合、ユーザは、当該異なるプリンタにおいて表示された画面ＰＣＳ内のＮＯボタンを選択することによって、当該異なるプリンタにおいてＱＲコードが表示されることを抑制することができる。
【００６５】
プリンタ１００は、Ｔ５２０において、画面ＰＣＳ内のＹＥＳボタンがユーザによって選択されることに応じて、Ｔ５２２において、ＱＲコードを表示部１１４に表示させ、Ｔ５２４において、不可能状態から可能状態に移行する。Ｔ５３２〜Ｔ５４０は、図３のＴ１３２〜Ｔ１４０と同様である。Ｔ５４０の処理が終了すると、図７の処理が終了する。そして、図４〜図６と同様の処理が各デバイス６，１０，１００によって実行されることによって、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続が確立される。
【００６６】
なお、図示を省略しているが、図３のケースＡにおいても、プリンタ１００は、Ｔ１００でユーザから電源ＯＮ操作を受け付けることに応じて、Ｗｉ−ＦｉＩ／Ｆ１１６の動作モードを通常モードから設定モードに移行させる。しかしながら、図３のケースＡでは、端末１０でアプリ４０が起動される前に、Ｔ１０６〜Ｔ１２０の処理が実行されてＱＲコードが表示される。このため、プリンタ１００は、図７のＴ５１４の処理を実行しない。
【００６７】
（ケースＣのＢｏｏｔｓｔｒａｐｐｉｎｇ（ＢＳ）；図８）
続いて、図８を参照して、ＢＳの他のケースＣの処理を説明する。ケースＣは、図２のＴ２０〜Ｔ４０が実行された後の状態、即ち、プリンタ１００のメモリ１３４が第２のＣＯを記憶済みである状態である。
【００６８】
Ｔ６００及びＴ６０５は、図７のＴ５００及びＴ５０５と同様である。本ケースでは、プリンタ１００のメモリ１３４が第２のＣＯを記憶しているので、プリンタ１００は、Ｗｉ−ＦｉＩ／Ｆ１１６の動作モードを通常モードから設定モードに移行させない。プリンタ１００は、第２のＣＯを記憶している状況では、第２のＣＯを利用して、Ｗｉ−Ｆｉ接続をＡＰ６と確立することができる。従って、プリンタ１００においてＢＳが実行される可能性が低い。プリンタ１００は、このような状況において、Ｗｉ−ＦｉＩ／Ｆ１１６の動作モードを設定モードに移行させないので、ＱＲコードが無駄に表示されることを抑制することができる。
【００６９】
ユーザは、プリンタ１００が第２のＣＯを記憶している状態において、例えば、ＡＰ６とは異なるＡＰとプリンタ１００との間のＷｉ−Ｆｉ接続の確立を望む可能性がある。この場合、ユーザは、Ｔ６０６において、画面ＭＳ内の設定ボタンを選択し、Ｔ６０８において、それに応じて表示される画面ＳＳ（Ｔ６０７）内のモード移行ボタンを選択することができる。この場合、プリンタ１００は、Ｔ６０９において、Ｗｉ−ＦｉＩ／Ｆ１１６の動作モードを通常モードから設定モードに移行させる。これにより、プリンタ１００は、端末１０からＰＲｅｑを受信すると、図７のＴ５１４以降の処理を実行して、端末１０から新たなＣＯを受信することができる。
【００７０】
なお、プリンタ１００は、ＤＰＰ方式を利用せずに、通常のＷｉ−Ｆｉ方式（即ちＳＳＩＤ及びパスワードを利用する方式）に従って、ＡＰ６とのＷｉ−Ｆｉ接続を確立することもできる。この場合、プリンタ１００のメモリ１３４は、ＡＰ６とのＷｉ−Ｆｉ接続を確立するための無線設定情報（即ちＳＳＩＤ及びパスワード）を記憶する。このような状態でプリンタ１００の電源がＯＮされても、プリンタ１００は、図８のケースＣと同様に、Ｗｉ−ＦｉＩ／Ｆ１１６の動作モードを通常モードから設定モードに移行させない。プリンタ１００が無線設定情報を利用してＡＰ６とＷｉ−Ｆｉ接続を確立することができるからである。これにより、プリンタ１００がＡＰ６とのＷｉ−Ｆｉ接続を確立可能であるにも関わらず、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続を確立するための処理が実行されてしまうことを抑制できる。
【００７１】
（ケースＤのＢｏｏｔｓｔｒａｐｐｉｎｇ（ＢＳ）；図９）
続いて、図９を参照して、ＢＳの他のケースＤの処理を説明する。ケースＤでは、プリンタ１００に表示されるＱＲコードが端末１０によって撮影されない状況を想定している。
【００７２】
Ｔ７００〜Ｔ７２４は、図７のＴ５００〜Ｔ５２４と同様である。本ケースでは、プリンタ１００に表示されるＱＲコードが端末１０によって撮影されないことに起因して、端末１０からプリンタ１００にＡＲｅｑ（図４のＴ２００参照）が送信されない。この場合、プリンタ１００は、Ｔ７２６において、Ｔ７２４で可能状態に移行してから所定時間以内にＡＲｅｑを受信しないと判断し、Ｔ７２８において、可能状態から不可能状態に移行する。これにより、プリンタ１００において長時間に亘って可能状態が継続することを抑制することができる。即ち、Ｗｉ−ＦｉＩ／Ｆ１１６が外部から受信した信号をＣＰＵ１３２に供給する状態、即ち、ＣＰＵ１３２が外部から受信された信号を処理する状態が継続することを抑制できる。これにより、プリンタ１００の処理負荷を軽減することができる。そして、Ｔ７３０では、プリンタ１００は、端末１０からＡＲｅｑが受信されなかったことを示すエラー画面を表示部１１４に表示させる。Ｔ７３０の処理が終了すると、図９の処理が終了する。
【００７３】
（本実施例の効果）
本実施例では、プリンタ１００は、端末１０からＳＳＩＤ「ＤＩＳＰＬＡＹ」を含むＰＲｅｑを受信する場合（図７のＴ５１２、図８のＴ６１２、図９のＴ７１２）に、公開鍵ＰＰＫ１をコード化することによって得られるＱＲコードを表示する（Ｔ５２２、Ｔ６２２、Ｔ７２２）。この結果、公開鍵ＰＰＫ１が端末１０によって取得される（Ｔ５３４、Ｔ６３４）。その後、プリンタ１００は、端末１０から、公開鍵ＴＰＫ１が利用されたＡＲｅｑを受信して（図４のＴ２００）、ＡＲｅｓを端末１０に送信し（Ｔ２１０）、端末１０から第２のＣＯを受信する（図５のＴ３１０）。これにより、プリンタ１００は、第２のＣＯを利用して、ＡＰ６とのＷｉ−Ｆｉ接続を確立することができる（図２のＴ４０）。
【００７４】
また、本実施例では、プリンタ１００は、端末１０からＳＳＩＤ「ＤＩＳＰＬＡＹ」を含むＰＲｅｑを受信する場合（図７のＴ５１２、図８のＴ６１２、図９のＴ７１２）に、不可能状態から可能状態に移行する（Ｔ５２４、Ｔ６２４、Ｔ７２４）。これにより、プリンタ１００は、端末１０からＡＲｅｑを受信する場合（図４のＴ２００）に、ＡＲｅｓを端末１０に送信することができる（Ｔ２１０）。そして、プリンタ１００は、端末１０から第２のＣＯを受信し（図５のＴ３１０）、第２のＣＯを利用して、ＡＰ６とのＷｉ−Ｆｉ接続を確立することができる（図２のＴ４０）。
【００７５】
例えば、無線通信、又は、プリンタ１００の操作の知識を有するユーザは、図３のケースＡのように、Ｔ１０６において、画面ＭＳ内の設定ボタンを選択し、Ｔ１０８において、画面ＳＳ内のＱＲコードボタンを選択し、ＱＲコードの表示（Ｔ１２２）及び可能状態への移行（Ｔ１２４）をプリンタ１００に実行させることができる。しかしながら、上記の知識に乏しいユーザは、上記のような選択操作を適切に実行することができない可能性がある。本実施例によると、図７のケースＢに示されるように、プリンタ１００は、端末１０から所定のＳＳＩＤを含むＰＲｅｑを受信する場合に、図３のＴ１０６及びＴ１０８がユーザによって実行されなくても、ＱＲコードの表示（Ｔ５２２）及び可能状態への移行（Ｔ５２４）を実行する。このために、無線通信の知識に乏しいユーザは、端末１０のアプリ４０を起動させることによって、ＱＲコードの表示及び可能状態への移行をプリンタ１００に容易に実行させることができる。
【００７６】
（対応関係）
プリンタ１００、端末１０、ＡＰ６が、それぞれ、「通信装置」、「第１の外部装置」、「第２の外部装置」の一例である。表示部１１４、Ｗｉ−ＦｉＩ／Ｆ１１６が、それぞれ、「出力部」、「無線インターフェース」の一例である。ＳＳＩＤ「ＤＩＳＰＬＡＹ」を含むＰＲｅｑ、プリンタ１００の公開鍵ＰＰＫ１、ＱＲコードが、それぞれ、「特定信号」、「公開鍵」、「特定情報」の一例である。ＡＲｅｑ、ＡＲｅｓ、第２のＣＯが、それぞれ、「認証要求」、「認証応答」、「接続情報」の一例である。図２のＴ４０で確立されるＷｉ−Ｆｉ接続が、「無線接続」の一例である。
【００７７】
図３のＴ１２０のＱＲコードボタンの選択操作が、「所定操作」の一例である。画面ＰＣＳが、「指示画面」の一例である。図８のＴ６０８のモード移行ボタンの選択操作が、「特定操作」の一例であり、メモリ１３４内に第２のＣＯが記憶されていない状態でユーザからの電源ＯＮ操作を受け付けること、及び、メモリ１３４内に第２のＣＯが記憶されている状態でユーザからのモード移行ボタンの選択を受け付けることが、「所定条件」の一例である。通常モード、設定モードが、それぞれ、「第１のモード」、「第２のモード」の一例である。チャネルリスト、図４のＴ２００で利用される通信チャネル、図２のＴ４０で利用される通信チャネルが、それぞれ、「通信チャネル情報」、「第１の通信チャネル」、「第２の通信チャネル」の一例である。図９のＴ７２６の所定時間経過が、「特定条件」の一例である。ＡＰ用ＳＣｏｎｔ、第２のＣＯ内のハッシュ値ＨＶが、それぞれ、「受信情報」、「認証情報」の一例である。
【００７８】
図７のＴ５１２（又は図８のＴ６１２、図９のＴ７１２）の処理、Ｔ５２２（又はＴ６２２、Ｔ７２２）の処理、図４のＴ２００の処理、Ｔ２１０の処理、図５のＴ３１０の処理、Ｔ３５及びＴ４０の処理が、それぞれ、「特定信号受信部」、「第１の出力制御部」、「認証要求受信部」、「認証応答送信部」、「接続情報受信部」、「確立部」によって実行される処理の一例である。
【００７９】
図７のＴ５１２（又は図８のＴ６１２、図９のＴ７１２）の処理、Ｔ５２４（又はＴ６２４、Ｔ７２４）の処理、図４のＴ２００の処理、Ｔ２１０の処理、図５のＴ３１０の処理、Ｔ３５及びＴ４０の処理が、それぞれ、「特定信号受信部」、「第１の状態移行部」、「認証要求受信部」、「認証応答送信部」、「接続情報受信部」、「確立部」によって実行される処理の一例である。
【００８０】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００８１】
（変形例１）例えば、図３のＴ１２２でプリンタ１００に表示されるＱＲコードは、チャネルリスト及びＭＡＣアドレス「ａｂｃ」がコード化されたものでなくてもよい。即ち、ＱＲコードは、少なくとも公開鍵ＰＰＫ１がコード化されることによって得られるコード画像であればよい。この場合、プリンタ１００は、Ｔ１２４で不可能状態から可能状態に移行することに応じて、プリンタ１００が利用可能な全ての無線チャネルのうちの１個の無線チャネルが利用されたＡＲｅｑを受信することを監視する。また、端末１０は、図４のＴ２００において、端末１０が利用可能な全ての無線チャネルを順次利用して、ＡＲｅｑをブロードキャストによって順次送信する。即ち、「特定情報」は、少なくとも公開鍵を用いて得られる情報であればよい。
【００８２】
（変形例２）共有鍵（例えばＳＫ１）を生成するための処理（例えば、図４のＴ１４２、Ｔ２０２）は、ＥＣＤＨに従った上記の実施例の処理に限らず、ＥＣＤＨに従った他の処理であってもよい。また、共有鍵を生成するための処理は、ＥＣＤＨに従った処理に限らず、他の方式（例えば、ＤＨ（Diffie-Hellman key exchangeの略）等）に従った処理が実行されてもよい。また、上記の実施例では、電子署名ＤＳ１及びＤＳ２が、ＥＣＤＳＡに従って生成されたが、他の方式（例えば、ＤＳＡ（Digital Signature Algorithmの略）、ＲＡＳ（Rivest-Shamir-Adleman cryptosystemの略）等）に従って生成されてもよい。
【００８３】
（変形例３）例えば、図７のＴ５１２において、端末１０は、ＰＲｅｑに代えて、ＷＦＤ方式のＳｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｒｅｑｕｅｓｔをプリンタ１００に送信してもよい。当該Ｒｅｑｕｅｓｔは、プリンタ１００がＱＲコードの表示を実行可能であるのか否かを問い合わせるための情報を含む。本変形例では、Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｒｅｑｕｅｓｔが、「特定信号」の一例である。
【００８４】
（変形例４）図７のＴ５１２において、ＳＳＩＤ「ＤＩＳＰＬＡＹ」を含むＰＲｅｑがブロードキャストされると、プリンタ１００とは異なるプリンタにおいて、画面ＰＣＳが表示される可能性がある。このような状況に対処するために、プリンタ１００は、図４のＴ２００において、端末１０からＡＲｅｑを受信することに応じて、画面ＰＣＳの表示の停止を指示するＰＲｅｑをブロードキャストによって送信してもよい。当該ＰＲｅｑは、画面ＰＣＳの表示を停止させるための所定の文字列（例えばＳＳＩＤ「ＮＯＴ  ＤＩＳＰＬＡＹ」）を含む。これにより、プリンタ１００とは異なるプリンタにおいて画面ＰＣＳが表示されても、ユーザから操作を受け付けることなく、当該画面ＰＣＳの表示を停止させることができる。
【００８５】
（変形例５）例えば、プリンタ１００は、図７のＴ５２２において、ＱＲコードを表示部１１４に表示することに代えて、印刷媒体へのＱＲコードの印刷を印刷実行部１１８に実行させてもよい。本変形例によると、例えば、プリンタ１００が表示部１１４を備えておらず、図３のＴ１０５の画面ＭＳ、Ｔ１０７の画面ＳＳ、及び、Ｔ１２２のＱＲコード等の画面の表示を不可能な状況においても、ＤＰＰ方式に従った通信を実行して、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続を確立することができる。本変形例では、印刷実行部１１８が、「出力部」の一例である。別の変形例では、プリンタ１００が、Ｗｉ−ＦｉＩ／Ｆ１１６とは異なる無線インターフェース（例えば、ＮＦＣ（Near Field Communicationの略）Ｉ／Ｆ、Ｂｌｕｅｔｏｏｔｈ（登録商標）Ｉ／Ｆ）を備えていてもよい。なお、当該ＢｌｕｅｔｏｏｔｈＩ／Ｆは、Ｂｌｕｅｔｏｏｔｈ方式バージョン４．０以上に従った通信を実行するための無線インターフェースを含む。この場合、プリンタ１００は、図７のＴ５２２において、当該無線インターフェースを介して、公開鍵ＰＰＫ１とチャネルリストとＭＡＣアドレス「ａｂｃ」とを端末１０に送信してもよい。本変形例では、Ｗｉ−ＦｉＩ／Ｆ１１６とは異なる無線インターフェースが、「出力部」の一例である。また、本変形例では、「特定情報」は、「コード画像」でなくてもよい。
【００８６】
（変形例６）変形例では、プリンタ１００は、Ｔ５１２において、端末１０からＰＲｅｑを受信することに応じて、当該ＰＲｅｑの受信電波強度を算出して、算出済みの受信電波強度が予め決められている閾値以上である場合に、Ｔ５１４において、画面ＰＣＳを表示部１１４に表示させてもよい。即ち、プリンタ１００は、プリンタ１００と端末１０との間の距離が所定距離以下であることを条件として、画面ＰＣＳを表示部１１４に表示させてもよい。
【００８７】
（変形例７）Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅによって作成された規格書のドラフトである「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」には、共有コード、キー、フレーズ、及び、ワードを「コード」と呼ぶことが記載されている。従って、プリンタ１００は、Ｔ１２２において、ＱＲコードに代えて、公開鍵ＰＰＫ１とチャネルリストとＭＡＣアドレス「ａｂｃ」とがコード化されることによって得られる共有コード、キー、フレーズ、及び、ワードを含む画像を表示部１１４に表示してもよい。
【００８８】
（変形例８）図２のＴ３５において、端末１０とプリンタ１００との間でＮＡの処理が実行されて、端末１０とプリンタ１００との間でＷｉ−Ｆｉ接続が確立されてもよい。即ち、「第２の外部装置」は、「第１の外部装置」と同じ装置であってもよい。
【００８９】
（変形例９）図３のＴ１０７で表示される画面ＳＳがＱＲコードボタンを含んでいなくてもよい。この場合、端末１０及びプリンタ１００は、図３のケースＡのＢＳの処理を実行することなく、図７のケースＢのＢＳの処理を実行して、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続を確立する。本変形例では、「第２の出力制御部」及び「第３の状態移行部」が省略可能である。
【００９０】
（変形例１０）プリンタ１００は、図７のＴ５１２において、端末１０からＰＲｅｑを受信することに応じて、Ｔ５１４及びＴ５２０の処理をスキップして、Ｔ５２２において、ＱＲコードを表示部１１４に表示してもよい。本変形例では、「表示制御部」が省略可能である。
【００９１】
（変形例１１）プリンタ１００のＷｉ−ＦｉＩ／Ｆ１１６が常に設定モードで動作するように構成されてもよい。本変形例では、「モード移行部」及び「記憶制御部」が省略可能である。
【００９２】
（変形例１２）図９のケースＤの処理が実行されなくてよい。即ち、プリンタ１００は、可能状態に移行してから所定時間経過する場合に、可能状態から不可能状態に移行しなくてもよい。本変形例では、「第２の状態移行部」が省略可能である。また、別の変形例では、図９のＴ７２６において、プリンタ１００は、所定時間が経過することを監視することに代えて、ユーザから不可能状態に移行することを示す指示を受け付けることを監視してもよい。本変形例では、ユーザから指示を受け付けることが「特定条件」の一例である。
【００９３】
（変形例１３）上記の実施例では、端末１０を利用して、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続が確立される。これに代えて、例えば、端末１０を利用して、ＷＦＤ方式のＧ／Ｏ（Group Ownerの略）として動作するプリンタ１００（即ち親局として動作するデバイス）と、他のデバイス（即ち子局として動作するデバイス）と、の間のＷｉ−Ｆｉ接続が確立されてもよい。即ち、「第２の外部装置」は、「親局装置」でなくてもよい。
【００９４】
（変形例１４）「通信装置」は、プリンタでなくてもよく、スキャナ、多機能機、携帯端末、ＰＣ、サーバ等の他のデバイスであってもよい。
【００９５】
（変形例１５）上記の各実施例では、図２〜図９の各処理がソフトウェア（即ちプログラム１３６）によって実現されるが、これらの各処理のうちの少なくとも１つが論理回路等のハードウェアによって実現されてもよい。
【００９６】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００９７】
２：通信システム、６：ＡＰ、１０：端末、１６，１１６：Ｗｉ−ＦｉＩ／Ｆ、４０：接続アプリケーション、１００：プリンタ、１１２：操作部、１１４：表示部、１１８：印刷実行部、１３０：制御部、１３２：ＣＰＵ、１３４：メモリ、１３６：プログラム
【図１】
2019180036.tif 000003
【図２】
2019180036.tif 000004
【図３】
2019180036.tif 000005
【図４】
2019180036.tif 000006
【図５】
2019180036.tif 000007
【図６】
2019180036.tif 000008
【図７】
2019180036.tif 000009
【図８】
2019180036.tif 000010
【図９】
2019180036.tif 000011