An authentication method for a group to which one or more devices, a first controller, and one or more second controllers belong, the one or more devices, the first controller, and the one or more second controllers being connected to a network, the authentication method comprising:
- selecting, using one of the first controller and the one or more second controllers, the first controller as a coordinator, the coordinator being configured to manage a group key to be used in common in the group;
- generating, using the first controller, the group key;
- performing, using the first controller and each of the one or more devices, first mutual authentication between the first controller and the device;
- performing, using the first controller and each of the one or more second controllers, second mutual authentication between the first controller and the second controller;
- sharing, using the first controller, the group key with each device for which the first mutual authentication has been successful among the one or more devices;
- sharing, using the first controller, the group key with each second controller for which the second mutual authentication has been successful among the one or more second controllers;
- encrypting, using the first controller, transmission data by using the group key to generate encrypted data;
- generating, using the first controller, authentication data by using the group key from (i) a header, (ii) a source address corresponding to the first controller, (iii) a destination address corresponding to each device and each second controller, and (iv) the transmission data;
- and
- simultaneously broadcasting, using the first controller, a message including (i) the header, (ii) the source address, (iii) the destination address, (iv) the encrypted data, and (v) the authentication data from the first controller to each device for which the first mutual authentication has been successful and each second controller for which the second mutual authentication has been successful.