Patent Publication Number: US-2013243196-A1

Title: Communication system, communication device and processing method therefor

Description:
This is a continuation of U.S. patent application Ser. No. 12/162,835, filed Jul. 31, 2008, and allowed on Feb. 14, 2013, which is a 371 of International Application No. PCT/JP2007/055015, filed Mar. 7, 2007. 
    
    
     TECHNICAL FIELD 
     The present invention relates to a communication system including a master device and a plurality of slave devices, to a communication device, and to a processing method therefor. 
     BACKGROUND ART 
     When using wireless LANs conforming to the IEEE 802.11 standard, users have to set wireless communication parameters, such as network identifiers (ESSID), encryption methods, cryptographic keys (encryption keys), authentication methods, authentication keys, etc. Because of the complexity of these setting operations, methods have been proposed for automatically performing them between terminals. For instance, a method for automatic transfer of wireless parameter settings between an access point (relay station) and a station (terminal) from the access point to the station by means of a simple operation, etc. has been implemented as an actual product. 
     Moreover, in recent years, communication is also more frequently conducted over so-called ad hoc networks, in which terminals communicate with one another directly over a wireless LAN without passing through an access point. The demand for communication between a plurality of terminals on such ad hoc networks is on the increase and methods for automatic setting of parameters on a plurality of terminals are required (see Patent document 1: U.S. Pre-Grant Publication No. 2002/147,819 (Japanese Patent Laid-Open No. 2002-359623)). 
     In conventional automatic parameter setting methods, a master device such as an access point, which operates as a master, has a set made up of a public key and a private key, and slave devices, which function as slaves, generate session keys. The setting of wireless parameters is initiated when the master device transmits a public key to the slave devices. Here, when the slave devices receive the public key, they encrypt session keys using the public key and transmit them to the master device. 
     On the other hand, when the master device receives a session key encrypted using the public key, it uses the private key for decryption. When the decryption is over, wireless parameters are encrypted using the session key and transmitted to the slave device. By doing so, when the slave device receives the wireless parameters encrypted using the session key, it uses the session key for decryption. When the decryption is over, the slave device acquires and sets wireless parameters. Therefore, processing (heavy-load processing) involving decrypting data encrypted with a public key using a private key corresponding to the public key has been performed by the master device. 
     However, when wireless communication parameters are set in a plurality of devices, no other processing can be performed simultaneously when the master device performs such processing, and therefore, master device functionality ends up being occupied by a single slave device. Therefore, other slave devices must wait until the processing by the master device is complete, and the time it takes for all the slave devices to complete wireless parameter setting is prolonged depending on the number of times the master device decrypts the session keys. 
     DISCLOSURE OF INVENTION 
     It is an object of the present invention to carry out communication parameter exchange between a plurality of devices at high speed. 
     According to one mode of the present invention, in order to accomplish the above-mentioned object, there is provided a communication system including a master device and a plurality of slave devices, wherein the master device comprises: a generation unit that generates a session key; a unit that receives public keys from the slave devices, encrypts the session key using the public keys and transmits the encrypted session key to the slave devices; and a data transmission unit that encrypts data using the session key and transmits the encrypted data to the slave devices; and each slave device comprises: a decryption unit that transmits the public key to the master device, receives the session key encrypted using the public key and decrypts it; and a data decryption unit that receives data encrypted using the session key from the master device and decrypts it using the decrypted session key. 
     Moreover, according to one mode of the present invention, there is provided a communication device supplying common data to a plurality of devices, comprising: a generation unit that generates a session key; a reception unit that receives public keys from the devices; a first encryption unit that encrypts the session key using the public keys corresponding to the devices, received by the reception unit; a first transmission unit that transmits to the devices the session key encrypted using the first encryption unit; a second encryption unit that encrypts the common data using the session key; and a second transmission unit that transmits to the devices the common data encrypted using the second encryption unit. 
     Moreover, according to one mode of the present invention, there is provided a processing method for a communication system including a master device and a plurality of slave devices, comprising: a generation step, wherein the master device generates a session key; a public key transmission step, wherein each slave device, which has a set made up of a public key and a private key, transmits the public key to the master device; a public key reception step, wherein the master device receives the public keys from the slave devices; a session key transmission step, wherein the master device encrypts the session key using the public keys of the slave devices and transmits the encrypted session key to the slave devices; a session key reception step, wherein the slave devices receive the encrypted session key from the master device; a session key decryption step, wherein the slave devices decrypt the encrypted session key using the private keys; a data transmission step, wherein the master device encrypts data using the session key and transmits it to the slave devices; a data reception step, wherein the slave devices receive the encrypted data from the master device; and a data decryption step, wherein the slave devices decrypt the encrypted data using the decrypted session keys. 
     Moreover, according to one mode of the present invention, there is provided a processing method for a communication device supplying common data to a plurality of devices, comprising: a generation step of generating a session key; a reception step of receiving public keys from the devices; a first encryption step of encrypting the session key using the public keys corresponding to the devices, received in the reception step; a first transmission step of transmitting to the devices the session key encrypted in the first encryption step; a second encryption step of encrypting the common data using the session key; and a second transmission step of transmitting to the devices the common data encrypted in the second encryption step. 
     Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a diagram illustrating an automatic wireless communication parameter setting sequence in the one-to-one communication mode. 
         FIG. 2  is a diagram illustrating an automatic wireless communication parameter setting sequence in the multiple device communication mode. 
         FIG. 3  is a diagram illustrating an exemplary system configuration used in Embodiment 1. 
         FIG. 4  is a diagram illustrating an automatic wireless communication parameter setting sequence used in the multiple device communication mode in Embodiment 1. 
         FIG. 5  is a flow chart illustrating master processing in Embodiment 1. 
         FIG. 6  is a flow chart illustrating slave processing in Embodiment 1. 
         FIG. 7  is a diagram illustrating an automatic wireless communication parameter setting sequence used in the multiple device communication mode in Embodiment 2. 
         FIG. 8  is a flow chart illustrating master processing in Embodiment 2. 
         FIG. 9  is a diagram illustrating an automatic wireless communication parameter setting sequence used in the multiple device communication mode in a variation of Embodiment 2. 
         FIG. 10  is a flow chart illustrating master processing in a variation of Embodiment 2. 
         FIG. 11  is a diagram illustrating an automatic wireless communication parameter setting sequence used in the multiple device communication mode in Embodiment 3. 
         FIG. 12  is a flow chart illustrating master processing in Embodiment 3. 
         FIG. 13  is a flow chart illustrating slave processing supporting only conventional wireless communication parameter exchange methods. 
     
    
    
     BEST MODE FOR CARRYING OUT THE INVENTION 
     The best mode for carrying out the invention is explained in detail below by referring to the drawings. 
     [One-To-One Communication Mode] 
     First of all, the method of automatic wireless communication parameter setting will be explained with reference to  FIG. 1  for a case, wherein two digital cameras equipped with wireless communication functionality and having a one-to-one communication mode and a multiple device communication mode carry out one-to-one communication. It should be noted that wireless communication parameters are parameters required for wireless communication, and are all of or at least one of network identifiers (ESSID), encryption methods, cryptographic keys (encryption keys), authentication methods, authentication keys, and so on. 
     The wireless devices are pre-set to have the same wireless communication parameters and the network used for communication parameter setting is constructed using these wireless communication parameters. In addition, a master/slave role is assigned to each of the wireless devices, with the master collecting information on the number of slaves, as well as the MAC addresses and automatic parameter setting versions of the slaves. 
       FIG. 1  is a diagram illustrating an automatic wireless communication parameter setting sequence in the one-to-one communication mode. First of all, a device operating as a slave generates a session key (S 101 ). Here, a device operating as a master encloses its own public key in a “Public Key Offer” and transmits it to the slave by unicast (S 102 ). The slave receiving this “Public Key Offer” retrieves the master&#39;s public key and encrypts the session key using the public key. The slave then encloses the encrypted session key in a “Temporal Key Offer” and transmits it by unicast to the master (S 103 ). 
     On the other hand, the master receiving the “Temporal Key Offer” retrieves the session key encrypted using its public key and decrypts it using its private key (S 104 ). Because the process of decryption takes time, the slave has to wait for a while. Subsequently, when the decryption is complete, the master encrypts wireless communication parameters using the session key, encloses them in a “Winfo Offer” and transmits it to the slave (S 105 ). On the other hand, when the slave receives the “Winfo Offer”, it retrieves the wireless communication parameters encrypted using the session key and acquires the wireless communication parameters by decrypting them using the session key. A “Winfo Finish” is then transmitted by unicast to the master (S 106 ). After this the master sets the wireless communication parameters sent to the slave to form a network for data communication. Moreover, the slave also sets the wireless communication parameters received from the master and connects to the network for data communication. 
     [Multiple Device Communication Mode] 
     Next, the method of automatic wireless communication parameter setting will be explained with reference to  FIG. 2  for a case with three wireless devices having a one-to-one communication mode and a multiple device communication mode, in which the above-described method used in the one-to-one communication mode is applied to the multiple device communication mode. It should be noted that the master and slave roles are the same as in the above-described case, in which the one-to-one communication mode was used. 
       FIG. 2  is a diagram illustrating an automatic wireless communication parameter setting sequence in the multiple device communication mode. First of all, a slave (device B) generates a session key  1  (S 201 ) and another slave (device C) generates a session key  2  (S 202 ). Here, the master (device A) encloses its public key in a “Public Key Offer” and transmits it to a slave (device B) by unicast (S 203 ). The slave (device B) that receives the “Public Key Offer” retrieves the public key of the master (device A) and encrypts the session key using the public key. The slave (device B) then encloses the encrypted session key in a “Temporal Key Offer” and transmits it by unicast to the master (device A) (S 204 ). 
     On the other hand, the master (device A) receiving the “Temporal Key Offer” retrieves the session key  1  encrypted using its public key and decrypts it using its private key (S 205 ). Because the process of decryption takes time, the slave (device B) has to wait for a while. Subsequently, when the decryption is complete, the master (device A) encrypts wireless communication parameters using the session key  1 , encloses them in a “Winfo Offer” and transmits them to the slave (device B) (S 206 ). On the other hand, when the slave (device B) receives the “Winfo Offer”, it retrieves the wireless communication parameters encrypted using the session key  1  and acquires the wireless communication parameters by decrypting them using the session key  1 . A “Winfo Finish” is then transmitted by unicast to the master (device A) (S 207 ). 
     Here, when the setting of wireless communication parameters for the slave (device B) is complete, the master (device A) initiates wireless communication parameter with the other slave (device C). The session between the master (device A) and slave (device C) is identical to the session with the other slave (device B), and its explanation is omitted. It should be noted that S 203 -S 207  correspond to S 208  to S 212 . 
     In this manner, when the one-to-one communication mode is applied to the multiple device communication mode, the master is occupied by the decryption processing of session keys encrypted using the public keys and the processing of wireless parameter setting has to be carried out consecutively, on a device-by-device basis. For this reason, the time it takes to process wireless communication parameter setting for all the slaves increases in proportion to the number of slave devices. 
     Thus, in this configuration, the master generates a session key and the slaves transmit the slaves&#39; public keys to the master so as to enable the slaves to carry out the decryption processing of the session key encrypted using the public keys. 
     Embodiment 1 
     Next,  FIG. 3  to  FIG. 6  will be used to explain the system configuration and processing used when the master generates session keys and a plurality of slaves transmit the public keys of the slaves to the master in order to carry out wireless communication parameter setting. In Embodiment 1, explanations are provided regarding a case, in which wireless communication parameter setting is carried out using respective different session keys for a plurality of slaves. 
       FIG. 3  is a diagram illustrating an exemplary system configuration used in Embodiment 1. In  FIG. 3 , numeric  301  is a device A (digital camera), which operates as a master, possesses wireless communication functionality, and has the ability to supply parameters. The device A is comprised of a control unit (CPU)  301   a , a memory  301   b , and a wireless unit  301   c . The control unit  301   a  executes a program stored in the memory  301   b  to perform various operation described later. The memory  301   b  stores the program executed by the control unit  301   a . The wireless unit  301   c  performs the wireless communication according to the control of the control unit  301   a . Numeric  302  is a device B (digital camera), which operates as a slave, possesses wireless communication functionality, and has the ability to accept parameters. The device B is comprised of a control unit (CPU)  302   a , a memory  302   b , and a wireless unit  302   c . The control unit  302   a  executes a program stored in the memory  302   b  to perform various operation described later. The memory  301   b  stores the program executed by the control unit  302   a . The wireless unit  302   c  performs the wireless communication according to the control of the control unit  302   a . Numeric  303  is a device C (digital camera), which operates as a slave and has the same functionality as device B. The device C is comprised of a control unit (CPU)  303   a , a memory  303   b , and a wireless unit  303   c . The control unit  303   a  executes a program stored in the memory  303   b  to perform various operation described later. The memory  303   b  stores the program executed by the control unit  303   a . The wireless unit  303   c  performs the wireless communication according to the control of the control unit  303   a . Let us consider an example, in which the master  301  and slaves  302 ,  303  construct a network for communication parameter setting and wireless parameters used to construct the network for data communication between the above-mentioned three devices are communicated from the master  301  to the slaves  302 ,  303 . Here, the master and slave roles are as described above, and their explanation is omitted. 
       FIG. 4  is a diagram illustrating an automatic wireless communication parameter setting sequence used in the multiple device communication mode in Embodiment 1.  FIG. 5  is a flow chart illustrating master processing in Embodiment 1.  FIG. 6  is a flow chart illustrating slave processing in Embodiment 1. 
     First of all, the master  301  generates session keys according to the number of slaves in the newly created network (S 501 ). Specifically, it generates a session key  1  as a common key shared with slave  302  (S 401 ) and a session key  2  as a common key shared with slave  303  (S 402 ). Upon generation of the session keys according to the number of devices, operation is halted until an arbitrary packet is received (S 502 ). 
     Here, the slave  302  encloses its public key in a “Public Key Offer” packet (S 403 ) and transmits it to the master  301  by unicast (S 601 ). Operation is then halted (S 602 ) until a “Temporal Key Offer” (S 404 ) is received from the master  301 . 
     On the other hand, when the master  301  receives a packet (“YES” in S 502 ), it determines whether the packet is a “Public Key Offer” (S 503 ). Here, in case of a “Public Key Offer” from the slave  302  (“YES” in S 503 ), a public key is retrieved from the packet and the session key  1  is encrypted using the public key (S 504 ). Here, the master  301  encloses the encrypted session key  1  in a “Temporal Key Offer” (S 404 ) and transmits it to the slave  302  by unicast (S 505 ). Operation is then halted until an arbitrary packet is received (S 502 ). 
     Moreover, when the slave  302 , whose operation is halted, receives a “Temporal Key Offer” from the master  301  (“YES” in S 602 ), it retrieves the session key  1  encrypted using its public key and decrypts it using its private key (S 603 ). Then, when the decryption is complete, it transmits a “Temporal Key Finish” (S 409 ) to the master  301  by unicast (S 604 ). 
     The decryption processing by the slave  302 , however, requires several seconds, during which time the slave  303  encloses its public key in a “Public Key Offer” (S 406 ) and transmits it to the master  301  by unicast. 
     On the other hand, when the master  301  receives the “Public Key Offer” (S 406 ), it retrieves the public key and encrypts the session key  2  using the public key (S 504 ). The encrypted session key  2  is then enclosed in a “Temporal Key Offer” (S 407 ) and transmitted to the slave  303  by unicast (S 505 ). As a result, the slave  303  retrieves the session key  2  encrypted using its public key and decrypts it using its private key (S 408 , S 603 ). Then, when the decryption is complete, it transmits a “Temporal Key Finish” (S 412 ) to the master  301  by unicast (S 604 ). 
     In addition, when the master  301  receives the “Temporal Key Finish” from the slave  302  (“YES” in S 506 ), it encrypts wireless communication parameters using the session key  1  (S 507 ). When the encryption is complete, the encrypted wireless communication parameters are enclosed in a “Winfo Offer” (S 410 ) and transmitted to the slave  302  by unicast (S 508 ). 
     As a result, when the slave  302  receives the “Winfo Offer” (“YES” in S 605 ), it retrieves the wireless communication parameters encrypted using the session key  1  and performs decryption using the session key  1  (S 606 ). Then, the slave  302  transmits a “Winfo Finish” (S 411 ) to the master  301  by unicast (S 407 ). On the other hand, when the master  301  receives the “Winfo Finish” from the slave  302  (“YES” in S 509 ), it determines whether it has been received from all the slaves or not. Here, processing goes back to waiting for a packet because it has not been received from all the slaves. 
     In addition, when the master  301  receives the “Temporal Key Finish” from the slave  303  (“YES” in S 506 ), it encrypts wireless communication parameters using the session key  2  (S 507 ). When the encryption is complete, the encrypted wireless communication parameters are enclosed in a “Winfo Offer” (S 413 ) and transmitted to the slave  303  by unicast (S 508 ). 
     As a result, when the slave  303  receives the “Winfo Offer” (“YES” in S 605 ), it retrieves the wireless communication parameters encrypted using the session key  2  and performs decryption using the session key  2  (S 606 ). The slave  303  then transmits a “Winfo Finish” (S 414 ) to the master  301  by unicast (S 407 ). On the other hand, when the master  301  receives the “Winfo Finish” from the slave  303  (“YES” in S 509 ), it determines whether it has been received from all the slaves or not. As a result, processing terminates because it has been received from all the slaves. After receiving a “Winfo Finish” from all the slaves, the master  301  sets the wireless communication parameters sent to the slaves and forms a network for data communication. Moreover, the slaves also set the wireless communication parameters received from the master and connect to the network for data communication. 
     Although the explanations above were provided using an example of a system composed of a master  301  and two slaves  302  and  303 , the present invention is not limited thereto and can be applied to cases with a larger number of slaves. 
     Moreover, because the immediately preceding process terminates sequentially, the timing at which the “Public Key Offer” is transmitted by the slave can be based on a method, in which it is transmitted upon lapse of a fixed time period after the termination of the immediately preceding process and a method, in which it is sent after waiting for a randomly determined period within an appropriate range. 
     Embodiment 2 
     Next, a second embodiment of the present invention will be explained in detail by referring to drawings. In Embodiment 1, explanations were provided regarding a case, in which wireless communication parameter setting is carried out using respective different session keys for a plurality of slaves, and in Embodiment 2 regarding a case, in which it is carried out using the same session key. 
     It should be noted that the system configuration used for setting wireless communication parameters is the same as in Embodiment 1 illustrated in  FIG. 3  and the master/slave roles are also the same. 
       FIG. 7  is a diagram illustrating an automatic wireless communication parameter setting sequence used in the multiple device communication mode in Embodiment 2.  FIG. 8  is a flow chart illustrating master processing in Embodiment 2. It should be noted that slave processing in Embodiment 2 is the same as in Embodiment 1 explained in  FIG. 6 . 
     First of all, the master  301  generates only one session key (S 701 ,  5801 ) and remains in stand-by condition until an arbitrary packet is received (S 802 ). 
     Here, in the same manner as in Embodiment 1, the slave  302  encloses its public key in a “Public Key Offer” packet (S 702 ) and transmits it to the master  301  by unicast. Subsequently, the slave  302  receives a “Temporal Key Offer” from the master  301  (S 703 ) and decrypts the encrypted session key using its private key (S 704 ). When the decryption is complete, it transmits a “Temporal Key Finish” (S 708 ) to the master  301  by unicast. In addition, processing by the slave  303  is identical to Embodiment 1. 
     On the other hand, when the master  301  receives a packet (“YES” in S 802 ), it determines whether the packet is a “Public Key Offer” (S 803 ). Here, in case of a “Public Key Offer” from the slave  302  (“YES” in S 803 ), a public key is retrieved from the packet and a session key is encrypted using the public key (S 804 ). The master  301  encloses the encrypted session key in a “Temporal Key Offer” (S 703 ) and transmits it to the slave  302  by unicast (S 805 ). Operation is then halted until an arbitrary packet is received (S 802 ). 
     Next, when the master  301  receives a “Temporal Key Finish” from the slave (“YES” in S 806 ), it is determined whether it is received for the first time (S 807 ). Here, if it is received for the first time, wireless communication parameters are encrypted using the session key and the encrypted session key is cached in the memory of the master  301  (S 808 ). Subsequently, when the encryption is complete, the encrypted wireless communication parameters are enclosed in a “Winfo Offer” and transmitted to the slave that sent the “Temporal Key Finish” by unicast (S 809 ). In this example, a “Temporal Key Finish” is received from the slave  302  (S 708 ) and a “Winfo Offer” (S 709 ) is transmitted. 
     In addition, if it is not the first reception, the cached encrypted wireless communication parameters are enclosed in a “Winfo Offer” and transmitted to the slave that sent the “Temporal Key Finish”. Here, a “Temporal Key Finish” is received from the slave  303  (S 711 ) and a “Winfo Offer” (S 712 ) is transmitted. 
     It should be noted that processing performed by the slave that receives the “Winfo Offer” from the master  301  is identical to that of Embodiment 1. 
     Processing performed (“YES” in 5810, 5811) subsequently when the master  301  receives a “Winfo Finish” from the slaves (S 710  or  5713 ) is identical to that of Embodiment 1. 
     In this manner, the use of a single session key enables prevention of excessive consumption of memory area by session keys in built-in devices with low-capacity memory units and will make it possible to cope with redundant key lengths in the future. 
     [Variations] 
     Although in Embodiments 1 and 2 the master  301  transmits “Winfo Offers” to the slaves  302  and  303  individually using unicast, they can be transmitted by multicast as well. Doing so makes it possible to save wireless bandwidth. 
     Here, a variation involving transmission of “Winfo Offers” by multicast is explained using  FIG. 9  and  FIG. 10 . 
       FIG. 9  is a diagram illustrating an automatic wireless communication parameter setting sequence used in the multiple device communication mode in a variation of Embodiment 2.  FIG. 10  is a flow chart illustrating master processing in a variation of Embodiment 2. It should be noted that because it is basically identical to Embodiment 2, explanations below focus on its differences from Embodiment 2. 
     During processing by the master  301 , when a “Temporal Key Finish” is received from the slave for the first time (“YES” in S 1007 ), wireless communication parameters are encrypted using the session key (S 1008 ). After that, it is determined whether a “Temporal Key Finish” has been received from all the slaves (S 1009 ). This determination is made, for instance, by providing a counter and counting the number of times it is received from the slaves. Then, if it has been received from all the slaves, a “Winfo Offer” (S 910 ) is transmitted by multicast (S 1010 ). 
     Embodiment 3 
     Next, a third embodiment of the present invention will be explained in detail by referring to drawings. In Embodiment 3, explanations are provided regarding a case, in which the slaves include those which only support conventional wireless communication parameter exchange methods. 
     It should be noted that the system configuration used for setting wireless communication parameters is the same as in Embodiment 1 illustrated in  FIG. 3 . Here, the master  301  detects the number of slaves  302  (e.g., L slaves) capable of using the above-described method of setting wireless communication parameters and the number of slaves  303  (e.g., M slaves) capable of using only conventional methods of exchanging wireless communication parameters. 
       FIG. 11  is a diagram illustrating an automatic wireless communication parameter setting sequence used in the multiple device communication mode in Embodiment 3.  FIG. 12  is a flow chart illustrating master processing in Embodiment 3.  FIG. 13  is a flow chart illustrating slave processing supporting only conventional wireless communication parameter exchange methods. 
     It should be noted that the sequence used between the master  301  and slaves  302 , which are capable of using the above-described method of setting wireless communication parameters, is identical to Embodiment 1. 
     First of all, the master  301  generates L session keys (S 1101 ,  51201 ) and remains in stand-by condition until an arbitrary packet is received (S 1202 ). S 1203  to S 1209  are identical to the processing of the master  301  in S 503  to S 509  of Embodiment 1 and S 1103  to S 1108  of the sequence correspond to S 403  to S 405  and S 409  to S 411  illustrated in  FIG. 4 . 
     When the master  301  receives a “Winfo Finish” (S 1108 ) (“YES” in S 1209 ), it is determined whether it has been received L times (S 1210 ). Here, if the result is YES, wireless communication parameters are exchanged with M slaves  303  using conventional methods (S 1211 ). 
     First of all, the slave  303  generates a single session key (S 1102 ,  51301 ) and receives a “Public Key Offer” (S 1109 ) from the master  301  (S 1302 ). Next, the public key of the master  301  is retrieved from the received packet and the session key is encrypted using the public key (S 1303 ). The encrypted session key is then enclosed in a “Temporal Key Offer” (S 1110 ) and transmitted to the master  301  by unicast (S 1304 ). 
     Next, when the slave  303  receives a “Winfo Offer” (S 1112 ) (“YES” in S 1305 ), it retrieves the wireless communication parameters encrypted using the session key and performs decryption using the session key (S 1306 ). Then, when the decryption is complete, it transmits a “Winfo Finish” (S 1113 ) to the master  301  (S 1307 ). 
     Embodiment 3 makes it possible to set wireless communication parameters for all devices together even if there are devices that do not support the method of setting wireless communication parameters explained in Embodiments 1 and 2. 
     Because in the above-described embodiments heavy-load processing involving the decryption of wireless parameters encrypted using public keys during wireless parameter setting by a plurality of wireless devices is performed by slaves, the master can perform wireless parameter setting with a plurality of slaves in parallel. As a result, the time it takes to complete wireless parameters setting for all the slaves can be shortened. 
     It should be noted that the present invention can be applied to a system composed of a plurality of devices (e.g. a host computer, interface devices, readers, printers, etc.) and to a system made up of a single device (e.g. a copy machine, a fax, etc.). 
     In addition, recordable media used to store the program code of the software implementing the functionality of the embodiments described above are provided to a system or device and the computer of the system or device (CPU or MPU) reads and executes the program code stored on the recordable media. Needless to say, this accomplishes the object of the present invention as well. 
     In such a case, the program code read from the recordable media implements the functionality of the above-described embodiments and therefore the recordable media, on which the program code is stored, form part of the present invention. 
     The recordable media used to supply the program code may include, for example, flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tape, nonvolatile memory cards, ROM, etc. 
     Moreover, needless to say, the implementation of the functionality of the above-described embodiments is based not only on the execution of the program code read by a computer and may also include the following cases. Namely, the functionality of the above-described embodiments is implemented if an OS (operating system) etc. running on a computer partially or entirely carries out actual processing based on the instructions of the program code. 
     Furthermore, needless to say, the invention also includes the following case. The program code read from the recordable media is written to memory provided in expansion boards inserted in the computer or expansion units connected to the computer. Thereafter, a CPU, etc. provided in the expansion boards or expansion units partially or entirely executes actual processing based on the instructions of the program code, and the functionality of the above-described embodiments is implemented based on such processing. 
     The present invention can carry out communication parameter exchange between a plurality of devices at high speed and can shorten the time required for constructing a network. 
     While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions. 
     This application claims the benefit of Japanese Patent Application No. 2006-077400, filed Mar. 20, 2006, which is hereby incorporated by reference herein in its entirety.