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