JP2021197041A - 通信システム、通信装置、及び、端末装置のためのコンピュータプログラム - Google Patents

通信システム、通信装置、及び、端末装置のためのコンピュータプログラム Download PDF

Info

Publication number
JP2021197041A
JP2021197041A JP2020104902A JP2020104902A JP2021197041A JP 2021197041 A JP2021197041 A JP 2021197041A JP 2020104902 A JP2020104902 A JP 2020104902A JP 2020104902 A JP2020104902 A JP 2020104902A JP 2021197041 A JP2021197041 A JP 2021197041A
Authority
JP
Japan
Prior art keywords
communication device
public key
information
communication
printer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020104902A
Other languages
English (en)
Inventor
寛 柴田
Hiroshi Shibata
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2020104902A priority Critical patent/JP2021197041A/ja
Publication of JP2021197041A publication Critical patent/JP2021197041A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】複数個の通信装置の夫々と外部装置の間に無線接続を適切に確立させる技術を提供する。【解決手段】通信システム2において、プリンタ100は、プリンタ100の第1の公開鍵とプリンタ200の第2の公開鍵とを利用して生成される出力情報を印刷実行部に出力させ、出力情報から第1の公開鍵と第2の公開鍵とが端末10によって抽出される、出力制御部と、第1の公開鍵が端末10によって抽出される場合に、端末10から、第1の公開鍵が利用された第1の認証要求を受信する第1の認証要求受信部と、プリンタ100とAP6との間に無線接続を確立する第1の確立部と、を備える。プリンタ200は、第2の公開鍵が端末10によって抽出される場合に、第2の公開鍵が利用された第2の認証要求を受信する第2の認証要求受信部と、第2の無線インターフェースを介して、プリンタ200とAP6との間に第2の無線接続を確立する第2の確立部と、を備える。【選択図】図1

Description

本明細書では、通信装置と外部装置との間に無線接続を確立させる状況における技術を開示する。
特許文献1及び非特許文献1には、Wi−Fi規格のDPP(Device Provisioning Protocolの略)方式に従って、デバイスとアクセスポイントとの間にWi−Fi接続を確立させる技術が開示されている。
特開2017−112430号公報
「Device Provisioning Protocol Specification Version 1.1.13」 Wi-Fi Alliance, 2019年
本明細書では、複数個の通信装置のそれぞれが外部装置との無線接続を確立し得る新規な技術を開示する。
本明細書では、通信システムを開示する。通信システムは、第1の通信装置と、第2の通信装置と、を備えてもよい。前記第1の通信装置は、第1の無線インターフェースと、出力部と、前記第1の通信装置の第1の公開鍵と、前記第2の通信装置の第2の公開鍵と、を利用して生成される出力情報を前記出力部に出力させる出力制御部であって、前記出力情報が出力されることに応じて、前記出力情報から前記第1の公開鍵と前記第2の公開鍵とが端末装置によって抽出される、前記出力制御部と、前記第1の公開鍵が前記端末装置によって抽出される場合に、前記第1の無線インターフェースを介して、前記端末装置から、前記第1の公開鍵が利用された第1の認証要求を受信する第1の認証要求受信部と、前記端末装置から前記第1の認証要求が受信されることに応じて、前記第1の無線インターフェースを介して、第1の認証応答を前記端末装置に送信する第1の認証応答送信部と、前記第1の認証応答が前記端末装置に送信される場合に、前記第1の無線インターフェースを介して、前記端末装置から第1の接続情報を受信する第1の接続情報受信部であって、前記第1の接続情報は、前記第1の通信装置と外部装置との間に第1の無線接続を確立するための情報である、前記第1の接続情報受信部と、前記端末装置から前記第1の接続情報が受信される場合に、前記第1の接続情報を利用して、前記第1の無線インターフェースを介して、前記第1の通信装置と前記外部装置との間に前記第1の無線接続を確立する第1の確立部と、を備えてもよい。前記第2の通信装置は、第2の無線インターフェースと、前記第2の公開鍵が前記端末装置によって抽出される場合に、前記第2の無線インターフェースを介して、前記端末装置から、前記第2の公開鍵が利用された第2の認証要求を受信する第2の認証要求受信部と、前記端末装置から前記第2の認証要求が受信されることに応じて、前記第2の無線インターフェースを介して、第2の認証応答を前記端末装置に送信する第2の認証応答送信部と、前記第2の認証応答が前記端末装置に送信される場合に、前記第2の無線インターフェースを介して、前記端末装置から第2の接続情報を受信する第2の接続情報受信部であって、前記第2の接続情報は、前記第2の通信装置と前記外部装置との間に第2の無線接続を確立するための情報である、前記第2の接続情報受信部と、前記端末装置から前記第2の接続情報が受信される場合に、前記第2の接続情報を利用して、前記第2の無線インターフェースを介して、前記第2の通信装置と前記外部装置との間に前記第2の無線接続を確立する第2の確立部と、を備えてもよい。
以上の構成によると、第1の通信装置は、第1の通信装置の第1の公開鍵と第2の通信装置の第2の公開鍵とを利用して生成される出力情報を出力する。この結果、第1の公開鍵と第2の公開鍵とが端末装置によって抽出される。従って、第1の通信装置は、端末装置から第1の公開鍵が利用された第1の認証要求を受信することができ、さらに、端末装置から第1の接続情報を受信することができる。これにより、第1の通信装置は、第1の接続情報を利用して、外部装置との第1の無線接続を確立することができる。また、第2の通信装置は、端末装置から第2の公開鍵が利用された第2の認証要求を受信することができ、さらに、端末装置から第2の接続情報を受信することができる。これにより、第2の通信装置は、第2の接続情報を利用して、外部装置との第2の無線接続を確立することができる。このように、本システムによると、複数個の通信装置(即ち第1の通信装置及び第2の通信装置)のそれぞれは、第1の通信装置によって出力される出力情報が端末装置によって利用されることに応じて、外部装置との無線接続を適切に確立することができる。
本明細書では、第1の通信装置も開示する。第1の通信装置は、1個以上の通信インターフェースと、出力部と、前記第1の通信装置の第1の公開鍵と、第2の通信装置の第2の公開鍵と、を利用して生成される出力情報を前記出力部に出力させる出力制御部であって、前記出力情報が出力されることに応じて、前記出力情報から前記第1の公開鍵と前記第2の公開鍵とが端末装置によって抽出される、前記出力制御部と、前記第1の公開鍵が前記端末装置によって抽出される場合に、前記1個以上の通信インターフェースのうちの無線インターフェースである第1の通信インターフェースを介して、前記端末装置から、前記第1の公開鍵が利用された認証要求を受信する認証要求受信部と、前記端末装置から前記認証要求が受信されることに応じて、前記第1の通信インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、前記認証応答が前記端末装置に送信される場合に、前記第1の通信インターフェースを介して、前記端末装置から接続情報を受信する接続情報受信部であって、前記接続情報は、前記第1の通信装置と外部装置との間に無線接続を確立するための情報である、前記接続情報受信部と、前記端末装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記第1の通信インターフェースを介して、前記第1の通信装置と前記外部装置との間に前記無線接続を確立する確立部と、を備えても良い。
以上の構成によると、第1の通信装置は、第1の通信装置の第1の公開鍵と第2の通信装置の第2の公開鍵とを利用して生成される出力情報を出力する。この結果、第1の公開鍵と第2の公開鍵とが端末装置によって抽出される。従って、第1の通信装置は、端末装置から第1の公開鍵が利用された認証要求を受信することができ、さらに、端末装置から接続情報を受信することができる。これにより、第1の通信装置は、接続情報を利用して、外部装置との無線接続を確立することができる。また、第2の公開鍵が端末装置によって抽出されるので、第1の通信装置と同様に、第2の通信装置も外部装置との無線接続を確立し得る。このように、本技術によると、複数個の通信装置(即ち第1の通信装置及び第2の通信装置)のそれぞれは、外部装置との無線接続を適切に確立し得る。
本明細書では、第2の通信装置も開示する。第2の通信装置は、1個以上の通信インターフェースと、前記1個以上の通信インターフェースのうちの第1の通信インターフェースを介して、前記第2の通信装置の第2の公開鍵に関連する関連情報を第1の通信装置に送信する関連情報送信部であって、前記関連情報が前記第1の通信装置によって受信される場合に、前記第1の通信装置の第1の公開鍵と、送信済みの前記関連情報に関連する前記第2の公開鍵と、を利用して、出力情報が前記第1の通信装置によって生成され、前記出力情報が前記第1の通信装置によって出力され、前記出力情報が出力されることに応じて、前記出力情報から前記第1の公開鍵と前記第2の公開鍵とが端末装置によって抽出される、前記関連情報送信部と、前記第2の公開鍵が前記端末装置によって抽出される場合に、前記1個以上の通信インターフェースのうちの無線インターフェースである第2の通信インターフェースを介して、前記端末装置から、前記第2の公開鍵が利用された認証要求を受信する認証要求受信部と、前記端末装置から前記認証要求が受信されることに応じて、前記第2の通信インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、前記認証応答が前記端末装置に送信される場合に、前記第2の通信インターフェースを介して、前記端末装置から接続情報を受信する接続情報受信部であって、前記接続情報は、前記第2の通信装置と外部装置との間に無線接続を確立するための情報である、前記接続情報受信部と、前記端末装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記第2の通信インターフェースを介して、前記第2の通信装置と前記外部装置との間に前記無線接続を確立する確立部と、を備えてもよい。
以上の構成によると、第2の通信装置は、第2の通信装置の第2の公開鍵に関連する関連情報を第1の通信装置に送信する。これにより、第1の通信装置の第1の公開鍵と第2の公開鍵とを利用して生成される出力情報の出力が第1の通信装置によって実行される。この結果、第1の公開鍵と第2の公開鍵とが端末装置によって抽出される。従って、第2の通信装置は、端末装置から第2の公開鍵が利用された認証要求を受信することができ、さらに、端末装置から接続情報を受信することができる。これにより、第2の通信装置は、接続情報を利用して、外部装置との無線接続を確立することができる。また、第1の公開鍵が端末装置によって抽出されるので、第2の通信装置と同様に、第1の通信装置も外部装置との無線接続を確立し得る。このように、本技術によると、複数個の通信装置(即ち第1の通信装置及び第2の通信装置)のそれぞれは、外部装置との無線接続を適切に確立し得る。
本明細書では、端末装置のためのコンピュータプログラムも開示する。前記端末装置は、カメラと、無線インターフェースと、コンピュータと、を備えてもよい。前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、第1の通信装置の第1の公開鍵と第2の通信装置の第2の公開鍵との双方がまとめてコード化されることによって得られる単一のコード画像が前記カメラによって撮影される場合に、前記コード画像から前記第1の公開鍵と前記第2の公開鍵とを抽出する抽出部と、前記無線インターフェースを介して、取得済みの前記第1の公開鍵が利用された第1の認証要求を前記第1の通信装置に送信する第1の認証要求送信部と、前記第1の認証要求が前記第1の通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信装置から第1の認証応答が受信される場合に、前記無線インターフェースを介して、第1の接続情報を前記第1の通信装置に送信する第1の接続情報送信部あって、前記第1の接続情報は、前記第1の通信装置と外部装置との間に無線接続を確立するための情報である、前記第1の接続情報送信部と、前記無線インターフェースを介して、取得済みの前記第2の公開鍵が利用された第2の認証要求を前記第2の通信装置に送信する第2の認証要求送信部と、前記第2の認証要求が前記第2の通信装置に送信されることに応じて、第2の通信装置から、前記無線インターフェースを介して、前記第2の通信装置から第2の認証応答が受信される場合に、前記無線インターフェースを介して、第2の接続情報を前記第2の通信装置に送信する第2の接続情報送信部であって、前記第2の接続情報は、前記第2の通信装置と前記外部装置との間に無線接続を確立するための情報である、前記第2の接続情報送信部と、として機能させてもよい。
以上の構成によると、端末装置は、コード画像から第1の公開鍵と第2の公開鍵とを抽出することができる。従って、端末装置は、第1の公開鍵が利用された第1の認証要求を第1の通信装置に送信することができ、さらに、第1の接続情報を第1の通信装置に送信することができる。これにより、第1の通信装置と外部装置との間に第1の無線接続が確立される。また、端末装置は、第2の公開鍵が利用された第2の認証要求を第2の通信装置に送信することができ、さらに、第2の接続情報を第2の通信装置に送信することができる。これにより、第2の通信装置と外部装置との間に第2の無線接続が確立される。このように、端末装置は、第1の通信装置によって出力された単一のコード画像をカメラによって撮影することに応じて、複数個の通信装置(即ち第1の通信装置及び第2の通信装置)のそれぞれと外部装置との間に無線接続を適切に確立させることができる。
上記の第1の通信装置のためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体、及び、第1の通信装置によって実行される方法も新規で有用である。上記の第2の通信装置のためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体、及び、第2の通信装置によって実行される方法も新規で有用である。上記の端末装置のためのコンピュータプログラムを記憶するコンピュータ可読記録媒体、端末装置そのもの、及び、端末装置によって実行される方法も新規で有用である。
通信システムの構成を示す。 各デバイスによって実行される処理のシーケンス図を示す。 図2の続きのシーケンス図を示す。 図3の続きのシーケンス図を示す。 図4の続きのシーケンス図を示す。 第2実施例における図2の続きのシーケンス図を示す。
(第1実施例)
(通信システム2の構成:図1)
図1に示されるように、通信システム2は、端末10と、AP(Access Pointの略)6と、複数個のプリンタ100,200と、を備える。本実施例では、端末10を利用して、各プリンタ100,200とAP6との間にWi−Fi規格に従った無線接続(以下では「Wi−Fi接続」と記載する)を確立させる状況を説明する。
(端末10の構成)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。変形例では、端末10は、据置型のPC、ノートPC等であってもよい。端末10は、操作部12と表示部14とWi−Fiインターフェース16とカメラ18と制御部30とを備える。各部12〜30は、バス線(符号省略)に接続されている。以下では、インターフェースのことを「I/F」と記載する。
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示を端末10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。カメラ18は、物体を撮影するためのデバイスである。本実施例では、カメラ18は、AP6のQRコード(登録商標)、及び、プリンタ100によって印刷されるQRコードを撮影するために利用される。
Wi−FiI/F16は、Wi−Fi規格に従ったWi−Fi通信を実行するための無線I/Fである。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 Specification Version 1.1.13」に記述されている。
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム36,38に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。OS(Operating Systemの略)プログラム36は、基本的な動作を実行するためのプログラムである。アプリケーション38(以下では単に「アプリ38」と記載する)は、DPP方式に従った処理を実行して、端末10とAP6との間にWi−Fi接続を確立させたり、各プリンタ100,200とAP6との間にWi−Fi接続を確立させたりするためのプログラムである。アプリ38は、例えば、プリンタ100,200のベンダによって提供されるインターネット上のサーバ(図示省略)から端末10にインストールされる。
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば端末10の周辺装置)である。プリンタ100は、印刷機能に加えて、スキャン機能、FAX機能等を実行可能な多機能機であってもよい。プリンタ100は、プリンタを識別する情報であるデバイス名「AAA」を有する。プリンタ100は、操作部112と表示部114とWi−FiI/F116と印刷実行部118と制御部130とを備える。各部112〜130は、バス線(符号省略)に接続されている。
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。Wi−FiI/F116は、端末10のWi−FiI/F16と同様である。即ち、Wi−FiI/F116は、DPP方式をサポートしている。
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ134は、デバイス名「AAA」とMACアドレスMACpr1とを記憶している。MACアドレスMACpr1は、Wi−FiI/F116を識別する情報(換言すると、プリンタ100を識別する情報)である。
(プリンタ200の構成)
プリンタ200は、印刷機能を実行可能な周辺装置(例えば端末10の周辺装置)である。プリンタ200は、印刷機能に加えて、スキャン機能、FAX機能等を実行可能な多機能機であってもよい。プリンタ200は、デバイス名「BBB」を有する。プリンタ200は、操作部212と表示部214とWi−FiI/F216と印刷実行部218と制御部230とを備える。各部212〜230は、バス線(符号省略)に接続されている。制御部230は、CPU232とメモリ234とを備える。各部212〜234の構成は、プリンタ100の各部112〜134の構成と同様である。ただし、メモリ234は、デバイス名「BBB」とMACアドレスMACpr2とを記憶している。
(各デバイスによって実行される処理:図2〜図5)
続いて、図2〜図5を参照して、各デバイス6,10,100,200によって実行される処理を説明する。以下では、理解の容易化のために、各デバイスのCPU(例えばCPU32等)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えば端末10)を主体として記載する。また、端末10及びプリンタ100,200によって実行される全ての通信はWi−FiI/F16,116,216を介して実行される。従って、以下では、通信を説明する際に、「Wi−FiI/Fを介して」という説明を省略する。
(端末10とAP6との間のWi−Fi接続の確立:図2)
図2を参照して、端末10とAP6との間にWi−Fi接続を確立するための処理を説明する。本実施例では、各プリンタ100,200とAP6との間にWi−Fi接続が確立される前に、端末10とAP6との間にWi−Fi接続が確立される。
T100では、端末10は、ユーザから、アプリ38を起動する操作を受け付ける。端末10によって実行される以下の全ての処理は、アプリ38によって実現される。
AP6の筐体には、QRコードが貼り付けられている。QRコードは、AP6の公開鍵PKap、AP6のMACアドレスMACap等の情報がコード化されたものである。T102では、端末10は、ユーザから、カメラ18を利用してQRコードを読み取る操作(即ちQRコードを撮影する操作)を受け付ける。
T104では、端末10は、QRコードを読み取り、QRコードをデコードする。これにより、端末10は、AP6の公開鍵PKap、AP6のMACアドレスMACap等の情報を取得(即ち抽出)する。T104の処理は、DPP方式のBootstrappingに相当する。
T110では、端末10は、T104で取得されたMACアドレスMACapを送信先として、T104で取得された公開鍵PKapが利用されたAuthentication RequestをAP6に送信する。以下では、Authenticationのことを「Auth」と記載し、Requestのことを「Req」と記載する。Auth Reqは、認証の実行を要求する信号である。具体的には、端末10は、まず、端末10の秘密鍵とAP6の公開鍵PKapとを利用して共有鍵を生成し、共有鍵を利用してランダム値を暗号化することによって暗号化データを生成する。そして、端末10は、端末10の公開鍵と暗号化データと端末10のCapabilityとを含むAuth ReqをAP6に送信する。端末10のCapabilityは、DPP方式のConfiguratorのみとして動作可能であることを示す値を含む。
AP6は、T110において、端末10からAuth Reqを受信すると、T111において、Auth Reqに含まれる暗号化データの認証を実行する。具体的には、AP6は、Auth Reqに含まれる端末10の公開鍵とAP6の秘密鍵とを利用して共有鍵を生成し、共有鍵を利用して暗号化データを復号する。AP6は、暗号化データの復号に成功する場合、即ち、認証が成功する場合に、T112以降の処理を実行する。
AP6は、T112において、AP6のCapabilityを含むAuth Responseを端末10に送信する。以下では、Responseのことを「Res」と記載する。AP6のCapabilityは、DPP方式のEnrolleeのみとして動作可能であることを示す値を含む。
端末10は、T112において、AP6からAuth Resを受信すると、Auth Resに含まれるAP6のCapability(即ちEnrollee)と、端末10自身のCapability(即ちConfigurator)と、が衝突しないと判断する。そして、端末10は、T113において、Auth ConfirmをAP6に送信する。Auth Confirmは、端末10がConfiguratorとして動作し、かつ、AP6がEnrolleeとして動作することを示す情報を含む。この結果、端末10は、T114において、Configuratorとして動作することを決定する。Configuratorは、後述のConfiguration Object(以下では「CO」と記載する)をEnrolleeに送信する役割を担うデバイスである。
また、AP6は、T116において、Enrolleeとして動作することを決定する。Enrolleeは、ConfiguratorからCOを受信する役割を担うデバイスである。T110〜T116の処理は、DPP方式のAuthに相当する。
端末10は、T120において、AP6からConfiguration Reqを受信する。以下では、Configurationのことを「Config」と記載する。Config Reqは、COの送信を要求する信号である。
端末10は、AP6からConfig Reqを受信すると、AP用COを生成する。具体的には、端末10は、まず、Wi−Fi接続を確立するためにAP6によって利用されるべき情報であるAP用Signed Connector(以下では「SC」と記載する)を生成する。AP用SCは、例えば、無線ネットワークを識別する識別子であるグループIDを含む。そして、端末10は、AP用SCを含むAP用COを生成し、T122において、AP用COを含むConfig ResをAP6に送信する。
AP6は、T122において、端末10からConfig Resを受信すると、T124において、Config Resultを端末10に送信する。Config Resultは、Configが成功したことを示すコード「STATUS_OK」を含む。T120〜T124の処理は、DPP方式のConfigに相当する。
次いで、端末10は、Wi−Fi接続を確立するために端末10によって利用されるべき情報である端末用SCを生成する。端末用SCは、AP用SCに含まれるグループIDと同じグループIDを含む。そして、端末10は、T130において、端末用SCを含むDiscovery ReqをAP6に送信する。Discovery Reqは、相手のSCの送信を要求する信号である。
AP6は、T130において、端末10からDiscovery Reqを受信すると、AP用SCを利用して、Discovery Reqに含まれる端末用SCの認証を実行する。AP6は、端末用SCの認証が成功すると、接続キーを生成する。そして、AP6は、T132において、AP用SCを含むDiscovery Resを端末10に送信する。
端末10は、T132において、AP6からDiscovery Resを受信すると、端末用SCを利用して、Discovery Resに含まれるAP用SCの認証を実行する。端末10は、AP用SCの認証が成功すると、接続キーを生成する。ここで生成される接続キーは、AP6によって生成される接続キーと同じである。即ち、端末10及びAP6によって接続キーが共有される。T130及びT132の処理は、DPP方式のNetwork Accessに相当する。
次いで、端末10は、接続キーを利用して、4way−handshakeの通信をAP6と実行する。この結果、T140において、端末10とAP6との間にWi−Fi接続が確立される。これにより、AP6が親局として動作する無線ネットワークが形成され、端末10が当該無線ネットワークに子局として所属する。
(QRコードの生成;図3)
続いて、図3を参照して、図2の続きの処理を説明する。図3の処理では、プリンタ100は、各プリンタ100,200の各公開鍵を利用して、QRコードを生成する。
プリンタ100は、T200において、ユーザから、プリンタ100の電源をONするための操作を受け付ける。この際に、プリンタ100は、T202において、プリンタ100の公開鍵PKpr1と秘密鍵pkpr1(即ち公開鍵PKpr1に対応する秘密鍵pkpr1)とを生成する。具体的には、プリンタ100は、メモリ134からMACアドレスMACpr1を取得し、取得済みのMACアドレスMACpr1を予め決められている第1の演算式に代入することによって、公開鍵PKpr1を生成する。プリンタ100は、さらに、取得済みのMACアドレスMACpr2を予め決められている第2の演算式に代入することによって、秘密鍵pkpr1を生成する。
プリンタ100は、プリンタ100の電源がONされる際(T200参照)に、さらに、T204において、プリンタ100の状態をProbe応答状態に設定し、T206において、プリンタ100の状態をDPP応答状態に設定する。Probe応答状態は、Probe Reqを受信することに応じてProbe Resを送信可能な状態である。DPP応答状態は、Auth Reqを受信することに応じてAuth Resを送信可能な状態である。
一方、プリンタ200は、T210において、ユーザから、プリンタ200の電源をONするための操作を受け付けることに応じて、T212〜T216の処理を実行する。T212〜T216の処理は、プリンタ200の公開鍵PKpr2及び秘密鍵pkpr2が生成される点を除いて、T202〜T206の処理と同様である。
このように、プリンタ200は、プリンタ200の電源がONされる際に、Probe応答状態に設定され(T214)、かつ、DPP応答状態に設定される(T216)。従って、プリンタ200は、プリンタ100からProbe Reqを受信することに応じて、Probe Reqをプリンタ100に送信することができる。また、プリンタ200は、端末10からAuth Reqを受信することに応じて、Auth Resを端末10に送信することができる。特に、プリンタ200は、プリンタ200の電源がONされる際に、秘密鍵pkpr2を生成するので(T212)、秘密鍵pkpr2を利用して、Auth Req内の情報の認証を適切に実行することができる。
プリンタ100は、T220において、ユーザからDPP一括印刷指示を受け付ける。DPP一括印刷指示は、複数個のプリンタ100,200のそれぞれの公開鍵PKpr1,PKpr2を利用して生成されるQRコードの印刷をプリンタ100に実行させるための指示である。プリンタ100は、T220において、DPP一括印刷指示を受け付けると、T222において、Probe Reqをブロードキャストによって送信する。
プリンタ200は、T222において、プリンタ100からProbe Reqを受信すると、T230において、Probe Resをプリンタ100に送信する。当該Probe Resは、プリンタ200のデバイス名「BBB」と、プリンタ200のMACアドレスMACpr2と、一括印刷サポートを示す情報と、を含む。一括印刷サポートを示す情報は、プリンタ200の公開鍵PKpr2を利用して生成されるQRコードの印刷を、Probe Resの送信先のデバイス(即ちプリンタ100)に実行させるための情報である。換言すると、一括印刷サポートを示す情報は、プリンタ200が、他のデバイスによって生成されるプリンタ200の公開鍵PKpr2が利用されたAuth Reqに対して応答する機能(以下では単に「応答機能」と記載する)を有することを示す情報である。
AP6は、T222において、プリンタ100からProbe Reqを受信すると、T232において、Probe Resをプリンタ100に送信する。当該Probe Resは、AP6のMACアドレスMACapを含むと共に、一括印刷サポートを示す情報を含まない。
プリンタ100は、T230において、プリンタ200からProbe Resを受信する。このように、プリンタ100は、Wi−FiI/F116を介して、プリンタ200からProbe Resを受信することによって、プリンタ200のMACアドレスMACpr2を取得することができる。このために、ユーザは、各プリンタ100,200の間にUSBケーブルを接続して、USBケーブルを介して各プリンタ100,200の間でMACアドレスMACpr2の通信を実行させずに済む。また、ユーザは、例えば、プリンタ100の操作部112を操作して、MACアドレスMACpr2をプリンタ100に入力せずに済む。変形例では、USBケーブルを介した通信、又は、操作部112を利用した入力が実行されてもよい。
プリンタ100は、プリンタ200から受信されるProbe Resが一括印刷サポートを示す情報を含むので、当該Probe Resに含まれるMACアドレスMACpr2を利用して、プリンタ200の公開鍵PKpr2を生成すべきと判断する。また、プリンタ100は、T232において、AP6からProbe Resを受信すると、当該Probe Resが一括印刷サポートを示す情報を含まないので、当該Probe Resに含まれるMACアドレスMACapを利用して、AP6の公開鍵PKapを生成すべきでないと判断する。このように、プリンタ100は、一括印刷サポートを示す情報を含むProbe Resを受信する場合に、当該Probe Resに含まれるMACアドレスから公開鍵を生成し、当該公開鍵を利用してQRコードを生成する。換言すると、プリンタ100は、一括印刷サポートを示す情報を含まないProbe Resを受信する場合に、当該Probe Resに含まれるMACアドレスから公開鍵を生成しない。従って、プリンタ100は、上記の応答機能を有するデバイスのMACアドレスのみを利用して公開鍵を適切に生成することができる。
プリンタ100は、T240において、T230で受信済みのProbe Resに含まれるMACアドレスMACpr2と上記の第1の演算式とを利用して、プリンタ200の公開鍵PKpr2を生成する。ここで生成される公開鍵PKpr2は、T212で生成される公開鍵PKpr2と同じである。
ここで、T230のProbe Resが、プリンタ200の公開鍵PKpr2そのものを含む比較例を想定する。比較例では、プリンタ100は、MACアドレスpr2を利用して公開鍵PKpr2を生成せずに済む。しかしながら、比較例の構成によると、プリンタ200の公開鍵PKpr2が様々なデバイスによって取得され得るので、セキュリティの観点から好ましくない。本実施例では、T230のProbe Resが公開鍵PKpr2を含まないので、比較例と比べて、セキュリティを向上させることができる。
プリンタ100は、T242において、2個のQRコードQR1,QR2を生成する。具体的には、プリンタ100は、T202で生成済みのプリンタ100の公開鍵PKpr1、プリンタ100のMACアドレスMAPpr1等の情報をコード化することによって、QRコードQR1を生成する。プリンタ100は、さらに、T240で生成済みのプリンタ200の公開鍵PKpr2、T232で受信済みのプリンタ200のMACアドレスMACpr2等の情報をコード化することによって、QRコードQR2を生成する。
プリンタ100は、T244において、T242で生成済みの2個のQRコードQR1,QR2を含む対象画像の印刷を印刷実行部118に実行させる。対象画像は、QRコードを撮影することをユーザに促すメッセージを含む。これにより、ユーザは、各プリンタ100,200とAP6との間にWi−Fi接続を確立させるために、端末10を利用して各QRコードQR1,QR2を撮影すべきことを知ることができる。
特に、対象画像では、QRコードQR1の上側に、プリンタ100のメモリ134に記憶済みのデバイス名「AAA」及びMACアドレスMACpr1が配置される。同様に、対象画像では、QRコードQR2の上側に、T230で受信済みのデバイス名「BBB」及びMACアドレスMACpr2が配置される。即ち、プリンタ100は、QRコードQR1とデバイス名「AAA」とMACアドレスMACpr1とが対応付けられている情報を印刷すると共に、QRコードQR2とデバイス名「BBB」とMACアドレスMACpr2とが対応付けられている情報を印刷する。このために、ユーザは、QRコードQR1がプリンタ100に対応するQRコードであると共に、QRコードQR2がプリンタ200に対応するQRコードであることを知ることができる。
(プリンタ100とAP6との間のWi−Fi接続の確立;図4)
続いて、図4を参照して、図3の続きの処理を説明する。図4の処理は、端末10を利用して、プリンタ100とAP6との間にWi−Fi接続を確立する処理である。
T250の処理は、図2のT100の処理と同様である。端末10は、T252において、ユーザから、カメラ18を利用して、図3のT244で印刷されたQRコードQR1を読み取る操作を受け付ける。この結果、端末10は、T254において、QRコードQR1を読み取り、QRコードQR1をデコードする。これにより、端末10は、プリンタ100の公開鍵PKpr1、プリンタ100のMACアドレスMACpr1等の情報を取得(即ち抽出)する。
端末10は、T260において、取得済みのMACアドレスMACpr1を送信先として、取得済みの公開鍵PKpr1が利用されたAuth Reqをプリンタ100に送信する。T260の処理は、MACアドレスMACpr1及び公開鍵PKpr1が利用される点を除くと、図2のT110の処理と同様である。
プリンタ100は、T260において、端末10からAuth Reqを受信すると、T261において、Auth Reqに含まれる暗号化データの認証を実行する。T261の処理は、図2のT111の処理と同様である。即ち、プリンタ100は、Auth Reqに含まれる端末10の公開鍵と図3のT202で生成済みの秘密鍵pkpr1とを利用して共有鍵を生成する。そして、プリンタ100は、共有鍵を利用して暗号化データを復号する。
T262〜T270の処理は、AP6の代わりにプリンタ100が利用される点を除いて、図2のT112〜T120と同様である。端末10は、図2のT122のAP用SC内のグループIDと同じグループIDを含むプリンタ用SC110を生成し、プリンタ用SC110を含む第1のプリンタ用COを生成する。そして、端末10は、T272において、第1のプリンタ用COを含むConfig Resをプリンタ100に送信する。T274の処理は、T124の処理と同様である。
T280〜T290の処理は、端末10の代わりにプリンタ100が利用される点、及び、端末用SCの代わりにプリンタ用SC110が利用される点を除いて、図2のT130〜T140の処理と同様である。これにより、プリンタ100とAP6との間にWi−Fi接続が確立される。即ち、プリンタ100は、AP6が親局として動作する無線ネットワークに子局として所属する。
プリンタ100は、T290において、AP6とのWi−Fi接続を確立すると、T292において、Wi−Fi接続の確立が完了したことを示すコードである「STATUS_OK」を含むStatus Query Resultを端末10に送信する。これにより、プリンタ100とAP6との間にWi−Fi接続の確立が完了したことを端末10に通知することができる。
(プリンタ200とAP6との間のWi−Fi接続の確立;図5)
続いて、図5を参照して、図4の続きの処理を説明する。図5の処理は、端末10を利用して、プリンタ200とAP6との間にWi−Fi接続を確立する処理である。
端末10は、T302において、ユーザから、カメラ18を利用して、図3のT244で印刷されたQRコードQR2を読み取る操作を受け付ける。この結果、端末10は、T304において、QRコードQR2を読み取り、QRコードQR2をデコードする。これにより、端末10は、プリンタ200の公開鍵PKpr2、プリンタ200のMACアドレスMACpr2等の情報を取得(即ち抽出)する。
端末10は、T310において、取得済みのMACアドレスMACpr2を送信先として、取得済みの公開鍵PKpr2が利用されたAuth Reqをプリンタ200に送信する。T310の処理は、MACアドレスMACpr2及び公開鍵PKpr2が利用される点を除くと、図2のT110と同様である。
プリンタ200は、T310において、端末10からAuth Reqを受信すると、T311において、Auth Reqに含まれる暗号化データの認証を実行する。T311の処理は、図2のT111の処理と同様である。即ち、プリンタ200は、Auth Reqに含まれる端末10の公開鍵と図3のT212で生成済みの秘密鍵pkpr2とを利用して共有鍵を生成する。そして、プリンタ200は、共有鍵を利用して暗号化データを復号する。
T312〜T320の処理は、AP6の代わりにプリンタ200が利用される点を除いて、図2のT112〜T120と同様である。端末10は、図2のT122のAP用SC内のグループIDと同じグループIDを含むプリンタ用SC210を生成し、プリンタ用SC210を含む第2のプリンタ用COを生成する。そして、端末10は、T322において、第2のプリンタ用COを含むConfig Resをプリンタ100に送信する。T324の処理は、T124の処理と同様である。
T330〜T340の処理は、端末10の代わりにプリンタ200が利用される点、及び、端末用SCの代わりにプリンタ用SC210が利用される点を除いて、図2のT130〜T140の処理と同様である。これにより、プリンタ200とAP6との間にWi−Fi接続が確立される。即ち、プリンタ200は、AP6が親局として動作する無線ネットワークに子局として所属する。T342の処理は、図4のT292の処理と同様である。
上記の各処理が完了すると、端末10及びプリンタ100,200のそれぞれが、AP6が親局として動作する無線ネットワークに子局として参加している状態が構築される。これにより、各プリンタ100,200は、端末10から、AP6を介して、印刷対象の画像を表わす印刷データを受信して、当該画像の印刷を実行することができる。
(本実施例の効果)
本実施例によると、プリンタ200は、プリンタ200の公開鍵PKpr2に関連するMACアドレスMACpr2を含むProbe Resをプリンタ100に送信する(図3のT230)。これにより、プリンタ100は、プリンタ100の公開鍵PKpr1とプリンタ200の公開鍵PKpr2とを利用して生成される2個のQRコードQR1,QR2を含む対象画像を印刷する(T244)。端末10によってQRコードQR1が読み取られる場合に、プリンタ100の公開鍵PKpr1が端末10によって抽出され(図4のT254)、端末10によってQRコードQR2が読み取られる場合に、プリンタ200の公開鍵PKpr2が端末10によって抽出される(図5のT304)。従って、プリンタ100は、端末10から公開鍵PKpr1が利用されたAuth Reqを受信することができ(T260)、さらに、端末10からプリンタ用SC110を含むConfig Resを受信することができる(T272)。これにより、プリンタ100は、プリンタ用SC110を利用して、AP6とのWi−Fi接続を確立することができる(T290)。また、プリンタ200は、端末10から公開鍵PKpr2が利用されたAuth Reqを受信することができ(T310)、さらに、端末10からプリンタ用SC210を含むConfig Resを受信することができる(T322)。これにより、プリンタ200は、プリンタ用SC210を利用して、AP6とのWi−Fi接続を確立することができる(T340)。このように、本実施例では、複数個のプリンタ100,200のうちのプリンタ100のみから出力されるQRコードQR1,QR2が端末10によって利用されることに応じて、複数個のプリンタ100,200のそれぞれは、AP6とのWi−Fi接続を適切に確立することができる。
(対応関係)
プリンタ100、プリンタ200、端末10、AP6が、それぞれ、「第1の通信装置」、「第2の通信装置」、「端末装置」、「外部装置」の一例である。印刷実行部118が、「出力部」の一例である。プリンタ100のWi−FiI/F116が、「第1の通信装置」の「第1の無線インターフェース」、及び「第1(又は第2)の通信インターフェース」の一例である。プリンタ200のWi−FiI/F216が、「第2の通信装置」の「第2の無線インターフェース」及び「第1(又は第2)の通信インターフェース」の一例である。プリンタ100の公開鍵PKpr1、プリンタ200の公開鍵PKpr2が、それぞれ、「第1の公開鍵」、「第2の公開鍵」の一例である。プリンタ100の印刷実行部118が、「第1の通信装置」の「出力部」の一例である。2個のQRコードQR1及びQR2が、「出力情報」及び「コード画像」の一例である。QRコードQR1、QRコードQR2が、それぞれ、「第1のコード画像」、「第2のコード画像」の一例である。プリンタ100のMACアドレスMACpr1、プリンタ200のMACアドレスMACpr2が、それぞれ、「第1のMACアドレス」、「第2のMACアドレス」の一例である。プリンタ100のデバイス名「AAA」及びMACアドレスMACpr1が、「第1の識別情報」の一例である。プリンタ200のデバイス名「BBB」及びMACアドレスMACpr2が、「第2の識別情報」の一例である。プリンタ用SC110、プリンタ用SC210が、それぞれ、「第1の接続情報」、「第2の接続情報」の一例である。図4のT290で確立されるWi−Fi接続、図5のT340で確立されるWi−Fi接続が、それぞれ、「第1の無線接続」、「第2の無線接続」の一例である。
「第1の通信装置」の各部の対応関係は以下の通りである。図3のT222の処理、T230の処理、が、それぞれ、「Probe要求送信部」、「第1(及び第2)の取得部」によって実行される処理の一例である。T202、T240、及びT242の処理が、「生成部」によって実行される処理の一例である。T244の処理が、「出力制御部」によって実行される処理の一例である。図4のT260の処理、T262の処理が、それぞれ、「第1の認証要求受信部(及び認証要求受信部)」、「第1の認証応答送信部(及び認証応答送信部)」によって実行される処理の一例である。T272の処理が、「第1の接続情報受信部(及び接続情報受信部)」によって実行される処理の一例である。T290の処理が、「第1の確立部(及び確立部)」によって実行される処理の一例である。
「第2の通信装置」の各部の対応関係は以下の通りである。Probe応答状態、DPP応答状態が、それぞれ、「第1の状態」、「第2の状態」の一例である。図3のT212の処理、T214の処理、T216の処理が、それぞれ、「生成部」、「第1の状態設定部」、「第2の状態設定部」によって実行される処理の一例である。T222の処理、T230の処理が、それぞれ、「Probe要求受信部」、「関連情報送信部」によって実行される処理の一例である。図5のT310の処理、T311の処理、T312の処理が、それぞれ、「第2の認証要求受信部(及び認証要求受信部)」、「認証実行部」、「第2の認証応答送信部(及び認証応答送信部)」によって実行される処理の一例である。T322の処理が、「第2の接続情報受信部(及び接続情報受信部)」によって実行される処理の一例である。T340の処理が、「第2の確立部(及び確立部)」によって実行される処理の一例である。
(第2実施例;図6)
続いて、図6を参照して、第2実施例について説明する。第2実施例では、プリンタ100は、2個のQRコードQR1,QR2を含む対象画像を印刷することに代えて、単一のQRコードQR3を含む対象画像を印刷する。図6は、図2の続きの処理である。
まず、図3のT200〜T240と同様の処理が、各デバイス6,100,200によって実行される。この結果、プリンタ100は、メモリ134から取得されるMACアドレスMACpr1を利用して、プリンタ100の公開鍵PKpr1を生成し(T202参照)、Probe Resに含まれるMACアドレスMACpr2(T230参照)を利用して、プリンタ200の公開鍵PKpr2を生成する(T240参照)。
プリンタ100は、T402において、単一のQRコードQR3を生成する。具体的には、プリンタ100は、プリンタ100の公開鍵PKpr1、プリンタ100のMACアドレスMAPpr1、プリンタ200の公開鍵PKpr2、プリンタ200のMACアドレスMACpr2等の情報をまとめてコード化することによって、QRコードQR3を生成する。
T404の処理は、対象画像が単一のQRコードQR3を含む点を除いて、図3のT244の処理と同様である。本実施例の対象画像では、単一のQRコードQR3の上側に、デバイス名「AAA」及びMACアドレスMACpr1の組合せと、デバイス名「BBB」及びMACアドレスMACpr2の組合せと、が配置される。このために、ユーザは、単一のQRコードQR3が、プリンタ100,200の双方に対応するQRコードであることを知ることができる。
T410の処理は、図4のT250の処理と同様である。端末10は、T412において、ユーザから、カメラ18を利用して、T404で印刷されたQRコードQR3を読み取る操作を受け付ける。この結果、端末10は、T414において、QRコードQR3を読み取り、QRコードQR3をデコードする。これにより、端末10は、プリンタ100の公開鍵PKpr1、プリンタ100のMACアドレスMACpr1、プリンタ200の公開鍵、プリンタ200のMACアドレスMACpr2等の情報を取得(即ち抽出)する。
その後、図4のT260〜T292と同様の処理が、端末10とプリンタ100とAP6との間で実行される。これにより、プリンタ100とAP6との間にWi−Fi接続が確立される。即ち、プリンタ100は、AP6が親局として動作する無線ネットワークに子局として所属する。同様に、図5のT310〜T342と同様の処理が、端末10とプリンタ200とAP6との間で実行される。これにより、プリンタ200とAP6との間にWi−Fi接続が確立される。即ち、プリンタ200は、AP6が親局として動作する無線ネットワークに子局として所属する。
本実施例によると、端末10は、プリンタ100の公開鍵PKpr1とプリンタ200の公開鍵PKpr2との双方がまとめてコード化されることによって得られる単一のQRコードQR3を読み取る場合に、プリンタ100の公開鍵PKpr1を抽出すると共に、プリンタ200の公開鍵PKpr2を抽出する(図6のT414)。従って、端末10は、公開鍵PKpr1が利用されたAuth Reqをプリンタ100に送信することができ(図4のT260)、さらに、プリンタ用SC110を含むConfig Resをプリンタ100に送信することができる(T272)。これにより、端末10は、プリンタ100とAP6との間にWi−Fi接続を確立させることができる。また、端末10は、公開鍵PKpr2が利用されたAuth Reqをプリンタ200に送信することができ(図5のT310)、さらに、プリンタ用SC210を含むConfig Resをプリンタ200に送信することができる(T322)。これにより、端末10は、プリンタ200とAP6との間にWi−Fi接続を確立させることができる。このように、本実施例では、端末10は、プリンタ100によって出力された単一のQRコードQR3をカメラ18によって撮影することに応じて、複数個のプリンタ100,200のそれぞれとAP6との間にWi−Fi接続を適切に確立させることができる。
ここで、プリンタ100が、公開鍵PKpr1がコード化されたQRコードを出力(即ち表示または印刷)し、かつ、プリンタ200が、公開鍵PKpr2がコード化されたQRコードを出力する比較例を想定する。比較例では、ユーザは、各プリンタ100,200とAP6との間にWi−Fi接続を確立するために、QRコードの読み取り操作を2回実行する必要がある。本実施例では、プリンタ100,200の双方に対応するQRコードQR3がプリンタ100によって印刷されるので、ユーザは、各プリンタ100,200とAP6との間にWi−Fi接続を確立するために、QRコードの読み取り操作を1回実行すればよい。このために、ユーザの利便性が向上する。
(対応関係)
QRコードQR3が、「単一のコード画像」の一例である。図6のT314の処理が、「抽出部」によって実行される処理の一例である。図6で引用する図4のT260、図6で引用する図4のT272の処理が、それぞれ、「端末装置」の「第1の認証要求送信部」、「第1の接続情報送信部」によって実行される処理の一例である。図6で引用する図5のT310、図6で引用する図5のT322の処理が、それぞれ、「端末装置」の「第2の認証要求送信部」、「第2の接続情報送信部」によって実行される処理の一例である。
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)プリンタ100は、プリンタ100の出荷段階から、2個のQRコードQR1,QR2をメモリ134に記憶していてもよい。この場合、プリンタ100は、プリンタ100の出荷段階から、プリンタ100の公開鍵PKpr1及び秘密鍵pkpr1を記憶していてもよい。同様に、プリンタ200は、プリンタ200の出荷段階から、プリンタ200の公開鍵PKpr2及び秘密鍵pkpr2を記憶していてもよい。本変形例では、図3のT202及びT212の処理を省略可能である。プリンタ100は、図3のT220において、DPP一括印刷指示を受け付ける場合に、T222〜T242の処理をスキップして、T244において、メモリ134に記憶済みの2個のQRコードQR1,QR2を含む対象画像を印刷してもよい。本変形例では、「第1の通信装置」の「第1の取得部」及び「生成部」を省略可能である。また、「第2の通信装置」の「生成部」を省略可能である。
(変形例2)プリンタ100は、プリンタ100の出荷段階から、プリンタ200のMACアドレスMACpr2をメモリ134に記憶していてもよい。プリンタ100は、図3のT220において、DPP一括印刷指示を受け付ける場合に、T222〜T232の処理を実行することなく、プリンタ200のMACアドレスMACpr2をメモリ134から取得し、T240において、取得済みのMACアドレスMACpr2を利用して公開鍵PKpr2を生成してもよい。本変形例では、プリンタ100がメモリ134からMACアドレスMACpr2を取得することが、「第1の通信装置」の「第1の取得部」によって実行される処理の一例である。
(変形例3)プリンタ100は、T222及びT230の処理に代えて、プリンタ200から、例えばUSB(Unit Serial Busの略)I/Fを介して(即ちUSBケーブルを介して)、MACアドレスMACpr2を取得してもよい。別の変形例では、プリンタ100は、プリンタ200から、BT(Bluetooth(登録商標)の略)I/F、NFC(Near Field Communicationの略)I/F、有線LANI/F等のI/Fを介して、MACアドレスMACpr2を取得してもよい。本変形例では、上記の各I/Fが、「第1の通信装置」の「第2の通信インターフェース」の一例である。また、本変形例では、上記の各I/Fが、「第2の通信装置」の「第1の通信インターフェース」の一例である。一般的に言うと、「第1の通信装置」の「第2の通信インターフェース」は、上記の実施例のように、「第1の通信装置」の「第1の通信インターフェース」と同じインターフェースであってもよいし、本変形例のように、「第1の通信装置」の「第1の通信インターフェース」とは異なるインターフェースであってもよい。同様に、「第2の通信装置」の「第1の通信インターフェース」は、上記の実施例のように、「第2の通信装置」の「第2の通信インターフェース」と同じインターフェースであってもよいし、本変形例のように、「第2の通信装置」の「第2の通信インターフェース」とは異なるインターフェースであってもよい。また、本変形例では、「第1の通信装置」の「Probe要求送信部」を省略可能であると共に、「第2の通信装置」の「Probe要求受信部」を省略可能である。
(変形例4)プリンタ200は、図3のT230において、一括印刷サポートを示す情報を含まないProbe Resをプリンタ100に送信してもよい。プリンタ100は、当該Probe Resに含まれるMACアドレスから公開鍵を生成し、当該公開鍵を利用してQRコードを生成してもよい。一般的に言うと、「第1の通信装置」の「生成部」は、「Probe応答」が「所定情報」を含むのか否かに関わらず、「出力情報」を生成してもよい。
(変形例5)プリンタ200は、図3のT230において、T212で生成済みのプリンタ200の公開鍵PKpr2を含むProbe Resをプリンタ100に送信してもよい。この場合、プリンタ100は、T240の処理を省略可能である。本変形例では、プリンタ200の公開鍵PKpr2が、「関連情報」の一例である。
(変形例6)コード画像はQRコードでなくてもよく、他の二次元コードであってもよいし、一次元コード(例えばバーコード)であってもよい。
(変形例7)プリンタ100は、図3のT244において、2個のQRコードQR1,QR2を含む対象画像を印刷することに代えて、対象画像をプリンタ100の表示部114に表示してもよい。本変形例では、表示部114が、「第1の通信装置」の「出力部」の一例である。
(変形例8)図3のT244で印刷される対象画像では、QRコードQR1の下側(又は右側、又は左側)に、デバイス名「AAA」及びMACアドレスMACpr1が配置されてもよい。同様に、QRコードQR2の下側(又は右側、又は左側)に、デバイス名「BBB」及びMACアドレスMACpr2が配置されてもよい。一般的に言うと、「第1(又は第2)のコード画像」と「第1(又は第2)の識別情報」とが対応付けられていればよい。別の変形例では、対象画像がデバイス名及びMACアドレスを含まなくてもよい(即ちQRコードのみを含んでいてもよい)。一般的に言うと、「第1(又は第2)の識別情報」が「第1(又は第2)のコード画像」に対応付けられていなくてもよい。
(変形例9)プリンタ200は、電源ON操作を受け付けるタイミングではなく、他の操作(例えば状態を移行させるためのボタン操作)を受け付ける場合に、プリンタ200の状態をProbe応答可能状態に設定してもよい。一般的に言うと、「第1の状態設定部」が状態を設定するタイミングは、上記の実施例に限定されない。
(変形例10)プリンタ200は、プリンタ100からProbe Reqを受信する場合(図3のT222参照)に、プリンタ200の状態をDPP応答状態に設定してもよい。本変形例では、Probe Reqを受信するタイミングが、「所定タイミング」の一例である。また、別の変形例では、プリンタ200は、Probe Resを送信する場合(T230参照)に、プリンタ200の状態をDPP応答状態に設定してもよい。本変形例では、Probe Resを送信するタイミングが、「所定タイミング」の一例である。一般的に言うと、「第2の状態設定部」が状態を設定するタイミングは、上記の実施例に限定されない。
(変形例11)「外部装置」は、AP6でなくてもよく、例えば端末10であってもよい。即ち、本変形例では、各プリンタ100,200との端末10との間にWi−Fi接続が確立される。
(変形例12)上記の各実施例では、図2〜図6の処理がソフトウェア(例えばプログラム136,236)によって実行されるが、これらの各処理の少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、6:AP、10:端末、12,112,212:操作部、14,114,214:表示部、16,116,216:Wi−FiI/F、18:カメラ、30,130,230:制御部、32,132,232:CPU、34,134,234:メモリ、36:OSプログラム、38:アプリケーション、100,200:プリンタ、118,218:印刷実行部、136,236:プログラム

Claims (22)

  1. 通信システムであって、
    第1の通信装置と、
    第2の通信装置と、を備え、
    前記第1の通信装置は、
    第1の無線インターフェースと、
    出力部と、
    前記第1の通信装置の第1の公開鍵と、前記第2の通信装置の第2の公開鍵と、を利用して生成される出力情報を前記出力部に出力させる出力制御部であって、前記出力情報が出力されることに応じて、前記出力情報から前記第1の公開鍵と前記第2の公開鍵とが端末装置によって抽出される、前記出力制御部と、
    前記第1の公開鍵が前記端末装置によって抽出される場合に、前記第1の無線インターフェースを介して、前記端末装置から、前記第1の公開鍵が利用された第1の認証要求を受信する第1の認証要求受信部と、
    前記端末装置から前記第1の認証要求が受信されることに応じて、前記第1の無線インターフェースを介して、第1の認証応答を前記端末装置に送信する第1の認証応答送信部と、
    前記第1の認証応答が前記端末装置に送信される場合に、前記第1の無線インターフェースを介して、前記端末装置から第1の接続情報を受信する第1の接続情報受信部であって、前記第1の接続情報は、前記第1の通信装置と外部装置との間に第1の無線接続を確立するための情報である、前記第1の接続情報受信部と、
    前記端末装置から前記第1の接続情報が受信される場合に、前記第1の接続情報を利用して、前記第1の無線インターフェースを介して、前記第1の通信装置と前記外部装置との間に前記第1の無線接続を確立する第1の確立部と、を備え、
    前記第2の通信装置は、
    第2の無線インターフェースと、
    前記第2の公開鍵が前記端末装置によって抽出される場合に、前記第2の無線インターフェースを介して、前記端末装置から、前記第2の公開鍵が利用された第2の認証要求を受信する第2の認証要求受信部と、
    前記端末装置から前記第2の認証要求が受信されることに応じて、前記第2の無線インターフェースを介して、第2の認証応答を前記端末装置に送信する第2の認証応答送信部と、
    前記第2の認証応答が前記端末装置に送信される場合に、前記第2の無線インターフェースを介して、前記端末装置から第2の接続情報を受信する第2の接続情報受信部であって、前記第2の接続情報は、前記第2の通信装置と前記外部装置との間に第2の無線接続を確立するための情報である、前記第2の接続情報受信部と、
    前記端末装置から前記第2の接続情報が受信される場合に、前記第2の接続情報を利用して、前記第2の無線インターフェースを介して、前記第2の通信装置と前記外部装置との間に前記第2の無線接続を確立する第2の確立部と、
    を備える、通信システム。
  2. 第1の通信装置であって、
    1個以上の通信インターフェースと、
    出力部と、
    前記第1の通信装置の第1の公開鍵と、第2の通信装置の第2の公開鍵と、を利用して生成される出力情報を前記出力部に出力させる出力制御部であって、前記出力情報が出力されることに応じて、前記出力情報から前記第1の公開鍵と前記第2の公開鍵とが端末装置によって抽出される、前記出力制御部と、
    前記第1の公開鍵が前記端末装置によって抽出される場合に、前記1個以上の通信インターフェースのうちの無線インターフェースである第1の通信インターフェースを介して、前記端末装置から、前記第1の公開鍵が利用された認証要求を受信する認証要求受信部と、
    前記端末装置から前記認証要求が受信されることに応じて、前記第1の通信インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、
    前記認証応答が前記端末装置に送信される場合に、前記第1の通信インターフェースを介して、前記端末装置から接続情報を受信する接続情報受信部であって、前記接続情報は、前記第1の通信装置と外部装置との間に無線接続を確立するための情報である、前記接続情報受信部と、
    前記端末装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記第1の通信インターフェースを介して、前記第1の通信装置と前記外部装置との間に前記無線接続を確立する確立部と、
    を備える、第1の通信装置。
  3. 前記第1の通信装置は、さらに、
    前記第2の公開鍵に関連する関連情報を取得する第1の取得部と、
    前記第1の公開鍵と、取得済みの前記関連情報に対応する前記第2の公開鍵と、を利用して、前記出力情報を生成する生成部と、
    を備える、請求項2に記載の第1の通信装置。
  4. 前記第1の取得部は、前記1個以上の通信インターフェースのうちの第2の通信インターフェースを介して、前記第2の通信装置から前記関連情報を受信することによって、前記関連情報を取得する、請求項3に記載の第1の通信装置。
  5. 前記第2の通信インターフェースは、前記第1の通信インターフェースと同じインターフェースである、請求項4に記載の第1の通信装置。
  6. 前記第1の通信装置は、さらに、
    前記第2の通信インターフェースを介して、Probe要求を送信するProbe要求送信部を備え、
    前記第1の取得部は、前記Probe要求が送信されることに応じて、前記第2の通信インターフェースを介して、前記第2の通信装置から前記関連情報を含むProbe応答を受信することによって、前記関連情報を取得する、請求項4又は5に記載の第1の通信装置。
  7. 前記生成部は、前記第2の通信装置から前記関連情報と所定情報とを含む前記Probe応答が受信される場合に、前記第1の公開鍵と前記第2の公開鍵とを利用して、前記出力情報を生成し、
    前記第2の通信装置から前記関連情報を含むと共に前記所定情報を含まない前記Probe応答が受信される場合に、前記第1の公開鍵と前記第2の公開鍵とを利用した前記出力情報の生成は実行されない、請求項6に記載の第1の通信装置。
  8. 前記関連情報は、前記第2の通信装置の第2のMACアドレスであり、
    前記生成部は、
    前記第1の通信装置の第1のMACアドレスから前記第1の公開鍵を生成し、
    取得済みの前記関連情報である前記第2のMACアドレスから前記第2の公開鍵を生成し、
    生成済みの前記第1の公開鍵と生成済みの前記第2の公開鍵とを利用して、前記出力情報を生成する、請求項3〜7のいずれか一項に記載の第1の通信装置。
  9. 前記出力情報は、前記第1の公開鍵と前記第2の公開鍵とをコード化することによって得られるコード画像である、請求項2〜8のいずれか一項に記載の第1の通信装置。
  10. 前記出力部は、印刷実行部であり、
    前記出力制御部は、前記コード画像の印刷を前記印刷実行部に実行させる、請求項9に記載の第1の通信装置。
  11. 前記コード画像は、
    前記第1の公開鍵をコード化することによって得られる第1のコード画像と、
    前記第2の公開鍵をコード化することによって得られる第2のコード画像であって、前記第1のコード画像とは異なる前記第2のコード画像と、
    を含む、請求項9又は10に記載の第1の通信装置。
  12. 前記第1の通信装置は、さらに、
    前記第1の通信装置を識別する第1の識別情報を記憶するメモリと、
    前記第2の通信装置を識別する第2の識別情報を取得する第2の取得部と、を備え、
    前記出力制御部は、
    前記第1のコード画像と前記メモリ内の前記第1の識別情報とを対応付けて前記出力部に出力させ、
    前記第2のコード画像と取得済みの前記第2の識別情報とを対応付けて前記出力部に出力させる、請求項11に記載の第1の通信装置。
  13. 前記コード画像は、前記第1の公開鍵と前記第2の公開鍵との双方をまとめてコード化することによって得られる単一の前記コード画像である、請求項9又は10に記載の第1の通信装置。
  14. 第2の通信装置であって、
    1個以上の通信インターフェースと、
    前記1個以上の通信インターフェースのうちの第1の通信インターフェースを介して、前記第2の通信装置の第2の公開鍵に関連する関連情報を第1の通信装置に送信する関連情報送信部であって、
    前記関連情報が前記第1の通信装置によって受信される場合に、前記第1の通信装置の第1の公開鍵と、送信済みの前記関連情報に関連する前記第2の公開鍵と、を利用して、出力情報が前記第1の通信装置によって生成され、前記出力情報が前記第1の通信装置によって出力され、
    前記出力情報が出力されることに応じて、前記出力情報から前記第1の公開鍵と前記第2の公開鍵とが端末装置によって抽出される、前記関連情報送信部と、
    前記第2の公開鍵が前記端末装置によって抽出される場合に、前記1個以上の通信インターフェースのうちの無線インターフェースである第2の通信インターフェースを介して、前記端末装置から、前記第2の公開鍵が利用された認証要求を受信する認証要求受信部と、
    前記端末装置から前記認証要求が受信されることに応じて、前記第2の通信インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、
    前記認証応答が前記端末装置に送信される場合に、前記第2の通信インターフェースを介して、前記端末装置から接続情報を受信する接続情報受信部であって、前記接続情報は、前記第2の通信装置と外部装置との間に無線接続を確立するための情報である、前記接続情報受信部と、
    前記端末装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記第2の通信インターフェースを介して、前記第2の通信装置と前記外部装置との間に前記無線接続を確立する確立部と、
    を備える、第2の通信装置。
  15. 前記第2の通信インターフェースは、前記第1の通信インターフェースと同じインターフェースである、請求項14に記載の第2の通信装置。
  16. 前記第2の通信装置は、さらに、
    前記第1の通信インターフェースを介して、前記第1の通信装置からProbe要求を受信するProbe要求受信部を備え、
    前記関連情報送信部は、前記第1の通信装置から前記Probe要求が受信されることに応じて、前記第1の通信インターフェースを介して、前記関連情報を含むProbe応答を前記第1の通信装置に送信する、請求項15に記載の第2の通信装置。
  17. 前記第2の通信装置は、さらに、
    前記第2の通信装置の電源がONされる際に、前記第2の通信装置の状態を、前記Probe応答を送信可能な第1の状態に設定する第1の状態設定部を備える、請求項16に記載の第2の通信装置。
  18. 前記第2の通信装置は、さらに、
    前記端末装置から前記認証要求が受信される前の所定のタイミングで、前記第2の通信装置の状態を、前記認証応答を送信可能な第2の状態に設定する第2の状態設定部を備える、請求項14〜17のいずれか一項に記載の第2の通信装置。
  19. 前記所定のタイミングは、前記第2の通信装置の電源がONされるタイミングである、請求項18に記載の第2の通信装置。
  20. 前記第2の通信装置は、さらに、
    前記関連情報を利用して、前記第2の公開鍵に対応する秘密鍵を生成する生成部と、
    前記端末装置から前記認証要求が受信される場合に、生成済みの前記秘密鍵を利用して、前記認証要求に含まれる情報の認証を実行する認証実行部と、
    を備える、請求項14〜19のいずれか一項に記載の第2の通信装置。
  21. 前記関連情報は、前記第2の通信装置のMACアドレスである、請求項14〜20のいずれか一項に記載の第2の通信装置。
  22. 端末装置のためのコンピュータプログラムであって、
    前記端末装置は、
    カメラと、
    無線インターフェースと、
    コンピュータと、を備え、
    前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
    第1の通信装置の第1の公開鍵と第2の通信装置の第2の公開鍵との双方がまとめてコード化されることによって得られる単一のコード画像が前記カメラによって撮影される場合に、前記コード画像から前記第1の公開鍵と前記第2の公開鍵とを抽出する抽出部と、
    前記無線インターフェースを介して、取得済みの前記第1の公開鍵が利用された第1の認証要求を前記第1の通信装置に送信する第1の認証要求送信部と、
    前記第1の認証要求が前記第1の通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信装置から第1の認証応答が受信される場合に、前記無線インターフェースを介して、第1の接続情報を前記第1の通信装置に送信する第1の接続情報送信部あって、前記第1の接続情報は、前記第1の通信装置と外部装置との間に無線接続を確立するための情報である、前記第1の接続情報送信部と、
    前記無線インターフェースを介して、取得済みの前記第2の公開鍵が利用された第2の認証要求を前記第2の通信装置に送信する第2の認証要求送信部と、
    前記第2の認証要求が前記第2の通信装置に送信されることに応じて、第2の通信装置から、前記無線インターフェースを介して、前記第2の通信装置から第2の認証応答が受信される場合に、前記無線インターフェースを介して、第2の接続情報を前記第2の通信装置に送信する第2の接続情報送信部であって、前記第2の接続情報は、前記第2の通信装置と前記外部装置との間に無線接続を確立するための情報である、前記第2の接続情報送信部と、
    として機能させる、コンピュータプログラム。
JP2020104902A 2020-06-17 2020-06-17 通信システム、通信装置、及び、端末装置のためのコンピュータプログラム Pending JP2021197041A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020104902A JP2021197041A (ja) 2020-06-17 2020-06-17 通信システム、通信装置、及び、端末装置のためのコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020104902A JP2021197041A (ja) 2020-06-17 2020-06-17 通信システム、通信装置、及び、端末装置のためのコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2021197041A true JP2021197041A (ja) 2021-12-27

Family

ID=79195702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020104902A Pending JP2021197041A (ja) 2020-06-17 2020-06-17 通信システム、通信装置、及び、端末装置のためのコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2021197041A (ja)

Similar Documents

Publication Publication Date Title
US11630619B2 (en) Terminal device, access point, communication device, and computer programs therefor
JP6152767B2 (ja) 機能実行機器と可搬型デバイス
JP7468602B2 (ja) プリンタとプリンタのためのコンピュータプログラム
US11825302B2 (en) Non-transitory computer-readable medium storing computer-readable instructions for terminal device and communication device
US11838965B2 (en) Communication system, non-transitory computer-readable recording medium storing connection application for terminal, and communication device
JP7459663B2 (ja) 端末装置のためのコンピュータプログラムと通信装置
US20230342095A1 (en) Communication device, non-transitory computer-readable medium storing computer-readable instructions for communication device and method executed by communication device
KR20130031435A (ko) 휴대용 단말의 암호화 키 생성 및 관리 방법 및 그 장치
JP7196533B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2021197041A (ja) 通信システム、通信装置、及び、端末装置のためのコンピュータプログラム
JP7484340B2 (ja) 端末装置のためのコンピュータプログラムと端末装置と通信装置
JP7439642B2 (ja) 端末装置のためのコンピュータプログラムと通信装置とサーバのためのコンピュータプログラム
JP6361785B2 (ja) 機能実行機器と可搬型デバイス
JP2022117043A (ja) 通信システム、通信装置、及び、サーバのためのコンピュータプログラム
US20230300932A1 (en) Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and non-transitory computer-readable recording medium storing application program including computer-readable instructions for terminal device
US20220353678A1 (en) Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for terminal device, and terminal device
US20210378034A1 (en) Non-transitory computer-readable recording medium storing computer-readable instructions for terminal device and communication device
JP2021184577A (ja) 端末装置のためのコンピュータプログラムと通信装置
JP2024051736A (ja) 通信装置、通信装置のためのコンピュータプログラム、端末装置のためのアプリケーションプログラム、及び、端末装置
JP2021164051A (ja) 通信装置
JP2022131098A (ja) 通信システムと端末のためのコンピュータプログラムと通信装置
JP2022131101A (ja) 通信システムと端末のためのコンピュータプログラムと通信装置
JP2021184579A (ja) 端末装置のためのコンピュータプログラムと通信装置
JP2023049894A (ja) 端末装置のためのコンピュータプログラム、端末装置、及び、端末装置によって実行される方法
JP2023146162A (ja) 第1の通信装置、第1の通信装置のためのコンピュータプログラム、及び、第2の通信装置のためのアプリケーションプログラム