JP7302682B2 - Computer program for terminal device, terminal device, communication device, and computer program for communication device - Google Patents
Computer program for terminal device, terminal device, communication device, and computer program for communication device Download PDFInfo
- Publication number
- JP7302682B2 JP7302682B2 JP2022018513A JP2022018513A JP7302682B2 JP 7302682 B2 JP7302682 B2 JP 7302682B2 JP 2022018513 A JP2022018513 A JP 2022018513A JP 2022018513 A JP2022018513 A JP 2022018513A JP 7302682 B2 JP7302682 B2 JP 7302682B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- communication device
- terminal
- connection
- external device
- 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
Links
Images
Description
本明細書では、外部装置との無線接続を確立可能な端末装置及び通信装置に関する技術を開示する。 This specification discloses a technology related to a terminal device and a communication device capable of establishing a wireless connection with an external device.
非特許文献1には、Wi-Fi Allianceによって策定された無線通信方式であるDPP(Device Provisioning Protocolの略)方式が記述されている。DPP方式は、Wi-Fi接続を容易に確立させるための無線通信方式である。非特許文献1には、クライアントデバイスとアクセスポイントとの間にWi-Fi接続が確立されて、インフラストラクチャのネットワークが形成されることが開示されている。 Non-Patent Document 1 describes a DPP (abbreviation for Device Provisioning Protocol) system, which is a wireless communication system formulated by the Wi-Fi Alliance. The DPP system is a wireless communication system for easily establishing a Wi-Fi connection. Non-Patent Document 1 discloses that a Wi-Fi connection is established between a client device and an access point to form an infrastructure network.
上記の非特許文献1には、複数個のクライアントデバイスのそれぞれとアクセスポイントとの間にWi-Fi接続を確立するための具体的な手法について開示されていない。 Non-Patent Document 1 above does not disclose a specific technique for establishing a Wi-Fi connection between each of a plurality of client devices and an access point.
本明細書では、端末装置及び通信装置のそれぞれと外部装置との間に無線接続を適切に確立するための技術を開示する。 This specification discloses a technique for appropriately establishing a wireless connection between each of a terminal device and a communication device and an external device.
本明細書は、端末装置のためのコンピュータプログラムを開示する。端末装置は、無線インターフェースと、コンピュータと、前記端末装置の秘密鍵を記憶するメモリであって、前記秘密鍵は、外部装置のための第1の接続情報に含まれる少なくとも一部の情報を用いて得られる情報を暗号化するために利用済みであり、前記第1の接続情報は、前記端末装置と前記外部装置との間に前記無線インターフェースを介した第1の無線接続を確立するための情報であって、前記外部装置に記憶されている情報である、前記メモリと、を備え、前記コンピュータプログラムは、前記コンピュータを、前記外部装置とは異なる通信装置の第1の公開鍵を取得する第1の取得部と、前記第1の公開鍵が取得された後に、前記無線インターフェースを介して、前記第1の公開鍵が利用された第1の認証要求を前記通信装置に送信する第1の認証要求送信部と、前記第1の認証要求が前記通信装置に送信された後に、前記通信装置から、前記無線インターフェースを介して、前記第1の認証要求に対する応答である第1の認証応答を受信する第1の認証応答受信部と、前記通信装置から前記第1の認証応答が受信される場合に、前記秘密鍵を利用して、前記通信装置のための第2の接続情報を生成する第1の生成部であって、前記第2の接続情報は、前記通信装置と前記外部装置との間に第2の無線接続を確立するための情報であり、前記秘密鍵は、前記第2の接続情報に含まれる少なくとも一部の情報を用いて得られる情報を暗号化するために利用される、前記第1の生成部と、前記無線インターフェースを介して、前記第2の接続情報を前記通信装置に送信する第1の情報送信部と、として機能させてもよい。 This specification discloses a computer program for a terminal device. The terminal device includes a wireless interface, a computer, and a memory that stores a private key of the terminal device, wherein the private key uses at least part of information included in first connection information for an external device. and the first connection information is used for establishing a first wireless connection between the terminal device and the external device via the wireless interface. and the memory, which is information stored in the external device, wherein the computer program causes the computer to obtain a first public key of a communication device different from the external device. and a first acquisition unit that, after the first public key is acquired, transmits a first authentication request using the first public key to the communication device via the wireless interface. and a first authentication response that is a response to the first authentication request from the communication device via the wireless interface after the first authentication request is transmitted to the communication device and generating second connection information for the communication device using the private key when the first authentication response is received from the communication device wherein the second connection information is information for establishing a second wireless connection between the communication device and the external device, and the secret key is the first the second connection information via the wireless interface and the first generating unit, which is used to encrypt information obtained using at least part of the information included in the connection information of No. 2; and a first information transmitting unit that transmits to the communication device.
上記の構成によると、外部装置のための第1の接続情報に含まれる少なくとも一部の情報を用いて得られる情報の暗号化に利用される秘密鍵と、通信装置のための第2の接続情報に含まれる少なくとも一部の情報を用いて得られる情報の暗号化に利用される秘密鍵と、が同じである。そして、第1の接続情報が外部装置によって利用されると、端末装置と外部装置との間に第1の無線接続が確立され、第2の接続情報が通信装置によって利用されると、通信装置と外部装置との間に第2の無線接続が確立される。従って、端末装置及び通信装置のそれぞれと外部装置との間に無線接続を適切に確立することができる。 According to the above configuration, the secret key used for encrypting the information obtained using at least part of the information included in the first connection information for the external device and the second connection information for the communication device. The secret key used for encryption of information obtained using at least part of the information included in the information is the same. Then, when the first connection information is used by the external device, a first wireless connection is established between the terminal device and the external device, and when the second connection information is used by the communication device, the communication device A second wireless connection is established between the and the external device. Therefore, it is possible to appropriately establish a wireless connection between each of the terminal device and the communication device and the external device.
また、本明細書は、通信装置を開示する。通信装置は、無線インターフェースと、端末装置から、前記無線インターフェースを介して、前記通信装置の第1の公開鍵が利用された認証要求を受信する認証要求受信部と、前記端末装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記無線インターフェースを介して、接続情報と特定情報とを受信する情報受信部であって、前記接続情報は、前記通信装置と外部装置との間に前記無線インターフェースを介した第2の無線接続を確立するための情報であり、前記特定情報は、前記端末装置と外部装置との間に確立される第1の無線接続において利用される通信チャネルを示すチャネル情報と、前記外部装置を識別する装置識別情報と、の少なくも一方を含む、前記情報受信部と、前記端末装置から前記接続情報と前記特定情報とが受信される場合に、前記接続情報と前記特定情報とを利用して、前記通信装置と前記外部装置との間に前記第2の無線接続を確立する確立部と、を備えてもよい。 This specification also discloses a communication device. A communication device comprises: a wireless interface; an authentication request receiving unit that receives an authentication request using a first public key of the communication device from a terminal device via the wireless interface; is received, via the wireless interface, an authentication response transmission unit that transmits an authentication response, which is a response to the authentication request, to the terminal device; and after the authentication response is transmitted to the terminal device, the An information receiving unit that receives connection information and specific information from a terminal device via the wireless interface, wherein the connection information is transmitted between the communication device and an external device via the wireless interface. The specific information includes channel information indicating a communication channel used in a first wireless connection established between the terminal device and the external device, and the external device and the information receiving unit including at least one of: and device identification information for identifying the terminal device; and an establishing unit that establishes the second wireless connection between the communication device and the external device.
上記の構成によると、通信装置は、端末装置から認証要求を受信すると、認証応答を端末装置に送信し、端末装置から接続情報と特定情報とを受信する。特定情報は、端末装置と外部装置との間に確立される第1の無線接続において利用される通信チャネルを示すチャネル情報と、外部装置を識別する装置識別情報と、の少なくとも一方を含む。このために、通信装置は、接続情報と特定情報とを利用して、通信装置と外部装置との間に第2の無線接続を適切に確立することができる。従って、端末装置及び通信装置のそれぞれと外部装置との間に無線接続を適切に確立することができる。 According to the above configuration, when the communication device receives an authentication request from the terminal device, the communication device transmits an authentication response to the terminal device and receives the connection information and the specific information from the terminal device. The specific information includes at least one of channel information indicating a communication channel used in the first wireless connection established between the terminal device and the external device, and device identification information identifying the external device. Therefore, the communication device can use the connection information and the specific information to properly establish the second wireless connection between the communication device and the external device. Therefore, it is possible to appropriately establish a wireless connection between each of the terminal device and the communication device and the external device.
端末装置そのもの、及び、端末装置のためのコンピュータプログラムを記憶するコンピュータ可読記録媒体も、新規で有用である。通信装置のためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。端末装置によって実行される方法、及び、通信装置によって実行される方法も新規で有用である。また、端末装置と通信装置とを備える通信システムも、新規で有用である。 The terminal itself and the computer readable recording medium storing the computer program for the terminal are also new and useful. A computer program for a communication device and a computer-readable medium storing the computer program are also novel and useful. Methods performed by terminal devices and methods performed by communication devices are also novel and useful. A communication system comprising a terminal device and a communication device is also novel and useful.
(通信システム2の構成;図1)
図1に示されるように、通信システム2は、AP(Access Pointの略)6と、端末10と、プリンタ100と、を備える。本実施例では、ユーザが、端末10を利用して、端末10とAP6との間にWi-Fi方式に従った無線接続(以下では「Wi-Fi接続」と記載する)を確立させ、その後、プリンタ100とAP6との間にWi-Fi接続を確立させることを実現する。
(Configuration of communication system 2; Fig. 1)
As shown in FIG. 1 , the communication system 2 includes an AP (abbreviation for Access Point) 6 , a
(端末10の構成)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。なお、変形例では、端末10は、据置型のPC、ノートPC等であってもよい。
(Configuration of terminal 10)
The
端末10は、操作部12と、表示部14と、カメラ15と、Wi-Fiインターフェース16と、制御部30と、を備える。各部12~30は、バス線(符号省略)に接続されている。なお、以下では、インターフェースのことを単に「I/F」と記載する。
The
操作部12は、複数個のキーを備える。ユーザは、操作部12を操作することによって、様々な指示を端末10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。カメラ15は、物体を撮影するためのデバイスであり、本実施例では、特に、AP6及びプリンタ100のためのQRコード(登録商標)を撮影するために利用される。
The
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によって策定される予定であるDPP(Device Provisioning Protocolの略)方式をサポートしている。DPP方式は、Wi-Fi Allianceによって作成された規格書のドラフトである「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」に記述されており、端末10を利用して、一対のデバイス(例えば端末10とAP6、又は、プリンタ100とAP6)の間に容易にWi-Fi接続を確立させるための無線通信方式である。
A MAC address “macte” is assigned to the Wi-Fi I/
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム36,38に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成され、OSプログラム36と接続アプリケーション38(以下では単に「アプリ38」と記載する)とを記憶する。
The
OSプログラム36は、端末10の基本的な動作を制御するためのプログラムである。アプリ38は、DPP方式に従って一対のデバイスの間にWi-Fi接続を確立させるためのプログラムである。アプリ38は、例えば、プリンタ100のベンダによって提供されるインターネット上のサーバから端末10にインストールされる。
The
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば、端末10等の周辺装置)である。プリンタ100は、操作部112と、表示部114と、Wi-FiI/F116と、印刷実行部118と、制御部130と、を備える。各部112~130は、バス線(符号省略)に接続されている。
(Configuration of Printer 100)
The
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。表示部114は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。Wi-FiI/F116は、端末10のWi-FiI/F16と同様である。即ち、Wi-FiI/F116は、DPP方式をサポートしている。また、Wi-FiI/F116には、MACアドレス「macpr」が割り当てられている。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。
The
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。
(本実施例の概要;図2)
続いて、図2を参照して、本実施例の概要を説明する。端末10及びプリンタ100がDPP方式をサポートしていることを上述したが、AP6もDPP方式をサポートしている。また、AP6には、MACアドレス「macap」が割り当てられている。本実施例では、各デバイス6,10,100がDPP方式に従った通信を実行することによって、端末10及びプリンタ100のそれぞれとAP6との間にWi-Fi接続を確立させることを実現する。以下では、理解の容易化のために、各デバイスのCPU(例えばCPU32、CPU132)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えば端末10、プリンタ100)を主体として記載する。
(Overview of this embodiment; FIG. 2)
Next, an outline of this embodiment will be described with reference to FIG. As mentioned above, the terminal 10 and the
T5では、端末10は、DPP方式のBootstrapping(以下では、単に「BS」と記載する)をAP6と実行する。当該BSは、AP6に貼り付けられているQRコードが端末10によって撮影されることに応じて、後述のT10のAuthentication(以下では、単に「Auth」と記載する)で利用される情報をAP6から端末10に提供する処理である。
At T5, the terminal 10 performs DPP-based bootstrapping (hereinafter simply referred to as “BS”) with AP6. In response to the terminal 10 photographing the QR code affixed to the
T10では、端末10は、T5のBSで取得済みの情報を利用して、DPP方式のAuthをAP6と実行する。当該Authは、端末10及びAP6のそれぞれが通信相手を認証するための処理である。
At T10, the terminal 10 uses the information acquired by the BS at T5 to perform DPP Auth with AP6. The Auth is processing for each of the terminal 10 and the
T15では、端末10は、DPP方式のConfiguration(以下では、単に「Config」と記載する)をAP6と実行する。当該Configは、AP6がWi-Fi接続を確立するための情報をAP6に送信する処理である。具体的には、端末10は、AP用Configuration Object(以下では、Configuration Objectのことを単に「CO」と記載する)を生成して、AP用COをAP6に送信する。この結果、AP6では、AP用COが記憶される。
At T15, the terminal 10 performs DPP configuration (hereinafter simply referred to as “Config”) with AP6. The Config is a process for
T20では、端末10は、DPP方式のNetwork Access(以下では、単に「NA」と記載する)をAP6と実行する。端末10は、当該NAにおいて、端末用COを生成して、メモリ34に記憶する。そして、端末10及びAP6は、端末用CO及びAP用COを利用して、端末10とAP6との間のWi-Fi接続を確立するための接続キーを共有する。
At T20, the terminal 10 executes DPP-based Network Access (hereinafter simply referred to as “NA”) with AP6. The terminal 10 generates a terminal CO in the NA and stores it in the
T25では、端末10及びAP6は、4way-handshakeの通信を実行する。4way-handshakeの通信の少なくとも一部の過程において、端末10及びAP6は、T20のNAで共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、端末10とAP6との間にWi-Fi接続が確立される。これにより、端末10は、AP6によって形成される無線ネットワークに子局として参加する。なお、変形例では、4way-handshakeの通信に代えて、SAE(Simultaneous Authentication of Equalsの略、通称「Dragonfly」)の通信が利用されてもよい。
At T25, the terminal 10 and
次いで、端末10は、T55において、DPP方式のBSをプリンタ100と実行する。当該BSは、プリンタ100に表示されるQRコードが端末10によって撮影されることに応じて、後述のT60のAuthで利用される情報をプリンタ100から端末10に提供する処理である。
Next, the terminal 10 executes the DPP BS with the
T60では、端末10は、T55のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ100と実行する。当該Authは、端末10及びプリンタ100のそれぞれが通信相手を認証するための処理である。
At T60, the terminal 10 uses the information already acquired by the BS at T55 to perform DPP Auth with the
T65では、端末10は、DPP方式のConfigをプリンタ100と実行する。当該Configは、プリンタ100がWi-Fi接続を確立するための情報をプリンタ100に送信する処理である。具体的には、端末10は、プリンタ用COを生成して、プリンタ用COをプリンタ100に送信する。この結果、プリンタ100では、プリンタ用COが記憶される。
At T65, the terminal 10 executes DPP Config with the
T70では、プリンタ100及びAP6は、プリンタ用CO及びAP用COを利用して、DPP方式のNAを実行する。当該NAは、プリンタ100とAP6との間のWi-Fi接続を確立するための接続キーをプリンタ100及びAP6の間で共有するための処理である。
At T70, the
T75では、プリンタ100及びAP6は、4way-handshakeの通信を実行する。4way-handshakeの通信の少なくとも一部の過程において、プリンタ100及びAP6は、T70のNAで共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、プリンタ100とAP6との間にWi-Fi接続が確立される。これにより、プリンタ100は、AP6によって形成される無線ネットワークに子局として参加する。
At T75, the
上記のT5~T75の処理が実行されると、端末10及びプリンタ100のそれぞれがAP6によって形成される無線ネットワークに子局として参加している状態になる。この結果、端末10及びプリンタ100は、当該無線ネットワークを利用して、AP6を介して相互に通信することができる。例えば、端末10及びプリンタ100は、次の通信を実行することができる。即ち、T80では、印刷対象の画像を表わす印刷データが端末10からAP6に送信され、T85において、当該印刷データがAP6からプリンタ100に送信される。この結果、T90において、プリンタ100は、当該印刷データに従った印刷を実行する。
When the processes of T5 to T75 are executed, each of the terminal 10 and the
DPP方式では、端末10及びプリンタ100のそれぞれとAP6との間にWi-Fi接続を確立させるために、ユーザは、AP6が親局として動作する無線ネットワークの情報(例えばSSID(Service Set Identifierの略)、パスワード等)を端末10及びプリンタ100に入力する必要がない。従って、ユーザは、端末10及びプリンタ100のそれぞれとAP6との間にWi-Fi接続を容易に確立させることができる。
In the DPP method, in order to establish a Wi-Fi connection between each of the terminal 10 and the
(AP6とのBootstrapping(BS);図3)
続いて、図3~図10を参照して、図2のT5~T20及びT55~T70において実行される各処理の詳細を説明する。まず、図3を参照して、図2のT5において端末10とAP6との間で実行されるBSの処理を説明する。図3の初期状態では、AP6は、AP6の公開鍵APK1及び秘密鍵ask1を予め記憶している。また、AP6の公開鍵APK1と、AP6のチャネルリストL1と、AP6のMACアドレス「macap」と、をコード化することによって得られるQRコードが、AP6の筐体に貼り付けられている。チャネルリストL1は、Auth(図2のT10参照)で利用されるべき複数個の通信チャネル(即ちAP6が利用可能な複数個の通信チャネル)のリストである。
(Bootstrapping (BS) with AP6; Fig. 3)
Next, the details of each process executed at T5 to T20 and T55 to T70 in FIG. 2 will be described with reference to FIGS. 3 to 10. FIG. First, referring to FIG. 3, the BS processing performed between the terminal 10 and the
端末10は、T100において、ユーザからアプリ38の起動操作を受け付けることに応じて、アプリ38を起動する。端末10によって実行される以降の各処理は、アプリ38によって実現される。次いで、T102では、端末10は、選択画面を表示部14に表示する。当該選択画面は、端末10が新たなWi-Fi接続を確立することを示す「New」ボタンを含む。
In T100, the terminal 10 activates the
端末10は、T104において、選択画面内の「New」ボタンがユーザによって選択されることに応じて、T106において、グループIDを入力するための入力画面を表示部14に表示させる。グループIDは、端末10が新たなWi-Fi接続が確立することによって形成される無線ネットワークを識別する情報である。
In response to the user selecting the "New" button in the selection screen in T104, the terminal 10 causes the
端末10は、T108において、ユーザによって指定される任意の文字列であるグループID「home」が入力されることに応じて、T110において、AP6とのWi-Fi接続の確立を実行するのか否かをユーザに確認するための確認画面を表示部14に表示する。確認画面は、AP6とのWi-Fi接続の確立を実行することを示すYESボタンと、AP6とのWi-Fi接続の確立を実行しないことを示すNOボタンと、を含む。
The terminal 10 determines whether or not to establish a Wi-Fi connection with the
端末10は、T112において、確認画面内のYESボタンがユーザによって選択されることに応じて、カメラ15を起動し、T120において、カメラ15を利用して、AP6の筐体に貼り付けられているQRコードを撮影する。そして、端末10は、T122において、撮影済みのQRコードをデコードして、公開鍵APK1とチャネルリストL1とMACアドレス「macap」とを取得する。T122の処理が終了すると、図3の処理が終了する。
At T112, the terminal 10 activates the
(AP6とのAuthentication(Auth);図4)
続いて、図4を参照して、図2のT10において端末10とAP6との間で実行されるAuthの処理を説明する。
(Authentication (Auth) with AP6; Fig. 4)
Next, the Auth processing executed between the terminal 10 and the
T200では、端末10は、端末10の公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、端末10は、T201において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、図3のT122で取得されたAP6の公開鍵APK1と、を用いて、共有鍵SK1を生成する。そして、端末10は、T202において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。 At T200, the terminal 10 generates its public key TPK1 and private key tsk1. Next, at T201, the terminal 10 uses the generated private key tsk1 according to ECDH (an abbreviation for Elliptic curve Diffie-Hellman key exchange) and the public key APK1 of AP6 obtained at T122 in FIG. Generate shared key SK1. Then, in T202, the terminal 10 encrypts the random value RV1 using the generated shared key SK1 to generate encrypted data ED1.
T210では、端末10は、Wi-FiI/F16を介して、図3のT122で取得されたMACアドレス「macap」を送信先として、DPP Authentication Request(以下では、単に「AReq」と記載する)をAP6に送信する。AReqは、認証の実行をAP6に要求する信号であり、T200で生成された端末10の公開鍵TPK1と、T202で生成された暗号化データED1と、端末10のcapabilityと、を含む。ここで、端末10は、図3のT122で取得されたチャネルリストL1内の複数個の通信チャネルを順次利用して、AReqをAP6に送信することを繰り返す。
At T210, the terminal 10 transmits a DPP Authentication Request (hereinafter simply referred to as "AReq") via the Wi-Fi I/
capabilityは、DPP方式をサポートしている機器において予め指定されている情報であり、DPP方式のConfiguratorのみとして動作可能であることを示す値と、DPP方式のEnrolleeのみとして動作可能であることを示す値と、Configurator及びEnrolleeのどちらとしても動作可能であることを示す値と、のいずれか1個の値を含む。Configuratorは、Config(例えば図2のT15)において、NA(例えば図2のT20)で利用されるCOをEnrolleeに送信するデバイスを意味する。一方、Enrolleeは、Configにおいて、ConfiguratorからNAで利用されるCOを受信するデバイスを意味する。上記のように、本実施例では、端末10がAP用CO又はプリンタ用COを生成してAP6又はプリンタ100に送信する。従って、端末10のcapabilityは、Configuratorのみとして動作可能であることを示す値を含む。
The capability is information that is specified in advance in a device that supports the DPP method, and indicates that it can operate only as a configurator of the DPP method and that it can operate only as an enrollee of the DPP method. and a value indicating that it can operate as both a Configurator and an Enrollee. Configurator means a device that transmits CO used in NA (eg, T20 in FIG. 2) to Enrollee in Config (eg, T15 in FIG. 2). On the other hand, Enrollee means a device that receives CO used in NA from Configurator in Config. As described above, in this embodiment, the terminal 10 generates the AP CO or the printer CO and transmits it to the
AP6は、T210において、端末10からAReqを受信する。上記のように、当該AReqは、AP6のMACアドレス「macap」を送信先として送信される。従って、AP6は、端末10から当該AReqを適切に受信することができる。また、AP6は、チャネルリストL1内の複数個の通信チャネル(即ちAP6が利用可能な複数個の通信チャネル)のうちの1個の通信チャネルが利用されたAReqを受信することを監視する状態になる。上記のように、T210のAReqは、チャネルリストL1内の複数個の通信チャネルを順次利用して送信される。従って、AP6は、端末10から当該AReqを適切に受信することができる。
AP6 receives AReq from terminal 10 at T210. As described above, the AReq is transmitted with the MAC address "macap" of AP6 as the destination. Therefore,
次いで、AP6は、AReqの送信元(即ち端末10)を認証するための以下の処理を実行する。具体的には、AP6は、T212において、ECDHに従って、AReq内の端末10の公開鍵TPK1と、AP6の秘密鍵ask1と、を用いて、共有鍵SK1を生成する。ここで、T201で端末10によって生成される共有鍵SK1と、T212でAP6によって生成される共有鍵SK1と、は同じである。従って、AP6は、T214において、生成済みの共有鍵SK1を用いて、AReq内の暗号化データED1を適切に復号することができ、この結果、ランダム値RV1を取得することができる。AP6は、暗号化データED1の復号が成功する場合には、AReqの送信元がAP6のQRコードを撮影したデバイスであると判断し、即ち、認証が成功したと判断し、T216以降の処理を実行する。一方、AP6は、仮に、暗号化データED1の復号が成功しない場合には、AReqの送信元がAP6のQRコードを撮影したデバイスでないと判断し、即ち、認証が失敗したと判断し、T216以降の処理を実行しない。
AP6は、T216において、AP6の新たな公開鍵APK2及び新たな秘密鍵ask2を生成する。なお、変形例では、AP6は、公開鍵APK2及び秘密鍵ask2を予め記憶していてもよい。次いで、AP6は、T217において、ECDHに従って、T210のAReq内の端末10の公開鍵TPK1と、生成済みのAP6の秘密鍵ask2と、を用いて、共有鍵SK2を生成する。そして、AP6は、T218において、生成済みの共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
AP6 generates a new public key APK2 and a new private key ask2 for AP6 at T216. Note that in a modified example, the
T220では、AP6は、DPP Authentication Response(以下では、単に「ARes」と記載する)を端末10に送信する。当該AResは、T216で生成されたAP6の公開鍵APK2と、T218で生成された暗号化データED2と、AP6のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
At T220, the
端末10は、T220において、AP6から、Wi-FiI/F16を介して、AResを受信することに応じて、当該AResの送信元(即ちAP6)を認証するための以下の処理を実行する。具体的には、端末10は、T222において、ECDHに従って、T200で生成された端末10の秘密鍵tsk1と、ARes内のAP6の公開鍵APK2と、を用いて、共有鍵SK2を生成する。ここで、T217でAP6によって生成される共有鍵SK2と、T222で端末10によって生成される共有鍵SK2と、は同じである。従って、端末10は、T224において、生成済みの共有鍵SK2を用いて、ARes内の暗号化データED2を適切に復号することができ、この結果、ランダム値RV1及びRV2を取得することができる。端末10は、暗号化データED2の復号が成功する場合には、AResの送信元が撮影済みのQRコードを有するデバイスであると判断し、即ち、認証が成功したと判断し、T230以降の処理を実行する。一方、端末10は、仮に、暗号化データED2の復号が成功しない場合には、AResの送信元が撮影済みのQRコードを有するデバイスでないと判断し、即ち、認証が失敗したと判断し、T230以降の処理を実行しない。
At T220, the terminal 10 receives ARes from the
T230では、端末10は、Wi-FiI/F16を介して、ConfirmをAP6に送信する。Confirmは、端末10がConfiguratorとして動作し、かつ、AP6がEnrolleeとして動作することを示す情報を含む。この結果、T232において、Configuratorとして動作することが端末10によって決定され、T234において、Enrolleeとして動作することがAP6によって決定される。T234の処理が終了すると、図4の処理が終了する。なお、図4の処理が終了すると、端末10は、公開鍵TPK1及び秘密鍵tsk1を破棄(即ちメモリ34から削除)する。
At T230, the terminal 10 transmits Confirm to AP6 via the Wi-Fi I/F16. Confirm includes information indicating that the terminal 10 operates as a configurator and the
(AP6とのConfiguration(Config);図5)
続いて、図5を参照して、図2のT15において端末10とAP6との間で実行されるConfigの処理を説明する。
(Configuration (Config) with AP6; Fig. 5)
Next, the Config process executed between the terminal 10 and the
T300では、AP6は、DPP Configuration Request(以下では、単に「CReq」と記載する)を端末10に送信する。当該CReqは、AP用COの送信を要求する信号である。
At T300, the
端末10は、T300において、AP6から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10は、T302において、端末10の新たな公開鍵TPK2及び新たな秘密鍵tsk2を生成してメモリ34内に記憶する。次いで、端末10は、T304において、生成済みの秘密鍵tsk2を利用して、AP用COを生成する。具体的には、端末10は、以下の各処理を実行する。
端末10は、まず、端末10の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10は、ハッシュ値HVと、図3のT108で入力されたグループID「home」と、図4のT220のARes内のAP6の公開鍵APK2と、の組み合わせをハッシュ化することによって、第1の値を生成する。そして、端末10は、ECDSA(Elliptic Curve Digital Signature Algorithmの略)に従って、端末10の秘密鍵tsk2を利用して、生成済みの第1の値を暗号化することによって、電子署名DSapを生成する。この結果、端末10は、ハッシュ値HVと、グループID「home」と、AP6の公開鍵APK2と、電子署名DSapと、を含むAP用Signed-Connector(以下では、Signed-Connectorのことを単に「SC」と記載する)を生成することができる。そして、端末10は、AP用SCと、端末10の公開鍵TPK2と、を含むAP用COを生成する。 The terminal 10 first generates a hash value HV by hashing the public key TPK2 of the terminal 10 . Further, the terminal 10 hashes the combination of the hash value HV, the group ID "home" input at T108 in FIG. 3, and the public key APK2 of AP6 in ARes at T220 in FIG. Generate a first value. Then, the terminal 10 generates an electronic signature DSap by encrypting the generated first value using the secret key tsk2 of the terminal 10 according to ECDSA (an abbreviation for Elliptic Curve Digital Signature Algorithm). As a result, the terminal 10 receives a Signed-Connector for AP (hereinbelow, the Signed-Connector is simply referred to as " SC”) can be generated. The terminal 10 then generates an AP CO including the AP SC and the public key TPK2 of the terminal 10 .
T310では、端末10は、Wi-FiI/F16を介して、AP用COを含むDPP Configuration Response(以下では、単に「CRes」と記載する)をAP6に送信する。
At T310, the terminal 10 transmits a DPP Configuration Response (hereinafter simply referred to as “CRes”) including the AP CO to the
AP6は、T310において、端末10からCResを受信する。この場合、AP6は、T312において、当該CRes内のAP用COを記憶する。T312の処理が終了すると、図5の処理が終了する。 AP6 receives CRes from the terminal 10 at T310. In this case, AP6 stores the AP CO in the CRes at T312. When the process of T312 ends, the process of FIG. 5 ends.
(AP6とのNetwork Access(NA);図6)
続いて、図6を参照して、図2のT20において端末10とAP6との間で実行されるNAの処理を説明する。
(Network Access (NA) with AP6; Fig. 6)
Next, the NA process performed between the terminal 10 and the
T400では、端末10は、端末10の新たな公開鍵TPK3及び秘密鍵tsk3を生成する。次いで、T402において、端末10は、図5のT302でメモリ34に記憶された端末10の秘密鍵tsk2を利用して、端末用COを生成する。具体的には、端末10は、以下の各処理を実行する。
At T400, the terminal 10 generates a new public key TPK3 and a new private key tsk3 for the terminal 10. FIG. Next, in T402, the terminal 10 uses the secret key tsk2 of the terminal 10 stored in the
端末10は、まず、端末10の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10は、ハッシュ値HVと、図3のT108で入力されたグループID「home」と、T400で生成された端末10の公開鍵TPK3と、の組み合わせをハッシュ化することによって、第2の値を生成する。そして、端末10は、ECDSAに従って、端末10の秘密鍵tsk2を利用して、生成済みの第2の値を暗号化することによって、電子署名DSteを生成する。この結果、端末10は、ハッシュ値HVと、グループID「home」と、端末10の公開鍵TPK3と、電子署名DSteと、を含む端末用SCを生成することができる。端末用SCに含まれるハッシュ値HV及びグループID「home」は、それぞれ、AP用SCに含まれるハッシュ値HV及びグループID「home」と同じである。端末用SCに含まれる公開鍵TPK3及び電子署名DSteは、それぞれ、AP用SCに含まれる公開鍵APK2及び電子署名DSapとは異なる。そして、端末10は、端末用SCと、図3のT302でメモリ34に記憶された端末10の公開鍵TPK2と、を含む端末用COを生成して、端末用COをメモリ34に記憶する。
The terminal 10 first generates a hash value HV by hashing the public key TPK2 of the terminal 10 . The terminal 10 also hashes the combination of the hash value HV, the group ID "home" input at T108 in FIG. produces the value of Then, according to ECDSA, the terminal 10 uses the secret key tsk2 of the terminal 10 to encrypt the generated second value to generate the electronic signature DSte. As a result, the terminal 10 can generate a terminal SC including the hash value HV, the group ID "home", the public key TPK3 of the terminal 10, and the electronic signature DSte. The hash value HV and group ID "home" included in the terminal SC are the same as the hash value HV and group ID "home" included in the AP SC, respectively. The public key TPK3 and electronic signature DSte included in the terminal SC are different from the public key APK2 and electronic signature DSap included in the AP SC, respectively. Then, the terminal 10 generates a terminal CO including the terminal SC and the public key TPK2 of the terminal 10 stored in the
T410では、端末10は、Wi-FiI/F16を介して、端末用SCを含むDPP Peer Discovery Request(以下では、単に「DReq」と記載する)をAP6に送信する。当該DReqは、認証の実行と、AP用SCの送信と、をAP6に要求する信号である。
At T410, the terminal 10 transmits a DPP Peer Discovery Request (hereinafter simply referred to as “DReq”) including the terminal SC to the
AP6は、T410において、端末10からDReqを受信することに応じて、DReqの送信元(即ち端末10)、及び、DReq内の各情報(即ち、ハッシュ値HV、「home」、及び、公開鍵TPK3)を認証するための処理を実行する。具体的には、AP6は、T412において、まず、端末用SC内のハッシュ値HV及びグループID「home」が、それぞれ、AP用SC内のハッシュ値HV及びグループID「home」に一致するのか否かに関する第1のAP判断処理を実行する。図6のケースでは、AP6は、第1のAP判断処理で「一致する」と判断するので、DReqの送信元(即ち端末10)の認証が成功したと判断する。なお、第1のAP判断処理で「一致する」と判断することは、端末用SC及びAP用SCが同じ装置(即ち端末10)によって生成されたことを意味する。従って、AP6は、端末用SCの生成元(即ち端末10)の認証が成功したとも判断する。さらに、AP6は、AP用COに含まれる端末10の公開鍵TPK2を用いて、端末用SC内の電子署名DSteを復号する。図6のケースでは、電子署名DSteの復号が成功するので、AP6は、電子署名DSteを復号することによって得られた第2の値と、端末用SC内の各情報(即ち、ハッシュ値HV、「home」、及び、公開鍵TPK3)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のAP判断処理を実行する。図6のケースでは、AP6は、第2のAP判断処理で「一致する」と判断するので、DReq内の各情報の認証が成功したと判断し、T414以降の処理を実行する。なお、第2のAP判断処理で「一致する」と判断することは、端末用COが端末10に記憶された後に、端末用SC内の各情報が第三者によって改ざんされていないことを意味する。なお、後述の電子署名を利用した認証も、第三者によって情報が改ざんされていないことを確認するための処理である。一方、第1のAP判断処理で「一致しない」と判断される場合、電子署名DSteの復号が失敗する場合、又は、第2のAP判断処理で「一致しない」と判断される場合には、AP6は、認証が失敗したと判断し、T414以降の処理を実行しない。
At T410, in response to receiving the DReq from the terminal 10, the
次いで、AP6は、T414において、ECDHに従って、AP用COに含まれる端末10の公開鍵TPK2と、AP6の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CK1を生成する。 Next, at T414, AP6 generates a connection key (that is, a shared key) CK1 using public key TPK2 of terminal 10 included in the AP CO and secret key ask2 of AP6 according to ECDH.
T420では、AP6は、AP用SCを含むDPP Peer Discovery Response(以下では、単に「DRes」と記載する)を端末10に送信する。
At T420, the
端末10は、T420において、Wi-FiI/F16を介して、AP6からDResを受信することに応じて、DResの送信元(即ちAP6)、及び、DRes内の各情報(即ち、ハッシュ値HV、「home」、及び、公開鍵APK2)を認証するための処理を実行する。具体的には、端末10は、T422において、まず、AP用SC内のハッシュ値HV及びグループID「home」が、それぞれ、端末用SC内のハッシュ値HV及びグループID「home」に一致するのか否かに関する第1のTE判断処理を実行する。図6のケースでは、端末10は、第1のTE判断処理で「一致する」と判断するので、DResの送信元(即ちAP6)の認証が成功したと判断する。なお、第1のTE判断処理で「一致する」と判断することは、端末用SC及びAP用SCが同じ装置(即ち端末10)によって生成されたことを意味する。従って、端末10は、端末用SCの生成元(即ち端末10)の認証が成功したとも判断する。さらに、端末10は、端末用COに含まれる端末10の公開鍵TPK2を用いて、AP用SC内の電子署名DSapを復号する。図6のケースでは、電子署名DSapの復号が成功するので、端末10は、電子署名DSapを復号することによって得られた第1の値と、AP用SC内の各情報(即ち、ハッシュ値HV、「home」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のTE判断処理を実行する。図6のケースでは、端末10は、第2のTE判断処理で「一致する」と判断するので、DRes内の各情報の認証が成功したと判断し、T424以降の処理を実行する。一方、第1のTE判断処理で「一致しない」と判断される場合、電子署名DSapの復号が失敗する場合、又は、第2のTE判断処理で「一致しない」と判断される場合には、端末10は、認証が失敗したと判断し、T424以降の処理を実行しない。
At T420, the terminal 10 receives DRes from AP6 via the Wi-Fi I/
端末10は、T424において、ECDHに従って、端末10の秘密鍵tsk2と、AP用SC内のAP6の公開鍵APK2と、を用いて、接続キーCK1を生成する。ここで、T414でAP6によって生成される接続キーCK1と、T424で端末10によって生成される接続キーCK1と、は同じである。これにより、Wi-Fi接続を確立するための接続キーCK1が端末10及びAP6の間で共有される。T424が終了すると、図6の処理が終了する。
At T424, the terminal 10 generates a connection key CK1 according to the ECDH using the terminal 10 secret key tsk2 and the AP6 public key APK2 in the AP SC. Here, the connection key CK1 generated by the
上述したように、接続キーCK1が端末10及びAP6の間で共有された後に、図2のT25において、端末10及びAP6は、接続キーCK1を利用して、4way-handshakeの通信を実行する。この結果、端末10とAP6との間にWi-Fi接続が確立される。 As described above, after the connection key CK1 is shared between the terminal 10 and AP6, at T25 in FIG. 2, the terminal 10 and AP6 execute 4way-handshake communication using the connection key CK1. As a result, a Wi-Fi connection is established between the terminal 10 and the AP6.
(プリンタ100とのBootstrapping(BS);図7)
続いて、図7を参照して、図2のT55において端末10とプリンタとの間で実行されるBSの処理を説明する。図7の初期状態では、端末10は、端末10の公開鍵TPK2及び秘密鍵tsk2(図5のT302参照)と、端末10の公開鍵TPK3及び秘密鍵tsk3(図6のT400参照)と、端末用CO(T402参照)と、をメモリ34内に記憶している。また、プリンタ100は、プリンタ100の公開鍵PPK1及び秘密鍵psk1をメモリ134内に予め記憶している。
(Bootstrapping (BS) with
Next, the BS processing executed between the terminal 10 and the printer at T55 in FIG. 2 will be described with reference to FIG. In the initial state of FIG. 7, the terminal 10 has a public key TPK2 and a private key tsk2 of the terminal 10 (see T302 in FIG. 5), a public key TPK3 and a private key tsk3 of the terminal 10 (see T400 in FIG. 6), and a terminal and CO (see T402) are stored in the
T500は、図3のT100と同様である。端末10は、まず、メモリ34に記憶されている端末用CO内の端末用SCに含まれるグループID「home」を取得する。この場合、端末10は、T502において、「New」ボタンに加えて、取得済みのグループID「home」と同じ文字列を有する「home」ボタンを含む選択画面を表示部14に表示させる。
T500 is the same as T100 in FIG. The terminal 10 first acquires the group ID “home” included in the terminal SC in the terminal CO stored in the
ユーザは、プリンタ100とAP6との間にWi-Fi接続を確立させることを望む場合に、T504において、選択画面内の「home」ボタンを選択する。上記のように、文字列「home」は、ユーザによって入力された文字列であるので(図3のT108参照)、ユーザは、プリンタ100とAP6との間にWi-Fi接続を確立させることを望む場合に、「home」ボタンを選択すべきことを容易に認識することができる。なお、例えば、ユーザは、端末10とAP6とは異なるAPとの間にWi-Fi接続を確立させることを望む場合には、選択画面内の「New」ボタンを選択することができる。この場合、端末10は、図3~図6と同様の処理を当該異なるAPと実行して、当該異なるAPとのWi-Fi接続を確立する。このように、本実施例によると、ユーザによって意図される一対の装置の間にWi-Fi接続を適切に確立することができる。端末10は、T504において、選択画面内の「home」ボタンが選択される場合に、カメラ15を起動し、T506において、QRコードを撮影すべきことを示すメッセージを含む指示画面を表示部14に表示する。
If the user wishes to establish a Wi-Fi connection between the
プリンタ100は、T510において、QRコードを表示するためのQRコード表示操作がユーザによって実行されることに応じて、T512において、QRコードを表示部114に表示する。当該QRコードは、メモリ134に予め記憶されている公開鍵PPK1と、メモリ134に予め記憶されているチャネルリストL2と、Wi-FiI/F116のMACアドレス「macpr」と、がコード化されることによって得られるコード画像である。チャネルリストL2は、Auth(図2のT60参照)で利用されるべき複数個の通信チャネル(即ちプリンタ100が利用可能な複数個の通信チャネル)のリストである。当該QRコードは、T512においてプリンタ100によって生成されてもよいし、プリンタ100の出荷段階からメモリ134に予め記憶されていてもよい。
The
端末10は、T520において、カメラ115を利用して、プリンタ100に表示されたQRコードを撮影する。そして、端末10は、T522において、撮影済みのQRコードをデコードして、公開鍵PPK1とチャネルリストL2とMACアドレス「macpr」とを取得する。T522の処理が終了すると、図7の処理が終了する。
The terminal 10 uses the camera 115 to photograph the QR code displayed on the
(プリンタ100とのAuthentication(Auth);図8)
続いて、図8を参照して、図2のT60において端末10とプリンタ100との間で実行されるAuthの処理を説明する。
(Authentication (Auth) with the
Next, the Auth processing executed between the terminal 10 and the
端末10は、T600において、端末10の新しい公開鍵TPK4及び秘密鍵tsk4を生成し、T601において、ECDHに従って、生成済みの秘密鍵tsk4と、図7のT522で取得されたプリンタ100の公開鍵PPK1と、を用いて、共有鍵SK3を生成する。そして、端末10は、T602おいて、生成済みの共有鍵SK3を用いてランダム値RV3を暗号化して、暗号化データED3を生成する。
At T600, the terminal 10 generates a new public key TPK4 and a new private key tsk4 for the terminal 10. At T601, according to ECDH, the generated private key tsk4 and the public key PPK1 for the
T610では、端末10は、Wi-FiI/F16を介して、図7のT522で取得されたMACアドレス「macpr」を送信先として、AReqをプリンタ100に送信する。ここで、端末10は、T522で取得されたチャネルリストL2内の複数個の通信チャネルを順次利用して、AReqをプリンタ100に送信することを繰り返す。当該AReqは、T600で生成された端末10の公開鍵TPK4と、T602で生成された暗号化データED3と、端末10のcapabilityと、を含む。当該capabilityは、Configuratorのみとして動作可能であることを示す値を含む。
At T610, the terminal 10 transmits AReq to the
プリンタ100は、T610において、端末10から、Wi-FiI/F116を介して、AReqを受信する。当該AReqがプリンタ100のMACアドレス「macpr」を送信先として送信されるので、プリンタ100は、当該AReqを適切に受信することができる。また、当該AReqがチャネルリストL2内の複数個の通信チャネル(即ちプリンタ100が利用可能な複数個の通信チャネル)を順次利用して送信されるので、プリンタ100は、当該AReqを適切に受信することができる。
The
次いで、プリンタ100は、AReqの送信元(即ち端末10)を認証するためのT612及びT614の処理を実行する。T612及びT614は、利用されるデータ(鍵、暗号化データ等)が異なる点を除くと、図4のT212及びT214と同様である。即ち、プリンタ100は、T612において、公開鍵TPK4と秘密鍵psk1とを用いて共有鍵SK3を生成し、T614において、共有鍵SK3を用いてAReq内の暗号化データED3を復号する。この場合、プリンタ100は、認証が成功したと判断し、T616以降の処理を実行する。
Next, the
プリンタ100は、T616において、プリンタ100の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。なお、変形例では、公開鍵PPK2及び秘密鍵psk2は、メモリ134に予め記憶されていてもよい。続いて実行されるT617及びT618は、利用されるデータ(鍵、暗号化データ等)が異なる点を除くと、図4のT217及びT218と同様である。即ち、プリンタ100は、T617において、公開鍵TPK4と秘密鍵psk2とを用いて共有鍵SK4を生成し、T618において、共有鍵SK4を用いてランダム値RV3,RV4を暗号化して暗号化データED4を生成する。
The
T620では、プリンタ100は、Wi-FiI/F116を介して、AResを端末10に送信する。当該AResは、T616で生成されたプリンタ100の公開鍵PPK2と、T618で生成された暗号化データED4と、プリンタ100のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
At T620, the
T622~T634は、通信対象がプリンタ100である点、公開鍵PPK2、暗号化データED4、秘密鍵tsk4、共有鍵SK4、及び、ランダム値RV3,RV4が端末10によって利用される点を除いて、図4のT222~T234と同様である。この結果、Configuratorとして動作することが端末10によって決定され、Enrolleeとして動作することがプリンタ100によって決定される。T634の処理が終了すると、図8の処理が終了する。なお、図8の処理が終了すると、端末10は公開鍵TPK4及び秘密鍵tsk4を破棄(即ちメモリ34から削除)する。
Except that the communication target is the
(プリンタ100とのConfiguration(Config);図9)
続いて、図9を参照して、図2のT65において端末10とプリンタ100との間で実行されるConfigの処理を説明する。
(Configuration (Config) with
Next, the Config processing executed between the terminal 10 and the
T700では、プリンタ100は、Wi-FiI/F116を介して、CReqを端末10に送信する。当該CReqは、プリンタ用COの送信を要求する信号である。
At T700, the
端末10は、T700において、プリンタ100から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10は、T702において、メモリ34から端末10の公開鍵TPK2及び秘密鍵tsk2を取得する。具体的には、端末10は、メモリ34から、図7のT504で選択された「home」と同じ文字列を有するグループID「home」を含む端末用COを取得する。図7の初期状態に示されるように、端末用SCは公開鍵TPK2を含む。従って、端末10は、端末用COに含まれる公開鍵TPK2を取得することができる。そして、端末10は、メモリ34から、取得済みの公開鍵TPK2に対応する秘密鍵tsk2を取得する。
The terminal 10 receives CReq from the
T704では、端末10は、プリンタ用COを生成する。T704は、利用されるデータ(鍵等)が異なる点を除くと、図5のT304と同様である。プリンタ用COは、プリンタ用SCと、T702で取得された公開鍵TPK2と、を含む。プリンタ用SCは、ハッシュ値HVと、グループID「home」と、プリンタ100の公開鍵PPK2と、電子署名DSprと、を含む。電子署名DSprは、ハッシュ値HVとグループID「home」と公開鍵PPK2との組み合わせをハッシュ化することによって得られる第3の値が、T702で取得された秘密鍵tsk2によって暗号化された情報である。
At T704, the terminal 10 generates a printer CO. T704 is the same as T304 in FIG. 5 except that the data used (keys, etc.) is different. The printer CO includes the printer SC and the public key TPK2 obtained in T702. The printer SC includes a hash value HV, a group ID "home", a public key PPK2 of the
端末10は、図2のT25において、AP6とのWi-Fi接続を確立する場合に、図3のT122で取得されたAP6のMACアドレス「macap」と、AP6とのWi-Fi接続において利用される通信チャネルを示すチャネル情報と、をメモリ34内に記憶している。T710では、端末10は、Wi-FiI/F16を介して、T704で生成されたプリンタ用COと、記憶済みのAP6のMACアドレス「macap」と、記憶済みのチャネル情報と、を含むCResをプリンタ100に送信する。
When the terminal 10 establishes a Wi-Fi connection with the
プリンタ100は、T710において、端末10から、Wi-FiI/F116を介して、CResを受信する。この場合、プリンタ100は、T712において、当該CRes内のプリンタ用COとMACアドレス「macap」とチャネル情報とをメモリ134に記憶する。T712の処理が終了すると、図9の処理が終了する。
The
(プリンタ100及びAP6の間のNetwork Access(NA);図10)
続いて、図10を参照して、プリンタ100とAP6との間で実行される図2のT70のNAの処理を説明する。図10の初期状態では、プリンタ100は、公開鍵PPK1,PPK2と秘密鍵psk1,psk2とプリンタ用COとを記憶している。また、AP6は、公開鍵APK1,APK2と秘密鍵ask1,ask2とAP用COとを記憶している。
(Network Access (NA) between
Next, with reference to FIG. 10, the NA process of T70 in FIG. 2 executed between the
プリンタ100は、T810において、Wi-FiI/F116を介して、図9のT712で記憶されたAP6のMACアドレス「macap」を送信先として、T712で記憶されたチャネル情報によって示される通信チャネルを利用して、プリンタ用SCを含むDReqをAP6に送信する。
At T810, the
AP6は、T810において、プリンタ100からDReqを受信する。上記のように、AP6のMACアドレス「macap」を送信先としてDReqが送信されるので、AP6は、プリンタ100からDReqを適切に受信することができる。また、端末10とAP6との間で或る通信チャネルを利用したWi-Fi接続が確立されている場合には、AP6が、当該或る通信チャネルとは異なる通信チャネルを利用した通信を実行することができない可能性がある。本実施例では、上記のように、チャネル情報によって示される当該或る通信チャネルを利用してDReqが送信されるので、AP6は、プリンタ100からDReqを適切に受信することができる。
AP6 receives DReq from the
AP6は、T810において、プリンタ100からDReqを受信することに応じて、DReqの送信元(即ちプリンタ100)、及び、DReq内の各情報(即ち、ハッシュ値HV、「home」、及び、公開鍵PPK2)を認証するためのT812の処理を実行する。T812は、利用されるデータ(鍵等)が異なる点を除くと、図6のT412と同様である。即ち、AP6は、プリンタ用SC内のハッシュ値HV及びグループID「home」が、それぞれ、AP用SC内のハッシュ値HV及びグループID「home」に一致すると判断する(即ち、DReqの送信元(即ちプリンタ100)の認証が成功したと判断する)。また、AP6は、AP用COに含まれる端末10の公開鍵TPK2を用いてプリンタ用SC内の電子署名DSprを復号し、それによって得られた第3の値と、プリンタ用SC内の各情報(即ち、ハッシュ値HV、「home」、及び、公開鍵PPK2)をハッシュ化することによって得られる値と、が一致すると判断する(即ち、DReq内の各情報の認証が成功したと判断する)。
In response to receiving the DReq from the
T814及びT820は、通信対象がプリンタ100である点、プリンタ100の公開鍵PPK2及び接続キーCK2が利用される点を除いて、図6のT414及びT420と同様である。プリンタ100は、T820において、Wi-FiI/F116を介して、AP6からDResを受信することに応じて、DResの送信元(即ちAP6)、及び、DRes内の各情報(即ち、ハッシュ値HV、「home」、及び、公開鍵APK2)を認証するためのT822の処理を実行する。T822は、実行主体がプリンタ100である点、及び、利用されるデータ(鍵等)が異なる点を除くと、図6のT422と同様である。即ち、プリンタ100は、AP用SC内のハッシュ値HV及びグループID「home」が、それぞれ、プリンタ用SC内のハッシュ値HV及びグループID「home」に一致すると判断する(即ち、DResの送信元(即ちAP6)の認証が成功したと判断する)。また、プリンタ100は、プリンタ用COに含まれる端末10の公開鍵TPK2を用いて、AP用SC内の電子署名DSapを復号し、それによって得られた第1の値と、AP用SC内の各情報(即ち、ハッシュ値HV、「home」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致すると判断する(即ち、DRes内の各情報の認証が成功したと判断する)。
T814 and T820 are the same as T414 and T420 in FIG. 6 except that the communication target is the
プリンタ100は、T824において、ECDHに従って、プリンタ100の秘密鍵psk2と、AP用SC内のAP6の公開鍵APK2と、を用いて、接続キーCK2を生成する。ここで、T814でAP6によって生成される接続キーCK2と、T824でプリンタ100によって生成される接続キーCK2と、は同じである。これにより、Wi-Fi接続を確立するための接続キーCK2がプリンタ100及びAP6の間で共有される。T824が終了すると、図10の処理が終了する。
At T824, the
上述したように、接続キーCK2がプリンタ100及びAP6の間で共有された後に、図2のT75において、プリンタ100及びAP6は、接続キーCK2を利用して、4way-handshakeの通信を実行する。この結果、プリンタ100とAP6との間にWi-Fi接続が確立される。特に、プリンタ100は、図9のT712で記憶されたチャネル情報によって示される通信チャネルを利用して、AP6とのWi-Fi接続を確立する。このために、端末10とAP6との間に或る通信チャネルが利用されるWi-Fi接続が確立されている状況であっても、プリンタ100は、当該或る通信チャネルと同じ通信チャネルを利用するので、AP6とのWi-Fi接続を適切に確立することができる。
As described above, after the connection key CK2 is shared between the
なお、上述したように、プリンタ100は、プリンタ100のチャネルリストL2に含まれる複数個の通信チャネルのうちの1個の通信チャネルを利用して、端末10から図8のT610のAReqを受信する。即ち、プリンタ100は、プリンタ100と端末10との双方が利用可能な通信チャネルを利用して、端末10からAReqを受信する。一方、図2のT75では、プリンタ100は、チャネル情報によって示される通信チャネルを利用して、Wi-Fi接続をAP6と確立する。即ち、プリンタ100は、プリンタ100とAP6との双方が利用可能な通信チャネルを利用して、AP6とのWi-Fi接続を確立する。ここで、端末10が利用可能な通信チャネルと、AP6が利用可能な通信チャネルと、は異なる場合がある。本実施例では、プリンタ100が図8のT610で端末10からAReqを受信するための通信チャネルと、プリンタ100が図2のT75でAPとのWi-Fi接続を確立するための通信チャネルと、が異なる。ただし、変形例では、前者の通信チャネルと後者の通信チャネルとは同じでもよい。
As described above,
(各デバイス6,10,100によって実行される接続確認処理;図11)
続いて、図11を参照して、図10の処理の後に各デバイス6,10,100によって実行される処理を説明する。
(Connection confirmation processing executed by each
Next, with reference to FIG. 11, processing executed by each
端末10は、図9のT710において、CResをプリンタ100に送信することに応じて、T900において、Wi-FiI/F16を介して、図7のT522で取得されたMACアドレス「macpr」を送信先として、問合要求をプリンタ100に繰り返し送信することを開始する。当該問合要求は、プリンタ100がAP6とのWi-Fi接続を確立したのか否かをプリンタ100に問い合わせる信号であり、AP6を介さずにプリンタ100に送信される。問合要求の通信は、OSI参照モデルのデータリンク層の通信である。
In response to transmitting CRes to the
プリンタ100は、AP6とのWi-Fi接続を確立する前に、端末10から、Wi-FiI/F116を介して、問合要求を受信しても、問合要求に対する応答である問合応答を端末10に送信しない。プリンタ100は、T910(即ち図2のT75)において、AP6とのWi-Fi接続を確立した後に、端末10から、Wi-FiI/F116を介して、問合要求を受信する場合に、T912において、Wi-FiI/F116を介して、問合応答を端末10に送信する。
Even if the
端末10は、T912において、プリンタ100から、Wi-FiI/F16を介して、問合応答を受信する場合に、AP6を介した通信をプリンタ100と実行可能であるのか否かを確認するための処理を実行する。ここで、以下の確認要求は、第1の要求信号と第2の要求信号とを含み、確認応答は、第1の応答信号と第2の応答信号とを含む。
At T912, when the terminal 10 receives an inquiry response from the
(ケースA)
まず、端末10とAP6との間にWi-Fi接続が確立された後(図2のT25)に、当該Wi-Fi接続が切断されることなく、T910において、プリンタ100とAP6との間にWi-Fi接続が確立されるケースAを説明する。
(Case A)
First, after the Wi-Fi connection is established between the terminal 10 and the AP6 (T25 in FIG. 2), the Wi-Fi connection is not disconnected, and the
T920では、端末10は、Wi-FiI/F16を介して、ブロードキャストの第1の要求信号(即ち宛先が特定されてない要求)をAP6に送信する。これにより、AP6とのWi-Fi接続を確立している全ての子局に第1の要求信号が送信される。この結果、プリンタ100は、T922において、Wi-FiI/F116を介して、AP6から第1の要求信号を受信する。この場合、プリンタ100は、T924において、Wi-FiI/F116を介して、第1の応答信号をAP6に送信する。当該第1の応答信号は、MACアドレス「macpr」と、プリンタ100のIPアドレスと、を含む。
At T920, the terminal 10 transmits a broadcast first request signal (ie, a request with an unspecified destination) to the
AP6は、T924において、プリンタ100から第1の応答信号を受信する。ただし、AP6は、プリンタ100のみならず、他の子局からも第1の応答信号を受信し得る。この場合、AP6は、T926において、各子局から受信される各第1の応答信号を端末10に送信する。
AP6 receives the first response signal from
端末10は、T926において、Wi-FiI/F16を介して、AP6から各第1の応答信号を受信する。この場合、端末10は、受信済みの各第1の応答信号の中に、図7のT522で取得されたプリンタ100のMACアドレス「macpr」を含む第1の応答信号が存在するのか否かを判断する。ケースAでは、端末10は、MACアドレス「macpr」を含む第1の応答信号が存在するので、AP6を介した通信をプリンタ100と実行可能であると判断する。そして、端末10は、当該第1の応答信号内のプリンタ100のIPアドレスを取得する。第1の要求信号及び第1の応答信号の通信は、例えば、OSI参照モデルのデータリンク層のARP(Address Resolution Protocolの略)を用いた通信である。
The terminal 10 receives each first response signal from the
端末10は、さらに、取得済みのプリンタ100のIPアドレスを送信先として、AP6を介して、第2の要求信号をプリンタ100に送信し(T920,T922)、プリンタ100から、AP6を介して、第2の応答信号を受信する(T924,T926)。第2の要求信号及び第2の応答信号の通信は、例えば、OSI参照モデルのネットワーク層のICPM(Internet Control Protocolの略)を用いたPINGの通信である。これにより、端末10は、OSI参照モデルのネットワーク層の通信をプリンタ100と実行可能であることを確認する。
The terminal 10 further transmits a second request signal to the
T930,T932では、端末10は、Wi-FiI/F16を介して、取得済みのプリンタ100のIPアドレスを送信先として、印刷対象の画像を表わす印刷データをAP6に送信する(図2のT80,T85参照)。当該印刷データは、印刷テストをプリンタ100に実行させるためのテスト画像を表わすデータであってもよいし、ユーザによって指定される画像を表わすデータであってもよい。
At T930 and T932, the terminal 10 transmits the print data representing the image to be printed to the
プリンタ100は、T932において、端末10から、AP6を介して、Wi-FiI/F116を介して、印刷データを受信する。この場合、プリンタ100は、T940において、受信済みの印刷データを印刷実行部118に供給して、当該印刷データに従った印刷を印刷実行部118に実行させる(図2のT90参照)。T940の処理が終了すると、ケースAの処理が終了する。
The
(ケースB)
続いて、端末10とAP6との間にWi-Fi接続が確立された後(図2のT25)に、当該Wi-Fi接続が切断されるケースBを説明する。例えば、端末10の電源がOFFされることに起因して、当該Wi-Fi接続が切断される。そして、端末10の電源が再びONされた後に、端末10とプリンタ100との間で図2のT55~T75の処理が実行され、図11のT910において、プリンタ100とAP6との間でWi-Fi接続が確立される。
(Case B)
Next, case B in which the Wi-Fi connection is disconnected after the Wi-Fi connection is established between the terminal 10 and the AP 6 (T25 in FIG. 2) will be described. For example, the Wi-Fi connection is disconnected due to the terminal 10 being powered off. After the power of the terminal 10 is turned on again, the processes of T55 to T75 in FIG. 2 are executed between the terminal 10 and the
端末10は、T912において、プリンタ100から、Wi-FiI/F16を介して、問合応答を受信することに応じて、T960において、Wi-FiI/F16を介して、ブロードキャストの確認要求(即ち第1の要求信号)をAP6に送信する。しかしながら、本ケースBでは、端末10とAP6との間のWi-Fi接続が切断されているので、端末10は、確認要求をAP6に送信することができず、この結果、プリンタ100から確認応答(即ち第1の応答信号)を受信しない。これにより、端末10は、端末10とAP6との間のWi-Fi接続が切断されていることを知ることができる。
In response to receiving the inquiry response from the
端末10は、AP6とのWi-Fi接続が切断されていることを知った後に、T970において、メモリ34内に記憶されている接続キーCK1(図6のT424)を利用して、4way-handshakeの通信をAP6と実行して、AP6とのWi-Fi接続を再び確立する。これにより、端末10及びプリンタ100のそれぞれがAP6とのWi-Fi接続を確立している状態、即ち、各デバイス6,10,100が同じネットワークに所属している状態になる。このために、ケースAのT920~T940と同様の処理を実行することができる。
After knowing that the Wi-Fi connection with
(本実施例の効果)
本実施例では、AP6のためのAP用COに含まれる電子署名DSapの生成に利用される秘密鍵tsk2と、プリンタ100のためのプリンタ用COに含まれる電子署名DSprの生成に利用される秘密鍵tsk2と、が同じである。そして、AP用COがAP6によって利用されると、端末10とAP6との間にWi-Fi接続が確立され(図2のT25)、プリンタ用COがプリンタ100によって利用されると、プリンタ100とAP6との間にWi-Fi接続が確立される(T75)。従って、端末10及びプリンタ100のそれぞれとAP6との間にWi-Fi接続を適切に確立することができる。
(Effect of this embodiment)
In this embodiment, a secret key tsk2 used to generate the electronic signature DSap included in the AP CO for the
また、本実施例では、プリンタ100は、端末10から、プリンタ用COと、端末10とAP6との間に確立されるWi-Fi接続において利用される通信チャネルを示すチャネル情報と、AP6のMACアドレス「macap」と、を受信する(図9のT710)。このために、プリンタ100は、MACアドレス「macap」とチャネル情報によって示される通信チャネルとを利用して、AP6とのWi-Fi接続を適切に確立することができる。従って、端末10及びプリンタ100のそれぞれとAP6との間にWi-Fi接続を適切に確立することができる。
In this embodiment, the
(対応関係)
端末10、プリンタ100、AP6が、それぞれ、「端末装置」、「通信装置」、「外部装置」の一例である。Wi-FiI/F16、CPU32、アプリ38が、それぞれ、「端末装置」の「無線インターフェース」、「端末装置」の「コンピュータ」、「端末装置」のための「コンピュータプログラム」の一例である。端末10の秘密鍵tsk2、AP用CO、図2のT25のWi-Fi接続が、それぞれ、「秘密鍵」、「第1の接続情報」、「第1の無線接続」の一例である。AP用COに含まれるハッシュ値HVとグループID「home」と公開鍵APK2との組み合わせをハッシュ化することによって得られる第1の値が、「第1の接続情報に含まれる少なくとも一部の情報を用いて得られる情報」の一例である。プリンタ100の公開鍵PPK1、図8のT610のAReq、T620のARes、プリンタ用COが、それぞれ、「第1の公開鍵」、「第1の認証要求」、「第1の認証応答」、「第2の接続情報」の一例である。プリンタ用COに含まれるハッシュ値HVとグループID「home」と公開鍵PPK2との組み合わせをハッシュ化することによって得られる第2の値が、「第2の接続情報に含まれる少なくとも一部の情報を用いて得られる情報」の一例である。図2のT75(又は図11のT910)のWi-Fi接続が、「第2の無線接続」の一例である。
(correspondence relationship)
The terminal 10, the
グループID「home」、図7のT502の選択画面内の文字列「New」が、それぞれ、「関係情報」、「所定情報」の一例である。AP6のMACアドレス「macap」が、「装置識別情報」の一例である。端末用COが、「第3の接続情報」の一例であり、端末用COに含まれるハッシュ値HVとグループID「home」と公開鍵TPK3との組み合わせをハッシュ化することによって得られる第3の値が、「第3の接続情報に含まれる少なくとも一部の情報を用いて得られる情報」の一例である。AP6の公開鍵APK1、図4のT210のAReq、T220のAResが、それぞれ、「第2の公開鍵」、「第2の認証要求」、「第2の認証応答」の一例である。プリンタ用COに含まれるハッシュ値HV、AP用SCが、それぞれ、「認証情報」、「外部装置から通信装置に送信される情報」の一例である。図7のT512で表示されるQRコードが、「コード画像」の一例である。 The group ID "home" and the character string "New" in the selection screen of T502 in FIG. 7 are examples of "related information" and "predetermined information", respectively. The MAC address “macap” of AP6 is an example of “device identification information”. The terminal CO is an example of the "third connection information", and the third connection information obtained by hashing the combination of the hash value HV included in the terminal CO, the group ID "home", and the public key TPK3. The value is an example of "information obtained using at least part of the information included in the third connection information". The public key APK1 of AP6, AReq of T210, and ARes of T220 in FIG. 4 are examples of "second public key", "second authentication request", and "second authentication response", respectively. The hash value HV included in the printer CO and the AP SC are examples of "authentication information" and "information transmitted from the external device to the communication device", respectively. The QR code displayed at T512 in FIG. 7 is an example of the "code image".
Wi-FiI/F116が、「通信装置」の「無線インターフェース」の一例である。図8のT610のAReq、T620のAResが、それぞれ、「認証要求」、「認証応答」の一例である。プリンタ用COが「接続情報」の一例であり、チャネル情報及びAP6のMACアドレス「macap」が「特定情報」の一例である。図8のT610で利用される通信チャネル、図2のT75で利用される通信チャネルが、それぞれ、「第1の通信チャネル」、「第2の通信チャネル」の一例である。
The Wi-Fi I/
図7のT522の処理、図8のT610、T620、図9のT704、T710が、それぞれ、「端末装置」の「第1の取得部」、「第1の認証要求送信部」、「第1の認証応答送信部」、「第1の生成部」、「第1の情報送信部」によって実行される処理の一例である。図8のT610、T620、図9のT710が、それぞれ、「通信装置」の「認証要求受信部」、「認証応答送信部」、「情報受信部」によって実行される処理の一例である。図10のT810、T822、T824、及び、図2のT75が、「通信装置」の「確立部」によって実行される処理の一例である。 The processing of T522 in FIG. 7, T610 and T620 in FIG. 8, and T704 and T710 in FIG. This is an example of processing executed by the "authentication response transmission unit", the "first generation unit", and the "first information transmission unit". T610 and T620 in FIG. 8, and T710 in FIG. 9 are examples of processing executed by the "authentication request receiving unit", "authentication response transmitting unit", and "information receiving unit" of the "communication device", respectively. T810, T822, and T824 in FIG. 10 and T75 in FIG. 2 are examples of processing executed by the 'establishment unit' of the 'communication device'.
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。 Although specific examples of the present invention have been described in detail above, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above. Modifications of the above embodiment are listed below.
(変形例1)上記の実施例では、電子署名(例えばDSpr)は、ハッシュ値HVとグループID「home」と公開鍵(例えばAPK2)との組み合わせをハッシュ化することによって得られる値が秘密鍵tsk2によって暗号化されたものである。これに代えて、電子署名は、上記の組み合わせそのものが秘密鍵tsk2によって暗号化されたものであってもよい。本変形例では、SC(例えばAP用SC)に含まれる上記の組み合わせそのものが、「第1(又は、第2、第3)の接続情報に含まれる少なくとも一部の情報」、及び、「第1(又は、第2、第3)の接続情報に含まれる少なくとも一部の情報を用いて得られる情報」の一例である。 (Modification 1) In the above embodiment, the electronic signature (for example, DSpr) is a private key value obtained by hashing a combination of the hash value HV, the group ID "home", and the public key (for example, APK2). It is encrypted by tsk2. Alternatively, the electronic signature may be the above combination itself encrypted with the secret key tsk2. In this modification, the combination itself included in the SC (for example, the SC for AP) is "at least part of the information included in the first (or second or third) connection information" and "the This is an example of "information obtained using at least part of information included in one (or second or third) piece of connection information."
(変形例2)図3のT102及び図7のT502において、端末10は、選択画面を表示部14に表示しなくてもよい。この場合、端末10は、端末用COを記憶していない状態で図3のT100においてアプリ38が起動されると、T102及びT104をスキップしてT106を実行する。また、端末10は、端末用COを記憶している状態で図7のT500においてアプリ38が起動されると、T502及びT504をスキップしてT506を実行する。本変形例では、「端末装置」の「表示制御部」を省略可能である。
(Modification 2) In T102 of FIG. 3 and T502 of FIG. 7, the terminal 10 may not display the selection screen on the
(変形例3)図11のT920~T926及びT960の処理が省略されてもよい。本変形例では、「端末装置」の「確認要求送信部」及び「確認応答受信部」を省略可能である。また、「通信装置」の「確認要求受信部」及び「確認応答送信部」が省略可能である。 (Modification 3) The processing of T920 to T926 and T960 in FIG. 11 may be omitted. In this modified example, the “confirmation request transmission unit” and the “confirmation response reception unit” of the “terminal device” can be omitted. Also, the "receiving unit for confirmation request" and the "transmitting unit for confirmation response" of the "communication device" can be omitted.
(変形例4)図11のT970の処理が省略されてもよい。本変形例では、「端末装置」の「再確立部」を省略可能である。 (Modification 4) The processing of T970 in FIG. 11 may be omitted. In this modified example, the “re-establishment unit” of the “terminal device” can be omitted.
(変形例5)図11のT930及びT932の処理が省略されてもよい。本変形例では、「端末装置」の「印刷データ送信部」を省略可能である。また、「通信装置」の「印刷実行部」、「印刷データ受信部」、及び、「印刷制御部」を省略可能である。 (Modification 5) The processing of T930 and T932 in FIG. 11 may be omitted. In this modified example, the “print data transmission unit” of the “terminal device” can be omitted. Also, the "print execution unit", "print data reception unit", and "print control unit" of the "communication device" can be omitted.
(変形例6)図11のT912において、プリンタ100は、プリンタ100のIPアドレスを含む問合応答を端末10に送信してもよい。この場合、端末10は、T920,T922において、プリンタ100のIPアドレスを送信先として含む確認要求(即ちユニキャストの確認要求)を、AP6を介して、プリンタ100に送信することができる。ここで、確認要求は、例えば、OSI参照モデルのデータリンク層を用いた通信である。本変形例も、「端末装置」の「確認要求送信部」によって実行される処理の一例である。
(Modification 6) At T912 in FIG. In this case, the terminal 10 can transmit a confirmation request including the IP address of the
(変形例7)図11のT900及びT912の処理が省略されてもよい。この場合、端末10は、図9のT710において、CResをプリンタ100に送信することに応じて、T920において、確認要求をAP6に繰り返し送信してもよい。本変形例では、「端末装置」の「問合要求送信部」及び「問合応答受信部」を省略可能である。また、「通信装置」の「問合要求受信部」及び「問合応答送信部」を省略可能である。
(Modification 7) The processing of T900 and T912 in FIG. 11 may be omitted. In this case, the terminal 10 may repeatedly transmit a confirmation request to the
(変形例8)図3のT122~図6のT424(さらには図2のT25)は、アプリ38ではなく、OS36によって実現されてもよい。即ち、「端末装置」のための「コンピュータプログラム」は、「コンピュータ」を、「第2の生成部」、「確立部」、「第2の取得部」、「第2の認証要求送信部」、「第3の生成部」、及び、「第2の情報送信部」として機能させなくてもよい。 (Modification 8) T122 in FIG. 3 to T424 in FIG. That is, the ``computer program'' for the ``terminal device'' converts the ``computer'' into a ``second generating unit'', an ``establishing unit'', a ``second obtaining unit'', and a ``second authentication request sending unit''. , the “third generator”, and the “second information transmitter”.
(変形例9)図7のT512において、プリンタ100は、QRコードを表示することに代えて、QRコードを含む画像を印刷媒体上に印刷してもよい。本変形例では、QRコードの印刷が「コード画像を出力」の一例である。
(Modification 9) At T512 in FIG. 7, the
(変形例10)「通信装置」は、プリンタ100でなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。また、「外部装置」は、AP6でなくてもよく、プリンタ、スキャナ、携帯端末、PC、サーバ等の他のデバイスであってもよい。
(Modification 10) The "communication device" may not be the
(変形例11)図9のT710において、端末10は、AP6のMACアドレス「macap」を含まず、プリンタ用COとチャネル情報とを含むCResをプリンタ100に送信してもよい。この場合、プリンタ100は、図10のT810において、チャネル情報によって示される通信チャネルを利用して、ブロードキャストによってDReqを送信する。また、別の変形例では、T710において、端末10は、チャネル情報を含まず、プリンタ用COとAP6のMACアドレス「macap」とを含むCResをプリンタ100に送信してもよい。この場合、プリンタ100は、T710において、AP6のMACアドレス「macap」を送信先として、プリンタ100が利用可能な各無線チャネルを順次利用して、DReqをAP6に送信する。即ち、「特定情報」は、「チャネル情報」と「装置識別情報」との少なくも一方を含んでいればよい。
(Modification 11) At T710 in FIG. 9, the terminal 10 may transmit CRes to the
(変形例12)端末10は、図2のT5~25の処理をAP6と実行する前に、T55及びT60の処理を実行してもよい。この場合、端末10は、T60の処理の後にT5~25の処理をAP6と実行し、その後、T65の処理をプリンタ100と実行する。
(Modification 12) The terminal 10 may execute the processes of T55 and T60 before executing the processes of T5 to T25 in FIG. 2 with AP6. In this case, the terminal 10 executes the processes T5 to T25 with the AP6 after the process T60, and then executes the process T65 with the
(変形例13)「装置識別情報」は、AP6のMACアドレス「macap」に限られず、AP6のIPアドレス、デバイス名等であってもよい。
(Modification 13) The 'device identification information' is not limited to the MAC address 'macap' of the
(変形例14)共有鍵(例えばSK1)を生成するための処理(例えば、図4のT201)は、ECDHに従った上記の実施例の処理に限らず、ECDHに従った他の処理であってもよい。また、共有鍵を生成するための処理は、ECDHに従った処理に限らず、他の方式(例えば、DH(Diffie-Hellman key exchangeの略)等)に従った処理が実行されてもよい。また、上記の実施例では、電子署名(DSap等)が、ECDSAに従って生成されたが、他の方式(例えば、DSA(Digital Signature Algorithmの略)、RAS(Rivest-Shamir-Adleman cryptosystemの略)等)に従って生成されてもよい。 (Modification 14) The processing (eg, T201 in FIG. 4) for generating a shared key (eg, SK1) is not limited to the above-described processing according to ECDH, but may be other processing according to ECDH. may Further, the processing for generating a shared key is not limited to processing according to ECDH, and processing according to other schemes (for example, DH (abbreviation of Diffie-Hellman key exchange), etc.) may be executed. Further, in the above embodiment, the electronic signature (DSap, etc.) was generated according to ECDSA, but other methods (eg, DSA (abbreviation of Digital Signature Algorithm), RAS (abbreviation of Rivest-Shamir-Adleman cryptosystem), etc.) can be used. ).
(変形例15)図7のT512でプリンタ100に表示されるQRコードは、チャネルリストL2及びMACアドレス「macpr」がコード化されたものでなくてもよい。即ち、QRコードは、少なくとも公開鍵PPK1がコード化されることによって得られるコード画像であればよい。この場合、プリンタ100は、T510でQRコード表示操作を受け付けることに応じて、プリンタ100が利用可能な全ての無線チャネルのうちの1個の無線チャネルが利用されたAReqを受信することを監視する。また、端末10は、図8のT610において、端末10が利用可能な全ての無線チャネルを順次利用して、AReqをブロードキャストによって順次送信する。即ち、「コード画像」は、少なくとも「第1の公開鍵」がコード化されることによって得られる画像であればよい。
(Modification 15) The QR code displayed on the
(変形例16)図7のT510及びT512の処理が省略されてもよい。この場合、公開鍵PPK1とチャネルリストL2とMACアドレス「macpr」とがコード化されたQRコードがプリンタ100の筐体に貼り付けられていてもよい。本変形例では、「通信装置」の「出力制御部」が省略可能である。
(Modification 16) The processes of T510 and T512 in FIG. 7 may be omitted. In this case, a QR code in which the public key PPK1, the channel list L2, and the MAC address “macpr” are encoded may be pasted on the housing of the
(変形例17)Wi-Fi Allianceによって作成された規格書のドラフトである「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」には、共有コード、キー、フレーズ、及び、ワードを「コード」と呼ぶことが記載されている。従って、プリンタ100は、図7のT512において、QRコードに代えて、公開鍵PPK1とチャネルリストとMACアドレス「abc」とがコード化されることによって得られる共有コード、キー、フレーズ、及び、ワードを含む画像を表示部114に表示してもよい。
(Modification 17) In "DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11", which is a draft standard created by the Wi-Fi Alliance, shared codes, keys, phrases, and words are called "codes". is stated. Therefore, in T512 of FIG. 7, the
(変形例18)上記の実施例では、図2~図11の各処理がソフトウェア(即ち各プログラム36,38,136)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
(Modification 18) In the above embodiment, each process of FIGS. 2 to 11 is realized by software (that is, each
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
本特許出願の出願時の特許請求の範囲に記載の事項を以下に列挙しておく。
(項目1)
端末装置のためのコンピュータプログラムであって、
前記端末装置は、
無線インターフェースと、
コンピュータと、
前記端末装置の秘密鍵を記憶するメモリであって、前記秘密鍵は、外部装置のための第1の接続情報に含まれる少なくとも一部の情報を用いて得られる情報を暗号化するために利用済みであり、前記第1の接続情報は、前記端末装置と前記外部装置との間に前記無線インターフェースを介した第1の無線接続を確立するための情報であって、前記外部装置に記憶されている情報である、前記メモリと、を備え、
前記コンピュータプログラムは、前記コンピュータを、
前記外部装置とは異なる通信装置の第1の公開鍵を取得する第1の取得部と、
前記第1の公開鍵が取得された後に、前記無線インターフェースを介して、前記第1の公開鍵が利用された第1の認証要求を前記通信装置に送信する第1の認証要求送信部と、
前記第1の認証要求が前記通信装置に送信された後に、前記通信装置から、前記無線インターフェースを介して、前記第1の認証要求に対する応答である第1の認証応答を受信する第1の認証応答受信部と、
前記通信装置から前記第1の認証応答が受信される場合に、前記秘密鍵を利用して、前記通信装置のための第2の接続情報を生成する第1の生成部であって、前記第2の接続情報は、前記通信装置と前記外部装置との間に第2の無線接続を確立するための情報であり、前記秘密鍵は、前記第2の接続情報に含まれる少なくとも一部の情報を用いて得られる情報を暗号化するために利用される、前記第1の生成部と、
前記無線インターフェースを介して、前記第2の接続情報を前記通信装置に送信する第1の情報送信部と、
として機能させるコンピュータプログラム。
(項目2)
前記端末装置は、さらに、表示部を備え、
前記メモリは、前記秘密鍵と、前記第1の無線接続に関係する関係情報と、を対応付けて記憶し、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記関係情報を含む選択画面を前記表示部に表示する表示制御部として機能させ、
前記第1の生成部は、
前記選択画面に含まれる前記関係情報が選択される場合に、前記メモリから、前記関係情報に対応付けられている前記秘密鍵を取得し、
取得済みの前記秘密鍵を利用して、前記第2の接続情報を生成する、項目1に記載のコンピュータプログラム。
(項目3)
前記選択画面は、さらに、前記関係情報とは異なる所定情報を含み、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記選択画面に含まれる前記所定情報が選択される場合に、前記端末装置と前記外部装置との間に前記第1の無線接続を確立する確立部として機能させる、項目2に記載のコンピュータプログラム。
(項目4)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の接続情報が前記通信装置に送信された後に、前記無線インターフェースを介して、確認要求を前記通信装置に送信する確認要求送信部であって、前記端末装置と前記外部装置との間に前記第1の無線接続が確立されており、かつ、前記通信装置と前記外部装置との間に前記第2の無線接続が確立されている場合に、前記確認要求は、前記端末装置から前記外部装置を介して前記通信装置に送信される、前記確認要求送信部と、
前記無線インターフェースを介して、前記確認要求に対する応答である確認応答を受信する確認応答受信部であって、前記端末装置と前記外部装置との間に前記第1の無線接続が確立されており、かつ、前記通信装置と前記外部装置との間に前記第2の無線接続が確立されている場合に、前記確認応答は、前記通信装置から前記外部装置を介して前記端末装置に送信される、前記確認応答受信部と、
として機能させる、項目1から3のいずれか一項に記載のコンピュータプログラム。
(項目5)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記端末装置と前記外部装置との間に前記第1の無線接続が確立された後に前記第1の無線接続が切断されたことに起因して、前記確認応答が受信されない場合に、前記端末装置と前記外部装置との間に前記第1の無線接続を再確立する再確立部として機能させる、項目4に記載のコンピュータプログラム。
(項目6)
前記通信装置は、印刷機能を実行可能なプリンタであり、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の接続情報が前記通信装置に送信された後に、前記無線インターフェースを介して、前記外部装置を介し、印刷対象の画像を表わす印刷データを前記通信装置に送信する印刷データ送信部として機能させる、項目1から5のいずれか一項に記載のコンピュータプログラム。
(項目7)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の接続情報が前記通信装置に送信された後に、前記無線インターフェースを介して、前記外部装置を介さずに、前記第2の無線接続が確立されたのか否かを前記通信装置に問い合わせるための問合要求を前記通信装置に送信する問合要求送信部と、
前記問合要求が前記通信装置に送信され、かつ、前記通信装置と前記外部装置との間に前記第2の無線接続が確立された後に、前記通信装置から、前記外部装置を介さずに、前記無線インターフェースを介して、前記問合要求に対する応答である問合応答を受信する問合応答受信部と、として機能させ、
前記印刷データ送信部は、前記通信装置から前記問合応答が受信された後に、前記外部装置を介して、前記印刷データを前記通信装置に送信する、項目6に記載のコンピュータプログラム。
(項目8)
前記第1の情報送信部は、前記第2の接続情報と特定情報とを前記通信装置に送信し、
前記特定情報は、前記第1の無線接続において利用される通信チャネルを示すチャネル情報と、前記外部装置を識別する装置識別情報と、の少なくも一方を含む、項目1から7のいずれか一項に記載のコンピュータプログラム。
(項目9)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記秘密鍵を利用して、前記端末装置のための第3の接続情報を生成する第2の生成部であって、前記第3の接続情報は、前記端末装置と前記外部装置との間に前記第1の無線接続を確立するための情報であり、前記秘密鍵は、前記第3の接続情報に含まれる少なくとも一部の情報を用いて得られる情報を暗号化するために利用される、前記第2の生成部と、
前記第3の接続情報を利用して、前記端末装置と前記外部装置との間に前記第1の無線接続を確立する確立部であって、前記第1の無線接続は、前記第1の接続情報が前記外部装置によって利用されることによって確立される、前記確立部と、
として機能させる、項目1から8のいずれか一項に記載のコンピュータプログラム。
(項目10)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記外部装置の第2の公開鍵を取得する第2の取得部と、
前記第2の公開鍵が取得された後に、前記無線インターフェースを介して、前記第2の公開鍵が利用された第2の認証要求を前記外部装置に送信する第2の認証要求送信部と、
前記第2の認証要求が前記外部装置に送信された後に、前記外部装置から、前記無線インターフェースを介して、前記第2の認証要求に対する応答である第2の認証応答を受信する第2の認証応答受信部と、
前記通信装置から前記第2の認証応答が受信される場合に、前記秘密鍵を利用して、前記外部装置のための前記第1の接続情報を生成する第3の生成部と、
前記無線インターフェースを介して、前記第1の接続情報を前記外部装置に送信する第2の情報送信部と、
前記第1の接続情報が前記外部装置に送信された後に、前記第1の接続情報が前記外部装置によって利用される場合に、前記端末装置と前記外部装置との間に前記第1の無線接続を確立する確立部と、
として機能させる、項目1から9のいずれか一項に記載のコンピュータプログラム。
(項目11)
前記第1の生成部は、Wi-Fi規格に従ったConfiguratorとして動作して、前記第2の接続情報を生成し、
前記第1の情報送信部は、前記Wi-Fi規格に従った前記Configuratorとして動作して、前記第2の接続情報を前記通信装置に送信する、項目1から10のいずれか一項に記載のコンピュータプログラム。
(項目12)
前記第2の接続情報は、認証情報を含み、
前記認証情報は、前記外部装置から前記通信装置に送信される情報の認証を実行するために前記通信装置によって利用される、項目1から11のいずれか一項に記載のコンピュータプログラム。
(項目13)
前記通信装置は、前記第1の公開鍵がコード化されることによって得られるコード画像を出力し、
前記第1の取得部は、前記通信装置から出力される前記コード画像を撮影することによって、前記第1の公開鍵を取得する、項目1から12のいずれか一項に記載のコンピュータプログラム。
(項目14)
前記外部装置は、アクセスポイントである、項目1から13のいずれか一項に記載のコンピュータプログラム。
(項目15)
端末装置であって、
無線インターフェースと、
前記端末装置の秘密鍵を記憶するメモリであって、前記秘密鍵は、外部装置のための第1の接続情報に含まれる少なくとも一部の情報を用いて得られる情報を暗号化するために利用済みであり、前記第1の接続情報は、前記端末装置と前記外部装置との間に前記無線インターフェースを介した第1の無線接続を確立するための情報であって、前記外部装置に記憶されている情報である、前記メモリと、
前記外部装置とは異なる通信装置の第1の公開鍵を取得する第1の取得部と、
前記第1の公開鍵が取得された後に、前記無線インターフェースを介して、前記第1の公開鍵が利用された第1の認証要求を前記通信装置に送信する第1の認証要求送信部と、
前記第1の認証要求が前記通信装置に送信された後に、前記通信装置から、前記無線インターフェースを介して、前記第1の認証要求に対する応答である第1の認証応答を受信する第1の認証応答受信部と、
前記通信装置から前記第1の認証応答が受信される場合に、前記秘密鍵を利用して、前記通信装置のための第2の接続情報を生成する第1の生成部であって、前記第2の接続情報は、前記通信装置と前記外部装置との間に第2の無線接続を確立するための情報であり、前記秘密鍵は、前記第2の接続情報に含まれる少なくとも一部の情報を用いて得られる情報を暗号化するために利用される、前記第1の生成部と、
前記無線インターフェースを介して、前記第2の接続情報を前記通信装置に送信する第1の情報送信部と、
を備える端末装置。
(項目16)
通信装置であって、
無線インターフェースと、
端末装置から、前記無線インターフェースを介して、前記通信装置の第1の公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記無線インターフェースを介して、接続情報と特定情報とを受信する情報受信部であって、前記接続情報は、前記通信装置と外部装置との間に前記無線インターフェースを介した第2の無線接続を確立するための情報であり、前記特定情報は、前記端末装置と外部装置との間に確立される第1の無線接続において利用される通信チャネルを示すチャネル情報と、前記外部装置を識別する装置識別情報と、の少なくも一方を含む、前記情報受信部と、
前記端末装置から前記接続情報と前記特定情報とが受信される場合に、前記接続情報と前記特定情報とを利用して、前記通信装置と前記外部装置との間に前記第2の無線接続を確立する確立部と、
を備える通信装置。
(項目17)
前記通信装置は、さらに、
前記端末装置から前記接続情報と前記特定情報とが受信された後に、前記端末装置から、前記無線インターフェースを介して、確認要求を受信する確認要求受信部であって、前記端末装置と前記外部装置との間に前記第1の無線接続が確立されており、かつ、前記通信装置と前記外部装置との間に前記第2の無線接続が確立されている場合に、前記確認要求は、前記端末装置から前記外部装置を介して前記通信装置に送信される、前記確認要求受信部と、
前記端末装置から前記確認要求が受信される場合に、前記無線インターフェースを介して、前記確認要求に対する応答である確認応答を前記端末装置に送信する確認応答送信部であって、前記端末装置と前記外部装置との間に前記第1の無線接続が確立されており、かつ、前記通信装置と前記外部装置との間に前記第2の無線接続が確立されている場合に、前記確認応答は、前記通信装置から前記外部装置を介して前記端末装置に送信される、前記確認応答送信部と、
を備える項目16に記載の通信装置。
(項目18)
前記通信装置は、さらに、
印刷実行部と、
前記通信装置と前記外部装置との間に前記第2の無線接続が確立された後に、前記端末装置から、前記外部装置を介して、前記無線インターフェースを介し、印刷対象の画像を表わす印刷データを受信する印刷データ受信部と、
前記端末装置から前記印刷データが受信される場合に、前記印刷データによって表わされる前記画像の印刷を前記印刷実行部に実行させる印刷制御部と、
を備える項目16又は17に記載の通信装置。
(項目19)
前記通信装置は、さらに、
前記端末装置から、前記外部装置を介さずに、前記無線インターフェースを介して、前記第2の無線接続が確立されたのか否かを前記通信装置に問い合わせるための問合要求を受信する問合要求受信部と、
前記端末装置から前記問合要求が受信され、かつ、前記通信装置と前記外部装置との間に前記第2の無線接続が確立された後に、前記無線インターフェースを介して、前記外部装置を介さずに、前記問合要求に対する応答である問合応答を前記端末装置に送信する問合応答送信部と、を備え、
前記印刷データ受信部は、前記問合応答が前記端末装置に送信された後に、前記端末装置から前記印刷データを受信する、項目18に記載の通信装置。
(項目20)
前記情報受信部は、Wi-Fi規格に従ったEnrolleeとして動作して、前記端末装置から前記接続情報を受信する、項目16から19のいずれか一項に記載の通信装置。
(項目21)
前記接続情報は、認証情報を含み、
前記確立部は、
前記認証情報を利用して、前記外部装置から受信される情報の認証を実行し、
前記認証が成功する場合に、前記通信装置と前記外部装置との間に前記第2の無線接続を確立する、項目16から20のいずれか一項に記載の通信装置。
(項目22)
前記通信装置は、さらに、
前記第1の公開鍵がコード化されることによって得られるコード画像を出力する出力制御部を備え、
前記通信装置から出力される前記コード画像が前記端末装置によって撮影されることによって、前記第1の公開鍵が前記端末装置によって取得される、項目16から21のいずれか一項に記載の通信装置。
(項目23)
前記認証要求受信部は、第1の通信チャネルを利用して、前記端末装置から前記認証要求を受信し、
前記特定情報は、前記第1の無線接続において利用される第2の通信チャネルを示す前記チャネル情報を含み、
前記確立部は、前記チャネル情報によって示される前記第2の通信チャネルを利用して、前記通信装置と前記外部装置との間に前記第2の無線接続を確立し、
前記第2の通信チャネルは、前記第1の通信チャネルとは異なる、項目16から22いずれか一項に記載の通信装置。
(項目24)
通信装置のためのコンピュータプログラムあって、
前記通信装置のコンピュータを、
端末装置から、前記通信装置の無線インターフェースを介して、前記通信装置の第1の公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記無線インターフェースを介して、接続情報と特定情報とを受信する情報受信部であって、前記接続情報は、前記通信装置と外部装置との間に前記無線インターフェースを介した第2の無線接続を確立するための情報であり、前記特定情報は、前記端末装置と外部装置との間に確立される第1の無線接続において利用される通信チャネルを示すチャネル情報と、前記外部装置を識別する装置識別情報と、の少なくも一方を含む、前記情報受信部と、
前記端末装置から前記接続情報と前記特定情報とが受信される場合に、前記接続情報と前記特定情報とを利用して、前記通信装置と前記外部装置との間に前記第2の無線接続を確立する確立部と、
として機能させるコンピュータプログラム。
In addition, the technical elements described in this specification or in the drawings exhibit technical usefulness alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the techniques exemplified in this specification or drawings achieve multiple purposes at the same time, and achieving one of them has technical utility in itself.
The matters described in the claims as filed for this patent application are listed below.
(Item 1)
A computer program for a terminal device, comprising:
The terminal device
a wireless interface;
a computer;
A memory for storing a private key of the terminal device, wherein the private key is used to encrypt information obtained using at least part of the information included in the first connection information for the external device. and the first connection information is information for establishing a first wireless connection between the terminal device and the external device via the wireless interface, and is stored in the external device. the memory, which is information stored in
The computer program causes the computer to:
a first acquisition unit that acquires a first public key of a communication device different from the external device;
a first authentication request transmitting unit configured to transmit a first authentication request using the first public key to the communication device via the wireless interface after the first public key is acquired;
A first authentication that receives a first authentication response, which is a response to the first authentication request, from the communication device via the wireless interface after the first authentication request is transmitted to the communication device. a response receiver;
A first generating unit that generates second connection information for the communication device using the private key when the first authentication response is received from the communication device, The connection information of 2 is information for establishing a second wireless connection between the communication device and the external device, and the private key is at least part of the information included in the second connection information. the first generator utilized to encrypt information obtained using
a first information transmission unit that transmits the second connection information to the communication device via the wireless interface;
A computer program that acts as a
(Item 2)
The terminal device further comprises a display unit,
the memory associates and stores the secret key and related information related to the first wireless connection;
The computer program further causes the computer to:
functioning as a display control unit for displaying a selection screen containing the relevant information on the display unit;
The first generator,
obtaining the secret key associated with the relevant information from the memory when the relevant information included in the selection screen is selected;
The computer program according to item 1, wherein the second connection information is generated using the obtained private key.
(Item 3)
The selection screen further includes predetermined information different from the related information,
The computer program further causes the computer to:
3. The computer program according to item 2, functioning as an establishing unit that establishes the first wireless connection between the terminal device and the external device when the predetermined information included in the selection screen is selected.
(Item 4)
The computer program further causes the computer to:
a confirmation request transmission unit configured to transmit a confirmation request to the communication device via the wireless interface after the second connection information is transmitted to the communication device, the confirmation request transmitting unit being between the terminal device and the external device; and the second wireless connection is established between the communication device and the external device, the confirmation request is sent from the terminal device to the the confirmation request transmission unit, which is transmitted to the communication device via an external device;
an acknowledgment receiving unit that receives an acknowledgment response to the acknowledgment request via the wireless interface, wherein the first wireless connection is established between the terminal device and the external device; and when the second wireless connection is established between the communication device and the external device, the acknowledgment is transmitted from the communication device to the terminal device via the external device. the acknowledgment receiving unit;
4. The computer program according to any one of items 1 to 3, which functions as a computer program.
(Item 5)
The computer program further causes the computer to:
when the acknowledgment is not received due to disconnection of the first wireless connection after the first wireless connection was established between the terminal device and the external device, and the external device.
(Item 6)
the communication device is a printer capable of executing a printing function,
The computer program further causes the computer to:
Functioning as a print data transmission unit that transmits print data representing an image to be printed to the communication device via the wireless interface and the external device after the second connection information is transmitted to the
(Item 7)
The computer program further causes the computer to:
after the second connection information is transmitted to the communication device, inquiring of the communication device whether the second wireless connection has been established via the wireless interface and without the external device; an inquiry request transmission unit that transmits an inquiry request for
After the inquiry request is transmitted to the communication device and the second wireless connection is established between the communication device and the external device, from the communication device without going through the external device, functioning as an inquiry response receiving unit that receives an inquiry response, which is a response to the inquiry request, via the wireless interface;
7. The computer program according to
(Item 8)
The first information transmission unit transmits the second connection information and specific information to the communication device,
8. Any one of items 1 to 7, wherein the specific information includes at least one of channel information indicating a communication channel used in the first wireless connection and device identification information identifying the external device. the computer program described in .
(Item 9)
The computer program further causes the computer to:
A second generation unit that uses the private key to generate third connection information for the terminal device, wherein the third connection information is generated between the terminal device and the external device. the information for establishing the first wireless connection, wherein the private key is used to encrypt information obtained using at least part of the information included in the third connection information; the second generator; and
An establishing unit that establishes the first wireless connection between the terminal device and the external device using the third connection information, wherein the first wireless connection is the first connection the establishing unit, wherein the information is established by being utilized by the external device;
9. The computer program according to any one of items 1 to 8, which functions as a
(Item 10)
The computer program further causes the computer to:
a second acquisition unit that acquires a second public key of the external device;
a second authentication request transmitting unit configured to transmit a second authentication request using the second public key to the external device via the wireless interface after the second public key is obtained;
A second authentication that receives a second authentication response, which is a response to the second authentication request, from the external device via the wireless interface after the second authentication request is transmitted to the external device. a response receiver;
a third generation unit that generates the first connection information for the external device using the private key when the second authentication response is received from the communication device;
a second information transmission unit that transmits the first connection information to the external device via the wireless interface;
the first wireless connection between the terminal device and the external device when the first connection information is used by the external device after the first connection information is transmitted to the external device; an establishing unit that establishes
10. The computer program according to any one of items 1 to 9, which functions as a computer program.
(Item 11)
The first generation unit operates as a configurator conforming to the Wi-Fi standard to generate the second connection information,
The first information transmission unit according to any one of items 1 to 10, which operates as the configurator according to the Wi-Fi standard and transmits the second connection information to the communication device. computer program.
(Item 12)
the second connection information includes authentication information;
12. Computer program according to any one of items 1 to 11, wherein said authentication information is used by said communication device to perform authentication of information transmitted from said external device to said communication device.
(Item 13)
The communication device outputs a code image obtained by encoding the first public key,
13. The computer program according to any one of items 1 to 12, wherein the first acquisition unit acquires the first public key by capturing the code image output from the communication device.
(Item 14)
14. Computer program according to any one of items 1 to 13, wherein said external device is an access point.
(Item 15)
A terminal device,
a wireless interface;
A memory for storing a private key of the terminal device, wherein the private key is used to encrypt information obtained using at least part of the information included in the first connection information for the external device. and the first connection information is information for establishing a first wireless connection between the terminal device and the external device via the wireless interface, and is stored in the external device. said memory being information stored in
a first acquisition unit that acquires a first public key of a communication device different from the external device;
a first authentication request transmitting unit configured to transmit a first authentication request using the first public key to the communication device via the wireless interface after the first public key is acquired;
A first authentication that receives a first authentication response, which is a response to the first authentication request, from the communication device via the wireless interface after the first authentication request is transmitted to the communication device. a response receiver;
A first generating unit that generates second connection information for the communication device using the private key when the first authentication response is received from the communication device, The connection information of 2 is information for establishing a second wireless connection between the communication device and the external device, and the private key is at least part of the information included in the second connection information. the first generator utilized to encrypt information obtained using
a first information transmission unit that transmits the second connection information to the communication device via the wireless interface;
terminal device.
(Item 16)
A communication device,
a wireless interface;
an authentication request receiving unit that receives an authentication request using the first public key of the communication device from the terminal device via the wireless interface;
an authentication response transmitting unit configured to transmit an authentication response, which is a response to the authentication request, to the terminal device via the wireless interface when the authentication request is received from the terminal device;
an information receiving unit configured to receive connection information and specific information from the terminal device via the wireless interface after the authentication response is transmitted to the terminal device, wherein the connection information is the communication device and the specific information; Information for establishing a second wireless connection with an external device via the wireless interface, wherein the specific information is the first wireless connection established between the terminal device and the external device the information receiving unit including at least one of channel information indicating a communication channel to be used and device identification information identifying the external device;
When the connection information and the specific information are received from the terminal device, the connection information and the specific information are used to establish the second wireless connection between the communication device and the external device. an establishing unit that establishes;
A communication device comprising:
(Item 17)
The communication device further
A confirmation request receiving unit for receiving a confirmation request from the terminal device via the wireless interface after the connection information and the specific information are received from the terminal device, the terminal device and the external device and the second wireless connection is established between the communication device and the external device, the confirmation request is sent to the terminal the confirmation request receiving unit, which is transmitted from the device to the communication device via the external device;
an acknowledgment transmission unit configured to transmit an acknowledgment, which is a response to the confirmation request, to the terminal device via the wireless interface when the confirmation request is received from the terminal device, the terminal device and the When the first wireless connection has been established with an external device and the second wireless connection has been established between the communication device and the external device, the acknowledgment is the acknowledgment transmission unit that is transmitted from the communication device to the terminal device via the external device;
17. A communication device according to
(Item 18)
The communication device further
a print execution unit;
After the second wireless connection is established between the communication device and the external device, print data representing an image to be printed is sent from the terminal device via the wireless interface via the external device. a print data receiving unit for receiving;
a print control unit that causes the print execution unit to print the image represented by the print data when the print data is received from the terminal device;
18. A communication device according to
(Item 19)
The communication device further
An inquiry request for receiving an inquiry request for inquiring of the communication device whether the second wireless connection has been established from the terminal device via the wireless interface without the external device. a receiver;
after the inquiry request is received from the terminal device and the second wireless connection is established between the communication device and the external device, via the wireless interface without the external device and an inquiry response transmission unit that transmits an inquiry response, which is a response to the inquiry request, to the terminal device,
19. The communication device according to item 18, wherein the print data receiving unit receives the print data from the terminal device after the inquiry response is transmitted to the terminal device.
(Item 20)
20. The communication device according to any one of
(Item 21)
the connection information includes authentication information;
The establishing unit comprises:
using the authentication information to perform authentication of information received from the external device;
21. A communication device according to any one of
(Item 22)
The communication device further
An output control unit that outputs a code image obtained by encoding the first public key,
22. The communication device according to any one of
(Item 23)
The authentication request receiving unit receives the authentication request from the terminal device using a first communication channel,
the specific information includes the channel information indicating a second communication channel used in the first wireless connection;
The establishing unit establishes the second wireless connection between the communication device and the external device using the second communication channel indicated by the channel information;
23. A communication device according to any one of items 16-22, wherein the second communication channel is different than the first communication channel.
(Item 24)
A computer program for a communication device,
a computer of the communication device,
an authentication request receiving unit that receives an authentication request using a first public key of the communication device from a terminal device via a wireless interface of the communication device;
an authentication response transmitting unit configured to transmit an authentication response, which is a response to the authentication request, to the terminal device via the wireless interface when the authentication request is received from the terminal device;
an information receiving unit configured to receive connection information and specific information from the terminal device via the wireless interface after the authentication response is transmitted to the terminal device, wherein the connection information is the communication device and the specific information; Information for establishing a second wireless connection with an external device via the wireless interface, wherein the specific information is the first wireless connection established between the terminal device and the external device the information receiving unit including at least one of channel information indicating a communication channel to be used and device identification information identifying the external device;
When the connection information and the specific information are received from the terminal device, the connection information and the specific information are used to establish the second wireless connection between the communication device and the external device. an establishing unit that establishes;
A computer program that acts as a
2:通信システム、6:AP、10:端末、12,112:操作部、14,114:表示部、15:カメラ、16,116:Wi-FiI/F、30,130:制御部、32,132:CPU、34,134:メモリ、36:OSプログラム、38:接続アプリケーション、100:プリンタ、118:印刷実行部、136:プログラム 2: communication system, 6: AP, 10: terminal, 12, 112: operation unit, 14, 114: display unit, 15: camera, 16, 116: Wi-Fi I / F, 30, 130: control unit, 32, 132: CPU, 34, 134: memory, 36: OS program, 38: connection application, 100: printer, 118: print execution unit, 136: program
Claims (20)
前記端末装置は、
無線インターフェースと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、
通信装置の第1の公開鍵を取得する第1の取得部と、
前記第1の公開鍵が取得された後に、前記無線インターフェースを介して、前記第1の公開鍵が利用された第1の認証要求を前記通信装置に送信する第1の認証要求送信部と、
前記第1の認証要求が前記通信装置に送信された後に、前記通信装置から、前記無線インターフェースを介して、前記第1の認証要求に対する応答である第1の認証応答を受信する第1の認証応答受信部と、
前記通信装置から前記第1の認証応答が受信される場合に、前記通信装置のための第2の接続情報を生成する第1の生成部であって、前記第2の接続情報は、前記通信装置と外部装置との間に第2の無線接続を確立するための情報である、前記第1の生成部と、
前記無線インターフェースを介して、前記第2の接続情報を前記通信装置に送信する第1の情報送信部と、
前記端末装置と前記外部装置との間に第1の無線接続が確立され、かつ、前記通信装置と前記外部装置との間に前記第2の無線接続が確立される場合に、前記第2の接続情報が前記通信装置に送信された後に、前記無線インターフェース及び前記外部装置を介して、確認要求を前記通信装置に送信する確認要求送信部と、
前記通信装置から、前記外部装置及び前記無線インターフェースを介して、前記確認要求に対する確認応答を受信する確認応答受信部と、
として機能させるコンピュータプログラム。 A computer program for a terminal device, comprising:
The terminal device
a wireless interface;
a computer ;
The computer program causes the computer to:
a first acquisition unit that acquires a first public key of the communication device;
a first authentication request transmitting unit configured to transmit a first authentication request using the first public key to the communication device via the wireless interface after the first public key is acquired;
A first authentication that receives a first authentication response, which is a response to the first authentication request, from the communication device via the wireless interface after the first authentication request is transmitted to the communication device. a response receiver;
A first generation unit that generates second connection information for the communication device when the first authentication response is received from the communication device, the second connection information being the the first generator , which is information for establishing a second wireless connection between the communication device and the external device;
a first information transmission unit that transmits the second connection information to the communication device via the wireless interface;
When the first wireless connection is established between the terminal device and the external device and the second wireless connection is established between the communication device and the external device, the second wireless connection is established a confirmation request transmission unit that transmits a confirmation request to the communication device via the wireless interface and the external device after connection information is transmitted to the communication device;
an acknowledgment receiving unit that receives an acknowledgment response to the acknowledgment request from the communication device via the external device and the wireless interface;
A computer program that acts as a
前記メモリは、前記端末装置の秘密鍵と、前記第1の無線接続に関係する関係情報と、を対応付けて記憶し、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記関係情報を含む選択画面を前記表示部に表示する表示制御部として機能させ、
前記第1の生成部は、
前記選択画面に含まれる前記関係情報が選択される場合に、前記メモリから、前記関係情報に対応付けられている前記秘密鍵を取得し、
取得済みの前記秘密鍵を利用して、前記第2の接続情報を生成する、請求項1に記載のコンピュータプログラム。 The terminal device further comprises a memory and a display unit ,
the memory associates and stores a secret key of the terminal device and related information related to the first wireless connection;
The computer program further causes the computer to:
functioning as a display control unit for displaying a selection screen containing the relevant information on the display unit;
The first generator,
obtaining the secret key associated with the relevant information from the memory when the relevant information included in the selection screen is selected;
2. The computer program according to claim 1, wherein the obtained private key is used to generate the second connection information.
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記選択画面に含まれる前記所定情報が選択される場合に、前記端末装置と前記外部装置との間に前記第1の無線接続を確立する確立部として機能させる、請求項2に記載のコンピュータプログラム。 The selection screen further includes predetermined information different from the related information,
The computer program further causes the computer to:
3. The computer program according to claim 2, functioning as an establishing unit that establishes the first wireless connection between the terminal device and the external device when the predetermined information included in the selection screen is selected. .
前記端末装置と前記外部装置との間に前記第1の無線接続が確立された後に前記第1の無線接続が切断されたことに起因して、前記確認応答が受信されない場合に、前記端末装置と前記外部装置との間に前記第1の無線接続を再確立する再確立部として機能させる、請求項1から3のいずれか一項に記載のコンピュータプログラム。 The computer program further causes the computer to:
when the acknowledgment is not received due to disconnection of the first wireless connection after the first wireless connection was established between the terminal device and the external device, 4. The computer program according to any one of claims 1 to 3 , wherein the computer program functions as a re-establishing unit that re-establishes the first wireless connection between the device and the external device.
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の接続情報が前記通信装置に送信された後に、前記無線インターフェースを介して、前記外部装置を介し、印刷対象の画像を表わす印刷データを前記通信装置に送信する印刷データ送信部として機能させる、請求項1から4のいずれか一項に記載のコンピュータプログラム。 the communication device is a printer capable of executing a printing function,
The computer program further causes the computer to:
Functioning as a print data transmission unit that transmits print data representing an image to be printed to the communication device via the wireless interface and the external device after the second connection information is transmitted to the communication device 5. A computer program according to any one of claims 1 to 4 , which causes
前記第2の接続情報が前記通信装置に送信された後に、前記無線インターフェースを介して、前記外部装置を介さずに、前記第2の無線接続が確立されたのか否かを前記通信装置に問い合わせるための問合要求を前記通信装置に送信する問合要求送信部と、
前記問合要求が前記通信装置に送信され、かつ、前記通信装置と前記外部装置との間に前記第2の無線接続が確立された後に、前記通信装置から、前記外部装置を介さずに、前記無線インターフェースを介して、前記問合要求に対する応答である問合応答を受信する問合応答受信部と、として機能させ、
前記印刷データ送信部は、前記通信装置から前記問合応答が受信された後に、前記外部装置を介して、前記印刷データを前記通信装置に送信する、請求項5に記載のコンピュータプログラム。 The computer program further causes the computer to:
after the second connection information is transmitted to the communication device, inquiring of the communication device whether the second wireless connection has been established via the wireless interface and without the external device; an inquiry request transmission unit that transmits an inquiry request for
After the inquiry request is transmitted to the communication device and the second wireless connection is established between the communication device and the external device, from the communication device without going through the external device, functioning as an inquiry response receiving unit that receives an inquiry response, which is a response to the inquiry request, via the wireless interface;
6. The computer program according to claim 5 , wherein said print data transmission unit transmits said print data to said communication device via said external device after said inquiry response is received from said communication device.
前記特定情報は、前記第1の無線接続において利用される通信チャネルを示すチャネル情報と、前記外部装置を識別する装置識別情報と、の少なくも一方を含む、請求項1から6のいずれか一項に記載のコンピュータプログラム。 The first information transmission unit transmits the second connection information and specific information to the communication device,
7. The specific information includes at least one of channel information indicating a communication channel used in the first wireless connection and device identification information identifying the external device. 13. The computer program of claim 1.
前記端末装置の秘密鍵を利用して、前記端末装置のための第3の接続情報を生成する第2の生成部であって、前記第3の接続情報は、前記端末装置と前記外部装置との間に前記第1の無線接続を確立するための情報であり、前記秘密鍵は、前記第3の接続情報に含まれる少なくとも一部の情報を用いて得られる情報を暗号化するために利用される、前記第2の生成部と、
前記第3の接続情報を利用して、前記端末装置と前記外部装置との間に前記第1の無線接続を確立する確立部と、
として機能させる、請求項1から7のいずれか一項に記載のコンピュータプログラム。 The computer program further causes the computer to:
A second generation unit that generates third connection information for the terminal device using a private key of the terminal device, wherein the third connection information is generated between the terminal device and the external device. and the secret key is used to encrypt information obtained using at least part of the information included in the third connection information. the second generator, wherein
an establishing unit that establishes the first wireless connection between the terminal device and the external device using the third connection information;
8. A computer program as claimed in any one of claims 1 to 7 , which functions as a
前記外部装置の第2の公開鍵を取得する第2の取得部と、
前記第2の公開鍵が取得された後に、前記無線インターフェースを介して、前記第2の公開鍵が利用された第2の認証要求を前記外部装置に送信する第2の認証要求送信部と、
前記第2の認証要求が前記外部装置に送信された後に、前記外部装置から、前記無線インターフェースを介して、前記第2の認証要求に対する応答である第2の認証応答を受信する第2の認証応答受信部と、
前記通信装置から前記第2の認証応答が受信される場合に、前記端末装置の秘密鍵を利用して、前記外部装置のための第1の接続情報を生成する第3の生成部と、
前記無線インターフェースを介して、前記第1の接続情報を前記外部装置に送信する第2の情報送信部と、
前記第1の接続情報が前記外部装置に送信された後に、前記第1の接続情報が前記外部装置によって利用される場合に、前記端末装置と前記外部装置との間に前記第1の無線接続を確立する確立部と、
として機能させる、請求項1から8のいずれか一項に記載のコンピュータプログラム。 The computer program further causes the computer to:
a second acquisition unit that acquires a second public key of the external device;
a second authentication request transmitting unit configured to transmit a second authentication request using the second public key to the external device via the wireless interface after the second public key is obtained;
A second authentication that receives a second authentication response, which is a response to the second authentication request, from the external device via the wireless interface after the second authentication request is transmitted to the external device. a response receiver;
a third generation unit that generates first connection information for the external device using a private key of the terminal device when the second authentication response is received from the communication device;
a second information transmission unit that transmits the first connection information to the external device via the wireless interface;
the first wireless connection between the terminal device and the external device when the first connection information is used by the external device after the first connection information is transmitted to the external device; an establishing unit that establishes
9. A computer program according to any one of claims 1 to 8 , which operates as a
前記第1の情報送信部は、前記Wi-Fi規格に従った前記Configuratorとして動作して、前記第2の接続情報を前記通信装置に送信する、請求項1から9のいずれか一項に記載のコンピュータプログラム。 The first generation unit operates as a configurator conforming to the Wi-Fi standard to generate the second connection information,
The first information transmission unit according to any one of claims 1 to 9 , operating as the configurator conforming to the Wi-Fi standard and transmitting the second connection information to the communication device. computer program.
前記第1の情報送信部は、前記Wi-Fi接続を確立するために利用されるConfiguration Objectである前記第2の接続情報を前記通信装置に送信する、請求項1から10のいずれか一項に記載のコンピュータプログラム。11. The first information transmission unit transmits the second connection information, which is a Configuration Object used to establish the Wi-Fi connection, to the communication device. the computer program described in .
前記認証情報は、前記外部装置から前記通信装置に送信される情報の認証を実行するために前記通信装置によって利用される、請求項1から11のいずれか一項に記載のコンピュータプログラム。 the second connection information includes authentication information;
12. A computer program product as claimed in any preceding claim, wherein the authentication information is utilized by the communication device to perform authentication of information transmitted from the external device to the communication device.
前記第1の取得部は、前記通信装置から出力される前記コード画像を撮影することによって、前記第1の公開鍵を取得する、請求項1から12のいずれか一項に記載のコンピュータプログラム。 The communication device outputs a code image obtained by encoding the first public key,
13. The computer program according to any one of claims 1 to 12 , wherein said first acquisition unit acquires said first public key by capturing said code image output from said communication device.
無線インターフェースと、
通信装置の第1の公開鍵を取得する第1の取得部と、
前記第1の公開鍵が取得された後に、前記無線インターフェースを介して、前記第1の公開鍵が利用された第1の認証要求を前記通信装置に送信する第1の認証要求送信部と、
前記第1の認証要求が前記通信装置に送信された後に、前記通信装置から、前記無線インターフェースを介して、前記第1の認証要求に対する応答である第1の認証応答を受信する第1の認証応答受信部と、
前記通信装置から前記第1の認証応答が受信される場合に、前記通信装置のための第2の接続情報を生成する第1の生成部であって、前記第2の接続情報は、前記通信装置と外部装置との間に第2の無線接続を確立するための情報である、前記第1の生成部と、
前記無線インターフェースを介して、前記第2の接続情報を前記通信装置に送信する第1の情報送信部と、
前記端末装置と前記外部装置との間に第1の無線接続が確立され、かつ、前記通信装置と前記外部装置との間に前記第2の無線接続が確立される場合に、前記第2の接続情報が前記通信装置に送信された後に、前記無線インターフェース及び前記外部装置を介して、確認要求を前記通信装置に送信する確認要求送信部と、
前記通信装置から、前記外部装置及び前記無線インターフェースを介して、前記確認要求に対する確認応答を受信する確認応答受信部と、
を備える端末装置。 A terminal device,
a wireless interface ;
a first acquisition unit that acquires a first public key of the communication device;
a first authentication request transmitting unit configured to transmit a first authentication request using the first public key to the communication device via the wireless interface after the first public key is acquired;
A first authentication that receives a first authentication response, which is a response to the first authentication request, from the communication device via the wireless interface after the first authentication request is transmitted to the communication device. a response receiver;
A first generation unit that generates second connection information for the communication device when the first authentication response is received from the communication device, the second connection information being the the first generator , which is information for establishing a second wireless connection between the communication device and the external device;
a first information transmission unit that transmits the second connection information to the communication device via the wireless interface;
When the first wireless connection is established between the terminal device and the external device and the second wireless connection is established between the communication device and the external device, the second wireless connection is established a confirmation request transmission unit that transmits a confirmation request to the communication device via the wireless interface and the external device after connection information is transmitted to the communication device;
an acknowledgment receiving unit that receives an acknowledgment response to the acknowledgment request from the communication device via the external device and the wireless interface;
terminal device.
無線インターフェースと、
端末装置から、前記無線インターフェースを介して、前記通信装置の第1の公開鍵が利用された認証要求を受信する認証要求受信部と、
前記端末装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記端末装置に送信する認証応答送信部と、
前記認証応答が前記端末装置に送信された後に、前記端末装置から、前記無線インターフェースを介して、接続情報を受信する情報受信部であって、前記接続情報は、前記通信装置と外部装置との間に前記無線インターフェースを介した第2の無線接続を確立するための情報である、前記情報受信部と、
前記端末装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記外部装置との間に前記第2の無線接続を確立する確立部と、
前記端末装置と前記外部装置との間に第1の無線接続が確立され、かつ、前記通信装置と前記外部装置との間に前記第2の無線接続が確立される場合に、前記端末装置から前記接続情報が受信された後に、前記端末装置から、前記外部装置及び前記無線インターフェースを介して、確認要求を受信する確認要求受信部と、
前記無線インターフェース及び前記外部装置を介して、前記確認要求に対する確認応答を前記端末装置に送信する確認応答送信部と、
を備える通信装置。 A communication device,
a wireless interface;
an authentication request receiving unit that receives an authentication request using the first public key of the communication device from the terminal device via the wireless interface;
an authentication response transmitting unit configured to transmit an authentication response, which is a response to the authentication request, to the terminal device via the wireless interface when the authentication request is received from the terminal device;
an information receiving unit configured to receive connection information from the terminal device via the wireless interface after the authentication response is transmitted to the terminal device, wherein the connection information is between the communication device and the external device; the information receiving unit, which is information for establishing a second wireless connection via the wireless interface between
an establishing unit that establishes the second wireless connection between the communication device and the external device using the connection information when the connection information is received from the terminal device;
From the terminal device when a first wireless connection is established between the terminal device and the external device and the second wireless connection is established between the communication device and the external device a confirmation request receiving unit that receives a confirmation request from the terminal device via the external device and the wireless interface after the connection information is received;
an acknowledgment transmission unit that transmits an acknowledgment response to the confirmation request to the terminal device via the wireless interface and the external device;
A communication device comprising:
印刷実行部と、
前記通信装置と前記外部装置との間に前記第2の無線接続が確立された後に、前記端末装置から、前記外部装置を介して、前記無線インターフェースを介し、印刷対象の画像を表わす印刷データを受信する印刷データ受信部と、
前記端末装置から前記印刷データが受信される場合に、前記印刷データによって表わされる前記画像の印刷を前記印刷実行部に実行させる印刷制御部と、
を備える請求項16に記載の通信装置。 The communication device further
a print execution unit;
After the second wireless connection is established between the communication device and the external device, print data representing an image to be printed is sent from the terminal device via the wireless interface via the external device. a print data receiving unit for receiving;
a print control unit that causes the print execution unit to print the image represented by the print data when the print data is received from the terminal device;
7. A communication device according to claim 16, comprising:
前記端末装置から、前記外部装置を介さずに、前記無線インターフェースを介して、前記第2の無線接続が確立されたのか否かを前記通信装置に問い合わせるための問合要求を受信する問合要求受信部と、
前記端末装置から前記問合要求が受信され、かつ、前記通信装置と前記外部装置との間に前記第2の無線接続が確立された後に、前記無線インターフェースを介して、前記外部装置を介さずに、前記問合要求に対する応答である問合応答を前記端末装置に送信する問合応答送信部と、を備え、
前記印刷データ受信部は、前記問合応答が前記端末装置に送信された後に、前記端末装置から前記印刷データを受信する、請求項17に記載の通信装置。 The communication device further
An inquiry request for receiving an inquiry request for inquiring of the communication device whether the second wireless connection has been established from the terminal device via the wireless interface without the external device. a receiver;
after the inquiry request is received from the terminal device and the second wireless connection is established between the communication device and the external device, via the wireless interface without the external device and an inquiry response transmission unit that transmits an inquiry response, which is a response to the inquiry request, to the terminal device,
18. The communication device according to claim 17 , wherein said print data receiving unit receives said print data from said terminal device after said inquiry response is transmitted to said terminal device.
前記通信装置は、さらに、
前記端末装置から、前記無線インターフェースを介して、前記第1の無線接続において利用される第2の通信チャネルを示すチャネル情報を受信するチャネル情報受信部を備え、
前記確立部は、前記チャネル情報によって示される前記第2の通信チャネルを利用して、前記通信装置と前記外部装置との間に前記第2の無線接続を確立し、
前記第2の通信チャネルは、前記第1の通信チャネルとは異なる、請求項16から18いずれか一項に記載の通信装置。 The authentication request receiving unit receives the authentication request from the terminal device using a first communication channel,
The communication device further
a channel information receiving unit configured to receive channel information indicating a second communication channel used in the first wireless connection from the terminal device via the wireless interface;
The establishing unit establishes the second wireless connection between the communication device and the external device using the second communication channel indicated by the channel information;
19. A communication device according to any one of claims 16 to 18 , wherein said second communication channel is different than said first communication channel.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022018513A JP7302682B2 (en) | 2018-03-30 | 2022-02-09 | Computer program for terminal device, terminal device, communication device, and computer program for communication device |
JP2023101724A JP2023123630A (en) | 2018-03-30 | 2023-06-21 | Computer program for terminal device, terminal device, communication device, and computer program for communication device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018068822A JP7024559B2 (en) | 2018-03-30 | 2018-03-30 | Computer programs for terminal devices, terminal devices, communication devices, and computer programs for communication devices |
JP2022018513A JP7302682B2 (en) | 2018-03-30 | 2022-02-09 | Computer program for terminal device, terminal device, communication device, and computer program for communication device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018068822A Division JP7024559B2 (en) | 2018-03-30 | 2018-03-30 | Computer programs for terminal devices, terminal devices, communication devices, and computer programs for communication devices |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023101724A Division JP2023123630A (en) | 2018-03-30 | 2023-06-21 | Computer program for terminal device, terminal device, communication device, and computer program for communication device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022063296A JP2022063296A (en) | 2022-04-21 |
JP7302682B2 true JP7302682B2 (en) | 2023-07-04 |
Family
ID=86996587
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022018513A Active JP7302682B2 (en) | 2018-03-30 | 2022-02-09 | Computer program for terminal device, terminal device, communication device, and computer program for communication device |
JP2023101724A Pending JP2023123630A (en) | 2018-03-30 | 2023-06-21 | Computer program for terminal device, terminal device, communication device, and computer program for communication device |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023101724A Pending JP2023123630A (en) | 2018-03-30 | 2023-06-21 | Computer program for terminal device, terminal device, communication device, and computer program for communication device |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP7302682B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017028458A (en) | 2015-07-21 | 2017-02-02 | キヤノン株式会社 | Communication device, communication method and program |
JP2017513265A (en) | 2014-02-10 | 2017-05-25 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Assisted device provisioning in the network |
US20170295448A1 (en) | 2016-04-08 | 2017-10-12 | Blackberry Limited | Managed object to provision a device according to one of plural provisioning techniques |
JP2018046435A (en) | 2016-09-15 | 2018-03-22 | キヤノン株式会社 | Communication device, control of the same, and program |
-
2022
- 2022-02-09 JP JP2022018513A patent/JP7302682B2/en active Active
-
2023
- 2023-06-21 JP JP2023101724A patent/JP2023123630A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017513265A (en) | 2014-02-10 | 2017-05-25 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Assisted device provisioning in the network |
JP2017028458A (en) | 2015-07-21 | 2017-02-02 | キヤノン株式会社 | Communication device, communication method and program |
US20170295448A1 (en) | 2016-04-08 | 2017-10-12 | Blackberry Limited | Managed object to provision a device according to one of plural provisioning techniques |
JP2018046435A (en) | 2016-09-15 | 2018-03-22 | キヤノン株式会社 | Communication device, control of the same, and program |
Also Published As
Publication number | Publication date |
---|---|
JP2022063296A (en) | 2022-04-21 |
JP2023123630A (en) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7024559B2 (en) | Computer programs for terminal devices, terminal devices, communication devices, and computer programs for communication devices | |
JP7215048B2 (en) | Computer program for terminal device and terminal device | |
JP7155581B2 (en) | Communication device and computer program for the communication device | |
JP7279367B2 (en) | Computer program for terminal device and communication device | |
JP7338329B2 (en) | Terminal and computer program for terminal | |
US11736274B2 (en) | Terminal device and non-transitory computer-readable medium storing computer-readable instructions for terminal device | |
JP7196602B2 (en) | Communication device, computer program for communication device, and computer program for first external device | |
JP2023118902A (en) | First communication device and computer program for first communication device | |
JP7338372B2 (en) | COMMUNICATION DEVICE AND COMPUTER PROGRAM FOR COMMUNICATION DEVICE | |
JP2019180036A (en) | Communication device and computer program for communication device | |
JP2024019266A (en) | Communication devices and computer programs for communication devices | |
JP7196533B2 (en) | Communication device and computer program for the communication device | |
JP7302682B2 (en) | Computer program for terminal device, terminal device, communication device, and computer program for communication device | |
JP7293950B2 (en) | Terminal and computer program for terminal | |
JP7476948B2 (en) | COMMUNICATION DEVICE, COMPUTER PROGRAM FOR THE COMMUNICATION DEVICE, AND COMPUTER PROGRAM FOR A FIRST EXTERNAL DEVICE - Patent application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220217 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220301 |
|
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: 20230523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230605 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7302682 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |