(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-28
(45)【発行日】2023-09-05
(54)【発明の名称】通信装置、及び、通信装置のためのコンピュータプログラム
(51)【国際特許分類】
H04W 76/10 20180101AFI20230829BHJP
H04W 84/12 20090101ALI20230829BHJP
H04W 48/20 20090101ALI20230829BHJP
H04W 88/02 20090101ALI20230829BHJP
【FI】
H04W76/10
H04W84/12
H04W48/20
H04W88/02 110
(21)【出願番号】P 2019177704
(22)【出願日】2019-09-27
【審査請求日】2022-08-09
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】柴田 寛
【審査官】青木 健
(56)【参考文献】
【文献】特開2018-042058(JP,A)
【文献】特開2004-007120(JP,A)
【文献】特開2016-052006(JP,A)
【文献】特開2017-050780(JP,A)
【文献】特開2017-069717(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04W 4/00 - 99/00
H04B 7/24 - 7/26
(57)【特許請求の範囲】
【請求項1】
通信装置であって、
Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
前記通信装置の公開鍵を用いて得られる出力情報を外部に出力するための出力制御処理を実行する出力制御部と、
前記公開鍵を取得した端末装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記無線インターフェースを介して、N個(前記Nは2以上の整数)のアクセスポイントに対応するN個の無線設定情報を受信する無線設定情報受信部であって、前記N個の無線設定情報のそれぞれは、当該無線設定情報に対応するアクセスポイントとの無線接続を確立するための情報である、前記無線設定情報受信部と、
前記端末装置から前記N個の無線設定情報が受信される場合に、前記N個の無線設定情報のそれぞれについて、当該無線設定情報を利用して、前記無線インターフェースを介して、確認信号を当該無線設定情報に対応するアクセスポイントに送信する確認信号送信部と、
前記N個のアクセスポイントのうちのM個(前記Mは前記N以下1以上の整数)のアクセスポイントのそれぞれから、前記無線インターフェースを介して、前記確認信号に対する応答信号を受信する応答信号受信部と、
前記M個のアクセスポイントの中から対象アクセスポイントを選択する選択部と、
前記無線インターフェースを介して、選択済みの前記対象アクセスポイントとの無線接続を確立する確立部と、
を備える、通信装置。
【請求項2】
通信装置であって、
表示部と、
Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
前記通信装置の公開鍵を用いて得られる出力情報を外部に出力するための出力制御処理を実行する出力制御部と、
前記公開鍵を取得した端末装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記無線インターフェースを介して、N個(前記Nは1以上の整数)のアクセスポイントに対応するN個の無線設定情報を受信する無線設定情報受信部であって、前記N個の無線設定情報のそれぞれは、当該無線設定情報に対応するアクセスポイントとの無線接続を確立するための情報である、前記無線設定情報受信部と、
前記端末装置から前記N個の無線設定情報が受信される場合に、前記N個の無線設定情報のそれぞれについて、当該無線設定情報を利用して、前記無線インターフェースを介して、確認信号を当該無線設定情報に対応するアクセスポイントに送信する確認信号送信部と、
前記N個のアクセスポイントのうちのM個(前記Mは前記N以下1以上の整数)のアクセスポイントのそれぞれから、前記無線インターフェースを介して、前記確認信号に対する応答信号を受信する応答信号受信部と、
前記M個のアクセスポイントの中から対象アクセスポイントを選択するための選択画面を前記表示部に表示させる第1の表示制御部と、
前記選択画面において、前記M個のアクセスポイントの中から前記対象アクセスポイントが選択される場合に、前記無線インターフェースを介して、選択済みの前記対象アクセスポイントとの無線接続を確立する確立部と、
を備える、通信装置。
【請求項3】
前記第1の表示制御部は、前記通信装置によって前記N個のアクセスポイントのうちのいずれかのアクセスポイントから前記応答信号が受信される場合に、前記選択画面を前記表示部に表示させ、
前記通信装置は、さらに、
前記N個のアクセスポイントのいずれからも前記応答信号が受信されない場合に、アクセスポイントとの無線接続の確立のための動作をユーザに促すための通知画面を前記表示部に表示させる第2の表示制御部を備える、請求項2に記載の通信装置。
【請求項4】
前記確認信号送信部は、前記N個の無線設定情報のうちの第1の無線設定情報が、前記Wi-Fi規格のDPP(Device Provisioning Protocolの略)方式に従った情報を含む場合に、前記DPP方式に従ったDPP Peer Discovery Requestである前記確認信号を、前記第1の無線設定情報に対応する第1のアクセスポイントに送信する、請求項1から3のいずれか一項に記載の通信装置。
【請求項5】
前記確認信号送信部は、前記N個の無線設定情報のうちの第2の無線設定情報が、SSID(Service Set Identifierの略)及びパスワードを含む場合に、Probe Requestである前記確認信号を、前記第2の無線設定情報に対応する第2のアクセスポイントに送信する、請求項1から4のいずれか一項に記載の通信装置。
【請求項6】
前記通信装置は、さらに、
前記端末装置から前記N個の無線設定情報が受信される場合に、前記N個の無線設定情報をメモリに記憶する記憶制御部と、
前記Nが2以上の整数である場合に、前記対象アクセスポイントが選択された後に、前記メモリから、前記N個の無線設定情報のうち、前記対象アクセスポイントに対応する無線設定情報以外の1個以上の無線設定情報を削除する削除部と、を備える、請求項1から5のいずれか一項に記載の通信装置。
【請求項7】
前記通信装置は、さらに、
前記端末装置から前記N個の無線設定情報が受信された後に、前記通信装置の状態を、前記認証応答を送信可能である状態から、前記認証応答を送信不可能である状態に移行する移行部を備える、請求項1から6のいずれか一項に記載の通信装置。
【請求項8】
通信装置のためのコンピュータプログラムであって、
前記通信装置は、
Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記通信装置の公開鍵を用いて得られる出力情報を外部に出力するための出力制御処理を実行する出力制御部と、
前記公開鍵を取得した端末装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記無線インターフェースを介して、N個(前記Nは2以上の整数)のアクセスポイントに対応するN個の無線設定情報を受信する無線設定情報受信部であって、前記N個の無線設定情報のそれぞれは、当該無線設定情報に対応するアクセスポイントとの無線接続を確立するための情報である、前記無線設定情報受信部と、
前記端末装置から前記N個の無線設定情報が受信される場合に、前記N個の無線設定情報のそれぞれについて、当該無線設定情報を利用して、前記無線インターフェースを介して、確認信号を当該無線設定情報に対応するアクセスポイントに送信する確認信号送信部と、
前記N個のアクセスポイントのうちのM個(前記Mは前記N以下1以上の整数)のアクセスポイントのそれぞれから、前記無線インターフェースを介して、前記確認信号に対する応答信号を受信する応答信号受信部と、
前記M個のアクセスポイントの中から対象アクセスポイントを選択する選択部と、
前記無線インターフェースを介して、選択済みの前記対象アクセスポイントとの無線接続を確立する確立部と、
として機能させる、コンピュータプログラム。
【請求項9】
通信装置のためのコンピュータプログラムであって、
前記通信装置は、
Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
表示部と、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記通信装置の公開鍵を用いて得られる出力情報を外部に出力するための出力制御処理を実行する出力制御部と、
前記公開鍵を取得した端末装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記無線インターフェースを介して、N個(前記Nは1以上の整数)のアクセスポイントに対応するN個の無線設定情報を受信する無線設定情報受信部であって、前記N個の無線設定情報のそれぞれは、当該無線設定情報に対応するアクセスポイントとの無線接続を確立するための情報である、前記無線設定情報受信部と、
前記端末装置から前記N個の無線設定情報が受信される場合に、前記N個の無線設定情報のそれぞれについて、当該無線設定情報を利用して、前記無線インターフェースを介して、確認信号を当該無線設定情報に対応するアクセスポイントに送信する確認信号送信部と、
前記N個のアクセスポイントのうちのM個(前記Mは前記N以下1以上の整数)のアクセスポイントのそれぞれから、前記無線インターフェースを介して、前記確認信号に対する応答信号を受信する応答信号受信部と、
前記M個のアクセスポイントの中から対象アクセスポイントを選択するための選択画面を前記表示部に表示させる第1の表示制御部と、
前記選択画面において、前記M個のアクセスポイントの中から前記対象アクセスポイントが選択される場合に、前記無線インターフェースを介して、選択済みの前記対象アクセスポイントとの無線接続を確立する確立部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、端末装置を利用して、通信装置と外部装置との間に無線接続を確立する技術に関する。
【背景技術】
【0002】
非特許文献1には、Wi-Fi Allianceによって策定された無線通信方式であるDPP(Device Provisioning Protocolの略)方式が記述されている。DPP方式は、一対の装置の間にWi-Fi接続を容易に確立させるための無線通信方式である。DPP方式では、Configuratorとして動作する第1の装置は、アクセスポイントとのWi-Fi接続を確立するための無線設定情報をEnrolleeとして動作する第2の装置に送信する。第2の装置は、第1の装置から受信された無線設定情報を利用して、アクセスポイントとのWi-Fi接続を確立する。
【先行技術文献】
【非特許文献】
【0003】
【文献】「Device Provisioning Protocol Technical Specification Version 1.1」 Wi-Fi Alliance, 2018年
【発明の概要】
【発明が解決しようとする課題】
【0004】
第2の装置が、第1の装置から受信された無線設定情報を利用して、アクセスポイントとのWi-Fi接続を確立することができない可能性がある。例えば、第2の装置とアクセスポイントとの間の距離が大きい場合には、第2の装置は、アクセスポイントとのWi-Fi接続を確立することができない。
【0005】
本明細書では、通信装置とアクセスポイントとの間にWi-Fi接続を適切に確立することができる技術を提供する。
【課題を解決するための手段】
【0006】
本明細書で開示する通信装置は、Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、前記通信装置の公開鍵を用いて得られる出力情報を外部に出力するための出力制御処理を実行する出力制御部と、前記公開鍵を取得した端末装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、前記端末装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記無線インターフェースを介して、N個(前記Nは2以上の整数)のアクセスポイントに対応するN個の無線設定情報を受信する無線設定情報受信部であって、前記N個の無線設定情報のそれぞれは、当該無線設定情報に対応するアクセスポイントとの無線接続を確立するための情報である、前記無線設定情報受信部と、前記端末装置から前記N個の無線設定情報が受信される場合に、前記N個の無線設定情報のそれぞれについて、当該無線設定情報を利用して、前記無線インターフェースを介して、確認信号を当該無線設定情報に対応するアクセスポイントに送信する確認信号送信部と、前記N個のアクセスポイントのうちのM個(前記Mは前記N以下1以上の整数)のアクセスポイントのそれぞれから、前記無線インターフェースを介して、前記確認信号に対する応答信号を受信する応答信号受信部と、前記M個のアクセスポイントの中から対象アクセスポイントを選択する選択部と、前記無線インターフェースを介して、選択済みの前記対象アクセスポイントとの無線接続を確立する確立部と、を備える。
【0007】
このような構成によれば、通信装置は、確認信号に対する応答信号を通信装置に送信したM個のアクセスポイント、即ち、通信装置が無線接続を確立可能であるM個の対象アクセスポイントの中から、対象アクセスポイントを選択する。このために、通信装置は、選択済みの対象アクセスポイントとの無線接続を適切に確立することができる。
【0008】
また、本明細書で開示する通信装置は、表示部と、Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、前記通信装置の公開鍵を用いて得られる出力情報を外部に出力するための出力制御処理を実行する出力制御部と、前記公開鍵を取得した端末装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、前記端末装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記無線インターフェースを介して、N個(前記Nは1以上の整数)のアクセスポイントに対応するN個の無線設定情報を受信する無線設定情報受信部であって、前記N個の無線設定情報のそれぞれは、当該無線設定情報に対応するアクセスポイントとの無線接続を確立するための情報である、前記無線設定情報受信部と、前記端末装置から前記N個の無線設定情報が受信される場合に、前記N個の無線設定情報のそれぞれについて、当該無線設定情報を利用して、前記無線インターフェースを介して、確認信号を当該無線設定情報に対応するアクセスポイントに送信する確認信号送信部と、前記N個のアクセスポイントのうちのM個(前記Mは前記N以下1以上の整数)のアクセスポイントのそれぞれから、前記無線インターフェースを介して、前記確認信号に対する応答信号を受信する応答信号受信部と、前記M個のアクセスポイントの中から対象アクセスポイントを選択するための選択画面を前記表示部に表示させる第1の表示制御部と、前記選択画面において、前記M個のアクセスポイントの中から前記対象アクセスポイントが選択される場合に、前記無線インターフェースを介して、選択済みの前記対象アクセスポイントとの無線接続を確立する確立部と、を備える。
【0009】
このような構成によれば、通信装置は、確認信号に対する応答信号を通信装置に送信したM個のアクセスポイント、即ち、通信装置が無線接続を確立可能であるM個のアクセスポイントの中から、対象アクセスポイントを選択するための選択画面を表示する。このために、通信装置は、選択済みの対象アクセスポイントとの無線接続を適切に確立することができる。
【0010】
通信装置のためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体、及び、通信装置によって実行される方法も新規で有用である。また、端末装置と通信装置とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【0011】
【
図2】実施例の概要を説明するための説明図を示す。
【
図3】APとのBootstrappingの処理のシーケンス図を示す。
【
図4】APとのAuthenticationの処理のシーケンス図を示す。
【
図5】APとのConfigurationの処理のシーケンス図を示す。
【
図6】APとのNetwork Accessの処理のシーケンス図を示す。
【
図7】プリンタとのBootstrappingの処理のシーケンス図を示す。
【
図8】プリンタとのAuthenticationの処理のシーケンス図を示す。
【
図9】プリンタとのConfigurationの処理のシーケンス図を示す。
【
図11】接続処理によって実現される処理の具体的なケースを示す。
【発明を実施するための形態】
【0012】
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、3個のAP(Access Pointの略)6、7、8と、端末10と、プリンタ100と、を備える。本実施例では、各AP6、7、8が例えば同じ会社内の異なる部屋に設置されており、プリンタ100が可搬型の小型プリンタである状況を想定している。即ち、プリンタ100が移動して第1のAP6の近くに設置されることもあれば第2のAP7の近くに設置されることもある。このような状況において、本実施例では、プリンタ100が第1のAP6の近くに存在する場合には、プリンタ100と第1のAP6との間にWi-Fi方式に従った無線接続(以下では「Wi-Fi接続」と記載する)を確立させ、プリンタ100が第3のAP8の近くに存在する場合には、プリンタ100と第3のAP8との間にWi-Fi接続を確立させることを実現する。
【0013】
(端末10の構成)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。なお、変形例では、端末10は、据置型のPC、ノートPC等であってもよい。
【0014】
端末10は、カメラ15と、Wi-Fiインターフェース16と、を備える。なお、以下では、インターフェースのことを単に「I/F」と記載する。カメラ15は、物体を撮影するためのデバイスであり、本実施例では、特に、各AP7、8及びプリンタ100のためのQRコード(登録商標)を撮影するために利用される。
【0015】
Wi-FiI/F16は、Wi-Fi方式に従った無線通信(以下では「Wi-Fi通信」と呼ぶ)を実行するための無線インターフェースである。Wi-Fi方式は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば802.11a,11b,11g,11n,11ac等)に従って、無線通信を実行するための無線通信方式である。特に、Wi-FiI/F16は、Wi-Fi Allianceによって策定されたDPP(Device Provisioning Protocolの略)方式をサポートしている。DPP方式は、Wi-Fi Allianceによって作成された規格書である「Device Provisioning Protocol Technical Specification Version 1.1」に記述されており、端末10を利用して、一対のデバイス(例えばプリンタ100とAP7又は8)の間に容易にWi-Fi接続を確立させるための無線通信方式である。
【0016】
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば、端末10等の周辺装置)である。プリンタ100は、操作部112と、表示部114と、Wi-FiI/F116と、印刷実行部118と、制御部130と、を備える。各部112~130は、バス線(符号省略)に接続されている。
【0017】
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。表示部114は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。Wi-FiI/F116は、端末10のWi-FiI/F16と同様である。即ち、Wi-FiI/F116は、DPP方式をサポートしている。また、Wi-FiI/F116には、MACアドレス「macpr」が割り当てられている。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0018】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。
【0019】
(各AP6、7、8の構成)
AP6、7、8は、それぞれ、DPP方式をサポートしている。第1のAP6には、MACアドレス「macap1」が割り当てられている。同様に、第2のAP7には、MACアドレス「macap2」が、第3のAP8には、MACアドレス「macap3」が割り当てられている。また、第1のAP6には、第1のAP6を識別するSSID(Service Set Identifierの略)「ap1」と、第1のAP6によって形成される無線ネットワークで利用されるパスワード「xxx」と、を含むAP情報が記憶されている。同様に、第2のAP7には、SSID「ap2」とパスワード「yyy」とを含むAP情報が、第3のAP8には、SSID「ap3」とパスワード「zzz」とを含むAP情報が記憶されている。
【0020】
(本実施例の概要;
図2)
続いて、
図2を参照して、本実施例の概要を説明する。本実施例では、第1のAP6と端末10が第1のAP6のAP情報を利用した通信を実行することによって、端末10と第1のAP6との間にWi-Fi接続を確立させ、さらに、各デバイス7、8、10,100がDPP方式に従った通信を実行することによって、プリンタ100と第2のAP7又は第3のAP8との間にWi-Fi接続を確立させることを実現する。以下では、特に言及する場合を除き、理解の容易化のために、各デバイスのCPU(例えばCPU132)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えばプリンタ100)を主体として記載する。
【0021】
T2では、ユーザは、第1のAP6のAP情報(SSID「ap1」及びパスワード「xxx」)を端末10に入力する。これにより、T3では、端末10及び第1のAP6は、4way-handshakeの通信を実行する。なお、変形例では、4way-handshakeの通信に代えて、SAE(Simultaneous Authentication of Equalsの略、通称「Dragonfly」)の通信が利用されてもよい。4way-handshakeの通信の少なくとも一部の過程において、端末10及び第1のAP6は、パスワード「xxx」によって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、端末10と第1のAP6との間にWi-Fi接続が確立される。これにより、端末10は、第1のAP6によって形成される無線ネットワークに子局として参加する。この場合、端末10は、第1のAP6を識別するSSID「ap1」を記憶する。なお、以下では、AP情報を利用して確立されるWi-Fi接続を、「Legacy接続」と記載する。
【0022】
次いで、端末10は、ユーザからの操作に応じて、第1のAP6との間のLegacy接続を切断し、第2のAP7とのWi-Fi接続を確立するための処理を実行する。T5では、端末10は、DPP方式のBootstrapping(以下では、単に「BS」と記載する)を第2のAP7と実行する。当該BSは、第2のAP7に貼り付けられているQRコードが端末10によって撮影されることに応じて、後述のT10のAuthentication(以下では、単に「Auth」と記載する)で利用される情報を第2のAP7から端末10に提供する処理である。
【0023】
T10では、端末10は、T5のBSで取得済みの情報を利用して、DPP方式のAuthを第2のAP7と実行する。当該Authは、端末10及び第2のAP7のそれぞれが通信相手を認証するための処理である。
【0024】
T15では、端末10は、DPP方式のConfiguration(以下では、単に「Config」と記載する)を第2のAP7と実行する。当該Configは、第2のAP7がWi-Fi接続を確立するための情報を第2のAP7に送信する処理である。具体的には、端末10は、第2のAP用Configuration Object(以下では、Configuration Objectのことを単に「CO」と記載する)を生成して、第2のAP用COを第2のAP7に送信する。この結果、第2のAP7では、第2のAP用COが記憶される。
【0025】
T20では、端末10は、DPP方式のNetwork Access(以下では、単に「NA」と記載する)を第2のAP7と実行する。端末10は、当該NAにおいて、第2の端末用COを生成する。そして、端末10及び第2のAP7は、第2の端末用CO及び第2のAP用COを利用して、端末10と第2のAP7との間のWi-Fi接続を確立するための接続キーを共有する。
【0026】
T25では、端末10及び第2のAP7は、4way-handshakeの通信を実行する。なお、変形例では、4way-handshakeの通信に代えて、SAEの通信が利用されてもよい。4way-handshakeの通信の少なくとも一部の過程において、端末10及び第2のAP7は、T20のNAで共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、端末10と第2のAP7との間にWi-Fi接続が確立される。これにより、端末10は、第2のAP7によって形成される無線ネットワークに子局として参加する。この場合、端末10は、第2のAP7を識別するSSID「ap2」を記憶する。なお、以下では、DPP方式に従った通信を利用して確立されるWi-Fi接続を、「DPP接続」と記載する。
【0027】
次いで、端末10は、ユーザからの操作に応じて、第2のAP7との間のDPP接続を切断し、第3のAP8とのDPP接続を確立するための処理を実行する。端末10は、T35において、DPP方式のBSを第3のAP8と実行する。当該BSは、第3のAP8に貼り付けられているQRコードが端末10によって撮影されることに応じて、後述のT40のAuthで利用される情報を第3のAP8から端末10に提供する処理である。
【0028】
T40では、端末10は、T35のBSで取得済みの情報を利用して、DPP方式のAuthを第3のAP8と実行する。当該Authは、端末10及び第3のAP8のそれぞれが通信相手を認証するための処理である。
【0029】
T45では、端末10は、DPP方式のConfigを第3のAP8と実行する。当該Configは、第3のAP8がDPP接続を確立するための情報を第3のAP8に送信する処理である。具体的には、端末10は、第3のAP用COを生成して、第3のAP用COを第3のAP8に送信する。この結果、第3のAP8では、第3のAP用COが記憶される。
【0030】
T50では、端末10は、DPP方式のNAを第3のAP8と実行する。端末10は、当該NAにおいて、第3の端末用COを生成する。そして、端末10及び第3のAP8は、第3の端末用CO及び第3のAP用COを利用して、端末10と第3のAP8との間のDPP接続を確立するための接続キーを共有する。
【0031】
T55では、端末10及び第3のAP8は、T50のNAで共有済みの接続キーを利用して、4way-handshakeの通信を実行する。これにより、端末10と第3のAP8との間にDPP接続が確立され、端末10は、第3のAP8によって形成される無線ネットワークに子局として参加する。この場合、端末10は、第3のAP8を識別するSSID「ap3」を記憶する。なお、変形例では、4way-handshakeの通信に代えて、SAEの通信が利用されてもよい。
【0032】
次いで、端末10は、T65において、DPP方式のBSをプリンタ100と実行する。当該BSは、プリンタ100に表示されるQRコードが端末10によって撮影されることに応じて、後述のT70のAuthで利用される情報をプリンタ100から端末10に提供する処理である。
【0033】
T70では、端末10は、T65のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ100と実行する。当該Authは、端末10及びプリンタ100のそれぞれが通信相手を認証するための処理である。
【0034】
T75では、端末10は、DPP方式のConfigをプリンタ100と実行する。当該Configは、プリンタ100がWi-Fi接続を確立するための情報をプリンタ100に送信する処理である。具体的には、端末10は、各AP6、7、8のそれぞれについて、プリンタ用COを生成して、プリンタ用COをプリンタ100に送信する。
【0035】
T85では、プリンタ100は、端末10から受信したプリンタ用COを利用して、後述する接続処理(
図10)を実行する。
図2のケースでは、プリンタ100は、端末10から受信したプリンタ用COのうち、第3のAP8に対応する第3のプリンタ用COを利用して、第3のAP8とのDPP接続を確立する。これにより、プリンタ100は、第3のAP8によって形成される無線ネットワークに子局として参加する。
【0036】
DPP方式では、プリンタ100とAP(例えば第3のAP8)との間にDPP接続を確立させるために、ユーザは、AP情報(即ちSSID、パスワード)をプリンタ100に入力する必要がない。従って、ユーザは、プリンタ100とAPとの間にDPP接続(即ちWi-Fi接続)を容易に確立させることができる。
【0037】
(APとのBootstrapping(BS);
図3)
続いて、
図3~
図12を参照して、
図2のT35~T50、及び、T65~T85において実行される各処理の詳細を説明する。なお、
図2のT5~T25は、第2のAP7との間でBS等の処理が実行される点を除いて、T35~T50と同様なので、詳細な説明は省略する。
【0038】
まず、
図3を参照して、
図2のT35において端末10と第3のAP8との間で実行されるBSの処理を説明する。
図3の初期状態では、第3のAP8は、第3のAP8の公開鍵APK1及び秘密鍵ask1を予め記憶している。また、第3のAP8の公開鍵APK1と、第3のAP8のMACアドレス「macap3」と、をコード化することによって得られるQRコードが、第3のAP8の筐体に貼り付けられている。
【0039】
端末10は、ユーザからの操作に応じて、カメラ15を起動し、T120において、カメラ15を利用して、第3のAP8の筐体に貼り付けられているQRコードを撮影する。そして、端末10は、T122において、撮影済みのQRコードをデコードして、公開鍵APK1とMACアドレス「macap3」とを取得する。T122の処理が終了すると、
図3の処理が終了する。
【0040】
(APとのAuthentication(Auth);
図4)
続いて、
図4を参照して、
図2のT40において端末10と第3のAP8との間で実行されるAuthの処理を説明する。
【0041】
T200では、端末10は、端末10の公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、端末10は、T201において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、
図3のT122で取得された第3のAP8の公開鍵APK1と、を用いて、共有鍵SK1を生成する。そして、端末10は、T202において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。
【0042】
T210では、端末10は、Wi-FiI/F16を介して、
図3のT122で取得されたMACアドレス「macap3」を送信先として、DPP Authentication Request(以下では、単に「AReq」と記載する)を第3のAP8に送信する。AReqは、認証の実行を第3のAP8に要求する信号であり、T200で生成された端末10の公開鍵TPK1と、T202で生成された暗号化データED1と、端末10のcapabilityと、を含む。
【0043】
capabilityは、DPP方式をサポートしている機器において予め指定されている情報であり、DPP方式のConfiguratorのみとして動作可能であることを示す値と、DPP方式のEnrolleeのみとして動作可能であることを示す値と、Configurator及びEnrolleeのどちらとしても動作可能であることを示す値と、のいずれか1個の値を含む。Configuratorは、Config(例えば
図2のT45)において、NA(例えば
図2のT50)で利用されるCOをEnrolleeに送信するデバイスを意味する。一方、Enrolleeは、Configにおいて、ConfiguratorからNAで利用されるCOを受信するデバイスを意味する。上記のように、本実施例では、端末10が第2のAP用CO、第3のAP用CO、又は、第1~第3のプリンタ用COを生成して第2のAP7、第3のAP8、又は、プリンタ100に送信する。従って、端末10のcapabilityは、Configuratorのみとして動作可能であることを示す値を含む。
【0044】
第3のAP8は、T210において、端末10からAReqを受信する。上記のように、当該AReqは、第3のAP8のMACアドレス「macap3」を送信先として送信される。従って、第3のAP8は、端末10から当該AReqを適切に受信することができる。
【0045】
次いで、第3のAP8は、AReqの送信元(即ち端末10)を認証するための以下の処理を実行する。具体的には、第3のAP8は、T212において、ECDHに従って、AReq内の端末10の公開鍵TPK1と、第3のAP8の秘密鍵ask1と、を用いて、共有鍵SK1を生成する。ここで、T201で端末10によって生成される共有鍵SK1と、T212で第3のAP8によって生成される共有鍵SK1と、は同じである。従って、第3のAP8は、T214において、生成済みの共有鍵SK1を用いて、AReq内の暗号化データED1を適切に復号することができ、この結果、ランダム値RV1を取得することができる。第3のAP8は、暗号化データED1の復号が成功する場合には、AReqの送信元が第3のAP8のQRコードを撮影したデバイスであると判断し、即ち、認証が成功したと判断し、T216以降の処理を実行する。一方、第3のAP8は、仮に、暗号化データED1の復号が成功しない場合には、AReqの送信元が第3のAP8のQRコードを撮影したデバイスでないと判断し、即ち、認証が失敗したと判断し、T216以降の処理を実行しない。
【0046】
第3のAP8は、T216において、第3のAP8の新たな公開鍵APK2及び新たな秘密鍵ask2を生成する。なお、変形例では、第3のAP8は、公開鍵APK2及び秘密鍵ask2を予め記憶していてもよい。次いで、第3のAP8は、T217において、ECDHに従って、T210のAReq内の端末10の公開鍵TPK1と、生成済みの第3のAP8の秘密鍵ask2と、を用いて、共有鍵SK2を生成する。そして、第3のAP8は、T218において、生成済みの共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
【0047】
T220では、第3のAP8は、DPP Authentication Response(以下では、単に「ARes」と記載する)を端末10に送信する。当該AResは、T216で生成された第3のAP8の公開鍵APK2と、T218で生成された暗号化データED2と、第3のAP8のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
【0048】
端末10は、T220において、Wi-FiI/F16を介して、第3のAP8からAResを受信することに応じて、当該AResの送信元(即ち第3のAP8)を認証するための以下の処理を実行する。具体的には、端末10は、T222において、ECDHに従って、T200で生成された端末10の秘密鍵tsk1と、ARes内の第3のAP8の公開鍵APK2と、を用いて、共有鍵SK2を生成する。ここで、T217で第3のAP8によって生成される共有鍵SK2と、T222で端末10によって生成される共有鍵SK2と、は同じである。従って、端末10は、T224において、生成済みの共有鍵SK2を用いて、ARes内の暗号化データED2を適切に復号することができ、この結果、ランダム値RV1及びRV2を取得することができる。端末10は、暗号化データED2の復号が成功する場合には、AResの送信元が撮影済みのQRコードを有するデバイスであると判断し、即ち、認証が成功したと判断し、T230以降の処理を実行する。一方、端末10は、仮に、暗号化データED2の復号が成功しない場合には、AResの送信元が撮影済みのQRコードを有するデバイスでないと判断し、即ち、認証が失敗したと判断し、T230以降の処理を実行しない。
【0049】
T230では、端末10は、Wi-FiI/F16を介して、Confirmを第3のAP8に送信する。Confirmは、端末10がConfiguratorとして動作し、かつ、第3のAP8がEnrolleeとして動作することを示す情報を含む。この結果、T232において、Configuratorとして動作することが端末10によって決定され、T234において、Enrolleeとして動作することが第3のAP8によって決定される。T234の処理が終了すると、
図4の処理が終了する。なお、
図4の処理が終了すると、端末10は、公開鍵TPK1及び秘密鍵tsk1を破棄する。
【0050】
(APとのConfiguration(Config);
図5)
続いて、
図5を参照して、
図2のT45において端末10と第3のAP8との間で実行されるConfigの処理を説明する。
【0051】
T300では、第3のAP8は、DPP Configuration Request(以下では、単に「CReq」と記載する)を端末10に送信する。当該CReqは、第3のAP用COの送信を要求する信号である。
【0052】
端末10は、T300において、第3のAP8から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10は、T302において、端末10のメモリ(図示省略)から公開鍵TPK2及び秘密鍵tsk2を取得する。公開鍵TPK2及び秘密鍵tsk2は、第3のAP8とのConfigの前に実行された第2のAP7とのConfig(
図2の15)において、第2のAP用COを生成する際に利用された公開鍵及び秘密鍵と同じである。次いで、端末10は、T304において、取得済みの秘密鍵tsk2を利用して、第3のAP用COを生成する。具体的には、端末10は、以下の各処理を実行する。
【0053】
端末10は、まず、端末10の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10は、ハッシュ値HVと、グループID「office3」と、
図4のT220のARes内の第3のAP8の公開鍵APK2と、の組み合わせをハッシュ化することによって、第1の値を生成する。そして、端末10は、ECDSA(Elliptic Curve Digital Signature Algorithmの略)に従って、端末10の秘密鍵tsk2を利用して、生成済みの第1の値を暗号化することによって、電子署名DSap3を生成する。この結果、端末10は、ハッシュ値HVと、グループID「office3」と、第3のAP8の公開鍵APK2と、電子署名DSap3と、を含む第3のAP用Signed-Connector(以下では、Signed-Connectorのことを単に「SC」と記載する)を生成することができる。そして、端末10は、第3のAP用SCと、端末10の公開鍵TPK2と、を含む第3のAP用COを生成する。なお、グループID「office3」は、第3のAP8によって形成される無線ネットワークを識別するIDである。グループID「office3」は、ユーザによって端末10に入力される。
【0054】
T310では、端末10は、Wi-FiI/F16を介して、第3のAP用COを含むDPP Configuration Response(以下では、単に「CRes」と記載する)を第3のAP8に送信する。
【0055】
第3のAP8は、T310において、端末10からCResを受信する。この場合、第3のAP8は、T312において、当該CRes内の第3のAP用COを記憶する。T312の処理が終了すると、
図5の処理が終了する。
【0056】
(APとのNetwork Access(NA);
図6)
続いて、
図6を参照して、
図2のT50において端末10と第3のAP8との間で実行されるNAの処理を説明する。
【0057】
T400では、端末10は、端末10の新たな公開鍵TPK3及び秘密鍵tsk3を生成する。次いで、T402において、端末10は、
図5のT302で取得された端末10の秘密鍵tsk2を利用して、第3の端末用COを生成する。具体的には、端末10は、以下の各処理を実行する。
【0058】
端末10は、まず、端末10の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10は、ハッシュ値HVと、グループID「office3」と、T400で生成された端末10の公開鍵TPK3と、の組み合わせをハッシュ化することによって、第2の値を生成する。そして、端末10は、ECDSAに従って、端末10の秘密鍵tsk2を利用して、生成済みの第2の値を暗号化することによって、電子署名DSte3を生成する。この結果、端末10は、ハッシュ値HVと、グループID「office3」と、端末10の公開鍵TPK3と、電子署名DSte3と、を含む第3の端末用SCを生成することができる。第3の端末用SCに含まれるハッシュ値HV及びグループID「office3」は、それぞれ、第3のAP用SCに含まれるハッシュ値HV及びグループID「office3」と同じである。第3の端末用SCに含まれる公開鍵TPK3及び電子署名DSte3は、それぞれ、第3のAP用SCに含まれる公開鍵APK2及び電子署名DSap3とは異なる。そして、端末10は、第3の端末用SCと、端末10の公開鍵TPK2と、を含む第3の端末用COを生成して記憶する。
【0059】
T410では、端末10は、Wi-FiI/F16を介して、第3の端末用SCを含むDPP Peer Discovery Request(以下では、単に「DReq」と記載する)を第3のAP8に送信する。当該DReqは、認証の実行と、第3のAP用SCの送信と、を第3のAP8に要求する信号である。
【0060】
第3のAP8は、T410において、端末10からDReqを受信することに応じて、DReqの送信元(即ち端末10)、及び、DReq内の各情報(即ち、ハッシュ値HV、「office3」、及び、公開鍵TPK3)を認証するための処理を実行する。具体的には、第3のAP8は、T412において、まず、第3の端末用SC内のハッシュ値HV及びグループID「office3」が、それぞれ、第3のAP用SC内のハッシュ値HV及びグループID「office3」に一致するのか否かに関する第1のAP判断処理を実行する。
図6のケースでは、第3のAP8は、第1のAP判断処理で「一致する」と判断するので、DReqの送信元(即ち端末10)の認証が成功したと判断する。なお、第1のAP判断処理で「一致する」と判断することは、第3の端末用SC及び第3のAP用SCが同じ装置(即ち端末10)によって生成されたことを意味する。従って、第3のAP8は、第3の端末用SCの生成元(即ち端末10)の認証が成功したとも判断する。さらに、第3のAP8は、第3のAP用COに含まれる端末10の公開鍵TPK2を用いて、第3の端末用SC内の電子署名DSte3を復号する。
図6のケースでは、電子署名DSte3の復号が成功するので、第3のAP8は、電子署名DSte3を復号することによって得られた第2の値と、第3の端末用SC内の各情報(即ち、ハッシュ値HV、「office3」、及び、公開鍵TPK3)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のAP判断処理を実行する。
図6のケースでは、第3のAP8は、第2のAP判断処理で「一致する」と判断するので、DReq内の各情報の認証が成功したと判断し、T414以降の処理を実行する。なお、第2のAP判断処理で「一致する」と判断することは、第3の端末用COが端末10に記憶された後に、第3の端末用SC内の各情報が第三者によって改ざんされていないことを意味する。なお、後述の電子署名を利用した認証も、第三者によって情報が改ざんされていないことを確認するための処理である。一方、第1のAP判断処理で「一致しない」と判断される場合、電子署名DSte3の復号が失敗する場合、又は、第2のAP判断処理で「一致しない」と判断される場合には、第3のAP8は、認証が失敗したと判断し、T414以降の処理を実行しない。
【0061】
次いで、第3のAP8は、T414において、ECDHに従って、第3の端末用SC内の公開鍵TPK3と、第3のAP8の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CK1を生成する。
【0062】
T420では、第3のAP8は、第3のAP用SCを含むDPP Peer Discovery Response(以下では、単に「DRes」と記載する)を端末10に送信する。
【0063】
端末10は、T420において、Wi-FiI/F16を介して、第3のAP8からDResを受信することに応じて、DResの送信元(即ち第3のAP8)、及び、DRes内の各情報(即ち、ハッシュ値HV、「office3」、及び、公開鍵APK2)を認証するための処理を実行する。具体的には、端末10は、T422において、まず、第3のAP用SC内のハッシュ値HV及びグループID「office3」が、それぞれ、第3の端末用SC内のハッシュ値HV及びグループID「office3」に一致するのか否かに関する第1のTE判断処理を実行する。
図6のケースでは、端末10は、第1のTE判断処理で「一致する」と判断するので、DResの送信元(即ち第3のAP8)の認証が成功したと判断する。なお、第1のTE判断処理で「一致する」と判断することは、第3の端末用SC及び第3のAP用SCが同じ装置(即ち端末10)によって生成されたことを意味する。従って、端末10は、第3の端末用SCの生成元(即ち端末10)の認証が成功したとも判断する。さらに、端末10は、第3の端末用COに含まれる端末10の公開鍵TPK2を用いて、第3のAP用SC内の電子署名DSap3を復号する。
図6のケースでは、電子署名DSap3の復号が成功するので、端末10は、電子署名DSap3を復号することによって得られた第1の値と、第3のAP用SC内の各情報(即ち、ハッシュ値HV、「office3」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のTE判断処理を実行する。
図6のケースでは、端末10は、第2のTE判断処理で「一致する」と判断するので、DRes内の各情報の認証が成功したと判断し、T424以降の処理を実行する。一方、第1のTE判断処理で「一致しない」と判断される場合、電子署名DSap3の復号が失敗する場合、又は、第2のTE判断処理で「一致しない」と判断される場合には、端末10は、認証が失敗したと判断し、T424以降の処理を実行しない。
【0064】
端末10は、T424において、ECDHに従って、端末10の秘密鍵tsk3と、第3のAP用SC内の公開鍵APK2と、を用いて、接続キーCK1を生成する。ここで、T414で第3のAP8によって生成される接続キーCK1と、T424で端末10によって生成される接続キーCK1と、は同じである。これにより、DPP接続を確立するための接続キーCK1が端末10及び第3のAP8の間で共有される。
【0065】
接続キーCK1が端末10及び第3のAP8の間で共有された後に、T425において、端末10及び第3のAP8は、接続キーCK1を利用して、4way-handshakeの通信を実行する(
図2のT55)。この結果、端末10と第3のAP8との間にDPP接続が確立される。これにより、端末10は、第3のAP8が親局として動作する無線ネットワークであって、グループID「office3」によって識別される無線ネットワークに子局として参加する。端末10は、第3のAP8とのDPP接続が確立される場合に、第3のAP8のSSID「ap3」を第3の端末用COと関連付けて記憶する。
【0066】
(プリンタ100とのBootstrapping(BS);
図7)
続いて、
図7を参照して、
図2のT65において端末10とプリンタ100との間で実行されるBSの処理を説明する。
図7の初期状態では、端末10は、第1のAP6のAP情報(SSID「ap1」とパスワード「xxx」)と、端末10の公開鍵TPK2及び秘密鍵tsk2(
図5のT302参照)と、端末10の公開鍵TPK5及び秘密鍵tsk5と、第2の端末用CO(
図2のT20参照)と、端末10の公開鍵TPK3及び秘密鍵tsk3(
図6のT400参照)と、第3の端末用CO(
図2のT50、
図6のT402参照)と、を記憶している。ここで、公開鍵TPK5及び秘密鍵tsk5は、第2のAP7とのNAにおいて、第2の端末用COを生成する際に利用された公開鍵及び秘密鍵である。公開鍵TPK5及び秘密鍵tsk5を生成する処理は、
図6のT400と同様である。第2の端末用COは、第2の端末用SCと、公開鍵TPK2と、を含む。第2の端末用SCは、ハッシュ値HVと、グループID「office2」と、端末10の公開鍵TPK5と、電子署名DSte2と、を含む。グループID「office2」は、第2のAP7によって形成される無線ネットワークを識別するIDである。電子署名DSte2は、ハッシュ値HVと、グループID「office2」と、端末10の公開鍵TPK5と、端末10の秘密鍵tsk2を利用して生成される。
【0067】
また、プリンタ100は、プリンタ100の公開鍵PPK1及び秘密鍵psk1をメモリ134内に予め記憶している。
【0068】
プリンタ100は、T510において、QRコードを表示するためのQRコード表示操作がユーザによって実行されることに応じて、T512において、プリンタ100の状態を応答不可能状態から応答可能状態に移行する。応答不可能状態は、Wi-FiI/F116が、端末10からAReqを受信しても、AResを送信しない状態である。可能状態は、Wi-FiI/F116が、端末10からAReqを受信することに応じて、AResを端末10に送信する状態である。即ち、プリンタ100は、不可能状態から可能状態に移行することによって、Auth(
図2のT70)を実行可能な状態になる。具体的には、本実施例では、応答不可能状態は、Wi-FiI/F116が、外部から信号を受信しても、当該信号をCPU132に供給しない状態である。また、応答可能状態は、Wi-FiI/F116が、外部から信号を受信することに応じて、当該信号をCPU132に供給し、当該信号に対する応答を送信する状態である。応答可能状態は、CPU132が外部から受信した信号を処理する状態であるので、応答不可能状態と比較して処理負荷が高い。なお、変形例では、応答不可能状態がWi-FiI/F116に通電されていない状態であり、応答可能状態がWi-FiI/F116に通電されている状態であってもよい。また、別の変形例では、応答不可能状態は、Wi-FiI/F116が、外部からAReqを受信しても、AReqが受信されたことを示す通知をCPU132に供給しない状態であり、応答可能状態は、Wi-FiI/F116が、外部からAReqを受信することに応じて、AReqが受信されたことを示す通知をCPU132に供給する状態であってもよい。
【0069】
次いで、プリンタ100は、T514において、QRコードを表示部114に表示する。当該QRコードは、メモリ134に予め記憶されている公開鍵PPK1と、プリンタ100のMACアドレス「macpr」と、がコード化されることによって得られるコード画像である。当該QRコードは、T514においてプリンタ100によって生成されてもよいし、プリンタ100の出荷段階からメモリ134に予め記憶されていてもよい。
【0070】
端末10は、T520において、カメラ15を利用して、プリンタ100に表示されたQRコードを撮影する。そして、端末10は、T522において、撮影済みのQRコードをデコードして、公開鍵PPK1とMACアドレス「macpr」とを取得する。T522の処理が終了すると、
図7の処理が終了する。
【0071】
(プリンタ100とのAuthentication(Auth);
図8)
続いて、
図8を参照して、
図2のT70において端末10とプリンタ100との間で実行されるAuthの処理を説明する。
【0072】
端末10は、T600において、端末10の新たな公開鍵TPK6及び秘密鍵tsk6を生成し、T601において、ECDHに従って、生成済みの秘密鍵tsk6と、
図7のT522で取得されたプリンタ100の公開鍵PPK1と、を用いて、共有鍵SK5を生成する。そして、端末10は、T602おいて、生成済みの共有鍵SK5を用いてランダム値RV5を暗号化して、暗号化データED5を生成する。
【0073】
T610では、端末10は、Wi-FiI/F16を介して、
図7のT522で取得されたMACアドレス「macpr」を送信先として、AReqをプリンタ100に送信する。当該AReqは、T600で生成された端末10の公開鍵TPK6と、T602で生成された暗号化データED5と、端末10のcapabilityと、を含む。当該capabilityは、Configuratorのみとして動作可能であることを示す値を含む。
【0074】
プリンタ100は、T610において、端末10から、Wi-FiI/F116を介して、AReqを受信する。当該AReqがプリンタ100のMACアドレス「macpr」を送信先として送信されるので、プリンタ100は、当該AReqを適切に受信することができる。
【0075】
次いで、プリンタ100は、AReqの送信元(即ち端末10)を認証するためのT612及びT614の処理を実行する。T612及びT614は、実行主体がプリンタ100である点、及び、利用されるデータ(鍵、暗号化データ等)が異なる点を除くと、
図4のT212及びT214と同様である。即ち、プリンタ100は、T612において、公開鍵TPK6と秘密鍵psk1とを用いて共有鍵SK5を生成し、T614において、共有鍵SK5を用いてAReq内の暗号化データED5を復号する。この場合、プリンタ100は、認証が成功したと判断し、T616以降の処理を実行する。
【0076】
プリンタ100は、T616において、プリンタ100の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。なお、変形例では、公開鍵PPK2及び秘密鍵psk2は、メモリ134に予め記憶されていてもよい。続いて実行されるT617及びT618は、実行主体がプリンタ100である点、及び、利用されるデータ(鍵、暗号化データ等)が異なる点を除くと、
図4のT217及びT218と同様である。即ち、プリンタ100は、T617において、公開鍵TPK6と秘密鍵psk2とを用いて共有鍵SK6を生成し、T618において、共有鍵SK6を用いてランダム値RV5、RV6を暗号化して暗号化データED6を生成する。
【0077】
T620では、プリンタ100は、Wi-FiI/F116を介して、AResを端末10に送信する。当該AResは、T616で生成されたプリンタ100の公開鍵PPK2と、T618で生成された暗号化データED6と、プリンタ100のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
【0078】
T622~T634は、通信対象がプリンタ100である点、及び、利用されるデータ(鍵、暗号化データ等)が異なる点を除いて、
図4のT222~T234と同様である。この結果、Configuratorとして動作することが端末10によって決定され、Enrolleeとして動作することがプリンタ100によって決定される。T634の処理が終了すると、
図8の処理が終了する。なお、
図8の処理が終了すると、端末10は公開鍵TPK6及び秘密鍵tsk6を破棄する。
【0079】
(プリンタ100とのConfiguration(Config);
図9)
続いて、
図9を参照して、
図2のT75において端末10とプリンタ100との間で実行されるConfigの処理を説明する。
【0080】
T700では、プリンタ100は、Wi-FiI/F116を介して、CReqを端末10に送信する。当該CReqは、プリンタ用COの送信を要求する信号である。
【0081】
端末10は、T700において、プリンタ100から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10は、T702において、端末10のメモリ(図示省略)から端末10の公開鍵TPK2及び秘密鍵tsk2を取得する。
【0082】
T704a~T704cでは、端末10は、プリンタ用COを生成する。T704aでは、端末10は、第1のAP6に対応する第1のプリンタ用COを生成する。第1のプリンタ用COは、第1のAP6のAP情報内のSSID「ap1」と、セキュリティ情報と、AKM「psk」と、を含む。セキュリティ情報は、端末10が確立するLegacy接続のセキュリティに関する情報であり、第1のAP6のAP情報内のパスワード「xxx」と、その他の関係情報(例えば、当該Legacy接続の確立にパスワードを利用するのか否かを示す情報、当該パスワード(即ち文字列)の長さや構成の制限を示す情報等)と、を含む。端末10は、セキュリティ情報が一致するAPとの間にLegacy接続を確立することができる。別言すれば、端末10は、セキュリティ情報が一致しないAPとの間にLegacy接続を確立することができない。AKM「psk」は、第1のプリンタ用COがLegacy接続を確立するためのCOであることを示す値である。
【0083】
T704bでは、端末10は、第2のAP7に対応する第2のプリンタ用COを生成する。具体的には、端末10は、まず、端末10の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10は、ハッシュ値HVと、グループID「office2」と、
図8のT620のARes内のプリンタ100の公開鍵PPK2と、の組み合わせをハッシュ化することによって、第3の値を生成する。そして、端末10は、ECDSAに従って、端末10の秘密鍵tsk2を利用して、生成済みの第3の値を暗号化することによって、電子署名DSpr2を生成する。この結果、端末10は、ハッシュ値HVと、グループID「office2」と、プリンタ100の公開鍵PPK2と、電子署名DSpr2と、を含む第2のプリンタ用SCを生成する。また、端末10は、端末10のメモリ(図示省略)から、グループID「office2」を含む第2の端末用COに関連付けて記憶されている第2のAP7のSSID「ap2」を取得する。そして、端末10は、第2のプリンタ用SCと、端末10の公開鍵TPK2と、SSID「ap2」と、AKM「dpp」と、を含む第2のプリンタ用COを生成する。AKM「dpp」は、第2のプリンタ用COがDPP接続を確立するためのCOであることを示す値である。
【0084】
T704cでは、端末10は、第3のAP8に対応する第3のプリンタ用COを生成する。T704cは、利用されるデータ(グループID等)が異なる点を除くと、T704bと同様である。第3のプリンタ用COは、第3のプリンタ用SCと、公開鍵TPK2と、第3のAP8のSSID「ap3」と、AKM「dpp」と、を含む。第3のプリンタ用SCは、ハッシュ値HVと、グループID「office3」と、プリンタ100の公開鍵PPK2と、電子署名DSpr3と、を含む。電子署名DSpr3は、ハッシュ値HVと、グループID「office3」と、プリンタ100の公開鍵PPK2と、秘密鍵tsk2を利用して、生成される。
【0085】
T710では、端末10は、Wi-FiI/F16を介して、T704a~T704cで生成された第1~第3のプリンタ用COを含むCResをプリンタ100に送信する。
【0086】
プリンタ100は、T710において、端末10から、Wi-FiI/F116を介して、CResを受信する。この場合、プリンタ100は、T712において、当該CRes内の第1~第3のプリンタ用COをメモリ134に記憶する。そして、プリンタ100は、後述する接続処理(
図10)を実行する。
【0087】
(接続処理;
図10)
図10を参照して、プリンタ100のCPU132がプログラム136に従って実行する接続処理について説明する。S10では、CPU132は、
図9のT710で端末10から受信した第1~第3のプリンタ用COの中から1個のプリンタ用COを選択する。
【0088】
S12では、CPU132は、S10で選択されたプリンタ用CO内のAKMが「dpp」を示すのか否かを判断する。CPU132は、AKMが「dpp」を示すと判断する場合(S12でYES)、即ち、S10で選択されたプリンタ用COがDPP接続を確立するためのプリンタ用COである場合に、S14に進む。
【0089】
S14では、CPU132は、Wi-FiI/F116を介して、S10で選択されたプリンタ用COを含むDReq(
図6のT410参照)をブロードキャストに送信する。当該DReqは、認証の実行と、AP用SCの送信と、をAPに要求する信号であるとともに、当該APとのDPP接続を確立することができるのか否かを確認するための信号である。なお、変形例では、当該DReqは、ユニキャストに送信されてもよい。
【0090】
S16では、CPU132は、APから、Wi-FiI/F116を介して、S14で送信されたDReq(以下、「対象DReq」と記載する)に対するDResを受信するのか否かを判断する。DResが受信されない状況は、例えば、以下の2個の状況が想定される。第1の状況は、プリンタ100の近くにAPが設置されていないことに起因して、当該APが対象DReqを受信することができない状況である。第2状況は、プリンタ100の近くのAPが対象DReqを受信することができるものの、当該APが認証を失敗する(例えば、当該APが対象DReq内のCOに含まれるグループIDと一致するグループIDを記憶していない)状況である。この状況では、認証が失敗するので、APがDResを送信せず、APからDResが受信されない。また、DResが受信される状況は、プリンタ100の近くのAPが対象DReqを受信することができ、かつ、当該APが認証を成功する状況である。
【0091】
CPU132は、対象DReqに対するDResを受信したと判断する場合(S16でYES)に、S17において、DResの送信元とDRes内の各情報(即ち、ハッシュ値、グループID、公開鍵)の認証及び接続キーの生成を実行する(
図6のT422、T424参照)。そして、CPU132は、S18において、S10で選択されたCOを選択対象として決定し、S30に進む。一方、CPU132は、対象DReqに対するDResを受信しないと判断する場合(S16でNO)に、S17及びS18をスキップして、S30に進む。なお、仮に、S17において認証が失敗する場合には、CPU132は、S18をスキップして、S30に進む。
【0092】
また、CPU132は、AKMが「psk」を示すと判断する場合(S12でNO)、即ち、S10で選択されたプリンタ用COがLegacy接続を確立するためのプリンタ用COである場合に、S24に進む。
【0093】
S24では、CPU132は、Wi-FiI/F116を介して、Wi-Fi方式に従ったProbe Request(以下では、単に「PReq」と記載する)をブロードキャストに送信する。当該PReqは、S10で選択されたプリンタ用COに含まれるSSIDを含み、当該SSIDによって識別されるAPとのDPP接続を確立することができるのか否かを確認するための信号である。なお、変形例では、当該PReqは、ユニキャストに送信されてもよい。
【0094】
S25では、CPU132は、APから、Wi-FiI/F116を介して、S24で送信されたPReq(以下、「対象PReq」と記載する)に対するProbe Response(以下では、単に「PRes」と記載する)を受信するのか否かを判断する。PResが受信されない状況は、例えば、以下の2個の状況が想定される。第1の状況は、プリンタ100の近くにAPが設置されていないことに起因して、当該APが対象PReqを受信することができない状況である。第2状況は、プリンタ100の近くのAPが対象PReqを受信することができるものの、対象PReqに含まれるSSIDが当該APに記憶されているAPと一致しない状況である。SSIDが一致しないので、APがPResを送信せずに、APからPResが受信されない。また、PResが受信される状況は、プリンタ100の近くのAPが対象PReqを受信することができ、かつ、対象PReqに含まれるSSIDが当該APに記憶されているAPと一致する状況である。
【0095】
CPU132は、対象PReqに対するPResを受信したと判断する場合(S25でYES)に、S26に進み、対象PReqに対するPResを受信しないと判断する場合(S16でNO)に、S26及びS28をスキップして、S30に進む。
【0096】
S26では、CPU132は、S10で選択されたプリンタ用COに含まれるセキュリティ情報内の関係情報がS25で受信されたPRes内の情報(即ちPResの送信元であるAPのセキュリティに関する関係情報)と一致するのか否かを判断する。CPU132は、両情報が一致すると判断する場合(S26でYES)に、S28に進み、両情報が一致しないと判断する場合(S26でNO)に、S28をスキップして、S30に進む。S28は、S18と同様である。
【0097】
S30では、CPU132は、
図9のT710で端末10から受信した第1~第3のプリンタ用COの中に未選択のプリンタ用COが存在するのか否かを判断する。CPU132は、未選択のプリンタ用COが存在すると判断する場合(S30でYES)に、S10に戻り、第1~第3のプリンタ用COの中から新たなプリンタ用COを選択する。一方、CPU132は、未選択のプリンタ用COが存在しないと判断する場合(S30でNO)に、S32に進む。
【0098】
S32では、CPU132は、S18及びS28において選択対象として決定された1個以上のプリンタ用COが存在するのか否かを判断する。CPU132は、
図9のT710で端末10から受信した第1~第3のプリンタ用COの中のいずれのプリンタ用COも選択対象として選択されなかったと判断する場合(S32でNO)に、S50において、通知画面を表示部114に表示させる。通知画面は、APとのWi-Fi接続の確立のための動作をユーザに促すための様々なメッセージを含む。様々なメッセージは、例えば、各AP6、7、8とは異なるAPであって、プリンタ100の近くに存在するAPとのBSの実行をユーザに促すためのメッセージや、プリンタ100をAP6、7、8のいずかのAPに近づけるための動作をユーザに促すためのメッセージ等を含む。これにより、APとのWi-Fi接続の確立のための動作をユーザに知らせることができる。S50が終了すると、
図10の処理が終了する。
【0099】
また、CPU132は、選択対象として決定された1個以上のプリンタ用COが存在すると判断する場合(S32でYES)に、S34において、選択画面を表示部114に表示させる。選択画面は、S18及びS28において選択対象として決定された1個以上のプリンタ用COに対応する1個以上のAPの中から接続対象のAP(以下では、「対象AP」と記載する)を選択するための画面である。選択画面は、当該1個以上のAPに対応する1個以上のSSIDを含む。
【0100】
次いで、S36では、CPU132は、選択画面において1個以上のSSIDの中から対象APに対応する対象SSIDを選択する操作を受け付けることを監視する。CPU132は、対象SSIDを選択する操作が受け付けられる場合(S36でYES)に、S38に進む。
【0101】
S38では、CPU132は、第1~第3のプリンタ用COのうち、S36で選択された対象SSIDを含むプリンタ用CO(以下では、「対象CO」と記載する)以外の2個のCOをメモリ134から削除する。不必要なCOを削減することによって、メモリ134の記憶容量の使用量が増大することを抑制することができる。
【0102】
次いで、S40では、CPU132は、対象CO内のAP情報又はS17で生成された接続キーを利用して、4way-handshakeの通信を実行する。これにより、プリンタ100と対象APとの間にWi-Fi接続(即ちLegacy接続又はDPP接続)が確立される。
【0103】
次いで、S42では、CPU132は、プリンタ100の状態を応答可能状態から応答不可能状態に移行する。上記したように、応答可能状態は、応答不可能状態と比較して処理負荷が高い。応答可能状態を維持する比較例と比較して、応答不可能状態に移行することによって、プリンタ100の処理負荷を低減することができる。S42の処理が終了すると、
図10の処理が終了する。
【0104】
【0105】
T720では、プリンタ100は、第1~第3のプリンタ用COの中から第1のプリンタ用COを選択する(
図10のS10)。T722では、プリンタ100は、第1のプリンタ用CO内のAKMが「psk」を示すと判断する(S12でNO)。そして、T724では、プリンタ100は、第1のプリンタ用CO内のSSID「ap1」を含む対象PReqをブロードキャストに送信する(S24)。本ケースでは、第1のプリンタ用COに対応する第1のAP6は、プリンタ100の近くに設定されている。このため、T726では、プリンタ100は、第1のAP6からPResを受信する(S25でYES)。
【0106】
本ケースでは、第1のプリンタ用COに含まれるセキュリティ情報内の関係情報がT726のPRes内の情報(即ち第1のAP6のセキュリティに関する関係情報)と一致する。このため、T728では、プリンタ100は、両情報が一致すると判断し(S26でYES)、第1のプリンタ用COを選択対象に決定する(S28)。
【0107】
次いで、T740では、プリンタ100は、第2、第3のプリンタ用COの中から第2のプリンタ用COを選択する(S30でYES、S10)。T742では、プリンタ100は、第2のプリンタ用CO内のAKMが「dpp」を示すと判断する(S12でYES)。そして、T744では、プリンタ100は、第2のプリンタ用COを含む対象DReqをブロードキャストに送信する(S14)。本ケースでは、第2のプリンタ用COに対応する第2のAP7は、プリンタ100の近くに設定されてない。このため、T748では、プリンタ100は、対象DReqに対するDResを受信しないと判断し(S16でNO)、第2のプリンタ用COを選択対象として決定しない。
【0108】
次いで、T760では、プリンタ100は、残りの第3のプリンタ用COを選択する(S30でYES、S10)。T762では、プリンタ100は、第3のプリンタ用CO内のAKMが「dpp」を示すと判断する(S12でYES)。そして、T764では、プリンタ100は、第3のプリンタ用SCを含む対象DReqをブロードキャストに送信する(S14)。
【0109】
本ケースでは、第3のプリンタ用COに対応する第3のAP8は、プリンタ100の近くに設置されている。このため、T764では、第3のAP8は、プリンタ100から対象DReqを受信する。そして、T766では、第3のAP8は、対象DReqの送信元(即ちプリンタ100)及び対象DReq内の各情報(即ち、ハッシュ値HV、「office3」、及び、公開鍵PPK2)を認証し、当該認証が成功し、接続キーCK2を生成する。T766の処理は、利用されるデータ(鍵、電子署名等)が異なる点を除いて、
図6のT412及びT414と同様である。接続キーCK2は、第3のプリンタ用SC内の公開鍵PPK2と、第3のAP8の秘密鍵ask2と、を用いて生成される。T768では、第3のAP8は、対象DReqに対するDResをプリンタ100に送信する。当該DResは、第3のAP用SCを含む。
【0110】
プリンタ100は、T768において、第3のAP8からDResを受信すると(S16でYES)、T770において、DResの送信元(即ち第3のAP8)及びDRes内の各情報(即ち、ハッシュ値HV、「office3」、及び、公開鍵APK2)を認証し、当該認証が成功し、接続キーCK2を生成する(S17)。T770の処理は、実行主体がプリンタ100である点、及び、利用されるデータ(鍵、電子署名等)が異なる点を除いて、
図6のT422及びT424と同様である。接続キーCK2は、プリンタ100の秘密鍵psk2と、第3のAP用SC内の公開鍵APK2と、を用いて生成される。T772では、プリンタ100は、第3のプリンタ用COを選択対象に決定する(S18)。
【0111】
次いで、T780では、プリンタ100は、選択対象として決定された第1及び第3のプリンタ用COが存在すると判断する(S30でNO、S32でYES)。そして、T782では、プリンタ100は、第1のAP6のSSID「ap1」と、第3のAP8のSSID「ap3」と、を含む選択画面を表示する(S34)。
【0112】
(DPP接続の場合;
図12)
図12では、
図11の続きとして、第3のAP8とのDPP接続を確立するケースについて説明する。T800では、プリンタ100は、選択画面において、第3のAP8のSSID「ap3」を選択する操作を受け付ける(S36でYES)。
【0113】
T804では、プリンタ100は、
図9のT712で記憶された第1~第3のプリンタ用COのうち、SSID「ap3」を含む第3のプリンタ用CO(即ち対象CO)以外の第1及び第2のプリンタ用COをメモリ134から削除する(S38)。
【0114】
T806では、プリンタ100は、
図11のT770で生成された接続キーCK2を利用して、4way-handshakeの通信を実行する(S40)。この結果、プリンタ100と第3のAP8との間に、DPP接続が確立される。
【0115】
T808では、プリンタ100は、プリンタ100の状態を応答可能状態から応答不可能状態に移行する(S42)。
【0116】
(Legacy接続の場合;
図13)
図13では、
図11の続きとして、第1のAP6とのLegacy接続を確立するケースについて説明する。T820では、プリンタ100は、選択画面において、第1のAP6のSSID「ap1」を選択する操作を受け付ける(S36でYES)。
【0117】
T824では、プリンタ100は、
図9のT712で記憶された第1~第3のプリンタ用COのうち、SSID「ap1」を含む第1のプリンタ用CO(即ち対象CO)以外の第2及び第3のプリンタ用COをメモリ134から削除する(S38)。
【0118】
T826では、プリンタ100は、第1のプリンタ用CO内のAP情報(即ちSSID「ap1」及びパスワード「xxx」)を利用して、4way-handshakeの通信を実行する(S40)。この結果、プリンタ100と第3のAP8との間に、Legacy接続が確立される。T828は、
図12のT808と同様である。
【0119】
(本実施例の効果)
本実施例の構成によれば、プリンタ100は、端末10から第1~第3のプリンタ用COが受信される場合(
図9のT710)に、第1~第3のプリンタ用COのそれぞれについて、当該プリンタ用COを利用して、DReq又はPReqを当該プリンタ用COに対応するAPに送信する(
図10のS14又はS24)。プリンタ100は、APからDReq又はPReqに対する応答が受信される場合(S16でYES又はS25でYES)に、当該応答に対応するプリンタ用COを選択対象として決定する(S18又はS28)。そして、プリンタ100は、選択対象として決定された1個以上のプリンタ用COに対応する1個以上のAPの中から対象APを選択するための選択画面を表示する(S34)。即ち、選択画面は、Wi-Fi接続を確立することができないAPのSSIDを含まない。これにより、プリンタ100は、選択画面において選択された対象APとのWi-Fi接続(即ちLegacy接続又はDPP接続)を適切に確立することができる。
【0120】
また、プリンタ100は、
図10のS10で選択されたプリンタ用COがDPP接続を確立するためのプリンタ用COである場合(S12でYES)に、DPP接続を確立することができるのか否かを確認するための確認信号として、DPP方式に従ったDReqを当該プリンタ用COに対応するAPに送信する(S14)。また、プリンタ100は、
図10のS10で選択されたプリンタ用COがLegacy接続を確立するためのプリンタ用COである場合(S12でNO)に、Legacy接続を確立することができるのか否かを確認するための確認信号として、PReqを当該プリンタ用COに対応するAPに送信する(S24)。選択済みのプリンタ用COの種類に応じて、適切な確認信号を送信することができる。
【0121】
(対応関係)
プリンタ100、Wi-FiI/F116、表示部114が、それぞれ、「通信装置」、「無線インターフェース」、「表示部」の一例である。端末10が、「端末装置」の一例である。3個のAP6、7、8が、「N個のアクセスポイント」の一例である。第1のAP6及び第3のAP8が、「M個のアクセスポイント」の一例である。公開鍵PPK1、QRコードが、それぞれ、「公開鍵」、「出力情報」の一例である。AReq、AResが、それぞれ、「認証要求」、「認証応答」の一例である。第1~第3のプリンタ用COが、「N個の無線設定情報」の一例である。第2及び第3のプリンタ用COが、「第1の無線設定情報」の一例である。第1のプリンタ用COが、「第2の無線設定情報」の一例である。DReq及びPReqが、「確認信号」の一例である。DRes及びPResが、「応答信号」の一例である。
図10のS34の選択画面、S50の通知画面が、それぞれ、「選択画面」、「通知画面」の一例である。
【0122】
図7のT514、
図8のT610、T620、
図9のT710が、それぞれ、「出力制御部」、「認証要求受信部」、「認証応答送信部」、「無線設定情報受信部」によって実現される処理の一例である。
図10のS14及びS24が、「確認信号送信部」によって実現される処理の一例である。S16及びS25が、「応答信号受信部」によって実現される処理の一例である。S34、S36、S40が、それぞれ、「第1の表示制御部」、「選択部」、「確立部」によって実現される処理の一例である。
【0123】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0124】
(変形例1)「通信装置」は、プリンタ100でなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。
【0125】
(変形例2)上記の実施例では、プリンタ100は、公開鍵等をコード化することによって得られるQRコードを表示する(
図7のT514)。これに代えて、プリンタ100は、当該QRコードの印刷を印刷実行部118に実行させてもよい。本変形例では、QRコードの印刷が、「出力制御処理」の一例である。
【0126】
(変形例3)プリンタ100及び端末10のそれぞれは、Wi-Fi方式とは異なる無線方式(例えばBT(Bluetooth(登録商標)の略)方式、NFC(Near Field Communicationの略)方式等)に従った無線インターフェース(例えばBTI/F、NFCI/F等)をさらに備えていてもよい。この場合、
図7のT514において、プリンタ100は、例えば、公開鍵等の送信をプリンタ100のBTI/Fに指示してもよい。端末10は、端末10のBTI/Fを介して、公開鍵等を受信することができる。本変形例では、公開鍵等の送信をBTI/Fに指示することが「出力制御処理」の一例である。別の変形例では、プリンタ100は、公開鍵等をプリンタ100のNFCI/Fに記憶させてもよい。この場合、端末10は、端末10のNFCI/Fを介して、公開鍵等を受信することができる。本変形例では、公開鍵等をNFCI/Fに記憶させることが「出力制御処理」の一例である。
【0127】
(変形例4)上記の実施例では、プリンタ100は、選択画面において対象SSIDの選択を受け付ける(
図10のS36)。これに代えて、プリンタ100は、ユーザによる選択を受け付けることなく、選択対象として決定された1個以上のプリンタ用COの中から自動的に対象COを選択してもよい。本変形例では、自動的に対象COを選択することが、「選択部」によって実現される処理の一例である。
【0128】
(変形例5)上記の実施例では、選択画面は、選択対象として決定された第1及び第3のプリンタ用COに対応する2個のSSID「ap1」、「ap3」を含む(
図11のT782)。これに代えて、選択画面は、全てのSSID「ap1」~「ap3」を含んでいてもよい。そして、選択画面は、SSID「ap1」~「ap3」のそれぞれについて、当該SSIDによって識別されるAPとのWi-Fi接続が確立可能か否かの結果を含んでいてもよい。
【0129】
(変形例6)「確立部」によって実現される処理は、
図10のS17で生成された接続キーを利用した4way-handshakeの通信に限らない(S40)。例えば、プリンタ100は、選択画面において対象SSIDの選択を受け付けた後(S36でYES)に、受信済みのDResと、対象SSIDを含むプリンタ用COと、を利用して、接続キーを生成してもよい。そして、プリンタ100は、対象SSIDの選択後に生成された接続キーを利用した4way-handshakeの通信を実行してもよい。
【0130】
(変形例7)
図10のS50の処理は実行されなくてもよい。本変形例では、「第2の表示制御部」を省略可能である。
【0131】
(変形例8)
図10のS12及びS24~S28の処理は実行されなくてもよい。本変形例では、「第2の無線設定情報」を省略可能である。
【0132】
(変形例9)
図10のS38の処理は実行されなくてもよい。本変形例では、「削除部」を省略可能である。
【0133】
(変形例10)上記の実施例では、プリンタ100は、4way-handshakeの通信の実行後に、応答不可能状態に移行する(
図10のS42)。これに代えて、プリンタ100は、端末10から第1~第3のプリンタ用COを受信した後で、接続処理の開始前に、応答不可能状態に移行してもよい。一般的に言えば、通信装置の状態は、N個の無線設定情報が受信された後に、認証応答を送信可能である状態から、認証応答を送信不可能である状態に移行されればよい。
【0134】
(変形例11)
図10のS42の処理は実行されなくてもよい。本変形例では、「移行部」を省略可能である。
【0135】
(変形例12)
図10の接続処理は、実施例のように、3個のプリンタ用COが受信される場合だけに限らす、2個のプリンタ用CO又は4個以上のプリンタ用COが受信される場合にも実行される。また、
図10の接続処理は、1個のプリンタ用COが受信される場合にも実行される。一般的に言えば、「N」は、1以上の整数であればよい。
【0136】
(変形例13)上記の実施例では、
図2~
図13の各処理がソフトウェア(例えば、プログラム136)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0137】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0138】
2:通信システム、6:第1のAP、7:第2のAP、8:第3のAP、10:端末、15:カメラ、16:Wi-FiI/F、100:プリンタ、112:操作部、114:表示部、116:Wi-FiI/F、118:印刷実行部、130:制御部、132:CPU、134:メモリ、136:プログラム