JP7259334B2 - 端末装置と端末装置のためのコンピュータプログラム - Google Patents

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

Info

Publication number
JP7259334B2
JP7259334B2 JP2019002066A JP2019002066A JP7259334B2 JP 7259334 B2 JP7259334 B2 JP 7259334B2 JP 2019002066 A JP2019002066 A JP 2019002066A JP 2019002066 A JP2019002066 A JP 2019002066A JP 7259334 B2 JP7259334 B2 JP 7259334B2
Authority
JP
Japan
Prior art keywords
information
type
communication device
connection
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.)
Active
Application number
JP2019002066A
Other languages
English (en)
Other versions
JP2020113851A (ja
Inventor
亮弥 辻
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 JP2019002066A priority Critical patent/JP7259334B2/ja
Priority to US16/717,437 priority patent/US11736274B2/en
Publication of JP2020113851A publication Critical patent/JP2020113851A/ja
Application granted granted Critical
Publication of JP7259334B2 publication Critical patent/JP7259334B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Secrecy systems
    • H04N1/4406Restricting access, e.g. according to user identity
    • H04N1/4413Restricting access, e.g. according to user identity involving the use of passwords, ID codes or the like, e.g. PIN
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key 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/08Access security
    • 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
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/73Access point logical identity
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/20Selecting an access point
    • 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]

Description

本明細書では、通信装置と外部装置との間に無線接続を確立することが可能な端末装置に関する技術を開示する。
非特許文献1には、Wi-Fi Allianceによって策定された無線通信方式であるDPP(Device Provisioning Protocolの略)方式が記述されている。DPP方式は、Wi-Fi接続を容易に確立させるための無線通信方式である。例えば、端末装置は、DPP方式に従った通信を実行して、アクセスポイントとのWi-Fi接続を確立するための情報をクライアントデバイスに送信する。この結果、クライアントデバイスとアクセスポイントとの間にWi-Fi接続が確立される。
特開2016-213573号公報 特開2017-28460号公報
「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」 Wi-Fi Alliance, 2017年
本明細書では、通信装置が、Wi-Fi方式の所定のルールに従った無線通信を実行可能なデバイスであっても、当該所定のルールに従った無線通信を実行不可能なデバイスであっても、当該通信装置と外部装置との間に無線接続を確立することが可能な技術を開示する。
本明細書によって開示される端末装置のためのコンピュータプログラムは、前記端末装置のコンピュータを、通信装置が、無線接続に関係する関係情報を出力する場合に、前記関係情報を取得する取得部と、Wi-Fi方式の所定のルールに従った無線通信を実行可能な前記通信装置である第1種の通信装置が、前記第1種の通信装置の公開鍵を含む前記関係情報である第1種の関係情報を出力することに起因して、前記第1種の関係情報が取得される場合に、前記公開鍵を含む前記第1種の関係情報を利用して、第1の接続情報を前記第1種の通信装置に送信する第1の情報送信部であって、前記第1の接続情報は、前記第1種の通信装置と前記第1種の通信装置とは異なる第1の外部装置との間に前記所定のルールに従った前記無線接続である第1種の無線接続を確立するための情報である、前記第1の情報送信部と、前記所定のルールに従った無線通信を実行不可能な前記通信装置である第2種の通信装置が、前記第1種の関係情報とは異なる前記関係情報である第2種の関係情報を出力することに起因して、前記第2種の関係情報が取得される場合に、前記第2種の関係情報を利用して、第2の接続情報を前記第2種の通信装置に送信する第2の情報送信部であって、前記第2の接続情報は、前記第2種の通信装置と前記第2種の通信装置とは異なる第2の外部装置との間に前記所定のルールに従わない前記無線接続である第2種の無線接続を確立するための情報である、前記第2の情報送信部と、として機能させてもよい。
上記の構成によれば、端末装置は、公開鍵を含む第1種の関係情報を取得する場合に、公開鍵を含む第1種の関係情報を利用して、第1の接続情報を第1種の通信装置に送信する。これにより、第1種の通信装置と第1の外部装置との間に所定のルールに従った第1種の無線接続が確立される。また、端末装置は、第1種の関係情報とは異なる第2種の関係情報を取得する場合に、第2種の関係情報を利用して、第2の接続情報を第2種の通信装置に送信する。これにより、第2種の通信装置と第2の外部装置との間に所定のルールに従わない第2種の無線接続が確立される。従って、通信装置が、Wi-Fi方式の所定のルールに従った無線通信を実行可能なデバイスであっても、当該所定のルールに従った無線通信を実行不可能なデバイスであっても、当該通信装置と外部装置との間に無線接続を確立することができる。
上記のコンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。また、上記の端末装置そのもの及び端末装置によって実行される方法も新規で有用である。
通信システムの構成を示す。 DPPの概要を説明するための説明図を示す。 端末の処理のフローチャート図を示す。 APとのBootstrappingとAuthenticationの処理のシーケンス図を示す。 APとのConfigurationの処理のシーケンス図を示す。 プリンタとのBootstrappingとAuthenticationの処理のシーケンス図を示す。 プリンタとのConfigurationの処理のシーケンス図を示す。 Network Accessの処理のシーケンス図を示す。 非DPP処理のシーケンス図を示す。 図9の続きのシーケンス図を示す。 DPPのプリンタと非DPPのAPとの間に通常Wi-Fi接続を確立する場合の処理のシーケンス図を示す。 図11の続きのシーケンス図を示す。
(第1実施例)
(通信システム2の構成;図1)
図1に示されるように、通信システム2は、端末10と、プリンタ100、200と、AP(Access Pointの略)300、400と、を備える。本実施例では、ユーザが端末(例えば端末10)を利用して、プリンタ(例えばプリンタ100)とAP(例えばAP300)との間にWi-Fi方式に従った無線接続を確立させる状況を想定している。
(端末10の構成)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。なお、変形例では、端末10は、据置型のPC、ノートPC等であってもよい。
端末10は、操作部12と、表示部14と、Wi-Fiインターフェース16と、カメラ20と、制御部30と、を備える。各部12~30は、バス線(符号省略)に接続されている。なお、以下では、インターフェースのことを単に「I/F」と記載する。
操作部12は、複数個のキーを備える。ユーザは、操作部12を操作することによって、様々な指示を端末10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。カメラ20は、物体を撮影するためのデバイスであり、本実施例では、特に、プリンタ及びAPのためのQRコード(登録商標)を撮影するために利用される。
Wi-FiI/F16には、MACアドレス「macte」が割り当てられている。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(登録商標)の略)方式をサポートしている。WFD方式は、Wi-Fi Allianceによって作成された規格書「Wi-Fi Peer-to-Peer (P2P) Technical Specification Version1.1」に記述されている無線通信方式である。
端末10は、WFD方式のG/O(Group Ownerの略)状態、CL(Clientの略)状態、及び、デバイス状態のいずれかの状態で動作することができる。例えば、端末10は、WFD方式のクライアントとして動作して、WFD方式のG/Oとして動作しているプリンタ(例えばプリンタ200)が形成しているWi-Fiネットワークに子局として参加可能である。
また、Wi-FiI/F16は、さらに、Wi-Fi Allianceによって策定される予定であるDPP(Device Provisioning Protocolの略)方式をサポートしている。DPP方式は、Wi-Fi Allianceによって作成された規格書のドラフトである「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」に記述されており、端末10を利用して、一対のデバイス(例えばプリンタ100とAP300)の間に容易にWi-Fi接続を確立させるための無線通信方式である。
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム36、38に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成され、OS(Operating Systemの略)プログラム36と接続アプリケーション38(以下では単に「アプリ38」と記載する)とを記憶する。
OSプログラム36は、端末10の基本的な動作を制御するためのプログラムである。アプリ38は、一対のデバイスの間にWi-Fi方式に従った無線接続を確立させるためのプログラムである。アプリ38は、例えば、プリンタ100のベンダによって提供されるインターネット上のサーバから端末10にインストールされる。
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば、端末10の周辺装置)である。プリンタ100は、表示部114と、Wi-FiI/F116と、メモリ134と、を備える。
表示部114は、様々な情報を表示するためのディスプレイである。Wi-FiI/F116は、端末10のWi-FiI/F16と同様である。即ち、Wi-FiI/F116は、WFD方式とDPP方式をサポートしている。また、Wi-FiI/F116は、MACアドレス「macp1」を有する。
メモリ134は、後述するDPP方式に従った処理に利用される公開鍵PPK1及び秘密鍵psk1を記憶する。公開鍵PPK1及び秘密鍵psk1は、プリンタ100の出荷段階からメモリ134に予め記憶されている。プリンタ100は、公開鍵PPK1とMACアドレス「macp1」とを含むDPP情報をコード化することによって得られるQRコードを表示することが可能である。なお、変形例では、公開鍵PPK1及び秘密鍵psk1は、プリンタ100の電源投入の際にプリンタ100によって生成されてメモリ134に記憶されてもよい。
(プリンタ200の構成)
プリンタ200は、表示部214と、Wi-FiI/F216と、メモリ234と、を備える。表示部214は、プリンタ100の表示部114と同様である。
Wi-FiI/F216は、DPP方式をサポートしていない点を除いて、プリンタ100のWi-FiI/F116と同様である。また、Wi-FiI/F216は、MACアドレス「macp2」を有する。なお、以下では、DPP方式をサポートしていないデバイスのことを「非DPPのデバイス」と、DPP方式をサポートしているデバイスのことを「DPPのデバイス」と、記載する場合がある。
メモリ234は、後述するWFD方式に従った処理に利用されるWFD情報WIを記憶する。WFD情報WIは、WFD方式に従ったWi-Fiネットワークを識別するSSID(Service Set Identifierの略)「p002」と、当該Wi-Fiネットワークで利用されるパスワード「xxx」と、を含む。プリンタ100は、WFD情報WIをコード化することによって得られるQRコードを表示することが可能である。
(AP300の構成)
AP300は、DPP方式をサポートしているAPである。AP300には、MACアドレス「maca1」が割り当てられている。また、AP300には、AP情報AI1と、公開鍵APK1と、秘密鍵ask1と、が出荷段階から予め記憶されている。AP情報AI1は、AP300によって形成されるWi-Fiネットワークを識別するSSID「a001」と、当該Wi-Fiネットワークで利用されるパスワード「yyy」と、を含む。公開鍵APK1及び秘密鍵ask1は、後述するDPP方式に従った処理に利用される情報である。AP300の筐体には、公開鍵APK1とMACアドレス「maca1」とを含むDPP情報をコード化することによって得られるQRコードが貼り付けられている。
(AP400の構成)
AP400は、DPP方式をサポートしていないAPである。AP400には、MACアドレス「maca2」が割り当てられている。また、AP400には、AP情報AI2が出荷段階から予め記憶されている。AP情報AI2は、AP400によって形成されるWi-Fiネットワークを識別するSSID「a002」と、当該Wi-Fiネットワークで利用されるパスワード「zzz」と、を含む。
(DPPの概要;図2)
続いて、図2を参照して、DPP方式に従って、プリンタとAPとの間にWi-Fi方式に従った無線接続を確立するための処理の概要を説明する。本実施例では、各デバイス10、100、300がDPP方式に従った通信を実行することによって、プリンタ100とAP300との間にWi-Fi方式に従った無線接続を確立させることを実現する。以下では、理解の容易化のために、各デバイスのCPU(例えばCPU32等)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えば端末10)を主体として記載する。
図2の初期状態では、ユーザは、端末10を操作して、AP300のAP情報AI1(即ち、SSID「a001」とパスワード「yyy」)を端末10に入力する。これにより、端末10及びAP300は、Wi-Fi接続の確立のための4way-handshakeの通信を実行する。4way-handshakeの通信の少なくとも一部の過程において、端末10は、上記のSSID「a001」及びパスワード「yyy」から生成した鍵を用いて暗号化した暗号化情報をAP300に送信する。そして、暗号化情報の復号が成功する場合に、端末10とAP300との間にWi-Fi方式に従った無線接続が確立される。以下では、AP情報を利用して確立される無線接続を「通常Wi-Fi接続」と記載する。
T2では、端末10は、DPP方式のBootstrapping(以下では、単に「BS」と記載する)をAP300と実行する。当該BSは、AP300に貼り付けられているQRコードが端末10によって撮影されることに応じて、後述のT4のAuthentication(以下では、単に「Auth」と記載する)で利用される情報をAP300から端末10に提供する処理である。
T4では、端末10は、T2のBSで取得済みの情報を利用して、DPP方式のAuthをAP300と実行する。当該Authは、端末10及びAP300のそれぞれが通信相手を認証するための処理である。
T6では、端末10は、DPP方式のConfiguration(以下では、単に「Config」と記載する)をAP300と実行する。当該Configは、AP300がWi-Fi接続を確立するための情報をAP300に送信する処理である。具体的には、端末10は、AP用Configuration Object(以下では、Configuration Objectのことを単に「CO」と記載する)を生成して、AP用COをAP300に送信する。この結果、AP300では、AP用COが記憶される。
次いで、端末10は、T12において、DPP方式のBSをプリンタ100と実行する。当該BSは、プリンタ100に表示されるQRコードが端末10によって撮影されることに応じて、後述のT14のAuthで利用される情報をプリンタ100から端末10に提供する処理である。
T14では、端末10は、T12のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ100と実行する。当該Authは、端末10及びプリンタ100のそれぞれが通信相手を認証するための処理である。
T16では、端末10は、DPP方式のConfigをプリンタ100と実行する。当該Configは、プリンタ100がWi-Fi接続を確立するための情報をプリンタ100に送信する処理である。具体的には、端末10は、プリンタ用COを生成して、プリンタ用COをプリンタ100に送信する。この結果、プリンタ100では、プリンタ用COが記憶される。
T18では、プリンタ100及びAP300は、記憶済みのAP用CO及びプリンタ用COを利用して、DPP方式のNetwork Access(以下では、単に「NA」と記載する)を実行する。NAは、Wi-Fi接続を確立するための接続キーをプリンタ100及びAP300の間で共有するための処理である。
T20では、プリンタ100及びAP300は、4way-handshakeの通信を実行する。4way-handshakeの通信の少なくとも一部の過程において、プリンタ100及びAP300は、T18のNAで共有済みの接続キーによって暗号化された暗号化情報を通信する。そして、暗号化情報の復号が成功する場合に、プリンタ100とAP300との間にWi-Fi接続が確立される。これにより、プリンタ100は、AP300によって形成されるWi-Fiネットワークに子局として参加することができ、この結果、AP300を介して、当該Wi-Fiネットワークに参加している他のデバイス(例えば端末10)との通信を実行することができる。以下では、上記のBS、Auth、Config、及び、NAを実行することによって確立される無線接続を「DPP接続」と記載する。なお、変形例では、プリンタ100及びAP300は、4way-handshakeの通信に代えて、SAE(Simultaneous Authentication of Equalsの略、通称「Dragonfly」)の通信を実行してもよい。
T22では、端末10は、DPP方式のInquiryを実行する。当該Inquiryは、プリンタ100がAP300とのWi-Fi接続を確立したのか否かをプリンタ100に問い合わせるための処理である。具体的には、端末10は、Inquiry Requestをプリンタ100に繰り返し送信することを開始する。端末10は、プリンタ100がAP300とのWi-Fi接続を確立する前に、端末10からInquiry Requestを受信する場合には、プリンタ100から応答を受信しない。一方、端末10は、プリンタ100がAP300とのWi-Fi接続を確立した後に、端末10からInquiry Requestを受信する場合には、プリンタ100から応答を受信する。端末10は、プリンタ100からInquiry Requestに対する応答を受信する場合に、プリンタ100がAP300とのWi-Fi接続を確立したと判断する。
図2では、端末10とAP300との間に通常Wi-Fi接続が既に確立されている。このため、プリンタ100がAP300によって形成されるWi-Fiネットワークに参加すると、端末10及びプリンタ100の双方が当該Wi-Fiネットワークに参加している状態になる。このために、プリンタ100は、T24において、端末10から、AP300を経由して、印刷対象の画像を表わす印刷データを受信することができる。この場合、プリンタ100は、T26において、当該印刷データに従った印刷を実行する。
DPP方式では、プリンタ100とAP300との間にWi-Fi接続を確立させるために、ユーザは、AP300のAP情報AI1をプリンタ100に入力する必要がない。従って、ユーザは、プリンタ100とAP300との間にWi-Fi接続を容易に確立させることができる。
(端末10の処理;図3)
続いて、図3を参照して、図2の処理及び後述する非DPP処理を実現するために端末10のCPU32によって実行される処理について説明する。図3の処理は、アプリ38が起動されることをトリガとして開始される。図3の処理は、アプリ38によって実現される。
S12では、CPU32は、選択画面を表示部14に表示する。選択画面は、デバイス(例えばプリンタ100)を新たなWi-Fiネットワークに参加させることを示す「New」ボタンを含む。仮に、「New」ボタンが選択されて、特定のグループID(例えばグループID「home1」)が過去に入力された場合には、選択画面は、特定のグループIDを示すボタン(例えば「home1」ボタン)を含む。
S14では、CPU32は、選択画面で「New」ボタンが選択されたのか否かを判断する。CPU32は、選択画面で「New」ボタンが選択されたと判断する場合(S14でYES)に、S16に進む。一方、CPU32は、選択画面で「New」ボタン以外のボタン(例えば「home1」ボタン)が選択されたと判断する場合(S14でNO)に、S16、S18をスキップして、S20に進む。
S16では、CPU32は、グループIDを入力するためのID入力画面を表示部14に表示する。グループIDは、デバイスが参加すべき無線ネットワークを識別する情報である。
S18では、CPU32は、新しいグループIDがID入力画面に入力されることを監視する。CPU32は、新しいグループIDがID入力画面に入力される場合(S18でYES)に、S20に進む。
S20では、CPU32は、カメラ20を起動し、カメラ20を利用して、AP300の筐体に貼り付けられているQRコード又はプリンタ(例えばプリンタ100)に表示されるQRコードを撮影する。
S22では、CPU32は、撮影済みのQRコードをデコードして、QRコードによってコード化されているコード情報を取得する。撮影済みのQRコードがAP300のQRコードである場合に、コード情報は、AP300の公開鍵APK1とAP300のMACアドレス「maca1」を含むDPP情報である。また、撮影済みのQRコードがプリンタ100のQRコードである場合に、コード情報は、プリンタ100の公開鍵PPK1とプリンタ100のMACアドレス「macp1」を含むDPP情報である。また、撮影済みのQRコードがプリンタ200のQRコードである場合に、コード情報は、プリンタ200のWFD情報WIである。
S24では、CPU32は、取得済みのコード情報がDPP情報であるのか否かを判断する。具体的には、CPU32は、取得済みのコード情報にDPP方式に準拠した形式を有する公開鍵を含む場合に、取得済みのコード情報がDPP情報であると判断し、それ以外の場合に、取得済みのコード情報がWFD情報であると判断する。CPU32は、取得済みのコード情報がDPP情報であると判断する場合(S24でYES)に、S26に進み、取得済みのコード情報がWFD情報であると判断する場合(S24でNO)に、S28に進む。
S26では、CPU32は、コード情報がAP300のDPP情報である場合に、図2のT4、T6のDPP処理を実行する。一方、CPU32は、コード情報がプリンタ100のDPP情報である場合に、図2のT14~T18のDPP処理を実行する。
S28では、CPU32は、後述する非DPP処理として図9又は図12の処理を実行する。S26又はS28の処理が終了すると、S12に戻る。
(APとのBootstrapping(BS)とAuthentication(Auth);図4)
図4~図8を参照して、図2のT2~T18において実行される各処理の詳細を説明する。まず、図4を参照して、図2のT2において端末10とAP300との間で実行されるBSの処理と、T4において端末10とAP300との間で実行されるAuthの処理と、を説明する。
T102~T108がBSの処理に相当し、図3のS12~S24の処理によって実現される。T102では、端末10は、アプリ38を起動し、選択画面を表示部14に表示する(図3のS12)。そして、選択画面内の「New」ボタンが選択され、新しいグループID「home1」が入力される(S18)。
T104では、端末10は、カメラ20を利用して、AP300の筐体に貼り付けられているQRコードを撮影する(S20)。
T106では、端末10は、撮影済みのQRコードをデコードして、AP300のDPP情報DI1(即ち公開鍵APK1とMACアドレス「maca1」)を取得する(S22)。
T108では、端末10は、コード情報としてDPP情報DI1が取得されるので、取得済みのコード情報がDPP情報であると判断し(S24でYES)、後述するT200~T234の処理を実行することによって、Authの処理を実行する。
T200では、端末10は、端末10の公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、端末10は、T201において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、T106で取得されたAP300の公開鍵APK1と、を用いて、共有鍵SK1を生成する。そして、端末10は、T202において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。
T210では、端末10は、Wi-FiI/F16を介して、T106で取得されたMACアドレス「maca1」を送信先として、DPP Authentication Request(以下では、単に「AReq」と記載する)をAP300に送信する。AReqは、認証の実行をAP300に要求する信号であり、T200で生成された端末10の公開鍵TPK1と、T202で生成された暗号化データED1と、端末10のcapabilityと、を含む。
capabilityは、DPP方式をサポートしている機器において予め指定されている情報であり、DPP方式のConfiguratorのみとして動作可能であることを示す値と、DPP方式のEnrolleeのみとして動作可能であることを示す値と、Configurator及びEnrolleeのどちらとしても動作可能であることを示す値と、のいずれか1個の値を含む。Configuratorは、Config(例えば図2のT16)において、NA(例えば図2のT18)で利用されるCOをEnrolleeに送信するデバイスを意味する。一方、Enrolleeは、Configにおいて、ConfiguratorからNAで利用されるCOを受信するデバイスを意味する。上記のように、本実施例では、端末10がAP用CO又はプリンタ用COを生成してAP300又はプリンタ100に送信する。従って、端末10のcapabilityは、Configuratorのみとして動作可能であることを示す値を含む。
AP300は、T210において、端末10からAReqを受信する。上記のように、当該AReqは、AP300のMACアドレス「maca1」を送信先として送信される。従って、AP300は、端末10から当該AReqを適切に受信することができる。
次いで、AP300は、AReqの送信元(即ち端末10)を認証するための以下の処理を実行する。具体的には、AP300は、T212において、ECDHに従って、AReq内の端末10の公開鍵TPK1と、AP300の秘密鍵ask1と、を用いて、共有鍵SK1を生成する。ここで、T201で端末10によって生成される共有鍵SK1と、T212でAP300によって生成される共有鍵SK1と、は同じである。従って、AP300は、T214において、生成済みの共有鍵SK1を用いて、AReq内の暗号化データED1を適切に復号することができ、この結果、ランダム値RV1を取得することができる。AP300は、暗号化データED1の復号が成功する場合には、AReqの送信元がAP300のQRコードを撮影したデバイスであると判断し、即ち、認証が成功したと判断し、T216以降の処理を実行する。一方、AP300は、仮に、暗号化データED1の復号が成功しない場合には、AReqの送信元がAP300のQRコードを撮影したデバイスでないと判断し、即ち、認証が失敗したと判断し、T216以降の処理を実行しない。
AP300は、T216において、AP300の新たな公開鍵APK2及び新たな秘密鍵ask2を生成する。なお、変形例では、AP300は、公開鍵APK2及び秘密鍵ask2を予め記憶していてもよい。次いで、AP300は、T217において、ECDHに従って、T210のAReq内の端末10の公開鍵TPK1と、生成済みのAP300の秘密鍵ask2と、を用いて、共有鍵SK2を生成する。そして、AP300は、T218において、生成済みの共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
T220では、AP300は、DPP Authentication Response(以下では、単に「ARes」と記載する)を端末10に送信する。当該AResは、T216で生成されたAP300の公開鍵APK2と、T218で生成された暗号化データED2と、AP300のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
端末10は、T220において、AP300から、Wi-FiI/F16を介して、AResを受信することに応じて、当該AResの送信元(即ちAP300)を認証するための以下の処理を実行する。具体的には、端末10は、T222において、ECDHに従って、T200で生成された端末10の秘密鍵tsk1と、ARes内のAP300の公開鍵APK2と、を用いて、共有鍵SK2を生成する。ここで、T217でAP300によって生成される共有鍵SK2と、T222で端末10によって生成される共有鍵SK2と、は同じである。従って、端末10は、T224において、生成済みの共有鍵SK2を用いて、ARes内の暗号化データED2を適切に復号することができ、この結果、ランダム値RV1及びRV2を取得することができる。端末10は、暗号化データED2の復号が成功する場合には、AResの送信元が撮影済みのQRコードを有するデバイスであると判断し、即ち、認証が成功したと判断し、T230以降の処理を実行する。一方、端末10は、仮に、暗号化データED2の復号が成功しない場合には、AResの送信元が撮影済みのQRコードを有するデバイスでないと判断し、即ち、認証が失敗したと判断し、T230以降の処理を実行しない。
T230では、端末10は、Wi-FiI/F16を介して、ConfirmをAP300に送信する。Confirmは、端末10がConfiguratorとして動作し、かつ、AP300がEnrolleeとして動作することを示す情報を含む。この結果、T232において、Configuratorとして動作することが端末10によって決定され、T234において、Enrolleeとして動作することがAP300によって決定される。T234の処理が終了すると、図4の処理が終了する。なお、図4の処理が終了すると、端末10は、公開鍵TPK1及び秘密鍵tsk1を破棄(即ちメモリ34から削除)する。
(APとのConfiguration(Config);図5)
続いて、図5を参照して、図2のT6において端末10とAP300との間で実行されるConfigの処理を説明する。
T300では、AP300は、DPP Configuration Request(以下では、単に「CReq」と記載する)を端末10に送信する。当該CReqは、AP用COの送信を要求する信号である。
端末10は、T300において、AP300から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10は、T302において、端末10の新たな公開鍵TPK2及び新たな秘密鍵tsk2を生成する。端末10は、図4のT102で入力されたグループID「home1」に関連付けて、公開鍵TPK2、秘密鍵tsk2をメモリ34内に記憶する。次いで、端末10は、T304において、生成済みの秘密鍵tsk2を利用して、AP用COを生成する。具体的には、端末10は、以下の各処理を実行する。
端末10は、まず、端末10の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10は、ハッシュ値HVと、図4のT102で入力されたグループID「home1」と、図4のT220のARes内のAP300の公開鍵APK2と、の組み合わせをハッシュ化することによって、第1の値を生成する。そして、端末10は、ECDSA(Elliptic Curve Digital Signature Algorithmの略)に従って、端末10の秘密鍵tsk2を利用して、生成済みの第1の値を暗号化することによって、電子署名DSapを生成する。この結果、端末10は、ハッシュ値HVと、グループID「home1」と、AP300の公開鍵APK2と、電子署名DSapと、を含むAP用Signed-Connector(以下では、Signed-Connectorのことを単に「SC」と記載する)を生成することができる。そして、端末10は、AP用SCと、端末10の公開鍵TPK2と、を含むAP用COを生成する。
T310では、端末10は、Wi-FiI/F16を介して、AP用COを含むDPP Configuration Response(以下では、単に「CRes」と記載する)をAP300に送信する。
AP300は、T310において、端末10からCResを受信する。この場合、AP300は、T312において、当該CRes内のAP用COを記憶する。T312の処理が終了すると、図5の処理が終了する。
(プリンタとのBootstrapping(BS)とAuthentication(Auth);図6)
続けて、図6を参照して、図2のT12において端末10とプリンタ100との間で実行されるBSの処理と、T14において端末10とプリンタ100との間で実行されるAuthの処理と、を説明する。
T500~T524がBSの処理に相当し、図3のS12~S24の処理によって実現される。T500では、端末10は、選択画面を表示部14に再び表示する(図3のS12)。図4のT102においてグループID「home1」が入力されているので、選択画面は、「home1」ボタンを含む。
T502では、端末10は、選択画面で「home1」ボタンの選択を受け付ける(S14でNO)。そして、端末10は、カメラ20を起動する。
プリンタ100は、T510において、ネットワークに接続するためのネットワーク接続操作がユーザによって実行されることに応じて、T512において、QRコードを表示部114に表示する。
端末10は、T520において、カメラ20を利用して、プリンタ100に表示されたQRコードを撮影する(図3のS20)。
T522では、端末10は、撮影済みのQRコードをデコードして、プリンタ100のDPP情報DI2(即ち公開鍵PPK1とMACアドレス「macp1」)を取得する(S22)。
T524では、端末10は、コード情報としてDPP情報DI2が取得されるので、取得済みのコード情報がDPP情報であると判断し(S24でYES)、後述するT600~T634の処理を実行することによって、Authの処理を実行する。
T600では、端末10は、端末10の新しい公開鍵TPK3及び秘密鍵tsk3を生成し、T601において、ECDHに従って、生成済みの秘密鍵tsk3と、T522で取得されたプリンタ100の公開鍵PPK1と、を用いて、共有鍵SK3を生成する。そして、端末10は、T602おいて、生成済みの共有鍵SK3を用いてランダム値RV3を暗号化して、暗号化データED3を生成する。
T610では、端末10は、Wi-FiI/F16を介して、T522で取得されたMACアドレス「macp1」を送信先として、AReqをプリンタ100に送信する。当該AReqは、T600で生成された端末10の公開鍵TPK3と、T602で生成された暗号化データED3と、端末10のcapabilityと、を含む。当該capabilityは、Configuratorのみとして動作可能であることを示す値を含む。
プリンタ100は、T610において、端末10からAReqを受信する。当該AReqがプリンタ100のMACアドレス「macp1」を送信先として送信されるので、プリンタ100は、当該AReqを適切に受信することができる。
次いで、プリンタ100は、AReqの送信元(即ち端末10)を認証するためのT612及びT614の処理を実行する。T612及びT614は、利用されるデータ(鍵、暗号化データ等)が異なる点を除くと、図4のT212及びT214と同様である。即ち、プリンタ100は、T612において、公開鍵TPK3と秘密鍵psk1とを用いて共有鍵SK3を生成し、T614において、共有鍵SK3を用いてAReq内の暗号化データED3を復号する。この場合、プリンタ100は、認証が成功したと判断し、T616以降の処理を実行する。
プリンタ100は、T616において、プリンタ100の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。なお、変形例では、公開鍵PPK2及び秘密鍵psk2は、メモリ134に予め記憶されていてもよい。続いて実行されるT617及びT618は、利用されるデータ(鍵、暗号化データ等)が異なる点を除くと、図4のT217及びT218と同様である。即ち、プリンタ100は、T617において、公開鍵TPK3と秘密鍵psk2とを用いて共有鍵SK4を生成し、T618において、共有鍵SK4を用いてランダム値RV3、RV4を暗号化して暗号化データED4を生成する。
T620では、プリンタ100は、AResを端末10に送信する。当該AResは、T616で生成されたプリンタ100の公開鍵PPK2と、T618で生成された暗号化データED4と、プリンタ100のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
T622~T634は、通信対象がプリンタ100である点、公開鍵PPK2、暗号化データED4、秘密鍵tsk3、共有鍵SK4、及び、ランダム値RV3、RV4が端末10によって利用される点を除いて、図4のT222~T234と同様である。この結果、Configuratorとして動作することが端末10によって決定され、Enrolleeとして動作することがプリンタ100によって決定される。T634の処理が終了すると、図6の処理が終了する。なお、図6の処理が終了すると、端末10は公開鍵TPK3及び秘密鍵tsk3を破棄(即ちメモリ34から削除)する。
(プリンタとのConfigurationの処理;図7)
続いて、図7を参照して、図2のT16において端末10とプリンタ100との間で実行されるConfigの処理を説明する。
T700では、プリンタ100は、CReqを端末10に送信する。当該CReqは、プリンタ用COの送信を要求する信号である。
端末10は、T700において、プリンタ100から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10は、T702において、メモリ34から、図6のT502で選択された「home1」と同じ文字列に関連付けて記憶されている公開鍵TPK2及び秘密鍵tsk2を取得する。
T704では、端末10は、プリンタ用COを生成する。T704は、利用されるデータ(鍵等)が異なる点を除くと、図5のT304と同様である。プリンタ用COは、プリンタ用SCと、T702で取得された公開鍵TPK2と、を含む。プリンタ用SCは、ハッシュ値HVと、グループID「home1」と、プリンタ100の公開鍵PPK2と、電子署名DSprと、を含む。電子署名DSprは、ハッシュ値HVとグループID「home1」と公開鍵PPK2との組み合わせをハッシュ化することによって得られる第2の値が、T702で取得された秘密鍵tsk2によって暗号化された情報である。
T710では、端末10は、Wi-FiI/F16を介して、T704で生成されたプリンタ用COを含むCResをプリンタ100に送信する。
プリンタ100は、T710において、端末10からCResを受信する。この場合、プリンタ100は、T712において、当該CRes内のプリンタ用COをメモリ134に記憶する。T712の処理が終了すると、図7の処理が終了する。
(Network Access(NA);図8)
続いて、図8を参照して、プリンタ100とAP300との間で実行される図2のT18のNAの処理を説明する。図8の初期状態では、プリンタ100は、公開鍵PPK1、PPK2と秘密鍵psk1、psk2とプリンタ用COとを記憶している。また、AP300は、公開鍵APK1、APK2と秘密鍵ask1、ask2とAP用COとを記憶している。
プリンタ100は、T810において、プリンタ用CO内のプリンタ用SCを含むDPP Peer Discovery Request(以下では、単に「DReq」と記載する)をAP300に送信する。当該DReqは、認証の実行と、AP用SCの送信と、をAP300に要求する信号である。DReqは、ブロードキャストに送信される。
AP300は、T810において、プリンタ100からDReqを受信することに応じて、DReqの送信元(即ちプリンタ100)、及び、DReq内の各情報(即ち、ハッシュ値HV、「home1」、及び、公開鍵PPK2)を認証するためのT812の処理を実行する。具体的には、AP300は、T812において、まず、プリンタ用SC内のハッシュ値HV及びグループID「home1」が、それぞれ、AP用SC内のハッシュ値HV及びグループID「home1」に一致するのか否かに関する第1のAP判断処理を実行する。図8のケースでは、AP300は、第1のAP判断処理で「一致する」と判断するので、DReqの送信元(即ち端末10)の認証が成功したと判断する。なお、第1のAP判断処理で「一致する」と判断することは、プリンタ用SC及びAP用SCが同じ装置(即ち端末10)によって生成されたことを意味する。従って、AP300は、プリンタ用SCの生成元(即ち端末10)の認証が成功したとも判断する。さらに、AP300は、AP用COに含まれる端末10の公開鍵TPK2を用いて、プリンタ用SC内の電子署名DSprを復号する。図8のケースでは、電子署名DSprの復号が成功するので、AP300は、電子署名DSprを復号することによって得られた第2の値と、プリンタ用SC内の各情報(即ち、ハッシュ値HV、「home1」、及び、公開鍵PPK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のAP判断処理を実行する。図8のケースでは、AP300は、第2のAP判断処理で「一致する」と判断するので、DReq内の各情報の認証が成功したと判断し、T814以降の処理を実行する。なお、第2のAP判断処理で「一致する」と判断することは、プリンタ用COが端末10に記憶された後に、プリンタ用SC内の各情報が第三者によって改ざんされていないことを意味する。一方、第1のAP判断処理で「一致しない」と判断される場合、電子署名DSprの復号が失敗する場合、又は、第2のAP判断処理で「一致しない」と判断される場合には、AP300は、認証が失敗したと判断し、T814以降の処理を実行しない。
次いで、AP300は、T814において、ECDHに従って、AP用COに含まれる端末10の公開鍵TPK2と、AP300の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CKを生成する。
T820では、AP300は、AP用SCを含むDPP Peer Discovery Response(以下では、単に「DRes」と記載する)をプリンタ100に送信する。
プリンタ100は、T820において、AP300からDResを受信することに応じて、DResの送信元(即ちAP300)、及び、DRes内の各情報(即ち、ハッシュ値HV、「home1」、及び、公開鍵APK2)を認証するための処理を実行する。具体的には、プリンタ100は、T822において、まず、AP用SC内のハッシュ値HV及びグループID「home1」が、それぞれ、プリンタ用SC内のハッシュ値HV及びグループID「home1」に一致するのか否かに関する第1のPR判断処理を実行する。図8のケースでは、プリンタ100は、第1のPR判断処理で「一致する」と判断するので、DResの送信元(即ちAP300)の認証が成功したと判断する。なお、第1のPR判断処理で「一致する」と判断することは、プリンタ用SC及びAP用SCが同じ装置(即ち端末10)によって生成されたことを意味する。従って、プリンタ100は、プリンタ用SCの生成元(即ち端末10)の認証が成功したとも判断する。さらに、プリンタ100は、プリンタ用COに含まれる端末10の公開鍵TPK2を用いて、AP用SC内の電子署名DSapを復号する。図8のケースでは、電子署名DSapの復号が成功するので、プリンタ100は、電子署名DSapを復号することによって得られた第1の値と、AP用SC内の各情報(即ち、ハッシュ値HV、「home」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のPR判断処理を実行する。図8のケースでは、プリンタ100は、第2のPR判断処理で「一致する」と判断するので、DRes内の各情報の認証が成功したと判断し、T824以降の処理を実行する。一方、第1のPR判断処理で「一致しない」と判断される場合、電子署名DSapの復号が失敗する場合、又は、第2のPR判断処理で「一致しない」と判断される場合には、プリンタ100は、認証が失敗したと判断し、T824以降の処理を実行しない。
プリンタ100は、T824において、ECDHに従って、プリンタ100の秘密鍵psk2と、AP用SC内のAP300の公開鍵APK2と、を用いて、接続キーCKを生成する。ここで、T814でAP300によって生成される接続キーCKと、T824でプリンタ100によって生成される接続キーCKと、は同じである。これにより、DPP接続を確立するための接続キーCKがプリンタ100及びAP300の間で共有される。T824が終了すると、図8の処理が終了する。
上述したように、接続キーCKがプリンタ100及びAP300の間で共有された後に、図2のT20において、プリンタ100及びAP300は、接続キーCKを利用して、4way-handshakeの通信を実行する。この結果、プリンタ100とAP300との間にDPP接続が確立される。
(非DPP処理;図9)
図9を参照して、図3のS28で実行される非DPP処理を説明する。図9の初期状態では、端末10とAP400との間に通常Wi-Fi接続が確立されている。また、プリンタ200は、G/Oとして動作している。また、T850、T852の処理が実行されることによって、プリンタ200は、QRコードを表示部214に表示する。
T842は、新しいグループID「home2」が入力される点を除いて、図4のT102と同様である。T860では、端末10は、カメラ20を利用して、プリンタ200に表示されたQRコードを撮影する(図3のS20)。
T862では、端末10は、撮影済みのQRコードをデコードして、プリンタ200のWFD情報WI(即ちSSID「p002」とパスワード「xxx」)を取得する(S22)。
T864では、端末10は、コード情報としてWFD情報WIが取得されるので、取得済みのコード情報がWFD情報であると判断し(S24でNO)、T870に進む。
T870では、端末10は、取得済みのWFD情報WIを利用して、4way-handshakeの通信をプリンタ200と実行して、プリンタ200との間にWFD方式に従った無線接続(以下、「WFD接続」と記載)を確立する。具体的には、4way-handshakeの通信の少なくとも一部の過程において、端末10は、SSID「p002」及びパスワード「xxx」から生成した鍵を用いて暗号化された暗号化情報をプリンタ200に送信する。そして、暗号化情報の復号が成功する場合に、端末10とプリンタ200との間にWFD接続が確立される。
T872では、端末10は、パスワード入力画面を表示部14に表示する。パスワード入力画面は、端末10が現在参加しているAP400のWi-Fiネットワークを識別するSSID「a002」と、当該Wi-Fiネットワークで利用されるパスワードを入力するための入力欄を含む。これにより、端末10は、AP400のパスワードをユーザに入力させることができる。
パスワード入力画面は、さらに、「New」ボタンを含む。端末10は、当該「New」ボタンが選択される場合に、AP情報入力画面を表示部14に表示する。AP情報入力画面は、AP情報(即ちSSIDとパスワード)を入力するための入力欄を含む。当該入力欄にAP情報が入力されることによって、端末10は、端末10が現在参加しているWi-Fiネットワークとは異なるWi-Fiネットワーク(即ちAP400とは異なるAPが形成しているネットワーク)にプリンタ100を参加させることができる。
図9のケースでは、パスワード入力画面の入力欄に、AP400のパスワード「zzz」が入力される。端末10は、T874において、AP400のパスワード「zzz」の入力を受け付けると、T876において、T842で入力されたグループID「home2」と関連付けて、AP400のAP情報AI2をメモリ34に記憶する。
T878では、端末10は、T870で確立されたWFD接続を利用して、Wi-FiI/F16を介して、AP情報AI2をプリンタ200に送信する。WFD接続を利用してAP情報AI2を送信することによって、プリンタ200を送信先としてAP情報AI2を送信することができ、プリンタ200以外の他のデバイスにAP情報AI2が送信されることを抑制することができる。
プリンタ200は、T878において、端末10からAP情報AI2を受信すると、T880において、T870で確立されたWFD接続を切断する。
T882では、プリンタ200は、AP情報AI2を利用して、4way-handshakeの通信をAP400と実行する。これにより、プリンタ200とAP400との間に通常Wi-Fi接続が確立される。
図9では、端末10とAP400との間に通常Wi-Fi接続が既に確立されている。このため、プリンタ200がAP400によって形成されるWi-Fiネットワークに参加すると、端末10及びプリンタ200の双方が当該Wi-Fiネットワークに参加している状態になる。このために、プリンタ200は、T884において、端末10から、AP400を経由して、印刷データを受信することができる。この場合、プリンタ200は、T886において、当該印刷データに従った印刷を実行する。
(DPPのプリンタを同じWi-Fiネットワークに参加させるケース;図10)
図10を参照して、図9の処理に続けて、DPPのプリンタ100をAP400が形成しているWi-Fiネットワークに参加させるケースを説明する。図10の初期状態では、プリンタ100は、QRコードを表示している。
T900では、端末10は、選択画面を表示部14に再び表示する(図3のS12)。図9のT842においてグループID「home2」が入力されているので、選択画面は、「home2」ボタンを含む。
T902では、端末10は、選択画面で「home2」ボタンの選択を受け付ける(S14でNO)。そして、端末10は、カメラ20を起動する。
T904、T908は、図6のT522、T524と同様である。この結果、端末10は、T910において、図6と同様のAuthの処理を実行し、T912において、図7と同様のConfigの処理を実行する。
プリンタ100は、T912のConfigの処理が終了すると、NAの処理を開始する。これにより、プリンタ100は、図8のT810と同様に、T914において、DReqをブロードキャストに送信する。AP400は、プリンタ100からDReqを受信するものの、AP400がDPP方式をサポートしていないことに起因して、DReqに対する応答(即ちDRes)をプリンタ100に送信しない。この結果、プリンタ100とAP400との間に、DPP接続が確立されない。
また、端末10は、T912のConfigの処理が終了すると、T916において、Inquiry Requestをプリンタ100に繰り返し送信することを開始する。上記したように、プリンタ100とAP400との間にDPP接続が確立されないので、プリンタ100は、Inquiry Requestに対する応答を端末10に送信しない。
T918では、端末10は、Inquiry Requestの送信を開始してから応答を受信することなく所定の時間が経過すると、DPP接続の確立が失敗したと判断し、T919に進む。
上記したように、端末10は、図9のT876において、グループID「home2」と関連付けて、AP400のAP情報AI2をメモリ34に記憶している。T919では、端末10は、T902で選択されたグループID「home2」を利用して、メモリ34からAP情報AI2を特定する。
次いで、T920では、端末10は、T910と同様のAuthの処理を再び実行し、T922において、Configの処理を開始する。
T922において開始されるConfigの処理は、プリンタ用CO内の情報が図7のT704と異なる点を除いて、図7と同様である。具体的には、端末10は、プリンタ用SCと、T919で特定されたAP情報AI2と、を含むプリンタ用COをプリンタ100に送信する。
プリンタ100は、T922において、端末10からAP情報AI2を含むプリンタ用COを受信すると、T924において、プリンタ用CO内のAP情報AI2を利用して、4way-handshakeの通信をAP400と実行する。これにより、プリンタ100とAP400との間に通常Wi-Fi接続が確立される。T926、T928は、プリンタ200によって印刷が実行される点を除いて、図9のT884、T886と同様である。
図9、図10に示すケースによれば、端末10は、プリンタ200とAP400との間に通常Wi-Fi接続が確立された後に、図9のT876でメモリ34に記憶されたAP情報AI2を利用して、プリンタ100とAP400との間に通常Wi-Fi接続が確立する(図10のT924)。この構成によれば、ユーザは、2台目のプリンタ100をAP400のWi-Fiネットワークに参加させるために、AP400のパスワード「zzz」を端末10に入力しなくてもよい。ユーザの利便性が向上する。
また、端末10は、AP400がDPP方式をサポートしていないことに起因して、プリンタ100とAP400との間にDPP接続が確立されない場合であっても、AP情報AI2をプリンタ100に送信する(図10のT922)。これにより、取得したDPP情報を利用してDPP接続を確立できない場合であっても、プリンタ100とAP400との間に通常Wi-Fi接続を確立することができる。
また、端末10は、DPP方式のAuthによる認証を実行した後に、Congfigを利用して、AP情報AI2をプリンタ100に送信する(図10のT922)。例えば、AuthとCongfigに代えてWFD接続を確立し、当該WFD接続を利用して、AP情報AI2をプリンタ100に送信する比較例が想定される。即ち、比較例では、図9の処理と同様の方法を利用して、AP情報AI2をプリンタ100に送信する。これに対して、本ケースは、WFD接続を確立せずに、AuthとCongfigを利用する。即ち、プリンタ100との間に無線接続を確立することなく、通常Wi-Fi接続を確立するためのAP情報AI2をプリンタ100に送信することができる。なお、変形例では、上記の比較例の構成を採用してもよい。
(DPPのプリンタと非DPPのAPとの間に通常Wi-Fi接続を確立するケース;図11)
図11では、新しいグループIDを入力して、DPPのプリンタ100をAP400が形成しているWi-Fiネットワークに参加させるケースを説明する。図11の初期状態では、プリンタ100は、QRコードを表示している。
T942では、端末10は、アプリ38を起動し、選択画面を表示部14に表示する(図3のS12)。そして、選択画面内の「New」ボタンが選択され、新しいグループID「home3」が入力される(S18)。
T944~T958は、図10のT904~T918と同様である。T962では、端末10は、端末10が現在参加しているWi-FiネットワークであるAP400のWi-Fiネットワークを識別するSSID「a002」とパスワードを入力するための入力欄を含むパスワード入力画面を表示部14に表示する。
端末10は、T964において、AP400のパスワード「zzz」の入力を受け付けると、T966において、T942で入力されたグループID「home3」と関連付けて、AP400のAP情報AI2をメモリ34に記憶する。
T968~T974は、図10のT920~T924と同様である。即ち、Authの処理が再び実行され、Configの処理において、AP情報AI2を含むプリンタ用COがプリンタ100に送信される。これにより、プリンタ100とAP400との間に通常Wi-Fi接続が確立される。T976、T978は、図10のT926、T928と同様である。
図11のケースによれば、端末10は、AP400がDPP方式をサポートしていないことに起因して、プリンタ100とAP400との間にDPP接続が確立されない場合であっても、AP情報AI2をプリンタ100に送信する(T970)。これにより、取得したDPP情報を利用してDPP接続を確立できない場合であっても、プリンタ100とAP400との間に通常Wi-Fi接続を確立することができる。
また、本ケースでは、図10のケースと同様に、プリンタ100との間に無線接続(例えばWFD接続)を確立することなく、AuthとCongfigを利用して、通常Wi-Fi接続を確立するためのAP情報AI2をプリンタ100に送信することができる。
(非DPPのプリンタを同じWi-Fiネットワークに参加させるケース;図12)
図12を参照して、図11の処理に続けて、非DPPのプリンタ200をAP400が形成しているWi-Fiネットワークに参加させるケースを説明する。図12の初期状態では、プリンタ200は、QRコードを表示している。
T980では、端末10は、選択画面を表示部14に再び表示する(図3のS12)。図11のT942においてグループID「home3」が入力されているので、選択画面は、「home3」ボタンを含む。
T982では、端末10は、選択画面で「home3」ボタンの選択を受け付ける(S14でNO)。そして、端末10は、カメラ20を起動する。
T984~T990は、図9のT860~TT870と同様である。即ち、端末10とプリンタ200との間にWFD接続が確立される。
上記したように、端末10は、図11のT966において、グループID「home3」と関連付けて、AP400のAP情報AI2をメモリ34に記憶している。T992では、端末10は、T982で選択されたグループID「home3」を利用して、メモリ34からAP情報AI2を特定する。T994~T998は、図9のT878~T886と同様である。
図12のケースによれば、端末10は、プリンタ100とAP400との間に通常Wi-Fi接続が確立された後に、図11のT966でメモリ34に記憶されたAP情報AI2を利用して、プリンタ200とAP400との間に通常Wi-Fi接続が確立する(図12のT996)。この構成によれば、ユーザは、2台目のプリンタ200をAP400のWi-Fiネットワークに参加させるために、AP400のパスワード「zzz」を端末10に入力しなくてもよい。ユーザの利便性が向上する。
(本実施例の効果)
本実施例の構成によれば、端末10は、公開鍵PPK1を含むDPP情報を取得する場合(図3のS24でYES)に、DPP情報を利用して、プリンタ用COをプリンタ100に送信する(図7のT710)。これにより、DPPのプリンタ100とAP300との間にDPP方式に従ったDPP接続が確立される(図2のT20)。また、端末10は、DPP情報とは異なるWFD情報を取得する場合(図3のS24でNO)に、WFD情報を利用して、WFD接続を確立し(図9のT870)、確立済みのWFD接続を利用して、AP情報AI2を非DPPのプリンタ200に送信する(T878)。これにより、プリンタ200とAP400との間にDPP方式に従わない通常Wi-Fi接続が確立される(T882)。従って、プリンタが、DPP方式に従った無線通信を実行可能なデバイス(即ちDPP方式をサポートしているデバイス)であっても、DPP方式に従った無線通信を実行不可能なデバイス(即ちDPP方式をサポートしていないデバイス)であっても、当該プリンタとAPとの間に無線接続を確立することができる。
(対応関係)
端末10が、「端末装置」の一例である。DPP方式が、「所定のルール」の一例である。DPPのプリンタ100、DPP情報DI2、AP300が、それぞれ、「第1種の通信装置」、「第1種の関係情報」、「第1の外部装置」の一例である。図7のT710のプリンタ用CO、図2のT20のDPP接続が、それぞれ、「第1の接続情報」、「第1種の無線接続」の一例である。非DPPのプリンタ200、WFD情報WI、AP400が、それぞれ、「第2種の通信装置」、「第2種の関係情報」、「第2の外部装置」の一例である。図9のT878のAP情報AI2、T882の通常Wi-Fi接続が、それぞれ、「第2の接続情報」、「第2種の無線接続」の一例である。SSID「a002」、パスワード「zzz」が、それぞれ、「第1のSSID」、「第1のパスワード」の一例である。図9のT872のパスワード入力画面が、「入力画面」の一例である。SSID「p002」、パスワード「xxx」が、それぞれ、「第2のSSID」、「第2のパスワード」の一例である。図9のT870のWFD接続が、「第3種の無線接続」の一例である。図10のT922のプリンタ用COが、「第3の接続情報」の一例である。SSID「a002」、パスワード「zzz」が、それぞれ、「第3のSSID」、「第3のパスワード」の一例である。図11のT970のプリンタ用COが、「第4の接続情報」の一例である。
図3のS22、図7のT710、図9のT878が、それぞれ、「取得部」、「第1の情報送信部」、「第2の情報送信部」によって実現される処理の一例である。
(第2実施例)
本実施例は、図9の非DPP処理の内容が異なる点を除いて、第1実施例と同様である。本実施例では、端末10は、T864において、取得済みのコード情報がWFD情報であると判断すると(S24でNO)、T892において、取得済みのWFD情報WIを利用して、プリンタ200との間にWFD接続を確立する。そして、端末10は、T894において、確立済みのWFD接続を利用して、印刷データをプリンタ200に送信する。これにより、プリンタ200は、T896において、当該印刷データに従った印刷を実行する。
本実施例でも、第1実施例と同様に、プリンタが、DPP方式をサポートしているデバイスであっても、DPP方式をサポートしていないデバイスであっても、当該プリンタとAPとの間に無線接続を確立することができる。そして、端末10は、確立済みの無線接続、即ち、DPP接続又はWFD接続を利用して、印刷データをプリンタに送信することができる。端末10、図9のT892のWFD接続が、それぞれ、「第2の外部装置」、「第2種の無線接続」の一例であり、図9のT870においてプリンタ200に送信されるSSID「p002」と暗号化情報が、「第2の接続情報」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)上記の各実施例では、プリンタ100及びプリンタ200は、QRコードを表示する(図6のT512又は図9のT852)。これに代えて、各プリンタは、QRコードを表示することに代えて、QRコードを含む画像を印刷媒体上に印刷してもよい。また、プリンタは、QRコードに代えて、バーコードを表示してもよい。本変形例では、QRコードの印刷、バーコードの表示が、「関係情報を出力する」ことの一例である。
(変形例2)上記の各実施例では、プリンタ100及びプリンタ200は、QRコードを表示する(図6のT512又は図9のT852)。これに代えて、各プリンタは、Bluetooth(登録商標)、NFC(Near Field Communicationの略)、赤外線通信、トランスファージェット、Wi-Fi方式のインバンドの機能等の通信方式に従った無線通信を利用して、DPP情報又はWFD情報を端末10に送信してもよい。本変形例では、上記の各無線通信を利用してDPP情報又はWFD情報を送信することが、「関係情報を出力する」ことの一例である。
(変形例3)上記の各実施例では、プリンタ100とAP300との間にDPP接続が確立される(図2のT20)。これに代えて、T2~T6の処理が実行されず、プリンタ100がAPの親局として動作し、端末10が、T16のConfigの後に、端末用COを生成してもよい。そして、端末10及びプリンタ100は、プリンタ用CO及び端末用COを利用して、DPP方式のNAを実行してもよい。これにより、端末10及びプリンタ100との間にDPP接続が確立されてもよい。本変形例では、端末10が、「第1の外部装置」の一例である。
(変形例4)上記の第1実施例では、図9の非DPP処理において、プリンタ200は、DPP方式をサポートしていないAP400との間に通常Wi-Fi接続を確立する(T882)。これに代えて、プリンタ200は、DPP方式をサポートしているAP300との間に通常Wi-Fi接続を確立してもよい。本変形例では、AP300が、「第2の外部装置」の一例である。
(変形例5)上記の第1実施例では、プリンタ200は、WFD情報WIを用いて得られるQRコードを表示し(図9のT852)、端末10との間にWFD接続を確立する(T870)。これに代えて、プリンタ200は、Bluetooth方式に従った無線接続を確立するための情報(例えばPINコード)を用いて得られるQRコードを表示し、端末10との間にBluetooth方式に従った無線接続を確立してもよい。本変形例では、端末10、Bluetooth方式に従った無線接続が、それぞれ、「第2の外部装置」、「第3種の無線接続」の一例であり、「第2のSSID」、「第2のパスワード」を省略可能である。さらに、上記の第2実施例でも、プリンタ200は、T892のWFD接続に代えて、端末10との間にBluetooth方式に従った無線接続を確立してもよい。本変形例では、Bluetooth方式に従った無線接続が、「第2種の無線接続」の一例である。
(変形例6)上記の各実施例では、プリンタ200は、WFD情報WIを用いて得られるQRコードを表示する(図9のT852)。これに代えて、プリンタ200は、WFD情報WIだけでなく、プリンタ200の公開鍵を含む情報を用いて得られるQRコードを表示してもよい。本変形例では、「第2種の関係情報」は、第2種の通信装置の公開鍵を含んでもよい。
(変形例7)図9のT872の処理は実行されなくてもよい。本変形例では、「表示制御部」を省略可能である。
(変形例8)上記の各実施例では、WFD情報WIは、SSID「p002」とパスワード「xxx」を含む。これに代えて、WFD情報WIは、例えば、プリンタ200のMACアドレス、プリンタ200のデバイス名を含んでいてもよい。そして、端末10は、MACアドレス、デバイス名等を利用して、プリンタ200との間にWFD接続を確立してもよい。本変形例では、「第2のSSID」、「第2のパスワード」を省略可能である。
(変形例9)上記の各実施例では、端末10は、プリンタ200との間にWFD接続を確立する(図9のT870又はT892)。これに代えて、端末10は、プリンタ200との間にSoftAP接続を確立してもよい。本変形例では、SoftAP接続が、「第2種(又は第3種)の無線接続」の一例である。
(変形例10)図9のT876の処理は実行されなくてもよい。そして、図10のT919の処理に代えて、図9のT872、T874の処理が実行されてもよい。本変形例では、「第1の記憶制御部」を省略可能である。
(変形例11)上記の第1実施例では、端末10は、AP情報AI2を含むプリンタ用COをプリンタ100に送信する(図10のT922又は図11のT970)。これに代えて、端末10は、プリンタ100との間にWFD接続を確立し、当該WFD接続を利用して、AP情報AI2をプリンタ100に送信してもよい。一般的に言えば、「第3(又は第4)の接続情報」は、所定のルールに従った形式を有さなくてもよい。
(変形例12)図11のT962~T978の処理は実行されなくてもよい。これに代えて、端末10は、DPP接続の確立が失敗したと判断する場合に、DPP接続の確立が失敗したことを示す失敗画面を表示部14に表示してもよい。本変形例では、「第4の情報送信部」を省略可能である。
(変形例13)図11のT966の処理は実行されなくてもよい。そして、図12のT992の処理に代えて、図11のT962、T964の処理が実行されてもよい。本変形例では、「第2の記憶制御部」を省略可能である。
(変形例14)「通信装置」は、プリンタでなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。
(変形例15)上記の各実施例では、図2~図12の各処理がソフトウェア(例えばプログラム36)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下、本明細書で開示する技術の特徴を列挙する。
(項目1)
端末装置のためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記端末装置のコンピュータを、
通信装置が、無線接続に関係する関係情報を出力する場合に、前記関係情報を取得する取得部と、
Wi-Fi方式の所定のルールに従った無線通信を実行可能な前記通信装置である第1種の通信装置が、前記第1種の通信装置の公開鍵を含む前記関係情報である第1種の関係情報を出力することに起因して、前記第1種の関係情報が取得される場合に、前記公開鍵を含む前記第1種の関係情報を利用して、第1の接続情報を前記第1種の通信装置に送信する第1の情報送信部であって、前記第1の接続情報は、前記第1種の通信装置と前記第1種の通信装置とは異なる第1の外部装置との間に前記所定のルールに従った前記無線接続である第1種の無線接続を確立するための情報である、前記第1の情報送信部と、
前記所定のルールに従った無線通信を実行不可能な前記通信装置である第2種の通信装置が、前記第1種の関係情報とは異なる前記関係情報である第2種の関係情報を出力することに起因して、前記第2種の関係情報が取得される場合に、前記第2種の関係情報を利用して、第2の接続情報を前記第2種の通信装置に送信する第2の情報送信部であって、前記第2の接続情報は、前記第2種の通信装置と前記第2種の通信装置とは異なる第2の外部装置との間に前記所定のルールに従わない前記無線接続である第2種の無線接続を確立するための情報である、前記第2の情報送信部と、
として機能させる、コンピュータプログラム。
(項目2)
前記第2種の関係情報は、前記第2種の通信装置の公開鍵を含まない、項目1に記載のコンピュータプログラム。
(項目3)
前記第2の接続情報は、アクセスポイントが親局として動作する無線ネットワークを識別する第1のSSID(Service Set Identifierの略)と、前記無線ネットワークで利用される第1のパスワードと、を含み、
前記第2の接続情報は、前記第2種の通信装置と前記アクセスポイントである前記第2の外部装置との間に前記第2種のWi-Fi接続を確立するための情報である、項目1又は2に記載のコンピュータプログラム。
(項目4)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2種の関係情報が取得される場合に、前記第1のSSIDと前記第1のパスワードとのうちの少なくとも前記第1のパスワードを入力するための入力画面を表示部に表示させる表示制御部として機能させ、
前記第2の接続情報は、前記入力画面において入力された前記第1のパスワードを含む、項目3に記載のコンピュータプログラム。
(項目5)
前記第2種の関係情報は、前記第2種の通信装置が親局として動作する無線ネットワークを識別する第2のSSID(Service Set Identifierの略)と、前記無線ネットワークにおいて利用される第2のパスワードと、を含み、
前記第2の情報送信部は、
前記第2種の関係情報が取得される場合に、前記第2のSSIDと前記第2のパスワードとを含む前記第2種の関係情報を利用して、前記第2種の通信装置と前記端末装置との間に前記無線接続である第3種の無線接続を確立し、
前記第3種の無線接続を利用して、前記第2の接続情報を前記第2種の通信装置に送信する、項目3又は4に記載のコンピュータプログラム。
(項目6)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の接続情報が前記第2種の通信装置に送信される場合に、前記第1のSSIDと前記第1のパスワードとをメモリに記憶する第1の記憶制御部と、
前記第2種の通信装置と前記アクセスポイントとの間に前記第2種の無線接続が確立された後に、前記第1種の通信装置が前記第1種の関係情報を出力することに起因して、前記第1種の関係情報が取得される場合に、前記メモリ内の前記第1のSSIDと前記第1のパスワードとを含む第3の接続情報を前記第1種の通信装置に送信する第3の情報送信部であって、前記第3の接続情報は、前記第1種の通信装置と前記アクセスポイントとの間に前記所定のルールに従わない前記第2種の無線接続を確立するための情報である、前記第3の情報送信部と、
として機能させる、項目3から5のいずれか一項に記載のコンピュータプログラム。
(項目7)
前記第3の接続情報は、前記所定のルールに従った形式を有する情報である、項目6に記載のコンピュータプログラム。
(項目8)
前記第2種の関係情報は、前記第2種の通信装置が親局として動作する無線ネットワークを識別する第2のSSID(Service Set Identifierの略)と、前記無線ネットワークにおいて利用される第2のパスワードと、を含み、
前記第2の接続情報は、前記第2のSSIDと、前記第2のパスワードによって暗号化されるデータと、を含み、前記第2種の通信装置と前記端末装置である前記第2の外部装置との間に前記第2種の無線接続を確立するための情報である、項目1又は2に記載のコンピュータプログラム。
(項目9)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第1の接続情報が前記第1種の通信装置に送信された後に、前記第1の外部装置が前記所定のルールに従った無線通信を実行不可能であることに起因して、前記第1種の通信装置と前記第1の外部装置との間に前記第1種の無線接続が確立されない場合に、第4の接続情報を前記第1種の通信装置に送信する第4の情報送信部であって、前記第4の接続情報は、前記第1種の通信装置と前記第1の外部装置との間に前記所定のルールに従わない前記第2種の無線接続を確立するための情報であり、前記第4の接続情報は、前記第1の外部装置が親局として動作する無線ネットワークを識別するための第3のSSID(Service Set Identifierの略)と、前記無線ネットワークで利用される第3のパスワードと、を含む、前記第4の情報送信部として機能させる、項目1から8のいずれか一項に記載のコンピュータプログラム。
(項目10)
前記第1の接続情報は、前記所定のルールに従った形式を有する情報であり、
前記第4の接続情報は、前記所定のルールに従った形式を有する情報である、項目9に記載のコンピュータプログラム。
(項目11)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第4の接続情報が送信される場合に、前記第3のSSIDと前記第3のパスワードとをメモリに記憶する第2の記憶制御部と、
前記第1種の通信装置と前記第1の外部装置との間に前記第2種の無線接続が確立された後に、前記第2種の通信装置が前記第2種の関係情報を出力することに起因して、前記第2種の関係情報が取得される場合に、前記メモリ内の前記第3のSSIDと前記第3のパスワードとを含む第5の接続情報を前記第2種の通信装置に送信する第5の情報送信部であって、前記第5の接続情報は、前記第2種の通信装置と前記第1の外部装置との間に前記所定のルールに従わない前記第2種の無線接続を確立するための情報である、前記第5の情報送信部と、
を備える、項目9又は10に記載のコンピュータプログラム。
(項目12)
端末装置であって、
通信装置が、無線接続に関係する関係情報を出力する場合に、前記関係情報を取得する取得部と、
Wi-Fi方式の所定のルールに従った無線通信を実行可能な前記通信装置である第1種の通信装置が、前記第1種の通信装置の公開鍵を含む前記関係情報である第1種の関係情報を出力することに起因して、前記第1種の関係情報が取得される場合に、前記公開鍵を含む前記第1種の関係情報を利用して、第1の接続情報を前記第1種の通信装置に送信する第1の情報送信部であって、前記第1の接続情報は、前記第1種の通信装置と前記第1種の通信装置とは異なる第1の外部装置との間に前記所定のルールに従った前記無線接続である第1種の無線接続を確立するための情報である、前記第1の情報送信部と、
前記所定のルールに従った無線通信を実行不可能な前記通信装置である第2種の通信装置が、前記第1種の関係情報とは異なる前記関係情報である第2種の関係情報を出力することに起因して、前記第2種の関係情報が取得される場合に、前記第2種の関係情報を利用して、第2の接続情報を前記第2種の通信装置に送信する第2の情報送信部であって、前記第2の接続情報は、前記第2種の通信装置と前記第2種の通信装置とは異なる第2の外部装置との間に前記所定のルールに従わない前記無線接続である第2種の無線接続を確立するための情報である、前記第2の情報送信部と、
を備える、端末装置。

2:通信システム、10:端末、12:操作部、14:表示部、16:Wi-FiI/F、20:カメラ、30:制御部、32:CPU、34:メモリ、36:OSプログラム、38:接続アプリケーション、100:プリンタ、114:表示部、116:Wi-FiI/F、134:メモリ、200:プリンタ、214:表示部、216:Wi-FiI/F、234:メモリ、300:デバイス、AI1:AP情報、AI2:AP情報、400:AP、APK1:公開鍵、APK2:公開鍵、CK:接続キー、DI1:DPP情報、DI2:DPP情報、DSap:電子署名、DSpr:電子署名、ED1:暗号化データ、ED2:暗号化データ、ED3:暗号化データ、ED4:暗号化データ、HV:ハッシュ値、PPK1:公開鍵、PPK2:公開鍵、RV1:ランダム値、RV2:ランダム値、RV3:ランダム値、RV4:ランダム値、SK1:共有鍵、SK2:共有鍵、SK3:共有鍵、SK4:共有鍵、TPK1:公開鍵、TPK2:公開鍵、TPK3:公開鍵、WI:WFD情報、ask1:秘密鍵、ask2:秘密鍵、psk1:秘密鍵、psk2:秘密鍵、tsk1:秘密鍵、tsk2:秘密鍵、tsk3:秘密鍵

Claims (12)

  1. 端末装置のためのコンピュータプログラムであって、
    前記コンピュータプログラムは、前記端末装置のコンピュータを、
    通信装置が、無線接続に関係する関係情報を出力する場合に、前記関係情報を取得する取得部と、
    DPP方式に従った無線通信を実行可能な前記通信装置である第1種の通信装置が、前記第1種の通信装置の公開鍵を含む前記関係情報である第1種の関係情報を出力することに起因して、前記第1種の関係情報が取得される場合に、前記公開鍵を含む前記第1種の関係情報を利用して、第1の接続情報を前記第1種の通信装置に送信する第1の情報送信部であって、前記第1の接続情報は、前記第1種の通信装置と前記第1種の通信装置とは異なる第1の外部装置との間に前記DPP方式に従った前記無線接続である第1種の無線接続を確立するための情報である、前記第1の情報送信部と、
    前記DPP方式に従った無線通信を実行不可能な前記通信装置である第2種の通信装置が、前記第1種の関係情報とは異なる前記関係情報である第2種の関係情報を出力することに起因して、前記第2種の関係情報が取得される場合に、前記第2種の関係情報を利用して、第2の接続情報を前記第2種の通信装置に送信する第2の情報送信部であって、前記第2の接続情報は、前記第2種の通信装置と前記第2種の通信装置とは異なる第2の外部装置との間に前記DPP方式に従わない前記無線接続である第2種の無線接続を確立するための情報である、前記第2の情報送信部と、
    として機能させる、コンピュータプログラム。
  2. 前記第2種の関係情報は、前記第2種の通信装置の公開鍵を含まない、請求項1に記載のコンピュータプログラム。
  3. 前記第2の接続情報は、アクセスポイントが親局として動作する無線ネットワークを識別する第1のSSID(Service Set Identifierの略)と、前記無線ネットワークで利用される第1のパスワードと、を含み、
    前記第2の接続情報は、前記第2種の通信装置と前記アクセスポイントである前記第2の外部装置との間に前記第2種の無線接続を確立するための情報である、請求項1又は2に記載のコンピュータプログラム。
  4. 前記コンピュータプログラムは、前記コンピュータを、さらに、
    前記第2種の関係情報が取得される場合に、前記第1のSSIDと前記第1のパスワードとのうちの少なくとも前記第1のパスワードを入力するための入力画面を表示部に表示させる表示制御部として機能させ、
    前記第2の接続情報は、前記入力画面において入力された前記第1のパスワードを含む、請求項3に記載のコンピュータプログラム。
  5. 前記第2種の関係情報は、前記第2種の通信装置が親局として動作する無線ネットワークを識別する第2のSSID(Service Set Identifierの略)と、前記無線ネットワークにおいて利用される第2のパスワードと、を含み、
    前記第2の情報送信部は、
    前記第2種の関係情報が取得される場合に、前記第2のSSIDと前記第2のパスワードとを含む前記第2種の関係情報を利用して、前記第2種の通信装置と前記端末装置との間に前記無線接続である第3種の無線接続を確立し、
    前記第3種の無線接続を利用して、前記第2の接続情報を前記第2種の通信装置に送信する、請求項3又は4に記載のコンピュータプログラム。
  6. 前記コンピュータプログラムは、前記コンピュータを、さらに、
    前記第2の接続情報が前記第2種の通信装置に送信される場合に、前記第1のSSIDと前記第1のパスワードとをメモリに記憶する第1の記憶制御部と、
    前記第2種の通信装置と前記アクセスポイントとの間に前記第2種の無線接続が確立された後に、前記第1種の通信装置が前記第1種の関係情報を出力することに起因して、前記第1種の関係情報が取得され、かつ、前記アクセスポイントが前記DPP方式に従った無線通信を実行不可能であることに起因して、前記第1種の通信装置と前記アクセスポイントとの間に前記DPP方式に従った前記無線接続が確立されない場合に、前記メモリ内の前記第1のSSIDと前記第1のパスワードとを含む第3の接続情報を前記第1種の通信装置に送信する第3の情報送信部であって、前記第3の接続情報は、前記第1種の通信装置と前記アクセスポイントとの間に前記DPP方式に従わない前記第2種の無線接続を確立するための情報である、前記第3の情報送信部と、
    として機能させる、請求項3から5のいずれか一項に記載のコンピュータプログラム。
  7. 前記第3の接続情報は、前記DPP方式に従った形式を有する情報である、請求項6に記載のコンピュータプログラム。
  8. 前記第2種の関係情報は、前記第2種の通信装置が親局として動作する無線ネットワークを識別する第2のSSID(Service Set Identifierの略)と、前記無線ネットワークにおいて利用される第2のパスワードと、を含み、
    前記第2の接続情報は、前記第2のSSIDと、前記第2のパスワードによって暗号化されるデータと、を含み、前記第2種の通信装置と前記端末装置である前記第2の外部装置との間に前記第2種の無線接続を確立するための情報である、請求項1又は2に記載のコンピュータプログラム。
  9. 前記コンピュータプログラムは、前記コンピュータを、さらに、
    前記第1の接続情報が前記第1種の通信装置に送信された後に、前記第1種の通信装置において、前記第1の接続情報を利用した特定の外部装置との前記無線接続の確立が試行されるものの、前記特定の外部装置が前記DPP方式に従った無線通信を実行不可能であることに起因して、前記第1種の通信装置と前記特定の外部装置との間にDPP方式に従った前記無線接続が確立されない場合に、第4の接続情報を前記第1種の通信装置に送信する第4の情報送信部であって、前記第4の接続情報は、前記第1種の通信装置と前記特定の外部装置との間に前記DPP方式に従わない前記無線接続を確立するための情報であり、前記第4の接続情報は、前記特定の外部装置が親局として動作する無線ネットワークを識別するための第3のSSID(Service Set Identifierの略)と、前記無線ネットワークで利用される第3のパスワードと、を含む、前記第4の情報送信部として機能させる、請求項1から8のいずれか一項に記載のコンピュータプログラム。
  10. 前記第1の接続情報は、前記DPP方式に従った形式を有する情報であり、
    前記第4の接続情報は、前記DPP方式に従った形式を有する情報である、請求項9に記載のコンピュータプログラム。
  11. 前記コンピュータプログラムは、前記コンピュータを、さらに、
    前記第4の接続情報が送信される場合に、前記第3のSSIDと前記第3のパスワードとをメモリに記憶する第2の記憶制御部と、
    前記第1種の通信装置と前記特定の外部装置との間に前記DPP方式に従わない前記無線接続が確立された後に、前記第2種の通信装置が前記第2種の関係情報を出力することに起因して、前記第2種の関係情報が取得される場合に、前記メモリ内の前記第3のSSIDと前記第3のパスワードとを含む第5の接続情報を前記第2種の通信装置に送信する第5の情報送信部であって、前記第5の接続情報は、前記第2種の通信装置と前記特定の外部装置との間に前記DPP方式に従わない前記無線接続を確立するための情報である、前記第5の情報送信部と、
    を備える、請求項9又は10に記載のコンピュータプログラム。
  12. 端末装置であって、
    通信装置が、無線接続に関係する関係情報を出力する場合に、前記関係情報を取得する取得部と、
    DPP方式に従った無線通信を実行可能な前記通信装置である第1種の通信装置が、前記第1種の通信装置の公開鍵を含む前記関係情報である第1種の関係情報を出力することに起因して、前記第1種の関係情報が取得される場合に、前記公開鍵を含む前記第1種の関係情報を利用して、第1の接続情報を前記第1種の通信装置に送信する第1の情報送信部であって、前記第1の接続情報は、前記第1種の通信装置と前記第1種の通信装置とは異なる第1の外部装置との間に前記DPP方式に従った前記無線接続である第1種の無線接続を確立するための情報である、前記第1の情報送信部と、
    前記DPP方式に従った無線通信を実行不可能な前記通信装置である第2種の通信装置が、前記第1種の関係情報とは異なる前記関係情報である第2種の関係情報を出力することに起因して、前記第2種の関係情報が取得される場合に、前記第2種の関係情報を利用して、第2の接続情報を前記第2種の通信装置に送信する第2の情報送信部であって、前記第2の接続情報は、前記第2種の通信装置と前記第2種の通信装置とは異なる第2の外部装置との間に前記DPP方式に従わない前記無線接続である第2種の無線接続を確立するための情報である、前記第2の情報送信部と、
    を備える、端末装置。
JP2019002066A 2019-01-09 2019-01-09 端末装置と端末装置のためのコンピュータプログラム Active JP7259334B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019002066A JP7259334B2 (ja) 2019-01-09 2019-01-09 端末装置と端末装置のためのコンピュータプログラム
US16/717,437 US11736274B2 (en) 2019-01-09 2019-12-17 Terminal device and non-transitory computer-readable medium storing computer-readable instructions for terminal device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019002066A JP7259334B2 (ja) 2019-01-09 2019-01-09 端末装置と端末装置のためのコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2020113851A JP2020113851A (ja) 2020-07-27
JP7259334B2 true JP7259334B2 (ja) 2023-04-18

Family

ID=71405323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019002066A Active JP7259334B2 (ja) 2019-01-09 2019-01-09 端末装置と端末装置のためのコンピュータプログラム

Country Status (2)

Country Link
US (1) US11736274B2 (ja)
JP (1) JP7259334B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7054341B2 (ja) * 2017-12-22 2022-04-13 キヤノン株式会社 通信装置およびその制御方法
JP7215048B2 (ja) * 2018-09-28 2023-01-31 ブラザー工業株式会社 端末装置のためのコンピュータプログラム、及び、端末装置
JP6790185B1 (ja) * 2019-06-28 2020-11-25 キヤノン株式会社 表示制御装置、表示制御方法、プログラム、システム、および記録装置
JP2022170325A (ja) 2021-04-28 2022-11-10 ブラザー工業株式会社 端末装置のためのコンピュータプログラム、端末装置、及び、通信装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018006983A (ja) 2016-06-30 2018-01-11 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP2018042058A (ja) 2016-09-06 2018-03-15 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
JP2018142923A (ja) 2017-02-28 2018-09-13 ブラザー工業株式会社 通信装置

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467302B2 (en) * 2004-11-19 2008-12-16 Alpha Networks Inc. Secure connection mechanism capable of automatically negotiating password between wireless client terminal and wireless access terminal
JP4777693B2 (ja) * 2005-06-08 2011-09-21 三菱電機株式会社 認証システム及び端末装置及び認証装置及び認証方法
JP4840230B2 (ja) * 2007-03-30 2011-12-21 ブラザー工業株式会社 無線ネットワークシステム、およびそれを構成するための無線機器
JP5295017B2 (ja) * 2009-07-07 2013-09-18 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
US8955054B2 (en) * 2010-01-06 2015-02-10 Qualcomm Incorporated Method and apparatus for providing simultaneous support for multiple master keys at an access point in a wireless communication system
JP2011199458A (ja) * 2010-03-18 2011-10-06 Brother Industries Ltd 無線通信システム
JP5754255B2 (ja) * 2011-06-14 2015-07-29 ブラザー工業株式会社 無線通信装置
JP5754254B2 (ja) * 2011-06-14 2015-07-29 ブラザー工業株式会社 無線通信装置
JP5724795B2 (ja) * 2011-09-29 2015-05-27 ブラザー工業株式会社 無線通信装置
JP5954024B2 (ja) * 2012-07-27 2016-07-20 ブラザー工業株式会社 通信装置
WO2014189262A1 (en) * 2013-05-24 2014-11-27 Strix Inc. User terminal authentication method of access point apparatus
JP6281222B2 (ja) * 2013-09-30 2018-02-21 ブラザー工業株式会社 通信機器
US9648652B2 (en) * 2014-04-08 2017-05-09 Paypal, Inc. Facilitating wireless connections using a BLE beacon
US10051676B2 (en) * 2014-10-30 2018-08-14 Intel Corporation Apparatus, system and method of peer to peer communication
JP6606825B2 (ja) * 2014-12-18 2019-11-20 ティアック株式会社 無線lan機能を備えた録音再生装置
KR102238407B1 (ko) * 2015-03-19 2021-04-09 삼성전자주식회사 연결요구 장치와 연결수용 장치의 초기 셋업을 지원하는 기법
JP6477132B2 (ja) * 2015-03-27 2019-03-06 ブラザー工業株式会社 通信機器
JP6406092B2 (ja) * 2015-03-27 2018-10-17 ブラザー工業株式会社 通信機器
JP6166746B2 (ja) * 2015-04-10 2017-07-19 キヤノン株式会社 通信装置とその制御方法及びプログラム
JP6525714B2 (ja) 2015-04-30 2019-06-05 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
US20160360407A1 (en) * 2015-06-05 2016-12-08 Qualcomm Incorporated Distributed configurator entity
JP6536226B2 (ja) * 2015-07-03 2019-07-03 ブラザー工業株式会社 通信機器
JP6532333B2 (ja) 2015-07-21 2019-06-19 キヤノン株式会社 通信装置、通信方法及びプログラム
JP6503968B2 (ja) * 2015-08-05 2019-04-24 ブラザー工業株式会社 通信機器、及び、通信機器のためのコンピュータプログラム
JP6558134B2 (ja) * 2015-08-05 2019-08-14 ブラザー工業株式会社 通信機器、及び、通信機器のためのコンピュータプログラム
JP6547521B2 (ja) * 2015-08-31 2019-07-24 ブラザー工業株式会社 通信機器及び親局機器
JP6582760B2 (ja) * 2015-09-03 2019-10-02 ブラザー工業株式会社 通信装置
JP6724338B2 (ja) * 2015-10-30 2020-07-15 ブラザー工業株式会社 通信機器
JP6714813B2 (ja) * 2015-11-27 2020-07-01 セイコーエプソン株式会社 電子機器、無線通信方法、及びプログラム
CN105446305A (zh) * 2015-12-30 2016-03-30 深圳众乐智府科技有限公司 智能家居网关网络配置方法及智能家居系统
JP6732460B2 (ja) * 2016-01-26 2020-07-29 キヤノン株式会社 通信装置、通信方法、プログラム
EP3410758B1 (en) * 2016-01-29 2020-02-26 Tencent Technology (Shenzhen) Company Limited Wireless network connecting method and apparatus, and storage medium
US11632710B2 (en) * 2016-03-02 2023-04-18 Blackberry Limited Provisioning a device in a network
JP6668890B2 (ja) * 2016-03-31 2020-03-18 ブラザー工業株式会社 通信装置
US10873842B2 (en) * 2016-04-08 2020-12-22 Blackberry Limited Managed object to provision a device according to one of plural provisioning techniques
JP6662240B2 (ja) * 2016-08-10 2020-03-11 ブラザー工業株式会社 通信機器
JP6702833B2 (ja) * 2016-09-15 2020-06-03 キヤノン株式会社 通信装置、通信装置の制御及びプログラム
JP6805696B2 (ja) * 2016-09-30 2020-12-23 ブラザー工業株式会社 通信装置及び端末装置
US10547448B2 (en) * 2016-10-19 2020-01-28 Qualcomm Incorporated Configurator key package for device provisioning protocol (DPP)
JP6784155B2 (ja) * 2016-11-28 2020-11-11 セイコーエプソン株式会社 無線通信装置、無線通信端末、無線通信システム、及び、無線通信方法
JP6797674B2 (ja) * 2016-12-26 2020-12-09 キヤノン株式会社 通信装置、制御方法、及びプログラム
US10701745B2 (en) * 2016-12-28 2020-06-30 Intel IP Corporation Secure ad hoc network access
CN115103330A (zh) * 2016-12-30 2022-09-23 英特尔公司 用于无线电通信的方法和设备
JP6766677B2 (ja) * 2017-02-17 2020-10-14 ブラザー工業株式会社 端末装置のためのコンピュータプログラム
JP6992258B2 (ja) * 2017-02-21 2022-01-13 ブラザー工業株式会社 通信装置及び端末装置のためのコンピュータプログラム
JP6812836B2 (ja) * 2017-02-21 2021-01-13 ブラザー工業株式会社 通信装置及び端末装置のためのコンピュータプログラム
GB201704636D0 (en) * 2017-03-23 2017-05-10 Asio Ltd A method and system for authenticating a device
US20180278625A1 (en) * 2017-03-24 2018-09-27 Qualcomm Incorporated Exchanging message authentication codes for additional security in a communication system
JP6950242B2 (ja) * 2017-03-31 2021-10-13 ブラザー工業株式会社 通信装置
EP3955699A1 (en) * 2017-05-11 2022-02-16 Airties Kablosuz Iletisim San. ve Dis Tic. A.S. Wifi network setup for multiple access points
US20180375665A1 (en) * 2017-06-21 2018-12-27 Microsoft Technology Licensing, Llc Device provisioning
JP2019036923A (ja) * 2017-08-21 2019-03-07 キヤノン株式会社 情報処理装置、プログラム及び制御方法
JP6984284B2 (ja) * 2017-09-29 2021-12-17 ブラザー工業株式会社 通信装置と端末装置のためのコンピュータプログラム
WO2019177231A1 (ko) * 2018-03-16 2019-09-19 엘지전자 주식회사 무선랜 시스템에서 타겟 액세스 포인트에 대한 정보를 전달하기 위한 방법 및 이를 이용한 액세스 포인트
JP7183559B2 (ja) * 2018-03-30 2022-12-06 ブラザー工業株式会社 プリンタとプリンタのためのコンピュータプログラム
WO2019194391A1 (ko) * 2018-04-03 2019-10-10 엘지전자 주식회사 무선랜 시스템에서 무선 장치에 관한 정보를 전달하기 위한 방법 및 이를 이용한 구성자 단말
JP7257744B2 (ja) * 2018-04-25 2023-04-14 キヤノン株式会社 通信装置、制御方法、及びプログラム
US10169587B1 (en) * 2018-04-27 2019-01-01 John A. Nix Hosted device provisioning protocol with servers and a networked initiator
JP7199846B2 (ja) * 2018-06-21 2023-01-06 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
WO2020013412A1 (ko) * 2018-07-11 2020-01-16 엘지전자 주식회사 Wfd 연결을 위한 방법 및 이를 이용한 무선 장치
JP7262950B2 (ja) * 2018-09-11 2023-04-24 キヤノン株式会社 通信装置、通信方法及びプログラム
JP7135635B2 (ja) * 2018-09-14 2022-09-13 ブラザー工業株式会社 プリンタ、及び、端末装置のためのコンピュータプログラム
JP7215048B2 (ja) * 2018-09-28 2023-01-31 ブラザー工業株式会社 端末装置のためのコンピュータプログラム、及び、端末装置
US11546755B2 (en) * 2019-01-04 2023-01-03 Hewlett Packard Enterprise Development Lp Centralized configurator server for DPP provisioning of enrollees in a network
JP7279367B2 (ja) * 2019-01-16 2023-05-23 ブラザー工業株式会社 端末装置のためのコンピュータプログラム、及び、通信装置
US11284258B1 (en) * 2019-06-25 2022-03-22 Amazon Technologies, Inc. Managing access of a computing device to a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018006983A (ja) 2016-06-30 2018-01-11 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP2018042058A (ja) 2016-09-06 2018-03-15 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
JP2018142923A (ja) 2017-02-28 2018-09-13 ブラザー工業株式会社 通信装置

Also Published As

Publication number Publication date
US20200220718A1 (en) 2020-07-09
US11736274B2 (en) 2023-08-22
JP2020113851A (ja) 2020-07-27

Similar Documents

Publication Publication Date Title
JP7215048B2 (ja) 端末装置のためのコンピュータプログラム、及び、端末装置
US11630619B2 (en) Terminal device, access point, communication device, and computer programs therefor
JP7259334B2 (ja) 端末装置と端末装置のためのコンピュータプログラム
JP7338329B2 (ja) 端末装置と端末装置のためのコンピュータプログラム
US11825302B2 (en) Non-transitory computer-readable medium storing computer-readable instructions for terminal device and communication device
JP7196602B2 (ja) 通信装置、通信装置のためのコンピュータプログラム、及び、第1の外部装置のためのコンピュータプログラム
JP2022177276A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2023118902A (ja) 第1の通信装置と第1の通信装置のためのコンピュータプログラム
JP7338372B2 (ja) 通信装置、及び、通信装置のためのコンピュータプログラム
JP2024019266A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7196533B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7293950B2 (ja) 端末装置と端末装置のためのコンピュータプログラム
JP7302682B2 (ja) 端末装置のためのコンピュータプログラム、端末装置、通信装置、及び、通信装置のためのコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R150 Certificate of patent or registration of utility model

Ref document number: 7259334

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150