JP2022177276A - 通信装置と通信装置のためのコンピュータプログラム - Google Patents

通信装置と通信装置のためのコンピュータプログラム Download PDF

Info

Publication number
JP2022177276A
JP2022177276A JP2022156177A JP2022156177A JP2022177276A JP 2022177276 A JP2022177276 A JP 2022177276A JP 2022156177 A JP2022156177 A JP 2022156177A JP 2022156177 A JP2022156177 A JP 2022156177A JP 2022177276 A JP2022177276 A JP 2022177276A
Authority
JP
Japan
Prior art keywords
external device
communication device
state
unit
wireless interface
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.)
Granted
Application number
JP2022156177A
Other languages
English (en)
Other versions
JP7359273B2 (ja
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 JP2022156177A priority Critical patent/JP7359273B2/ja
Publication of JP2022177276A publication Critical patent/JP2022177276A/ja
Application granted granted Critical
Publication of JP7359273B2 publication Critical patent/JP7359273B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • H04W12/55Secure pairing of devices involving three or more devices, e.g. group pairing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】第1の外部装置を利用して、通信装置と第2の外部装置との間に無線接続を確立させるための新規な技術を提供すること。【解決手段】通信装置は、第1の外部装置から特定信号が受信された後に、公開鍵を用いて得られる特定情報を出力部に出力させる。特定情報が出力されることによって、公開鍵が第1の外部装置によって取得される。その後、通信装置は、第1の外部装置から公開鍵が利用された認証要求を受信し、認証応答を第1の外部装置に送信して、第1の外部装置から接続情報を受信する。接続情報は、通信装置と第2の外部装置との間に無線インターフェースを介した無線接続を確立するための情報である。この結果、通信装置は、接続情報を利用して、第2の外部装置との無線接続を確立する。【選択図】図7

Description

本明細書では、外部装置との無線接続を確立可能な通信装置に関する技術を開示する。
特許文献1には、スマートフォンを利用して、カメラとAPとの間の無線接続を確立するための技術が開示されている。カメラは、ユーザから操作を受け付けることに応じて、通信パラメータの設定を行うための情報を含むQRコード(登録商標)を表示し、検索信号の受信の監視を開始する。スマートフォンは、カメラに表示されたQRコードを読み取ることによって、通信パラメータの設定を行うための情報を取得し、検索信号をカメラに送信する。カメラは、スマートフォンから検索信号を受信する場合に、検索信号に対する応答をスマートフォンに送信する。スマートフォンは、カメラから応答が受信される場合に、取得済みの情報を利用して通信パラメータを設定し、設定済みの通信パラメータをカメラに送信する。また、スマートフォンは、同様の処理をAPと実行して、通信パラメータをAPに送信する。これにより、カメラは、受信済みの通信パラメータを利用して、APとの無線接続を確立することができる。
特開2017-28454号公報 特開2018-6983号公報 特開2018-37978号公報
「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」 Wi-Fi Alliance, 2017年
本明細書では、第1の外部装置を利用して、通信装置と第2の外部装置との間に無線接続を確立させるための新規な技術を開示する。
本明細書によって開示される通信装置は、出力部と、無線インターフェースと、第1の外部装置から、前記無線インターフェースを介して、特定信号を受信する特定信号受信部と、前記第1の外部装置から前記特定信号が受信された後に、公開鍵を用いて得られる特定情報を前記出力部に出力させる第1の出力制御部であって、前記特定情報が出力されることによって、前記公開鍵が前記第1の外部装置によって取得される、前記第1の出力制御部と、前記特定情報が出力された後に、前記第1の外部装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する認証応答送信部と、前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、を備えてもよい。
上記の構成によると、通信装置は、第1の外部装置から特定信号を受信した後に、公開鍵を用いて得られる特定情報を出力する。この結果、公開鍵が、第1の外部装置によって取得される。その後、通信装置は、第1の外部装置から公開鍵が利用された認証要求を受信して、認証応答を第1の外部装置に送信し、第1の外部装置から接続情報を受信する。これにより、通信装置は、接続情報を利用して、第2の外部装置との無線接続を確立することができる。
また、本明細書によって開示される通信装置は、無線インターフェースと、第1の外部装置から、前記無線インターフェースを介して、特定信号を受信する特定信号受信部と、前記第1の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる第1の状態移行部であって、前記不可能状態は、前記第1の外部装置から認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記第1の状態移行部と、前記第1の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、を備えてもよい。
上記の構成によると、通信装置は、第1の外部装置から特定信号を受信した後に、不可能状態から可能状態に移行する。これにより、通信装置は、第1の外部装置から認証要求を受信する場合に、認証応答を第1の外部装置に送信することができる。そして、通信装置は、第1の外部装置から接続情報を受信し、接続情報を利用して、第2の外部装置との無線接続を確立することができる。
上記の通信装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。また、上記の通信装置によって実行される方法も新規で有用である。また、上記の通信装置と他の装置(例えば第1の外部装置、第2の外部装置)とを備える通信システムも、新規で有用である。
通信システムの構成を示す。 実施例の概略を説明するための説明図を示す。 ケースAのBootstrappingの処理のシーケンス図を示す。 Authenticationの処理のシーケンス図を示す。 Configurationの処理のシーケンス図を示す。 Network Accessの処理のシーケンス図を示す。 ケースBのBootstrappingの処理のシーケンス図を示す。 ケースCのBootstrappingの処理のシーケンス図を示す。 ケースDのBootstrappingの処理のシーケンス図を示す。
(通信システム2の構成;図1)
図1に示されるように、通信システム2は、AP(Access Pointの略)6と、端末10と、プリンタ100と、を備える。本実施例では、ユーザが端末10を利用して、プリンタ100とAP6との間にWi-Fi方式に従った無線接続(以下では「Wi-Fi接続」と記載する)を確立させる状況を想定している。
(端末10の構成)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。なお、変形例では、端末10は、据置型のPC、ノートPC等であってもよい。端末10は、カメラ15と、Wi-Fiインターフェース16を備える。以下では、インターフェースを単に「I/F」と記載する。カメラ15は、物体を撮影するためのデバイスであり、本実施例では、特に、AP6及びプリンタ100のためのQRコードを撮影するために利用される。また、端末10は、接続アプリケーション40(以下では単に「アプリ40」と記載する)を記憶している。アプリ40は、プリンタ100とAP6との間にWi-Fi接続を確立させるためのプログラムであり、例えば、プリンタ100のベンダによって提供されるインターネット上のサーバから端末10にインストールされる。
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」に記述されており、端末10を利用して一対のデバイス(例えばプリンタ100とAP6)の間に容易にWi-Fi接続を確立させるための無線通信方式である。
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば、端末10の周辺装置)である。プリンタ100は、操作部112と、表示部114と、Wi-FiI/F116と、印刷実行部118と、制御部130と、を備える。各部112~130は、バス線(符号省略)に接続されている。
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。Wi-FiI/F116は、端末10のWi-FiI/F16と同様である。即ち、Wi-FiI/F116は、DPP方式をサポートしている。また、Wi-FiI/F116は、MACアドレス「abc」を有する。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。
(本実施例の概要;図2)
続いて、図2を参照して、本実施例の概要を説明する。端末10及びプリンタ100がDPP方式をサポートしていることを上述したが、AP6もDPP方式をサポートしている。そして、本実施例では、各デバイス6,10,100がDPP方式に従った通信を実行することによって、プリンタ100とAP6との間のWi-Fi接続を確立することを実現する。以下では、理解の容易化のために、各デバイスのCPU(例えばCPU132等)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えばプリンタ100)を主体として記載する。
T5では、端末10は、DPP方式のBootstrapping(以下では、単に「BS」と記載する)をAP6と実行する。当該BSは、AP6に貼り付けられているQRコードが端末10によって撮影されることに応じて、後述のT10のAuthentication(以下では、単に「Auth」と記載する)で利用される情報をAP6から端末10に提供する処理である。
T10では、端末10は、T5のBSで取得済みの情報を利用して、DPP方式のAuthをAP6と実行する。当該Authは、端末10及びAP6のそれぞれが通信相手を認証するための処理である。
T15では、端末10は、DPP方式のConfiguration(以下では、単に「Config」と記載する)をAP6と実行する。当該Configは、プリンタ100とAP6との間のWi-Fi接続を確立するための情報をAP6に送信する処理である。具体的には、端末10は、当該Configにおいて、プリンタ100とAP6との間にWi-Fi接続を確立させるための第1のConfiguration Object(以下では、Configuration Objectのことを単に「CO」と記載する)を生成して、第1のCOをAP6に送信する。この結果、AP6では、第1のCOが記憶される。
次いで、端末10は、T20において、DPP方式のBSをプリンタ100と実行する。当該BSは、プリンタ100に表示されるQRコードが端末10によって撮影されることに応じて、後述のT25のAuthで利用される情報をプリンタ100から端末10に提供する処理である。
T25では、端末10は、T20のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ100と実行する。当該Authは、端末10及びプリンタ100のそれぞれが通信相手を認証するための処理である。
T30では、端末10は、DPP方式のConfigをプリンタ100と実行する。当該Configは、プリンタ100とAP6との間のWi-Fi接続を確立するための情報をプリンタ100に送信する処理である。端末10は、当該Configにおいて、プリンタ100とAP6との間にWi-Fi接続を確立させるための第2のCOを生成して、第2のCOをプリンタ100に送信する。この結果、プリンタ100では、第2のCOが記憶される。
T35では、プリンタ100及びAP6は、記憶済みの第1及び第2のCOを利用して、DPP方式のNetwork Access(以下では、単に「NA」と記載する)を実行する。NAは、Wi-Fi接続を確立するための接続キーをプリンタ100及びAP6の間で共有するための処理である。
T40では、プリンタ100及びAP6は、4way-handshakeの通信を実行する。4way-handshakeの通信の少なくとも一部の過程において、プリンタ100及びAP6は、T35のNAで共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、プリンタ100とAP6との間にWi-Fi接続が確立される。これにより、プリンタ100は、AP6によって形成される無線ネットワークに子局として参加することができ、この結果、AP6を介して、当該無線ネットワークに参加している他のデバイスとの通信を実行することができる。なお、変形例では、プリンタ100及びAP6は、4way-handshakeの通信に代えて、SAE(Simultaneous Authentication of Equalsの略、通称「Dragonfly」)の通信を実行してもよい。
T45では、プリンタ100は、Wi-Fi接続がAP6と確立されたことを示す完了画面を表示部114に表示させる。T45の処理が終了すると、図2の処理が終了する。
DPP方式では、プリンタ100とAP6との間にWi-Fi接続を確立させるために、ユーザは、AP6が親局として動作する無線ネットワークの情報(例えばSSID(Service Set Identifierの略)、パスワード等)をプリンタ100に入力する必要がない。従って、ユーザは、プリンタ100とAP6との間のWi-Fi接続を容易に確立させることができる。
(各処理の説明;図3~図9)
続いて、図3~図9を参照して、図2のT20~T35において実行される各処理の詳細を説明する。なお、T5~T15の処理は、プリンタ100に代えてAP6が利用される点を除いて、T20~T30の処理と同様であるので、その詳細な説明を省略する。また、図3及び図7~図9は、端末10とプリンタ100との間で実行されるBSの各ケースを示す。これらのケースは、一つの実施例において実行される処理である。
(ケースAのBootstrapping(BS);図3)
まず、図3を参照して、図2のT20のBSのケースAの処理を説明する。図3の初期状態では、プリンタ100のメモリ134は、プリンタ100の公開鍵PPK1及び秘密鍵psk1を予め記憶している。
プリンタ100は、T100において、ユーザから電源ON操作を受け付けることに応じて、T105において、メニュー画面MSを表示部114に表示させる。画面MSは、換言すればプリンタ100のデフォルト画面であり、プリンタ100に印刷を実行させる印刷ボタンと、プリンタ100の各種設定(例えば印刷設定等)を指定するための設定ボタンと、を含む。
プリンタ100は、T106において、画面MS内の設定ボタンがユーザによって選択されることに応じて、T107において、設定画面SSを表示部114に表示させる。画面SSは、プリンタ100の印刷設定を変更するための印刷設定ボタンと、QRコードの表示をプリンタ100に実行させるためのQRコードボタンと、Wi-FiI/F116の動作モードを変更するためのモード移行ボタンと、を含む。
プリンタ100は、T120において、画面SS内のQRコードボタンがユーザによって選択されることに応じて、T122において、QRコードを表示部114に表示させる。当該QRコードは、メモリ134に予め記憶されている公開鍵PPK1と、メモリ134に予め記憶されているチャネルリストと、Wi-FiI/F116のMACアドレス「abc」と、がコード化されることによって得られるコード画像である。チャネルリストは、Auth(図2のT25参照)で利用されるべき複数個の通信チャネルの値のリストである。当該QRコードは、T122の処理が実行される際にプリンタ100によって生成されてもよいし、プリンタ100の出荷段階からメモリ134に予め記憶されていてもよい。
次いで、T124では、プリンタ100は、不可能状態から可能状態に移行する。不可能状態は、Wi-FiI/F116が、端末10からDPP Authentication Request(以下では、単に「AReq」と記載する)(後述の図4のT200参照)を受信しても、DPP Authentication Response(以下では、単に「ARes」と記載する)(後述のT210参照)を送信しない状態である。可能状態は、Wi-FiI/F116が、端末10からAReqを受信することに応じて、AResを端末10に送信する状態である。即ち、プリンタ100は、不可能状態から可能状態に移行することによって、Auth(図2のT25参照)を実行可能な状態になる。具体的には、本実施例では、不可能状態は、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に供給する状態であってもよい。
端末10は、T130において、ユーザからアプリ40の起動操作を受け付けることに応じて、アプリ40を起動し、さらに、カメラ15を起動する。端末10によって実行される以降の各処理は、アプリ40によって実現される。次いで、端末10は、T132において、カメラ15を利用して、プリンタ100に表示されたQRコード(T122参照)を撮影する。そして、端末10は、T134において、撮影済みのQRコードをデコードして、公開鍵PPK1とチャネルリストとMACアドレス「abc」とを取得する。
T136では、端末10は、プリンタ100とAP6との間にWi-Fi接続を確立するための接続処理を実行するのか否かをユーザに問い合せる端末側確認画面TCSを表示する。画面TCSは、接続処理を実行することを示すYESボタンと、接続処理を実行しないことを示すNOボタンと、を含む。T140では、端末10は、ユーザから画面TCS内のYESボタンの選択を受け付ける。T140の処理が終了すると、ケースAのBSの処理が終了する。
(Authentication(Auth);図4)
続いて、図4を参照して、図2のT25のAuthの処理を説明する。端末10は、図3のT140において、画面TCS内のYESボタンがユーザによって選択されることに応じて、T141において、端末10の公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、端末10は、T142において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、図3のT134で取得されたプリンタ100の公開鍵PPK1と、を用いて、共有鍵SK1を生成する。そして、端末10は、T144において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。
T200では、端末10は、Wi-FiI/F16を介して、図3のT134で取得されたMACアドレス「abc」を送信先として、AReqをプリンタ100に送信する。AReqは、認証の実行をプリンタ100に要求する信号である。ここで、端末10は、T134で取得されたチャネルリスト内の複数個の通信チャネルを順次利用して、AReqをプリンタ100に送信することを繰り返す。当該AReqは、T141で生成された端末10の公開鍵TPK1と、T144で生成された暗号化データED1と、端末10のcapabilityと、を含む。
capabilityは、DPP方式をサポートしている機器において予め指定されている情報であり、DPP方式のConfiguratorのみとして動作可能であることを示す値と、DPP方式のEnrolleeのみとして動作可能であることを示す値と、Configurator及びEnrolleeのどちらとしても動作可能であることを示す値と、のいずれか1個の値を含む。なお、Configuratorは、Config(図2のT30)において、NA(図2のT35)で利用されるCOをEnrolleeに送信するデバイスを意味する。一方、Enrolleeは、Configにおいて、ConfiguratorからNAで利用されるCOを受信するデバイスを意味する。上記のように、本実施例では、端末10が第1又は第2のCOを生成してAP6又はプリンタ100に送信する。従って、端末10のcapabilityは、Configuratorのみとして動作可能であることを示す値を含む。
プリンタ100は、T200において、端末10から、Wi-FiI/F116を介して、AReqを受信する。上記のように、当該AReqは、プリンタ100のMACアドレス「abc」を送信先として送信される。従って、プリンタ100は、端末10から当該AReqを適切に受信することができる。
また、プリンタ100は、図3のT124で可能状態に移行すると、チャネルリスト内の複数個の通信チャネルのうちの1個の通信チャネルが利用されたAReqを受信することを監視する。上記のように、T200のAReqは、チャネルリスト内の複数個の通信チャネルを順次利用して送信される。従って、プリンタ100は、端末10から当該AReqを適切に受信することができる。
次いで、プリンタ100は、AReqの送信元(即ち端末10)を認証するための以下の処理を実行する。具体的には、まず、プリンタ100は、T202において、ECDHに従って、当該AReq内の端末10の公開鍵TPK1と、メモリ134内に予め記憶されているプリンタ100の秘密鍵psk1と、を用いて、共有鍵SK1を生成する。ここで、T142で端末10によって生成される共有鍵SK1と、T204でプリンタ100によって生成される共有鍵SK1と、は同じである。従って、プリンタ100は、T204において、生成済みの共有鍵SK1を用いて、当該AReq内の暗号化データED1を適切に復号することができ、この結果、ランダム値RV1を取得することができる。プリンタ100は、暗号化データED1の復号が成功する場合には、当該AReqの送信元がプリンタ100で表示されたQRコードを撮影したデバイスであると判断し、即ち、認証が成功したと判断し、T206以降の処理を実行する。一方、プリンタ100は、仮に、暗号化データED1の復号が成功しない場合には、当該AReqの送信元がプリンタ100で表示されたQRコードを撮影したデバイスでないと判断し、即ち、認証が失敗したと判断し、T206以降の処理を実行しない。
プリンタ100は、T206において、プリンタ100の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。なお、変形例では、公開鍵PPK2及び秘密鍵psk2は、メモリ134に予め記憶されていてもよい。次いで、プリンタ100は、T207において、ECDHに従って、T200のAReq内の端末10の公開鍵TPK1と、生成済みのプリンタ100の秘密鍵psk2と、を用いて、共有鍵SK2を生成する。そして、プリンタ100は、T208において、生成済みの共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
T210では、プリンタ100は、Wi-FiI/F116を介して、AResを端末10に送信する。当該AResは、T206で生成されたプリンタ100の公開鍵PPK2と、T208で生成された暗号化データED2と、プリンタ100のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
端末10は、T210において、プリンタ100から、Wi-FiI/F16を介して、AResを受信することに応じて、当該AResの送信元(即ちプリンタ100)を認証するための以下の処理を実行する。具体的には、まず、端末10は、T212において、ECDHに従って、T141で生成された端末10の秘密鍵tsk1と、当該ARes内のプリンタ100の公開鍵PPK2と、を用いて、共有鍵SK2を生成する。ここで、T207でプリンタ100によって生成される共有鍵SK2と、T212で端末10によって生成される共有鍵SK2と、は同じである。従って、端末10は、T214において、生成済みの共有鍵SK2を用いて、当該ARes内の暗号化データED2を適切に復号することができ、この結果、ランダム値RV1及びRV2を取得することができる。端末10は、暗号化データED2の復号が成功する場合には、当該AResの送信元が撮影済みのQRコードを表示したデバイスであると判断し、即ち、認証が成功したと判断し、T220以降の処理を実行する。一方、端末10は、仮に、暗号化データED2の復号が成功しない場合には、当該AResの送信元が撮影済みのQRコードを表示したデバイスでないと判断し、即ち、認証が失敗したと判断し、T220以降の処理を実行しない。
T220において、端末10は、Wi-FiI/F16を介して、Confirmをプリンタ100に送信する。Confirmは、端末10がConfiguratorとして動作し、かつ、プリンタ100がEnrolleeとして動作することを示す情報を含む。この結果、T222において、Configuratorとして動作することが端末10によって決定され、T224において、Enrolleeとして動作することがプリンタ100によって決定される。T224の処理が終了すると、図4の処理が終了する。
(Configuration(Config);図5)
続いて、図5を参照して、図2のT30のConfigの処理を説明する。T300では、プリンタ100は、Wi-FiI/F116を介して、DPP Configuration Request(以下では、単に「CReq」と記載する)を端末10に送信する。当該CReqは、CO(即ちプリンタ100とAP6との間のWi-Fi接続を確立するための情報)の送信を要求する信号である。
端末10は、T300において、プリンタ100から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10は、T301において、端末10のメモリ(図示省略)から、グループID「Group1」と公開鍵TPK2と秘密鍵tsk2とを取得する。上述したように、端末10は、図2のT15のConfigをAP6と実行済みであり、この際に、グループID「Group1」と公開鍵TPK2と秘密鍵tsk2とを生成してメモリに記憶する。グループID「Group1」は、プリンタ100とAP6との間のWi-Fi接続が確立されることによって形成される無線ネットワークを識別する情報である。なお、変形例では、ユーザによって指定された文字列がグループIDとして利用されてもよい。即ち、T301では、端末10は、図2のT15で記憶された各情報を取得する。次いで、端末10は、T302において、第2のCO(図2のT30参照)を生成する。具体的には、端末10は、以下の各処理を実行する。
端末10は、端末10の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10は、ハッシュ値HVと、グループID「Group1」と、図4のT210のARes内のプリンタ100の公開鍵PPK2と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、端末10は、ECDSA(Elliptic Curve Digital Signature Algorithmの略)に従って、端末10の秘密鍵tsk2を用いて、生成済みの特定値を暗号化することによって、電子署名DS1を生成する。この結果、端末10は、ハッシュ値HVと、グループID「Group1」と、プリンタ100の公開鍵PPK2と、電子署名DS1と、を含むプリンタ用Signed-Connector(以下では、Signed-Connectorのことを単に「SCont」と記載する)を生成することができる。そして、端末10は、プリンタ用SContと、端末10の公開鍵TPK2と、を含む第2のCOを生成する。
T310では、端末10は、Wi-FiI/F16を介して、第2のCOを含むDPP Configuration Response(以下では、単に「CRes」と記載する)をプリンタ100に送信する。
プリンタ100は、T310において、端末10から、Wi-FiI/F116を介して、CResを受信する。この場合、プリンタ100は、T312において、当該CRes内の第2のCOをメモリ134に記憶する。T312の処理が終了すると、図5の処理が終了する。
(Network Access(NA);図6)
続いて、図6を参照して、プリンタ100とAP6との間で実行される図2のT35のNAの処理を説明する。上記のように、図2のT20~T30と同様に、図2のT5~T15の処理が端末10及びAP6の間で実行済みである。ただし、AP6は、図3のT105~T124の処理を実行しない。AP6は、AP6の公開鍵APK1及び秘密鍵ask1を予め記憶している。そして、AP6の公開鍵APK1と、AP6のチャネルリストと、AP6のMACアドレスと、をコード化することによって得られるQRコードが、AP6の筐体に貼り付けられている。端末10が当該QRコードを撮影することによって、端末10及びAP6の間でT134以降の各処理と同様の各処理が実行される。この結果、AP6は、AP6の公開鍵APK2及び秘密鍵ask2を記憶し(図4のT206参照)、さらに、端末10から受信される第1のCOを記憶する(図5のT312参照)。第1のCOは、AP用SContと、端末10の公開鍵TPK2と、を含む。当該公開鍵TPK2は、第2のCOに含まれる公開鍵TPK2と同じである。また、AP用SContは、ハッシュ値HVと、グループID「Group1」と、AP6の公開鍵APK2と、電子署名DS2と、を含む。当該ハッシュ値HV及び当該グループID「Group1」は、それぞれ、第2のCOに含まれるハッシュ値HV及びグループID「Group1」と同じである。電子署名DS2は、ハッシュ値HVとグループID「Group1」と公開鍵APK2との組み合わせをハッシュ化することによって得られる特定値が端末10の秘密鍵tsk2によって暗号化された情報であり、第2のCOに含まれる電子署名DS1とは異なる値である。
プリンタ100は、T400において、Wi-FiI/F116を介して、プリンタ用SContを含むDPP Peer Discovery Request(以下では、単に「DReq」と記載する)をAP6に送信する。当該DReqは、認証の実行と、AP用SContの送信と、をAP6に要求する信号である。
AP6は、T400において、プリンタ100からDReqを受信することに応じて、DReqの送信元(即ちプリンタ100)、及び、DReq内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)を認証するための処理を実行する。具体的には、AP6は、T402において、まず、受信済みのプリンタ用SCont内のハッシュ値HV及びグループID「Group1」が、それぞれ、記憶済みの第1のCOに含まれるAP用SCont内のハッシュ値HV及びグループID「Group1」に一致するのか否かに関する第1のAP判断処理を実行する。図6のケースでは、AP6は、第1のAP判断処理で「一致する」と判断するので、DReqの送信元(即ちプリンタ100)の認証が成功したと判断する。なお、受信済みのプリンタ用SCont内のハッシュ値HVと、記憶済みの第1のCOに含まれるAP用SCont内のハッシュ値HVと、が一致するということは、プリンタ用SCont及びAP用SContが、同じ装置(即ち、端末10)によって生成されたことを意味する。従って、AP6は、受信済みのプリンタ用SContの生成元(即ち、端末10)の認証が成功したとも判断する。さらに、AP6は、記憶済みの第1のCOに含まれる端末10の公開鍵TPK2を用いて、受信済みのプリンタ用SCont内の電子署名DS1を復号する。図6のケースでは、電子署名DS1の復号が成功するので、AP6は、電子署名DS1を復号することによって得られた特定値と、受信済みのプリンタ用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のAP判断処理を実行する。図6のケースでは、AP6は、第2のAP判断処理で「一致する」と判断するので、DReq内の各情報の認証が成功したと判断し、T404以降の処理を実行する。第2のAP判断処理で「一致する」と判断されることは、第2のCOがプリンタ100に記憶された後に、受信済みのプリンタ用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)が第三者によって改ざんされていないことを意味する。一方、第1のAP判断処理で「一致しない」と判断される場合、電子署名DS1の復号が失敗する場合、又は、第2のAP判断処理で「一致しない」と判断される場合には、AP6は、認証が失敗したと判断し、T404以降の処理を実行しない。
次いで、AP6は、T404において、ECDHに従って、取得済みのプリンタ100の公開鍵PPK2と、記憶済みのAP6の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CKを生成する。
T410では、AP6は、AP用SContを含むDPP Peer Discovery Response(以下では、単に「DRes」と記載する)をプリンタ100に送信する。
プリンタ100は、T410において、Wi-FiI/F116を介して、AP6からDResを受信することに応じて、DResの送信元(即ちAP6)、及び、DRes内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)を認証するための処理を実行する。具体的には、プリンタ100は、T412において、まず、受信済みのAP用SCont内のハッシュ値HV及びグループID「Group1」が、それぞれ、記憶済みの第2のCOに含まれるプリンタ用SCont内のハッシュ値HV及びグループID「Group1」に一致するのか否かに関する第1のPR判断処理を実行する。図6のケースでは、プリンタ100は、第1のPR判断処理で「一致する」と判断するので、DResの送信元(即ちAP6)の認証が成功したと判断する。なお、受信済みのAP用SCont内のハッシュ値HVと、記憶済みの第2のCOに含まれるプリンタ用SCont内のハッシュ値HVと、が一致するということは、プリンタ用SCont及びAP用SContが、同じ装置(即ち、端末10)によって生成されたことを意味する。従って、プリンタ100は、受信済みのAP用SContの生成元(即ち、端末10)の認証が成功したとも判断する。さらに、プリンタ100は、記憶済みの第2のCOに含まれる端末10の公開鍵TPK2を用いて、受信済みのAP用SCont内の電子署名DS2を復号する。図6のケースでは、電子署名DS2の復号が成功するので、プリンタ100は、電子署名DS2を復号することによって得られた特定値と、受信済みのAP用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のPR判断処理を実行する。図6のケースでは、プリンタ100は、第2のPR判断処理で「一致する」と判断するので、DRes内の各情報の認証が成功したと判断し、T414以降の処理を実行する。第2のPR判断処理で「一致する」と判断されることは、第1のCOがAP6に記憶された後に、AP用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)が第三者によって改ざんされていないことを意味する。一方、第1のPR判断処理で「一致しない」と判断される場合、電子署名DS2の復号が失敗する場合、又は、第2のPR判断処理で「一致しない」と判断される場合には、プリンタ100は、認証が失敗したと判断し、T414以降の処理を実行しない。
プリンタ100は、T414において、ECDHに従って、記憶済みのプリンタ100の秘密鍵psk2と、受信済みのAP用SCont内のAP6の公開鍵APK2と、を用いて、接続キーCKを生成する。ここで、T404でAP6によって生成される接続キーCKと、T414でプリンタ100によって生成される接続キーCKと、は同じである。これにより、Wi-Fi接続を確立するための接続キーCKがプリンタ100及びAP6の間で共有される。T414が終了すると、図6の処理が終了する。
上述したように、接続キーCKがプリンタ100及びAP6の間で共有された後に、図2のT40において、プリンタ100及びAP6は、接続キーCKを利用して、4way-handshakeの通信を実行する。この結果、プリンタ100とAP6との間にWi-Fi接続が確立される。なお、上述したように、プリンタ100は、プリンタ100のチャネルリストに含まれる複数個の通信チャネルのうちの1個の通信チャネルを利用して、端末10から図4のT200のAReqを受信する。即ち、プリンタ100は、プリンタ100と端末10との双方が利用可能な通信チャネルを利用して、端末10からT200のAReqを受信する。一方、図2のT40では、プリンタ100は、プリンタ100とAP6との双方が利用可能な通信チャネルを利用して、Wi-Fi接続をAP6と確立する。ここで、端末10が利用可能な通信チャネルと、AP6が利用可能な通信チャネルと、は異なる場合がある。本実施例では、プリンタ100が図4のT200で端末10からAReqを受信するための通信チャネルと、プリンタ100が図2のT40でWi-Fi接続をAP6と確立するための通信チャネルと、が異なる。ただし、変形例では、前者の通信チャネルと後者の通信チャネルとは同じでもよい。
(ケースBのBootstrapping(BS);図7)
続いて、図7を参照して、図2のT20のBSのケースBの処理を説明する。ケースBは、図2のT20~T40が実行される前の状態、即ち、プリンタ100のメモリ134が第2のCOをまだ記憶していない状態である。
T500及びT505は、図3のT100及びT105と同様である。T509では、プリンタ100は、メモリ134が第2のCOを記憶していないので、Wi-FiI/F116の動作モードを移行させるための移行指示をWi-FiI/F116に供給して、Wi-FiI/F116の動作モードを通常モードから設定モードに移行させる。従って、メモリ134が第2のCOを記憶していない状態では、ユーザがプリンタ100の電源をONするだけで、Wi-FiI/F116の動作モードが通常モードから設定モードに自動的に移行される。通常モードは、Probe Request(以下では、単に「PReq」と記載する)(後述のT512)を解釈不可能なモード(即ちPReqを受信しても無視するモード)である。設定モードは、PReqを解釈可能なモード(即ちPReqを受信するとPReq内の情報をCPU132に供給するモード)である。
端末10は、ユーザからアプリ40の起動操作を受け付けることに応じて、T510において、アプリ40を起動し、さらに、カメラ15を起動する。この場合、端末10は、T512において、Wi-FiI/F16を介して、PReqをブロードキャストによって送信する。当該PReqは、アプリ40において予め決められているSSID「DISPLAY」を含む。なお、PReq内のSSIDの文字列は、「DISPLAY」に限られず、プリンタ100が解釈可能な文字列であればよい。
プリンタ100は、T512において、端末10から、Wi-FiI/F116を介して、PReqを受信することに応じて、Wi-FiI/F116からSSID「DISPLAY」を取得する。この場合、プリンタ100は、SSIDが予め決められている文字列「DISPLAY」を含むので、T514以降の処理を実行するための条件が満たされたと判断し、T514において、プリンタ側確認画面PCSを表示部114に表示させる。画面PCSは、QRコードの表示をプリンタ100に実行させるのか否かをユーザに問い合わせる画面であり、QRコードの表示をプリンタ100に実行させることを示すYESボタンと、QRコードの表示をプリンタ100に実行させないことを示すNOボタンと、を含む。これにより、例えば、ユーザがWi-Fi接続の確立を望まない場合(例えばアプリ40を誤って起動してしまった場合)には、画面PCS内のNOボタンを選択することによって、QRコードが表示されることを抑制することができる。
また、T512において、SSID「DISPLAY」を含むPReqがブロードキャストされると、プリンタ100とは異なるプリンタにおいて、画面PCSが表示される可能性がある。この場合、ユーザは、当該異なるプリンタにおいて表示された画面PCS内のNOボタンを選択することによって、当該異なるプリンタにおいてQRコードが表示されることを抑制することができる。
プリンタ100は、T520において、画面PCS内のYESボタンがユーザによって選択されることに応じて、T522において、QRコードを表示部114に表示させ、T524において、不可能状態から可能状態に移行する。T532~T540は、図3のT132~T140と同様である。T540の処理が終了すると、図7の処理が終了する。そして、図4~図6と同様の処理が各デバイス6,10,100によって実行されることによって、プリンタ100とAP6との間のWi-Fi接続が確立される。
なお、図示を省略しているが、図3のケースAにおいても、プリンタ100は、T100でユーザから電源ON操作を受け付けることに応じて、Wi-FiI/F116の動作モードを通常モードから設定モードに移行させる。しかしながら、図3のケースAでは、端末10でアプリ40が起動される前に、T106~T120の処理が実行されてQRコードが表示される。このため、プリンタ100は、図7のT514の処理を実行しない。
(ケースCのBootstrapping(BS);図8)
続いて、図8を参照して、BSの他のケースCの処理を説明する。ケースCは、図2のT20~T40が実行された後の状態、即ち、プリンタ100のメモリ134が第2のCOを記憶済みである状態である。
T600及びT605は、図7のT500及びT505と同様である。本ケースでは、プリンタ100のメモリ134が第2のCOを記憶しているので、プリンタ100は、Wi-FiI/F116の動作モードを通常モードから設定モードに移行させない。プリンタ100は、第2のCOを記憶している状況では、第2のCOを利用して、Wi-Fi接続をAP6と確立することができる。従って、プリンタ100においてBSが実行される可能性が低い。プリンタ100は、このような状況において、Wi-FiI/F116の動作モードを設定モードに移行させないので、QRコードが無駄に表示されることを抑制することができる。
ユーザは、プリンタ100が第2のCOを記憶している状態において、例えば、AP6とは異なるAPとプリンタ100との間のWi-Fi接続の確立を望む可能性がある。この場合、ユーザは、T606において、画面MS内の設定ボタンを選択し、T608において、それに応じて表示される画面SS(T607)内のモード移行ボタンを選択することができる。この場合、プリンタ100は、T609において、Wi-FiI/F116の動作モードを通常モードから設定モードに移行させる。これにより、プリンタ100は、端末10からPReqを受信すると、図7のT514以降の処理を実行して、端末10から新たなCOを受信することができる。
なお、プリンタ100は、DPP方式を利用せずに、通常のWi-Fi方式(即ちSSID及びパスワードを利用する方式)に従って、AP6とのWi-Fi接続を確立することもできる。この場合、プリンタ100のメモリ134は、AP6とのWi-Fi接続を確立するための無線設定情報(即ちSSID及びパスワード)を記憶する。このような状態でプリンタ100の電源がONされても、プリンタ100は、図8のケースCと同様に、Wi-FiI/F116の動作モードを通常モードから設定モードに移行させない。プリンタ100が無線設定情報を利用してAP6とWi-Fi接続を確立することができるからである。これにより、プリンタ100がAP6とのWi-Fi接続を確立可能であるにも関わらず、プリンタ100とAP6との間のWi-Fi接続を確立するための処理が実行されてしまうことを抑制できる。
(ケースDのBootstrapping(BS);図9)
続いて、図9を参照して、BSの他のケースDの処理を説明する。ケースDでは、プリンタ100に表示されるQRコードが端末10によって撮影されない状況を想定している。
T700~T724は、図7のT500~T524と同様である。本ケースでは、プリンタ100に表示されるQRコードが端末10によって撮影されないことに起因して、端末10からプリンタ100にAReq(図4のT200参照)が送信されない。この場合、プリンタ100は、T726において、T724で可能状態に移行してから所定時間以内にAReqを受信しないと判断し、T728において、可能状態から不可能状態に移行する。これにより、プリンタ100において長時間に亘って可能状態が継続することを抑制することができる。即ち、Wi-FiI/F116が外部から受信した信号をCPU132に供給する状態、即ち、CPU132が外部から受信された信号を処理する状態が継続することを抑制できる。これにより、プリンタ100の処理負荷を軽減することができる。そして、T730では、プリンタ100は、端末10からAReqが受信されなかったことを示すエラー画面を表示部114に表示させる。T730の処理が終了すると、図9の処理が終了する。
(本実施例の効果)
本実施例では、プリンタ100は、端末10からSSID「DISPLAY」を含むPReqを受信する場合(図7のT512、図8のT612、図9のT712)に、公開鍵PPK1をコード化することによって得られるQRコードを表示する(T522、T622、T722)。この結果、公開鍵PPK1が端末10によって取得される(T534、T634)。その後、プリンタ100は、端末10から、公開鍵TPK1が利用されたAReqを受信して(図4のT200)、AResを端末10に送信し(T210)、端末10から第2のCOを受信する(図5のT310)。これにより、プリンタ100は、第2のCOを利用して、AP6とのWi-Fi接続を確立することができる(図2のT40)。
また、本実施例では、プリンタ100は、端末10からSSID「DISPLAY」を含むPReqを受信する場合(図7のT512、図8のT612、図9のT712)に、不可能状態から可能状態に移行する(T524、T624、T724)。これにより、プリンタ100は、端末10からAReqを受信する場合(図4のT200)に、AResを端末10に送信することができる(T210)。そして、プリンタ100は、端末10から第2のCOを受信し(図5のT310)、第2のCOを利用して、AP6とのWi-Fi接続を確立することができる(図2のT40)。
例えば、無線通信、又は、プリンタ100の操作の知識を有するユーザは、図3のケースAのように、T106において、画面MS内の設定ボタンを選択し、T108において、画面SS内のQRコードボタンを選択し、QRコードの表示(T122)及び可能状態への移行(T124)をプリンタ100に実行させることができる。しかしながら、上記の知識に乏しいユーザは、上記のような選択操作を適切に実行することができない可能性がある。本実施例によると、図7のケースBに示されるように、プリンタ100は、端末10から所定のSSIDを含むPReqを受信する場合に、図3のT106及びT108がユーザによって実行されなくても、QRコードの表示(T522)及び可能状態への移行(T524)を実行する。このために、無線通信の知識に乏しいユーザは、端末10のアプリ40を起動させることによって、QRコードの表示及び可能状態への移行をプリンタ100に容易に実行させることができる。
(対応関係)
プリンタ100、端末10、AP6が、それぞれ、「通信装置」、「第1の外部装置」、「第2の外部装置」の一例である。表示部114、Wi-FiI/F116が、それぞれ、「出力部」、「無線インターフェース」の一例である。SSID「DISPLAY」を含むPReq、プリンタ100の公開鍵PPK1、QRコードが、それぞれ、「特定信号」、「公開鍵」、「特定情報」の一例である。AReq、ARes、第2のCOが、それぞれ、「認証要求」、「認証応答」、「接続情報」の一例である。図2のT40で確立されるWi-Fi接続が、「無線接続」の一例である。
図3のT120のQRコードボタンの選択操作が、「所定操作」の一例である。画面PCSが、「指示画面」の一例である。図8のT608のモード移行ボタンの選択操作が、「特定操作」の一例であり、メモリ134内に第2のCOが記憶されていない状態でユーザからの電源ON操作を受け付けること、及び、メモリ134内に第2のCOが記憶されている状態でユーザからのモード移行ボタンの選択を受け付けることが、「所定条件」の一例である。通常モード、設定モードが、それぞれ、「第1のモード」、「第2のモード」の一例である。チャネルリスト、図4のT200で利用される通信チャネル、図2のT40で利用される通信チャネルが、それぞれ、「通信チャネル情報」、「第1の通信チャネル」、「第2の通信チャネル」の一例である。図9のT726の所定時間経過が、「特定条件」の一例である。AP用SCont、第2のCO内のハッシュ値HVが、それぞれ、「受信情報」、「認証情報」の一例である。
図7のT512(又は図8のT612、図9のT712)の処理、T522(又はT622、T722)の処理、図4のT200の処理、T210の処理、図5のT310の処理、T35及びT40の処理が、それぞれ、「特定信号受信部」、「第1の出力制御部」、「認証要求受信部」、「認証応答送信部」、「接続情報受信部」、「確立部」によって実行される処理の一例である。
図7のT512(又は図8のT612、図9のT712)の処理、T524(又はT624、T724)の処理、図4のT200の処理、T210の処理、図5のT310の処理、T35及びT40の処理が、それぞれ、「特定信号受信部」、「第1の状態移行部」、「認証要求受信部」、「認証応答送信部」、「接続情報受信部」、「確立部」によって実行される処理の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)例えば、図3のT122でプリンタ100に表示されるQRコードは、チャネルリスト及びMACアドレス「abc」がコード化されたものでなくてもよい。即ち、QRコードは、少なくとも公開鍵PPK1がコード化されることによって得られるコード画像であればよい。この場合、プリンタ100は、T124で不可能状態から可能状態に移行することに応じて、プリンタ100が利用可能な全ての無線チャネルのうちの1個の無線チャネルが利用されたAReqを受信することを監視する。また、端末10は、図4のT200において、端末10が利用可能な全ての無線チャネルを順次利用して、AReqをブロードキャストによって順次送信する。即ち、「特定情報」は、少なくとも公開鍵を用いて得られる情報であればよい。
(変形例2)共有鍵(例えばSK1)を生成するための処理(例えば、図4のT142、T202)は、ECDHに従った上記の実施例の処理に限らず、ECDHに従った他の処理であってもよい。また、共有鍵を生成するための処理は、ECDHに従った処理に限らず、他の方式(例えば、DH(Diffie-Hellman key exchangeの略)等)に従った処理が実行されてもよい。また、上記の実施例では、電子署名DS1及びDS2が、ECDSAに従って生成されたが、他の方式(例えば、DSA(Digital Signature Algorithmの略)、RAS(Rivest-Shamir-Adleman cryptosystemの略)等)に従って生成されてもよい。
(変形例3)例えば、図7のT512において、端末10は、PReqに代えて、WFD方式のService Discovery Requestをプリンタ100に送信してもよい。当該Requestは、プリンタ100がQRコードの表示を実行可能であるのか否かを問い合わせるための情報を含む。本変形例では、Service Discovery Requestが、「特定信号」の一例である。
(変形例4)図7のT512において、SSID「DISPLAY」を含むPReqがブロードキャストされると、プリンタ100とは異なるプリンタにおいて、画面PCSが表示される可能性がある。このような状況に対処するために、プリンタ100は、図4のT200において、端末10からAReqを受信することに応じて、画面PCSの表示の停止を指示するPReqをブロードキャストによって送信してもよい。当該PReqは、画面PCSの表示を停止させるための所定の文字列(例えばSSID「NOT DISPLAY」)を含む。これにより、プリンタ100とは異なるプリンタにおいて画面PCSが表示されても、ユーザから操作を受け付けることなく、当該画面PCSの表示を停止させることができる。
(変形例5)例えば、プリンタ100は、図7のT522において、QRコードを表示部114に表示することに代えて、印刷媒体へのQRコードの印刷を印刷実行部118に実行させてもよい。本変形例によると、例えば、プリンタ100が表示部114を備えておらず、図3のT105の画面MS、T107の画面SS、及び、T122のQRコード等の画面の表示を不可能な状況においても、DPP方式に従った通信を実行して、プリンタ100とAP6との間のWi-Fi接続を確立することができる。本変形例では、印刷実行部118が、「出力部」の一例である。別の変形例では、プリンタ100が、Wi-FiI/F116とは異なる無線インターフェース(例えば、NFC(Near Field Communicationの略)I/F、Bluetooth(登録商標)I/F)を備えていてもよい。なお、当該BluetoothI/Fは、Bluetooth方式バージョン4.0以上に従った通信を実行するための無線インターフェースを含む。この場合、プリンタ100は、図7のT522において、当該無線インターフェースを介して、公開鍵PPK1とチャネルリストとMACアドレス「abc」とを端末10に送信してもよい。本変形例では、Wi-FiI/F116とは異なる無線インターフェースが、「出力部」の一例である。また、本変形例では、「特定情報」は、「コード画像」でなくてもよい。
(変形例6)変形例では、プリンタ100は、T512において、端末10からPReqを受信することに応じて、当該PReqの受信電波強度を算出して、算出済みの受信電波強度が予め決められている閾値以上である場合に、T514において、画面PCSを表示部114に表示させてもよい。即ち、プリンタ100は、プリンタ100と端末10との間の距離が所定距離以下であることを条件として、画面PCSを表示部114に表示させてもよい。
(変形例7)Wi-Fi Allianceによって作成された規格書のドラフトである「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」には、共有コード、キー、フレーズ、及び、ワードを「コード」と呼ぶことが記載されている。従って、プリンタ100は、T122において、QRコードに代えて、公開鍵PPK1とチャネルリストとMACアドレス「abc」とがコード化されることによって得られる共有コード、キー、フレーズ、及び、ワードを含む画像を表示部114に表示してもよい。
(変形例8)図2のT35において、端末10とプリンタ100との間でNAの処理が実行されて、端末10とプリンタ100との間でWi-Fi接続が確立されてもよい。即ち、「第2の外部装置」は、「第1の外部装置」と同じ装置であってもよい。
(変形例9)図3のT107で表示される画面SSがQRコードボタンを含んでいなくてもよい。この場合、端末10及びプリンタ100は、図3のケースAのBSの処理を実行することなく、図7のケースBのBSの処理を実行して、プリンタ100とAP6との間のWi-Fi接続を確立する。本変形例では、「第2の出力制御部」及び「第3の状態移行部」が省略可能である。
(変形例10)プリンタ100は、図7のT512において、端末10からPReqを受信することに応じて、T514及びT520の処理をスキップして、T522において、QRコードを表示部114に表示してもよい。本変形例では、「表示制御部」が省略可能である。
(変形例11)プリンタ100のWi-FiI/F116が常に設定モードで動作するように構成されてもよい。本変形例では、「モード移行部」及び「記憶制御部」が省略可能である。
(変形例12)図9のケースDの処理が実行されなくてよい。即ち、プリンタ100は、可能状態に移行してから所定時間経過する場合に、可能状態から不可能状態に移行しなくてもよい。本変形例では、「第2の状態移行部」が省略可能である。また、別の変形例では、図9のT726において、プリンタ100は、所定時間が経過することを監視することに代えて、ユーザから不可能状態に移行することを示す指示を受け付けることを監視してもよい。本変形例では、ユーザから指示を受け付けることが「特定条件」の一例である。
(変形例13)上記の実施例では、端末10を利用して、プリンタ100とAP6との間のWi-Fi接続が確立される。これに代えて、例えば、端末10を利用して、WFD方式のG/O(Group Ownerの略)として動作するプリンタ100(即ち親局として動作するデバイス)と、他のデバイス(即ち子局として動作するデバイス)と、の間のWi-Fi接続が確立されてもよい。即ち、「第2の外部装置」は、「親局装置」でなくてもよい。
(変形例14)「通信装置」は、プリンタでなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。
(変形例15)上記の各実施例では、図2~図9の各処理がソフトウェア(即ちプログラム136)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、6:AP、10:端末、16,116:Wi-FiI/F、40:接続アプリケーション、100:プリンタ、112:操作部、114:表示部、118:印刷実行部、130:制御部、132:CPU、134:メモリ、136:プログラム
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下の項目は、出願当初の特許請求の範囲に記載の要素である。
(項目1)
通信装置であって、
出力部と、
無線インターフェースと、
第1の外部装置から、前記無線インターフェースを介して、特定信号を受信する特定信号受信部と、
前記第1の外部装置から前記特定信号が受信された後に、公開鍵を用いて得られる特定情報を前記出力部に出力させる第1の出力制御部であって、前記特定情報が出力されることによって、前記公開鍵が前記第1の外部装置によって取得される、前記第1の出力制御部と、
前記特定情報が出力された後に、前記第1の外部装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
を備える、通信装置。
(項目2)
前記通信装置は、さらに、
操作部と、
前記操作部を介した所定操作が受け付けられる場合に、前記特定情報を前記出力部に出力させる第2の出力制御部を備え、
前記第1の出力制御部は、前記第1の外部装置から前記特定信号が受信された後に、前記操作部を介した前記所定操作が受け付けられなくても、前記特定情報を前記出力部に出力させる、項目1に記載の通信装置。
(項目3)
前記特定情報は、前記公開鍵がコード化されることによって得られるコード画像である、項目1又は2に記載の通信装置。
(項目4)
前記コード画像は、QRコード(登録商標)であり、
前記公開鍵は、前記QRコードが前記第1の外部装置によって撮影されることに応じて、前記第1の外部装置によって取得される、項目3に記載の通信装置。
(項目5)
前記出力部は、画像を表示するための表示部であり、
前記第1の出力制御部は、前記特定情報を前記表示部である前記出力部に表示させる、項目1から4のいずれか一項に記載の通信装置。
(項目6)
前記通信装置は、さらに、
操作部と、
前記第1の外部装置から前記特定情報が受信される場合に、前記特定情報を表示すべきことを指示するための指示画面を前記表示部である前記出力部に表示させる表示制御部と、を備え、
前記第1の出力制御部は、前記指示画面において、前記操作部を介して、前記特定情報を表示すべきことが指示される場合に、前記特定情報を前記表示部である前記出力部に表示させる、項目5に記載の通信装置。
(項目7)
前記通信装置は、さらに、
所定条件が満たされる場合に、前記無線インターフェースの動作モードを第1のモードから第2のモードに移行させるモード移行部であって、前記第1のモードは、前記無線インターフェースが前記特定信号を解釈不可能なモードであり、前記第2のモードは、前記無線インターフェースが前記特定信号を解釈可能なモードである、前記モード移行部を備え、
前記第1の出力制御部は、前記無線インターフェースの動作モードが前記第2のモードである状況において、前記第1の外部装置から前記特定信号が受信された後に、前記特定情報を前記出力部に出力させ、
前記無線インターフェースの動作モードが前記第1のモードである状況において、前記第1の外部装置から前記特定信号が受信されても、前記特定情報は出力されない、項目1から6のいずれか一項に記載の通信装置。
(項目8)
前記通信装置は、さらに、
前記第1の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる第1の状態移行部であって、前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記第1の状態移行部を備え、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する、項目1から7のいずれか一項に記載の通信装置。
(項目9)
前記特定情報は、前記公開鍵と、前記通信装置において予め決められている第1の通信チャネルを示す通信チャネル情報と、を用いて得られる情報であり、
前記特定情報が出力されることによって、前記通信チャネル情報が前記第1の外部装置によって取得され、
前記可能状態は、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態であり、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する、項目8に記載の通信装置。
(項目10)
通信装置であって、
無線インターフェースと、
第1の外部装置から、前記無線インターフェースを介して、特定信号を受信する特定信号受信部と、
前記第1の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる第1の状態移行部であって、前記不可能状態は、前記第1の外部装置から認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記第1の状態移行部と、
前記第1の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
を備える、通信装置。
(項目11)
前記可能状態は、前記第1の外部装置から前記通信装置において予め決められている第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態であり、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する、項目10に記載の通信装置。
(項目12)
前記確立部は、前記第1の通信チャネルとは異なる第2の通信チャネルを利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する、項目9又は11に記載の通信装置。
(項目13)
前記通信装置は、さらに、
前記通信装置の動作状態が前記可能状態に移行された後に、特定条件が満たされる場合に、前記通信装置の動作状態を前記可能状態から前記不可能状態に移行させる第2の状態移行部を備える、項目8から12のいずれか一項に記載の通信装置。
(項目14)
前記通信装置は、さらに、
操作部と、
前記操作部を介した所定操作が受け付けられる場合に、前記通信装置の動作状態を前記不可能状態から前記可能状態に移行させる第3の状態移行部と、を備え、
前記第1の状態移行部は、前記第1の外部装置から前記特定信号が受信された後に、前記操作部を介した前記所定操作が受け付けられなくても、前記通信装置の動作状態を前記不可能状態から前記可能状態に移行させる、項目8から13のいずれか一項に記載の通信装置。
(項目15)
前記通信装置は、さらに、
所定条件が満たされる場合に、前記無線インターフェースの動作モードを第1のモードから第2のモードに移行させるモード移行部であって、前記第1のモードは、前記無線インターフェースが前記特定信号を解釈不可能なモードであり、前記第2のモードは、前記無線インターフェースが前記特定信号を解釈可能なモードである、前記モード移行部を備え、
前記第1の状態移行部は、前記無線インターフェースの動作モードが前記第2のモードである状況において、前記第1の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を前記不可能状態から前記可能状態に移行させ、
前記無線インターフェースの動作モードが前記第1のモードである状況において、前記第1の外部装置から前記特定信号が受信されても、前記通信装置の動作状態は前記不可能状態から前記可能状態に移行されない、項目10から14のいずれか一項に記載の通信装置。
(項目16)
前記通信装置は、さらに、
メモリと、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を前記メモリに記憶する記憶制御部と、を備え、
前記メモリ内に前記接続情報が記憶されていない状況において、前記通信装置の電源がONされる場合に、前記所定条件が満たされ、
前記メモリ内に前記接続情報が記憶されている状況において、前記通信装置の電源がONされる場合に、前記所定条件が満たされない、項目7又は15に記載の通信装置。
(項目17)
前記通信装置は、さらに、
操作部を備え、
前記メモリ内に前記接続情報が記憶されている状況において、前記操作部を介した特定操作が受け付けられる場合に、前記所定条件が満たされる、項目16に記載の通信装置。
(項目18)
前記第2の外部装置は、前記第1の外部装置とは異なる装置であって、無線ネットワークの親局として動作すべき親局装置であり、
前記確立部は、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立して、前記通信装置を前記無線ネットワークに子局として参加させる、項目1から17のいずれか一項に記載の通信装置。
(項目19)
前記接続情報は、前記第2の外部装置から受信される受信情報を認証するための認証情報を含む、項目1から18のいずれか一項に記載の通信装置。
(項目20)
前記通信装置は、さらに、
前記認証応答が前記第1の外部装置に送信された後に、前記通信装置をWi-Fi規格に従ったEnrolleeとして動作させる動作制御部であって、前記第1の外部装置は、前記Wi-Fi規格に従ったConfiguratorとして動作する、前記動作制御部を備える、項目1から19のいずれか一項に記載の通信装置。
(項目21)
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
第1の外部装置から、前記通信装置の無線インターフェースを介して、特定信号を受信する特定信号受信部と、
前記第1の外部装置から前記特定信号が受信された後に、公開鍵を用いて得られる特定情報を前記通信装置の出力部に出力させる第1の出力制御部であって、前記特定情報が出力されることによって、前記公開鍵が前記第1の外部装置によって取得される、前記第1の出力制御部と、
前記特定情報が出力された後に、前記第1の外部装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
として機能させる、コンピュータプログラム。
(項目22)
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
第1の外部装置から、前記通信装置の無線インターフェースを介して、特定信号を受信する特定信号受信部と、
前記第1の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる第1の状態移行部であって、前記不可能状態は、前記第1の外部装置から認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記第1の状態移行部と、
前記第1の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
として機能させる、コンピュータプログラム。

Claims (22)

  1. 通信装置であって、
    出力部と、
    無線インターフェースと、
    第1の外部装置から、前記無線インターフェースを介して、特定信号を受信する特定信号受信部と、
    前記第1の外部装置から前記特定信号が受信された後に、公開鍵を用いて得られる特定情報を前記出力部に出力させる第1の出力制御部であって、前記特定情報が出力されることによって、前記公開鍵が前記第1の外部装置によって取得される、前記第1の出力制御部と、
    前記特定情報が出力された後に、前記第1の外部装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
    前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する認証応答送信部と、
    前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
    前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
    を備える、通信装置。
  2. 前記通信装置は、さらに、
    操作部と、
    前記操作部を介した所定操作が受け付けられる場合に、前記特定情報を前記出力部に出力させる第2の出力制御部を備え、
    前記第1の出力制御部は、前記第1の外部装置から前記特定信号が受信された後に、前記操作部を介した前記所定操作が受け付けられなくても、前記特定情報を前記出力部に出力させる、請求項1に記載の通信装置。
  3. 前記特定情報は、前記公開鍵がコード化されることによって得られるコード画像である、請求項1又は2に記載の通信装置。
  4. 前記コード画像は、QRコード(登録商標)であり、
    前記公開鍵は、前記QRコードが前記第1の外部装置によって撮影されることに応じて、前記第1の外部装置によって取得される、請求項3に記載の通信装置。
  5. 前記出力部は、画像を表示するための表示部であり、
    前記第1の出力制御部は、前記特定情報を前記表示部である前記出力部に表示させる、請求項1から4のいずれか一項に記載の通信装置。
  6. 前記通信装置は、さらに、
    操作部と、
    前記第1の外部装置から前記特定情報が受信される場合に、前記特定情報を表示すべきことを指示するための指示画面を前記表示部である前記出力部に表示させる表示制御部と、を備え、
    前記第1の出力制御部は、前記指示画面において、前記操作部を介して、前記特定情報を表示すべきことが指示される場合に、前記特定情報を前記表示部である前記出力部に表示させる、請求項5に記載の通信装置。
  7. 前記通信装置は、さらに、
    所定条件が満たされる場合に、前記無線インターフェースの動作モードを第1のモードから第2のモードに移行させるモード移行部であって、前記第1のモードは、前記無線インターフェースが前記特定信号を解釈不可能なモードであり、前記第2のモードは、前記無線インターフェースが前記特定信号を解釈可能なモードである、前記モード移行部を備え、
    前記第1の出力制御部は、前記無線インターフェースの動作モードが前記第2のモードである状況において、前記第1の外部装置から前記特定信号が受信された後に、前記特定情報を前記出力部に出力させ、
    前記無線インターフェースの動作モードが前記第1のモードである状況において、前記第1の外部装置から前記特定信号が受信されても、前記特定情報は出力されない、請求項1から6のいずれか一項に記載の通信装置。
  8. 前記通信装置は、さらに、
    前記第1の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる第1の状態移行部であって、前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記第1の状態移行部を備え、
    前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する、請求項1から7のいずれか一項に記載の通信装置。
  9. 前記特定情報は、前記公開鍵と、前記通信装置において予め決められている第1の通信チャネルを示す通信チャネル情報と、を用いて得られる情報であり、
    前記特定情報が出力されることによって、前記通信チャネル情報が前記第1の外部装置によって取得され、
    前記可能状態は、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態であり、
    前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する、請求項8に記載の通信装置。
  10. 通信装置であって、
    無線インターフェースと、
    第1の外部装置から、前記無線インターフェースを介して、特定信号を受信する特定信号受信部と、
    前記第1の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる第1の状態移行部であって、前記不可能状態は、前記第1の外部装置から認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記第1の状態移行部と、
    前記第1の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
    前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
    前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
    前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
    を備える、通信装置。
  11. 前記可能状態は、前記第1の外部装置から前記通信装置において予め決められている第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態であり、
    前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する、請求項10に記載の通信装置。
  12. 前記確立部は、前記第1の通信チャネルとは異なる第2の通信チャネルを利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する、請求項9又は11に記載の通信装置。
  13. 前記通信装置は、さらに、
    前記通信装置の動作状態が前記可能状態に移行された後に、特定条件が満たされる場合に、前記通信装置の動作状態を前記可能状態から前記不可能状態に移行させる第2の状態移行部を備える、請求項8から12のいずれか一項に記載の通信装置。
  14. 前記通信装置は、さらに、
    操作部と、
    前記操作部を介した所定操作が受け付けられる場合に、前記通信装置の動作状態を前記不可能状態から前記可能状態に移行させる第3の状態移行部と、を備え、
    前記第1の状態移行部は、前記第1の外部装置から前記特定信号が受信された後に、前記操作部を介した前記所定操作が受け付けられなくても、前記通信装置の動作状態を前記不可能状態から前記可能状態に移行させる、請求項8から13のいずれか一項に記載の通信装置。
  15. 前記通信装置は、さらに、
    所定条件が満たされる場合に、前記無線インターフェースの動作モードを第1のモードから第2のモードに移行させるモード移行部であって、前記第1のモードは、前記無線インターフェースが前記特定信号を解釈不可能なモードであり、前記第2のモードは、前記無線インターフェースが前記特定信号を解釈可能なモードである、前記モード移行部を備え、
    前記第1の状態移行部は、前記無線インターフェースの動作モードが前記第2のモードである状況において、前記第1の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を前記不可能状態から前記可能状態に移行させ、
    前記無線インターフェースの動作モードが前記第1のモードである状況において、前記第1の外部装置から前記特定信号が受信されても、前記通信装置の動作状態は前記不可能状態から前記可能状態に移行されない、請求項10から14のいずれか一項に記載の通信装置。
  16. 前記通信装置は、さらに、
    メモリと、
    前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を前記メモリに記憶する記憶制御部と、を備え、
    前記メモリ内に前記接続情報が記憶されていない状況において、前記通信装置の電源がONされる場合に、前記所定条件が満たされ、
    前記メモリ内に前記接続情報が記憶されている状況において、前記通信装置の電源がONされる場合に、前記所定条件が満たされない、請求項7又は15に記載の通信装置。
  17. 前記通信装置は、さらに、
    操作部を備え、
    前記メモリ内に前記接続情報が記憶されている状況において、前記操作部を介した特定操作が受け付けられる場合に、前記所定条件が満たされる、請求項16に記載の通信装置。
  18. 前記第2の外部装置は、前記第1の外部装置とは異なる装置であって、無線ネットワークの親局として動作すべき親局装置であり、
    前記確立部は、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立して、前記通信装置を前記無線ネットワークに子局として参加させる、請求項1から17のいずれか一項に記載の通信装置。
  19. 前記接続情報は、前記第2の外部装置から受信される受信情報を認証するための認証情報を含む、請求項1から18のいずれか一項に記載の通信装置。
  20. 前記通信装置は、さらに、
    前記認証応答が前記第1の外部装置に送信された後に、前記通信装置をWi-Fi規格に従ったEnrolleeとして動作させる動作制御部であって、前記第1の外部装置は、前記Wi-Fi規格に従ったConfiguratorとして動作する、前記動作制御部を備える、請求項1から19のいずれか一項に記載の通信装置。
  21. 通信装置のためのコンピュータプログラムであって、
    前記通信装置のコンピュータを、以下の各部、即ち、
    第1の外部装置から、前記通信装置の無線インターフェースを介して、特定信号を受信する特定信号受信部と、
    前記第1の外部装置から前記特定信号が受信された後に、公開鍵を用いて得られる特定情報を前記通信装置の出力部に出力させる第1の出力制御部であって、前記特定情報が出力されることによって、前記公開鍵が前記第1の外部装置によって取得される、前記第1の出力制御部と、
    前記特定情報が出力された後に、前記第1の外部装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
    前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する認証応答送信部と、
    前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
    前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
    として機能させる、コンピュータプログラム。
  22. 通信装置のためのコンピュータプログラムであって、
    前記通信装置のコンピュータを、以下の各部、即ち、
    第1の外部装置から、前記通信装置の無線インターフェースを介して、特定信号を受信する特定信号受信部と、
    前記第1の外部装置から前記特定信号が受信された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる第1の状態移行部であって、前記不可能状態は、前記第1の外部装置から認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記第1の状態移行部と、
    前記第1の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
    前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
    前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
    前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
    として機能させる、コンピュータプログラム。
JP2022156177A 2018-03-30 2022-09-29 通信装置と通信装置のためのコンピュータプログラム Active JP7359273B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022156177A JP7359273B2 (ja) 2018-03-30 2022-09-29 通信装置と通信装置のためのコンピュータプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018068817A JP7151131B2 (ja) 2018-03-30 2018-03-30 通信装置と通信装置のためのコンピュータプログラム
JP2022156177A JP7359273B2 (ja) 2018-03-30 2022-09-29 通信装置と通信装置のためのコンピュータプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018068817A Division JP7151131B2 (ja) 2018-03-30 2018-03-30 通信装置と通信装置のためのコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2022177276A true JP2022177276A (ja) 2022-11-30
JP7359273B2 JP7359273B2 (ja) 2023-10-11

Family

ID=68054347

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018068817A Active JP7151131B2 (ja) 2018-03-30 2018-03-30 通信装置と通信装置のためのコンピュータプログラム
JP2022156177A Active JP7359273B2 (ja) 2018-03-30 2022-09-29 通信装置と通信装置のためのコンピュータプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018068817A Active JP7151131B2 (ja) 2018-03-30 2018-03-30 通信装置と通信装置のためのコンピュータプログラム

Country Status (2)

Country Link
US (4) US10719280B2 (ja)
JP (2) JP7151131B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7257744B2 (ja) * 2018-04-25 2023-04-14 キヤノン株式会社 通信装置、制御方法、及びプログラム
JP7296701B2 (ja) * 2018-09-06 2023-06-23 キヤノン株式会社 通信装置、制御方法、およびプログラム
JP7262949B2 (ja) * 2018-09-11 2023-04-24 キヤノン株式会社 通信装置、通信方法及びプログラム
US11197071B2 (en) 2019-10-24 2021-12-07 Sling Media Pvt Ltd Methods and systems for automated media device communications configuration

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017069721A (ja) * 2015-09-29 2017-04-06 ブラザー工業株式会社 通信機器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4657393A (en) * 1983-12-29 1987-04-14 Robotic Vision Systems, Inc. Pattern optimization when measuring depth to a surface using lens focusing
SG110121A1 (en) * 2003-09-10 2005-04-28 Asml Netherlands Bv Method for exposing a substrate and lithographic projection apparatus
US20140173289A1 (en) * 2011-08-25 2014-06-19 Siemens Industry, Inc. Mobile identity provider with two factor authentication
JP6548490B2 (ja) 2015-07-21 2019-07-24 キヤノン株式会社 通信装置、共有方法、および、プログラム
US10355730B1 (en) * 2015-07-25 2019-07-16 Gary M. Zalewski Wireless coded communication (WCC) devices with power harvesting power sources for processing internet purchase transactions
JP2017069903A (ja) * 2015-10-02 2017-04-06 キヤノン株式会社 ログイン処理実行方法、プログラム、及び携帯端末
US9819674B2 (en) * 2015-10-29 2017-11-14 Ricoh Company, Ltd. System, apparatus and method for secure operation of image forming device
JP6789628B2 (ja) * 2015-12-18 2020-11-25 キヤノン株式会社 通信装置、制御方法、および、プログラム
US10613213B2 (en) * 2016-05-13 2020-04-07 Google Llc Systems, methods, and devices for utilizing radar with smart devices
JP6776023B2 (ja) 2016-06-30 2020-10-28 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP6794191B2 (ja) 2016-09-02 2020-12-02 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP6702833B2 (ja) 2016-09-15 2020-06-03 キヤノン株式会社 通信装置、通信装置の制御及びプログラム
US10701745B2 (en) * 2016-12-28 2020-06-30 Intel IP Corporation Secure ad hoc network access

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017069721A (ja) * 2015-09-29 2017-04-06 ブラザー工業株式会社 通信機器

Also Published As

Publication number Publication date
US20230280948A1 (en) 2023-09-07
JP7359273B2 (ja) 2023-10-11
JP7151131B2 (ja) 2022-10-12
US11347448B2 (en) 2022-05-31
US20190303065A1 (en) 2019-10-03
JP2019180036A (ja) 2019-10-17
US11635925B2 (en) 2023-04-25
US11960780B2 (en) 2024-04-16
US20200326895A1 (en) 2020-10-15
US20220283756A1 (en) 2022-09-08
US10719280B2 (en) 2020-07-21

Similar Documents

Publication Publication Date Title
JP7052496B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7091781B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7359273B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7183559B2 (ja) プリンタとプリンタのためのコンピュータプログラム
JP7414100B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7363304B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7476948B2 (ja) 通信装置、通信装置のためのコンピュータプログラム、及び、第1の外部装置のためのコンピュータプログラム
JP7392776B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2024019266A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7294489B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7419728B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7315066B2 (ja) 通信装置と通信装置のためのコンピュータプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221020

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230911

R150 Certificate of patent or registration of utility model

Ref document number: 7359273

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150