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

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

Info

Publication number
JP2021057760A
JP2021057760A JP2019179400A JP2019179400A JP2021057760A JP 2021057760 A JP2021057760 A JP 2021057760A JP 2019179400 A JP2019179400 A JP 2019179400A JP 2019179400 A JP2019179400 A JP 2019179400A JP 2021057760 A JP2021057760 A JP 2021057760A
Authority
JP
Japan
Prior art keywords
external device
communication device
unit
state
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.)
Granted
Application number
JP2019179400A
Other languages
English (en)
Other versions
JP7363304B2 (ja
Inventor
武志 柴田
Takeshi Shibata
武志 柴田
柴田 寛
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 JP2019179400A priority Critical patent/JP7363304B2/ja
Priority to EP20198659.3A priority patent/EP3799389A1/en
Priority to CN202011044635.3A priority patent/CN112584381A/zh
Priority to US17/036,049 priority patent/US11469900B2/en
Publication of JP2021057760A publication Critical patent/JP2021057760A/ja
Priority to JP2023173690A priority patent/JP2023168594A/ja
Application granted granted Critical
Publication of JP7363304B2 publication Critical patent/JP7363304B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/327Initiating, continuing or ending a single-mode communication; Handshaking therefor
    • H04N1/32765Initiating a communication
    • H04N1/32771Initiating a communication in response to a request, e.g. for a particular document
    • H04N1/32778Initiating a communication in response to a request, e.g. for a particular document using a mark-sheet or machine-readable code request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/77Graphical identity

Abstract

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

Description

本明細書では、外部装置との無線接続を確立可能な通信装置に関する技術を開示する。
特許文献1には、スマートフォンを利用して、カメラとAPとの間の無線接続を確立するための技術が開示されている。カメラは、ユーザから操作を受け付けることに応じて、通信パラメータの設定を行うための情報を含むQRコード(登録商標)を表示し、検索信号の受信の監視を開始する。スマートフォンは、カメラに表示されたQRコードを読み取ることによって、通信パラメータの設定を行うための情報を取得し、検索信号をカメラに送信する。カメラは、スマートフォンから検索信号を受信する場合に、検索信号に対する応答をスマートフォンに送信する。スマートフォンは、カメラから応答が受信される場合に、取得済みの情報を利用して通信パラメータを設定し、設定済みの通信パラメータをカメラに送信する。また、スマートフォンは、同様の処理をAPと実行して、通信パラメータをAPに送信する。これにより、カメラは、受信済みの通信パラメータを利用して、APとの無線接続を確立することができる。
特開2017−28454号公報 特開2018−6983号公報 特開2018−37978号公報
「Device Provisioning Protocol Specification Version 1.1」 Wi-Fi Alliance, 2018年
本明細書では、通信装置と外部装置との間に無線接続を確立させるための新規な技術を提供する。
本明細書によって開示される通信装置は、出力部と、無線インターフェースと、第1の外部装置から、前記無線インターフェースを介して、第1の特定信号を受信する第1の特定信号受信部と、前記第1の外部装置から前記第1の特定信号が受信される場合に、第1の公開鍵を用いて得られる第1の特定情報を前記出力部に出力させる第1の出力制御部であって、前記第1の特定情報が出力されることによって、前記第1の公開鍵が前記第1の外部装置によって取得される、前記第1の出力制御部と、前記第1の公開鍵を取得した前記第1の外部装置から、前記無線インターフェースを介して、前記第1の公開鍵が利用された第1の認証要求を受信する第1の認証要求受信部と、前記第1の外部装置から前記第1の認証要求が受信される場合に、前記無線インターフェースを介して、第1の認証応答を前記第1の外部装置に送信する第1の認証応答送信部と、前記第1の認証応答が前記第1の外部装置に送信される場合に、前記無線インターフェースを介して、前記第1の外部装置との第1の無線接続を確立する第1の確立部と、を備えていてもよい。
上記の構成によると、通信装置は、第1の外部装置から第1の特定信号を受信する場合に、第1の公開鍵を用いて得られる第1の特定情報を出力する。これにより、第1の公開鍵が第1の外部装置によって取得される。そして、通信装置は、第1の外部装置から第1の公開鍵が利用された第1の認証要求を受信し、第1の認証応答を第1の外部装置に送信し、第1の外部装置との第1の無線接続を確立する。このように、新規な手法を利用して、通信装置と第1の外部装置との間に無線接続を確立させることができる。
また、本明細書によって開示される通信装置は、無線インターフェースと、第1の外部装置から、前記無線インターフェースを介して、第1の特定信号を受信する第1の特定信号受信部と、前記第1の外部装置から前記第1の特定信号が受信される場合に、前記通信装置の動作状態を応答不可能状態から第1の応答可能状態に移行させる第1の状態移行部であって、前記応答不可能状態は、認証応答を送信しない状態であり、前記第1の応答可能状態は、前記無線インターフェースに割り当てられている第1のMACアドレスを送信先のMACアドレスとして含む第1の認証要求を受信することに応じて、第1の認証応答を送信する状態である、前記第1の状態移行部と、前記第1の外部装置から、前記無線インターフェースを介して、前記第1の認証要求を受信する第1の認証要求受信部と、前記通信装置の動作状態が前記第1の応答可能状態に移行された後に、前記第1の外部装置から前記第1の認証要求が受信される場合に、前記無線インターフェースを介して、前記第1の認証応答を前記第1の外部装置に送信する第1の認証応答送信部と、前記第1の認証応答が前記第1の外部装置に送信される場合に、前記無線インターフェースを介して、前記第1の外部装置との第1の無線接続を確立する第1の確立部と、を備えていてもよい。
上記の構成によると、通信装置は、第1の外部装置から第1の特定信号を受信する場合に、第1の応答可能状態に移行する。これにより、通信装置は、第1の外部装置から第1の認証要求を受信する場合に、第1の認証応答を第1の外部装置に送信することができる。このために、通信装置は、第1の外部装置との第1の無線接続を確立することができる。このように、新規な手法を利用して、通信装置と第1の外部装置との間に無線接続を確立させることができる。
上記の通信装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。また、上記の通信装置によって実行される方法も新規で有用である。また、上記の通信装置と他の装置(例えば第1の外部装置)とを備える通信システムも、新規で有用である。
通信システムの構成を示す。 プリンタとAPとの間にWi−Fi接続が確立されるケースAと、プリンタと端末との間にWi−Fi接続が確立されるケースBと、のそれぞれの概略を説明するための説明図を示す。 Bootstrappingの処理のシーケンス図を示す。 Authenticationの処理のシーケンス図を示す。 Configurationの処理のシーケンス図を示す。 Network Accessの処理のシーケンス図を示す。 ケースBのシーケンス図を示す。 Bootstrappingの処理のフローチャートを示す。 ケースAのシーケンス図を示す。 ケースBのシーケンス図を示す。 プリンタと端末との間にWi−Fi接続が確立されるケースCのシーケンス図を示す。
(通信システム2の構成;図1)
図1に示されるように、通信システム2は、AP(Access Pointの略)6と、端末10と、プリンタ100と、を備える。本実施例では、端末10のユーザが、端末10を利用してプリンタ100とAP6との間にWi−Fi方式に従った無線接続(以下では「Wi−Fi接続」と記載する)を確立させるケースと、端末10とプリンタ100との間に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によって策定されたWFD(Wi-Fi Directの略)方式及びDPP(Device Provisioning Protocolの略)方式をサポートしている。
WFD方式は、Wi−Fi Allianceによって作成された規格書「Wi-Fi Peer-to-Peer (P2P) Technical Specification Version1.1」に記述されている接続方式である。WFDでは、無線ネットワークの親局として動作するGroup Owner状態(以下では「G/O状態」と呼ぶ)、及び、無線ネットワークの子局として動作するクライアント状態(以下では「CL状態」と呼ぶ)が定義されている。
DPP方式は、Wi−Fi Allianceによって作成された規格書である「Device Provisioning Protocol Specification Version 1.1」に記述されており、端末10を利用して一対のデバイス(例えば、プリンタ100とAP6、又は、プリンタ100と端末10)の間に容易にWi−Fi接続を確立させるための無線通信方式である。
(端末20及び端末30の構成)
端末20は、端末10と同様の構成を備える。ただし、端末20は、WFD方式をサポートしているが、DPP方式をサポートしていない。端末30は、端末10と同様の構成を備え、WFD方式及びDPP方式をサポートしている。
(プリンタ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は、WFD方式及びDPP方式をサポートしている。また、Wi−FiI/F116には、2個のMACアドレス「MACa」及び「MACb」が割り当てられている。「MACa」は、AP6とのWi−Fi接続を確立するために利用されるMACアドレスである。「MACb」は、端末10とのWi−Fi接続を確立するために利用されるMACアドレスである。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ134は、さらに、MACアドレス「MACa」と公開鍵PPK1aと秘密鍵psk1aとを関連付けて記憶していると共に、MACアドレス「MACb」と公開鍵PPK1bと秘密鍵psk1bとを関連付けて記憶している。公開鍵PPK1a及び秘密鍵psk1aは、AP6とのWi−Fi接続を確立するために利用される情報である。公開鍵PPK1b及び秘密鍵psk1bは、端末10とのWi−Fi接続を確立するために利用される情報である。
(本実施例の概要;図2)
続いて、図2を参照して、本実施例の概要を説明する。AP6もDPP方式をサポートしている。本実施例では、ケースAにおいて、各デバイス6,10,100がDPP方式に従った通信を実行することによって、AP6とプリンタ100との間にWi−Fi接続を確立することを実現する。また、ケースBにおいて、端末10及びプリンタ100がDPP方式及びWFD方式に従った通信を実行することによって、端末10とプリンタ100との間にWi−Fi接続を確立することを実現する。以下では、理解の容易化のために、各デバイスのCPU(例えばCPU132等)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えばプリンタ100)を主体として記載する。
(ケースAの概要)
まず、ケースAの概要を説明する。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に送信する。
次いで、端末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に送信する。
T35では、プリンタ100及びAP6は、第1及び第2のCOを利用して、DPP方式のNetwork Access(以下では「NA」と記載する)を実行する。NAは、Wi−Fi接続を確立するための接続キーをプリンタ100及びAP6の間で共有するための処理である。そして、プリンタ100及びAP6は、4way−handshakeの通信を実行する。4way−handshakeの通信の少なくとも一部の過程において、プリンタ100及びAP6は、共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、プリンタ100とAP6との間にWi−Fi接続が確立される。これにより、プリンタ100は、AP6によって形成される無線ネットワークに子局として参加することができ、この結果、AP6を介して、当該無線ネットワークに参加している他のデバイスとの通信を実行することができる。なお、変形例では、プリンタ100及びAP6は、4way−handshakeの通信に代えて、SAE(Simultaneous Authentication of Equalsの略、通称「Dragonfly」)の通信を実行してもよい。
DPP方式では、プリンタ100とAP6との間にWi−Fi接続を確立させるために、ユーザは、AP6が親局として動作する無線ネットワークの情報(例えばSSID(Service Set Identifierの略)、パスワード等)をプリンタ100に入力する必要がない。従って、ユーザは、プリンタ100とAP6との間のWi−Fi接続を容易に確立させることができる。
(ケースBの概要)
続いて、ケースBの概要を説明する。T40では、端末10は、WFD方式のProvision Discorvery(以下では「PD」と記載する)をプリンタ100と実行する。当該PDは、WFD方式に従った通信の開始を端末10とプリンタ100との間で共有するための処理である。
T45では、端末10は、WFD方式のG/O Negotiation(以下では「GN」と記載する)をプリンタ100と実行する。当該GNは、端末10及びプリンタ100のどちらがG/O状態になるのかを決定するための処理である。
T50では、端末10は、DPP方式のBSをプリンタ100と実行する。当該BSは、後述のT55のAuthで利用される情報をプリンタ100から端末10に提供する処理である。
T55では、端末10は、T50のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ100と実行する。当該Authは、端末10及びプリンタ100のそれぞれが通信相手を認証するための処理である。
T60では、端末10は、DPP方式のConfigをプリンタ100と実行する。当該Configは、端末10とプリンタ100との間のWi−Fi接続を確立するための情報を通信するための処理である。端末10及びプリンタ100のうちの一方から他方にCOが送信される。
T65では、端末10は、T60で通信されたCOを利用して、プリンタ100とのWi−Fi接続を確立する。
(ケースAの各処理;図3〜図6)
続いて、図3〜図6を参照して、図2のケースAのT20〜T35において実行される各処理の詳細を説明する。T5〜T15の処理は、プリンタ100に代えてAP6が利用される点を除いて、T20〜T30の処理と同様であるので、その詳細な説明を省略する。以下の処理では、端末10及びプリンタ100によって実行される全ての通信は、Wi−FiI/F16,116を介して実行される。このために、「Wi−FiI/F16(又は116)を介して」という記載を省略する。
(T20のBootstrapping(BS);図3)
まず、図3を参照して、図2のT20のBSの処理を説明する。プリンタ100は、T120において、不可能状態からAP用DPP可能状態に移行する。不可能状態は、Wi−FiI/F116が、端末10からDPP Authentication Request(以下では「AReq」と記載する)(後述の図4のT210参照)を受信しても、DPP Authentication Response(以下では「ARes」と記載する)(後述のT220参照)を送信しない状態である。AP用DPP可能状態は、Wi−FiI/F116が、端末10から、AP6とのWi−Fi接続を確立するためのMACアドレス「MACa」を送信先のMACアドレスとして含むAReqを受信することに応じて、AResを端末10に送信する状態である。即ち、プリンタ100は、不可能状態からAP用DPP可能状態に移行することによって、Authを実行可能な状態になる。
次いで、プリンタ100は、T122において、QRコードを表示部114に表示させる。当該QRコードは、メモリ134に予め記憶されている公開鍵PPK1aと、メモリ134に予め記憶されているチャネルリストと、MACアドレス「MACa」と、がコード化されることによって得られるコード画像である。チャネルリストは、Authで利用されるべき複数個の通信チャネルの値のリストである。当該QRコードは、T122の処理が実行される際にプリンタ100によって生成されてもよいし、プリンタ100の出荷段階からメモリ134に予め記憶されていてもよい。この点は、後述の図7のT522のQRコードについても同様である。
端末10によって実行される以降の各処理は、アプリ40によって実現される。端末10は、T132において、カメラ15を利用して、T122でプリンタ100に表示されたQRコードを撮影する。そして、端末10は、T134において、撮影済みのQRコードをデコードして、公開鍵PPK1aとチャネルリストとMACアドレス「MACa」とを取得する。T130の処理が終了すると、図2のT20のBSの処理が終了する。
(T25のAuthentication(Auth);図4)
続いて、図4を参照して、図2のT25のAuthの処理を説明する。端末10は、T200において、端末10の公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、端末10は、T202において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、図3のT134で取得されたプリンタ100の公開鍵PPK1aと、を用いて、共有鍵SK1を生成する。そして、端末10は、T204において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。
T210では、端末10は、図3のT134で取得されたMACアドレス「MACa」を送信先として、AReqをプリンタ100に送信する。AReqは、認証の実行をプリンタ100に要求する信号である。ここで、端末10は、T134で取得されたチャネルリスト内の複数個の通信チャネルを順次利用して、AReqをプリンタ100に送信することを繰り返す。当該AReqは、T200で生成された端末10の公開鍵TPK1と、T204で生成された暗号化データED1と、端末10のcapabilityと、を含む。
capabilityは、DPP方式のConfiguratorのみとして動作可能であることを示す値と、DPP方式のEnrolleeのみとして動作可能であることを示す値と、Configurator及びEnrolleeのどちらとしても動作可能であることを示す値と、のいずれか1個の値を含む。Configuratorは、Config(図2のT30)において、COをEnrolleeに送信するデバイスを意味する。Enrolleeは、Configにおいて、ConfiguratorからCOを受信するデバイスを意味する。上記のように、図2のケースAでは、端末10が第1又は第2のCOを生成してAP6又はプリンタ100に送信する。従って、端末10のcapabilityは、Configuratorのみとして動作可能であることを示す値を含む。
プリンタ100は、T210において、端末10からAReqを受信する。上記のように、当該AReqは、プリンタ100のMACアドレス「MACa」を送信先として送信される。従って、プリンタ100は、端末10から当該AReqを適切に受信することができる。
また、プリンタ100は、図3のT120でAP用DPP可能状態に移行すると、チャネルリスト内の複数個の通信チャネルのうちの1個の通信チャネルが利用されたAReqを受信することを監視する。上記のように、T210のAReqは、チャネルリスト内の複数個の通信チャネルを順次利用して送信される。従って、プリンタ100は、端末10から当該AReqを適切に受信することができる。
次いで、プリンタ100は、AReqの送信元(即ち端末10)を認証するための以下の処理を実行する。具体的には、まず、プリンタ100は、T212において、ECDHに従って、当該AReq内の端末10の公開鍵TPK1と、メモリ134内に予め記憶されているプリンタ100の秘密鍵psk1aと、を用いて、共有鍵SK1を生成する。ここで、T202で端末10によって生成される共有鍵SK1と、T212でプリンタ100によって生成される共有鍵SK1と、は同じである。従って、プリンタ100は、T204において、生成済みの共有鍵SK1を用いて、当該AReq内の暗号化データED1を適切に復号することができ、この結果、ランダム値RV1を取得することができる。プリンタ100は、暗号化データED1の復号が成功する場合には、当該AReqの送信元がプリンタ100で表示されたQRコードを撮影したデバイスであると判断し、即ち、認証が成功したと判断し、T216以降の処理を実行する。一方、プリンタ100は、仮に、暗号化データED1の復号が成功しない場合には、当該AReqの送信元がプリンタ100で表示されたQRコードを撮影したデバイスでないと判断し、即ち、認証が失敗したと判断し、T216以降の処理を実行しない。
プリンタ100は、T216において、プリンタ100の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。なお、変形例では、公開鍵PPK2及び秘密鍵psk2は、メモリ134に予め記憶されていてもよい。次いで、プリンタ100は、T217において、ECDHに従って、T210のAReq内の端末10の公開鍵TPK1と、生成済みのプリンタ100の秘密鍵psk2と、を用いて、共有鍵SK2を生成する。そして、プリンタ100は、T218において、生成済みの共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
T220では、プリンタ100は、AResを端末10に送信する。当該AResは、T216で生成されたプリンタ100の公開鍵PPK2と、T218で生成された暗号化データED2と、プリンタ100のcapabilityと、を含む。上述したように、図2のケースAでは、プリンタ100は、端末10から第2のCOを受信する。従って、プリンタ100のcapabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
端末10は、T220において、プリンタ100からAResを受信することに応じて、当該AResの送信元(即ちプリンタ100)を認証するための以下の処理を実行する。具体的には、まず、端末10は、T222において、ECDHに従って、T200で生成された端末10の秘密鍵tsk1と、当該ARes内のプリンタ100の公開鍵PPK2と、を用いて、共有鍵SK2を生成する。ここで、T217でプリンタ100によって生成される共有鍵SK2と、T222で端末10によって生成される共有鍵SK2と、は同じである。従って、端末10は、T224において、生成済みの共有鍵SK2を用いて、当該ARes内の暗号化データED2を適切に復号することができ、この結果、ランダム値RV1及びRV2を取得することができる。端末10は、暗号化データED2の復号が成功する場合には、当該AResの送信元が撮影済みのQRコードを表示したデバイスであると判断し、即ち、認証が成功したと判断し、T230以降の処理を実行する。一方、端末10は、仮に、暗号化データED2の復号が成功しない場合には、当該AResの送信元が撮影済みのQRコードを表示したデバイスでないと判断し、即ち、認証が失敗したと判断し、T230以降の処理を実行しない。
T230において、端末10は、Confirmをプリンタ100に送信する。Confirmは、端末10がConfiguratorとして動作し、かつ、プリンタ100がEnrolleeとして動作することを示す情報を含む。この結果、T232において、Configuratorとして動作することが端末10によって決定され、T234において、Enrolleeとして動作することがプリンタ100によって決定される。T234の処理が終了すると、図4の処理が終了する。
(T30のConfiguration(Config);図5)
続いて、図5を参照して、図2のT30のConfigの処理を説明する。T300では、プリンタ100は、DPP Configuration Request(以下では「CReq」と記載する)を端末10に送信する。当該CReqは、COの送信を要求する信号である。
端末10は、T300において、プリンタ100からCReqを受信する。この場合、端末10は、T301において、端末10のメモリ(図示省略)から、グループID「Group1」と公開鍵TPK2と秘密鍵tsk2とを取得する。上述したように、端末10は、図2のT15において、AP6とのConfigを実行済みであり、この際に、グループID「Group1」と公開鍵TPK2と秘密鍵tsk2とを生成してメモリに記憶する。グループID「Group1」は、プリンタ100とAP6との間のWi−Fi接続が確立されることによって形成される無線ネットワークを識別する情報である。T301では、端末10は、図2のT15で記憶された各情報を取得する。次いで、端末10は、T302において、第2のCOを生成する。具体的には、端末10は、以下の各処理を実行する。
端末10は、端末10の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10は、ハッシュ値HVと、グループID「Group1」と、図4のT220のARes内のプリンタ100の公開鍵PPK2と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、端末10は、ECDSA(Elliptic Curve Digital Signature Algorithmの略)に従って、端末10の秘密鍵tsk2を用いて、生成済みの特定値を暗号化することによって、電子署名DS1を生成する。この結果、端末10は、ハッシュ値HVと、グループID「Group1」と、プリンタ100の公開鍵PPK2と、電子署名DS1と、を含むプリンタ用Signed−Connector(以下では、Signed−Connectorのことを「SC」と記載する)を生成することができる。そして、端末10は、プリンタ用SCと、端末10の公開鍵TPK2と、を含む第2のCOを生成する。
T310では、端末10は、第2のCOを含むDPP Configuration Response(以下では「CRes」と記載する)をプリンタ100に送信する。
プリンタ100は、T310において、端末10からCResを受信する。この場合、プリンタ100は、当該CRes内の第2のCOをメモリ134に記憶する。T310の処理が終了すると、図5の処理が終了する。
(T35のNetwork Access(NA);図6)
続いて、図6を参照して、プリンタ100とAP6との間で実行される図2のT35のNAの処理を説明する。上記のように、図2のT20〜T30と同様に、図2のT5〜T15の処理が端末10及びAP6の間で実行済みである。ただし、AP6は、図3のT120及びT122の処理を実行しない。AP6は、AP6の公開鍵APK1及び秘密鍵ask1を予め記憶している。そして、AP6の公開鍵APK1と、AP6のチャネルリストと、AP6のMACアドレスと、をコード化することによって得られるQRコードが、AP6の筐体に貼り付けられている。端末10が当該QRコードを撮影することによって、端末10及びAP6の間でT134以降の各処理と同様の各処理が実行される。この結果、AP6は、AP6の公開鍵APK2及び秘密鍵ask2を記憶し(図4のT216参照)、さらに、端末10から第1のCOを受信する(図5のT310参照)。第1のCOは、AP用SCと、端末10の公開鍵TPK2と、を含む。当該公開鍵TPK2は、第2のCOに含まれる公開鍵TPK2と同じである。また、AP用SCは、ハッシュ値HVと、グループID「Group1」と、AP6の公開鍵APK2と、電子署名DS2と、を含む。当該ハッシュ値HV及び当該グループIDは、それぞれ、第2のCOに含まれるハッシュ値HV及びグループIDと同じである。電子署名DS2は、ハッシュ値HVとグループID「Group1」と公開鍵APK2との組み合わせをハッシュ化することによって得られる特定値が端末10の秘密鍵tsk2によって暗号化された情報であり、第2のCOに含まれる電子署名DS1とは異なる値である。
プリンタ100は、T400において、プリンタ用SCを含むDPP Peer Discovery Request(以下では「DReq」と記載する)をAP6に送信する。当該DReqは、認証の実行とAP用SCの送信とをAP6に要求する信号である。
AP6は、T400において、プリンタ100からDReqを受信することに応じて、DReqの送信元(即ちプリンタ100)、及び、DReq内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)を認証するための処理を実行する。具体的には、AP6は、T402において、まず、受信済みのプリンタ用SC内のハッシュ値HV及びグループID「Group1」が、それぞれ、記憶済みの第1のCOに含まれるAP用SC内のハッシュ値HV及びグループID「Group1」に一致するのか否かに関する第1のAP判断処理を実行する。図6のケースでは、AP6は、第1のAP判断処理で「一致する」と判断するので、DReqの送信元(即ちプリンタ100)の認証が成功したと判断する。なお、受信済みのプリンタ用SC内のハッシュ値HVと、記憶済みの第1のCOに含まれるAP用SC内のハッシュ値HVと、が一致するということは、プリンタ用SC及びAP用SCが、同じ装置(即ち、端末10)によって生成されたことを意味する。従って、AP6は、受信済みのプリンタ用SCの生成元(即ち、端末10)の認証が成功したとも判断する。さらに、AP6は、記憶済みの第1のCOに含まれる端末10の公開鍵TPK2を用いて、受信済みのプリンタ用SC内の電子署名DS1を復号する。図6のケースでは、電子署名DS1の復号が成功するので、AP6は、電子署名DS1を復号することによって得られた特定値と、受信済みのプリンタ用SC内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のAP判断処理を実行する。図6のケースでは、AP6は、第2のAP判断処理で「一致する」と判断するので、DReq内の各情報の認証が成功したと判断し、T404以降の処理を実行する。第2のAP判断処理で「一致する」と判断されることは、第2のCOがプリンタ100に記憶された後に、受信済みのプリンタ用SC内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)が第三者によって改ざんされていないことを意味する。一方、第1のAP判断処理で「一致しない」と判断される場合、電子署名DS1の復号が失敗する場合、又は、第2のAP判断処理で「一致しない」と判断される場合には、AP6は、認証が失敗したと判断し、T404以降の処理を実行しない。
次いで、AP6は、T404において、ECDHに従って、取得済みのプリンタ100の公開鍵PPK2と、記憶済みのAP6の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CKを生成する。
T410では、AP6は、AP用SCを含むDPP Peer Discovery Response(以下では「DRes」と記載する)をプリンタ100に送信する。
プリンタ100は、T410において、AP6からDResを受信することに応じて、DResの送信元(即ちAP6)、及び、DRes内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)を認証するための処理を実行する。具体的には、プリンタ100は、T412において、まず、受信済みのAP用SC内のハッシュ値HV及びグループID「Group1」が、それぞれ、記憶済みの第2のCOに含まれるプリンタ用SC内のハッシュ値HV及びグループID「Group1」に一致するのか否かに関する第1のPR判断処理を実行する。図6のケースでは、プリンタ100は、第1のPR判断処理で「一致する」と判断するので、DResの送信元(即ちAP6)の認証が成功したと判断する。なお、受信済みのAP用SC内のハッシュ値HVと、記憶済みの第2のCOに含まれるプリンタ用SC内のハッシュ値HVと、が一致するということは、プリンタ用SC及びAP用SCが、同じ装置(即ち、端末10)によって生成されたことを意味する。従って、プリンタ100は、受信済みのAP用SCの生成元(即ち、端末10)の認証が成功したとも判断する。さらに、プリンタ100は、記憶済みの第2のCOに含まれる端末10の公開鍵TPK2を用いて、受信済みのAP用SC内の電子署名DS2を復号する。図6のケースでは、電子署名DS2の復号が成功するので、プリンタ100は、電子署名DS2を復号することによって得られた特定値と、受信済みのAP用SC内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のPR判断処理を実行する。図6のケースでは、プリンタ100は、第2のPR判断処理で「一致する」と判断するので、DRes内の各情報の認証が成功したと判断し、T414以降の処理を実行する。第2のPR判断処理で「一致する」と判断されることは、第1のCOがAP6に記憶された後に、AP用SC内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)が第三者によって改ざんされていないことを意味する。一方、第1のPR判断処理で「一致しない」と判断される場合、電子署名DS2の復号が失敗する場合、又は、第2のPR判断処理で「一致しない」と判断される場合には、プリンタ100は、認証が失敗したと判断し、T414以降の処理を実行しない。
プリンタ100は、T414において、ECDHに従って、記憶済みのプリンタ100の秘密鍵psk2と、受信済みのAP用SC内のAP6の公開鍵APK2と、を用いて、接続キーCKを生成する。ここで、T404でAP6によって生成される接続キーCKと、T414でプリンタ100によって生成される接続キーCKと、は同じである。これにより、Wi−Fi接続を確立するための接続キーCKがプリンタ100及びAP6の間で共有される。
接続キーCKがプリンタ100及びAP6の間で共有された後に、T420において、プリンタ100及びAP6は、接続キーCKを利用して、4way−handshakeの通信を実行する。この結果、プリンタ100とAP6との間にWi−Fi接続が確立される。なお、上述したように、プリンタ100は、プリンタ100のチャネルリストに含まれる複数個の通信チャネルのうちの1個の通信チャネルを利用して、端末10から図4のT210のAReqを受信する。即ち、プリンタ100は、プリンタ100と端末10との双方が利用可能な通信チャネルを利用して、端末10からT210のAReqを受信する。一方、T420のWi−Fi接続で利用されるチャネルは、AP6によって決定される。本実施例では、プリンタ100が図4のT210で端末10からAReqを受信するための通信チャネルと、プリンタ100がT420でWi−Fi接続をAP6と確立するための通信チャネルと、が異なる。ただし、変形例では、前者の通信チャネルと後者の通信チャネルとは同じでもよい。
(ケースBの各処理;図7)
続いて、図7を参照して、図2のケースBのT40〜T65において実行される各処理の詳細を説明する。
図2のT40のPDでは、端末10は、T500において、Provision Discorvery Request(以下では「PDReq」と記載する)をプリンタ100に送信する。PDReqは、WFD方式に従った通信の開始を要求する信号である。
プリンタ100は、T500において、端末10からPDReqを受信する。この場合、プリンタ100は、T502において、Provision Discorvery Response(以下では「PDRes」と記載する)を端末10に送信する。
図2のT45のGNでは、端末10は、T510において、G/O Negotiation Request(以下では「GNReq」と記載する)をプリンタ100に送信する。GNReqは、端末10のIntent値を含む。Intent値は、G/Oへのなり易さを示す値であり、所定の数値範囲(例えば1〜15)の中から予め決められている。
プリンタ100は、T510において、端末10からGNReqを受信する。この場合、プリンタ100は、T512において、G/O Negotiation Response(以下では「GNRes」と記載する)を端末10に送信する。GNResは、プリンタ100のIntent値を含む。
端末10及びプリンタ100のそれぞれは、自身のIntent値と通信相手のIntent値とを比較し、大きいIntent値を有するデバイスがG/O(即ち親局)になることを決定し、小さいIntent値を有するデバイスがCL(即ち子局)になること決定する。図7のケースでは、T514において、プリンタ100は、G/Oになることを決定し、T516において、端末10は、CLになることを決定する。
図2のT50のBSでは、プリンタ100は、T520において、不可能状態からWFD用DPP可能状態に移行する。WFD用DPP可能状態は、Wi−FiI/F116が、端末10から、端末10とのWi−Fi接続を確立するためのMACアドレス「MACb」を送信先のMACアドレスとして含むAReqを受信することに応じて、AResを端末10に送信する状態である。即ち、プリンタ100は、不可能状態からWFD用DPP可能状態に移行することによって、Authを実行可能な状態になる。
次いで、プリンタ100は、T522において、QRコードを表示部114に表示させる。当該QRコードは、公開鍵PPK1bとチャネルリストとMACアドレス「MACb」とがコード化されることによって得られるコード画像である。即ち、当該QRコードは、図3のT122で表示されるQRコードとは異なる。
T532及びT534は、T534において、公開鍵PPK1bとMACアドレス「MACb」とが取得される点を除くと、図3のT132及びT134と同様である。
図2のT55のAuthでは、図4のT200〜T230と同様の処理が実行される。ただし、いくつかの相違点が存在し、これらを以下に説明する。端末10は、T202において、公開鍵PPK1aに代えて、T534で取得された公開鍵PPK1bを利用する。端末10は、T210において、MACアドレス「MACa」に代えて、T534で取得されたMACアドレス「MACb」を送信先のアドレスとして含むAReqをプリンタ100に送信する。また、GNにおいてG/Oになることが決定されたデバイス(図7のケースではプリンタ100)がConfiguratorになり、CLになることが決定されたデバイス(図7のケースでは端末10)がEnrolleeになる。このために、T210のAReq内の端末10のcapabilityは、Configuratorではなく、Enrolleeのみとして動作可能であることを示す。
プリンタ100は、T212において、秘密鍵psk1aに代えて、秘密鍵psk1bを利用する。また、T220のARes内のcapabilityは、Enrolleeではなく、Configuratorのみとして動作可能であることを示す。
図4のT200〜T230と同様の処理が実行されると、端末10は、T632において、Enrolleeになることを決定する。また、プリンタ100は、T634において、Configuratorになることを決定する。
図2のT60のConfigでは、以下が実行される。上述したように、本ケースでは、端末10がEnrolleeになり(T632)、プリンタ100がConfiguratorになる(T634)。このために、Enrolleeである端末10は、T700において、CReqをプリンタ100に送信する。
プリンタ100は、T700において、端末10からCReqを受信する。この場合、プリンタ100は、T701において、プリンタ100がG/Oとして動作する無線ネットワークを識別する識別子であるSSID(Service Set Identifierの略)と、当該無線ネットワークで利用されるパスワードと、を生成する。次いで、プリンタ100は、T702において、SCを含むCOではなく、T701で生成されたSSID及びパスワードを含むCOを生成する。そして、プリンタ100は、T710において、生成済みのCOを端末10に送信する。
端末10は、T710において、プリンタ100からCOを受信する。これにより、端末10は、COに含まれるSSID及びパスワードを利用して、プリンタ100とのWi−Fi接続を確立することができる。
図2のT65のWi−Fi接続の確立では、T730に示されるように、端末10とプリンタ100との間で、Probe、Association、Authentication、4−Way Handshake等の各種通信が実行される。これらの通信の過程において、SSID及びパスワードの通信が実行され、G/Oであるプリンタ100は、パスワードの認証を実行する。当該認証が成功すると、端末10とプリンタ100との間にWi−Fi接続が確立される。上記のケースAでも説明したように、プリンタ100は、プリンタ100のチャネルリストに含まれる複数個の通信チャネルのうちの1個の通信チャネルを利用して、端末10からAReqを受信する。一方、T730のWi−Fi接続で利用されるチャネルは、G/Oによって決定される。本ケースでは、プリンタ100がG/Oになるので(T554)、プリンタ100は、AReqの受信に利用されたチャネルと同じチャネルを利用して、T730において、Wi−Fi接続を端末10と確立する。即ち、本実施例では、プリンタ100がT55で端末10からAReqを受信するための通信チャネルと、プリンタ100がT730でWi−Fi接続を端末10と確立するための通信チャネルと、が同じである。ただし、変形例では、前者の通信チャネルと後者の通信チャネルとは異なってもよい。
(プリンタ100のBootstrapping処理の詳細;図8)
続いて、図8を参照して、プリンタ100のCPU132によって実行されるBS処理を説明する。プリンタ100の電源がONされる場合に、図8の処理が開始される。
S100では、CPU132は、Wi−FiI/F116を介して、端末(例えば10)から、Probe Request(以下では「PRReq」と記載する)、又は、PDReqを受信することを監視する。CPU32は、端末からPRReq又はPDReqを受信する場合(S100でYES)に、S110に進む。
S110では、CPU132は、S100で受信された信号の送信元の端末とは異なるデバイスとのWi−Fi接続を確立するための処理(即ち、図8のS120以降の処理、及び、図3〜図7の処理)を実行中であるのか否かを判断する。CPU132は、当該処理を実行中であると判断する場合(S110でYES)には、S120以降の処理を実行することなく、S100に戻る。このように、S120〜S140の処理が実行されたことに起因して、或るデバイスとのWi−Fi接続を確立するための処理が実行中である場合には、当該Wi−Fi接続が確立されるまでに間に、他のデバイスからPRReq又はPDReqが受信されても(S100でYES)、S120〜S140の処理が実行されない。これにより、上記の或るデバイスとのWi−Fi接続を確立するための処理が他の処理によって妨げられるのを抑制することができ、この結果、プリンタ100は、上記の或るデバイスとのWi−Fi接続を適切に確立することができる。一方、CPU132は、Wi−Fi接続を確立するための処理を実行中でないと判断する場合(S110でNO)には、S120に進む。
S120では、CPU132は、S100で受信された信号が、SSID「DISPLAY」を含むPRReqであるのか否かを判断する。CPU32は、受信済みの信号が当該PRReqであると判断する場合(S120でYES)には、S122に進む。一方、CPU32は、受信済みの信号がPDReqであると判断する場合(S120でNO)には、S130に進む。
S122では、CPU132は、指示画面を表示する。指示画面は、ユーザがQRコードを表示するのか否かを指示するための画面であり、OKボタンとCANCELボタンとを含む。
S124では、CPU132は、S122で表示された指示画面内のOKボタンが選択されたのか否かを判断する。CPU132は、OKボタンが選択されたと判断する場合(124でYES)に、S126に進み、CANCELボタンが選択されたと判断する場合(124でNO)に、S126及びS128の処理を実行することなく、S100の処理に戻る。このように、本実施例では、指示画面が表示され、OKボタンが選択される場合には、AP用DPP可能状態への移行(S126)と、QRコードの表示(S128)と、が実行される。一方、CANCELボタンが選択される場合には、これらの処理が実行されない。このために、プリンタ100は、ユーザの意図に応じてQRコードを表示するのか否かを切り替えることができる。
S126では、CPU132は、AP用DPP可能状態に移行することをWi−FiI/F116に指示する。これにより、CPU132は、MACアドレス「MACa」を送信先のMACアドレスとして含むAReqの受信を待ち受ける状態になる。
S128では、CPU132は、公開鍵PPK1a、チャネルリスト、及び、MACアドレス「MACa」がコード化されることによって得られるQRコードを表示する。S128が終了すると、図8の処理が終了する。
また、S130では、CPU132は、PDReqに含まれるConfig Methods(以下では「CM」と記載する)のフィールドに記述されている情報を確認する。そして、CPU132は、CMが、文字列「DPP」を含むのか、文字列「Push Button」を含むのか、を判断する。ここで、CMが文字列「DPP」を含むということは、PDReqの送信元の端末が、DPP方式に従った通信を実行してWFD方式に従ったWi−Fi接続の確立を要求していることを意味する。また、CMが文字列「Push Button」を含むということは、PDReqの送信元の端末が、DPP方式を利用せずに、WFD方式に従ったWi−Fi接続の確立を要求していることを意味する。CPU132は、CMが文字列「DPP」を含むと判断する場合(S130でYES)には、S132に進み、CMが文字列「Push Button」を含むと判断する場合(S130でNO)には、S140に進む。
S132、S134、及び、これらの処理によって得られる効果は、S122及びS124と同様である。S136では、CPU132は、WFD用DPP可能状態に移行することをWi−FiI/F116に指示する。これにより、CPU132は、MACアドレス「MACb」を送信先のMACアドレスとして含むAReqの受信を待ち受ける状態になる。
S138では、CPU132は、公開鍵PPK1b、チャネルリスト、及び、MACアドレス「MACb」がコード化されることによって得られるQRコードを表示する。S138が終了すると、図8の処理が終了する。
また、S130でNOと判断される場合には、S132〜S138の処理が実行されず、S140が実行される。S140では、CPU32は、WPS(Wi-Fi Protected Setupの略)のPBC(Push Button Configurationの略)方式に従ったPBC画面を表示する。PBC画面は、WFD方式に従ったWi−Fi接続を確立するためのトリガとなるボタンを含む。
(ケースAの詳細;図9)
続いて、図9〜図11を参照して、図8の処理(さらには図3〜図7の処理)によって実現される具体的なケースを説明する。まず、図9を参照して、図2のケースA(即ち図3〜図6のケースA)の詳細を説明する。
端末10は、T800において、ユーザからアプリ40を起動するための操作を受け付けることに応じて、T802において、選択画面を表示する。選択画面は、プリンタ100とAP6との間にWi−Fi接続を確立させるためのボタンB1と、プリンタ100と端末10との間にWi−Fi接続を確立させるためのボタンB2と、を含む。例えば、端末10がAP6とのWi−Fi接続を確立中である場合には、ユーザは、ボタンB1を選択する。端末10は、T804において、ボタンB1の選択を受け付けることに応じて、T810において、SSID「DISPLAY」を含むPRReqをプリンタ100に送信する。
プリンタ100は、T810において、プリンタ100からPRReqを受信すると(図8のS100でYES)、T812において、指示画面を表示する(S110でNO、S120でYES、S122)。指示画面は、OKボタンB3とCANCELボタンB4とを含む。プリンタ100は、T814において、ユーザからOKボタンB3の選択を受け付けることに応じて(S124でYES)、T820において、AP用DPP可能状態に移行し(S126)、T822において、QRコードを表示する(S128)。T820及びT822の処理が、図3のT120及びT122の処理に対応する。
T824及びT826は、図3のT132及びT134と同様である。T830のAuthは、図4のAuthと同様である。プリンタ100は、T830のAuthが終了すると、T835において、QRコードの表示を終了する。
ここで、端末10とは異なる端末30において、T800〜T804と同様の動作が実行されると、プリンタ100は、T837において、端末30から、SSID「DISPLAY」を含むPRReqを受信する(S100でYES)。この場合、プリンタ100は、端末10とのWi−Fi接続を確立するための処理を実行中であるので(S110でYES)、QRコードを表示しない。
T840のConfig及びT850のNAは、図5のConfig及び図6のNAと同様である。これにより、プリンタ100は、AP6とのWi−Fi接続を確立する。例えば、端末10がAP6とのWi−Fi接続を確立中である場合には、プリンタ100は、同じAP6とのWi−Fi接続を確立することができる。このために、プリンタ100は、端末10から、AP6を介して、印刷対象の画像を表わす画像データを受信して、当該画像の印刷を実行することができる。
プリンタ100は、T850のNAが終了すると、T860において、AP用DPP可能状態から不可能状態に移行する。図示省略しているが、プリンタ100は、T820でAP用DPP可能状態に移行してから所定時間が経過してもAReqを受信しない場合にも、AP用DPP可能状態から不可能状態に移行する。
(ケースBの詳細;図10)
続いて、図10を参照して、図2のケースB(即ち図7のケースB)の詳細を説明する。T900及びT902は、図9のT800及びT802と同様である。
例えば、端末10がAP6とのWi−Fi接続を確立中でない場合には、ユーザは、ボタンB2を選択する。この場合、端末10は、T904において、ボタンB2の選択を受け付けることに応じて、T910において、文字列「DPP」が記述されたCMを含むPDReqをプリンタ100に送信する。
プリンタ100は、T910において、プリンタ100からPDReqを受信すると(図8のS100でYES)、T912において、PDResをプリンタ100に送信する。T910及びT912の処理が、図7のT500及びT502の処理に対応する。T914のGNは、図7のT510〜T516と同様である。
次いで、プリンタ100は、T916において、指示画面を表示する(S110でNO、S120でNO、S130でYES、S132)。プリンタ100は、T918において、ユーザからOKボタンB3の選択を受け付けると(S134でYES)、T920において、WFD用DPP可能状態に移行し(S136)、T922において、QRコードを表示する(S138)。T920及びT922の処理が、図7のT520及びT522の処理に対応する。
T924及びT926は、図7のT532及びT534と同様である。T930のAuthは、図7のAuthと同様である。プリンタ100は、T930のAuthが終了すると、T935において、QRコードの表示を終了する。
ここで、端末10とは異なる端末30において、T900〜T904と同様の動作が実行されると、プリンタ100は、T937において、端末30から、文字列「DPP」が記述されたCMを含むPDReqを受信する(S100でYES)。この場合、プリンタ100は、端末10とのWi−Fi接続を確立するための処理を実行中であるので(S110でYES)、QRコードを表示しない。
T940のConfig及びT950のWi−Fi接続の確立は、図7のT700〜T710のConfig及びT730のWi−Fi接続の確立と同様である。これにより、プリンタ100は、端末10とのWi−Fi接続を確立することができる。このために、プリンタ100は、端末10から、AP6を介さずに、印刷対象の画像を表わす画像データを受信して、当該画像の印刷を実行することができる。
プリンタ100は、T950のWi−Fi接続の確立が終了すると、T960において、DPP用DPP可能状態から不可能状態に移行する。図示省略しているが、プリンタ100は、T920でWFD用DPP可能状態に移行してから所定時間が経過してもAReqを受信しない場合にも、WFD用DPP可能状態から不可能状態に移行する。このように、プリンタ100が不可能状態に移行するので、プリンタ100がAreqの受信を待ち受ける処理を実行せずに済み、プリンタ100の処理負荷を軽減させ得る。
(ケースCの詳細;図11)
続いて、図11を参照して、ケースA及びケースBとは異なるケースCの詳細を説明する。ケースCでは、端末10ではなく、DPP方式をサポートしていない端末20が利用される。
端末20は、プリンタ100とのWi−Fi接続を確立するためのアプリを備える。当該アプリは、端末10のアプリ40とは異なるプログラムであって、DPP方式を利用せずに、WFD方式に従ってWi−Fi接続を確立するためのプログラムである。端末10は、T1000において、ユーザから当該アプリを起動するための操作を受け付けることに応じて、T1002において、問合画面を表示する。問合画面は、プリンタ100と端末10との間にWi−Fi接続を確立させるのか否かをユーザに問い合わせるメッセージと、OKボタンB5と、を含む。端末10は、T1004において、ボタンB5の選択を受け付けることに応じて、T1010において、文字列「Push Button」が記述されたCMを含むPDReqをプリンタ100に送信する。
プリンタ100は、T1010において、プリンタ100からPDReqを受信すると(図8のS100でYES)、T1012において、PDResをプリンタ100に送信する。T1014のGNは、図7のT510〜T516と同様である。即ち、ケースCでも、プリンタ100がG/Oになることが決定される(図7のT514)。
次いで、プリンタ100は、T1020において、PBC画面を表示する(S110でNO、S120でNO、S130でNO、S140)。PBC画面は、端末10とのWi−Fi接続を確立することを示すメッセージと、接続ボタンB6と、を含む。プリンタ100は、T1022において、ユーザから接続ボタンB6の選択を受け付けると、T1030において、WPSを端末20と実行する。WPSの過程において、G/Oであるプリンタ100は、SSID及びパスワードを生成し、それらの情報を端末10に送信する。
T1050のWi−Fi接続の確立は、図7のT730のWi−Fi接続の確立と同様である。これにより、プリンタ100は、端末10とのWi−Fi接続を確立することができる。このために、プリンタ100は、端末10から、AP6を介さずに、印刷対象の画像を表わす画像データを受信して、当該画像の印刷を実行することができる。
(本実施例の効果)
プリンタ100は、端末10から文字列「DPP」が記述されたCMを含むPDReqを受信する場合(図10のT910)に、WFD用DPP可能状態に移行し(T920)、公開鍵PPK1b等をコード化することによって得られるQRコードを表示する(T922)。これにより、公開鍵PPK1b等が端末10によって取得される(T926)。プリンタ100は、端末10から公開鍵PPK1bが利用されたAReqを受信する場合に、AResを端末10に送信することができる(T930)。このために、プリンタ100は、端末10とのWi−Fi接続を確立することができる(T950)。このように、新規な手法を利用して、プリンタ100と端末10との間にWi−Fi接続を確立させることができる。
例えば、プリンタ100に対する操作の知識を有するユーザは、プリンタ100に対する所定の操作(例えば設定画面における操作)を実行することによって、QRコードの表示とWFD用DPP可能状態への移行とをプリンタ100に実行させることができる。しかしながら、上記の知識に乏しいユーザは、上記の所定の操作を適切に実行することができない可能性がある。本実施例によると、プリンタ100は、端末10からPDReqを受信する場合に、ユーザによって上記の所定の操作が実行されなくても、QRコードの表示とWFD用DPP可能状態への移行とを実行する。このために、ユーザは、端末10のアプリ40を利用して、QRコードの表示とWFD用DPP可能状態への移行とをプリンタ100に容易に実行させることができる。
また、プリンタ100は、端末10から、PDReqとは異なるPRReqを受信する場合(図9のT810)に、AP用DPP可能状態に移行し(T820)、公開鍵PPK1a等をコード化することによって得られるQRコードを表示する(T822)。これにより、公開鍵PPK1a等が端末10によって取得される(T826)。プリンタ100は、端末10から公開鍵PPK1aが利用されたAReqを受信する場合に、AResを端末10に送信することができる(T830)。このために、プリンタ100は、AP6とのWi−Fi接続を確立することができる(T850)。このように、プリンタ100は、端末10からPDReqを受信するのかPRReqを受信するのかに応じて、即ち、端末10からの要求に応じて、適切なデバイス(即ちプリンタ100又はAP6)とのWi−Fi接続を確立することができる。
また、図10のケースBでは、プリンタ100は、T920において、MACアドレス「MACb」を送信先のMACアドレスとして含むAReqの受信を待ち受ける状態に移行し、T922において、MACアドレス「MACb」がコード化されたQRコードを表示する。この場合、プリンタ100は、仮に、MACアドレス「MACb」とは異なるMACアドレス「MACa」を送信先のMACアドレスとして含むAReqを受信しても、AResを送信しない。即ち、プリンタ100がAP6とのWi−Fi接続を確立するための処理が実行されないので、プリンタ100は、端末10とのWi−Fi接続を適切に確立することができる。一方、図9のケースAでは、プリンタ100は、T820において、MACアドレス「MACa」を送信先のMACアドレスとして含むAReqの受信を待ち受ける状態に移行し、T822において、MACアドレス「MACa」がコード化されたQRコードを表示する。この場合、プリンタ100は、仮に、MACアドレス「MACa」とは異なるMACアドレス「MACb」を送信先のMACアドレスとして含むAReqを受信しても、AResを送信しない。即ち、プリンタ100が端末10とのWi−Fi接続を確立するための処理が実行されないので、プリンタ100は、AP6とのWi−Fi接続を適切に確立することができる。
また、プリンタ100は、端末20から文字列「Push Button」が記述されたCMを含むPDReqを受信する場合(図11のT1010)に、WFD用DPP可能状態に移行せず、QRコードを表示しない。このために、プリンタ100は、DPP方式を利用せずに、端末20とのWi−Fi接続を適切に確立することができる(T1050)。特に、本実施例では、プリンタ100が端末10及び端末20から同じ種類の信号であるPDReqを受信し得る状況を想定している。そして、プリンタ100は、PDReqに含まれるCMに記述されている情報に応じて、WFD用DPP可能状態に移行してQRコードを表示するのか(図10のT920及びT922)、PBC画面を表示するのか(図11のT1020)、を切り替える。このために、プリンタ100は、端末10又は端末20に応じた適切な手法を利用して、端末10又は端末20とのWi−Fi接続を確立することができる。
(対応関係)
プリンタ100が、「通信装置」の一例である。端末10が、「第1の外部装置」及び「第2の外部装置」の一例である。端末20、端末30が、それぞれ、「第3の外部装置」、「第4の外部装置」の一例である。表示部114、Wi−FiI/F116が、それぞれ、「出力部」、「無線インターフェース」の一例である。チャネルリスト内のチャネルが、「所定の通信チャネル」の一例である。文字列「DPP」が記述されたCMを含むPDReq、SSID「DISPLAY」を含むPRReq、文字列「Push Button」が記述されたCMを含むPDReqが、それぞれ、「第1の特定信号」、「第2の特定信号」、「第3の特定信号」の一例である。文字列「DPP」、文字列「Push Button」が、それぞれ、「第1の所定情報」、「第2の所定情報」の一例である。図10のケースBにおけるWFD用DPP可能状態、QRコード、公開鍵PPK1b、MACアドレス「MACb」、AReq、ARes、Wi−Fi接続が、それぞれ、「第1の応答可能状態」、「第1の特定情報」、「第1の公開鍵」、「第1のMACアドレス」、「第1の認証要求」、「第1の認証応答」、「第1の無線接続」の一例である。図9のケースAにおけるAP用DPP可能状態、QRコード、公開鍵PPK1a、MACアドレス「MACa」、AReq、ARes、Wi−Fi接続が、それぞれ、「第2の応答可能状態」、「第2の特定情報」、「第2の公開鍵」、「第2のMACアドレス」、「第2の認証要求」、「第2の認証応答」、「第2の無線接続」の一例である。図11のケースCにおけるWi−Fi接続が、「第3の無線接続」の一例である。図10のT922でQRコードを表示してから所定時間が経過することが、「特定条件」の一例である。
図10のT910、T916、T920、T922、T950が、それぞれ、「第1の特定信号受信部」、「表示制御部」、「第1の状態移行部」、「第1の出力制御部」、「第1の確立部」によって実行される処理の一例である。T930で引用する図4のT210、T930で引用する図4のT220が、それぞれ、「第1の認証要求受信部」、「第1の認証応答送信部」によって実行される処理の一例である。T922でQRコードを表示してから所定時間が経過する場合に、T960と同様に、不可能状態に移行させる処理が、「第3の状態移行部」によって実行される処理の一例である。図7のT634が、「動作制御部」の一例である。図9のT810、T820、T822、T850が、それぞれ、「第2の特定信号受信部」、「第2の状態移行部」、「第2の出力制御部」、「第2の確立部」によって実行される処理の一例である。T830で引用する図4のT210、T930で引用する図4のT220が、それぞれ、「第2の認証要求受信部」、「第2の認証応答送信部」によって実行される処理の一例である。図11のT1010、T1050が、それぞれ、「第3の特定信号受信部」、「第3の確立部」によって実行される処理の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)
「第1の特定信号」は、PDReqでなくてもよく、GNReqであってもよいし、WFD方式に従った他の信号であってもよい。
(変形例2)
図8のS100では、PRReqの受信が監視されなくてもよい。この場合、S120〜S128が省略されてもよい。即ち、図9のケースAが実現されなくてもよい。一般的に言うと、「第2の特定信号受信部」、「第2の出力制御部」、「第2の状態移行部」、「「第2の認証要求受信部」、「第2の認証応答送信部」、及び、「第2の確立部」は省略可能である。
(変形例3)
プリンタ100は、2つの異なる公開鍵PPK1a,PPK1bを利用しなくてもよく、1個の公開鍵のみを利用してもよい。即ち、図9のT822で表示されるQRコードが示す公開鍵と、図10のT922で表示されるQRコードが示す公開鍵と、は同じでもよい。一般的に言うと、「第2の公開鍵」は、上記の実施例のように、第1の公開鍵と異なるものであってもよいし、本変形例のように、第1の公開鍵と同じものであってもよい。
(変形例4)
例えば、図10のT922で表示されるQRコードは、チャネルリスト及びMACアドレスがコード化されたものでなくてもよい。即ち、QRコードは、少なくとも公開鍵がコード化されることによって得られるコード画像であればよい。一般的に言うと、「第1の特定情報」は、少なくとも公開鍵を用いて得られる情報であればよく、第1のMACアドレスを用いて得られる情報でなくてもよい。同様に、「第2の特定情報」は、少なくとも公開鍵を用いて得られる情報であればよく、第2のMACアドレスを用いて得られる情報でなくてもよい。
(変形例5)
Wi−FiI/F116には、1個のMACアドレスのみが割り当てられていてもよい。即ち、図9のT822で表示されるQRコードが示すMACアドレスと、図10のT922で表示されるQRコードが示すMACアドレスと、は同じでもよい。一般的に言うと、「無線インターフェース」には、第1のMACアドレスとは異なる第2のMACアドレスが割り当てられなくてもよい。
(変形例6)
図8のS100では、文字列「Push Button」が記述されたCMを含むPDReqの受信が監視されなくてもよい。この場合、S140が省略されてもよい。即ち、図11のケースCが実現されなくてもよい。一般的に言うと、「第3の特定信号受信部」及び「第3の確立部」は省略可能である。
(変形例7)
図8のS110が実行されなくてもよい。一般的に言うと、第4の外部装置から第1の特定信号が受信される場合に、第1の特定情報が出力されてもよい。
(変形例8)
図8のS122、S124、S132、及び、S134が実行されなくてもよい。即ち「表示制御部」は省略可能である。
(変形例9)
プリンタ100は、図7のGNにおいて、CLになることを決定してもよい。この場合、プリンタ100は、T634に代えて、Enrolleeになることを決定する。即ち、「動作制御部」は省略可能である。
(変形例10)
図9のT810において、端末10は、PRReqに代えて、WFD方式のService Discovery Requestをプリンタ100に送信してもよい。当該Requestは、プリンタ100がQRコードの表示を実行可能であるのか否かを問い合わせるための情報を含む。本変形例では、Service Discovery Requestが、「第2の特定信号」の一例である。
(変形例11)
プリンタ100は、図9のT822及び図10のT922において、QRコードを表示部114に表示することに代えて、印刷媒体へのQRコードの印刷を印刷実行部118に実行させてもよい。本変形例によると、例えば、プリンタ100が表示部114を備えていない状況においても、DPP方式に従った通信を実行して、プリンタ100とAP6又は端末10との間のWi−Fi接続を確立することができる。本変形例では、印刷実行部118が、「出力部」の一例である。別の変形例では、プリンタ100が、Wi−FiI/F116とは異なる無線インターフェース(例えば、NFC(Near Field Communicationの略)I/F、Bluetooth(登録商標)I/F)を備えていてもよい。この場合、プリンタ100は、図9のT822又は図10のT922において、当該異なる無線インターフェースを介して、公開鍵とチャネルリストとMACアドレスとを端末10に送信してもよい。本変形例では、当該異なる無線インターフェースが、「出力部」の一例である。また、本変形例では、「第1の特定情報」は、「コード画像」でなくてもよい。
(変形例12)
プリンタ100は、図8のS100において、PDReq又はPRReqを受信する場合に、当該信号の受信電波強度を算出し、算出済みの受信電波強度が予め決められている閾値以上である場合に、S110以降の処理を実行してもよい。
(変形例13)
プリンタ100は、QRコードに代えて、公開鍵とチャネルリストとMACアドレスとがコード化されることによって得られる共有コード、キー、フレーズ、及び、ワードを含む画像を表示部114に表示してもよい。
(変形例14)
プリンタ100は、WFD用DPP可能状態に移行してから所定時間経過する場合に、不可能状態に移行しなくてもよい。即ち、「第3の状態移行部」は省略可能である。また、別の変形例では、プリンタ100は、所定時間が経過することを監視することに代えて、ユーザから不可能状態に移行することを示す指示を受け付けることを監視してもよい。本変形例では、ユーザから指示を受け付けることが「特定条件」の一例である。
(変形例15)
図10のT910でPDReqが送信されると、プリンタ100とは異なるプリンタにおいて、QRコードが表示される可能性がある。このような状況に対処するために、端末10は、T924でQRコードを撮影すると(即ちT926で公開鍵PPK1b等を取得すると)、QRコードの表示を停止させるための所定の文字列(例えばSSID「NOT DISPLAY」)を含む信号(例えばPRReq)をブロードキャストによって送信してもよい。この場合、上記の異なるプリンタは、当該信号を受信すると、QRコードの表示を停止する。同様に、端末10は、図9のT824でQRコードを撮影すると、上記の所定の文字列を含む信号をブロードキャストによって送信してもよい。別の変形例では、プリンタ100は、図10のT930において、AReqを受信すると、上記の所定の文字列を含む信号をブロードキャストによって送信してもよい。同様に、プリンタ100は、図9のT830において、AReqを受信すると、上記の所定の文字列を含む信号をブロードキャストによって送信してもよい。
(変形例16)
プリンタ100は、図10のT912において、PDResを端末10に送信すると、GNを実行することなく、自発的にG/O状態に移行してもよい。同様に、プリンタ100は、図11のT912において、PDResを端末10に送信すると、GNを実行することなく、自発的にG/O状態に移行してもよい。
(変形例17)
「通信装置」は、プリンタでなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。
(変形例18)
上記の各実施例では、図2〜図11の各処理がソフトウェア(即ちプログラム136)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、6:AP、10,20,30:端末、16,116:Wi−FiI/F、40:接続アプリケーション、100:プリンタ、112:操作部、114:表示部、118:印刷実行部、130:制御部、132:CPU、134:メモリ、136:プログラム

Claims (19)

  1. 通信装置であって、
    出力部と、
    無線インターフェースと、
    第1の外部装置から、前記無線インターフェースを介して、第1の特定信号を受信する第1の特定信号受信部と、
    前記第1の外部装置から前記第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の外部装置から、前記無線インターフェースを介して、前記第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に記載の通信装置。
  3. 前記第1の特定情報は、前記第1の公開鍵と、前記無線インターフェースに割り当てられている第1のMACアドレスと、を用いて得られ、
    前記第1の特定情報が出力されることによって、前記第1の公開鍵と前記第1のMACアドレスとが前記第1の外部装置によって取得され、
    前記第1の認証要求は、前記第1のMACアドレスを送信先のMACアドレスとして含み、
    前記第2の特定情報は、前記第2の公開鍵と、前記無線インターフェースに割り当てられている第2のMACアドレスであって、前記第1のMACアドレスとは異なる前記第2のMACアドレスと、を用いて得られ、
    前記第2の特定情報が出力されることによって、前記第2の公開鍵と前記第2のMACアドレスとが前記第2の外部装置によって取得され、
    前記第2の認証要求は、前記第2のMACアドレスを送信先のMACアドレスとして含む、請求項2に記載の通信装置。
  4. 前記通信装置は、さらに、
    第3の外部装置から、前記無線インターフェースを介して、第3の特定信号を受信する第3の特定信号受信部であって、前記第3の外部装置から前記第3の特定信号が受信される場合に、前記第1の特定情報は出力されない、前記第3の特定信号受信部と、
    前記第3の外部装置から前記第3の特定信号が受信される場合に、前記第3の外部装置から認証要求が受信されることなく、前記無線インターフェースを介して、前記第3の外部装置との第3の無線接続を確立する第3の確立部と、
    を備える、請求項1から3のいずれか一項に記載の通信装置。
  5. 前記第1の特定信号と前記第3の特定信号とは同じ種類の信号であり、
    前記第1の特定信号は、第1の所定情報を含み、
    前記第3の特定信号は、前記第1の所定情報とは異なる第2の所定情報を含む、請求項4に記載の通信装置。
  6. 前記第1の特定情報が出力されてから前記第1の外部装置との前記第1の無線接続が確立されるまでの間に、第4の外部装置から、前記無線インターフェースを介して、前記第1の特定信号が受信される場合に、前記第1の特定情報は出力されない、請求項1から5のいずれか一項に記載の通信装置。
  7. 前記第1の特定情報は、前記第1の公開鍵がコード化されることによって得られるQRコード(登録商標)であり、
    前記第1の公開鍵は、前記QRコードが前記第1の外部装置によって撮影されることに応じて、前記第1の外部装置によって取得される、請求項1から6のいずれか一項に記載の通信装置。
  8. 前記出力部は、画像を表示するための表示部であり、
    前記第1の出力制御部は、前記第1の特定情報を前記表示部である前記出力部に表示させる、請求項1から7のいずれか一項に記載の通信装置。
  9. 前記通信装置は、さらに、
    前記第1の外部装置から前記第1の特定信号が受信される場合に、前記第1の特定情報の表示を指示するための指示画面を前記表示部である前記出力部に表示させる表示制御部を備え、
    前記第1の出力制御部は、前記指示画面において、前記第1の特定情報の表示が指示される場合に、前記第1の特定情報を前記表示部である前記出力部に表示させる、請求項8に記載の通信装置。
  10. 前記通信装置は、さらに、
    前記第1の外部装置から前記第1の特定信号が受信される場合に、前記通信装置の動作状態を応答不可能状態から第1の応答可能状態に移行させる第1の状態移行部であって、前記応答不可能状態は、認証応答を送信しない状態であり、前記第1の応答可能状態は、前記無線インターフェースに割り当てられている第1のMACアドレスを送信先のMACアドレスとして含む前記第1の認証要求を受信することに応じて、前記第1の認証応答を送信する状態である、前記第1の状態移行部を備え、
    前記第1の認証応答送信部は、前記通信装置の動作状態が前記第1の応答可能状態に移行された後に、前記第1の外部装置から前記第1の認証要求が受信される場合に、前記第1の認証応答を前記第1の外部装置に送信する、請求項1から9のいずれか一項に記載の通信装置。
  11. 通信装置であって、
    無線インターフェースと、
    第1の外部装置から、前記無線インターフェースを介して、第1の特定信号を受信する第1の特定信号受信部と、
    前記第1の外部装置から前記第1の特定信号が受信される場合に、前記通信装置の動作状態を応答不可能状態から第1の応答可能状態に移行させる第1の状態移行部であって、前記応答不可能状態は、認証応答を送信しない状態であり、前記第1の応答可能状態は、前記無線インターフェースに割り当てられている第1のMACアドレスを送信先のMACアドレスとして含む第1の認証要求を受信することに応じて、第1の認証応答を送信する状態である、前記第1の状態移行部と、
    前記第1の外部装置から、前記無線インターフェースを介して、前記第1の認証要求を受信する第1の認証要求受信部と、
    前記通信装置の動作状態が前記第1の応答可能状態に移行された後に、前記第1の外部装置から前記第1の認証要求が受信される場合に、前記無線インターフェースを介して、前記第1の認証応答を前記第1の外部装置に送信する第1の認証応答送信部と、
    前記第1の認証応答が前記第1の外部装置に送信される場合に、前記無線インターフェースを介して、前記第1の外部装置との第1の無線接続を確立する第1の確立部と、
    を備える、通信装置。
  12. 第2の外部装置から、前記無線インターフェースを介して、前記第1の特定信号とは異なる第2の特定信号を受信する第2の特定信号受信部と、
    前記第2の外部装置から前記第2の特定信号が受信される場合に、前記通信装置の動作状態を前記応答不可能状態から第2の応答可能状態に移行させる第2の状態移行部であって、前記第2の応答可能状態は、前記無線インターフェースに割り当てられている第2のMACアドレスであって、前記第1のMACアドレスとは異なる第2のMACアドレスを送信先のMACアドレスとして含む第2の認証要求を受信することに応じて、第2の認証応答を送信する状態である、前記第2の状態移行部と、
    前記第2の外部装置から、前記無線インターフェースを介して、前記第2の認証要求を受信する第2の認証要求受信部と、
    前記通信装置の動作状態が前記第2の応答可能状態に移行された後に、前記第2の外部装置から前記第2の認証要求が受信される場合に、前記無線インターフェースを介して、前記第2の認証応答を前記第2の外部装置に送信する第2の認証応答送信部と、
    前記第2の認証応答が前記第2の外部装置に送信される場合に、前記無線インターフェースを介して、アクセスポイントとの第2の無線接続を確立する第2の確立部と、
    を備える、請求項11に記載の通信装置。
  13. 前記通信装置は、さらに、
    第3の外部装置から、前記無線インターフェースを介して、第3の特定信号を受信する第3の特定信号受信部であって、前記第3の外部装置から前記第3の特定信号が受信される場合に、前記通信装置の動作状態は前記第1の応答可能状態に移行されない、前記第3の特定信号受信部と、
    前記第3の外部装置から前記第3の特定信号が受信される場合に、前記第3の外部装置から認証要求が受信されることなく、前記無線インターフェースを介して、前記第3の外部装置との第3の無線接続を確立する第3の確立部と、
    を備える、請求項11又は12に記載の通信装置。
  14. 前記第1の特定信号と前記第3の特定信号とは同じ種類の信号であり、
    前記第1の特定信号は、第1の所定情報を含み、
    前記第3の特定信号は、前記第1の所定情報とは異なる第2の所定情報を含む、請求項13に記載の通信装置。
  15. 前記第1の応答可能状態は、前記通信装置において予め決められている所定の通信チャネルが利用された前記第1の認証要求を受信することを監視し、前記所定の通信チャネルが利用された前記第1の認証要求を受信することに応じて、前記第1の認証応答を送信する状態であり、
    前記第1の認証応答送信部は、前記通信装置の動作状態が前記第1の応答可能状態に移行された後に、前記第1の外部装置から前記所定の通信チャネルが利用された前記第1の認証要求が受信される場合に、前記第1の認証応答を前記第1の外部装置に送信する、請求項10から14のいずれか一項に記載の通信装置。
  16. 前記通信装置は、さらに、
    前記通信装置の動作状態が前記第1の応答可能状態に移行された後に、特定条件が満たされる場合に、前記通信装置の動作状態を前記第1の応答可能状態から前記応答不可能状態に移行させる第3の状態移行部を備える、請求項10から15のいずれか一項に記載の通信装置。
  17. 前記通信装置は、さらに、
    前記第1の認証応答が前記第1の外部装置に送信される場合に、前記通信装置をWi−Fi規格のDPP(Device Provisioning Protocolの略)方式に従ったConfiguratorとして動作させる動作制御部であって、前記第1の外部装置は、前記DPP方式に従ったEnrolleeとして動作する、前記動作制御部を備える、請求項1から16のいずれか一項に記載の通信装置。
  18. 通信装置のためのコンピュータプログラムであって、
    前記通信装置のコンピュータを、以下の各部、即ち、
    第1の外部装置から、前記通信装置の無線インターフェースを介して、第1の特定信号を受信する第1の特定信号受信部と、
    前記第1の外部装置から前記第1の特定信号が受信される場合に、第1の公開鍵を用いて得られる第1の特定情報を前記通信装置の出力部に出力させる第1の出力制御部であって、前記第1の特定情報が出力されることによって、前記第1の公開鍵が前記第1の外部装置によって取得される、前記第1の出力制御部と、
    前記第1の公開鍵を取得した前記第1の外部装置から、前記無線インターフェースを介して、前記第1の公開鍵が利用された第1の認証要求を受信する第1の認証要求受信部と、
    前記第1の外部装置から前記第1の認証要求が受信される場合に、前記無線インターフェースを介して、第1の認証応答を前記第1の外部装置に送信する第1の認証応答送信部と、
    前記第1の認証応答が前記第1の外部装置に送信される場合に、前記無線インターフェースを介して、前記第1の外部装置との第1の無線接続を確立する第1の確立部と、
    として機能させる、コンピュータプログラム。
  19. 通信装置のためのコンピュータプログラムであって、
    前記通信装置のコンピュータを、以下の各部、即ち、
    第1の外部装置から、前記通信装置の無線インターフェースを介して、第1の特定信号を受信する第1の特定信号受信部と、
    前記第1の外部装置から前記第1の特定信号が受信される場合に、前記通信装置の動作状態を応答不可能状態から第1の応答可能状態に移行させる第1の状態移行部であって、前記応答不可能状態は、認証応答を送信しない状態であり、前記第1の応答可能状態は、前記無線インターフェースに割り当てられている第1のMACアドレスを送信先のMACアドレスとして含む第1の認証要求を受信することに応じて、第1の認証応答を送信する状態である、前記第1の状態移行部と、
    前記第1の外部装置から、前記無線インターフェースを介して、前記第1の認証要求を受信する第1の認証要求受信部と、
    前記通信装置の動作状態が前記第1の応答可能状態に移行された後に、前記第1の外部装置から前記第1の認証要求が受信される場合に、前記無線インターフェースを介して、前記第1の認証応答を前記第1の外部装置に送信する第1の認証応答送信部と、
    前記第1の認証応答が前記第1の外部装置に送信される場合に、前記無線インターフェースを介して、前記第1の外部装置との第1の無線接続を確立する第1の確立部と、
    として機能させる、コンピュータプログラム。
JP2019179400A 2019-09-30 2019-09-30 通信装置と通信装置のためのコンピュータプログラム Active JP7363304B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019179400A JP7363304B2 (ja) 2019-09-30 2019-09-30 通信装置と通信装置のためのコンピュータプログラム
EP20198659.3A EP3799389A1 (en) 2019-09-30 2020-09-28 Communication device and computer program for communication device
CN202011044635.3A CN112584381A (zh) 2019-09-30 2020-09-28 通信设备
US17/036,049 US11469900B2 (en) 2019-09-30 2020-09-29 Communication device capable of establishing a wireless connection with an external device and non-transitory computer-readable recording medium storing computer-readable instructions for a communication device
JP2023173690A JP2023168594A (ja) 2019-09-30 2023-10-05 通信装置と通信装置のためのコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019179400A JP7363304B2 (ja) 2019-09-30 2019-09-30 通信装置と通信装置のためのコンピュータプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023173690A Division JP2023168594A (ja) 2019-09-30 2023-10-05 通信装置と通信装置のためのコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2021057760A true JP2021057760A (ja) 2021-04-08
JP7363304B2 JP7363304B2 (ja) 2023-10-18

Family

ID=72665101

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019179400A Active JP7363304B2 (ja) 2019-09-30 2019-09-30 通信装置と通信装置のためのコンピュータプログラム
JP2023173690A Pending JP2023168594A (ja) 2019-09-30 2023-10-05 通信装置と通信装置のためのコンピュータプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023173690A Pending JP2023168594A (ja) 2019-09-30 2023-10-05 通信装置と通信装置のためのコンピュータプログラム

Country Status (4)

Country Link
US (1) US11469900B2 (ja)
EP (1) EP3799389A1 (ja)
JP (2) JP7363304B2 (ja)
CN (1) CN112584381A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023053839A1 (ja) * 2021-10-01 2023-04-06 キヤノン株式会社 通信装置、方法、プログラム、並びにシステム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7310449B2 (ja) * 2019-08-29 2023-07-19 ブラザー工業株式会社 第1の通信装置と第1の通信装置のためのコンピュータプログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134985A (ja) * 2006-10-27 2008-06-12 Murata Mach Ltd ネットワークシステム
US20150229475A1 (en) * 2014-02-10 2015-08-13 Qualcomm Incorporated Assisted device provisioning in a network
JP6525714B2 (ja) 2015-04-30 2019-06-05 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
JP6532333B2 (ja) 2015-07-21 2019-06-19 キヤノン株式会社 通信装置、通信方法及びプログラム
JP6504951B2 (ja) 2015-07-21 2019-04-24 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
JP6570356B2 (ja) 2015-07-21 2019-09-04 キヤノン株式会社 通信装置、通信方法及びプログラム
JP6548490B2 (ja) 2015-07-21 2019-07-24 キヤノン株式会社 通信装置、共有方法、および、プログラム
JP6789628B2 (ja) 2015-12-18 2020-11-25 キヤノン株式会社 通信装置、制御方法、および、プログラム
JP6827773B2 (ja) 2016-01-18 2021-02-10 キヤノン株式会社 通信装置、通信方法及びプログラム
JP6776023B2 (ja) 2016-06-30 2020-10-28 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP6759011B2 (ja) * 2016-09-02 2020-09-23 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP6794191B2 (ja) 2016-09-02 2020-12-02 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP6702833B2 (ja) * 2016-09-15 2020-06-03 キヤノン株式会社 通信装置、通信装置の制御及びプログラム
JP7054341B2 (ja) 2017-12-22 2022-04-13 キヤノン株式会社 通信装置およびその制御方法
JP7024559B2 (ja) * 2018-03-30 2022-02-24 ブラザー工業株式会社 端末装置のためのコンピュータプログラム、端末装置、通信装置、及び、通信装置のためのコンピュータプログラム
JP7224855B2 (ja) * 2018-11-02 2023-02-20 キヤノン株式会社 通信装置、制御方法、およびプログラム
JP7196602B2 (ja) * 2018-12-28 2022-12-27 ブラザー工業株式会社 通信装置、通信装置のためのコンピュータプログラム、及び、第1の外部装置のためのコンピュータプログラム
JP7279367B2 (ja) * 2019-01-16 2023-05-23 ブラザー工業株式会社 端末装置のためのコンピュータプログラム、及び、通信装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023053839A1 (ja) * 2021-10-01 2023-04-06 キヤノン株式会社 通信装置、方法、プログラム、並びにシステム

Also Published As

Publication number Publication date
JP2023168594A (ja) 2023-11-24
US11469900B2 (en) 2022-10-11
CN112584381A (zh) 2021-03-30
JP7363304B2 (ja) 2023-10-18
US20210099305A1 (en) 2021-04-01
EP3799389A1 (en) 2021-03-31

Similar Documents

Publication Publication Date Title
JP7215048B2 (ja) 端末装置のためのコンピュータプログラム、及び、端末装置
JP7155581B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7052496B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7338329B2 (ja) 端末装置と端末装置のためのコンピュータプログラム
JP7091781B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
CN111555883B (zh) 通信装置以及非暂时性计算机可读记录介质
JP7359273B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2019180039A (ja) プリンタとプリンタのためのコンピュータプログラム
JP2023168594A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2022177052A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2021035026A (ja) 第1の通信装置と第1の通信装置のためのコンピュータプログラム
JP7283275B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7293950B2 (ja) 端末装置と端末装置のためのコンピュータプログラム
JP7196533B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2021057713A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2021057712A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7315066B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7294489B2 (ja) 通信装置と通信装置のためのコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230802

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: 20230905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230918

R150 Certificate of patent or registration of utility model

Ref document number: 7363304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150