(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022189843
(43)【公開日】2022-12-22
(54)【発明の名称】通信装置と通信装置のためのコンピュータプログラム
(51)【国際特許分類】
H04W 76/10 20180101AFI20221215BHJP
H04W 12/0431 20210101ALI20221215BHJP
H04W 12/069 20210101ALI20221215BHJP
H04W 84/12 20090101ALI20221215BHJP
H04W 36/08 20090101ALI20221215BHJP
B41J 29/00 20060101ALI20221215BHJP
B41J 29/38 20060101ALI20221215BHJP
【FI】
H04W76/10
H04W12/0431
H04W12/069
H04W84/12
H04W36/08
B41J29/00 E
B41J29/00 Z
B41J29/38 401
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022160945
(22)【出願日】2022-10-05
(62)【分割の表示】P 2018068823の分割
【原出願日】2018-03-30
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】三宅 猛
(57)【要約】
【課題】通信装置と第1の外部装置との間に第1の無線接続が確立されている状況において、通信装置と第2の外部装置との間に第2の無線接続を適切に確立し得る技術を提供すること。
【解決手段】 通信装置は、公開鍵を用いて得られる特定情報を出力するための出力指示が受け付けられた後に、第1の無線接続を切断する。また、通信装置は、端末装置から公開鍵が利用された認証要求を受信し、認証応答を端末装置に送信し、端末装置から接続情報を受信する。通信装置は、第1の無線接続が切断され、かつ、端末装置から接続情報が受信された後に、接続情報を利用して、通信装置と第2の外部装置との間に第2の無線接続を確立する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
通信装置であって、
第1の無線インターフェースと、
前記通信装置の公開鍵を用いて得られる特定情報を外部に出力するための出力部と、
前記通信装置と第1の外部装置との間に前記第1の無線インターフェースを介した第1の無線接続が確立されている状態で、前記出力部から前記特定情報を出力するための出力指示が受け付けられた後に、前記第1の無線接続を切断する切断部と、
前記出力部から前記特定情報が出力されたことに起因して端末装置によって前記公開鍵が取得された後に、前記端末装置から、前記第1の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記第1の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記第1の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と前記第1の外部装置とは異なる第2の外部装置との間に前記第1の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の無線接続が切断され、かつ、前記端末装置から前記接続情報が受信された後に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する第1の確立部と、
を備える通信装置。
【請求項2】
前記通信装置は、さらに、
前記第1の無線接続が切断された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記端末装置から前記認証要求を受信しても、前記認証応答を送信しない状態であり、前記可能状態は、前記端末装置から前記認証要求を受信することに応じて、前記認証応答を前記端末装置に送信する状態である、前記状態移行部を備え、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記端末装置から前記認証要求が受信される場合に、前記認証応答を前記第1の外部装置に送信する、請求項1に記載の通信装置。
【請求項3】
前記特定情報は、前記公開鍵と、前記通信装置において予め決められている第1の通信チャネルを示す通信チャネル情報と、を用いて得られる情報であり、
前記可能状態は、前記端末装置から前記第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記端末装置から前記第1の通信チャネルが利用された前記認証要求を受信することに応じて、前記認証応答を前記端末装置に送信する状態である、請求項2に記載の通信装置。
【請求項4】
前記第1の確立部は、前記第1の通信チャネルとは異なる第2の通信チャネルを利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する、請求項3に記載の通信装置。
【請求項5】
前記通信装置は、さらに、
前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立不可能である場合に、前記通信装置と前記第1の外部装置との間に前記第1の無線接続を再確立する第2の確立部を備える、請求項1から4のいずれか一項に記載の通信装置。
【請求項6】
前記通信装置は、さらに、
前記通信装置と前記第1の外部装置との間に前記第1の無線接続を確立するための無線情報を記憶するメモリと、
前記通信装置と前記第2の外部装置との間に前記第2の無線接続が確立される場合に、前記メモリから前記無線情報を削除する削除部と、を備え、
前記第2の確立部は、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立不可能である場合に、前記メモリ内の前記無線情報を利用して、前記通信装置と前記第1の外部装置との間に前記第1の無線接続を再確立する、請求項5に記載の通信装置。
【請求項7】
前記出力部は、前記公開鍵がコード化されることによって得られるコード画像である前記特定情報を表示するための表示部であり、
前記出力指示は、前記表示部である前記出力部において前記コード画像である前記特定情報を表示させるための指示である、請求項1から6のいずれか一項に記載の通信装置。
【請求項8】
前記第1の無線インターフェースは、第1のMACアドレスが利用される第1種の無線接続と、前記第1のMACアドレスとは異なる第2のMACアドレスが利用される第2種の無線接続と、を同時的に確立可能であり、
前記通信装置は、さらに、
前記第1種の無線接続を確立するための第1の選択領域と、前記第2種の無線接続を確立するための第2の選択領域と、を含む1個以上の選択画面を表示部に表示させる第1の表示制御部を備え、
前記切断部は、
前記通信装置と前記第1の外部装置との間に前記第1種の無線接続である前記第1の無線接続が確立されている状態で、前記第1の選択領域の選択を含む前記出力指示が受け付けられた後に、前記第1の無線接続を切断し、
前記通信装置と前記第1の外部装置との間に前記第2種の無線接続である前記第1の無線接続が確立されている状態で、前記第2の選択領域の選択を含む前記出力指示が受け付けられた後に、前記第1の無線接続を切断し、
前記通信装置と前記第1の外部装置との間に前記第2種の無線接続である前記第1の無線接続が確立されている状態で、前記第1の選択領域の選択を含む前記出力指示が受け付けられても、前記第1の無線接続は切断されず、
前記通信装置と前記第1の外部装置との間に前記第1種の無線接続である前記第1の無線接続が確立されている状態で、前記第2の選択領域の選択を含む前記出力指示が受け付けられても、前記第1の無線接続は切断されない、請求項1から7のいずれか一項に記載の通信装置。
【請求項9】
前記出力部は、前記端末装置から要求信号である前記出力指示を受信することに応じて、前記特定情報を前記端末装置に送信する第2の無線インターフェースであり、
前記第2の無線インターフェースは、前記第1の無線インターフェースとは異なる、請求項1から6のいずれか一項に記載の通信装置。
【請求項10】
前記通信装置は、さらに、
前記通信装置と前記第1の外部装置との間に前記第1の無線接続が確立されている状態で、前記出力指示が受け付けられた後に、前記第1の無線接続を切断すべきことを指示するための指示画面を表示部に表示させる第2の表示制御部を備え、
前記切断部は、前記指示画面において前記第1の無線接続を切断すべきことが指示される場合に、前記第1の無線接続を切断する、請求項1から9のいずれか一項に記載の通信装置。
【請求項11】
前記第2の外部装置は、前記第1の外部装置とは異なる親局装置であり、
前記第1の確立部は、前記親局装置である前記第2の外部装置によって形成される無線ネットワークに子局として参加するために、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する、請求項1から10のいずれか一項に記載の通信装置。
【請求項12】
前記接続情報は、前記第2の外部装置から受信される受信情報を認証するための認証情報を含む、請求項1から11のいずれか一項に記載の通信装置。
【請求項13】
前記通信装置は、さらに、
前記認証応答が前記端末装置に送信された後に、前記通信装置をWi-Fi規格に従ったEnrolleeとして動作させる動作制御部であって、前記端末装置は、前記Wi-Fi規格に従ったConfiguratorとして動作する、前記動作制御部を備える、請求項1から12のいずれか一項に記載の通信装置。
【請求項14】
通信装置のためのコンピュータプログラムであって、
前記通信装置は、
第1の無線インターフェースと、
前記通信装置の公開鍵を用いて得られる特定情報を外部に出力するための出力部と、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、
前記通信装置と第1の外部装置との間に前記第1の無線インターフェースを介した第1の無線接続が確立されている状態で、前記出力部から前記特定情報を出力するための出力指示が受け付けられた後に、前記第1の無線接続を切断する切断部と、
前記出力部から前記特定情報が出力されたことに起因して端末装置によって前記公開鍵が取得された後に、前記端末装置から、前記第1の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記第1の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記第1の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と前記第1の外部装置とは異なる第2の外部装置との間に前記第1の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の無線接続が切断され、かつ、前記端末装置から前記接続情報が受信された後に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する第1の確立部と、
として機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、外部装置との無線接続を確立可能な通信装置に関する技術を開示する。
【背景技術】
【0002】
非特許文献1には、Wi-Fi Allianceによって策定された無線通信方式であるDPP(Device Provisioning Protocolの略)方式が記述されている。DPP方式は、Wi-Fi接続を容易に確立させるための無線通信方式である。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」 Wi-Fi Alliance, 2017年
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の非特許文献1には、通信装置と第1の外部装置との間に無線接続が確立されている状況において、通信装置と、第1の外部装置とは異なる第2の外部装置と、の間にDPP方式に従った無線接続を確立するための処理が実行されることについて、具体的な開示がない。
【0006】
本明細書では、通信装置と第1の外部装置との間に第1の無線接続が確立されている状況において、通信装置と第2の外部装置との間に第2の無線接続を適切に確立し得る技術を開示する。
【課題を解決するための手段】
【0007】
本明細書によって開示される通信装置は、第1の無線インターフェースと、前記通信装置の公開鍵を用いて得られる特定情報を外部に出力するための出力部と、前記通信装置と第1の外部装置との間に前記第1の無線インターフェースを介した第1の無線接続が確立されている状態で、前記出力部から前記特定情報を出力するための出力指示が受け付けられた後に、前記第1の無線接続を切断する切断部と、前記出力部から前記特定情報が出力されたことに起因して端末装置によって前記公開鍵が取得された後に、前記端末装置から、前記第1の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、前記端末装置から前記認証要求が受信される場合に、前記第1の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記第1の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と前記第1の外部装置とは異なる第2の外部装置との間に前記第1の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、前記第1の無線接続が切断され、かつ、前記端末装置から前記接続情報が受信された後に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する第1の確立部と、を備える。
【0008】
上記の構成によると、通信装置は、通信装置と第1の外部装置との間に第1の無線接続が確立されている状態で、公開鍵を用いて得られる特定情報を出力するための出力指示が受け付けられた後に、第1の無線接続を切断する。従って、第1の無線接続が確立されていることに起因して新たな無線接続を確立不可能であるという事象が発生するのを抑制することができる。また、通信装置は、端末装置から公開鍵が利用された認証要求を受信し、認証応答を端末装置に送信し、端末装置から接続情報を受信する。そして、通信装置は、第1の無線接続が切断され、かつ、端末装置から接続情報が受信された後に、接続情報を利用して、通信装置と第2の外部装置との間に第2の無線接続を適切に確立することができる。
【0009】
上記の通信装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。また、上記の通信装置によって実行される方法も新規で有用である。また、上記の通信装置と他の装置(例えば、端末装置、第1の外部装置、第2の外部装置等)とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【0010】
【
図2】第1実施例の概略を説明するための説明図を示す。
【
図3】Bootstrappingの処理のシーケンス図を示す。
【
図4】Authenticationの処理のシーケンス図を示す。
【
図5】Configurationの処理のシーケンス図を示す。
【
図6】Network Accessの処理のシーケンス図を示す。
【
図7】第1及び第2実施例の通常接続処理のフローチャートを示す。
【
図8】第1及び第2実施例のDPP接続処理のフローチャートを示す。
【
図9】第1実施例の具体的なケースのシーケンス図を示す。
【
図10】第2実施例の具体的なケースのシーケンス図を示す。
【
図11】Bootstrappingの処理のシーケンス図を示す。
【
図13】第3実施例のプリンタで表示される各画面を示す。
【
図14】第3実施例の通常接続処理のフローチャートを示す。
【
図15】第3実施例のDPP接続処理のフローチャートを示す。
【発明を実施するための形態】
【0011】
(第1実施例)
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、複数個のAP(Access Pointの略)6A,6Bと、複数個の端末10A,10Bと、プリンタ100と、を備える。本実施例では、ユーザが、プリンタ100とAP6Aとの間にWi-Fi方式に従った無線接続(以下では「Wi-Fi接続」と記載する)を確立させ、その後、当該Wi-Fi接続に代えて、プリンタ100とAP6Bとの間にWi-Fi接続を確立させることを実現する。
【0012】
(端末10A,10Bの構成)
各端末10A,10Bはほぼ同じ構成を有するので、以下では、端末10Aの構成を主に説明する。端末10Aは、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。なお、変形例では、端末10Aは、据置型のPC、ノートPC等であってもよい。
【0013】
端末10Aは、操作部12と、表示部14と、カメラ15と、Wi-Fiインターフェース16と、NFC(Near Field Communicationの略)インターフェース17と、制御部30と、を備える。各部12~30は、バス線(符号省略)に接続されている。なお、以下では、インターフェースのことを「I/F」と記載する。
【0014】
操作部12は、複数個のキーを備える。ユーザは、操作部12を操作することによって、様々な指示を端末10Aに入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。カメラ15は、物体を撮影するためのデバイスであり、本実施例では、特に、各AP6A,6B及びプリンタ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によって作成された規格書のドラフトである「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」に記述されており、端末(例えば10A)を利用して一対のデバイス(例えばプリンタ100とAP6A)の間に容易にWi-Fi接続を確立させるための無線通信方式である。
【0016】
NFCI/F17は、NFC方式に従った無線通信(以下では「NFC通信」と呼ぶ)を実行するためのI/Fである。NFC方式は、例えば、ISO/IEC14443、15693、18092等の国際標準規格に基づく無線通信方式である。NFC通信を実行するためのI/Fの種類として、NFCフォーラムデバイス(NFC Forum Device)と呼ばれるI/Fと、NFCフォーラムタグと呼ばれるI/Fと、が知られている。本実施例では、NFCI/F17は、NFCフォーラムデバイスである。
【0017】
ここで、Wi-Fi通信とNFC通信との間の相違点を説明しておく。Wi-Fi通信の通信速度(例えば最大の通信速度が11~600Mbps)は、NFC通信の通信速度(例えば最大の通信速度が100~424Kbps)よりも速い。また、Wi-Fi通信における搬送波の周波数(例えば2.4GHz帯又は5.0GHz帯)は、NFC通信における搬送波の周波数(例えば13.56MHz帯)とは異なる。また、Wi-Fi通信を実行可能な最大の距離(例えば最大で約100m)は、NFC通信を実行可能な最大の距離(例えば最大で約10cm)よりも大きい。
【0018】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム36,38に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成され、OSプログラム36と接続アプリケーション38(以下では単に「アプリ38」と記載する)とを記憶する。
【0019】
OSプログラム36は、端末10Aの基本的な動作を制御するためのプログラムである。アプリ38は、DPP方式に従って一対のデバイスの間にWi-Fi接続を確立させるためのプログラムである。アプリ38は、例えば、プリンタ100のベンダによって提供されるインターネット上のサーバから端末10Aにインストールされる。
【0020】
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば、端末10A等の周辺装置)である。プリンタ100は、操作部112と、表示部114と、Wi-FiI/F116と、NFCI/F117と、印刷実行部118と、制御部130と、を備える。各部112~130は、バス線(符号省略)に接続されている。
【0021】
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。表示部114は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。NFCI/F117は、端末10AのNFCI/F17と同様であり、NFC通信を実行するためのI/Fである。なお、本実施例では、NFCI/F117は、NFCフォーラムデバイスであってもよいし、NFCフォーラムタグであってもよい。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0022】
Wi-FiI/F116は、端末10AのWi-FiI/F16と同様である。即ち、Wi-FiI/F116は、DPP方式をサポートしている。また、Wi-FiI/F116は、1個のMACアドレス「Mlan」のみを有しており、当該MACアドレスを利用して1個のAPとのWi-Fi接続のみを確立可能である。即ち、Wi-FiI/F116は、複数個のAPとの複数個のWi-Fi接続を同時的に確立することができない。
【0023】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。
【0024】
(本実施例の概略;
図2)
続いて、
図2を参照して、本実施例の概要を説明する。例えば、各AP6A,6B及びプリンタ100が同じ会社内に設置されている状況を想定する。そして、会社内のネットワークの状態を、プリンタ100がAP6Aによって形成されている第1の無線ネットワークに参加している状態から、プリンタ100がAP6Bによって形成されている第2の無線ネットワークに参加している状態に変更させることが起こり得る。例えば、第1の無線ネットワークにおけるプリンタ100の利用頻度が少ない場合には、通信システム2の管理者は、第1の無線ネットワークに代えて第2の無線ネットワークにプリンタ100を参加させ得る。本実施例では、ユーザ(例えば上記の管理者)は、まず、プリンタ100とAP6Aとの間にWi-Fi接続を確立させ、その後、当該Wi-Fi接続に代えて、プリンタ100とAP6Bとの間にWi-Fi接続を確立させる。なお、以下では、プリンタ100とAP(例えば6A)との間のWi-Fi接続のことを「AP接続」と記載する。
図2を参照して、プリンタ100とAP6Aとの間にAP接続を確立するための処理を説明する。また、以下では、理解の容易化のために、各デバイスのCPU(例えばCPU32,132)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えば端末10A、プリンタ100)を主体として記載する。
【0025】
プリンタ100は、電源がONされると、T10において、ホーム画面を表示部114に表示する。ホーム画面は、文字列「印刷設定」と文字列「無線LAN(Local Area Networkの略)設定」とを含む。
【0026】
プリンタ100は、T12おいて、ユーザからホーム画面内の「無線LAN設定」の選択を受け付けると、T14において、選択画面を表示部114に表示する。選択画面は、文字列「マニュアル接続」と文字列「WPS(Wi-Fi Protected Setupの略)接続」と文字列「DPP接続」とを含む。「マニュアル接続」は、ユーザがAP(例えば6A)の無線ネットワークで現在利用されている無線設定情報(例えば、SSID(Service Set Identifierの略)、パスワード等)をプリンタ100に入力することに応じて、AP接続を確立するための手法である。「WPS接続」は、ユーザが上記の無線設定情報をプリンタ100に入力せずにAPの所定のボタンを操作すること(即ちPBC(Push Button Configurationの略)操作を実行すること)に応じて、WPSに従ってAP接続を確立するための手法である。「DPP接続」は、ユーザが上記の無線設定情報をプリンタ100に入力せずに端末(例えば10A)を利用することに応じて、DPPに従ってAP接続を確立するための手法である。
【0027】
(ケースA1)
ケースA1では、プリンタ100は、T20において、ユーザから選択画面内の「マニュアル接続」の選択を受け付ける。この場合、プリンタ100は、T22において、ユーザから無線設定情報の入力を受け付け、T24において、当該無線設定情報を利用して様々な信号をAP6Aと通信することによって、AP6AとのAP接続を確立する。当該様々な信号は、例えば、Probe、Authentication、Association、4way-handshake等を含む。これにより、プリンタ100は、AP6Aの無線ネットワークに子局として参加することができ、当該無線ネットワークに参加している他の子局とAP6を介して通信することができる。
【0028】
(ケースA2)
ケースA2では、プリンタ100は、T30において、ユーザから選択画面内の「WPS接続」の選択を受け付ける。その後、T32において、PBC操作がユーザによってAP6Aに実行されると、プリンタ100は、T34において、WPSに従った通信(即ちWPSネゴシエーション)をAP6Aと実行してAP6Aから無線設定情報を受信し、当該無線設定情報を利用して様々な信号をAP6Aと通信することによって、AP6AとのAP接続を確立する。なお、本実施例では、WPSのPBC方式を採用しているが、変形例では、WPSのPINコード方式を採用してもよい。
【0029】
(ケースA3)
各端末10A,10B及びプリンタ100がDPP方式をサポートしていることを上述したが、各AP6A,6BもDPP方式をサポートしている。そして、ケースA3では、各デバイス6A,10A,100がDPP方式に従った通信を実行することによって、プリンタ100とAP6Aとの間にAP接続を確立することを実現する。
【0030】
端末10Aは、ユーザからアプリ38を起動する指示を受け付けた後に、T40において、DPP方式のBootstrapping(以下では単に「BS」と記載する)をAP6Aと実行する。当該BSは、AP6Aに貼り付けられているQRコードが端末10Aによって撮影されることに応じて、後述のT42のAuthentication(以下では単に「Auth」と記載する)で利用される情報をAP6Aから端末10Aに提供する処理である。
【0031】
T42では、端末10Aは、T40のBSで取得済みの情報を利用して、DPP方式のAuthをAP6Aと実行する。当該Authは、端末10A及びAP6Aのそれぞれが通信相手を認証するための処理である。
【0032】
T44では、端末10Aは、DPP方式のConfiguration(以下では単に「Config」と記載する)をAP6Aと実行する。当該Configは、AP接続を確立するための情報をAP6Aに送信する処理である。具体的には、端末10Aは、AP接続を確立するためのAP用Configuration Object(以下では、Configuration Objectのことを単に「CO」と記載する)を生成して、AP用COをAP6Aに送信する。この結果、AP6Aでは、AP用COが記憶される。
【0033】
次いで、端末10Aは、T50において、DPP方式のBSをプリンタ100と実行する。当該BSは、後述のT52のAuthで利用される情報をプリンタ100から端末10Aに提供する処理である。当該BSとして、以下の2つのケースA3-1及びA3-2が考えられる。
【0034】
(ケースA3-1)
図3に示されるように、ケースA3-1では、プリンタ100は、T70において、ユーザから選択画面内の「DPP接続」の選択を受け付ける。この場合、プリンタ100は、T72において、QRコードを表示部114に表示する。QRコードは、メモリ134に予め記憶されているプリンタ100の公開鍵等の情報がコード化されることによって得られるコード画像である。QRコードは、T72の処理が実行される際にプリンタ100によって生成されてもよいし、プリンタ100の出荷段階からメモリ134に予め記憶されていてもよい。
【0035】
端末10Aは、T74において、QRコードを撮影するための動作がユーザによって実行されることに応じて、カメラ15によってQRコードを撮影する。この場合、端末10Aは、T76において、撮影済みのQRコードをデコードして、公開鍵等の情報を取得する。
【0036】
(ケースA3-2)
ケースA3-2では、T80において、端末10Aをプリンタ100に近づけるための動作が端末10Aに実行される。この場合、端末10AのNFCI/F17とプリンタ100のNFCI/F117との間の距離がNFC通信を実行可能な距離(例えば10cm)以下になり、これらのNFCI/F17,117の間にNFC接続が確立される。
【0037】
NFCI/F117は、公開鍵等の情報を含むNFC情報を予め記憶している。NFCI/F117は、T81において、NFC接続を利用して、端末10AからReadコマンドを受信すると、T82において、NFC情報を端末10Aに送信する。
【0038】
端末10Aは、T82において、NFCI/F17を介して、プリンタ100からNFC情報の情報を受信することによって、NFC情報に含まれる公開鍵等の情報を取得することができる。
【0039】
(ケースA3の続き)
図2のT52では、端末10Aは、T50のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ100と実行する。当該Authは、端末10A及びプリンタ100のそれぞれが通信相手を認証するための処理である。
【0040】
T54では、端末10Aは、DPP方式のConfigをプリンタ100と実行する。当該Configは、AP接続を確立するための情報をプリンタ100に送信する処理である。具体的には、端末10Aは、AP接続を確立するためのプリンタ用COを生成して、プリンタ用COをプリンタ100に送信する。この結果、プリンタ100では、プリンタ用COが記憶される。
【0041】
T60では、プリンタ100及びAP6Aは、プリンタ用CO及びAP用COを利用して、DPP方式のNetwork Access(以下では単に「NA」と記載する)を実行する。当該NAは、AP接続を確立するための接続キーをプリンタ100及びAP6Aの間で共有するための処理である。
【0042】
T62では、プリンタ100及びAP6Aは4way-handshakeの通信を実行し、この結果、プリンタ100とAP6Aとの間にAP接続が確立される。4way-handshakeの通信の少なくとも一部の過程において、プリンタ100及びAP6Aは、T60のNAで共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、AP接続が確立される。なお、変形例では、プリンタ100及びAP6Aは、4way-handshakeの通信に代えて、SAE(Simultaneous Authentication of Equalsの略、通称「Dragonfly」)の通信を実行してもよい。
【0043】
上記のいずれのケースA1~A3でも、プリンタ100は、AP6AとのAP接続を確立すると、無線情報をメモリ34に記憶する。無線情報は、AP接続の確立に利用された情報であり、具体的には、ケースA1及びA2では無線設定情報(SSID、パスワード等)であり、ケースA3ではプリンタ用CO及び接続キーである。
【0044】
(各処理の説明;
図4~
図6)
続いて、
図4~
図6を参照して、
図2のT52~T56において実行される各処理の詳細を説明する。なお、T42及びT44の処理は、プリンタ100に代えてAP6Aが利用される点を除いて、T52及びT54の処理と同様であるので、その詳細な説明を省略する。
【0045】
(Authentication(Auth);
図4)
図4を参照して、
図2のT52のAuthの処理を説明する。
図2のT50のBSで説明したように、端末10Aは、プリンタ100から公開鍵等の情報を取得する(
図3のT76又はT82)。まず、当該情報の内容を説明する。プリンタ100のメモリ134は、プリンタ100の公開鍵PPK1及び秘密鍵psk1を予め記憶している。また、メモリ134は、チャネルリストCLと、Wi-FiI/F116のMACアドレス「Mlan」と、を記憶している。チャネルリストCLは、Authで利用されるべき複数個の通信チャネル(即ちプリンタ100が利用可能な複数個の通信チャネル)のリストである。
【0046】
図3のT72で表示されるQRコードは、公開鍵PPK1とチャネルリストCLとMACアドレス「Mlan」とがコード化されたものである。従って、端末10Aは、T76において、QRコードをデコードすることによって、これらの情報を取得することができる。また、プリンタ100のNFCI/F117は、公開鍵PPK1とチャネルリストCLとMACアドレス「Mlan」とを含むNFC情報を予め記憶しており、
図3のT82において、NFC情報を端末10Aに送信する。従って、端末10Aは、T82において、NFC情報を受信することによって、これらの情報を取得することができる。
【0047】
端末10Aは、
図3のT76又はT82を実行すると、
図4のT100において、端末10Aの公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、端末10Aは、T101において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、
図3のT76又はT82で取得されたプリンタ100の公開鍵PPK1と、を用いて、共有鍵SK1を生成する。そして、端末10Aは、T102において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。
【0048】
T110では、端末10Aは、Wi-FiI/F16を介して、
図3のT76又はT82で取得されたMACアドレス「Mlan」を送信先として、DPP Authentiction Request(以下でh「AReq」と呼ぶ)をプリンタ100に送信する。AReqは、認証の実行をプリンタ100に要求する信号である。ここで、端末10Aは、
図3のT76又はT82で取得されたチャネルリスト内の複数個の通信チャネルを順次利用して、AReqをプリンタ100に送信することを繰り返す。AReqは、T100で生成された端末10Aの公開鍵TPK1と、T102で生成された暗号化データED1と、端末10Aのcapabilityと、を含む。
【0049】
capabilityは、DPP方式をサポートしている機器において予め指定されている情報であり、DPP方式のConfiguratorのみとして動作可能であることを示す値と、DPP方式のEnrolleeのみとして動作可能であることを示す値と、Configurator及びEnrolleeのどちらとしても動作可能であることを示す値と、のいずれか1個の値を含む。Configuratorは、Config(
図2のT54)において、NA(
図2のT60)で利用されるCOをEnrolleeに送信するデバイスを意味する。Enrolleeは、Configにおいて、Configuratorから、NAで利用されるCOをEnrolleeに受信するデバイスを意味する。上記のように、本実施例では、端末10AがAP用CO及びプリンタ用COを生成してAP6A及びプリンタ100に送信する。従って、端末10Aのcapabilityは、Configuratorのみとして動作可能であることを示す値を含む。
【0050】
プリンタ100は、T110において、端末10Aから、Wi-FiI/F116を介して、AReqを受信する。上記のように、AReqは、プリンタ100のMACアドレス「Mlan」を送信先として送信される。従って、プリンタ100は、端末10AからAReqを適切に受信することができる。
【0051】
また、プリンタ100は、チャネルリストCL内の複数個の通信チャネルのうちの1個の通信チャネルが利用されたAReqを受信することを監視する。上記のように、AReqは、チャネルリストCL内の複数個の通信チャネルを順次利用して送信される。従って、プリンタ100は、端末10AからAReqを適切に受信することができる。
【0052】
次いで、プリンタ100は、AReqの送信元(即ち端末10A)を認証するための以下の処理を実行する。具体的には、プリンタ100は、T112において、ECDHに従って、AReq内の端末10Aの公開鍵TPK1と、メモリ134内のプリンタ100の秘密鍵psk1と、を用いて、共有鍵SK1を生成する。ここで、T101で端末10Aによって生成される共有鍵SK1と、T112でプリンタ100によって生成される共有鍵SK1と、は同じである。従って、プリンタ100は、T114において、共有鍵SK1を用いて、AReq内の暗号化データED1を適切に復号することができ、この結果、ランダム値RV1を取得することができる。プリンタ100は、暗号化データED1の復号が成功する場合には、AReqの送信元がプリンタ100の公開鍵PPK1を取得したデバイスであると判断し、即ち、認証が成功したと判断し、T116以降の処理を実行する。一方、プリンタ100は、仮に、暗号化データED1の復号が成功しない場合には、AReqの送信元がプリンタ100の公開鍵PPK1を取得したデバイスでないと判断し、即ち、認証が失敗したと判断し、T116以降の処理を実行しない。
【0053】
プリンタ100は、T116において、プリンタ100の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。変形例では、公開鍵PPK2及び秘密鍵psk2は、メモリ134に予め記憶されていてもよい。次いで、プリンタ100は、T118において、ECDHに従って、T110のAReq内の端末10Aの公開鍵TPK1と、生成済みのプリンタ100の秘密鍵psk2と、を用いて、共有鍵SK2を生成する。そして、プリンタ100は、T120において、共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
【0054】
T130では、プリンタ100は、Wi-FiI/F116を介して、DPP Authentiction Response(以下では「ARes」と呼ぶ)を端末10Aに送信する。AResは、T116で生成されたプリンタ100の公開鍵PPK2と、T120で生成された暗号化データED2と、プリンタ100のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
【0055】
端末10Aは、T130において、プリンタ100から、Wi-FiI/F16を介して、AResを受信することに応じて、AResの送信元(即ちプリンタ100)を認証するための以下の処理を実行する。具体的には、端末10Aは、T132において、ECDHに従って、T101で生成された端末10Aの秘密鍵tsk1と、ARes内のプリンタ100の公開鍵PPK2と、を用いて、共有鍵SK2を生成する。ここで、T118でプリンタ100によって生成される共有鍵SK2と、T132で端末10によって生成される共有鍵SK2と、は同じである。従って、端末10Aは、T134において、共有鍵SK2を用いて、ARes内の暗号化データED2を適切に復号することができ、この結果、ランダム値RV1及びRV2を取得することができる。端末10Aは、暗号化データED2の復号が成功する場合には、AResの送信元が取得済みの公開鍵PPK1を提供したデバイスであると判断し、即ち、認証が成功したと判断し、T140以降の処理を実行する。一方、端末10Aは、仮に、暗号化データED2の復号が成功しない場合には、AResの送信元が取得済みの公開鍵PPK1を提供したデバイスでないと判断し、即ち、認証が失敗したと判断し、T140以降の処理を実行しない。
【0056】
T140において、端末10Aは、Wi-FiI/F16を介して、Confirmをプリンタ100に送信する。Confirmは、端末10AがConfiguratorとして動作し、かつ、プリンタ100がEnrolleeとして動作することを示す情報を含む。この結果、T142において、Configuratorとして動作することが端末10Aによって決定され、T144において、Enrolleeとして動作することがプリンタ100によって決定される。これにより、
図4の処理が終了する。
【0057】
(Configuration(Config);
図5)
続いて、
図5を参照して、
図2のT54のConfigの処理を説明する。T200では、プリンタ100は、Wi-FiI/F116を介して、DPP Configuration Request(以下では「CReq」と呼ぶ)を端末10Aに送信する。CReqは、プリンタ用COの送信を要求する信号である。
【0058】
端末10Aは、T200において、プリンタ100から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10Aは、T201において、メモリ34から、グループID「gr1」と公開鍵TPK2と秘密鍵tsk2とを取得する。上述したように、端末10Aは、
図2のT44のConfigをAP6Aと実行済みであり、この際に、端末10Aの公開鍵TPK2及び秘密鍵tsk2を生成してメモリ34に記憶する。T201において、端末10Aは、
図2のT44で記憶された各情報を取得する。グループID「gr1」は、プリンタ100とAP6Aとの間のAP接続が確立されることによって形成される無線ネットワークを識別する情報である。
【0059】
次いで、端末10Aは、T202において、プリンタ用COを生成する。具体的には、端末10Aは、T201で取得された端末10Aの公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10Aは、ハッシュ値HVと、グループID「gr1」と、
図4のT130のARes内のプリンタ100の公開鍵PPK2と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、端末10Aは、ECDSA(Elliptic Curve Digital Signature Algorithmの略)に従って、T201で取得された端末10Aの秘密鍵tsk2を用いて、生成済みの特定値を暗号化することによって、電子署名DSpr1を生成する。この結果、端末10Aは、ハッシュ値HVと、グループID「gr1」と、プリンタ100の公開鍵PPK2と、電子署名DSpr1と、を含むプリンタ用Signed-Connector(以下では、Signed-Connectorのことを「SC」と呼ぶ)を生成することができる。そして、端末10Aは、プリンタ用SCと端末10Aの公開鍵TPK2とを含むプリンタ用COを生成する。
【0060】
T210では、端末10Aは、Wi-FiI/F16を介して、プリンタ用COを含むDPP Configuration Response(以下では「CRes」と呼ぶ)をプリンタ100に送信する。
【0061】
プリンタ100は、T210において、端末10Aから、Wi-FiI/F116を介して、CResを受信する。この場合、プリンタ100は、T212において、CRes内のプリンタ用COをメモリ134に記憶する。これにより、
図5の処理が終了する。
【0062】
(Network Access(NA);
図6)
続いて、
図6を参照して、プリンタ100とAP6Aとの間で実行される
図2のT60のNAの処理を説明する。AP6Aは、AP6Aの公開鍵APK1及び秘密鍵ask1を予め記憶している。そして、AP6Aの公開鍵APK1と、AP6Aのチャネルリストと、AP6AのMACアドレス「Mapa」と、をコード化することによって得られるQRコードが、AP6Aの筐体に貼り付けられている。端末10Aが
図2のT40において当該QRコードを撮影することによって、端末10A及びAP6Aの間で
図4のT101以降の各処理と同様の各処理が実行される。この結果、AP6Aは、AP6Aの公開鍵APK2及び秘密鍵ask2を記憶し(
図4のT116参照)、さらに、端末10Aから受信されるAP用COを記憶する(
図5のT212参照)。AP用COは、AP用SCと、端末10Aの公開鍵TPK2と、を含む。当該公開鍵TPK2は、プリンタ用COに含まれる公開鍵TPK2と同じである。また、AP用SCは、ハッシュ値HVと、グループID「gr1」と、AP6Aの公開鍵APK2と、電子署名DSapと、を含む。当該ハッシュ値HV及び当該グループID「gr1」は、それぞれ、プリンタ用COに含まれるハッシュ値HV及びグループID「gr1」と同じである。電子署名DSapは、ハッシュ値HVとグループID「gr1」と公開鍵APK2との組み合わせをハッシュ化することによって得られる特定値が端末10Aの秘密鍵tsk2によって暗号化された情報であり、プリンタ用COに含まれる電子署名DSpr1とは異なる。
【0063】
プリンタ100は、T310において、Wi-FiI/F116を介して、プリンタ用SCを含むDPP Peer Discovery Request(以下では「DReq」と記載する)をAP6Aに送信する。DReqは、認証の実行とAP用SCの送信とを要求する信号である。
【0064】
AP6Aは、T310において、プリンタ100からDReqを受信することに応じて、DReqの送信元(即ちプリンタ100)、及び、DReq内の各情報(即ち、ハッシュ値HV、「gr1」、及び、公開鍵PPK2)を認証するための処理を実行する。具体的には、AP6Aは、まず、プリンタ用SC内のハッシュ値HV及び「gr1」が、それぞれ、AP用COに含まれるAP用SC内のハッシュ値HV及び「gr1」に一致するのか否かに関する第1のAP判断処理を実行する。
図6のケースでは、AP6Aは、第1のAP判断処理で「一致する」と判断するので、DReqの送信元(即ちプリンタ100)の認証が成功したと判断する。なお、プリンタ用SC内のハッシュ値HVとAP用SC内のハッシュ値HVとが一致するということは、プリンタ用SC及びAP用SCが、同じ装置(即ち端末10A)によって生成されたことを意味する。従って、AP6Aは、プリンタ用SCの生成元(即ち端末10A)の認証が成功したとも判断する。さらに、AP6Aは、T312において、AP用COに含まれる端末10Aの公開鍵TPK2を用いて、プリンタ用SC内の電子署名DSpr1を復号する。
図6のケースでは、電子署名DSpr1の復号が成功するので、AP6Aは、電子署名DSpr1を復号することによって得られた特定値と、プリンタ用SC内の各情報(即ち、ハッシュ値HV、「gr1」、及び、公開鍵PPK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のAP判断処理を実行する。
図6のケースでは、AP6Aは、第2のAP判断処理で「一致する」と判断するので、DReq内の各情報の認証が成功したと判断し、T314以降の処理を実行する。第2のAP判断処理で「一致する」と判断することは、プリンタ用COがプリンタ100に記憶された後に、プリンタ用SC内の各情報(即ち、ハッシュ値HV、「gr1」、及び、公開鍵PPK2)が第三者によって改ざんされていないことを意味する。一方、第1のAP判断処理で「一致しない」と判断される場合、電子署名DSpr1の復号が失敗する場合、又は、第2のAP判断処理で「一致しない」と判断される場合には、AP6Aは、認証が失敗したと判断し、T314以降の処理を実行しない。
【0065】
次いで、AP6Aは、T314において、ECDHに従って、プリンタ用SC内のプリンタ100の公開鍵PPK2と、AP6の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CKを生成する。
【0066】
T320は、AP6Aは、AP用SCを含むDPP Peer Discovery Response(以下では「DRes」と記載する)をプリンタ100に送信する。
【0067】
プリンタ100は、T320において、Wi-FiI/F116を介して、AP6AからDResを受信することに応じて、DResの送信元(即ちAP6A)、及び、DRes内の各情報(即ち、ハッシュ値HV、「gr1」、及び、公開鍵APK2)を認証するための処理を実行する。具体的には、プリンタ100は、まず、AP用SC内のハッシュ値HV及び「gr1」が、それぞれ、プリンタ用COに含まれるプリンタ用SC内のハッシュ値HV及び「gr1」に一致するのか否かに関する第1のPR判断処理を実行する。
図6のケースでは、プリンタ100は、第1のPR判断処理で「一致する」と判断するので、DResの送信元(即ちAP6A)の認証が成功したと判断すると共に、AP用SCの生成元(即ち端末10A)の認証が成功したと判断する。さらに、プリンタ100は、T322において、プリンタ用COに含まれる端末10Aの公開鍵TPK2を用いて、AP用SC内の電子署名DSapを復号する。
図6のケースでは、電子署名DSapの復号が成功するので、プリンタ100は、電子署名DSapを復号することによって得られた特定値と、AP用SC内の各情報(即ち、ハッシュ値HV、「gr1」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のPR判断処理を実行する。
図6のケースでは、プリンタ100は、第2のPR判断処理で「一致する」と判断するので、DRes内の各情報の認証が成功したと判断し、T324以降の処理を実行する。第2のPR判断処理で「一致する」と判断することは、AP用COがAP6Aに記憶された後に、AP用SC内の各情報(即ち、ハッシュ値HV、「gr1」、及び、公開鍵APK2)が第三者によって改ざんされていないことを意味する。一方、第1のPR判断処理で「一致しない」と判断される場合、電子署名DSapの復号が失敗する場合、又は、第2のPR判断処理で「一致しない」と判断される場合には、プリンタ100は、認証が失敗したと判断し、T324以降の処理を実行しない。
【0068】
プリンタ100は、T324において、ECDHに従って、プリンタ100の秘密鍵psk2と、AP用SC内のAP6Aの公開鍵APK2と、を用いて、接続キーCKを生成する。ここで、T314でAP6Aによって生成される接続キーCKと、T324でプリンタ100によって生成される接続キーCKと、は同じである。これにより、AP接続を確立するための接続キーCKがプリンタ100及びAP6Aの間で共有される。T324が終了すると、
図6の処理が終了する。
【0069】
上述したように、接続キーCKがプリンタ100及びAP6Aの間で共有された後に、
図2のT62において、プリンタ100及びAP6Aは、接続キーCKを利用して、4way-handshakeの通信を実行する。この結果、プリンタ100とAP6Aとの間にAP接続が確立される。即ち、プリンタ100は、AP6Aが親局である無線ネットワークに子局として参加することができ、AP6Aを介して、当該無線ネットワークに参加している他の子局との通信を実行することができる。
【0070】
(通常接続処理;
図7)
続いて、
図7を参照して、プリンタ100のCPU132がプログラム136に従って実行する通常接続処理の内容を説明する。プリンタ100の電源がONされることに応じて、通常接続処理が開始される。当該処理は、プリンタ100の電源がONされている間に繰り返し実行される。なお、以下では、プリンタ100とのAP接続が新たに確立されるべきAPのことを「対象AP」と呼ぶ。
【0071】
S5では、CPU132は、
図2のT14の選択画面内の「マニュアル接続」又は「WPS接続」が選択されることを監視する。CPU132は、「マニュアル接続」又は「WPS接続」が選択される場合(
図2のT20又はT30参照)に、S5でYESと判断してS10に進む。CPU132は、CPU132は、S5でNOと判断する場合に、
図7の処理を終了する。
【0072】
S10では、CPU132は、AP接続が現在確立されているのか否かを判断する。具体的には、CPU132は、
図2のケースA1~A3のいずれかの手法で過去に或るAPとのAP接続を確立し(即ち無線情報をメモリ134に記憶済みであり)、当該AP接続の切断を検出していない場合には、S10でYESと判断してS20に進む。以下では、上記の或るAPのことを「現行AP」と呼ぶ。一方、CPU132は、過去にAP接続を一度も確立していない場合(即ち無線情報がメモリ134に記憶されていない場合)、又は、過去にAP接続を確立したが当該AP接続の切断を検出した場合には、S10でNOと判断してS30に進む。
【0073】
S20では、CPU132は、ユーザがAP接続を切断すべきことをプリンタ100に指示するための指示画面を表示部114に表示する。指示画面は、接続確立中を示すメッセージとOKボタンとキャンセルボタンとを含む。
【0074】
S22では、CPU132は、指示画面内のOKボタンがユーザによって選択されたのか否かを判断する。CPU132は、OKボタンが選択された場合には、S22でYESと判断してS24に進む。一方、CPU132は、キャンセルボタンが選択された場合には、S22でNOと判断して
図7の処理を終了する。
【0075】
S24では、CPU132は、現行APとのAP接続を切断する。具体的には、CPU132は、Wi-FiI/F116を介して切断要求を現行APに送信して、Wi-FiI/F116を介して現行APから応答を受信する。これにより、現行APとのAP接続が切断される。上述したように、プリンタ100のWi-FiI/F116は、複数個のAPとの複数個のAP接続を同時的に確立することができない。このために、CPU132は、S24で現行AP(例えば6A)とのAP接続を切断すれば、後述のS30で対象AP(例えば6B)とのAP接続を適切に確立することができる。
【0076】
S30では、CPU132は、対象APとのAP接続を確立するための確立処理を実行する。選択画面内の「マニュアル接続」が選択される
図2のケースA1では、CPU132は、ユーザによって入力される無線設定情報(SSID、パスワード等)を利用して、AP接続を確立する。また、選択画面内の「WPS接続」が選択される
図2のケースA2では、CPU132は、対象APから受信される無線設定情報を利用して、AP接続を確立する。
【0077】
S32では、CPU132は、AP接続の確立が成功したのか否かを判断する。
図2のケースA1では、例えば、ユーザによって誤った無線設定情報が入力されると、AP接続の確立が失敗する。また、
図2のケースA2では、例えば、ユーザによってPBC操作が対象APに実行されないと、AP接続の確立が失敗する。CPU132は、AP接続の確立が成功する場合には、S32でYESと判断してS34に進み、AP接続の確立が失敗する場合には、S32でNOと判断してS36に進む。
【0078】
S34では、CPU132は、新たな無線情報をメモリ134に記憶する。新たな無線情報は、ケースA1ではユーザによって入力された無線設定情報であり、ケースA2ではAPから受信された無線設定情報である。また、CPU132は、古い無線情報がメモリ134に記憶されている場合には、当該無線情報をメモリ134から削除する。S34が終了すると、
図7の処理が終了する。
【0079】
S36では、CPU132は、S24で現行APとのAP接続を切断したのであれば、当該AP接続を確立するために利用済みであるメモリ134内の無線情報を利用して、現行APとのAP接続を再確立する。これにより、プリンタ100は、S24で現行APとのAP接続が切断される前の状態に復帰することができる。なお、CPU132は、S24でAP接続を切断していなければ、S36を実行することなく、
図7の処理を終了する。
【0080】
(DPP接続処理;
図8)
続いて、
図8を参照して、プリンタ100のCPU132がプログラム136に従って実行するDPP接続処理の内容を説明する。プリンタ100の電源がONされることに応じて、DPP接続処理が開始される。当該処理は、プリンタ100の電源がONされている間に繰り返し実行される。また、
図8の処理は、
図7の処理と並列的に実行される。
【0081】
S105では、CPU132は、
図2のT14の選択画面内の「DPP接続」が選択されることを監視する。CPU132は、「DPP接続」が選択される場合(
図3のT70参照)に、S105でYESと判断してS110に進む。S110~S124は、
図7のS10~S24と同様である。
【0082】
S130では、CPU132は、プリンタ100の動作状態を不可能状態から可能状態に移行させる。不可能状態は、Wi-FiI/F116が、外部からAReq(
図4のT110参照)を受信しても、ARes(T130参照)を送信しない状態である。可能状態は、Wi-FiI/F116が、外部からAReqを受信することに応じて、AResを送信する状態である。即ち、プリンタ100は、不可能状態から可能状態に移行することによって、Auth(
図4参照)を実行可能な状態になる。具体的には、本実施例では、不可能状態は、Wi-FiI/F116が、外部から信号を受信しても、当該信号をCPU132に供給しない状態である。また、可能状態は、Wi-FiI/F116が、外部から信号を受信することに応じて、当該信号をCPU132に供給し、当該信号に対する応答を送信する状態である。可能状態は、CPU132が外部から受信した信号を処理する状態であるので、不可能状態と比較して処理負荷が高い。
【0083】
なお、変形例では、不可能状態がWi-FiI/F116に通電されていない状態であり、可能状態がWi-FiI/F116に通電されている状態であってもよい。また、別の変形例では、不可能状態は、Wi-FiI/F116が、外部からAReqを受信しても、AReqが受信されたことを示す通知をCPU132に供給しない状態であり、可能状態は、Wi-FiI/F116が、外部からAReqを受信することに応じて、AReqが受信されたことを示す通知をCPU132に供給する状態であってもよい。
【0084】
S132では、CPU132は、QRコードを含む画面を表示部114に表示する(
図3のT72参照)。S132が終了すると、S140に進む。
【0085】
また、S205では、CPU132は、端末10AとのNFC接続が確立されることを監視する。CPU132は、S105の判断及びS205の判断を繰り返し実行する。CPU132は、NFCI/F117からNFC接続の確立を示す通知を取得する場合(
図3のケースA3-1参照)に、S205でYESと判断してS210に進む。S210~S230は、S110~S130と同様である。S230が終了すると、S140に進む。
【0086】
S140では、CPU132は、端末10AからAReqを受信することを監視する。CPU132は、Wi-FiI/F116を介して端末10AからAReqを受信する場合(
図4のT110参照)に、S140でYESと判断して、S150に進む。一方、CPU132は、S132又はS230が終了してから所定時間が経過しても、端末10AからAReqを受信しない場合に、S140でNOと判断して、S156に進む。S156は、
図7のS36と同様である。
【0087】
S150では、CPU132は、対象APとのAP接続を確立するための確立処理を実行する。具体的には、CPU132は、
図4のT112~T130、T140、T144、
図5のT200、T210、T212、
図6のT310、T320~T324、及び、
図2のT62と同様の処理を実行する。
【0088】
ここで、以下の比較例のプリンタを想定する。比較例のプリンタは、S122でYES又はS222でYESと判断する場合に、現行APとのAP接続を切断せずに(即ちS124又はS224を実行せずに)、可能状態に移行する(即ちS130又はS230を実行する)。プリンタは、可能状態に移行するので、端末10AからAReqを受信すると、AResを端末10Aに送信する。そして、プリンタは、Auth、Config、及び、NAの処理において、DPP方式に従った通信(以下では「DPP通信」と呼ぶ)を端末10A又は対象APと実行し、その後、現行APとのAP接続を切断し、対象APとのAP接続を確立する。この場合、プリンタは、現行APとのAP接続が確立されている状態でDPP通信を実行しなければならない。現行APとのAP接続が確立されている状態では、APとのAP接続が確立されていない状態と比べて、プリンタの処理負荷及び通信負荷が大きい。このために、プリンタは、DPP通信を適切に実行することができない可能性がある。即ち、比較例のプリンタは、対象APとのAP接続を確立することができない可能性がある。
【0089】
これに対し、本実施例のプリンタ100は、現行APとのAP接続を切断した後(即ちS124又はS224を実行した後)に、可能状態に移行する(S130、S230)。このために、プリンタ100は、現行APとのAP接続が確立されている状態でDPP通信を実行せずに済み、DPP通信を適切に実行することができる。この結果、プリンタ100は、対象APとのAP接続を適切に確立することができる。
【0090】
S152では、CPU132は、AP接続の確立が成功したのか否かを判断する。例えば、S150の確立処理が完了する前に、対象APの電源がOFFされると、AP接続の確立が失敗する。CPU132は、AP接続の確立が成功する場合には、S152でYESと判断してS154に進み、AP接続の確立が失敗する場合には、S152でNOと判断してS156に進む。
【0091】
S154では、CPU132は、S150内のConfigにおいて端末10Aから受信されるプリンタ用CO(
図5のT212参照)と、S150内のNAにおいて生成される接続キー(
図6のT324参照)と、を含む新たな無線情報をメモリ134に記憶する。また、CPU132は、古い無線情報がメモリ134に記憶されている場合には、当該無線情報をメモリ134から削除する。S154が終了すると、
図8の処理が終了する。
【0092】
(具体的なケース;
図9)
続いて、
図9を参照して、本実施例で実現される具体的なケースBを説明する。ケースBの初期状態では、
図2のケースA1~A3のいずれかが実行済みであり、プリンタ100とAP6Aとの間にAP接続が確立されている。そして、通信システム2の管理者(即ちユーザ)は、プリンタ100とAP6Aとの間のAP接続に代えて、プリンタ100とAP6Bとの間のAP接続を確立させる。
【0093】
T400~T404は、AP6Bが利用される点を除くと、
図2のT40~T44と同様である。ただし、T400では、AP6Bの公開鍵と、AP6Bのチャネルリストと、AP6BのMACアドレス「Mapb」と、をコード化することによって得られるQRコードが端末10Aによって撮影される。また、例えば、
図2のケースA3が実行された結果として、プリンタ100とAP6Aとの間にAP接続が確立されている状況では、AP6AのためのAP用CO内のAP用SCは、グループID「gr1」を含む(
図6のAP6Aの初期状態参照)。これに対し、T404で端末10Aによって生成されるAP6BのためのAP用CO内のAP用SCは、グループID「gr1」とは異なるグループID「gr2」を含む。AP6BのためのAP用SCは、さらに、ハッシュ値HVと、AP6Aの公開鍵APK2とは異なるAP6Bの公開鍵と、電子署名DSapとは異なる電子署名と、を含む。また、AP6BのためのAP用COは、公開鍵TPK1,TPK2とは異なる端末10Aの公開鍵TPK3を含む。その後、ケースB1及びケースB2のどちらかが実行される。
【0094】
(ケースB1)
ケースB1では、プリンタ100は、T410において、ユーザから選択画面内の「DPP接続」の選択を受け付ける(
図8のS105でYES)。この場合、プリンタ100は、T420において、指示画面を表示し(S110でYES、S120)、T422において、ユーザから指示画面内のOKボタンの選択を受け付ける(S122でYES)。この結果、プリンタ100は、T430において、切断要求をAP6Aに送信し、T432において、AP6AとのAP接続を切断する(S124)。
【0095】
その後、プリンタ100は、T434において、可能状態に移行し(S130)、T440において、QRコードを表示する(S132)。そして、
図3のT74及びT76と同様にT444及びT446が実行され、公開鍵PPK1等が端末10Aによって取得される。
【0096】
(ケースB2)
ケースB2では、プリンタ100は、T450において、端末10Aがプリンタ100に近づけられることに起因して、T451において、NFC接続を利用して、端末10AからReadコマンドを受信する。この場合、プリンタ100は、T452において、公開鍵PPK1等を含むNFC情報を端末10Aに送信する。この結果、公開鍵PPK1等が端末10Aによって取得される。T460~T474は、T420~T434と同様である。
【0097】
(ケースB1及びB2の続き)
ケースB1及びB2に続いて実行されるT480~T484は、AP6Bが利用される点を除くと、
図2のT52~T60と同様である。上述したように、
図5のT202で端末10Aによって生成されるプリンタ用CO内のプリンタ用SCは、グループID「gr1」を含む。これに対し、T482で端末10Aによって生成されるプリンタ用CO内のプリンタ用SCは、グループID「gr1」とは異なるグループID「gr2」を含む。このために、T482のプリンタ用SCは、
図5のT202で端末10Aによって生成される電子署名DSpr1とは異なる電子署名DSpr2を含む。また、T482で端末10Aによって生成されるプリンタ用COは、端末10Aの公開鍵TPK3を含む。
【0098】
次いで、プリンタ100は、T486において、AP6BとのAP接続を確立する。この結果、プリンタ100は、AP6AとのAP接続に代えて、AP6BとのAP接続を確立して、AP6Bによって形成されている無線ネットワークに子局として参加することができる。なお、プリンタ100は、T480において、プリンタ100のチャネルリストCLに含まれる複数個の通信チャネルのうちの1個の通信チャネルを利用して、端末10AからAReqを受信する(
図4のT110参照)。即ち、プリンタ100は、プリンタ100と端末10Aとの双方が利用可能な通信チャネルを利用して、端末10AからAReqを受信する。一方、
図9のT486では、プリンタ100は、プリンタ100とAP6Bとの双方が利用可能な通信チャネルを利用して、AP6BとのAP接続を確立する。ここで、端末10Aが利用可能な通信チャネルと、AP6Bが利用可能な通信チャネルと、は異なる場合がある。本実施例では、プリンタ100がT480で端末10AからAReqを受信するための通信チャネルと、プリンタ100がT486でAP6BとのAP接続を確立するための通信チャネルと、が異なる。ただし、変形例では、前者の通信チャネルと後者の通信チャネルとは同じでもよい。
【0099】
(本実施例の効果)
本実施例によると、プリンタ100は、プリンタ100とAP6Aとの間にAP接続が確立されている状態で、公開鍵PPK1を用いて得られるQRコード又はNFC情報を出力するための指示(
図9のT410、T451)が受け付けられた後に、当該AP接続を切断する(T432、T472)。従って、当該AP接続が確立されていることに起因して新たなAP接続を確立不可能であるという事象が発生するのを抑制することができる。また、プリンタ100は、端末10Aから公開鍵PPK1が利用されたAReqを受信し(T480)、ARes応答を端末10Aに送信し(T480)、端末10Aからプリンタ用COを受信する(T482)。そして、プリンタ100は、当該プリンタ用COを利用して、プリンタ100とAP6Bとの間にAP接続を適切に確立することができる(T484、T486)。
【0100】
(対応関係)
プリンタ100、端末10A、AP6A、AP6Bが、それぞれ、「通信装置」、「端末装置」、「第1の外部装置」、「第2の外部装置(及び親局装置)」の一例である。Wi-FiI/F116、NFCI/F117が、それぞれ、「第1の無線インターフェース」、「第2の無線インターフェース」の一例である。表示部114及びNFCI/F117が、「出力部」の一例である。
図3のT70の指示及びT81のReadコマンドが、「出力指示」の一例である。
図9において、プリンタ100とAP6Aとの間のAP接続、プリンタ100とAP6Bとの間のAP接続が、それぞれ、「第1の無線接続」、「第2の無線接続」の一例である。プリンタ100の公開鍵PPK1が、「公開鍵」の一例であり、プリンタ100のQRコード及びNFC情報が、「特定情報」の一例である。AReq、ARes、
図9のT482で端末10Aから受信されるプリンタ用COが、それぞれ、「認証要求」、「認証応答」、「接続情報」の一例である。チャネルリストCL、
図9のT480で利用される通信チャネル、T486で利用される通信チャネルが、それぞれ、「通信チャネル情報」、「第1の通信チャネル」、「第2の通信チャネル」の一例である。T484でAP6Bから受信されるAP用SC(即ちT404で端末10Aによって生成されるAP用SC)、T482で端末10Aによって生成されるプリンタ用SC内のハッシュ値HVが、それぞれ、「受信情報」、「認証情報」の一例である。
【0101】
図9のT480が、「認証要求受信部」及び「認証応答送信部」によって実行される処理の一例である。T434(及びT474)、T482、T486が、それぞれ、「状態移行部」、「接続情報受信部」、「第1の確立部」によって実行される処理の一例である。また、
図8のS120(及びS220)、S124(及びS224)、S154、S156が、それぞれ、「第2の表示制御部」、「切断部」、「削除部」、「第2の確立部」によって実行される処理の一例である。
【0102】
(第2実施例)
第2実施例では、プリンタ100のWi-FiI/F116は、Wi-Fi Allianceによって策定されたWFD(Wi-Fi Direct(登録商標)の略)方式をサポートしている。各端末10A,10BのWi-FiI/F16も、WFD方式をサポートしている。WFD方式は、Wi-Fi Allianceによって作成された規格書「Wi-Fi Peer-to-Peer (P2P) Technical Specification Version1.1」に記述されている無線通信方式である。WFDの規格では、WFD方式をサポートしているWFD機器の状態として、Group Owner状態(以下では「G/O状態」と呼ぶ)、クライアント状態、及び、デバイス状態の3つの状態が定義されている。WFD機器は、上記の3つの状態のうちの1つの状態で選択的に動作可能である。
【0103】
Wi-FiI/F116は、MACアドレス「Mlan」とは異なるMACアドレス「Mwfd」を有する。本実施例では、Wi-FiI/F116がAP接続を確立することを想定しておらず、WFD方式に従ったWi-Fi接続(以下では「WFD接続」と呼ぶ)を端末(例えば10A)と確立する。Wi-FiI/F116は、1個のMACアドレス「Mwfd」のみを有しており、当該MACアドレスを利用して1個の端末(例えば10A)とのWFD接続のみを確立可能である。即ち、Wi-FiI/F116は、複数個の端末との複数個のWFD接続を同時的に確立することができない。
【0104】
(プリンタ100と端末10Bとの間のWFD接続;
図10)
本実施例では、複数個の端末10A,10Bのそれぞれのユーザがプリンタ100を共用する状況を想定している。
図10を参照して、プリンタ100と端末10Bとの間にWFD接続を確立するための処理を説明する。
【0105】
プリンタ100は、電源がONされると、T510において、ホーム画面を表示部114に表示する。ホーム画面は、文字列「印刷設定」と文字列「WFD設定」とを含む。
【0106】
プリンタ100は、T512おいて、ユーザからホーム画面内の「WFD設定」の選択を受け付けると、T514において、選択画面を表示部114に表示する。選択画面は、文字列「WPS接続」と文字列「DPP接続」とを含む。「WPS接続」は、端末(例えば10B)の所定のボタンを操作すること(即ちPBC操作を実行すること)に応じて、WPSに従ったWFD接続を確立するための手法である。「DPP接続」は、端末を利用することに応じて、DPPに従ったWFD接続を確立するための手法である。
【0107】
(ケースC1)
ケースC1では、プリンタ100は、T520において、ユーザから選択画面内の「WPS接続」の選択を受け付ける。そして、T522において、PBC操作が端末10Bに実行されると、プリンタ100は、T524において、様々な信号の通信を端末10Bと実行して、端末10BとのWFD接続を確立する。当該様々な信号は、例えば、Probe、G/Oネゴシエーション(以下では「G/Oネゴ」と呼ぶ)、Discovery、WPSネゴシエーション、Authentication、Association、4way-handshake等を含む。これにより、プリンタ100及び端末10Bのうちの一方がG/O状態で動作すると共に他方がクライント状態で動作する無線ネットワークが形成され、プリンタ100は、当該無線ネットワークを利用して端末10Bとの通信を実行することができる。
【0108】
(ケースC2)
ケースC2では、端末10Bは、ユーザからアプリ38を起動する指示を受け付けた後に、T530において、DPP方式のBSをプリンタ100と実行する。当該BSとして、2つのケースC2-1及びC2-2が考えられる。
図11のケースC2-1のT550~T556は、MACアドレス「Mlan」に代えてMACアドレス「Mwfd」がコード化されたQRコードが利用される点を除くと、
図3のT70~T76と同様である。ケースC2-2のT560~T562は、MACアドレス「Mwfd」が送信される点を除くと、
図3のT80~T82と同様である。どちらのケースでも、端末10Bは、プリンタ100の公開鍵PPK1とチャネルリストCLとMACアドレス「Mwfd」とを取得する。
【0109】
次いで、プリンタ100は、
図10のT532において、Wi-FiI/F116を介して、端末10BからProbe Reqestを受信し、T534において、Wi-FiI/F116を介して、MACアドレス「Mwfd」を含むProbe Responseを端末10Bに送信する。
【0110】
端末10Bは、T530のBSでMACアドレス「Mwfd」を取得済みであるので、T534において、MACアドレス「Mwfd」を含む信号を受信すると、当該信号の送信元が接続対象の機器であることを知ることができる。そして、以降の処理では、端末10Bは、MACアドレス「Mwfd」を送信先として、様々な信号をプリンタ100に送信する。
【0111】
T536では、プリンタ100は、G/Oネゴを端末10Bと実行して、G/O状態及びクライアント状態のうちのどちらで動作すべきかを決定する。その後に実行されるT540のAuth及びT542のConfigは、
図2のT52及びT54と同様である。これにより、プリンタ用COがプリンタ100に記憶される。プリンタ用COは、プリンタ用SCと、端末10Bの公開鍵と、を含む。プリンタ用SCは、端末10Bの公開鍵をハッシュ値することによって得られるハッシュ値HV’と、グループID「gr3」と、プリンタ100の公開鍵「PPK2」と、電子署名DSpr2と、を含む。
【0112】
T544のNAは、AP6Aに代えて端末10Bが実行主体である点を除くと、
図2のT60と同様である。ただし、T544のNAでは、端末10Bは、端末10BのためのCOである端末用COを生成して、端末用COを利用してNA、プリンタ100の認証及び接続キーの生成を実行する。端末用COは、端末用SCと、端末10Bの公開鍵と、を含む。端末用SCは、ハッシュ値HV’と、グループID「gr3」と、端末10Bの公開鍵と、電子署名DStbと、を含む。
【0113】
T546では、プリンタ100は、T544で共有された接続キーを利用して、プリンタ100と端末10Bとの間にWFD接続を確立する。上記のどちらのケースC1~C2でも、プリンタ100は、WFD接続を確立すると、無線情報をメモリ34に記憶する。無線情報は、ケースC1では無線設定情報(SSID、パスワード等)であり、ケースC2ではプリンタ用CO及び接続キーである。
【0114】
ここで、本実施例の
図7及び
図8の処理を説明しておく。
図7及び
図8の各処理は、AP接続に代えてWFD接続が利用される点と、MACアドレス「Mlan」に代えてMACアドレス「Mwfd」が利用される点と、を除くと、第1実施例と同様である。上述したように、プリンタ100のWi-FiI/F116は、複数個の端末との複数個のWFD接続を同時的に確立することができない。このために、CPU132は、
図7のS24、
図8のS124、又は、S224において、第1の端末(例えば10B)とのWFD接続を切断すれば、
図7のS30又は
図8のS150において、第2の端末(例えば10A)とのWFD接続を適切に確立することができる。
【0115】
(プリンタ100と端末10Aとの間のWFD接続;
図12)
続いて、
図12を参照して、本実施例の
図7及び
図8で実現される具体的なケースDを説明する。ケースDは、
図10の続きのケースであり、プリンタ100と端末10Bとの間にWFD接続が確立されている(
図10のT524、T546)。そして、ケースD1及びケースD2のどちらかが実行される。
【0116】
ケースD1のT610~T646は、端末10BとのWFD接続が切断されることを除くと、
図9のT410~T446と同様である(
図8のS105でYES、S110~S132)。また、ケースD2のT650~T674は、端末10BとのWFD接続が切断されることを除くと、
図9のT450~T474と同様である(
図8のS205でYES、S210~S230)。
【0117】
ケースD1及びD2の続きのT682~T696は、端末10Aが実行主体である点を除くと、
図10のT532~T546と同様である。T692で端末10Aによって生成されるプリンタ用COは、
図5のT202で生成されるプリンタ用COと同じである。また、T694で端末10Aによって生成される端末用COは、端末用SCと、端末10Aの公開鍵TPK2と、を含む。端末用SCは、ハッシュ値HVと、グループID「gr1」と、端末10Aの公開鍵「TPK2」と、電子署名DStaと、を含む。
【0118】
(本実施例の効果)
本実施例によると、プリンタ100は、プリンタ100と端末10Bとの間にWFD接続が確立されている状態で、公開鍵PPK1を用いて得られるQRコードを出力するための指示(
図12のT610、T651)が受け付けられた後に、当該WFD接続を切断する(T632、T672)。従って、当該WFD接続が確立されていることに起因して新たなWFD接続を確立不可能であるという事象が発生するのを抑制することができる。また、プリンタ100は、端末10Aから公開鍵PPK1が利用されたAReqを受信し(T690)、ARes応答を端末10Aに送信し(T690)、端末10Aからプリンタ用COを受信する(T692)。そして、プリンタ100は、当該プリンタ用COを利用して、プリンタ100と端末10Aとの間にWFD接続を適切に確立することができる(T694、T696)。
【0119】
(対応関係)
端末10Bが、「第1の外部装置」の一例であり、端末10Aが、「端末装置」及び「第2の外部装置」の一例である。
図12において、プリンタ100と端末10Bとの間のWFD接続、プリンタ100と端末10Aとの間のWFD接続が、それぞれ、「第1の無線接続」、「第2の無線接続」の一例である。
【0120】
(第3実施例)
第3実施例では、プリンタ100は、NFCI/F117を備えていない。また、Wi-FiI/F116は、AP接続を確立するために利用されるMACアドレス「Mlan」と、WFD接続を確立するために利用されるMACアドレス「Mwfd」と、の双方を有する。従って、Wi-FiI/F116は、MACアドレス「Mlan」を利用したAP接続と、MACアドレス「Mwfd」を利用したWFD接続と、の双方を同時的に確立することができる。ただし、第1及び第2実施例と同様に、Wi-FiI/F116は、複数個のAP接続を同時的に確立することができなし、複数個のWFD接続を同時的に確立することができない。
【0121】
(プリンタ100に表示される各画面;
図13)
図13に示されるように、本実施例のホーム画面は、文字列「印刷設定」と文字列「無線LAN設定」と文字列「WFD設定」とを含む。プリンタ100は、ホーム画面内の「無線LAN設定」が選択される場合には、無線LAN選択画面を表示し、ホーム画面内の「WFD設定」が選択される場合には、WFD選択画面を表示する。無線LAN選択画面、WFD選択画面は、それぞれ、
図2のT14の選択画面、
図10のT514の選択画面と同様である。
【0122】
(通常接続処理;
図14)
本実施例では、
図7の通常接続処理に代えて、
図14の通常接続処理が実行される。当該処理は、プリンタ100の電源がONされている間に繰り返し実行される。
【0123】
CPU132は、S5Aにおいて、無線LAN選択画面内の「マニュアル接続」又は「WPS接続」が選択されることを監視する。CPU132は、S5AでYESと判断する場合に、S10Aにおいて、AP接続が現在確立されているのか否かを判断する。CPU132は、S10AでYESと判断する場合に、
図7のS20及びS22と同様の処理を実行し、S24Aにおいて、AP接続を切断する。CPU132は、その後、
図7のS30~S36と同様の処理を実行する。一方、CPU132は、S10AでNOと判断する場合に、S20~S24Aをスキップして、S30~S36と同様の処理を実行する。ここでのS30では、CPU132は、MACアドレス「Mlan」を利用してAP接続を確立する。
【0124】
CPU132は、S5Bにおいて、WFD選択画面内の「WPS接続」が選択されることを監視する。CPU132は、S5Aの判断及びS5Bの判断を繰り返し実行する。CPU132は、S5BでYESと判断する場合に、S10Bにおいて、WFD接続が現在確立されているのか否かを判断する。CPU132は、S10BでYESと判断する場合に、
図7のS20及びS22と同様の処理を実行し、S24Bにおいて、WFD接続を切断する。CPU132は、その後、
図7のS30~S36と同様の処理を実行する。一方、CPU132は、S10BでNOと判断する場合に、S20~S24をスキップして、S30~S36と同様の処理を実行する。ここでのS30では、CPU132は、MACアドレス「Mwfd」を利用してWFD接続を確立する。
【0125】
(DPP接続処理;
図15)
本実施例では、
図8のDPP接続処理に代えて、
図15のDPP接続処理が実行される。当該処理は、プリンタ100の電源がONされている間に繰り返し実行される。また、
図15の処理は、
図14の処理と並列的に実行される。
【0126】
CPU132は、S105Aにおいて、無線LAN選択画面内の「DPP接続」が選択されることを監視する。CPU132は、S105AでYESと判断する場合に、S110Aにおいて、AP接続が現在確立されているのか否かを判断する。CPU132は、S110AでYESと判断する場合に、
図8のS120及びS122と同様の処理を実行し、S124Aにおいて、AP接続を切断する。CPU132は、その後、S130Aにおいて、不可能状態から可能状態に移行する。一方、CPU132は、S110AでNOと判断する場合に、S120~S124Aをスキップして、S130Aに進む。その後、CPU132は、S132Aにおいて、公開鍵PPK1とチャネルリストCLとMACアドレス「Mlan」とがコード化されることによって得られるQRコードを表示する。そして、CPU132は、S140~S156と同様の処理を実行する。
【0127】
CPU132は、S105Bにおいて、WFD選択画面内の「DPP接続」が選択されることを監視する。CPU132は、S105Aの判断及びS105Bの判断を繰り返し実行する。CPU132は、S105BでYESと判断する場合に、S110Bにおいて、WFD接続が現在確立されているのか否かを判断する。CPU132は、S110BでYESと判断する場合に、
図8のS120及びS122と同様の処理を実行し、S124Bにおいて、WFD接続を切断する。CPU132は、その後、S130Bにおいて、不可能状態から可能状態に移行する。一方、CPU132は、S110BでNOと判断する場合に、S120~S124Bをスキップして、S130Bに進む。その後、CPU132は、S132Bにおいて、公開鍵PPK1とチャネルリストCLとMACアドレス「Mwfd」とがコード化されることによって得られるQRコードを表示する。即ち、S132Bで表示されるQRコードは、S132Aで表示されるQRコードとは異なる。そして、CPU132は、S140~S156と同様の処理を実行する。
【0128】
(本実施例の効果)
プリンタ100は、第1のAP接続が現在確立されている状態において、第2のAP接続を確立するための指示を受け付ける場合(
図14のS5AでYES、S10AでYES、
図15のS105AでYES、S110AでYES)には、第1のAP接続を切断するので(S24A、S124A)、第2のAP接続を適切に確立することができる。また、プリンタ100は、第1のWFD接続が現在確立されている状態において、第2のWFD接続を確立するための指示を受け付ける場合(S5BでYES、S10BでYES、S105BでYES、S110BでYES)には、第1のWFD接続を切断するので(S24B、S124B)、第2のWFD接続を適切に確立することができる。ただし、プリンタ100は、AP接続が現在確立されている状態において、WFD接続を確立するための指示を受け付ける場合(S5BでYES、S10BでNO、S105BでYES、S110BでNO)には、AP接続を切断しない。また、プリンタ100は、WFD接続が現在確立されている状態において、AP接続を確立するための指示を受け付ける場合(S5AでYES、S10AでNO、S105AでYES、S110AでNO)には、WFD接続を切断しない。プリンタ100は、このような状況ではAP接続又はWFD接続を切断しないので、当該接続を利用した通信を適切に実行することができる。
【0129】
(対応関係)
MACアドレス「Mlan」、「Mwfd」が、それぞれ、「第1のMACアドレス」、「第2のMACアドレス」の一例である。AP接続、WFD接続が、それぞれ、「第1種の無線接続」、「第2種の無線接続」の一例である。ホーム画面内の「無線LAN設定」、「WFD設定」が、それぞれ、「第1種の選択領域」、「第2種の選択領域」の一例である。
図13の3個の画面(即ち、ホーム画面、無線LAN選択画面、WFD選択画面)が、「1個以上の選択画面」の一例である。
【0130】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0131】
(変形例1)プリンタ100に表示されるQRコードは、チャネルリストCL及びMACアドレスがコード化されたものでなくてもよい。即ち、QRコードは、少なくとも公開鍵PPK1がコード化されることによって得られるコード画像であればよい。また、T452のNFC情報は、チャネルリストCL及びMACアドレスを含んでいなくてもよい。即ち、「特定情報」は、公開鍵を用いて得られる情報であればよい。
【0132】
(変形例2)共有鍵(例えばSK1)を生成するための処理(例えば、
図4のT101等)は、ECDHに従った上記の実施例の処理に限らず、ECDHに従った他の処理であってもよい。また、共有鍵を生成するための処理は、ECDHに従った処理に限らず、他の方式(例えば、DH(Diffie-Hellman key exchangeの略)等)に従った処理であってもよい。また、上記の実施例では、電子署名が、ECDSAに従って生成されたが、他の方式(例えば、DSA(Digital Signature Algorithmの略)、RAS(Rivest-Shamir-Adleman cryptosystemの略)等)に従って生成されてもよい。
【0133】
(変形例3)例えば、プリンタ100は、T132において、QRコードを表示部114に表示することに代えて、印刷媒体へのQRコードの印刷を印刷実行部118に実行させてもよい。本変形例では、印刷実行部118が、「出力部」の一例である。また、別の変形例では、プリンタ100は、NFCI/F117に代えて、Bluetooth(登録商標)方式に従った通信を実行するためのBTI/Fを備えていてもよく、この場合、BTI/Fを介して、公開鍵PPK1とチャネルリストCLとMACアドレス「Mlan」とを送信してもよい。本変形例では、BTI/Fが、「出力部」及び「第2の無線インターフェース」の一例である。また、本変形例では、「特定情報」は、「コード画像」でなくてもよい。なお、BTI/Fは、Bluetooth4.0以上のBluetooth Low Energyであってもよい。
【0134】
(変形例4)Wi-Fi Allianceによって作成された規格書のドラフトである「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」には、共有コード、キー、フレーズ、及び、ワードを「コード」と呼ぶことが記載されている。従って、プリンタ100は、QRコードに代えて、公開鍵PPK1等がコード化されることによって得られる共有コード、キー、フレーズ、及び、ワードを含む画像を表示部114に表示してもよい。
【0135】
(変形例5)
図8のS154及びS156を省略してもよい。本変形例では、「削除部」及び「第2の確立部」を省略可能である。また、S120、S122、S220、及び、S222を省略してもよい。本変形例では、「第2の表示制御部」を省略可能である。
【0136】
(変形例6)プリンタ100は、
図8のS124又はS224でWi-Fi接続を切断する前に(例えばS105又はS205でYESのタイミング)、不可能状態から可能状態に移行してもよい。また、別の変形例では、プリンタ100は、常に、可能状態で動作していてもよい。本変形例では、「状態移行部」を省略可能である。
【0137】
(変形例7)プリンタ100は、
図8のS124又はS224でWi-Fi接続を切断しなくてもよい。Wi-Fi接続を切断するタイミングは、例えば、Authの後であってConfigの前であってもよいし、Configの後であってNAの前であってもよいし、NAの後であってAP接続又はWFD接続を確立する前であってもよい。
【0138】
(変形例8)「通信装置」は、プリンタ100でなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。
【0139】
(変形例9)上記の各実施例では、
図2~
図15の各処理がソフトウェア(即ちプログラム36,38,136)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0140】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0141】
2:通信システム、6A,6B:AP、10A,10B:端末、12:操作部、14:表示部、15:カメラ、16:Wi-FiI/F、17:NFCI/F、30:制御部、32:CPU、34:メモリ、36:OSプログラム、38:接続アプリケーション、100:プリンタ、112:操作部、114:表示部、116:Wi-FiI/F、117:NFCI/F、118:印刷実行部、130:制御部、132:CPU、134:メモリ、136:プログラム
【手続補正書】
【提出日】2022-10-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
通信装置であって、
第1の無線インターフェースと、
前記通信装置に対する所定の操作である出力指示が受け付けられる場合に、前記通信装置の公開鍵がコード化されることによって得られるコード画像である特定情報を外部に出力するための出力部と、
前記出力部から出力された前記特定情報である前記コード画像が端末装置によって撮影されることによって、前記端末装置によって前記公開鍵が取得された後に、前記端末装置から、前記第1の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記第1の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記第1の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第1の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記端末装置から前記接続情報が受信された後に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する確立部と、
を備え、
前記第1の無線インターフェースは、第1種の無線接続と、前記第1種の無線接続とは異なる第2種の無線接続と、を同時的に確立可能であり、
前記通信装置と前記第2の外部装置とは異なる第1の外部装置との間に前記第1の無線インターフェースを介した前記第1種の無線接続である第1の無線接続が確立されている状態で、前記第2種の無線接続を確立するための前記出力指示が受け付けられても、前記第1の無線接続は切断されず、
前記通信装置と前記第1の外部装置との間に前記第1の無線インターフェースを介した前記第2種の無線接続である前記第1の無線接続が確立されている状態で、前記第1種の無線接続を確立するための前記出力指示が受け付けられても、前記第1の無線接続は切断されない、通信装置。
【請求項2】
前記通信装置は、さらに、
前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記端末装置から前記認証要求を受信しても、前記認証応答を送信しない状態であり、前記可能状態は、前記端末装置から前記認証要求を受信することに応じて、前記認証応答を前記端末装置に送信する状態である、前記状態移行部を備え、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記端末装置から前記認証要求が受信される場合に、前記認証応答を前記端末装置に送信する、請求項1に記載の通信装置。
【請求項3】
前記特定情報は、前記公開鍵と、前記通信装置において予め決められている第1の通信チャネルを示す通信チャネル情報と、がコード化されることによって得られる前記コード画像であり、
前記可能状態は、前記端末装置から前記第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記端末装置から前記第1の通信チャネルが利用された前記認証要求を受信することに応じて、前記認証応答を前記端末装置に送信する状態である、請求項2に記載の通信装置。
【請求項4】
前記確立部は、前記第1の通信チャネルとは異なる第2の通信チャネルを利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する、請求項3に記載の通信装置。
【請求項5】
前記出力部は、前記コード画像である前記特定情報を表示するための表示部であり、
前記出力指示は、前記表示部である前記出力部において前記コード画像である前記特定情報を表示させるための指示である、請求項1から4のいずれか一項に記載の通信装置。
【請求項6】
前記第1の無線インターフェースは、第1のMACアドレスが利用される前記第1種の無線接続と、前記第1のMACアドレスとは異なる第2のMACアドレスが利用される前記第2種の無線接続と、を同時的に確立可能であり、
前記通信装置は、さらに、
前記第1種の無線接続を確立するための第1の選択領域と、前記第2種の無線接続を確立するための第2の選択領域と、を含む1個以上の選択画面を表示部に表示させる表示制御部を備え、
前記第1種の無線接続を確立するための前記出力指示は、前記第1の選択領域の選択を含み、
前記第2種の無線接続を確立するための前記出力指示は、前記第2の選択領域の選択を含む、請求項1から5のいずれか一項に記載の通信装置。
【請求項7】
通信装置であって、
第1の無線インターフェースと、
前記第1の無線インターフェースとは異なる第2の無線インターフェースであって、端末装置から要求信号である出力指示を受信することに応じて、前記通信装置の公開鍵を含む特定情報を前記端末装置に送信する前記第2の無線インターフェースと、
前記第2の無線インターフェースから送信された前記特定情報が前記端末装置によって受信されることによって、前記端末装置によって前記公開鍵が取得された後に、前記端末装置から、前記第1の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記第1の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記第1の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第1の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記端末装置から前記接続情報が受信された後に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する確立部と、
を備え、
前記第1の無線インターフェースは、第1種の無線接続と、前記第1種の無線接続とは異なる第2種の無線接続と、を同時的に確立可能であり、
前記通信装置と前記第2の外部装置とは異なる第1の外部装置との間に前記第1の無線インターフェースを介した前記第1種の無線接続である第1の無線接続が確立されている状態で、前記第2種の無線接続を確立するための前記出力指示が受け付けられても、前記第1の無線接続は切断されず、
前記通信装置と前記第1の外部装置との間に前記第1の無線インターフェースを介した前記第2種の無線接続である前記第1の無線接続が確立されている状態で、前記第1種の無線接続を確立するための前記出力指示が受け付けられても、前記第1の無線接続は切断されない、通信装置。
【請求項8】
前記通信装置は、さらに、
前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記端末装置から前記認証要求を受信しても、前記認証応答を送信しない状態であり、前記可能状態は、前記端末装置から前記認証要求を受信することに応じて、前記認証応答を前記端末装置に送信する状態である、前記状態移行部を備え、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記端末装置から前記認証要求が受信される場合に、前記認証応答を前記端末装置に送信する、請求項7に記載の通信装置。
【請求項9】
前記特定情報は、前記公開鍵と、前記通信装置において予め決められている第1の通信チャネルを示す通信チャネル情報と、を含み、
前記可能状態は、前記端末装置から前記第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記端末装置から前記第1の通信チャネルが利用された前記認証要求を受信することに応じて、前記認証応答を前記端末装置に送信する状態である、請求項8に記載の通信装置。
【請求項10】
前記確立部は、前記第1の通信チャネルとは異なる第2の通信チャネルを利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する、請求項9に記載の通信装置。
【請求項11】
前記第2の外部装置は、前記第1の外部装置とは異なる親局装置であり、
前記確立部は、前記親局装置である前記第2の外部装置によって形成される無線ネットワークに子局として参加するために、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する、請求項1から10のいずれか一項に記載の通信装置。
【請求項12】
前記接続情報は、前記第2の外部装置から受信される受信情報を認証するための認証情報を含む、請求項1から11のいずれか一項に記載の通信装置。
【請求項13】
前記通信装置は、さらに、
前記認証応答が前記端末装置に送信された後に、前記通信装置をWi-Fi規格に従ったEnrolleeとして動作させる動作制御部であって、前記端末装置は、前記Wi-Fi規格に従ったConfiguratorとして動作する、前記動作制御部を備える、請求項1から12のいずれか一項に記載の通信装置。
【請求項14】
通信装置のためのコンピュータプログラムであって、
前記通信装置は、
第1の無線インターフェースと、
前記通信装置に対する所定の操作である出力指示が受け付けられる場合に、前記通信装置の公開鍵がコード化されることによって得られるコード画像である特定情報を外部に出力するための出力部と、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、
前記出力部から前記特定情報が出力されたことに起因して端末装置によって前記公開鍵が取得された後に、前記端末装置から、前記第1の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記第1の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記第1の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第1の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記端末装置から前記接続情報が受信された後に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する確立部と、
として機能させ、
前記第1の無線インターフェースは、第1種の無線接続と、前記第1種の無線接続とは異なる第2種の無線接続と、を同時的に確立可能であり、
前記通信装置と前記第2の外部装置とは異なる第1の外部装置との間に前記第1の無線インターフェースを介した前記第1種の無線接続である第1の無線接続が確立されている状態で、前記第2種の無線接続を確立するための前記出力指示が受け付けられても、前記第1の無線接続は切断されず、
前記通信装置と前記第1の外部装置との間に前記第1の無線インターフェースを介した前記第2種の無線接続である前記第1の無線接続が確立されている状態で、前記第1種の無線接続を確立するための前記出力指示が受け付けられても、前記第1の無線接続は切断されない、コンピュータプログラム。
【請求項15】
通信装置のためのコンピュータプログラムであって、
前記通信装置は、
第1の無線インターフェースと、
前記第1の無線インターフェースとは異なる第2の無線インターフェースであって、端末装置から要求信号である出力指示を受信することに応じて、前記通信装置の公開鍵を含む特定情報を前記端末装置に送信する前記第2の無線インターフェースと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、
前記第2の無線インターフェースから送信された前記特定情報が前記端末装置によって受信されることによって、前記端末装置によって前記公開鍵が取得された後に、前記端末装置から、前記第1の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記第1の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記第1の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第1の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記端末装置から前記接続情報が受信された後に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する確立部と、
として機能させ、
前記第1の無線インターフェースは、第1種の無線接続と、前記第1種の無線接続とは異なる第2種の無線接続と、を同時的に確立可能であり、
前記通信装置と前記第2の外部装置とは異なる第1の外部装置との間に前記第1の無線インターフェースを介した前記第1種の無線接続である第1の無線接続が確立されている状態で、前記第2種の無線接続を確立するための前記出力指示が受け付けられても、前記第1の無線接続は切断されず、
前記通信装置と前記第1の外部装置との間に前記第1の無線インターフェースを介した前記第2種の無線接続である前記第1の無線接続が確立されている状態で、前記第1種の無線接続を確立するための前記出力指示が受け付けられても、前記第1の無線接続は切断されない、コンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0140
【補正方法】変更
【補正の内容】
【0140】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下に、本明細書で開示する技術の特徴を列挙する。
(項目1)
通信装置であって、
第1の無線インターフェースと、
前記通信装置の公開鍵を用いて得られる特定情報を外部に出力するための出力部と、
前記通信装置と第1の外部装置との間に前記第1の無線インターフェースを介した第1の無線接続が確立されている状態で、前記出力部から前記特定情報を出力するための出力指示が受け付けられた後に、前記第1の無線接続を切断する切断部と、
前記出力部から前記特定情報が出力されたことに起因して端末装置によって前記公開鍵が取得された後に、前記端末装置から、前記第1の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記第1の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記第1の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と前記第1の外部装置とは異なる第2の外部装置との間に前記第1の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の無線接続が切断され、かつ、前記端末装置から前記接続情報が受信された後に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する第1の確立部と、
を備える通信装置。
(項目2)
前記通信装置は、さらに、
前記第1の無線接続が切断された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記端末装置から前記認証要求を受信しても、前記認証応答を送信しない状態であり、前記可能状態は、前記端末装置から前記認証要求を受信することに応じて、前記認証応答を前記端末装置に送信する状態である、前記状態移行部を備え、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記端末装置から前記認証要求が受信される場合に、前記認証応答を前記第1の外部装置に送信する、項目1に記載の通信装置。
(項目3)
前記特定情報は、前記公開鍵と、前記通信装置において予め決められている第1の通信チャネルを示す通信チャネル情報と、を用いて得られる情報であり、
前記可能状態は、前記端末装置から前記第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記端末装置から前記第1の通信チャネルが利用された前記認証要求を受信することに応じて、前記認証応答を前記端末装置に送信する状態である、項目2に記載の通信装置。
(項目4)
前記第1の確立部は、前記第1の通信チャネルとは異なる第2の通信チャネルを利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する、項目3に記載の通信装置。
(項目5)
前記通信装置は、さらに、
前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立不可能である場合に、前記通信装置と前記第1の外部装置との間に前記第1の無線接続を再確立する第2の確立部を備える、項目1から4のいずれか一項に記載の通信装置。
(項目6)
前記通信装置は、さらに、
前記通信装置と前記第1の外部装置との間に前記第1の無線接続を確立するための無線情報を記憶するメモリと、
前記通信装置と前記第2の外部装置との間に前記第2の無線接続が確立される場合に、前記メモリから前記無線情報を削除する削除部と、を備え、
前記第2の確立部は、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立不可能である場合に、前記メモリ内の前記無線情報を利用して、前記通信装置と前記第1の外部装置との間に前記第1の無線接続を再確立する、項目5に記載の通信装置。
(項目7)
前記出力部は、前記公開鍵がコード化されることによって得られるコード画像である前記特定情報を表示するための表示部であり、
前記出力指示は、前記表示部である前記出力部において前記コード画像である前記特定情報を表示させるための指示である、項目1から6のいずれか一項に記載の通信装置。
(項目8)
前記第1の無線インターフェースは、第1のMACアドレスが利用される第1種の無線接続と、前記第1のMACアドレスとは異なる第2のMACアドレスが利用される第2種の無線接続と、を同時的に確立可能であり、
前記通信装置は、さらに、
前記第1種の無線接続を確立するための第1の選択領域と、前記第2種の無線接続を確立するための第2の選択領域と、を含む1個以上の選択画面を表示部に表示させる第1の表示制御部を備え、
前記切断部は、
前記通信装置と前記第1の外部装置との間に前記第1種の無線接続である前記第1の無線接続が確立されている状態で、前記第1の選択領域の選択を含む前記出力指示が受け付けられた後に、前記第1の無線接続を切断し、
前記通信装置と前記第1の外部装置との間に前記第2種の無線接続である前記第1の無線接続が確立されている状態で、前記第2の選択領域の選択を含む前記出力指示が受け付けられた後に、前記第1の無線接続を切断し、
前記通信装置と前記第1の外部装置との間に前記第2種の無線接続である前記第1の無線接続が確立されている状態で、前記第1の選択領域の選択を含む前記出力指示が受け付けられても、前記第1の無線接続は切断されず、
前記通信装置と前記第1の外部装置との間に前記第1種の無線接続である前記第1の無線接続が確立されている状態で、前記第2の選択領域の選択を含む前記出力指示が受け付けられても、前記第1の無線接続は切断されない、項目1から7のいずれか一項に記載の通信装置。
(項目9)
前記出力部は、前記端末装置から要求信号である前記出力指示を受信することに応じて、前記特定情報を前記端末装置に送信する第2の無線インターフェースであり、
前記第2の無線インターフェースは、前記第1の無線インターフェースとは異なる、項目1から6のいずれか一項に記載の通信装置。
(項目10)
前記通信装置は、さらに、
前記通信装置と前記第1の外部装置との間に前記第1の無線接続が確立されている状態で、前記出力指示が受け付けられた後に、前記第1の無線接続を切断すべきことを指示するための指示画面を表示部に表示させる第2の表示制御部を備え、
前記切断部は、前記指示画面において前記第1の無線接続を切断すべきことが指示される場合に、前記第1の無線接続を切断する、項目1から9のいずれか一項に記載の通信装置。
(項目11)
前記第2の外部装置は、前記第1の外部装置とは異なる親局装置であり、
前記第1の確立部は、前記親局装置である前記第2の外部装置によって形成される無線ネットワークに子局として参加するために、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する、項目1から10のいずれか一項に記載の通信装置。
(項目12)
前記接続情報は、前記第2の外部装置から受信される受信情報を認証するための認証情報を含む、項目1から11のいずれか一項に記載の通信装置。
(項目13)
前記通信装置は、さらに、
前記認証応答が前記端末装置に送信された後に、前記通信装置をWi-Fi規格に従ったEnrolleeとして動作させる動作制御部であって、前記端末装置は、前記Wi-Fi規格に従ったConfiguratorとして動作する、前記動作制御部を備える、項目1から12のいずれか一項に記載の通信装置。
(項目14)
通信装置のためのコンピュータプログラムであって、
前記通信装置は、
第1の無線インターフェースと、
前記通信装置の公開鍵を用いて得られる特定情報を外部に出力するための出力部と、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、
前記通信装置と第1の外部装置との間に前記第1の無線インターフェースを介した第1の無線接続が確立されている状態で、前記出力部から前記特定情報を出力するための出力指示が受け付けられた後に、前記第1の無線接続を切断する切断部と、
前記出力部から前記特定情報が出力されたことに起因して端末装置によって前記公開鍵が取得された後に、前記端末装置から、前記第1の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記第1の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記第1の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と前記第1の外部装置とは異なる第2の外部装置との間に前記第1の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の無線接続が切断され、かつ、前記端末装置から前記接続情報が受信された後に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線接続を確立する第1の確立部と、
として機能させるコンピュータプログラム。