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