(57)【要約】【課題】通信装置とユーザが意図していない装置との間に無線接続が確立されるのを抑制し得る技術を提供すること。【解決手段】通信装置は、第１の外部装置から特定信号を受信する場合に、特定信号の受信電波強度が閾値以上であるのか否かを判断する。通信装置は、受信電波強度が閾値以上であると判断し、かつ、第１の外部装置から認証要求を受信する場合に、認証応答を第１の外部装置に送信し、第１の外部装置から接続情報を受信して、接続情報を利用して通信装置との無線接続を確立する。一方、受信電波強度が閾値以上でないと判断され、かつ、第１の外部装置から認証要求が受信される場合に、第１の外部装置への認証応答の送信は制限される。【選択図】図２
2019180037.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
第１の無線インターフェースと、
前記第１の無線インターフェースとは異なる第２の無線インターフェースと、
前記第１の無線インターフェースを介して、公開鍵を外部に送信する公開鍵送信部と、
第１の外部装置から、前記第１の無線インターフェースを介して、特定信号を受信する特定信号受信部と、
前記第１の外部装置から前記特定信号が受信される場合に、前記特定信号の受信電波強度が閾値以上であるのか否かを判断する判断部と、
前記公開鍵が外部に送信された後に、前記第１の外部装置から、前記第２の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記受信電波強度が前記閾値以上であると判断され、かつ、前記第１の外部装置から前記認証要求が受信される場合に、前記第２の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第１の外部装置に送信する認証応答送信部であって、前記受信電波強度が前記閾値以上でないと判断され、かつ、前記第１の外部装置から前記認証要求が受信される場合に、前記第１の外部装置への前記認証応答の送信は制限される、前記認証応答送信部と、
前記認証応答が前記第１の外部装置に送信された後に、前記第１の外部装置から、前記第２の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第２の外部装置との間に前記第２の無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第１の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第２の外部装置との間に前記第２の無線インターフェースを介した前記無線接続を確立する確立部と、
を備える、通信装置。
【請求項２】
前記通信装置は、さらに、
表示部と、
前記受信電波強度が前記閾値以上でないと判断され、かつ、前記第１の外部装置から前記認証要求が受信される場合に、前記認証応答の送信を実行することを指示するための指示画面を前記表示部に表示させることによって、前記第１の外部装置への前記認証応答の送信を制限する表示制御部と、を備え、
前記認証応答送信部は、さらに、前記指示画面が表示されている状況において、前記認証応答の送信を実行することが指示される場合に、前記第２の無線インターフェースを介して、前記認証応答を前記第１の外部装置に送信する、請求項１に記載の通信装置。
【請求項３】
前記特定信号は、前記第１の外部装置を識別する対象識別情報を含み、
前記認証応答送信部は、前記受信電波強度が前記閾値以上であると判断され、かつ、前記対象識別情報によって識別される前記第１の外部装置から前記対象識別情報を含む前記認証要求が受信される場合に、前記第２の無線インターフェースを介して、前記認証応答を前記第１の外部装置に送信し、
前記第１の外部装置とは異なる特定外部装置から、前記第２の無線インターフェースを介して、前記対象識別情報を含まない前記認証要求が受信される場合に、前記特定外部装置への前記認証応答の送信は制限される、請求項１又は２に記載の通信装置。
【請求項４】
前記通信装置は、さらに、
所定条件が満たされる場合に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記認証要求を受信しても、前記認証応答を送信しない状態であり、前記可能状態は、前記認証要求を受信することに応じて、前記認証応答を送信する状態である、前記状態移行部を備え、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記受信電波強度が前記閾値以上であると判断され、かつ、前記第１の外部装置から前記認証要求が受信される場合に、前記第２の無線インターフェースを介して、前記認証応答を前記第１の外部装置に送信する、請求項１から３のいずれか一項に記載の通信装置。
【請求項５】
前記通信装置は、さらに、
前記第１の無線インターフェースを介して、前記通信装置において予め決められている第１の通信チャネルを示す通信チャネル情報を外部に送信するチャネル情報送信部を備え、
前記可能状態は、前記第１の通信チャネルが利用された前記認証要求を受信することを監視し、前記認証要求を受信することに応じて、前記認証応答を送信する状態であり、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記受信電波強度が前記閾値以上であると判断され、かつ、前記第１の外部装置から前記第１の通信チャネルが利用された前記認証要求が受信される場合に、前記第２の無線インターフェースを介して、前記認証応答を前記第１の外部装置に送信する、請求項４に記載の通信装置。
【請求項６】
通信装置であって、
第１の無線インターフェースと、
前記第１の無線インターフェースとは異なる第２の無線インターフェースと、
前記第１の無線インターフェースを介して、公開鍵を外部に送信する公開鍵送信部と、
第１の外部装置から、前記第１の無線インターフェースを介して、前記第１の外部装置を識別する対象識別情報を含む特定信号を受信する特定信号受信部と、
前記公開鍵が外部に送信された後に、特定外部装置から、前記第２の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部であって、前記認証要求は、前記特定外部装置を識別する特定識別情報を含む、前記認証要求受信部と、
前記第１の外部装置から前記特定信号が受信され、かつ、前記特定外部装置から前記認証要求が受信される場合に、前記特定信号に含まれる前記対象識別情報と前記認証要求に含まれる前記特定識別情報とが一致するのか否かを判断する判断部と、
前記対象識別情報と前記特定識別情報とが一致すると判断される場合に、前記第２の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第１の外部装置に一致する前記特定外部装置に送信する認証応答送信部であって、前記対象識別情報と前記特定識別情報とが一致しないと判断される場合に、前記第１の外部装置とは異なる前記特定外部装置への前記認証応答の送信は制限される、前記認証応答送信部と、
前記認証応答が前記特定外部装置に送信された後に、前記特定外部装置から、前記第２の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第２の外部装置との間に前記第２の無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記特定外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第２の外部装置との間に前記第２の無線インターフェースを介した前記無線接続を確立する確立部と、
を備える、通信装置。
【請求項７】
前記通信装置は、さらに、
表示部と、
前記対象識別情報と前記特定識別情報とが一致しないと判断される場合に、前記認証応答の送信を実行することを指示するための指示画面を前記表示部に表示させることによって、前記特定外部装置への前記認証応答の送信を制限する表示制御部と、を備え、
前記認証応答送信部は、前記指示画面が表示されている状況において、前記認証応答の送信を実行することが指示される場合に、前記第２の無線インターフェースを介して、前記認証応答を前記特定外部装置に送信する、請求項６に記載の通信装置。
【請求項８】
前記通信装置は、さらに、
所定条件が満たされる場合に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記認証要求を受信しても、前記認証応答を送信しない状態であり、前記可能状態は、前記認証要求を受信することに応じて、前記認証応答を送信する状態である、前記状態移行部を備え、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記対象識別情報と前記特定識別情報とが一致すると判断される場合に、前記第２の無線インターフェースを介して、前記認証応答を前記特定外部装置に送信する、請求項６又は７に記載の通信装置。
【請求項９】
前記通信装置は、さらに、
前記第１の無線インターフェースを介して、前記通信装置において予め決められている第１の通信チャネルを示す通信チャネル情報を外部に送信するチャネル情報送信部を備え、
前記可能状態は、前記第１の通信チャネルが利用された前記認証要求を受信することを監視し、前記認証要求を受信することに応じて、前記認証応答を送信する状態であり、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記特定外部装置から前記第１の通信チャネルが利用された前記認証要求が受信され、かつ、前記対象識別情報と前記特定識別情報とが一致すると判断される場合に、前記第２の無線インターフェースを介して、前記認証応答を前記特定外部装置に送信する、請求項８に記載の通信装置。
【請求項１０】
前記確立部は、前記第１の通信チャネルとは異なる第２の通信チャネルを利用して、前記通信装置と前記第２の外部装置との間に前記第２の無線インターフェースを介した前記無線接続を確立する、請求項５又は９に記載の通信装置。
【請求項１１】
前記特定信号は、前記通信装置のベンダによって提供されるアプリケーションプログラムに従って、前記第１の外部装置から前記通信装置に送信される、請求項１から１０のいずれか一項に記載の通信装置。
【請求項１２】
前記特定信号受信部は、前記公開鍵が前記第１の外部装置によって受信された後に、前記第１の外部装置から、前記第１の無線インターフェースを介して、前記特定信号を受信する、請求項１から１１のいずれか一項に記載の通信装置。
【請求項１３】
前記第１の無線インターフェースは、Ｂｌｕｅｔｏｏｔｈ（登録商標）方式に従った無線通信を実行するための無線インターフェースであり、
前記公開鍵送信部は、前記Ｂｌｕｅｔｏｏｔｈ方式に従ったＡｄｖｅｒｔｉｓｅ信号であって、前記公開鍵を含む前記Ａｄｖｅｒｔｉｓｅ信号を外部に繰り返し送信する、請求項１から１２のいずれか一項に記載の通信装置。
【請求項１４】
前記第１の無線インターフェースは、前記Ｂｌｕｅｔｏｏｔｈ方式のバージョン４．０以上に従った無線通信を実行するための無線インターフェースである、請求項１３に記載の通信装置。
【請求項１５】
前記通信装置は、さらに、
前記接続情報を記憶するためのメモリを備え、
前記公開鍵送信部は、前記メモリ内に前記接続情報が記憶されていない状況において、前記通信装置の電源がＯＮされる場合に、前記第１の無線インターフェースを介して、前記公開鍵を外部に送信し、
前記メモリ内に前記接続情報が記憶されている状況において、前記通信装置の電源がＯＮされる場合に、前記公開鍵は送信されない、請求項１から１４のいずれか一項に記載の通信装置。
【請求項１６】
前記通信装置は、さらに、
操作部を備え、
前記公開鍵送信部は、前記メモリ内に前記接続情報が記憶されている状況において、前記通信装置の電源がＯＮされた後に、前記操作部を介した特定操作が受け付けられる場合に、前記公開鍵を外部に送信する、請求項１５に記載の通信装置。
【請求項１７】
前記第２の外部装置は、前記第１の外部装置とは異なる装置であって、無線ネットワークの親局として動作すべき親局装置であり、
前記確立部は、前記通信装置と前記第２の外部装置との間に前記第２の無線インターフェースを介した前記無線接続を確立して、前記通信装置を前記無線ネットワークに子局として参加させる、請求項１から１６のいずれか一項に記載の通信装置。
【請求項１８】
前記接続情報は、前記第２の外部装置から受信される受信情報を認証するための認証情報を含む、請求項１から１７のいずれか一項に記載の通信装置。
【請求項１９】
前記通信装置は、さらに、
前記認証応答が送信された後に、前記通信装置をＷｉ−Ｆｉ規格に従ったＥｎｒｏｌｌｅｅとして動作させる動作制御部を備える、請求項１から１８のいずれか一項に記載の通信装置。
【請求項２０】
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
前記通信装置の第１の無線インターフェースを介して、公開鍵を外部に送信する公開鍵送信部と、
第１の外部装置から、前記第１の無線インターフェースを介して、特定信号を受信する特定信号受信部と、
前記第１の外部装置から前記特定信号が受信される場合に、前記特定信号の受信電波強度が閾値以上であるのか否かを判断する判断部と、
前記公開鍵が外部に送信された後に、前記第１の外部装置から、前記通信装置の第２の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部であって、前記第２の無線インターフェースは、前記第１の無線インターフェースとは異なる、前記認証要求受信部と、
前記受信電波強度が前記閾値以上であると判断され、かつ、前記第１の外部装置から前記認証要求が受信される場合に、前記第２の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第１の外部装置に送信する認証応答送信部であって、前記受信電波強度が前記閾値以上でないと判断され、かつ、前記第１の外部装置から前記認証要求が受信される場合に、前記第１の外部装置への前記認証応答の送信は制限される、前記認証応答送信部と、
前記認証応答が前記第１の外部装置に送信された後に、前記第１の外部装置から、前記第２の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第２の外部装置との間に前記第２の無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第１の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第２の外部装置との間に前記第２の無線インターフェースを介した前記無線接続を確立する確立部と、
として機能させる、コンピュータプログラム。
【請求項２１】
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
前記通信装置の第１の無線インターフェースを介して、公開鍵を外部に送信する公開鍵送信部と、
第１の外部装置から、前記第１の無線インターフェースを介して、前記第１の外部装置を識別する対象識別情報を含む特定信号を受信する特定信号受信部と、
前記公開鍵が外部に送信された後に、特定外部装置から、前記通信装置の第２の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部であって、前記第２の無線インターフェースは、前記第１の無線インターフェースとは異なり、前記認証要求は、前記特定外部装置を識別する特定識別情報を含む、前記認証要求受信部と、
前記第１の外部装置から前記特定信号が受信され、かつ、前記特定外部装置から前記認証要求が受信される場合に、前記特定信号に含まれる前記対象識別情報と前記認証要求に含まれる前記特定識別情報とが一致するのか否かを判断する判断部と、
前記対象識別情報と前記特定識別情報とが一致すると判断される場合に、前記第２の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第１の外部装置に一致する前記特定外部装置に送信する認証応答送信部であって、前記対象識別情報と前記特定識別情報とが一致しないと判断される場合に、前記第１の外部装置とは異なる前記特定外部装置への前記認証応答の送信は制限される、前記認証応答送信部と、
前記認証応答が前記特定外部装置に送信された後に、前記特定外部装置から、前記第２の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第２の外部装置との間に前記第２の無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記特定外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第２の外部装置との間に前記第２の無線インターフェースを介した前記無線接続を確立する確立部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、外部装置との無線接続を確立可能な通信装置に関する技術を開示する。
【背景技術】
【０００２】
非特許文献１には、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅによって策定された無線通信方式であるＤＰＰ（Device Provisioning Protocolの略）方式が記述されている。ＤＰＰ方式は、一対の装置の間に容易にＷｉ−Ｆｉ接続を確立させるための無線通信方式である。非特許文献１には、公開鍵の共有化のための例として、Ｒｅｓｐｏｎｄｅｒが、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信を利用して、公開鍵をＩｎｉｔｉａｔｏｒに送信することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−３７９７８号公報
【非特許文献】
【０００４】
【非特許文献１】「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」に記述されており、端末１０を利用して一対のデバイス（例えばプリンタ１００とＡＰ６）の間に容易にＷｉ−Ｆｉ接続を確立させるための無線通信方式である。
【００１７】
ＢＴＩ／Ｆ１８は、ＢＴ方式バージョン４．０以上に従った通信（いわゆるBlue Tooth Low Energyに従った通信）を実行するためのＩ／Ｆである。ＢＴ方式は、例えば、ＩＥＥＥ８０２．１５．１の規格、及び、それに準ずる規格に基づく無線通信方式である。
【００１８】
端末１０は、第１種のアプリケーション（以下では単に「第１種のアプリ」と記載する）４０を記憶している。第１種のアプリ４０は、プリンタ１００のベンダによって提供されるプログラムであり、例えば、プリンタ１００のベンダによって提供されるインターネット上のサーバから端末１０にインストールされる。また、端末５０は、第２種のアプリケーション（以下では単に「第２種のアプリ」と記載する）５２を記憶している。第２種のアプリ５２は、プリンタ１００のベンダとは異なる事業者によって提供されるプログラムである。第１種のアプリ４０及び第２種のアプリ５２は、ＤＰＰ方式に従って、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ接続を確立させるためのプログラムである。なお、変形例では、第１種のアプリ４０は、プリンタ１００のベンダとは異なる事業者によって提供されるプログラムであってもよいし、第２種のアプリ５２は、プリンタ１００のベンダによって提供されるプログラムであってもよい。また、別の変形例では、第２種のアプリ５２は、端末５０の基本的な動作を実現するためのＯＳプログラムであってもよい。
【００１９】
（プリンタ１００の構成）
プリンタ１００は、印刷機能を実行可能な周辺装置（例えば、端末１０の周辺装置）である。プリンタ１００は、操作部１１２と、表示部１１４と、Ｗｉ−ＦｉＩ／Ｆ１１６と、ＢＴＩ／Ｆ１１８と、印刷実行部１２０と、制御部１３０と、を備える。各部１１２〜１３０は、バス線（符号省略）に接続されている。
【００２０】
操作部１１２は、複数のキーを備える。ユーザは、操作部１１２を操作することによって、様々な指示をプリンタ１００に入力することができる。表示部１１４は、様々な情報を表示するためのディスプレイである。Ｗｉ−ＦｉＩ／Ｆ１１６は、端末１０のＷｉ−ＦｉＩ／Ｆ１６と同様である。即ち、Ｗｉ−ＦｉＩ／Ｆ１１６は、ＤＰＰ方式をサポートしている。また、Ｗｉ−ＦｉＩ／Ｆ１１６は、ＭＡＣアドレス「ａｂｃ」を有する。ＢＴＩ／Ｆ１１８は、端末１０のＢＴＩ／Ｆ１８と同様である。印刷実行部１２０は、インクジェット方式、レーザ方式等の印刷機構を備える。
【００２１】
ここで、Ｗｉ−Ｆｉ方式とＢＴ方式との相違点を記述しておく。Ｗｉ−Ｆｉ通信の通信速度（例えば最大の通信速度が６００［Ｍｂｐｓ］）は、ＢＴ通信の通信速度（例えば最大の通信速度が２４［Ｍｂｐｓ］）よりも速い。Ｗｉ−Ｆｉ通信における搬送波の周波数は、２．４［ＧＨｚ］帯又は５．０［ＧＨｚ］帯である。ＢＴ通信における搬送波の周波数は、２．４［ＧＨｚ］帯である。即ち、Ｗｉ−Ｆｉ通信における搬送波の周波数として５．０［ＧＨｚ］帯が採用される場合には、Ｗｉ−Ｆｉ通信における搬送波の周波数とＢＴ通信における搬送波の周波数とは異なる。また、Ｗｉ−Ｆｉ通信を実行可能な最大の距離（例えば約１００［ｍ］）は、ＢＴ通信を実行可能な最大の距離（例えば約数十［ｍ］）よりも大きい。
【００２２】
制御部１３０は、ＣＰＵ１３２とメモリ１３４とを備える。ＣＰＵ１３２は、メモリ１３４に格納されているプログラム１３６に従って、様々な処理を実行する。メモリ１３４は、揮発性メモリ、不揮発性メモリ等によって構成される。
【００２３】
（本実施例の概要；図２）
続いて、図２を参照して、本実施例の概要を説明する。各端末１０，５０及びプリンタ１００がＤＰＰ方式をサポートしていることを上述したが、ＡＰ６もＤＰＰ方式をサポートしている。そして、本実施例では、各デバイス６，１０（又は５０），１００がＤＰＰ方式に従った通信を実行することによって、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続を確立することを実現する。なお、端末１０によって実行される処理と端末５０によって実行される処理は、一部の処理（例えば、後述の図３のＴ１２２〜Ｔ１３２）を除いて同様である。従って、図２では、端末５０に関する説明を省略する。また、以下では、理解の容易化のために、各デバイスのＣＰＵ（例えばＣＰＵ１３２等）が実行する動作を、ＣＰＵを主体として記載せずに、各デバイス（例えばプリンタ１００）を主体として記載する。
【００２４】
Ｔ５では、端末１０は、ＤＰＰ方式のＢｏｏｔｓｔｒａｐｐｉｎｇ（以下では、単に「ＢＳ」と記載する）をＡＰ６と実行する。当該ＢＳは、ＡＰ６に貼り付けられているＱＲコード（登録商標）が端末１０によって撮影されることに応じて、後述のＴ１０のＡｕｔｈｅｎｔｉｃａｔｉｏｎ（以下では、単に「Ａｕｔｈ」と記載する）で利用される情報をＡＰ６から端末１０に提供する処理である。
【００２５】
Ｔ１０では、端末１０は、Ｔ５のＢＳで取得済みの情報を利用して、ＤＰＰ方式のＡｕｔｈをＡＰ６と実行する。当該Ａｕｔｈは、端末１０及びＡＰ６のそれぞれが通信相手を認証するための処理である。
【００２６】
Ｔ１５では、端末１０は、ＤＰＰ方式のＣｏｎｆｉｇｕｒａｔｉｏｎ（以下では、単に「Ｃｏｎｆｉｇ」と記載する）をＡＰ６と実行する。当該Ｃｏｎｆｉｇは、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続を確立するための情報をＡＰ６に送信する処理である。具体的には、端末１０は、当該Ｃｏｎｆｉｇにおいて、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ接続を確立させるための第１のＣｏｎｆｉｇｕｒａｔｉｏｎ  Ｏｂｊｅｃｔ（以下では、Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｏｂｊｅｃｔのことを単に「ＣＯ」と記載する）を生成して、第１のＣＯをＡＰ６に送信する。この結果、ＡＰ６では、第１のＣＯが記憶される。
【００２７】
次いで、端末１０は、Ｔ２０において、ＤＰＰ方式のＢＳをプリンタ１００と実行する。当該ＢＳは、プリンタ１００が、ＢＴＩ／Ｆ１１８を介して、後述のＴ２５のＡｕｔｈで利用される情報を端末１０に提供する処理である。
【００２８】
Ｔ２５では、端末１０は、Ｔ２０のＢＳで取得済みの情報を利用して、ＤＰＰ方式のＡｕｔｈをプリンタ１００と実行する。当該Ａｕｔｈは、端末１０及びプリンタ１００のそれぞれが通信相手を認証するための処理である。
【００２９】
Ｔ３０では、端末１０は、ＤＰＰ方式のＣｏｎｆｉｇをプリンタ１００と実行する。当該Ｃｏｎｆｉｇは、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続を確立するための情報をプリンタ１００に送信する処理である。端末１０は、当該Ｃｏｎｆｉｇにおいて、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ接続を確立させるための第２のＣＯを生成して、第２のＣＯをプリンタ１００に送信する。この結果、プリンタ１００では、第２のＣＯが記憶される。
【００３０】
Ｔ３５では、プリンタ１００及びＡＰ６は、記憶済みの第１及び第２のＣＯを利用して、ＤＰＰ方式のＮｅｔｗｏｒｋ  Ａｃｃｅｓｓ（以下では、単に「ＮＡ」と記載する）を実行する。ＮＡは、Ｗｉ−Ｆｉ接続を確立するための接続キーをプリンタ１００及びＡＰ６の間で共有するための処理である。
【００３１】
Ｔ４０では、プリンタ１００及びＡＰ６は、４ｗａｙ−ｈａｎｄｓｈａｋｅの通信を実行する。４ｗａｙ−ｈａｎｄｓｈａｋｅの通信の少なくとも一部の過程において、プリンタ１００及びＡＰ６は、Ｔ３５のＮＡで共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、プリンタ１００とＡＰ６との間にＷｉ−Ｆｉ接続が確立される。これにより、プリンタ１００は、ＡＰ６によって形成される無線ネットワークに子局として参加することができ、この結果、ＡＰ６を介して、当該無線ネットワークに参加している他のデバイスとの通信を実行することができる。なお、変形例では、プリンタ１００及びＡＰ６は、４ｗａｙ−ｈａｎｄｓｈａｋｅの通信に代えて、ＳＡＥ（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の略）等）に従って生成されてもよい。
【０１０２】
（変形例５）例えば、図３のＴ１０７において、プリンタ１００は、ＡＤとは異なる信号であって、ＢＴ方式に従った信号（例えばＳｃａｎ  Ｒｅｑｕｅｓｔ）を外部に繰り返し送信してもよい。本変形例では、当該異なる信号が、「特定信号」の一例である。
【０１０３】
（変形例６）プリンタ１００は、図４のＳ５でＮＯと判断する場合に、Ｓ２０及びＳ２５を実行せずに、非実行ＥＮＤとして図４の処理を終了してもよい。また、プリンタ１００は、Ｓ１０でＮＯと判断される場合に、Ｓ２０及びＳ２５を実行せずに、非実行ＥＮＤとして図４の処理を終了してもよい。本変形例では、Ｓ５でＮＯ又はＳ１０でＮＯの場合にＡＲｅｓを送信しないことが、「認証応答の送信は制限される」の一例である。また、本変形例では、「表示制御部」が省略可能である。
【０１０４】
（変形例７）図３のＴ１３２において、端末１０は、ＢＴＩ／Ｆ１８を介して、ＭＡＣアドレス「ｘｘｘ」に代えて、端末１０のデバイス名を含むＡＤをプリンタ１００に送信してもよい。この場合、Ｔ１３４において、プリンタ１００は、ＡＤ内の端末のデバイス名と電波強度「強」とを関連付けて記憶する。また、図５のＴ２００では、プリンタ１００は、端末１０から、Ｗｉ−ＦｉＩ／Ｆ１１６を介して、ＭＡＣアドレス「ｘｘｘ」に代えて、端末１０のデバイス名を含むＡＲｅｑを受信し、メモリ１３４に記憶済みのデバイス名とＡＲｅｑ内のデバイス名とが一致する場合に、Ｔ２０２以降の処理を実行する。本変形例では、端末１０のデバイス名が、「対象識別情報」及び「特定識別情報」の一例である。一般的に言えば、「対象識別情報（又は特定識別情報）」は、「第１の外部装置（又は特定外部装置）」を識別する情報であればよい。
【０１０５】
（変形例８）例えば、図３のＴ１０７及びＴ１２０の処理が省略されてもよい。この場合、プリンタ１００は、Ｔ１３２において、端末１０から、ＢＴＩ／Ｆ１１８を介して、ＡＤを受信した後に、ＢＴＩ／Ｆ１１８を介して、公開鍵ＰＰＫ１等を含むＡＤを端末１０に送信する。即ち、「特定信号受信部」は、「公開鍵」が「第１の外部装置」によって受信される前に、「特定信号」を受信してもよい。
【０１０６】
（変形例９）図２のＴ３５において、端末１０とプリンタ１００との間でＮＡの処理が実行されて、端末１０とプリンタ１００との間でＷｉ−Ｆｉ接続が確立されてもよい。即ち、「第２の外部装置」は、「第１の外部装置」と同じ装置であってもよい。
【０１０７】
（変形例１０）図３のＴ１０７等でプリンタ１００から送信されるＡＤが、さらに、第１種のアプリ４０を起動させるための起動情報を含んでいてもよい。この場合、端末１０は、電源がＯＮされることに応じて、ＢＴＩ／Ｆ１８への通電を開始し、プリンタ１００から起動情報を含むＡＤを受信することに応じて、第１種のアプリ４０を起動して、Ｔ１２２以降の処理を実行する。
【０１０８】
（変形例１１）上記の実施例では、端末１０を利用して、プリンタ１００とＡＰ６との間のＷｉ−Ｆｉ接続が確立される。これに代えて、例えば、端末１０を利用して、ＷＦＤ方式のＧ／Ｏ（Group Ownerの略）として動作するプリンタ１００（即ち親局として動作するデバイス）と、他のデバイス（即ち子局として動作するデバイス）と、の間のＷｉ−Ｆｉ接続が確立されてもよい。即ち、「第２の外部装置」は、「親局装置」でなくてもよい。
【０１０９】
（変形例１２）図９のＴ６５０において、端末５０は、ＭＡＣアドレス「ｙｙｙ」を含まないＡＲｅｑをプリンタ１００に送信してもよい。この場合、プリンタ１００は、端末５０から、Ｗｉ−ＦｉＩ／Ｆ１１６を介して、ＡＲｅｑを受信することに応じて、ＡＲｅｑ内にＭＡＣアドレスが含まれていないと判断して、プリンタ側確認画面ＰＣＳを表示部１１４に表示させてもよい。
【０１１０】
（変形例１３）プリンタ１００が、ＢＴＩ／Ｆ１１８に代えて、ＢＴ方式とは異なる無線通信方式（例えば、ＺｉｇＢｅｅ方式）に従った無線インターフェースを備えていてもよい。本変形例では、当該無線インターフェースが、「第１の無線インターフェース」の一例である。
【０１１１】
（変形例１４）「通信装置」は、プリンタでなくてもよく、スキャナ、多機能機、携帯端末、ＰＣ、サーバ等の他のデバイスであってもよい。
【０１１２】
（変形例１５）上記の各実施例では、図２〜図１０の各処理がソフトウェア（即ちプログラム１３６）によって実現されるが、これらの各処理のうちの少なくとも１つが論理回路等のハードウェアによって実現されてもよい。
【０１１３】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１１４】
２：通信システム、６：ＡＰ、１０，５０：端末、１６，１１６：Ｗｉ−ＦｉＩ／Ｆ、１８，１１８：ＢＴＩ／Ｆ、４０：第１種のアプリケーション、５２：第２種のアプリケーション、１００：プリンタ、１１２：操作部、１１４：表示部、１２０：印刷実行部、１３０：制御部、１３２：ＣＰＵ、１３４：メモリ、１３６：プログラム
【図１】
2019180037.tif 000003
【図２】
2019180037.tif 000004
【図３】
2019180037.tif 000005
【図４】
2019180037.tif 000006
【図５】
2019180037.tif 000007
【図６】
2019180037.tif 000008
【図７】
2019180037.tif 000009
【図８】
2019180037.tif 000010
【図９】
2019180037.tif 000011
【図１０】
2019180037.tif 000012