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

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

Info

Publication number
JP2021035026A
JP2021035026A JP2019157247A JP2019157247A JP2021035026A JP 2021035026 A JP2021035026 A JP 2021035026A JP 2019157247 A JP2019157247 A JP 2019157247A JP 2019157247 A JP2019157247 A JP 2019157247A JP 2021035026 A JP2021035026 A JP 2021035026A
Authority
JP
Japan
Prior art keywords
communication device
printer
terminal
information
role
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
JP2019157247A
Other languages
English (en)
Other versions
JP7310449B2 (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 JP2019157247A priority Critical patent/JP7310449B2/ja
Priority to US17/004,128 priority patent/US11216225B2/en
Priority to EP20193059.1A priority patent/EP3787328B1/en
Priority to CN202010885900.4A priority patent/CN112449442A/zh
Publication of JP2021035026A publication Critical patent/JP2021035026A/ja
Priority to US17/557,109 priority patent/US11567714B2/en
Priority to US18/158,996 priority patent/US11782657B2/en
Priority to JP2023110968A priority patent/JP2023118902A/ja
Application granted granted Critical
Publication of JP7310449B2 publication Critical patent/JP7310449B2/ja
Priority to US18/456,668 priority patent/US12067312B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • 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
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification
    • 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
    • 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/1293Printer information exchange with computer
    • 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/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • 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
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

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

Abstract

【課題】第1の通信装置が、第1の通信装置自身の状況を考慮して、適切な役割を担うことが可能な技術を提供する。【解決手段】第1の通信装置は、第1の通信装置の公開鍵を用いて得られる出力情報を外部に出力するための出力制御処理を実行し、公開鍵を取得した第2の通信装置から公開鍵が利用された認証要求を受信する。第1の通信装置は、第1の通信装置と第1のアクセスポイントとの間に無線接続が確立されている場合に、第1の通信装置が第1の役割を担うことを示す第1の役割情報を含む第1の認証応答を第2の通信装置に送信する。また、第1の通信装置は、第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されていない場合に、第1の通信装置が第1の役割とは異なる第2の役割を担うことを示す第2の役割情報を含む第2の認証応答を第2の通信装置に送信する。【選択図】図7

Description

本明細書では、第1の通信装置と他の装置との間に無線接続を確立させるための技術を開示する。
非特許文献1には、Wi−Fi Allianceによって策定された無線通信方式であるDPP(Device Provisioning Protocolの略)方式が記述されている。DPP方式は、一対の装置の間にWi−Fi接続を容易に確立させるための無線通信方式である。DPP方式では、Configuratorの役割を担う第1の装置は、Wi−Fi接続を確立するための情報をEnrolleeの役割を担う第2の装置に送信する。そして、第2の装置と他の装置(例えば第1の装置でもよいし第1の装置とは異なる装置でもよい)との間にWi−Fi接続が確立される。
「Device Provisioning Protocol Technical Specification Version 1.1」Wi-Fi Alliance, 2018年
本明細書では、第1の通信装置が、第1の通信装置自身の状況を考慮して、適切な役割を担うことが可能な技術を提供する。
本明細書によって開示される第1の通信装置は、Wi−Fi規格に従った無線通信を実行するための無線インターフェースと、前記Wi−Fi規格に従った出力情報であって、前記第1の通信装置の公開鍵を用いて得られる前記出力情報を外部に出力するための出力制御処理を実行する出力制御部と、前記公開鍵を取得した第2の通信装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、前記第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されているのか否かを判断する第1の判断部と、前記第2の通信装置から前記認証要求が受信され、かつ、前記第1の通信装置と第1のアクセスポイントとの間に無線接続が確立されていると判断される場合に、前記無線インターフェースを介して、前記第1の通信装置が第1の役割を担うことを示す第1の役割情報を含む第1の認証応答を前記第2の通信装置に送信する第1の認証応答送信部であって、前記第1の役割は、前記第2の通信装置が前記第1のアクセスポイントとの第1の無線接続を確立するための第1の無線設定情報を前記第2の通信装置に送信する役割である、前記第1の認証応答送信部と、前記第1の認証応答が前記第2の通信装置に送信された後に、前記無線インターフェースを介して、前記第1の無線設定情報を前記第2の通信装置に送信する無線設定送信部と、前記第2の通信装置から前記認証要求が受信され、かつ、前記第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されていないと判断される場合に、前記無線インターフェースを介して、前記第1の通信装置が前記第1の役割とは異なる第2の役割を担うことを示す第2の役割情報を含む第2の認証応答を前記第2の通信装置に送信する第2の認証応答送信部であって、前記第2の役割は、前記第1の通信装置が第2のアクセスポイントとの第2の無線接続を確立するための第2の無線設定情報を前記第2の通信装置から受信する役割である、前記第2の認証応答送信部と、前記第2の認証応答が前記第2の通信装置に送信された後に、前記無線インターフェースを介して、前記第2の無線設定情報を前記第2の通信装置から受信する第1の無線設定受信部と、前記第2の無線設定情報を利用して、前記無線インターフェースを介して、前記第2のアクセスポイントとの前記第2の無線接続を確立する第1の確立部と、を備えてもよい。
上記の構成によると、第1の通信装置は、第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されているのか否かを判断する。第1の通信装置と第1のアクセスポイントとの間に無線接続が確立されている状況において、第1の通信装置は、第1の無線設定情報を第2の通信装置に送信する役割である第1の役割を担い、第1の無線設定情報を第2の通信装置に送信する。この結果、第2の通信装置と第1のアクセスポイントとの間に第1の無線接続を確立させることができる。また、第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されていない状況において、第1の通信装置は、第2の通信装置から第2の無線設定情報を受信する役割である第2の役割を担い、第2の通信装置から第2の無線設定情報を受信する。この結果、第1の通信装置と第2のアクセスポイントとの間に第2の無線接続を確立させることができる。従って、第1の通信装置は、第1の通信装置自身の状況を考慮して、適切な役割を担うことができる。
上記の第1の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の通信装置と他の装置(例えば、第2の通信装置、外部装置)とを備える通信システムも、新規で有用である。
通信システムの構成を示す。 プリンタとアクセスポイントとの間にDPP方式に従った無線接続を確立するための処理の概略のシーケンス図を示す。 Bootstrappingの処理のシーケンス図を示す。 Authenticationの処理のシーケンス図を示す。 Configurationの処理のシーケンス図を示す。 Network Accessの処理のシーケンス図を示す。 Authenticationの処理のフローチャートを示す。 プリンタとAPとの間に無線接続が確立されているケースAにおけるBootstrappingの処理とAuthenticationの処理のシーケンス図を示す。 図8の続きのシーケンス図(Configurationの処理とNetwork Accessの処理)を示す。 プリンタとAPとの間、及び、端末装置とAPの間に無線接続が確立されているケースBにおけるBootstrappingの処理とAuthenticationの処理のシーケンス図を示す。 図10の続きのシーケンス図(Configurationの処理とNetwork Accessの処理)を示す。 プリンタとAPとの間にWFD方式に従った無線接続を確立するケースCにおけるBootstrappingの処理のシーケンス図を示す。 図12の続きのシーケンス図(Authenticationの処理)を示す。 図13の続きのシーケンス図(Configurationの処理)を示す。 図14の続きのシーケンス図(Network Accessの処理)を示す。 本実施例の各ケースをまとめたテーブルを示す。
(実施例)
(通信システム2の構成;図1)
図1に示されるように、通信システム2は、2個のアクセスポイント(以下では単に「AP」と記載する)6、8と、プリンタ10と、2個の端末100、200と、を備える。本実施例では、ユーザは、例えば、端末100を利用して、プリンタ10とAP6との間にWi−Fi規格に従った無線接続(以下では「Wi−Fi接続」と記載する)を確立させる。
(端末100の構成)
端末100は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。変形例では、端末100は、据置型の端末装置であってもよい。端末100は、カメラ115と、Wi−Fiインターフェース116と、を備える。以下では、インターフェースのことを単に「I/F」と記載する。
カメラ115は、物体を撮影するためのデバイスであり、本実施例では、各AP6、8及びプリンタ10のためのQRコード(登録商標)を撮影するために利用される。
Wi−FiI/F116は、Wi−Fi規格に従った通信を実行するための無線インターフェースである。Wi−Fi規格は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば802.11a,11b,11g,11n等)に従って、無線通信を実行するための規格である。Wi−FiI/F116は、Wi−Fi Allianceによって策定されたDPP(Device Provisioning Protocolの略)方式をサポートしている。DPP方式は、Wi−Fi Allianceによって作成された規格書「Device Provisioning Protocol Technical Specification Version 1.1」に記述されており、端末100を利用して一対のデバイス(例えばプリンタ10とAP6)の間に容易にWi−Fi接続を確立させるための方式である。
Wi−FiI/F116は、さらに、Wi−Fi Allianceによって策定されたWFD(Wi-Fi Direct(登録商標)の略)方式をサポートしている。WFD方式は、Wi−Fi Allianceによって作成された規格書「Wi-Fi Peer-to-Peer (P2P) Technical Specification Version1.1」に記述されている方式である。WFDでは、Group Owner状態(以下では「G/O状態」と呼ぶ)、及び、CLient状態(以下では「CL状態」と呼ぶ)が定義されている。また、本実施例では、G/O状態及びCL状態のいずれとも異なる状態のことを「デバイス状態」と呼ぶ。WFD方式をサポートしている機器は、上記の3つの状態のうちの1つの状態で選択的に動作可能である。以下では、WFD方式に従って確立されるWi−Fi接続のことを「WFD接続」と記載することがある。
(端末200の構成)
端末200も、端末100と同様の可搬型の端末装置である。なお、変形例では、端末200は、据置型の端末装置であってもよい。端末200も、端末100と同様に、カメラ215と、Wi−FiI/F216と、を備える。
(プリンタ10の構成)
プリンタ10は、印刷機能を実行可能な周辺装置(例えば端末100、200の周辺装置)である。プリンタ10は、操作部12と、表示部14と、Wi−FiI/F16と、印刷実行部18と、制御部30と、を備える。各部12〜30は、バス線(符号省略)に接続されている。
操作部12は、複数のボタンを備える。ユーザは、操作部12を操作することによって、様々な指示をプリンタ10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、さらに、いわゆるタッチパネル(即ち操作部)として機能する。印刷実行部18は、インクジェット方式、レーザ方式等の印刷機構を備える。
Wi−FiI/F16は、DPP方式とWFD方式とをサポートしている。このために、プリンタ10は、AP6とのWi−Fi接続を確立することができ、さらに、端末(例えば端末100)とのAPを介さないWFD接続を確立することができる。なお、以下では、AP6とのWi−Fi接続のことを「AP接続」と記載することがある。
Wi−FiI/F16には、2個のMACアドレス「mac_ap」、「mac_wfd」が割り当てられている。MACアドレス「mac_ap」は、AP接続に利用されるMACアドレスである。MACアドレス「mac_wfd」は、WFD接続に利用されるMACアドレスである。
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム40に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。
また、メモリ34は、AP接続の確立に利用されるAP情報44を記憶し得る。
(DPPの概略;図2)
次いで、図2を参照して、DPPの概略を説明する。AP6もDPP方式をサポートしている。本実施例では、各デバイス6、10、100がDPP方式に従った通信を実行することによって、プリンタ10とAP6との間にDPP接続を確立させることを実現する。以下では、理解の容易化のため、各デバイスのCPU(例えばCPU32)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えばプリンタ10)を主体として記載する。
T5では、端末100は、DPP方式のBootstrapping(以下では単に「BS」と記載する)をAP6と実行する。当該BSは、AP6に貼り付けられているQRコードが端末100のカメラ115によって撮影されることに応じて、後述のT10のAuthentication(以下では単に「Auth」と記載する)で利用される情報をAP6から端末100に提供する処理である。
T10では、端末100は、T5のBSで取得済みの情報を利用して、DPP方式のAuthをAP6と実行する。当該Authは、端末100及びAP6のそれぞれが通信相手を認証するための処理である。
T15では、端末100は、DPP方式のConfiguration(以下では単に「Config」と記載する)をAP6と実行する。当該Configは、AP6がDPP方式に従ったAP接続を確立するための情報をAP6に送信する処理である。具体的には、端末100は、AP用Configuration Object(以下では、Configuration Objectのことを単に「CO」と記載する)を生成して、AP用COをAP6に送信する。この結果、AP6では、AP用COが記憶される。
次いで、端末100は、T25において、DPP方式のBSをプリンタ10と実行する。当該BSは、プリンタ10に表示されるQRコードが端末100のカメラ115によって撮影されることに応じて、後述のT30のAuthで利用される情報をプリンタ10から端末100に提供する処理である。
T30では、端末100は、T25のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ10と実行する。当該Authは、端末100及びプリンタ10のそれぞれが通信相手を認証するための処理である。
T35では、端末100は、DPP方式のConfigをプリンタ10と実行する。当該Configは、プリンタ10とAP6との間にDPP接続を確立するための情報をプリンタ10に送信する処理である。端末100は、当該Configにおいて、プリンタ10とAP6との間にDPP方式に従ったAP接続を確立させるための第1のプリンタ用COを生成して、第1のプリンタ用COをプリンタ10に送信する。この結果、プリンタ10では、第1のプリンタ用COが記憶される。
T40では、プリンタ10及びAP6は、記憶済みのAP用CO及び第1のプリンタ用COを利用して、DPP方式のNetwork Access(以下では単に「NA」と記載する)を実行する。NAは、DPP方式に従ったAP接続を確立するための接続キーをプリンタ10及びAP6の間で共有するための処理である。その後、プリンタ10及びAP6は、4way−handshakeの通信を実行する。4way−handshakeの通信の少なくとも一部の過程において、プリンタ10及びAP6は、共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、プリンタ10とAP6との間にAP接続が確立される。これにより、プリンタ10は、AP6によって形成される無線ネットワークに子局として参加することができる。なお、変形例では、プリンタ10及びAP6は、4way−handshakeの通信に代えて、SAE(Simultaneous Authentication of Equalsの略、通称「Dragonfly」)の通信を実行してもよい。
DPP方式では、プリンタ10とAP6との間にAP接続を確立させるために、ユーザは、AP6が親局として動作する無線ネットワークの情報(例えばSSID、パスワード等)をプリンタ10に入力する必要がない。従って、ユーザは、プリンタ10とAP6との間にAP接続を容易に確立させることができる。
(各処理の詳細;図3〜図6)
次いで、図3〜図6を参照して、図2のT25〜T40において実行される各処理の詳細を説明する。なお、T5〜T15の処理は、プリンタ10に代えてAP6が利用される点を除いてT25〜T35の処理と同様であるので、その詳細な説明を省略する。
(Bootstrapping(BS);図3)
まず、図3を参照して、図2のT25で実行されるBSの処理を説明する。図3の初期状態では、プリンタ10のメモリ34は、プリンタ10の公開鍵PPK1及び秘密鍵psk1を予め記憶している。また、図3の初期状態では、メモリ34は、AP情報44を記憶していない。
T100では、ユーザは、操作部12を操作して、所定指示をプリンタ10に入力する。プリンタ10は、T100において、ユーザから所定指示の入力を受け付けると、T102において、選択画面を表示部14に表示する。選択画面は、通信方法を選択するための画面である。選択画面は、APを介した通信を利用することを示す「AP通信」ボタンと、APを介さないWFD方式に従った通信を利用することを示し「WFD通信」ボタンと、を含む。なお、選択画面は表示されなくてもよい。この場合、例えば、APを介した通信の利用に関する第1の画面においてユーザから指示を受け付ける場合に、AP用QRコード(T106参照)が表示され、第1の画面とは異なる第2の画面であって、WFDに従った通信の利用に関する第2の画面においてユーザから指示を受け付ける場合に、WFD用QRコード(図12のT856参照)が表示されてもよい。
T104では、ユーザは、操作部12を操作して、選択画面内の「AP通信」ボタンを選択する。プリンタ10は、T104において、ユーザから「AP通信」ボタンの選択を受け付けると、T106において、AP用QRコードを表示部14に表示する。AP用QRコードは、プリンタ10の公開鍵PPK1と、AP接続に利用されるMACアドレス「mac_ap」と、をコード化することによって得られたものである。
端末100は、ユーザから操作を受け付けることに応じて、端末100のカメラ115を起動し、T120において、カメラ115を利用して、T100で表示されたAP用QRコードを撮影する。そして、端末100は、T122において、撮影済みのAP用QRコードをデコードして、公開鍵PPK1とMACアドレス「mac_ap」とを取得する。T122の処理が終了すると、図3の処理が終了する。
(Authentication(Auth);図4)
次いで、図4を参照して、図2のT30で実行されるAuthの処理を説明する。なお、端末100及びプリンタ10の間で実行される以下の全ての通信は、端末100のWi−FiI/F116とプリンタ10のWi−FiI/F16とを介して実行される。従って、以下では、「Wi−FiI/F116(又は16)を介して」という記載を省略する。
T200では、端末100は、端末100の公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、端末100は、T202において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、図3のT122で取得されたプリンタ10の公開鍵PPK1と、を用いて、共有鍵SK1を生成する。そして、端末100は、T204において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。
T210では、端末100は、図3のT122で取得されたMACアドレス「mac_ap」を送信先として、DPP Authentication Request(以下では単に「AReq」と記載する)をプリンタ10に送信する。AReqは、認証の実行をプリンタ10に要求する信号である。AReqは、T200で生成された端末100の公開鍵TPK1と、T204で生成された暗号化データED1と、端末100のcapabilityと、MACアドレス「mac_ap」とを含む。
capabilityは、DPP方式をサポートしている機器において予め指定されている情報であり、DPP方式のConfiguratorのみとして動作可能であることを示す値と、DPP方式のEnrolleeのみとして動作可能であることを示す値と、Configurator及びEnrolleeのどちらとしても動作可能であることを示す値と、のいずれか1個の値を含む。Configuratorは、Config(例えば図2のT35)において、NA(例えば図2のT40)で利用されるCOをEnrolleeに送信する役割を意味する。一方、Enrolleeは、Configにおいて、ConfiguratorからNAで利用されるCOを受信する役割を意味する。本ケースでは、AReqは、端末100のcapabilityとしてConfigurator及びEnrolleeのどちらでも動作可能であることを示す値を含む。
プリンタ10は、T210において、端末100からAReqを受信する。上記のように、AReqは、プリンタ10のWi−FiI/F16のMACアドレス「mac_ap」を送信先として送信される。従って、プリンタ10は、端末100からAReqを適切に受信することができる。
プリンタ10は、T210において、端末100からAReqを受信すると、T211において、後述する図7の処理を実行して、プリンタ10のcapabilityをEnrolleeに決定する。
次いで、プリンタ10は、AReqの送信元(即ち端末100)を認証するための処理を実行する。具体的には、プリンタ10は、T212において、ECDHに従って、AReq内の端末100の公開鍵TPK1と、プリンタ10の秘密鍵psk1と、を用いて、共有鍵SK1を生成する。ここで、T202で端末100によって生成される共有鍵SK1と、T212でプリンタ10によって生成される共有鍵SK1と、は同じである。従って、プリンタ10は、T214において、生成済みの共有鍵SK1を用いて、AReq内の暗号化データED1を適切に復号することができ、この結果、ランダム値RV1を取得することができる。プリンタ10は、暗号化データED1の復号が成功する場合には、AReqの送信元が、図3のT100で表示されたQRコードを撮影したデバイスであると判断し、即ち、認証が成功したと判断し、T216以降の処理を実行する。一方、プリンタ10は、仮に、暗号化データED1の復号が成功しない場合には、AReqの送信元が、T100で表示されたQRコードを撮影したデバイスでないと判断し、即ち、認証が失敗したと判断し、T216以降の処理を実行しない。
プリンタ10は、T216において、プリンタ10の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。なお、変形例では、プリンタ10は、公開鍵PPK2及び秘密鍵psk2を予め記憶していてもよい。次いで、プリンタ10は、T217において、ECDHに従って、T210のAReq内の端末100の公開鍵TPK1と、生成済みのプリンタ10の秘密鍵psk2と、を用いて、共有鍵SK2を生成する。そして、プリンタ10は、T218において、生成済みの共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
T220では、プリンタ10は、DPP Authentication Response(以下では単に「ARes」と記載する)を端末100に送信する。当該AResは、T216で生成されたプリンタ10の公開鍵PPK2と、T218で生成された暗号化データED2と、T211で決定されたプリンタ10のcapability(即ち、Enrolleeのみとして動作可能であることを示す値)と、を含む。
端末100は、T220において、プリンタ10からAResを受信する。この場合、端末100は、AResの送信元(即ちプリンタ10)を認証するための処理を実行する。具体的には、端末100は、T222において、ECDHに従って、T200で生成された端末100の秘密鍵tsk1と、ARes内のプリンタ10の公開鍵PPK2と、を用いて、共有鍵SK2を生成する。ここで、T217でプリンタ10によって生成される共有鍵SK2と、T222で端末100によって生成される共有鍵SK2と、は同じである。従って、端末100は、T224において、生成済みの共有鍵SK2を用いて、ARes内の暗号化データED2を適切に復号することができ、この結果、ランダム値RV1及びRV2を取得することができる。端末100は、暗号化データED2の復号が成功する場合には、AResの送信元が撮影済みのQRコードを有するデバイスであると判断し、即ち、認証が成功したと判断し、T230以降の処理を実行する。一方、端末100は、仮に、暗号化データED2の復号が成功しない場合には、AResの送信元が撮影済みのQRコードを有するデバイスでないと判断し、即ち、認証が失敗したと判断し、T230以降の処理を実行しない。
T230では、端末100は、Confirmをプリンタ10に送信する。Confirmは、端末100がConfiguratorとして動作し、かつ、プリンタ10がEnrolleeとして動作することを示す情報を含む。この結果、T232において、Configuratorとして動作することが端末100によって決定され、T234において、Enrolleeとして動作することがプリンタ10によって決定される。T234の処理が終了すると、図4の処理が終了する。
(Configuration(Config);図5)
次いで、図5を参照して、図2のT35で実行されるConfigの処理を説明する。T300では、プリンタ10は、DPP Configuration Request(以下では単に「CReq」と記載する)を端末100に送信する。CReqは、第1のプリンタ用COの送信を要求する信号である。CReqは、プリンタ10が第1のプリンタ用COを受信することを示す値「sta」を含む。さらに、CReqは、プリンタ10がConfiguratorとして動作するための動作情報を要求する値「config」を含む。例えば、図3〜図6の処理が終了してプリンタ10とAP6との間にAP接続が確立された後に、プリンタ10と端末100との間でDPP方式に従った通信が実行される後述のケースA(図8、図9)が想定される。このケースでは、プリンタ10は、Configuratorとして動作して、第1のプリンタ用COを利用して、第1の端末用COを生成し、第1の端末用COを端末100に送信する。本ケースにおいて、プリンタ10は、後のケースAに先立ち、T300において、値「config」を含むCReqを予め端末100に送信する。これにより、プリンタ10は、後のケースAにおいて、Configuratorとして動作して、端末100から取得した第1のプリンタ用COを利用して、第1の端末用COを生成することが可能となる。
端末100は、T300において、プリンタ10からCReqを受信すると、T302において、端末100のメモリ(図示省略)から、グループID「Group1」と公開鍵TPK2と秘密鍵tsk2とを取得する。上記のように、端末100は、図2のT15のConfigをAP6と実行済みであり、この際に、グループID「Group1」と公開鍵TPK2と秘密鍵tsk2とを生成してメモリに記憶する。グループID「Group1」は、プリンタ10とAP6との間のWi−Fi接続が確立されることによって形成される無線ネットワークを識別する情報である。なお、変形例では、ユーザによって指定された文字列がグループIDとして利用されてもよい。即ち、T302では、端末100は、図2のT15で記憶された各情報を取得する。次いで、端末100は、T304において、第1のプリンタ用COを生成する。具体的には、端末100は、以下の各処理を実行する。
端末100は、まず、端末100の公開鍵TPK2をハッシュ化することによって、ハッシュ値HV1を生成する。また、端末100は、ハッシュ値HV1と、グループID「Group1」と、図4のT220のARes内のプリンタ10の公開鍵PPK2と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、端末100は、ECDSA(Elliptic Curve Digital Signature Algorithmの略)に従って、端末100の秘密鍵tsk2を利用して、生成済みの特定値を暗号化することによって、電子署名DSpr1を生成する。この結果、端末100は、ハッシュ値HV1と、グループID「Group1」と、プリンタ10の公開鍵PPK2と、電子署名DSpr1と、を含む第1のプリンタ用Signed−Connector(以下では、Signed−Connectorのことを単に「SC」と記載する)を生成することができる。そして、端末100は、第1のプリンタ用SCと、端末100の公開鍵TPK2と、を含む第1のプリンタ用COを生成する。
T310では、端末100は、第1のプリンタ用COを含むDPP Configuration Response(以下では単に「CRes」と記載する)をプリンタ10に送信する。ここで、CResは、CReq内の値「config」に対する応答として動作情報を含む。動作情報は、プリンタ10がConfiguratorとして動作して他の端末(例えば端末200)のための第1の端末用COを生成するための情報(例えば、端末100の秘密鍵tsk2)を含む。
プリンタ10は、T310において、端末100からCResを受信すると、T312において、CRes内の第1のプリンタ用COを記憶する。第1のプリンタ用COは、AP6とのAP接続の確立に利用される情報であり、AP6とのAP接続を確立するための接続情報であると言える。プリンタ10は、AP情報44として第1のプリンタ用COを記憶する。T312の処理が終了すると、図5の処理が終了する。
(Network Access(NA);図6)
次いで、図6を参照して、図2のT40のNAの処理を説明する。上記のように、図2のT25〜T35と同様に、T5〜T15の処理が端末100及びAP6の間で実行済みである。AP6は、AP6の公開鍵APK1及び秘密鍵ask1を予め記憶している。そして、AP6の公開鍵APK1と、AP6のMACアドレスと、をコード化することによって得られるQRコードが、AP6の筐体に貼り付けられている。端末100が当該QRコードを撮影することによって、端末100及びAP6の間で図4のT200以降の各処理と同様の各処理が実行される。この結果、AP6は、AP6の公開鍵APK2及び秘密鍵ask2を記憶し(図4のT216参照)、さらに、端末100から受信されるAP用COを記憶する(図5のT312参照)。AP用COは、AP用SCと、端末100の公開鍵TPK2と、を含む。当該公開鍵TPK2は、第1のプリンタ用COに含まれる公開鍵TPK2と同じである。また、AP用SCは、ハッシュ値HV1と、グループID「Group1」と、AP6の公開鍵APK2と、電子署名DSap1と、を含む。当該ハッシュ値HV1及び当該グループID「Group1」は、それぞれ、第1のプリンタ用COに含まれるハッシュ値HV1及びグループID「Group1」と同じである。電子署名DSap1は、ハッシュ値HV1とグループID「Group1」と公開鍵APK2との組み合わせをハッシュ化することによって得られる特定値が端末100の秘密鍵tsk2によって暗号化された情報であり、第1のプリンタ用COに含まれる電子署名DSpr1とは異なる値である。
プリンタ10は、T400において、第1のプリンタ用SCを含むDPP Peer Discovery Request(以下では単に「DReq」と記載する)をAP6に送信する。DReqは、認証の実行と、AP用SCの送信と、をAP6に要求する信号である。
AP6は、T400において、プリンタ10からDReqを受信すると、DReqの送信元(即ちプリンタ10)、及び、DReq内の各情報(即ち、ハッシュ値HV1、「Group1」、及び、公開鍵PPK2)を認証するための処理を実行する。具体的には、AP6は、T402において、まず、受信済み第1のプリンタ用SC内のハッシュ値HV1及びグループID「Group1」が、それぞれ、記憶済みのAP用COに含まれるAP用SC内のハッシュ値HV1及びグループID「Group1」に一致するのか否かに関する第1のAP判断処理を実行する。図6のケースでは、AP6は、第1のAP判断処理で一致すると判断するので、DReqの送信元(即ちプリンタ10)の認証が成功したと判断する。なお、受信済みの第1のプリンタ用SC内のハッシュ値HV1と、記憶済みのAP用COに含まれるAP用SC内のハッシュ値HV1と、が一致するということは、第1のプリンタ用SC及びAP用SCが、同じ装置(即ち端末100)によって生成されたことを意味する。従って、AP6は、受信済みの第1のプリンタ用SCの生成元(即ち端末100)の認証が成功したとも判断する。
AP6は、さらに、記憶済みのAP用COに含まれる端末100の公開鍵TPK2を用いて、受信済みの第1のプリンタ用SC内の電子署名DSpr1を復号する。図6のケースでは、電子署名DSpr1の復号が成功するので、AP6は、電子署名DSpr1を復号することによって得られた特定値と、受信済みの第1のプリンタ用SC内の各情報(即ち、ハッシュ値HV1、「Group1」、及び、公開鍵PPK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のAP判断処理を実行する。図6のケースでは、AP6は、第2のAP判断処理で一致すると判断するので、DReq内の各情報の認証が成功したと判断し、T404以降の処理を実行する。第2のAP判断処理で一致すると判断されることは、第1のプリンタ用COがプリンタ10に記憶された後に、受信済みの第1のプリンタ用SC内の各情報(即ち、ハッシュ値HV1、「Group1」、及び、公開鍵PPK2)が第三者によって改ざんされていないことを意味する。一方、第1のAP判断処理で一致しないと判断される場合、電子署名DSpr1の復号が失敗する場合、又は、第2のAP判断処理で一致しないと判断される場合には、AP6は、認証が失敗したと判断し、T404以降の処理を実行しない。
次いで、AP6は、T404において、ECDHに従って、取得済みのプリンタ10の公開鍵PPK2と、記憶済みのAP6の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CK1を生成する。
T410では、AP6は、AP用SCを含むDPP Peer Discovery Response(以下では単に「DRes」と記載する)をプリンタ10に送信する。
プリンタ10は、T410において、AP6からDResを受信すると、DResの送信元(即ちAP6)、及び、DRes内の各情報(即ち、ハッシュ値HV1、「Group1」、及び、公開鍵APK2)を認証するための処理を実行する。具体的には、プリンタ10は、T412において、まず、受信済みのAP用SC内のハッシュ値HV1及びグループID「Group1」が、それぞれ、記憶済みの第1のプリンタ用COに含まれる第1のプリンタ用SC内のハッシュ値HV1及びグループID「Group1」に一致するのか否かに関する第1のPR判断処理を実行する。図6のケースでは、プリンタ10は、第1のPR判断処理で一致すると判断するので、DResの送信元(即ちAP6)の認証が成功したと判断する。なお、受信済みのAP用SC内のハッシュ値HV1と、記憶済みの第1のプリンタ用COに含まれる第1のプリンタ用SC内のハッシュ値HV1と、が一致するということは、第1のプリンタ用SC及びAP用SCが、同じ装置(即ち端末100)によって生成されたことを意味する。従って、プリンタ10は、受信済みのAP用SCの生成元(即ち端末100)の認証が成功したとも判断する。
プリンタ10は、さらに、記憶済みの第1のプリンタ用COに含まれる端末100の公開鍵TPK2を用いて、受信済みのAP用SC内の電子署名DSap1を復号する。図6のケースでは、電子署名DSap1の復号が成功するので、プリンタ10は、電子署名DSap1を復号することによって得られた特定値と、受信済みのAP用SC内の各情報(即ち、ハッシュ値HV1、「Group1」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のPR判断処理を実行する。図6のケースでは、プリンタ10は、第2のPR判断処理で一致すると判断するので、DRes内の各情報の認証が成功したと判断し、T414以降の処理を実行する。第2のPR判断処理で一致すると判断されることは、AP用COがAP6に記憶された後に、AP用SC内の各情報(即ち、ハッシュ値HV1、「Group1」、及び、公開鍵APK2)が第三者によって改ざんされていないことを意味する。一方、第1のPR判断処理で一致しないと判断される場合、電子署名DSap1の復号が失敗する場合、又は、第2のPR判断処理で一致しないと判断される場合には、プリンタ10は、認証が失敗したと判断し、T414以降の処理を実行しない。
プリンタ10は、T414において、ECDHに従って、記憶済みのプリンタ10の秘密鍵psk2と、受信済みのAP用SC内のAP6の公開鍵APK2と、を用いて、接続キーCK1を生成する。ここで、T404でAP6によって生成される接続キーCK1と、T414でプリンタ10によって生成される接続キーCK1と、は同じである。これにより、AP接続を確立するための接続キーCK1がプリンタ10及びAP6の間で共有される。
上述したように、接続キーCK1がプリンタ10及びAP6の間で共有された後に、T420において、プリンタ10及びAP6は、接続キーCK1を利用して、4way−handshakeの通信を実行する。この結果、プリンタ10とAP6との間にAP接続が確立される。T420が終了すると、図6の処理が終了する。
(プリンタ10のAuthの処理;図7)
図7を参照して、プリンタ10のCPU32によって実現されるAuthの処理を説明する。図4のAuthの処理のうち、プリンタ10が実行する処理は、図7の処理によって実現される。
S2では、CPU32は、Wi−FiI/F16を介して、BSの処理においてプリンタ10のQRコードを撮影した端末(以下では、「Initiator端末」と記載)からAReqを受信することを監視する。CPU32は、Initiator端末からAReqを受信する場合(S2でYES)に、S4に進む。図4のT210の処理は、S2に処理によって実現される。なお、図7の処理における全ての通信は、Wi−FiI/F16を介して実行される。従って、以下では、「Wi−FiI/F16を介して」という記載を省略する。
S4では、CPU32は、受信済みのAReqがMACアドレス「mac_ap」を含むのか否かを判断する。図3のT106で示したように、「AP通信」ボタンが選択される場合には、MACアドレス「mac_ap」を含む情報がコード化されたAP用QRコードが表示される。これにより、Initiator端末は、AP用QRコードを撮影し、MACアドレス「mac_ap」を取得し、MACアドレス「mac_ap」を含むAReqをプリンタ10に送信する。一方、選択画面内の「WFD通信」ボタンが選択される場合には、WFD接続で利用されるMACアドレス「mac_wfd」を含む情報がコード化されたWFD用QRコードが表示される。これにより、Initiator端末は、WFD用QRコードを撮影し、MACアドレス「mac_wfd」を取得し、MACアドレス「mac_wfd」を含むAReqをプリンタ10に送信する。CPU32は、受信済みのAReqがMACアドレス「mac_ap」を含むと判断する場合(S4でYES)に、S10に進み、受信済みのAReqがMACアドレス「mac_wfd」を含むと判断する場合(S4でNO)に、S20に進む。そして、プリンタ10は、AReqがMACアドレス「mac_ap」を含むと判断される場合(S4でYES)に、いずれかのAPとのAP接続を確立し、AReqがMACアドレス「mac_wfd」を含むと判断される場合に、Initiator端末とのWFD接続を確立する。WFD接続を確立する処理については、図12〜図15において後述する。このような構成によれば、プリンタ10は、AReqに含まれるMACアドレスに応じて適切なWi−Fi接続を確立することができる。
S10では、CPU32は、AP情報44がメモリ34に記憶されているのか否かを判断する。AP情報44がメモリ34に記憶されていないことは、プリンタ10といずれかのAPとの間にAP接続が確立されていないことを意味する。CPU32は、AP情報44がメモリ34に記憶されていないと判断する場合(S10でNO)に、S16に進む。
S16では、CPU32は、プリンタ10のcapabilityを「Enrollee」に決定する。
次いで、S40では、CPU32は、図4のT212〜T218と同様の処理(即ちInitiator端末の認証と暗号化データの生成)を実行する。
次いで、S42では、CPU32は、capability「Enrollee」を含むAResをInitiator端末に送信する。
次いで、S44では、CPU32は、図4のT230、T234と同様のConfirm処理を実行する。即ち、CPU32は、Enrolleeとして動作することを決定する。S44の処理が終了すると、図7の処理が終了する。
また、AP情報44がメモリ34に記憶されていることは、プリンタ10といずれかのAP(例えばAP6)との間にAP接続が確立されていることを意味する。CPU32は、AP情報44がメモリ34に記憶されていると判断する場合(S10でYES)に、S12に進む。
S12では、CPU32は、S2で受信されたAReqが、Initiator端末のcapabilityとしてEnrolleeのみとして動作可能であることを示す値を含むのか否かを判断する。受信済みのAReqがEnrolleeのみとして動作可能であることを示す値を含む状況は、例えば、Initiator端末において他の装置からCOを受信することを優先的に実行するプログラムがインストールされている状況や、Initiator端末において他の装置からCOを受信することを選択するための操作がユーザによって行われた状況等が想定される。CPU32は、受信済みのAReqがEnrolleeのみとして動作可能であることを示す値を含むと判断する場合(S12でYES)に、S14に進む。
S14では、CPU32は、プリンタ10のcapabilityを「Configurator」に決定する。続くS30は、S40と同様である。
次いで、S32では、CPU32は、capability「Configurator」を含むAResをInitiator端末に送信する。
次いで、S34では、CPU32は、Confirm処理を実行する。S34のConfirm処理では、CPU32は、S44で実行されるConfirm処理と異なり、Configuratorとして動作することを決定する。S34の処理が終了すると、図7の処理が終了する。
また、CPU32は、受信済みのAReqがConfigurator及びEnrolleeのどちらとしても動作可能であることを示す値を含む場合、又は、受信済みのAReqがConfiguratorとしてのみ動作可能であることを示す値を含むと判断する場合(S12でNO)に、S16に進む。即ち、CPU32は、プリンタ10のcapabilityを「Enrollee」に決定する。そして、S40〜S44の処理が実行されて、図7の処理が終了する。
また、CPU32は、受信済みのAReqがMACアドレス「mac_wfd」を含むと判断する場合(S4でNO)に、S20〜S26の処理を実行する。プリンタ10は、後述するG/O Negotiationを実行して、G/O状態とCL状態とのうちのいずれかを選択する。CPU32は、G/O Negotiationの結果、プリンタ10がG/O状態である場合(S20でYES)に、S24に進み、G/O Negotiationの結果、プリンタ10がCL状態である場合(S20でNO)に、S26に進む。
S24では、CPU32は、プリンタ10のcapabilityを「Configurator」に決定する。そして、CPU32は、S24が終了すると、S30〜S34の処理を実行して、図7の処理を終了する。
S26では、CPU32は、プリンタ10のcapabilityを「Enrollee」に決定する。そして、CPU32は、S26が終了すると、S40〜S44の処理を実行して、図7の処理を終了する。
例えば、Initiator端末からAReqが受信される前に、S10の判断(即ちAP情報44が記憶されているのか否かの判断)が実行される比較例が想定される。例えば、プリンタ10は、Authの処理の前にBSの処理においてS10の判断を実行する。この比較例では、プリンタ10は、何らかの原因(例えば通信不良)においてAuthの処理が実行されない場合にもS10の判断が不必要に実行される。これに対して、本実施例の構成によれば、プリンタ10は、Initiator端末からAReqが受信される場合(S2でYES)にS10の判断を実行する。本実施例の構成によれば、S10の判断が不必要に実行されることを抑制することができる。なお、変形例では、比較例の構成を採用してもよい。
(具体的なケースA;図8、図9)
図8、図9を参照して、図7の処理によって実現される具体的なケースAを説明する。ケースAは、図2(即ち図3〜図6)の処理の続きである。即ち、ケースAの初期状態では、プリンタ10とAP6との間にAP接続が確立されている。このため、プリンタ10のメモリ34には、AP情報44として第1のプリンタ用COが記憶されている(図5のT312参照)。また、端末200は、いずれかのAPとの間にAP接続を確立していない。本ケースでは、プリンタ10とAP6との間にAP接続を確立した後に、端末200とAP6との間にAP接続を確立する。端末200とAP6との間にAP接続が確立されることによって、端末200は、AP6によって形成される無線ネットワークに子局として参加することができ、AP6を介して、プリンタ10と通信することができる。
(ケースAにおけるBootstrapping(BS)とAuthentication(Auth);図8)
図8を参照して、ケースAにおけるBSの処理とAuthの処理を説明する。T455は、端末200がプリンタ10のAP用QRコードを撮影する点を除いて、図2のT25(即ち図3)と同様である。
T500では、端末200は、端末200の公開鍵TPK3及び秘密鍵tsk3を生成する。T502は、端末200の秘密鍵tsk3とプリンタ10の公開鍵PPK1とを用いて共有鍵SK3を生成する点を除いて、図4のT202と同様である。T504は、共有鍵SK3を用いてランダム値RV2を暗号化して、暗号化データED2を生成する点を除いて、図4のT204と同様である。
本ケースでは、例えば、端末200において他の装置からCOを受信することを選択するための操作がユーザによって行われている。このため、T510では、端末200は、端末200のcapabilityとしてEnrolleeのみとして動作可能であることを示す値を含むAReqをプリンタ10に送信する。さらに、当該AReqは、T500で生成された端末200の公開鍵TPK3と、T504で生成された暗号化データED3と、MACアドレス「mac_ap」とを含む。
プリンタ10は、T510において、端末200からAReqを受信すると、T511aにおいて、受信済みのAReqがMACアドレス「mac_ap」を含むと判断する(図7のS4でYES)。T511bでは、プリンタ10は、AP情報44として第1のプリンタ用COがメモリ34に記憶されていると判断する(S10でYES)。T511cでは、プリンタ10は、受信済みAReqが、端末200のcapabilityとしてEnrolleeのみとして動作可能であることを示す値を含むと判断する(S12でYES)。そして、T511dでは、プリンタ10は、プリンタ10のcapabilityを「Configurator」に決定する(S14)。
次いで、プリンタ10は、図4のT212〜T218と同様の認証を実行し、認証が成功する(S30)。即ち、プリンタ10は、T512において、AReq内の端末200の公開鍵TPK3と、プリンタ10の秘密鍵psk1と、を用いて、共有鍵SK3を生成し、T514において、共有鍵SK3を用いて、AReq内の暗号化データED3を復号し、ランダム値RV3を取得する。そして、プリンタ10は、T516において、プリンタ10の新たな公開鍵PPK3及び新たな秘密鍵psk3を生成し、T517において、AReq内の端末200の公開鍵TPK3とプリンタ10の秘密鍵psk3とを用いて、共有鍵SK3を生成し、T518において、共有鍵SK3を用いて、ランダム値RV3及び新たなランダム値RV4を暗号化して、暗号化データED4を生成する。
次いで、プリンタ10は、T520において、プリンタ10の公開鍵PPK3と、暗号化データED4と、プリンタ10のcapability(即ち、Configuratorのみとして動作可能であることを示す値)と、を含むAResを端末200に送信する(S32)。
端末200は、T520において、プリンタ10からAResを受信すると、図4のT222、T224と同様の認証を実行し、認証が成功する。即ち、端末200は、T522において、T500で生成された端末200の秘密鍵tsk3と、ARes内のプリンタ10の公開鍵PPK3と、を用いて、共有鍵SK4を生成し、T524において、共有鍵SK4を用いて、ARes内の暗号化データED4を復号し、ランダム値RV3及びRV4を取得する。
T530では、端末200は、Confirmをプリンタ10に送信する。Confirmは、端末200がEnrolleeとして動作し、かつ、プリンタ10がConfiguratorとして動作することを示す情報を含む。この結果、T532において、Enrolleeとして動作することが端末200によって決定され、T534において、Configuratorとして動作することがプリンタ10によって決定される。
(ケースAにおけるConfiguration(Config)とNetwork Access(NA);図9)
図9を参照して、ケースAにおけるConfigの処理とNAの処理を説明する。即ち、図9は、図8の続きである。本ケースでは、端末200がEnrolleeである。このため、T600では、端末200が、CReqをプリンタ10に送信する。本ケースのCReqは、値「sta」を含むが、値「config」を含まない。
プリンタ10は、T600において、端末200からCReqを受信すると、T602において、AP情報44である第1のプリンタ用COから、ハッシュ値HV1と、グループID「Group1」と、公開鍵TPK2と、を取得する。次いで、プリンタ10は、T604において、第1の端末用COを生成する。具体的には、プリンタ10は、以下の各処理を実行する。
プリンタ10は、ハッシュ値HV1と、グループID「Group1」と、図8のT510のAReq内の端末200の公開鍵TPK3と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、プリンタ10は、ECDSAに従って、図5のT310で端末100から受信した動作情報に含まれる秘密鍵tsk2を利用して、生成済みの特定値を暗号化することによって、電子署名DSta1を生成する。この結果、プリンタ10は、ハッシュ値HV1と、グループID「Group1」と、端末200の公開鍵TPK3と、電子署名DSta1と、を含む第1の端末用SCを生成することができる。そして、プリンタ10は、第1の端末用SCと、公開鍵TPK2と、を含む第1の端末用COを生成する。
T610では、プリンタ10は、第1の端末用COを含むCResを端末200に送信する。これにより、端末200は、第1の端末用COを取得し、T612において、第1の端末用COを記憶する。
次いで、端末200は、T620において、第1の端末用SCを含むDReqをAP6に送信する。
AP6は、T620において、端末200からDReqを受信すると、T622において、図6のT402と同様に、DReqの認証を実行する。図9のケースでは、受信済み第1の端末用SC内のハッシュ値HV1及びグループID「Group1」が、それぞれ、記憶済みのAP用COに含まれるAP用SC内のハッシュ値HV1及びグループID「Group1」に一致するので、AP6は、第1のAP判断処理において、認証成功と判断する。
AP6は、さらに、記憶済みのAP用COに含まれる公開鍵TPK2を用いて、受信済みの第1の端末用SC内の電子署名DSta1を復号する。図9のケースでは、電子署名DSta1の復号が成功する。本ケースでは、AP6は、電子署名DSpr1を復号することによって得られた特定値と、受信済みの第1の端末用SC内の各情報(即ち、ハッシュ値HV1、「Group1」、及び、公開鍵TPK3)をハッシュ化することによって得られる値と、が一致するので、AP6は、第2のAP判断処理において、認証成功と判断する。
次いで、T624では、AP6は、ECDHに従って、取得済みの端末200の公開鍵TPK3と、記憶済みのAP6の秘密鍵ask2と、を用いて、接続キーCK2を生成する。T630では、AP6は、AP用SCを含むDResを端末200に送信する。
端末200は、T630において、AP6からDResを受信すると、T632において、図6のT412と同様に、DResの認証を実行する。端末200は、まず、第1のPR判断処理と同様の第1のTA判断処理を実行する。図9のケースでは、受信済みAP用SC内のハッシュ値HV1及びグループID「Group1」が、それぞれ、記憶済みの第1の端末用COに含まれる第1の端末用SC内のハッシュ値HV1及びグループID「Group1」に一致するので、端末200は、第1のTA判断処理において、認証成功と判断する。
次いで、端末200は、第2のPR判断処理と同様の第2のTA判断処理を実行する。具体的には、端末200は、記憶済みの第1の端末用COに含まれる公開鍵TPK2を用いて、受信済みのAP用SC内の電子署名DSap1を復号する。本ケースでは、端末200は、電子署名DSap1を復号することによって得られた特定値と、受信済みのAP用SC内の各情報(即ち、ハッシュ値HV1、「Group1」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するので、端末200は、第2のTA判断処理において、認証成功と判断する。
次いで、T634では、端末200は、ECDHに従って、記憶済みの端末200の秘密鍵tsk3と、取得済みのAP6の公開鍵APK2と、を用いて、接続キーCK2を生成する。これにより、端末200及びAP6は、T640において、接続キーCK2を利用して、AP接続を確立する。
(具体的なケースB;図10、図11)
図10、図11を参照して、図7の処理によって実現される具体的なケースBを説明する。ケースBは、ケースAと同様に、図2(即ち図3〜図6)の処理の続きである。即ち、ケースAの初期状態では、プリンタ10とAP6との間にAP接続が確立されている。また、端末200は、AP8との間にAP接続を確立している。本ケースでは、各デバイス8、10、200がDPP方式に従った通信を実行することによって、プリンタ10とAP8との間に新たにAP接続を確立する。これにより、プリンタ10をAP6からAP8に接続し直すことができる。
(ケースBにおけるBootstrapping(BS)とAuthentication(Auth);図10)
図10を参照して、ケースBにおけるBSの処理とAuthの処理を説明する。T655は、図8のT455と同様である。T700〜T704は、図8のT500〜T504と同様である。
本ケースでは、端末200において他の装置からCOを受信することを選択するための操作がユーザによって行われていない。このため、T710では、端末200は、端末200のcapabilityとしてConfigurator及びEnrolleeのどちらでも動作可能であることを示す値を含むAReqをプリンタ10に送信する。T710は、端末200のcapabilityの値が異なる点を除いて、図8のT510と同様である。
T711a、T711bは、図8のT511a、T511bと同様である。T511cでは、プリンタ10は、受信済みAReqが、端末200のcapabilityとしてEnrolleeのみとして動作可能であることを示す値を含まないと判断する(S12でNO)。そして、T711dでは、プリンタ10は、プリンタ10のcapabilityを「Enrollee」に決定する(S16)。
T712〜T718は、図8のT512〜T518と同様である。T720は、AResがプリンタ10のcapabilityとしてEnrolleeのみとして動作可能であることを示す値を含む点を除いて、図8のT520と同様である。
T722、T724は、図8のT522、T524と同様である。T730は、Confirmが、端末200がConfiguratorとして動作し、かつ、プリンタ10がEnrolleeとして動作することを示す情報を含む点を除いて、図8のT530と同様である。この結果、T732において、Configuratorとして動作することが端末200によって決定され、T534において、Enrolleeとして動作することがプリンタ10によって決定される。
(ケースBにおけるConfiguration(Config)とNetwork Access(NA);図11)
図11を参照して、ケースBにおけるConfigの処理とNAの処理を説明する。即ち、図11は、図10の続きである。本ケースでは、プリンタ10がEnrolleeである。このため、T800では、プリンタ10が、CReqを端末200に送信する。本ケースのCReqは、値「sta」と、値「config」を含む。
端末200は、T800において、プリンタ10からCReqを受信すると、T802では、端末200のメモリ(図示省略)から、グループID「Group2」と公開鍵TPK10と秘密鍵tsk10とを取得する。本ケースでは、端末200とAP8との間にAP接続が確立されている。即ち、端末200は、DPP方式に従ったConfigをAP8と実行済みであり、この際に、グループID「Group2」と公開鍵TPK10と秘密鍵tsk10とを生成してメモリに記憶する。即ち、T802では、端末200は、Configで記憶された各情報を取得する。次いで、端末200は、T804において、第1のプリンタ用COを生成する。具体的には、端末200は、端末200の公開鍵TPK10をハッシュ化することによって、ハッシュ値HV2を生成する。また、端末200は、ハッシュ値HV2と、グループID「Group2」と、図10のT720のARes内のプリンタ10の公開鍵PPK3と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、端末100は、端末200の秘密鍵tsk10を利用して、生成済みの特定値を暗号化することによって、電子署名DSpr2を生成する。この結果、端末100は、ハッシュ値HV2と、グループID「Group2」と、プリンタ10の公開鍵PPK3と、電子署名DSpr2と、を含む第1のプリンタ用SCを生成する。そして、端末100は、第1のプリンタ用SCと、端末200の公開鍵TPK10と、を含む第1のプリンタ用COを生成する。
T810では、端末200は、第1のプリンタ用COを含むCResをプリンタ10に送信する。これにより、プリンタ10は、T812において、AP情報44として記憶されている第1のプリンタ用CO(即ち、AP6とのAP接続に利用される第1のプリンタ用CO)に代えて、T810で受信された第1のプリンタ用COをAP情報44として記憶する。即ち、AP情報44を更新する。
上記したように、本ケースでは、端末200とAP8との間にAP接続が確立されている。このため、AP8は、AP8の公開鍵APK10及び秘密鍵ask10を記憶し、さらに、端末200から受信されるAP用COを記憶する。AP用COは、AP用SCと、端末100の公開鍵TPK10と、を含む。また、AP用SCは、ハッシュ値HV2と、グループID「Group2」と、AP8の公開鍵APK10と、電子署名DSap2と、を含む。電子署名DSap2は、ハッシュ値HV2とグループID「Group2」と公開鍵APK10との組み合わせをハッシュ化することによって得られる特定値が端末200の秘密鍵tsk10によって暗号化された情報であり、第1のプリンタ用COに含まれる電子署名DSpr2とは異なる値である。
T820〜T834は、主に、AP8とプリンタ10との間で通信が実行される点と、公開鍵PPK3と秘密鍵ask10(又は秘密鍵psk3と公開鍵APK10)を用いて接続キーCK3が生成される点と、を除いて、図6のT400〜T414と同様である。これにより、プリンタ10及びAP8は、T840において、接続キーCK3を利用して、AP接続を確立する。
(具体的なケースC;図12〜図15)
図12〜図15を参照して、図7の処理によって実現される具体的なケースCを説明する。ケースCは、ケースAと同様に、図2(即ち図3〜図6)の処理の続きである。即ち、ケースCの初期状態では、プリンタ10とAP6との間にAP接続が確立されている。本ケースでは、ユーザによって「WFD通信」ボタンが選択されることによって、プリンタ10と端末200との間にWFD接続が確立される。
(ケースCにおけるBootstrapping(BS);図12)
図12を参照して、ケースCにおけるBSの処理を説明する。T850、T852は、図3のT100、T102と同様である。T854では、ユーザは、操作部12を操作して、選択画面内の「WFD通信」ボタンを選択する。T856は、WFD用QRコードが表示部14に表示される点を除いて、図3のT106と同様である。WFD用QRコードは、プリンタ10の公開鍵PPK1と、WFD接続に利用されるMACアドレス「mac_wfd」と、をコード化することによって得られたものである。
T870、T872は、WFD用QRコードが端末200によって撮影される点と、MACアドレス「mac_wfd」が端末200によって取得される点と、を除いて、図3のT120、T122と同様である。
次いで、端末200とプリンタ10は、T880において、WFD方式に従ったWFD Discoveryの通信を実行する。WFD Discoveryは、プリンタ10を検索するための通信である。
次いで、端末200とプリンタ10は、T890において、WFD方式に従ったG/O Negotiationの通信を実行する。G/O Negotiationは、G/O状態及びCL状態のうちのどちらで動作すべきかを決定するための通信である。本ケースでは、プリンタ10がG/O状態となり、端末200がCL状態となることが決定される。この結果、T892では、端末200がCL状態となり、T894では、プリンタ10がG/O状態となる。例えば、プリンタ10と端末200のいずれがG/O状態となるかは、プリンタ10又は端末200の仕様等の様々な要因により決まる。本実施例では、プリンタ10といずれかのAPとの間にAP接続が確立されている場合に、プリンタ10はG/O状態となり、プリンタ10といずれかのAPとの間にAP接続が確立されていない場合に、プリンタ10はCL状態となる。なお、変形例では、端末200がG/O状態となり、プリンタ10がCL状態となることが決定されてもよい。
(ケースCにおけるAuthentication(Auth);図13)
図13を参照して、ケースCにおけるAuthの処理を説明する。即ち、図13は、図12の続きである。T900〜T904は、図8のT500〜T504と同様である。T910は、AReqが端末200のcapabilityとしてConfigurator及びEnrolleeのどちらでも動作可能であることを示す値とMACアドレス「mac_wfd」とを含む点を除いて、図8のT510と同様である。
プリンタ10は、T910において、端末200からAReqを受信すると、T911aにおいて、受信済みのAReqがMACアドレス「mac_wfd」を含むと判断する(図7のS4でNO)。T911cでは、プリンタ10は、プリンタ10がG/O状態であるので(S20でYES)、プリンタ10のcapabilityを「Configurator」に決定する(S24)。T912〜T934は、図8のT512〜T534と同様である。
(ケースCにおけるConfiguration(Config);図14)
図14を参照して、ケースCにおけるConfigの処理を説明する。即ち、図14は、図13の続きである。T1000は、図9のT600と同様である。
T1002では、プリンタ10は、プリンタ10の公開鍵PPK4及び秘密鍵psk4を生成する。次いで、プリンタ10は、T1004において、第2の端末用COを生成する。具体的には、プリンタ10は、以下の各処理を実行する。
プリンタ10は、まず、プリンタ10の公開鍵PPK4をハッシュ化することによって、ハッシュ値HV3を生成する。また、プリンタ10は、ハッシュ値HV3と、グループID「Group3」と、図13のT910のAReq内の端末200の公開鍵TPK3と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、プリンタ10は、ECDSAに従って、秘密鍵psk4を利用して、生成済みの特定値を暗号化することによって、電子署名DSta3を生成する。この結果、プリンタ10は、ハッシュ値HV3と、グループID「Group3」と、端末200の公開鍵TPK3と、電子署名DSta3と、を含む第2の端末用SCを生成することができる。そして、プリンタ10は、第2の端末用SCと、公開鍵PPK4と、を含む第2の端末用COを生成する。
T1010では、プリンタ10は、第2の端末用COを含むCResを端末200に送信する。これにより、端末200は、第2の端末用COを取得し、T1012において、第2の端末用COを記憶する。
(ケースCにおけるNetwork Access(NA);図15)
図15を参照して、ケースCにおけるNAの処理を説明する。即ち、図15は、図14の続きである。
T1020では、プリンタ10は、プリンタ10の公開鍵PPK5及び秘密鍵psk5を生成する。次いで、プリンタ10は、T1022において、第2のプリンタ用COを生成する。具体的には、プリンタ10は、以下の各処理を実行する。
プリンタ10は、ハッシュ値HV3と、グループID「Group3」と、T1020で生成した公開鍵PPK5と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、プリンタ10は、ECDSAに従って、秘密鍵psk4を利用して、生成済みの特定値を暗号化することによって、電子署名DSpr3を生成する。この結果、プリンタ10は、ハッシュ値HV3と、グループID「Group3」と、プリンタ10の公開鍵PPK5と、電子署名DSpr3と、を含む第2のプリンタ用SCを生成することができる。そして、プリンタ10は、第2のプリンタ用SCと、公開鍵PPK4と、を含む第2の端末用COを生成する。
T1030では、プリンタ10は、第2のプリンタ用SCを含むDReqを端末200に送信する。
端末200は、T1030において、プリンタ10からDReqを受信すると、T1032において、図6のT402と同様に、DReqの認証を実行する。具体的には、端末200は、受信済み第2のプリンタ用SC内のハッシュ値HV3及びグループID「Group3」が、それぞれ、記憶済みの第2の端末用SC内のハッシュ値HV3及びグループID「Group3」に一致すると判断する。そして、端末200は、記憶済みの第2の端末用CO内の公開鍵PPK4を用いて、受信済みの第2のプリンタ用SC内の電子署名DSpr3を復号する。端末200は、電子署名DSpr3を復号することによって得られた特定値と、受信済みの第2のプリンタ用SC内の各情報(即ち、ハッシュ値HV3、「Group3」、及び、公開鍵PPK5)をハッシュ化することによって得られる値と、が一致すると判断する。以上により、端末200は、DReqの認証成功と判断する。
次いで、T1034では、端末200は、ECDHに従って、記憶済みの端末200の秘密鍵tsk3と、取得済みのプリンタ10の公開鍵PPK5と、を用いて、接続キーCK4を生成する。T1040では、端末200は、第2の端末用SCを含むDResをプリンタ10に送信する。
プリンタ10は、T1040において、端末200からDResを受信すると、T1042において、図6のT412と同様に、DResの認証を実行する。具体的には、プリンタ10は、受信済み第2の端末用SC内のハッシュ値HV3及びグループID「Group3」が、それぞれ、記憶済みの第2のプリンタ用SC内のハッシュ値HV3及びグループID「Group3」に一致すると判断する。そして、プリンタ10は、記憶済みの第2のプリンタ用CO内の公開鍵PPK4を用いて、受信済みの第2の端末用SC内の電子署名DSta3を復号する。プリンタ10は、電子署名DSta3を復号することによって得られた特定値と、受信済みの第2の端末用SC内の各情報(即ち、ハッシュ値HV3、「Group3」、及び、公開鍵TPK3)をハッシュ化することによって得られる値と、が一致すると判断する。以上により、プリンタ10は、DResの認証成功と判断する。
次いで、T1044では、プリンタ10は、ECDHに従って、取得済みの端末200の公開鍵TPK3と、記憶済みのプリンタ10の秘密鍵psk5と、を用いて、接続キーCK4を生成する。これにより、プリンタ10及び端末200は、T1050において、接続キーCK4を利用して、WFD接続を確立する。
(本実施例の各ケースをまとめたテーブル;図16)
図16を参照して、図7のプリンタ10のAuthの処理によって実現される各ケースについて説明する。図16の行番号1〜8の各ケースに示すように、プリンタ10のcapabilityが決定される。
行番号1〜4のケースは、BSの処理においてプリンタ10のQRコードを撮影した端末(即ち「Initiator端末」)といずれかのAP(例えばAP6)との間にAP接続が確立されているケースを示す。
行番号1のケースでは、プリンタ10といずれかのAP(例えばAP6)との間にAP接続が確立されておらず、かつ、プリンタ10に表示される選択画面(図3のT102参照)において「AP通信」ボタンが選択されるケースを示す。このケースは、図2〜図6のケースに相当する。即ち、Initiator端末とAP6との間にAP接続が確立されている状況において、プリンタ10は、AP6との間にAP接続を確立する。このケースでは、プリンタ10は、AReqがMACアドレス「mac_ap」を含むと判断し(図7のS4でYES)、AP情報44がメモリ34に記憶されていないと判断する(S10でNO)。この結果、プリンタ10は、プリンタ10のcapabilityを「Enrollee」に決定する(S16)。本ケースでは、プリンタ10は、Initiator端末からCOを受信して、Initiator端末が現在参加している無線ネットワークに子局として参加することができる。
行番号2のケースでは、プリンタ10といずれかのAPとの間にAP接続が確立されておらず、かつ、選択画面において「WFD通信」ボタンが選択されるケースを示す。このケースは、プリンタ10とInitiator端末との間にWFD接続を確立するケースに相当する。このケースでは、プリンタ10は、AReqがMACアドレス「mac_wfd」を含むと判断する(図7のS4でNO)。プリンタ10は、プリンタ10といずれかのAPとの間にAP接続が確立さていないので、CL状態となる(S20でNO)。この結果、プリンタ10は、プリンタ10のcapabilityを「Enrollee」に決定する(S26)。本ケースでは、プリンタ10は、「WFD通信」ボタンが選択されることに応じて、WFD方式に従って、Initiator端末と通信を実行することができる。
行番号3のケースでは、プリンタ10とAP6との間にAP接続が確立されており、かつ、選択画面において「AP通信」ボタンが選択されるケースを示す。このケースは、図10、図11のケースBに相当する。即ち、Initiator端末とAP8との間にAP接続が確立されている状況において、プリンタ10をAP6からAP8に接続し直すケースに相当する。このケースでは、プリンタ10は、プリンタ10のcapabilityを「Enrollee」に決定する(図10のT711a〜T711d、図7のS16)。
行番号4のケースでは、プリンタ10といずれかのAPとの間にAP接続が確立されており、かつ、選択画面において「WFD通信」ボタンが選択されるケースを示す。このケースは、Initiator端末といずれかのAPとの間にAP接続が確立されているものの、プリンタ10とInitiator端末との間にWFD接続を確立するケースに相当する。このケースでは、プリンタ10は、AReqがMACアドレス「mac_wfd」を含むと判断する(図7のS4でNO)。プリンタ10は、プリンタ10といずれかのAPとの間にAP接続が確立さているので、G/O状態となる(S20でYES)。この結果、プリンタ10は、プリンタ10のcapabilityを「Configurator」に決定する(S24)。本ケースでは、プリンタ10は、APを介した通信を実行することができるものの、セキュリティを考慮して、WFD方式に従って、Initiator端末と通信を実行することができる。
また、行番号5〜8のケースは、Initiator端末といずれかのAP(例えばAP6)との間にAP接続が確立されていないケースを示す。
行番号5のケースは、Initiator端末といずれかのAPとの間にAP接続が確立されていない点を除いて、行番号1のケースと同様である。このケースでは、Initiator端末とAP6との間にAP接続が確立されていない状況において、プリンタ10がAP6との間にAP接続を確立する。例えば、プリンタ10とAP6との間にAP接続が確立された後に、Initiator端末がAP6に貼り付けられているQRコードを撮影することによって、Initiator端末とAP6との間にもAP接続が確立される。このケースでは、プリンタ10は、プリンタ10のcapabilityを「Enrollee」に決定する(図7のS16)。本ケースでは、プリンタ10とInitiator端末の双方をAPによって形成される無線ネットワークに参加させることができる。
行番号6のケースは、Initiator端末といずれかのAPとの間にAP接続が確立されていない点を除いて、行番号2のケースと同様である。このケースでは、プリンタ10は、プリンタ10のcapabilityを「Enrollee」に決定する(図7のS26)。本ケースでは、プリンタ10とInitiator端末の双方がAPとWi−Fi接続を確立していない状況において、プリンタ10は、WFD方式に従って、Initiator端末と通信を実行することができる。
行番号7のケースは、Initiator端末といずれかのAPとの間にAP接続が確立されていない点を除いて、行番号3のケースと同様である。このケースは、図8、図9のケースAに相当する。即ち、Initiator端末といずれかのAPとの間にAP接続が確立されておらず、かつ、プリンタ10とAP6との間にAP接続が確立されている状況において、Initiator端末は、AP6との間にAP接続が確立する。このケースでは、プリンタ10は、プリンタ10のcapabilityを「Configurator」に決定する(図8のT511a〜T511d、図7のS14)。本ケースでは、プリンタ10は、COをInitiator端末に送信して、Initiator端末をプリンタ10が現在参加している無線ネットワークに子局として参加させることができる。
行番号8のケースは、Initiator端末といずれかのAPとの間にAP接続が確立されていない点を除いて、行番号4のケースと同様である。このケースは、図12〜図15のケースCに相当する。即ち、プリンタ10といずれかのAPとの間にAP接続が確立されているものの、プリンタ10は、Initiator端末との間にWFD接続を確立する。このケースでは、プリンタ10は、プリンタ10のcapabilityを「Configurator」に決定する(図13のT911a、T911c、図7のS24)。本ケースでは、プリンタ10は、APを介した通信を実行することができるものの、セキュリティを考慮して、WFD方式に従って、Initiator端末と通信を実行することができる。
(本実施例の効果)
本実施例の構成によれば、プリンタ10は、AP情報44がメモリ34に記憶されているのか否か、即ち、プリンタ10といずれかのアクセスポイントとの間にAP接続が確立されているのか否かを判断する(図7のS10)。プリンタ10とAP6との間にAP接続が確立されている状況において(S10でYES)、プリンタ10は、Configuratorの役割を担い(S14)、第1の端末用COを端末200に送信する(図9のT610、図16の行番号7のケース)。この結果、端末200とAP6との間にAP接続を確立させることができる(T640)。また、プリンタ10といずれかのアクセスポイントとの間にAP接続が確立されていない状況において(S10でNO)、プリンタ10は、Enrolleeの役割を担い(S16)、端末100から第1のプリンタ用COを受信する(図5のT310、図16の行番号1のケース)。この結果、プリンタ10とAP6との間にAP接続を確立させることができる。従って、プリンタ10は、プリンタ10自身の状況を考慮して、適切な役割を担うことができる。
また、プリンタ10といずれかのアクセスポイントとの間にAP接続が確立されている状況において、プリンタ10は、AReqがInitiator端末のcapabilityとしてEnrolleeのみとして動作可能であることを示す値を含むのか否かを判断する(図7のS12)。プリンタ10は、AReqが当該値を含むと判断する場合(図7のS12でYES)に、Configuratorの役割を担う(S14、図16の行番号7のケース)。一方、プリンタ10は、AReqが当該値を含まないと判断する場合(図7のS12でNO)に、Enrolleeの役割を担う(S16、図16の行番号3のケース)。このような構成によれば、プリンタ10は、プリンタ10自身の状況とInitiator端末の状況の双方を考慮して、適切な役割を担うことができる。
(対応関係)
プリンタ10、表示部14、Wi−FiI/F16が、それぞれ、「第1の通信装置」、「表示部」、「無線インターフェース」の一例である。AP用QRコード及びWFD用QRコードが、「出力情報」の一例である。Initiator端末(例えば端末100)が、「第2の通信装置」の一例である。AReq(即ちDPP Authentication Request)が、「認証要求」の一例である。ARes(即ちDPP Authentication Response)が、「第1の認証応答(及び第2の認証応答)」の一例である。capability「Configurator」、capability「Enrollee」が、それぞれ、「第1の役割情報」、「第2の役割情報」の一例である。図9のT610の第1の端末用COが、「第1の無線設定情報」の一例である。図5のT310の第1のプリンタ用COが、「第2の無線設定情報」の一例である。AP6が、「第1のアクセスポイント」の一例である。図16の行番号1のケースにおいて、AP6が「第2のアクセスポイント」の一例である。図16の行番号3のケースにおいて、AP8が「第2のアクセスポイント」の一例である。図8のT510のAReqにおいて、端末200のcapabilityとしてEnrolleeのみとして動作可能であることを示す値が、「所定情報」の一例である。MACアドレス「mac_ap」、MACアドレス「mac_wfd」が、それぞれ、「第1の利用情報」、「第2の利用情報」の一例である。AP情報44が、「アクセスポイント情報」の一例である。
図3のT106が、「出力制御部」によって実現される処理の一例である。図7のS2、S10、S32、S42が、それぞれ、「認証要求受信部」、「第1の判断部」、「第1の認証応答送信部」、「第2の認証応答送信部」によって実現される処理の一例である。図5のT310、図6のT420が、それぞれ、「第1の無線設定受信部」、「第1の確立部」によって実現される処理の一例である。図9のT610が、「無線設定送信部」によって実現される処理の一例である。
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。以下に変形例を列挙する。
(変形例1)プリンタ10は、図3のT106において、QRコードを表示する代わりに、QRコードの印刷を印刷実行部18に実行させてもよい。本変形例では、QRコードの印刷を印刷実行部18に実行させる処理が「出力制御処理」の一例である。
(変形例2)プリンタ10及び端末100のそれぞれは、Wi−Fi方式とは異なる無線方式(例えば、BT(Blue Tooth(登録商標)の略)方式、NFC(Near Field Communicationの略)方式等)に従った無線インターフェース(例えば、BTI/F、NFCI/F等)をさらに備えていてもよい。この場合、図3のT106において、プリンタ10は、例えば、公開鍵PPK1とMACアドレス「mac_ap」とを含むDPP情報の送信をプリンタ10のBTI/Fに指示してもよい。この場合、端末100は、端末100のBTI/Fを介して、DPP情報を受信することができる。本変形例では、DPP情報の送信をBTI/Fに指示することが「出力制御処理」の一例である。また、別の変形例では、図3のT106において、プリンタ10は、DPP情報をプリンタ10のNFCI/Fに記憶させてもよい。この場合、端末100は、端末100のNFCI/Fを介して、DPP情報を受信することができる。本変形例では、DPP情報をNFCI/Fに記憶させることが「出力制御処理」の一例である。
(変形例3)上記のケースAでは、プリンタ10は、DPP方式に従った図2の処理を実行して、AP6との間にAP接続を確立する。そして、プリンタ10は、図9のT610において、図2の処理において記憶された第1のプリンタ用COを利用して、第1の端末用SCを生成し、第1の端末用COを端末200に送信する。これに代えて、プリンタ10は、Wi−Fi方式のうち、DPP方式とは異なる他の方式(例えばWPS(Wi-Fi Protected Setupの略)方式)に従って、無線プロファイル(即ちSSID(Service Set Identifierの略)とパスワード)を利用した通信を実行して、AP6との間にAP接続を確立してもよい。この場合、プリンタ10は、Configの処理において、第1の端末用SCに代えて、当該他の方式においてプリンタ10に記憶された無線プロファイルを含む第1の端末用COを端末200に送信してもよい。これにより、端末200は、受信済みの無線プロファイルを利用して、AP6との間にAP接続を確立することができる。本変形例では、無線プロファイルが、「第1の無線設定情報」の一例である。また、本変形例では、プリンタ10は、図7のS4において、AP情報44として無線プロファイルが記憶されているのか否かを判断してもよい。本変形例では、無線プロファイルが、「アクセスポイント情報」の一例である。
(変形例4)上記のケースBでは、端末200は、DPP方式に従った通信を実行して、AP8との間にAP接続を確立する。そして、端末200は、図11のT810において、DPP方式に従った通信において記憶された各情報を利用して、第1のプリンタ用SCを生成し、第1のプリンタ用COをプリンタ10に送信する。これに代えて、端末200は、Wi−Fi方式のうち、DPP方式とは異なる他の方式(例えばWPS(Wi-Fi Protected Setupの略)方式)に従った通信を実行して、AP8との間にAP接続を確立してもよい。この場合、プリンタ10は、第1のプリンタ用SCに代えて、他の方式において端末200に記憶された無線プロファイルを含む第1のプリンタ用COを端末200から受信してもよい。本変形例では、無線プロファイルが、「第2の無線設定情報」の一例である。
(変形例5)Wi−FiI/F116は、WFD方式に代えて、Wi−Fi Allianceによって策定されたSoftAP方式をサポートしていてもよい。この場合、図3のT102の選択画面は、「WFD通信」ボタンに代えて、「SoftAP通信」ボタンを含んでもよい。ここで、選択画面内の「AP通信」ボタンが選択される場合に表示されるAP用QRコードは、公開鍵PPK1と、APを介した通信を利用することを示す第1の情報と、をコード化することによって得られる。一方、選択画面内の「SoftAP通信」ボタンが選択される場合に表示されるSoftAP用QRコードは、公開鍵PPK1と、APを介さないSoftAP方式に従った通信を利用することを示す第2の情報と、をコード化することによって得られる。さらに、本変形例では、プリンタ10は、Authの処理において、図7のS4の判断に代えて、AReqが第1の情報を含むのか否かを判断してもよい。プリンタ10は、AReqが第1の情報を含むと判断する場合に、S10に進むとともに、AP(例えばAP6)との間にAP接続を確立してもよい。また、プリンタ10は、AReqが第2の情報を含むと判断する場合に、プリンタ10のcapabilityを「Configurator」と「Enrollee」のうちのいずれかに決定し、Initiator端末との間にSoftAP方式に従ったWi−Fi接続を確立してもよい。本変形例では、第1の情報、第2の情報が、それぞれ、「第1の利用情報」、「第2の利用情報」の一例である。
(変形例6)図7のS12の処理は実行されなくてもよい。本変形例では、図16のテーブルの行番号3のケースにおいて、プリンタ10は、プリンタ10のcapabilityを「Configurator」に決定してもよい。そして、Initiator端末とAP8との間にAP接続が確立されている状況において、プリンタ10は、AP6に関する第1の端末用COを生成し、第1の端末用COをInitiator端末に送信してもよい。そして、Initiator端末は、AP8からAP6に接続し直してもよい。本変形例では、「第2の判断部」及び「所定情報」を省略可能である。
(変形例7)図7のS4、S20〜S26の処理は実行されなくてもよい。即ち、プリンタ10とInitiator端末との間にWFD接続は確立されなくてもよい。本変形例では、「第2の確立部」、「第1の利用情報」、「第2の利用情報」、及び、「第3の無線接続」を省略可能である。
(変形例8)上記の実施例では、プリンタ10は、AP情報44がメモリ34に記憶されているのか否かを判断する(図7のS10)。これに代えて、プリンタ10は、例えば、確認信号をAPに送信することを試行し、確認信号に対する応答信号が受信されるのか否かを判断してもよい。プリンタ10は、応答信号が受信されると判断される場合に、S12に進み、応答信号が受信されないと判断される場合に、S16に進んでもよい。本変形例では、「アクセスポイント情報」を省略可能である。
(変形例9)「第1の通信装置」は、プリンタ10でなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。また、「第2の通信装置」は、端末100等でなくてもよく、プリンタ、スキャナ、多機能機、カメラ等の他のデバイスであってもよい。
(変形例10)上記の実施例では、図2〜図15の各処理がソフトウェア(例えばプログラム40)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、6、8:AP、10:プリンタ、12:操作部、14:表示部、16:Wi−FiI/F、18:印刷実行部、30:制御部、32:CPU、34:メモリ、40:プログラム、44:AP情報、100:端末、115:カメラ、116:Wi−FiI/F、200:端末、215:カメラ、216:Wi−FiI/F、PPK1、PPK2、PPK3、PPK4、PPK5:公開鍵(プリンタ)、TPK1、TPK2、TPK3、TPK10:公開鍵(端末)、APK1、APK2、APK10:公開鍵(AP)、psk1、psk2、psk3、psk4、psk5:秘密鍵(プリンタ)、tsk1、tsk2、tsk3、tsk10:秘密鍵(端末)、ask1、ask2、ask10:秘密鍵(AP)、RV1、RV2、RV3、RV4:ランダム値、ED1、ED2、ED3、ED4:暗号化データ、SK1、SK2、SK3、SK4:共有鍵、HV1、HV2、HV3:ハッシュ値、DSpr1、DSpr2、DSpr3:電子署名(プリンタ)、DSta1、DSta3:電子署名(端末)、DSap1、DSap2:電子署名(AP)、CK1、CK2、CK3、CK4:接続キー

Claims (11)

  1. 第1の通信装置であって、
    Wi−Fi規格に従った無線通信を実行するための無線インターフェースと、
    前記Wi−Fi規格に従った出力情報であって、前記第1の通信装置の公開鍵を用いて得られる前記出力情報を外部に出力するための出力制御処理を実行する出力制御部と、
    前記公開鍵を取得した第2の通信装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
    前記第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されているのか否かを判断する第1の判断部と、
    前記第2の通信装置から前記認証要求が受信され、かつ、前記第1の通信装置と第1のアクセスポイントとの間に無線接続が確立されていると判断される場合に、前記無線インターフェースを介して、前記第1の通信装置が第1の役割を担うことを示す第1の役割情報を含む第1の認証応答を前記第2の通信装置に送信する第1の認証応答送信部であって、前記第1の役割は、前記第2の通信装置が前記第1のアクセスポイントとの第1の無線接続を確立するための第1の無線設定情報を前記第2の通信装置に送信する役割である、前記第1の認証応答送信部と、
    前記第1の認証応答が前記第2の通信装置に送信された後に、前記無線インターフェースを介して、前記第1の無線設定情報を前記第2の通信装置に送信する無線設定送信部と、
    前記第2の通信装置から前記認証要求が受信され、かつ、前記第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されていないと判断される場合に、前記無線インターフェースを介して、前記第1の通信装置が前記第1の役割とは異なる第2の役割を担うことを示す第2の役割情報を含む第2の認証応答を前記第2の通信装置に送信する第2の認証応答送信部であって、前記第2の役割は、前記第1の通信装置が第2のアクセスポイントとの第2の無線接続を確立するための第2の無線設定情報を前記第2の通信装置から受信する役割である、前記第2の認証応答送信部と、
    前記第2の認証応答が前記第2の通信装置に送信された後に、前記無線インターフェースを介して、前記第2の無線設定情報を前記第2の通信装置から受信する第1の無線設定受信部と、
    前記第2の無線設定情報を利用して、前記無線インターフェースを介して、前記第2のアクセスポイントとの前記第2の無線接続を確立する第1の確立部と、
    を備える、第1の通信装置。
  2. 前記第1の判断部は、前記第2の通信装置から前記認証要求が受信される場合に、前記第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されているのか否かを判断する、請求項1に記載の第1の通信装置。
  3. 前記第1の通信装置は、さらに、
    前記第2の通信装置から前記認証要求が受信される場合に、前記認証要求が所定情報を含むのか否かを判断する第2の判断部であって、前記所定情報は、前記第2の通信装置が前記第2の役割を担うことを示す情報である、前記第2の判断部を備え、
    前記第1の認証応答送信部は、前記第1の通信装置と前記第1のアクセスポイントとの間に無線接続が確立されていると判断され、かつ、前記認証要求が前記所定情報を含むと判断される場合に、前記無線インターフェースを介して、前記第1の役割情報を含む前記第1の認証応答を前記第2の通信装置に送信し、
    前記第2の認証応答送信部は、さらに、前記第1の通信装置と前記第1のアクセスポイントとの間に無線接続が確立されていると判断され、かつ、前記認証要求が前記所定情報を含まないと判断される場合に、前記無線インターフェースを介して、前記第2の役割情報を含む前記第2の認証応答を前記第2の通信装置に送信する、請求項1又は2に記載の第1の通信装置。
  4. 前記認証要求は、アクセスポイントを介した通信の利用に関する第1の利用情報と、アクセスポイントを介さない通信の利用に関する第2の利用情報と、のうちのいずれかを含み、
    前記第1の判断部は、前記認証要求が前記第1の利用情報を含む場合に、前記第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されているのか否かを判断し、
    前記第1の通信装置は、さらに、
    前記認証要求が前記第2の利用情報を含む場合に、前記無線インターフェースを介して、前記第2の通信装置とアクセスポイントを介さない第3の無線接続を確立する第2の確立部を備える、請求項1から3のいずれか一項に記載の第1の通信装置。
  5. 前記第3の無線接続は、前記Wi−Fi規格のWi-Fi Direct方式に従った無線接続である、請求項4に記載の第1の通信装置。
  6. 前記第1の通信装置は、前記第1の通信装置が前記Wi-Fi Direct方式におけるGroup Owner状態である場合に、前記第1の役割を担い、
    前記第1の通信装置は、前記第1の通信装置が前記Wi-Fi Direct方式におけるClient状態である場合に、前記第2の役割を担う、請求項5に記載の第1の通信装置。
  7. 前記出力情報は、前記Wi−Fi規格のDevice Provisioning Protocol方式に従った情報である、請求項1から6のいずれか一項に記載の第1の通信装置。
  8. 前記第1の判断部は、前記第1の通信装置との無線接続が確立されたアクセスポイントに関するアクセスポイント情報がメモリに記憶されている場合に、前記第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されていると判断する、請求項1から7のいずれか一項に記載の第1の通信装置。
  9. 前記アクセスポイント情報は、前記Wi−Fi規格のDevice Provisioning Protocol方式に従ったSigned Connectorを含む、請求項8に記載の第1の通信装置。
  10. 前記出力情報は、前記公開鍵がコード化されることによって得られるコード画像であり、
    前記出力制御処理は、前記コード画像である前記出力情報を表示部に表示させるための処理である、請求項1から9のいずれか一項に記載の第1の通信装置。
  11. 第1の通信装置のためのコンピュータプログラムであって、
    前記第1の通信装置は、
    Wi−Fi規格に従った無線通信を実行するための無線インターフェースを備え、
    前記第1の通信装置のコンピュータを以下の各部、即ち、
    前記Wi−Fi規格に従った出力情報であって、前記第1の通信装置の公開鍵を用いて得られる前記出力情報を外部に出力するための出力制御処理を実行する出力制御部と、
    前記公開鍵を取得した第2の通信装置から、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
    前記第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されているのか否かを判断する第1の判断部と、
    前記第2の通信装置から前記認証要求が受信され、かつ、前記第1の通信装置と第1のアクセスポイントとの間に無線接続が確立されていると判断される場合に、前記無線インターフェースを介して、前記第1の通信装置が第1の役割を担うことを示す第1の役割情報を含む第1の認証応答を前記第2の通信装置に送信する第1の認証応答送信部であって、前記第1の役割は、前記第2の通信装置が前記第1のアクセスポイントとの第1の無線接続を確立するための第1の無線設定情報を前記第2の通信装置に送信する役割である、前記第1の認証応答送信部と、
    前記第1の認証応答が前記第2の通信装置に送信された後に、前記無線インターフェースを介して、前記第1の無線設定情報を前記第2の通信装置に送信する無線設定送信部と、
    前記第2の通信装置から前記認証要求が受信され、かつ、前記第1の通信装置といずれかのアクセスポイントとの間に無線接続が確立されていないと判断される場合に、前記無線インターフェースを介して、前記第1の通信装置が前記第1の役割とは異なる第2の役割を担うことを示す第2の役割情報を含む第2の認証応答を前記第2の通信装置に送信する第2の認証応答送信部であって、前記第2の役割は、前記第1の通信装置が第2のアクセスポイントとの第2の無線接続を確立するための第2の無線設定情報を前記第2の通信装置から受信する役割である、前記第2の認証応答送信部と、
    前記第2の認証応答が前記第2の通信装置に送信された後に、前記無線インターフェースを介して、前記第2の無線設定情報を前記第2の通信装置から受信する第1の無線設定受信部と、
    前記第2の無線設定情報を利用して、前記無線インターフェースを介して、前記第2のアクセスポイントとの前記第2の無線接続を確立する第1の確立部と、
    として機能させる、コンピュータプログラム。
JP2019157247A 2019-08-29 2019-08-29 第1の通信装置と第1の通信装置のためのコンピュータプログラム Active JP7310449B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2019157247A JP7310449B2 (ja) 2019-08-29 2019-08-29 第1の通信装置と第1の通信装置のためのコンピュータプログラム
US17/004,128 US11216225B2 (en) 2019-08-29 2020-08-27 First communication device and non-transitory computer-readable medium storing computer-readable instructions for first communication device
EP20193059.1A EP3787328B1 (en) 2019-08-29 2020-08-27 First communication device and computer program for first communication device
CN202010885900.4A CN112449442A (zh) 2019-08-29 2020-08-28 第一通信设备和用于第一通信设备的计算机程序
US17/557,109 US11567714B2 (en) 2019-08-29 2021-12-21 First communication device and non-transitory computer-readable medium storing computer-readable instructions for first communication device
US18/158,996 US11782657B2 (en) 2019-08-29 2023-01-24 First communication device and non-transitory computer-readable medium storing computer-readable instructions for first communication device
JP2023110968A JP2023118902A (ja) 2019-08-29 2023-07-05 第1の通信装置と第1の通信装置のためのコンピュータプログラム
US18/456,668 US12067312B2 (en) 2019-08-29 2023-08-28 First communication device and non-transitory computer-readable medium storing computer-readable instructions for first communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019157247A JP7310449B2 (ja) 2019-08-29 2019-08-29 第1の通信装置と第1の通信装置のためのコンピュータプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023110968A Division JP2023118902A (ja) 2019-08-29 2023-07-05 第1の通信装置と第1の通信装置のためのコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2021035026A true JP2021035026A (ja) 2021-03-01
JP7310449B2 JP7310449B2 (ja) 2023-07-19

Family

ID=72266030

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019157247A Active JP7310449B2 (ja) 2019-08-29 2019-08-29 第1の通信装置と第1の通信装置のためのコンピュータプログラム
JP2023110968A Pending JP2023118902A (ja) 2019-08-29 2023-07-05 第1の通信装置と第1の通信装置のためのコンピュータプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023110968A Pending JP2023118902A (ja) 2019-08-29 2023-07-05 第1の通信装置と第1の通信装置のためのコンピュータプログラム

Country Status (4)

Country Link
US (4) US11216225B2 (ja)
EP (1) EP3787328B1 (ja)
JP (2) JP7310449B2 (ja)
CN (1) CN112449442A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024063046A1 (ja) * 2022-09-21 2024-03-28 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム

Families Citing this family (3)

* 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の通信装置のためのコンピュータプログラム
CN113873685B (zh) * 2021-09-22 2024-02-06 深圳Tcl新技术有限公司 WiFi直连连接的建立方法、装置及设备
JP2023176541A (ja) * 2022-05-31 2023-12-13 キヤノン株式会社 プログラム、システムおよび方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018037978A (ja) * 2016-09-02 2018-03-08 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP2018046435A (ja) * 2016-09-15 2018-03-22 キヤノン株式会社 通信装置、通信装置の制御及びプログラム
US20180109418A1 (en) * 2016-10-19 2018-04-19 Qualcomm Incorporated Device provisioning protocol (dpp) using assisted bootstrapping
JP2019029989A (ja) * 2017-07-28 2019-02-21 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
JP2019103107A (ja) * 2017-12-08 2019-06-24 ブラザー工業株式会社 通信装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050130647A1 (en) * 2003-10-22 2005-06-16 Brother Kogyo Kabushiki Kaisha Wireless lan system, communication terminal and communication program
US8464061B2 (en) * 2010-08-30 2013-06-11 Apple Inc. Secure wireless link between two devices using probes
EP2869658B1 (en) 2013-03-12 2019-01-02 LG Electronics Inc. Method for peer to peer group formation in direct communication system and device therefor
US9769661B2 (en) * 2015-04-06 2017-09-19 Qualcomm, Incorporated Wireless network fast authentication / association using re-association object
US20160360407A1 (en) * 2015-06-05 2016-12-08 Qualcomm Incorporated Distributed configurator entity
JP6570356B2 (ja) * 2015-07-21 2019-09-04 キヤノン株式会社 通信装置、通信方法及びプログラム
CN107040922B (zh) * 2016-05-05 2019-11-26 腾讯科技(深圳)有限公司 无线网络连接方法、装置及系统
KR102366312B1 (ko) 2017-09-20 2022-02-25 삼성전자주식회사 근거리 통신의 재연결을 수행하는 전자 장치 및 그 동작 방법
JP7310449B2 (ja) * 2019-08-29 2023-07-19 ブラザー工業株式会社 第1の通信装置と第1の通信装置のためのコンピュータプログラム
JP7338372B2 (ja) * 2019-09-27 2023-09-05 ブラザー工業株式会社 通信装置、及び、通信装置のためのコンピュータプログラム
JP7363304B2 (ja) * 2019-09-30 2023-10-18 ブラザー工業株式会社 通信装置と通信装置のためのコンピュータプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018037978A (ja) * 2016-09-02 2018-03-08 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP2018046435A (ja) * 2016-09-15 2018-03-22 キヤノン株式会社 通信装置、通信装置の制御及びプログラム
US20180109418A1 (en) * 2016-10-19 2018-04-19 Qualcomm Incorporated Device provisioning protocol (dpp) using assisted bootstrapping
JP2019029989A (ja) * 2017-07-28 2019-02-21 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
JP2019103107A (ja) * 2017-12-08 2019-06-24 ブラザー工業株式会社 通信装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024063046A1 (ja) * 2022-09-21 2024-03-28 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム

Also Published As

Publication number Publication date
US20230401020A1 (en) 2023-12-14
US20210064310A1 (en) 2021-03-04
US20230161525A1 (en) 2023-05-25
JP7310449B2 (ja) 2023-07-19
US11567714B2 (en) 2023-01-31
US11216225B2 (en) 2022-01-04
US20220113920A1 (en) 2022-04-14
JP2023118902A (ja) 2023-08-25
EP3787328B1 (en) 2024-03-20
US11782657B2 (en) 2023-10-10
CN112449442A (zh) 2021-03-05
EP3787328A1 (en) 2021-03-03
US12067312B2 (en) 2024-08-20

Similar Documents

Publication Publication Date Title
JP7024559B2 (ja) 端末装置のためのコンピュータプログラム、端末装置、通信装置、及び、通信装置のためのコンピュータプログラム
JP7215048B2 (ja) 端末装置のためのコンピュータプログラム、及び、端末装置
JP7310449B2 (ja) 第1の通信装置と第1の通信装置のためのコンピュータプログラム
JP7540538B2 (ja) 端末装置のためのコンピュータプログラム、及び、通信装置
JP7338329B2 (ja) 端末装置と端末装置のためのコンピュータプログラム
JP7052496B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7338372B2 (ja) 通信装置、及び、通信装置のためのコンピュータプログラム
JP7363304B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7196533B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7476948B2 (ja) 通信装置、通信装置のためのコンピュータプログラム、及び、第1の外部装置のためのコンピュータプログラム
JP2019180039A (ja) プリンタとプリンタのためのコンピュータプログラム
JP7259334B2 (ja) 端末装置と端末装置のためのコンピュータプログラム
JP2022177276A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2024019266A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7283275B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7293950B2 (ja) 端末装置と端末装置のためのコンピュータプログラム
JP7302682B2 (ja) 端末装置のためのコンピュータプログラム、端末装置、通信装置、及び、通信装置のためのコンピュータプログラム
JP2022106713A (ja) 通信装置と通信装置のためのコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230619

R150 Certificate of patent or registration of utility model

Ref document number: 7310449

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150