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