Communication device, control method, and computer-readable storage medium

By displaying a user interface after the responder device receives the DPP authentication request, allowing the user to confirm whether to set communication parameters with the initiator device, the problem of the responder device being unable to recognize the QR code scanning device is solved, and secure exchange of communication parameters is achieved.

CN116647935BActive Publication Date: 2026-07-21CANON KK

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CANON KK
Filing Date
2019-04-22
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

In the prior art, when using QR codes to set wireless communication parameters, the responder device cannot recognize the device that took the QR code, which may result in parameter settings being performed with an unwanted device.

Method used

After the responder device receives the DPP authentication request, it displays a user interface that allows the user to input information to confirm whether to set parameters with the initiator device, and performs the setting process after the user agrees.

Benefits of technology

It enables secure communication parameter exchange between the responder device and the user-approved counterpart device, preventing parameter exchange with inappropriate devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116647935B_ABST
    Figure CN116647935B_ABST
Patent Text Reader

Abstract

The present application provides a communication device, a control method, and a computer readable storage medium. The communication device includes: an obtaining unit configured to obtain a public key of another device; an accepting unit configured to display information related to the other device and accept a user input on whether to perform a setting process with the other device, the setting process being for setting a communication parameter required to establish a communication connection; and an executing unit configured to transmit, to the other device, a request including information related to the public key and related to an authentication process in the setting process, and in a case where a response responsive to the request is received from the other device, perform the setting process with the other device, wherein in a case where a user input indicating that the setting process is to be performed is accepted, the executing unit performs the setting process.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of patent application No. 201910323424.4 filed on April 22, 2019, entitled "Communication Device, Control Method and Computer-Readable Storage Medium". Technical Field

[0002] This invention relates generally to communication devices, control methods, and computer-readable storage media, and particularly to communication setup techniques in wireless communication. Background Technology

[0003] In recent years, there has been an increase in the provision of wireless communication capabilities in electronic devices such as digital cameras, printers, mobile phones, and smartphones, and in the performance of accompanying communication services by connecting these electronic devices to wireless networks. For example, to connect an electronic device to a wireless network, communication parameters, including at least any one of encryption methods, encryption keys, authentication methods, and authentication keys, need to be set. A Wi-Fi device provisioning protocol (hereinafter referred to as "DPP") has been developed as a technology to facilitate the setting of these communication parameters. US-2017-0295448 discloses a communication parameter setting technique using DPP, which includes using markers such as QR (quick response) codes to detect a peer device configured to set communication parameters. US-2017-0295448 also discloses that, using DPP, a providing device (configurator) configured to provide communication parameters uses a public key to provide information needed to connect to an access point to a receiving device (enrollee) configured to receive the communication parameters.

[0004] Using parameter setting methods such as those employed by DPP (Digital Programming Interface) to obtain a public key and perform authentication by reading a QR code (registered trademark), a device configured to photograph a QR code can recognize a device whose QR code is to be photographed, but the device whose QR code is to be photographed cannot recognize a device configured to photograph a QR code. Therefore, parameter settings may be performed between the device to be photographed and an undesirable device. Summary of the Invention

[0005] This invention enables a communication device to set communication parameters between the communication device and an appropriate counterpart device.

[0006] According to one aspect of the present invention, a communication device is provided, the communication device comprising: an obtaining unit for obtaining a public key of another device; a receiving unit for displaying information related to the other device and accepting user input regarding whether to perform a setting process with the other device, the setting process being used to set communication parameters required to establish a communication connection; and an executing unit for sending a request to the other device including information related to the public key and related to authentication processing in the setting process, and performing the setting process with the other device upon receiving a response from the other device in response to the request, wherein the executing unit performs the setting process upon receiving user input indicating that the setting process should be performed.

[0007] According to another aspect of the present invention, a communication apparatus is provided, the communication apparatus comprising: a receiving unit for receiving, from another device that has obtained a public key of the communication apparatus, a request for authentication processing in a setup process for setting communication parameters required to establish a communication connection, the setup process being used to set communication parameters required to establish a communication connection with the other device, wherein the request includes information relating to the public key; a receiving unit for receiving user input regarding whether the setup process for setting communication parameters required to establish a communication connection with the other device is executed; and an execution unit for executing the setup process with the other device after sending a response to the request to the other device; wherein, upon receiving user input indicating that the setup process is to be executed, the execution unit executes the setup process.

[0008] According to another aspect of the present invention, a control method executed by a communication device is provided, the method comprising: obtaining a public key relating to another device; displaying information relating to the other device and accepting user input regarding whether to perform a setup process with the other device, the setup process being used to set communication parameters required to establish a communication connection; and sending a request to the other device including information relating to the public key and relating to authentication processing in the setup process, and, upon receiving a response from the other device in response to the request, performing the setup process with the other device, wherein the setup process is performed upon receiving user input indicating that the setup process should be performed.

[0009] According to another aspect of the present invention, a control method executed by a communication device is provided, the method comprising: receiving from another device that has obtained a public key of the communication device a request for authentication processing in a setup process for setting communication parameters required to establish a communication connection, the setup process being used to set communication parameters required to establish a communication connection with the other device; accepting user input regarding whether the setup process for setting communication parameters required to establish a communication connection with the other device is executed; and executing the setup process with the other device after sending a response to the request to the other device, wherein the setup process is executed upon receiving user input indicating that the setup process is to be executed.

[0010] Further features of the invention will become clear from the following description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description

[0011] The accompanying drawings, which are included in and form part of this specification, illustrate embodiments of the invention and, together with the textual description, serve to explain the principles of the invention.

[0012] Figure 1 This is a diagram illustrating an example of the construction of a wireless communication system.

[0013] Figure 2 This is a diagram illustrating an example of the hardware construction of a communication device.

[0014] Figure 3 This is a diagram illustrating an example of the functional structure of a communication device.

[0015] Figure 4 This is a flowchart illustrating an example of the process performed by the responder communication device in the DPP.

[0016] Figure 5 This is a flowchart illustrating an example of the process performed by the initiator communication device in the DPP.

[0017] Figure 6 This is a diagram showing an example of a user interface displayed by a communication device.

[0018] Figure 7 This is a diagram showing an example of a user interface displayed by a communication device.

[0019] Figure 8 This is a diagram illustrating a first example of the process flow performed by a wireless communication system.

[0020] Figure 9 This is a diagram illustrating a second example of the process flow performed by a wireless communication system.

[0021] Figure 10This is a diagram illustrating a third example of the process flow performed by a wireless communication system. Detailed Implementation

[0022] Exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement of components, numerical representations, and values ​​set forth in the embodiments do not limit the scope of the invention.

[0023] This embodiment describes an example using a wireless LAN system conforming to the IEEE 802.11 standard family. However, the invention is not limited thereto, and the following method can be applied to other wireless communication systems that do not conform to the IEEE 802.11 standard family. Note that "IEEE" is an abbreviation for "The Institute of Electrical and Electronics Engineers, Inc."

[0024] Construction of wireless communication system

[0025] Figure 1 The construction of a wireless communication system according to this embodiment is shown. The wireless communication system includes an access point 101, a smartphone 103, a printer 104, and a wireless LAN network 102. Note that in... Figure 1 The example shown illustrates access point 101, smartphone 103, and printer 104 as communication devices included in a wireless communication system; however, the communication devices included in a wireless communication system are not limited to these. For example, these communication devices can be replaced with other types of communication devices such as mobile phones, cameras, personal computers (PCs), camcorders, smartwatches, and personal digital assistants (PDAs). Furthermore, although in Figure 1 The example shown includes three communication devices in the wireless communication system, but a wireless communication system may include two, four or more communication devices.

[0026] In this embodiment, the process performed when printer 104 joins network 102 formed by access point 101 will be described. At this time, for example, smartphone 103 can operate as a configurator of DPP and provide printer 104, operating as a registrant of DPP, with information for connecting to access point 101. Note that, as described above, DPP is an abbreviation for WiFi Device Provisioning Protocol. Furthermore, a configurator is a providing device configured to provide communication parameters, and a registrant is a receiving device configured to receive the provided communication parameters. Communication parameters are information for connecting to devices forming a network, such as access points, and include, for example, information such as SSID as a network identifier, encryption key, and encryption method.

[0027] In this embodiment, the initiator, configured to begin setting parameters using DPP, captures an image, such as a QR code, displayed on a responder configured to perform parameter setting together with the initiator, obtains a public key, and uses this public key to perform parameter setting. The initiator and responder are determined independently of their roles in the communication parameter provision process. That is, the configurator can operate as either an initiator or a responder, and similarly, the registrant can also operate as either an initiator or a responder. As described above, in the parameter setting process using DPP, the initiator identifies the counterpart device configured to send and receive communication parameters and reads an image, such as a QR code, while the responder cannot identify which communication device read the image. Therefore, the responder may perform parameter setting using DPP on an inappropriate counterpart device. To address this issue, in this embodiment, when the responder receives a predetermined signal (e.g., a DPP authentication request) sent by the initiator to the responder after reading an image such as a QR code, the responder enters a state where it can accept user input. For example, the responder displays device information about the initiator that can be obtained from the request signal on the screen, and accepts user input regarding whether the other party device for setting parameters is as expected by the user. Then, in response to the responder accepting user input indicating that the initiator has been approved as a device for setting parameters, the parameter setting process using DPP continues. Therefore, the communication device can exchange parameters with other devices confirmed by the user, and can prevent the communication device from exchanging communication parameters with inappropriate devices, etc.

[0028] The following sections will describe in detail the construction of a communication device configured to perform such processing and examples of the processing flow.

[0029] Construction of the device

[0030] Figure 2 An example of the hardware configuration of a communication device (access point 101, smartphone 103, and printer 104) according to this embodiment is shown. As an example, the communication device includes a control unit 201, a storage unit 202, a radio unit 203, a display unit 204, a camera unit 205, an antenna control unit 206, an antenna 207, and an input unit 208.

[0031] The control unit 201 performs overall control of the communication device by executing a control program stored in the storage unit 202. The control unit 201 is composed of one or more processors, such as a CPU (Central Processing Unit) and an MPU (Microprocessor Unit). Alternatively, the control unit 201 can be constructed from hardware such as an ASIC (Application-Specific Integrated Circuit) and a DSP (Digital Signal Processor) and gate array circuits such as an FPGA (Field-Programmable Gate Array). The storage unit 202 stores various types of information, such as the control program executed by the control unit 201, image data, and communication parameters. Various operations, which will be described later, can be implemented by the control unit 201 executing the control program stored in the storage unit 202. For example, the storage unit 202 can be composed of a ROM (Read-Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), or flash memory, or a storage medium such as a removable SD (Secure Digital) card.

[0032] The radio unit 203 performs various processes for wireless LAN communication conforming to the IEEE 802.11 standard series. The radio unit 203 is composed of a circuit chip equipped with wireless communication circuitry such as radio frequency (RF) circuitry or baseband (BB) circuitry. The display unit 204 uses functions such as an LCD (liquid crystal display) or an LED (light-emitting diode) capable of outputting visually recognizable information, or uses functions such as a speaker capable of outputting sound, to present various types of information to the outside world. That is, the display unit 204 has the function of outputting at least one of visual and sound information. Note that if the display unit 204 displays visual information, it has, for example, a VRAM (video RAM) capable of storing image data corresponding to the visual information to be displayed, and can perform display control relative to the LCD or LED to continuously display the image data stored in the VRAM.

[0033] The camera unit 205 comprises an image sensor, a lens, etc., and captures photographs and moving images. The camera unit 205 is capable of capturing images such as barcodes, QR codes, and registered trademarks. The antenna control unit 206 controls the antenna 207, and the antenna 207 is any type of antenna with an operating frequency band of 2.4 GHz and / or 5 GHz. The input unit 208 is a receiving device configured to accept various user inputs and is used when the user operates the communication device. The input unit 208 stores flags corresponding to the received user inputs in a memory such as the storage unit 202.

[0034] Notice, Figure 2 The construction example shown is illustrative, and the communication device may have other hardware constructions or may not necessarily have a portion of the hardware. For example, if the communication device is a printer, then in addition to... Figure 2 In addition to the configuration shown, the communication device may also have a printing unit. Furthermore, if the communication device is access point 101, it is not necessary to have a display unit 204 or a camera unit 205. Additionally, the two or more blocks described above can be integrated into one. For example, if the communication device is a smartphone 103, a touch panel obtained by integrating at least a portion of the display unit 204 and the input unit 208 can be used. Furthermore, a block can be divided into two or more blocks.

[0035] Figure 3 This is a diagram illustrating an example of the functional structure of a communication device. Note that... Figure 3 The diagram illustrates functions primarily used to perform the processes described later, and the communication device may have, in addition to Figure 3 Functions other than those shown.

[0036] The communication device includes, for example, a communication parameter control unit 301, an image reading control unit 302, an image generation control unit 303, and a service control unit 304, as its functional configuration. Additionally, the communication device includes, for example, a packet receiving unit 305, a packet sending unit 306, a station function control unit 307, an access point function control unit 308, and a data storage unit 309. These functional blocks can be implemented by the control unit 201 executing programs stored in the storage unit 202. For example, the control unit 201 performs its functions as a result of controlling the hardware and calculating and processing information according to the control program. Note that some or all of the functions can be implemented using dedicated hardware such as an ASIC.

[0037] The communication parameter control unit 301 performs a communication parameter sharing process for sharing communication parameters between devices. In this process, the providing device provides the receiving device with communication parameters for performing wireless communication. These communication parameters include at least one of the following: SSID (Service Set Identifier) ​​as a network identifier, encryption method, encryption key, authentication method and authentication key, and wireless communication parameters required for wireless LAN communication. Additionally, the communication parameters may include connectors defined in the DPP, MAC addresses, PSK, passphrases, IP addresses for communication at the IP layer, information required for higher-level services, etc. Note that "MAC" is an abbreviation for "Medium Access Control," "PSK" is an abbreviation for "Pre Shared Key," and "IP" is an abbreviation for "Internet Protocol." In this embodiment, it is assumed that the communication parameter control unit 301 uses the DPP to perform the communication parameter sharing process. However, instead of using the DPP, the communication parameter control unit 301 can use WPS (Wi-Fi protected setup), Wi-Fi Direct, etc., to perform the communication parameter sharing process.

[0038] Image reading control unit 302 analyzes images such as barcodes, QR codes, or coded codes captured by camera unit 205 and obtains encoded information. Image reading control unit 302 obtains code information including the public key to be used in performing communication parameter sharing processing, as an image captured by camera unit 205. Note that the code information can be a QR code such as a CP (computer purpose) code or QR code, or a one-dimensional code such as a barcode. Image reading control unit 302 analyzes the obtained code information image and obtains encoded information. In this embodiment, the code information may include information to be used in the communication parameter sharing processing. Here, the information used in the communication parameter sharing processing includes, for example, information such as the public key used in authentication processing and the device identifier. Note that the public key is a type of encryption key used in public key encryption methods and is information used to increase the security of the communication parameter sharing processing. Note that instead of the public key, information such as certificates or passwords can be used. Image generation control unit 303 generates images such as barcodes, QR codes, or coded codes and performs control for displaying the generated images on display unit 204. The image generation control unit 303 generates code information including information such as a public key for performing communication parameter sharing processing and an identifier of the communication device. Note that, as a result of attaching the pre-generated code information to the body of the communication device, such as to a product manual or product packaging (e.g., a box), the code information can be displayed on the communication device even if no screen is displayed. This allows the processing according to this embodiment to be performed even if the communication device does not include the display unit 204.

[0039] Service control unit 304 controls services in the application layer. Here, "application layer" refers to the service providing layer in the upper layers of the OSI reference model (such as layer 5 or higher). Service control unit 304 uses wireless communication via radio unit 203 to perform control over printing processing, image streaming processing, and file transfer processing.

[0040] Packet receiving unit 305 and packet sending unit 306 control the sending and receiving of any packets, including those from upper-layer communication protocols. For example, packet receiving unit 305 and packet sending unit 306 control radio unit 203 to send packets conforming to the IEEE 802.11 standard series to and receive packets conforming to the IEEE 802.11 standard series from the communication counterpart.

[0041] The Station Function Control Unit 307 provides STA functions for operation as a Station (STA) in the IEEE 802.11 standard family of infrastructure modes. When operating as a STA, the Station Function Control Unit 307 performs authentication / encryption processes, etc. Additionally, the Access Point Function Control Unit 308 provides AP functions for operation as an Access Point (AP) in the IEEE 802.11 standard family of infrastructure modes. The Access Point Function Control Unit 308 forms a wireless network and performs authentication / encryption processes and manages the STAs. The Data Storage Unit 309 controls the writing of software and information about communication parameters and barcodes to the storage unit 202, and the reading of software and information about communication parameters and barcodes from the storage unit 202.

[0042] Note that communication devices do not necessarily have this feature. Figure 3 Part of the structure shown, and in some cases, capable of exhibiting the same characteristics as... Figure 3 The entire structure can be replaced by other structures with similar functions as shown. For example, if the communication device is access point 101, the communication device does not necessarily need to have an image reading control unit 302, etc. In addition, as a result of attaching pre-generated code information to the main body of the communication device, if the code information is displayed without a screen display, the image generation control unit 303 can be omitted.

[0043] Processing flow

[0044] Next, examples of the processing flow performed by the aforementioned communication device will be described. Below, we will first describe the processing flow performed by the responder and initiator of the DPP, and then describe examples of the processing flow performed by the wireless communication system.

[0045] Operation of the responder communication device

[0046] Figure 4An example of the process flow performed by a communication device operating as a responder (hereinafter referred to as the "responder device") is shown. The responder device first launches an application for setting communication parameters using DPP, for example, via user input (step S401). Then, the responder device determines, via user operation, which role it will operate as, for example, a communication parameter providing device (configurer) or a communication parameter receiving device (registerer) (step S402). Note that the responder device can operate in a preset role, for example, independently of user operation. For example, if the responder device is an access point, the responder device can always operate as a configurer. Then, the responder device displays, for example, via display unit 204, an image of code information such as a QR code representing information about the responder device (such as the responder device's public key) (step S403). Note that the responder device can display the code information, for example, in a format where a printed image is appended to the body, and in this case, no special processing is performed in step S403. An image of the code information is captured by the initiator communication device (hereinafter referred to as the "initiator device"). The initiator device analyzes the captured image of the code information to obtain information about the responder device, and then sends a DPP authentication request packet to the responder device. The responder device then receives the DPP authentication request packet (step S404).

[0047] Then, the responder device checks its role (configurer or registrant) in the communication parameter provision process as determined in step S402 (step S405). If it is determined that the responder device is operating as a configurator, the responder device displays a user interface (UI) for checking settings (step S406). Figure 6 An example of this UI is shown below. In one example, such as... Figure 6 As shown, the responder device presents the initiator device's device name to the initiator device and enters a state where it can accept user input regarding whether to allow the execution of communication parameter setting processes with the initiator device. Note that in Figure 6 The "Device Name" area shows the MAC address of the initiating device, information that has been set as additional information in the DPP authentication request packet and can be used to identify the initiating device, etc. Figure 6The UI shown presents three options: "OK," "NO," and "Mutual," and the user selects one of these options. Here, "OK" indicates permission to process communication parameter settings with the displayed initiator device, and "NO" indicates disallowing such processing. "Mutual" indicates that the responder device, by capturing an image of code information such as a QR code displayed by the initiator device, performs mutual authentication processing and performs communication parameter setting processing after mutually obtaining the code information. Note that if the responder device permits communication parameter setting processing with the initiator device, it can specify "OK" or "Mutual" as the initial setting. In this case, for example in... Figure 6 The UI shown only displays "OK". If "OK" is selected as user input, the user input is interpreted as "OK" or "mutual" based on the initial settings.

[0048] When a user operation is accepted, the responder device determines which option the user selected from these options (step S407). If the responder device determines in step S407 that "No" was selected, the responder device sends an error response as a DPP authentication response packet to the initiator device (step S417) and ends the process. If the responder device determines in step S407 that "OK" was selected, the responder device displays a UI for allowing the user to input information about the initiator device, which is the counterpart device used for communication parameter setting processing, and enters the user input acceptance state (step S408). Figure 7 The image shows an example of the UI displayed in step S408. The user... Figure 7 Information about the initiating device is entered in the "Input Field" shown. The information to be entered here can be similar to the information that can be obtained in step S411, which will be described later. For example, information about the initiating device can be entered as a result of the responding device obtaining a file about the initiating device in advance via the Internet, etc. Alternatively, the information to be entered may differ from the information that can be obtained in step S411, which will be described later. For example, the responding device may accept manual input from the user, such as information that can be used to identify the initiating device. When the responding device accepts user input regarding information about the other party's device in step S408 ("No" in step S409), the process then proceeds to step S412.

[0049] On the other hand, if the responder device determines in step S407 that "mutual" has been selected, the process proceeds to step S410 without executing the process in step S408 (which is "yes" in step S409). In step S410, to prompt the initiator device to display code information such as a QR code, the responder device sends an error response as a DPP authentication response packet. The initiator device displays the code information in response to the error response as the DPP authentication response packet. The responder device waits for the initiator device to display the code information, and when the code information is displayed, the responder device captures an image of the code information (step S411) and obtains information about the initiator device. The information obtained here may be, for example, information such as the initiator device's public key. When the responder device obtains the information about the initiator device, the responder device then sends a normal response as a DPP authentication response packet (step S412). Then, the responder device performs parameter exchange based on the DPP specifications and performs the process for connecting to the initiator device (steps S413 to S416).

[0050] Operation of the initiator's communication device

[0051] Next, we will refer to Figure 5 An example describing the process performed by the initiator device is provided. The initiator device first launches an application for setting communication parameters using DPP, for example, via user input (step S501). Then, the initiator device determines, via user operation, which role to operate as, for example, a communication parameter providing device (configurer) or a communication parameter receiving device (registerer) (step S502). Next, the initiator device captures an image of code information, such as a QR code, including the public key displayed on the responder device (step S503) and obtains information about the responder device. In response to obtaining this information, the initiator device sends a DPP authentication request packet to the responder device (step S508).

[0052] Note that before sending the DPP authentication request packet to the responder device, the initiating device may perform a process similar to that in steps S405 to S408. However, for example, if it is believed that the initiating device can error-free select the counterpart device performing the communication parameter setting process, begin reading the code information, and reliably identify the responder device, then these processes need not be performed.

[0053] If the initiating device is operating as a configurator, it can display the obtained information about the other party's device using code information (step S505) and accept user input regarding whether to permit communication parameter setting processing with that other party's device. If, for example, code information about an unwanted other party's device is read, the communication parameter setting process can end without sending a DPP authentication request packet, as a result of selecting "No" in step S506. Alternatively, if "OK" is selected in step S506, the initiating device can display, for example... Figure 7 The UI shown in the image prompts the initiating device for information about the other party's device (step S507). In one example, the initiating device can accept input such as the name of the other party's device. The initiating device then sends a DPP authentication request packet. The initiating device then receives a normal response from the responding device as a DPP authentication response packet (step S511).

[0054] Additionally, if "Mutual" is selected in step S506, the initiating device sends a DPP authentication request packet without performing the processing in step S507. Then, in response to, for example, receiving an error response as a DPP authentication response packet from the other device, the initiating device displays code information such as a QR code on the display unit 204 (step S510). Alternatively, if "Mutual" is selected, the sending device may display the code information after a predetermined time period has elapsed after sending the DPP authentication request packet. Then, after the responding device receives the code information, the initiating device receives a normal response as a DPP authentication request packet (step S511).

[0055] Then, the initiator device performs parameter exchange based on the DPP specifications and performs processing for connecting to the responder device (steps S512 to S515).

[0056] As described above, according to this embodiment, communication parameter settings using code information such as QR codes enable the user of the responder device to identify the initiator device (the initiator device checks the responder device as needed). Then, after the user authorizes the initiator device, communication parameters can be provided and received between these communication devices.

[0057] Processing flow in the overall wireless communication system

[0058] Next, an example of the process flow performed in a wireless communication system including the initiator device and the responder device described above will be described. As described above, in the wireless communication system according to this embodiment, network 102 is constituted by access point 101, and smartphone 103 maintains communication parameters that smartphone 103 can use to connect to access point 101. For example, if access point 101 does not support DPP, smartphone 103 can use existing protocols such as WPS or AOSS (AirStation One-TouchSecure System) to obtain communication parameters. Alternatively, if access point 101 supports DPP, smartphone 103 can use automatic settings utilizing DPP, etc. Note that although this embodiment will describe access point 101 providing information to smartphone 103 regarding the communication parameters... Figure 1 The communication parameters of the wireless communication system shown are as described, but other configurations can also be used. For example, the owner of Wi-Fi Direct (registered trademark) can operate in a manner similar to access point 101 according to this embodiment, providing communication parameters to clients, and these clients can provide communication parameters to other clients. Alternatively, the user of smartphone 103 can manually input communication parameters via input unit 208. Then, it is assumed that smartphone 103, as the configurator of DPP, performs communication parameter setting processing with the registrant (printer 104). The processing flow will now be described when smartphone 103 (configurator) is the initiator and no mutual authentication is performed, when smartphone 103 is the responder and no mutual authentication is performed, and when smartphone 103 is the responder and mutual authentication is performed.

[0059] Figure 8 An example of the process flow is shown where the configurator is the initiator and no mutual authentication is performed. In this process, firstly, the responder device displays a QR code, and the initiator device photographs the QR code displayed on the responder device. Triggered by the photographing of the QR code, the initiator device sends a DPP authentication request packet to the responder device. When the responder device receives the DPP authentication request packet, the responder device displays, as needed, such as... Figure 6The UI screen shown is illustrated. Note that there are cases where communication parameter setting processing is permitted independently of the other device (initiator device), such as when the responder device is a registrant or when it can simply choose whether to use the received parameters later. In such cases, the responder device does not need to display the UI screen. Note that as a result of the responder device displaying the UI screen and permitting communication parameter setting processing only with a specific initiator device, unnecessary communication parameter setting processing can be prevented. If the UI screen is displayed, the responder device sends a DPP authentication response packet to the initiator device in response to the user pressing "OK" on the UI screen. Then, based on the DPP specifications, parameter exchange is performed and processing for the connection between the responder device and the initiator device is executed.

[0060] Figure 9 An example of the process flow is shown where the registrant is the initiator and no mutual authentication is performed. In this process, firstly, the responder device also displays a QR code, and the initiator device also captures the QR code displayed on the responder device. Triggered by the capture of this QR code, the initiator device sends a DPP authentication request packet to the responder device. When the responder device receives this DPP authentication request packet, the responder device displays as follows: Figure 6 The UI screen shown is shown in the image. Figure 6 The "Device Name" shown displays the MAC address of the initiating device and information set as additional information in the DPP authentication request packet to identify the initiating device. When the responder device is a communication parameter provider (configurer), if the responder device provides communication parameters without identifying the initiating device, the desired communication device can be allowed to join the network. Therefore, in this processing example, the responder device, acting as the configurer, provides the user with information to identify the initiating device as a candidate for registrant and accepts user input regarding whether communication parameter setting processing with that initiating device can be performed. Thus, communication parameter setting processing can be performed only with devices that the user has determined can perform communication parameter setting processing. The responder device displays the following in response to the user pressing "OK" on the UI screen: Figure 7 The UI shown accepts user input regarding information about the other device performing communication parameter setting processing. The responder device accepts the user input and then sends a DPP authentication response packet to the initiator device. Then, based on the DPP specifications, parameter exchange is performed, and processing for the connection between the responder and initiator devices is executed.

[0061] Figure 10 An example of the processing flow in the case of mutual authentication is shown. Note that, although Figure 10The processing example shown illustrates a scenario where the registrant is the initiator; however, a similar process can be performed even if the configurator is the initiator. In this process, firstly, the responder device also displays a QR code, and the initiator device also captures the QR code displayed on the responder device. Triggered by the capture of this QR code, the initiator device sends a DPP authentication request packet to the responder device. When the responder device receives this DPP authentication request packet, the responder device displays as follows: Figure 6 The UI shown is as follows. When the user presses "Mutual," the responder device sends an error response as a DPP authentication response packet to the initiator device and waits for the initiator device to display a QR code. The initiator device then displays the QR code, and the responder device captures the QR code displayed on the initiator device. Once the responder device obtains information about the initiator device, it then sends a normal response as a DPP authentication response packet to the initiator device. Then, based on the DPP specifications, parameter exchange is performed, and processing for the connection between the responder and initiator devices is executed.

[0062] As described above, the DPP responder device allows the user to check information about the initiator device and, based on the check result, displays a UI screen indicating whether to accept a user operation regarding permission to perform communication parameter setting processing with the initiator device. In one example, the responder device displays this UI screen based on the receipt of a DPP authentication request packet. The responder device continues using DPP's communication parameter setting processing if it accepts a user operation indicating permission to perform communication parameter setting processing with the initiator device. Conversely, if the responder device accepts a user operation indicating disallowance of communication parameter setting processing with the initiator device, the processing ends and DPP's communication parameter setting processing is not continued. Therefore, it is possible to prevent the exchange of communication parameters between communication devices that the user does not expect.

[0063] Note that a UI screen display is not mandatory. For example, information about the initiator's device can be presented using sound, and the "OK" and "No" selections can be accepted using keys, physical buttons, etc., configured on the responder's device. In other words, optional information presentation and operation acceptance methods can be used, allowing users to check the other party's device and determine whether communication parameter setting processing can be performed.

[0064] Furthermore, although the above embodiments describe examples of sending and receiving information for performing communication parameter setting processing between communication devices utilizing images of QR codes (registered trademark), the present invention is not limited thereto. For example, instead of photographing a QR code (registered trademark), wireless communication such as Near Field Communication (NFC) or Bluetooth (registered trademark) can be used. Alternatively, wireless communication such as IEEE 802.11ad or TransferJet (registered trademark) can be used. Note that instead of code information such as QR codes, information that can be read by a user can be used. For example, a configuration can be adopted in which predetermined strings are displayed, these strings are entered by the user after the application is launched, and thus information similar to that obtained by photographing the QR code described above can be obtained.

[0065] While the embodiments described above illustrate communication between devices via a wireless LAN conforming to the IEEE 802.11 standard family, the invention is not limited thereto. For example, wireless USB, Wireless 1394, WINET's UWB (Ultra Wide Band), and wireless communication technologies such as Bluetooth (registered trademark), ZigBee, and NFC can be used.

[0066] Other embodiments

[0067] Alternatively, embodiments of the invention can be implemented by a computer that reads and executes computer-executable instructions (e.g., one or more programs) recorded on a storage medium (also more fully referred to as a "non-transitory computer-readable storage medium") to perform one or more functions in the above embodiments, and / or includes one or more circuits (e.g., application-specific integrated circuits (ASICs)) for performing one or more functions in the above embodiments. Furthermore, embodiments of the invention can be implemented using a method by which the computer of the system or device, for example, reads and executes the computer-executable instructions from the storage medium to perform one or more functions in the above embodiments, and / or controls the one or more circuits to perform one or more functions in the above embodiments. The computer may include one or more processors (e.g., a central processing unit (CPU), a microprocessor unit (MPU)) and may include separate computers or a network of separate processors to read and execute the computer-executable instructions. The computer-executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, a hard disk, random access memory (RAM), read-only memory (ROM), the memory of a distributed computing system, or an optical disc (such as a compact disc (CD), a digital versatile optical disc (DVD), or a Blu-ray disc (BD)). TMOne or more of the following: flash memory devices and memory cards.

[0068] The embodiments of the present invention can also be implemented by providing software (programs) that perform the functions of the above embodiments to a system or device via a network or various storage media, and the computer or central processing unit (CPU) or microprocessor unit (MPU) of the system or device reads out and executes the program.

[0069] Although the invention has been described with reference to exemplary embodiments, it should be understood that the invention is not limited to the disclosed exemplary embodiments. The appended claims should be interpreted in the broadest possible sense to encompass all such variations and equivalent structures and functions.

Claims

1. A communication device, the communication device comprising: The determining unit, based on the first user input, determines whether the communication device operates as a configurator in the setting process of parameters required to establish a connection; The acquisition unit is used to obtain public keys about other devices; A receiving unit is configured to display information to accept a second user input regarding whether to perform the setup process with the other device when the public key is obtained and the communication device operates as the configurator; and An execution unit is configured to, upon receiving second user input indicating a desire to perform the setup process with the other device, send a request to the other device including information related to the public key and related to authentication processing within the setup process; and, upon receiving second user input indicating a desire not to perform the setup process with the other device, not send the request to the other device. Upon receiving a response to the request from the other device, the setup process with the other device is performed.

2. The communication device according to claim 1, wherein, The obtaining unit obtains the public key of the other device by reading the image displayed by the other device.

3. The communication device according to claim 1, wherein, The obtaining unit obtains the public key about the other device by using wireless communication.

4. The communication device according to claim 1, wherein, The setup process is based on the Device Configuration Protocol (DPP), and the request is a DPP authentication request.

5. The communication device according to claim 1, wherein, Upon receiving a response to the request indicating successful authentication, the execution unit performs setup processing with the other devices.

6. The communication device according to claim 1, wherein, The communication parameters include at least one of the following: Service Set Identifier (SSID), encryption method, encryption key, authentication method, and authentication key. The execution unit provides the communication parameters to the other devices.

7. The communication device according to claim 6, wherein, The other device that is provided with the communication parameters establishes a wireless communication connection.

8. A computer-readable storage medium storing a computer program for enabling a computer to function as a communication device according to claim 1.

9. A communication device, the communication device comprising: A receiving unit is configured to receive a request for authentication processing from a setting process that is used to set communication parameters required to establish a communication connection from another device that has obtained a public key about the communication device, wherein the request includes information related to the public key; The display control unit is configured to display a display item for accepting user input when the receiving unit has received the request, the user input being about whether to perform setting processing for setting communication parameters required to establish a communication connection with the other device; A receiving unit is configured to accept user input via the display item regarding whether to perform the settings process with the other devices; and An execution unit is configured to perform the setup process with the other device after sending a response to the request to the other device; Specifically, if the execution unit receives user input indicating that it wants to perform the setting process via the display item, it sends the response to the other device and performs the setting process; and if the execution unit receives user input indicating that it does not want to perform the setting process with the other device via the display item, it neither sends the response to the other device nor performs the setting process with the other device.

10. The communication device according to claim 9, wherein, The setup process is based on the Device Configuration Protocol (DPP), and the response is a DPP authentication response.

11. The communication device according to claim 9, wherein, The communication parameters are at least one of a Service Set Identifier (SSID), an encryption method, an encryption key, an authentication method, and an authentication key, and the execution unit receives the communication parameters from another device.

12. A computer-readable storage medium storing a computer program for enabling a computer to function as a communication apparatus according to claim 9.

13. A control method executed by a communication device, the method comprising: Based on the first user input, it is determined whether the communication device operates as a configurator in the setting process of the parameters required to establish a connection; Obtain the public key for other devices; If the public key is obtained and the communication device operates as the configurator, information is displayed to accept a second user input regarding whether to perform the setup process with the other device; If a second user input indicating that the setup process with the other device has been accepted, a request including information related to the public key and related to the authentication process in the setup process is sent to the other device; if a second user input indicating that the setup process with the other device has been accepted, the request is not sent to the other device. Upon receiving a response to the request from the other device, the setup process with the other device is performed.

14. A control method executed by a communication device, the method comprising: A request for authentication processing is received from a setting process from another device that has obtained a public key for the communication device. The setting process is used to set communication parameters required to establish a communication connection, wherein the request includes information related to the public key. The device is configured to display an item for accepting user input, provided that the request has been received, the user input being for whether to perform setting processing for setting communication parameters required to establish a communication connection with the other device; The display item accepts user input regarding whether to perform the settings process with the other devices. and If user input indicating a desire to perform the settings process is received via the display item, the settings process with the other device is performed after a response to the request is sent to the other device. If the user input indicating that they do not want to perform the setting process is received via the display item, neither the response is sent nor the setting process is performed.