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