Patent Description:
In recent years, cases where a wireless communication function is provided in electronic devices such as digital cameras, printers, mobile phones, and smartphones, and a service with communication is executed by connecting these electronic devices to a wireless network have increased. In order to connect an electronic device to a wireless network, for example, communication parameters including at least any of an encryption method, an encryption key, an authentication method, and an authentication key need to be set. A Wi-Fi device provisioning protocol (referred to as "DPP" hereinafter) has been formulated as a technique to facilitate setting these communication parameters. The document <CIT> discloses a communication parameter setting technique using DPP including detecting a partner apparatus configured to set communication parameters using a mark such as a QR (quick response) code. The document <CIT> discloses that, with DPP, a providing apparatus (configurator) configured to provide a communication parameter, provides, using a public key, information required for connection to an access point to a receiving apparatus (enrollee) configured to receive a communication parameter.

With a parameter setting method such as DPP with which a public key is obtained by reading a QR code (registered trademark) and authentication is executed, an apparatus configured to capture a QR code can identify an apparatus whose QR code is to be captured, but the apparatus whose QR code is to be captured cannot identify the apparatus configured to capture the QR code. Thus, in the apparatus that is to be captured, the setting of parameters may be executed between this apparatus and an undesired apparatus.

Further related art can be found in the document <CIT> relating to a communication device that determines whether an access point with which connection can be established using information for establishing connection based on a protocol different from DPP supports DPP, the document <CIT> relating to a technique for holding information for connecting to a wireless network, using a protocol different from DPP, for a connector for connecting to the wireless network using DPP, the document <CIT> relating to a communication device that transmits a communication parameter to connect to a wireless network established by an access point to another communication device using information obtained from a captured image, and the document <CIT> relating to a technique for enhancing DPP with assisted bootstrapping.

The present invention enables a communication apparatus to execute the setting of communication parameters between the communication apparatus and an appropriate partner apparatus.

The present invention in its first aspect provides a communication apparatus as specified in claims <NUM> to <NUM>.

The present invention in its second aspect provides a method for controlling a communication apparatus as specified in claim <NUM>.

The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention, and together with the description, serve to explain the principles of the invention.

An exemplary embodiment of the present invention will now be described in detail with reference to the drawings. It should be noted that the relative arrangement of the components, the numerical expressions, and numerical values set forth in the embodiment do not limit the scope of the present invention unless it is specifically stated otherwise.

In the present embodiment, an example in which a wireless LAN system conforming to IEEE <NUM> standard series is used will be described. However, the present invention is not limited thereto, and the following method can be applied to other wireless communication systems that do not conform to IEEE <NUM> standard series. Note that "IEEE" is an abbreviation for "The Institute of Electrical and Electronics Engineers, Inc.

<FIG> shows a configuration of a wireless communication system according to the present embodiment. This wireless communication system includes an access point <NUM>, a smartphone <NUM>, a printer <NUM>, and a network <NUM> of a wireless LAN. Note that the access point <NUM>, the smartphone <NUM>, and the printer <NUM> are shown in the example shown in <FIG> as communication apparatuses included in the wireless communication system, but the communication apparatuses included in the wireless communication system are not limited thereto. For example, these communication apparatuses may be replaced with communication apparatuses in other modes, such as mobile phones, cameras, personal computers (PCs), video cameras, smart watches, and personal digital assistants (PDAs). Also, although the number of communication apparatuses included in the wireless communication system is three in the example shown in <FIG>, two, or four or more communication apparatuses may be included in the wireless communication system.

In the present embodiment, processing performed when the printer <NUM> joins the network <NUM> formed by the access point <NUM> will be described. At this time, for example, the smartphone <NUM> may operate as the configurator of DPP, and provide information for connection to the access point <NUM> to the printer <NUM> that operates as the enrollee of DPP. Note that, as described above, DPP is an abbreviation for WiFi Device Provisioning Protocol. Also, the configurator is a providing apparatus configured to provide communication parameters, and the enrollee is a receiving apparatus configured to receive provided communication parameters. Communication parameters are pieces of information used for connection to an apparatus that forms a network, such as an access point, and are pieces of information such as an SSID that is a network identifier, an encryption key, and an encryption method, for example.

In the present embodiment, the initiator configured to start setting parameters using DPP captures an image such as a QR code displayed on the responder configured to execute the parameter setting together with the initiator, obtains a public key, and executes the parameter setting using this public key. The initiator and the responder are determined irrespective of roles in communication parameter providing processing. That is, the configurator can operate as either the initiator or the responder, and similarly, the enrollee can also operate as either the initiator or the responder. As described above, in the parameter setting processing using DPP, the initiator identifies the partner apparatus configured to transmit and receive communication parameters, and reads an image such as a QR code, while the responder cannot identify which communication apparatus has read this image. Thus, the responder may execute the parameter setting using DPP on an inappropriate partner apparatus. To address this, in the present embodiment, when the responder receives a predetermined signal (a DPP authentication request, for example) that is transmitted by the initiator to the responder after an image such as a QR code has been read, the responder enters a state in which a user input can be accepted. For example, the responder displays, on the screen, apparatus information regarding the initiator that can be acquired from a request signal, and accepts a user input as to whether the partner apparatus in which parameters are set is desired by the user. Then, the parameter setting processing using DPP is continued in response to the user input indicating that the initiator is approved of as the partner apparatus in which parameters are set being accepted by the responder. Accordingly, the communication apparatus can exchange parameters with the other apparatus that was confirmed by the user, and it is possible to prevent the communication apparatus from exchanging communication parameters with an inappropriate apparatus, and the like.

Hereinafter, examples of configurations of communication apparatuses configured to execute such processing and the flow of processing executed will be described in detail.

<FIG> shows an example of a hardware configuration of communication apparatuses (the access point <NUM>, the smartphone <NUM>, and the printer <NUM>) according to the present embodiment. A communication apparatus includes a control unit <NUM>, a storage unit <NUM>, a radio unit <NUM>, a display unit <NUM>, an image capturing unit <NUM>, an antenna control unit <NUM>, an antenna <NUM>, and an input unit <NUM>, as an example.

The control unit <NUM> performs overall control of the communication apparatus by executing a control program stored in the storage unit <NUM>. The control unit <NUM> is constituted by one or more processors such as a CPU (central processing unit) and an MPU (micro processing unit). Also, the control unit <NUM> may be constituted by hardware such as ASIC (application specific integrated circuit) and a DSP (digital signal processor) and a gate array circuit such as an FPGA (field programmable gate array). The storage unit <NUM> stores various types of information such as a control program executed by the control unit <NUM>, image data, and communication parameters. Various operations, which will be described later, may be realized by the control unit <NUM> executing the control program stored in the storage unit <NUM>. The storage unit <NUM> may be constituted by a ROM (read only memory), a RAM (random access memory), an HDD (hard disk drive), or a flash memory, or a storage medium such as a detachable SD (secure digital) card, for example.

The radio unit <NUM> executes various processes for performing wireless LAN communication conforming to the IEEE <NUM> standard series. The radio unit <NUM> is constituted by a circuit chip provided with a wireless communication circuit such as a radio frequency (RF) circuit or a baseband (BB) circuit. The display unit <NUM> presents various types of information to an external portion using a function that can output information that can be visually recognized, such as an LCD (liquid crystal display) or an LED (light-emitting diode), or using a function that can output sound, such as a speaker. That is, the display unit <NUM> has a function of outputting at least one of visual information and sound information. Note that, if the display unit <NUM> displays visual information, the display unit <NUM> has a VRAM (video RAM) capable of storing image data corresponding to visual information to be displayed, for example, and may, in relation to an LCD or LED, perform display control to continuously display image data stored in the VRAM.

The image capturing unit <NUM> is constituted by an image sensor, a lens, and the like, and captures a photograph and a moving image. The image capturing unit <NUM> can capture images such as a barcode, a two-dimensional code, and a QR code (registered trademark). The antenna control unit <NUM> controls the antenna <NUM>, and the antenna <NUM> is any type of antenna having an operation band in a <NUM> band and/or a <NUM> band. The input unit <NUM> is an accepting apparatus configured to accept various user inputs, and is used when the user operates the communication apparatus. The input unit <NUM> stores a flag corresponding to the accepted user input in a memory such as the storage unit <NUM> or the like.

Note that the configuration example shown in <FIG> is an example, and a communication apparatus may have another hardware configuration, or does not necessarily have a part of the hardware. For example, if the communication apparatus is a printer, the communication apparatus may have a printing unit, in addition to the configuration shown in <FIG>. Also, if the communication apparatus is the access point <NUM>, the communication apparatus does not necessarily have the display unit <NUM> or the image capturing unit <NUM>. Also, the above-described two or more blocks may be integrated into one. For example, if the communication apparatus is the smartphone <NUM>, a touch panel obtained by integrating at least portions of the display unit <NUM> and the input unit <NUM> may be used. Also, one block may be divided into two or more blocks.

<FIG> is a diagram showing an example of a functional configuration of the communication apparatus. Note that <FIG> shows functions mainly for executing processing, which will be described later, and the communication apparatus may have functions other than the functions shown in <FIG>.

The communication apparatus includes a communication parameter control unit <NUM>, an image reading control unit <NUM>, an image generation control unit <NUM>, and a service control unit <NUM>, as the functional configuration, for example. Also, the communication apparatus includes a packet receiving unit <NUM>, a packet transmitting unit <NUM>, a station function control unit <NUM>, an access point function control unit <NUM>, and a data storage unit <NUM>, for example. These function blocks may be realized by the control unit <NUM> executing the respective programs stored in the storage unit <NUM>. For example, as a result of controlling hardware, and calculating and processing information according to a control program, the control unit <NUM> realizes functions. Note that some or all of the functions may be realized by dedicated hardware such as an ASIC.

The communication parameter control unit <NUM> executes communication parameter sharing processing for sharing communication parameters between apparatuses. In the communication parameter sharing processing, the providing apparatus provides communication parameters for executing wireless communication to the receiving apparatus. Herein, communication parameters include at least any one of wireless communication parameters required to perform wireless LAN communication, such as an SSID (service set identifier) that is a network identifier, an encryption method, an encryption key, an authentication method, and an authentication key. Also, communication parameters may include a connector defined in DPP, a MAC address, a PSK, a passphrase, an IP address for performing communication in an IP layer, information required for a higher-level service, and the like. Note that "MAC" is an acronym for "Medium Access Control", "PSK" is an acronym for "Pre Shared Key", and "IP" is an acronym for "Internet Protocol". In the present embodiment, it is assumed that the communication parameter control unit <NUM> executes communication parameter sharing processing using DPP. However, the communication parameter control unit <NUM> may execute communication parameter sharing processing using WPS (Wi-Fi protected setup), Wi-Fi Direct, or the like, instead of using DPP.

The image reading control unit <NUM> analyzes an image such as a barcode, a two-dimensional code, or a QR code captured by the image capturing unit <NUM>, and obtains encoded information. The image reading control unit <NUM> obtains, as the image captured by the image capturing unit <NUM>, code information including a public key to be used to execute communication parameter sharing processing. Note that code information may be a two-dimensional code such as a CP (computer purpose) code or a QR code, or a one-dimensional code such as a barcode. The image reading control unit <NUM> analyzes the image of the obtained code information and obtains encoded information. In the present embodiment, code information may include information to be used in communication parameter sharing processing. Herein, information used in communication parameter sharing processing includes information such as a public key used in authentication processing and an identifier of an apparatus, for example. Note that a public key is one type of encryption key used in a public key encryption method, and is information used to increase the security of communication parameter sharing processing. Note that information such as a certificate or a password may be used, instead of a public key. The image generation control unit <NUM> generates an image such as a barcode, a two-dimensional code, or a QR code, and executes control for displaying the generated image on the display unit <NUM>. The image generation control unit <NUM> generates code information including information such as a public key used to execute communication parameter sharing processing and the identifier of a communication apparatus. Note that as a result of attaching code information that has been generated in advance to the body of a communication apparatus, to a product instruction manual of a communication apparatus, or packaging of the product (for example, a box), for example, code information may be displayed in a communication apparatus without a screen display. This makes it possible to execute processing according to the present embodiment even if a communication apparatus does not include the display unit <NUM>.

The service control unit <NUM> controls a service in an application layer. An "application layer" herein refers to a service providing layer in an upper layer such as a fifth layer or an upper layer in an OSI reference model. The service control unit <NUM> executes control on printing processing, image streaming processing, and file transfer processing, using wireless communication performed by the radio unit <NUM>.

The packet receiving unit <NUM> and the packet transmitting unit <NUM> control transmission and reception of any packets including a communication protocol of an upper layer. For example, the packet receiving unit <NUM> and the packet transmitting unit <NUM> control the radio unit <NUM> in order to transmit and receive packets conforming to IEEE <NUM> standard series to/from a communication partner apparatus.

The station function control unit <NUM> provides an STA function for operating as a station (STA) in an infrastructure mode of IEEE <NUM> standard series. When the station function control unit <NUM> operates as an STA, the station function control unit <NUM> executes authentication/encryption processing, and the like. Also, the access point function control unit <NUM> provides an AP function for operating as an access point (AP) in an infrastructure mode of IEEE <NUM> standard series. The access point function control unit <NUM> forms a wireless network, and performs authentication/encryption processing on the STA and manages the STA. The data storage unit <NUM> performs control of writing and reading out software and information regarding communication parameters and barcodes to/from the storage unit <NUM>.

Note that the communication apparatus does not necessarily have a part of the configuration shown in <FIG>, and in some cases, the entire configuration may be replaced with another configuration capable of exhibiting a function that is similar to the configuration shown in <FIG>. For example, if the communication apparatus is the access point <NUM>, the communication apparatus does not necessarily have the image reading control unit <NUM> and the like. Also, as a result of attaching code information that has been generated in advance to the body of the communication apparatus or the like, if code information is displayed without a screen display, the image generation control unit <NUM> may be omitted.

Next, an example of a flow of processing executed by the above-described communication apparatuses will be described. Hereinafter, first, the flow of processing executed by the responder and the initiator of DPP will be described, and then, an example of the flow of processing executed by a wireless communication system will be described.

<FIG> shows an example of the flow of processing executed by the communication apparatus operating as the responder (referred to as a "responder apparatus" hereinafter). The responder apparatus first activates an application for executing the communication parameter setting using DPP via a user input, for example (step S401). Then, the responder apparatus determines, via a user operation, for example, which role of the communication parameter providing apparatus (the configurator) and the communication parameter receiving apparatus (the enrollee) to operate in (step S402). Note that the responder apparatus may operate in a preset role, independently of a user operation, for example. For example, if the responder apparatus is an access point, the responder apparatus may always operate as the configurator. Then, the responder apparatus displays an image of the code information such as a QR code indicating information regarding the responder apparatus, such as the public key of the responder apparatus, via the display unit <NUM>, for example (step S403). Note that the responder apparatus may display code information in a format in which the printed image is attached to the body, for example, and in this case, no special processing may be executed in step S403. An image of code information is captured by an initiator communication apparatus (referred to as an "initiator apparatus" hereinafter). The initiator apparatus analyzes the captured image of code information, obtains information regarding the responder apparatus, and then transmits a DPP authentication request packet to the responder apparatus. The responder apparatus then receives this DPP authentication request packet (step S404).

The responder apparatus then checks the role of the responder apparatus (the configurator or the enrollee) in the communication parameter providing processing determined in step S402 (step S405). If it is determined that the responder apparatus is operating as the configurator, the responder apparatus displays a user interface (UI) for checking the settings (step S406). An example of this UI is shown in <FIG>. In one example, as shown in <FIG>, the responder apparatus presents the device name of the initiator apparatus to the initiator apparatus, and enters a state in which a user input regarding whether or not the execution of the communication parameter setting processing with this initiator apparatus is permitted can be accepted. Note that a MAC address of the initiator apparatus, information that has been set in the DPP authentication request packet as additional information and with which the initiator apparatus can be identified, and the like are displayed in a "Device Name" region shown in <FIG>. Three options "OK", "NO", and "Mutual" are presented in the UI shown in <FIG>, and a user selects one of these options. Herein, "OK" is an option indicating that the communication parameter setting processing with the displayed initiator apparatus is permitted, and "NO" is an option indicating that the communication parameter setting processing with the displayed initiator is not permitted. Also, "Mutual" is an option indicating that mutual authentication processing is executed by the responder apparatus capturing an image of code information such as a QR code displayed by the initiator apparatus, and the communication parameter setting processing is executed in a state in which code information is obtained mutually. Note that, if the responder apparatus permits the communication parameter setting processing with the initiator apparatus, the responder apparatus may be designated to execute either "OK" or "Mutual" as the initial setting. In this case, only "OK" is displayed on the UI shown in <FIG>, for example, and if this "OK" is selected as a user input, this user input is interpreted as "OK" or "Mutual" based on the initial setting.

When the user operation is accepted, the responder apparatus determines which option is selected from these options by the user (step S407). If the responder apparatus has determined that "NO" was selected in step S407, the responder apparatus transmits, to the initiator apparatus, an error response as a DPP authentication response packet (step S417), and ends processing. If the responder apparatus has determined that "OK" was selected in step S407, the responder apparatus displays a UI for allowing the user to input information regarding the initiator apparatus, which is the partner apparatus for the communication parameter setting processing, and enters a user input accepting state (step S408). An example of a UI displayed in step S408 is shown in <FIG>. The user inputs information regarding the initiator apparatus in an "Input Field" shown in <FIG>. Information to be input herein may be information that is similar to information that can be obtained in step S411, which will be described later, for example. For example, as a result of the responder apparatus obtaining a file regarding information regarding the initiator apparatus via the Internet or the like in advance and designating this file, the information regarding the initiator apparatus may be input. Also, information to be input may be different from information that can be obtained in step S411, which will be described later. For example, the responder apparatus may accept a manual input made by the user, such as information with which the initiator apparatus can be identified. When the responder apparatus accepts an input made by the user with regard to the information regarding the partner apparatus in step S408 (NO in step S409), the processing then proceeds to step S412.

On the other hand, if the responder apparatus has determined that "Mutual" was selected in step S407, the processing proceeds to step S410 without the processing of step S408 being executed (YES in step S409). In step S410, in order to prompt the initiator apparatus to display code information such as a QR code, the responder apparatus transmits an error response as a DPP authentication response packet. The initiator apparatus displays code information in response to the error response as this DPP authentication response packet. The responder apparatus waits for the initiator apparatus to display code information, and when code information is displayed, the responder apparatus captures an image of this code information (step S411) and obtains information regarding the initiator apparatus. The information obtained here may be information such as a public key of the initiator apparatus, for example. When the responder apparatus obtains information regarding the initiator apparatus, the responder apparatus then transmits a normal response as a DPP authentication response packet (step S412). Then, the responder apparatus executes parameter exchange based on the specification of DPP, and executes processing for connection to the initiator apparatus (steps S413 to S416).

Next, an example of a flow of processing executed by the initiator apparatus will be described with reference to <FIG>. The initiator apparatus first activates an application for executing the communication parameter setting using DPP via a user input, for example (step S501). Then, the initiator apparatus determines, via a user operation, for example, which role of the communication parameter providing apparatus (the configurator) and the communication parameter receiving apparatus (the enrollee) to operate in (step S502). The initiator apparatus then captures an image of code information such as a QR code including the public key displayed on the responder apparatus (step S503), and obtains information regarding the responder apparatus. The initiator apparatus transmits a DPP authentication request packet to the responder apparatus in response to this information being obtained (step S508).

Note that the initiator apparatus may execute processing similar to that of steps S405 to S408 before transmitting a DPP authentication request packet to the responder apparatus. However, for example, if it is thought that the initiator apparatus can select, without error, the partner apparatus on which the communication parameter setting processing is executed, start reading the code information, and reliably identify the responder apparatus, these processes are not necessarily executed.

If the initiator apparatus is operating as the configurator, the initiator apparatus may display the obtained information regarding the partner apparatus using code information (step S505), and accept a user input regarding whether or not the communication parameter setting processing with this partner apparatus is permitted. If code information regarding an undesired partner apparatus has been read, for example, as a result of "NO" being selected in step S506, the communication parameter setting processing may end without transmission of a DPP authentication request packet. Also, if "OK" has been selected in step S506, the initiator apparatus may display the UI shown in <FIG>, for example, and prompt information regarding the partner apparatus to be input (step S507). In one example, the initiator apparatus may accept an input regarding information such as the name of the partner apparatus. The initiator apparatus then transmits a DPP authentication request packet. The initiator apparatus then receives a normal response from the responder apparatus as a DPP authentication response packet (step S511).

Also, if "Mutual" is selected in step S506, the initiator apparatus transmits a DPP authentication request packet without executing the processing in step S507. Then, the initiator apparatus displays code information such as a QR code on the display unit <NUM> in response to the reception of the error response from the partner apparatus as a DPP authentication response packet, for example (step S510). Also, if "Mutual" is selected, the initiator apparatus may display code information when a predetermined time period has elapsed after a DPP authentication request packet is transmitted. The initiator apparatus then receives the normal response as a DPP authentication request packet after the responder apparatus obtains this code information (step S511).

Then, the initiator apparatus executes parameter exchange based on the specification of DPP, and executes processing for connection to the responder apparatus (steps S512 to S515).

As described above, according to the present embodiment, the communication parameter setting utilizing code information such as a QR code enables the user of the responder apparatus to identify the initiator apparatus (the initiator apparatus checks the responder apparatus as needed). Then, after the user permits the initiator apparatus, communication parameters can be provided and received between these communication apparatuses.

Next, an example of a flow of processing executed in a wireless communication system including the initiator apparatus and the responder apparatus described above will be described. As described above, in the wireless communication system according to the present embodiment, the network <NUM> is constructed by the access point <NUM>, and the smartphone <NUM> holds communication parameters with which the smartphone <NUM> can be connected to the access point <NUM>. For example, if the access point <NUM> does not support DPP, the smartphone <NUM> may obtain communication parameters using an existing protocol such as a WPS or an AOSS (AirStation One-Touch Secure System). Also, if the access point <NUM> supports DPP, the smartphone <NUM> may use automatic setting or the like using DPP. Note that, although a case where the access point <NUM> provides the smartphone <NUM> with communication parameters with regard to the wireless communication system shown in <FIG> will be described in the present embodiment, configurations other than such a configuration may also be used. For example, a group owner of Wi-Fi Direct (registered trademark) may operate in a similar manner to the access point <NUM> according to the present embodiment, provide a client with the communication parameters, and this client may provide another client with the communication parameters. Also, the user of the smartphone <NUM> may manually input communication parameters via the input unit <NUM>. It is assumed that, then, the smartphone <NUM> executes, as the configurator of DPP, communication parameter setting processing with the enrollee (the printer <NUM>). At this time, flows of processing in a case where the smartphone <NUM> (the configurator) is an initiator and mutual authentication is not performed, a case where the smartphone <NUM> is a responder and mutual authentication is not performed, and a case where the smartphone <NUM> is a responder and mutual authentication is performed will be described below.

<FIG> shows an example of the flow of processing in the case where the configurator is the initiator and mutual authentication is not performed. In this processing, first, the responder apparatus displays a QR code, and the initiator apparatus captures the QR code displayed on the responder apparatus. The initiator apparatus transmits a DPP authentication request packet to the responder apparatus, triggered by this QR code being captured. When the responder apparatus receives the DPP authentication request packet, the responder apparatus displays a UI screen as shown in <FIG> as needed. Note that there are cases where communication parameter setting processing is permitted independent of the partner apparatus (the initiator apparatus), such as a case where the responder apparatus is an enrollee and a case where it is sufficient to select whether or not the received parameters are to be used later. In such cases, the responder apparatus does not necessarily display the UI screen. Note that as a result of the responder apparatus displaying the UI screen and permitting the communication parameter setting processing only with a specific initiator apparatus, it is possible to prevent the execution of unnecessary communication parameter setting processing. If the UI screen is displayed, the responder apparatus transmits, to the initiator apparatus, a DPP authentication response packet in response to "OK" being pressed by the user on this UI screen. Then, parameter exchange is executed and processing for connection between the responder apparatus and the initiator apparatus is executed based on the specification of DPP.

<FIG> shows an example of the flow of processing in the case where the enrollee is the initiator and mutual authentication is not performed. In this processing, first, the responder apparatus also displays a QR code, and the initiator apparatus also captures the QR code displayed on the responder apparatus. The initiator apparatus transmits a DPP authentication request packet to the responder apparatus, triggered by this QR code being captured. When the responder apparatus receives this DPP authentication request packet, the responder apparatus displays the UI screen as shown in <FIG>. The MAC address of the initiator apparatus and information for identifying the initiator apparatus set as additional information in the DPP authentication request packet are displayed in "Device Name" shown in <FIG>. In a case where the responder apparatus is a communication parameter providing apparatus (the configurator), if the responder apparatus provides communication parameters without identifying the initiator apparatus, a desired communication apparatus may be allowed to join a network. Thus, in this processing example, the responder apparatus functioning as the configurator provides the user with information for identifying the initiator apparatus, which is an enrollee candidate, and accepts a user operation regarding whether or not communication parameter setting processing with this initiator apparatus may be executed. Accordingly, it is possible to execute communication parameter setting processing only with the partner apparatus on which the user has determined that the communication parameter setting processing may be executed. The responder apparatus displays the UI screen as shown in <FIG> in response to "OK" being pressed by the user on the UI screen, and accepts a user input regarding information related to the partner apparatus on which the communication parameter setting processing is executed. The responder apparatus accepts this user input, and then transmits a DPP authentication response packet to the initiator apparatus. Then, parameter exchange is executed and processing for connection between the responder apparatus and the initiator apparatus is executed based on the specification of DPP.

<FIG> shows an example of the flow of processing in the case where mutual authentication is performed. Note that, although the processing example shown in <FIG> shows a processing example in a case where the enrollee is the initiator, even if the configurator is the initiator, similar processing may be executed. In this processing, first, the responder apparatus also displays a QR code, and the initiator apparatus also captures the QR code displayed on the responder apparatus. The initiator apparatus transmits a DPP authentication request packet to the responder apparatus, triggered by this QR code being captured. When the responder apparatus receives this DPP authentication request packet, the responder apparatus displays the UI screen as shown in <FIG>. When "Mutual" is pressed by the user, the responder apparatus transmits an error response as a DPP authentication response packet to the initiator apparatus, and waits for the initiator apparatus to display a QR code. Then, the initiator apparatus displays a QR code, and the responder apparatus captures the QR code displayed on the responder apparatus. When the responder apparatus obtains information regarding the initiator apparatus, the responder apparatus then transmits a normal response as a DPP authentication response packet to the initiator apparatus. Then, parameter exchange is executed and processing for connection between the responder apparatus and the initiator apparatus is executed based on the specification of DPP.

As described above, the responder apparatus of DPP allows the user to check the information regarding the initiator apparatus, and displays the UI screen for allowing a user operation regarding whether the execution of communication parameter setting processing with this initiator apparatus is permitted to be accepted, based on the result of checking. In one example, the responder apparatus displays this UI screen based on reception of a DPP authentication request packet. The responder apparatus continues communication parameter setting processing using DPP based on acceptance of a user operation indicating that communication parameter setting processing with the initiator apparatus is permitted. On the other hand, if the responder apparatus accepts a user operation indicating that communication parameter setting processing with the initiator apparatus is not permitted, the processing ends without continuing communication parameter setting processing using DPP. Accordingly, it is possible to prevent communication parameters from being exchanged between communication apparatuses that are not desired by the user.

Note that the display of the UI screen is not necessarily used. For example, information regarding the initiator apparatus may be presented using sounds, and the above-described "OK" and "NO" selections may be accepted using a key, a physical button, or the like provided in the responder apparatus. That is, an optional information presenting method and operation accepting method that allow the user to check the partner apparatus and determine whether or not communication parameter setting processing can be executed may be used.

Also, although an example in which information for executing communication parameter setting processing is transmitted and received between communication apparatuses utilizing the image of a QR code (registered trademark) was described in the above-described embodiment, the present invention is not limited thereto. For example, wireless communication such as Near Field Communication (NFC) or Bluetooth (registered trademark) may be used, instead of capturing a QR code (registered trademark). Also, wireless communication such as IEEE <NUM>. 11ad or TransferJet (registered trademark) may be used. Note that information that can be read by a user may be used, instead of code information such as a QR code. For example, a configuration may be adopted in which predetermined character strings are displayed, the user inputs these character strings after an application is activated, and thus information that is similar to information obtained by capturing a QR code described above is obtained.

Although a case where communication is performed between communication apparatuses through wireless LAN conforming to IEEE <NUM> standard series was described in the above-described embodiment, the present invention is not limited thereto. For example, UWB (Ultra Wide Band) such as wireless USB, wireless <NUM>, WINET, and a wireless communication technology such as Bluetooth (registered trademark), ZigBee, and NFC may be used.

Claim 1:
A communication apparatus comprising:
obtaining means (<NUM>) for obtaining a public key regarding another apparatus;
displaying means (<NUM>) for displaying a selection screen that allow a user to select whether or not to execute a wireless communication parameter setting;
accepting means (<NUM>) for accepting, via the selection screen, a user operation indicating whether or not to execute the wireless communication parameter setting with the another apparatus;
transmitting means (<NUM>) for, in a case where the user operation indicating that the wireless communication parameter setting is to be executed with the another apparatus has been accepted, transmitting a request regarding authentication processing, that uses the public key regarding the another apparatus, which is to be used for the wireless communication parameter setting, to the another apparatus;
receiving means (<NUM>) for receiving a response regarding the authentication processing from the another apparatus; and
executing means (<NUM>) for executing the wireless communication parameter setting with the another apparatus after receiving the response,
wherein the wireless communication parameter setting is not executed based on a user operation, that is accepted via the selection screen, indicating that the wireless communication parameter setting with the another apparatus is not to be executed.