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