WO2016147303A1 - 管理装置、プログラム、システム、機器および方法 - Google Patents
管理装置、プログラム、システム、機器および方法 Download PDFInfo
- Publication number
- WO2016147303A1 WO2016147303A1 PCT/JP2015/057749 JP2015057749W WO2016147303A1 WO 2016147303 A1 WO2016147303 A1 WO 2016147303A1 JP 2015057749 W JP2015057749 W JP 2015057749W WO 2016147303 A1 WO2016147303 A1 WO 2016147303A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- management
- information
- key
- unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/065—Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
Definitions
- Embodiments described herein relate generally to a management apparatus, a program, a system, a device, and a method.
- a key shared and held by some of the multiple devices is called a group key.
- a group key By encrypting data using such a group key, it is possible to transmit data to devices belonging to the group and to conceal the data from devices not belonging to the group.
- a key for distributing a group key to each device, and a key distributed to each device is referred to as a device key.
- a method for managing device keys using management tree information which is data representing a tree structure graph, is known.
- a node key is assigned to each node in the management tree information, and a device is assigned to a leaf node.
- all node keys assigned to the path from the root node to the corresponding leaf node are distributed to each device.
- the device stores all distributed node key pairs as device keys.
- the group key is encrypted with any one or more node keys included in the device key at the time of distribution.
- the management device that manages the management tree information when a new device is connected in the system, the management device that manages the management tree information must distribute the node key and the group key to the new device. In this case, the management apparatus must assign a new device to the management tree information so that information can be efficiently transmitted to a plurality of devices belonging to the same group.
- the problem to be solved by the present invention is to allocate devices to management tree information so that information can be efficiently transmitted to a plurality of devices.
- the management device is a management device that can be connected to a plurality of devices via a network.
- the management device includes a tree storage unit, a similarity calculation unit, an allocation unit, and an allocation transmission unit.
- the tree storage unit stores management tree information in which a node key is assigned to a node and a device is assigned to a leaf node.
- the similarity calculation unit calculates the similarity between the attribute information indicating the attribute of a new device and the attribute information of the device already assigned to the management tree information.
- the allocating unit determines a leaf node to which the new device is allocated in the management tree information based on the similarity.
- the allocation transmitting unit transmits at least one node key allocated to a path from a root node to a corresponding leaf node in the management tree information to the new device.
- the block diagram of the communication system which concerns on embodiment The figure which shows an example of management tree information.
- the figure which shows the example of transmission of the node key determined based on attribute information.
- the sequence diagram of the communication system which concerns on embodiment.
- the flowchart of the allocation process of a management apparatus The flowchart which shows an example of the process in FIG.10 S25.
- the transmission system according to the present embodiment can assign a device to management tree information so that information such as a group key can be efficiently transmitted to a plurality of devices.
- an encryption key for encrypting data is used.
- a symmetric key encryption method such as AES may be used, or an asymmetric key encryption method (public key encryption method) may be used.
- FIG. 1 is a diagram illustrating a configuration of a communication system 10 according to the embodiment.
- the communication system 10 includes a management device 20 and a plurality of devices 30 (30-A to 30-F).
- the management device 20 and the plurality of devices 30 can be connected to each other via a network.
- the network is, for example, a LAN formed in a home. Further, the network may include a public line such as the Internet or VPN (Virtual Private Network).
- VPN Virtual Private Network
- various forms such as a wireless LAN compliant with IEEE 802.11, Ethernet (registered trademark), IEEE 1394, and the like can be applied to the network as a physical layer and a link layer.
- the management device 20 is an information processing device such as a computer.
- the management device 20 executes a predetermined program on the operating system, and is always activated, for example.
- the device 30 is a device having a communication function and an information processing function.
- the device 30 may be an appliance (an air conditioner, a television device, a refrigerator, or the like that can be connected to a network) used at home.
- the device 30 may be a portable information device such as a smartphone, a tablet, or a notebook computer.
- data is transmitted between the management device 20 and the device 30 or between the device 30 and the device 30.
- the transmitted data includes, for example, a control command for controlling the operation of the device 30, a key value used for encryption or authentication by the management device 20 or the device 30, key identifier information, and the management device 20 or the device 30.
- Identification information (such as MAC address or IP address).
- the data to be transmitted may be moving image data, audio data, text data, program code, or the like.
- Such data is encrypted with a group key.
- the group key is a key that is commonly held by the devices 30 belonging to the group.
- the management apparatus 20 sets groups for a plurality of devices 30 connected to the network, for example, according to an instruction from a user or the like, or a preset rule.
- the management device 20 may set a plurality of groups.
- the management apparatus 20 may cause one device 30 to belong to a plurality of groups.
- the management device 20 assigns a unique group key for each group.
- the management device 20 can encrypt data with a group key and transmit it to the network, thereby allowing the device 30 belonging to the group to acquire the data and keeping the data secret from the device 30 not belonging to the group.
- the management device 20 encrypts the group key with the node key assigned to each device 30 and gives it to the device 30.
- the node key is a key shared by the management apparatus 20 and the device 30.
- One device 30 holds at least one set of node keys as a device key.
- the management device 20 manages the node key held by each device 30 using management tree information representing a tree structure (undirected graph having no loop). Note that the management apparatus 20 may encrypt the data with the node key and transmit it to the device 30.
- FIG. 2 is a diagram showing an example of management tree information.
- the management tree information includes a plurality of nodes (indicated by circles in FIG. 2) and a plurality of edges connecting the nodes.
- One node at the apex (top layer) of the tree structure is called a root node.
- Each node arranged at the end (lowest layer) of the tree structure is called a leaf node.
- a unique node number is assigned to each node.
- the numbers in the circles indicate the node numbers.
- Management device 20 assigns a node key to each node.
- the node key is different for each node.
- the management apparatus 20 assigns node keys K1 to K15 to nodes having node numbers 1 to 15.
- the management device 20 assigns each device 30 to any leaf node.
- the management apparatus 20 assigns one device 30 to one leaf node, and does not assign a plurality of devices 30 to one leaf node.
- the management tree information may include an empty leaf node to which no device 30 is assigned.
- the management apparatus 20 assigns the devices 30 having the identification information A, B, C, D, E, and F to the nodes having the node numbers 8, 9, 10, 11, 13, and 15.
- the management apparatus 20 has at least one node key (for example, a root node) assigned to each device 30 in a path from the root node in the management tree information to the corresponding leaf node to which the device 30 is assigned. All node keys assigned to the path from the corresponding leaf node to the corresponding leaf node).
- the device 30 stores at least one node key set transmitted from the management apparatus 20 as a device key. For example, the management apparatus 20 transmits the node keys K1, K2, K4, and K8 to the device 30 having the identification information A assigned to the node number 8. The management device 20 does not need to transmit all the node keys of the path from the root node to the corresponding leaf node as long as it transmits at least the node key assigned to the leaf node.
- management tree information is not limited to a binary tree but may be a triple tree or more. Further, the management tree information may have an incomplete tree structure or various structures.
- FIG. 3 is a diagram showing an example of a group.
- the management device 20 generates a unique group key for each group.
- the management device 20 transmits at least one ciphertext generated by encrypting one group key with at least one node key to each device 30 belonging to the group.
- the management device 20 assigns at least one node key so that all the devices 30 belonging to the group can decrypt any ciphertext and the number of ciphertexts to be transmitted is minimized. select.
- the management apparatus 20 produces
- the devices 30 having the identification information A and B form a group ⁇ .
- the node key K4 is commonly held by the devices 30 having the identification information A and B, but is not held by the other devices 30. Accordingly, the management device 20 encrypts the group key GK ⁇ of the group ⁇ with the node key K4. As a result, the management device 20 can efficiently transmit the group key GK ⁇ to the two devices 30 forming the group ⁇ .
- the devices 30 having the identification information A, B, C, and D form a group ⁇ .
- the node key K2 is commonly held by the devices 30 having the identification information A, B, C, and D, but is not held by the other devices 30. Therefore, the management device 20 encrypts the group key GK ⁇ of the group ⁇ with the node key K2. Thereby, the management apparatus 20 can transmit the group key GK ⁇ efficiently to the four devices 30 forming the group ⁇ .
- the devices 30 having the identification information E and F form a group ⁇ .
- the node key K3 is commonly held by the devices 30 having the identification information E and F, but is not held by the other devices 30. Therefore, the management apparatus 20 encrypts the group key GK ⁇ of the group ⁇ with the node key K3. Thereby, the management apparatus 20 can efficiently transmit the group key GK ⁇ to the two devices 30 forming the group ⁇ .
- FIG. 4 is a diagram illustrating the attribute information transmitted from the device 30 to the management device 20 and the node key determined based on the attribute information transmitted from the management device 20 to the device 30.
- FIG. 5 is a diagram illustrating another example of transmission of attribute information and a node key determined based on the attribute information.
- the device 30 transmits attribute information representing the attribute of the device 30 to the management device 20.
- the attribute information includes at least one element information.
- the attribute information includes, for example, identification information, vendor name, type, average power consumption, or most frequent command name as element information. Details of the attribute information will be described later with reference to FIG.
- the management apparatus 20 determines one or more node keys to be assigned to each device 30 based on such attribute information, and transmits the node key to the device 30. In addition, as shown in FIG. 5, when the assignment of the node key to the other device 30-2 changes due to the assignment of the node key to the device 30-1, the management apparatus 20 changes the device 30-2. Send the changed node key to.
- the management device 20 receives the attribute information of the first device 30, and the route of the management tree information configured based on the attribute information of the first device 30 and the attribute information of one or more second devices 30 At least one node key assigned to the path from the node to the leaf node is transmitted.
- the management device 20 receives the first attribute information that is the attribute information of the first device 30, and assigns it to the second leaf node closest to the first leaf node. At least one node key assigned to the path from the root node of information to the second leaf node is transmitted.
- the first leaf node is a node to which the second device 30 is assigned.
- the second device 30 is a device 30 in which the second attribute information that is the attribute information of the second device 30 matches the first attribute information.
- the management apparatus 20 may further transmit at least one node key assigned to the path from the root node of the management tree information to the first leaf node.
- the management device 20 receives attribute information of at least one device 30 of the plurality of devices 30, and transmits at least one node key assigned to the path from the root node of the management tree information to each leaf node. Also good.
- the management tree information is obtained by assigning the device 30 having the same attribute information received among the plurality of devices 30 to the first leaf node, and receiving the attribute among the plurality of devices 30. The device 30 whose information does not match is assigned to the second leaf node.
- the management device 20 determines an allocation position (a leaf node position) based on the attribute information of the new device 30. More specifically, the management device 20 determines the allocation position of the new device 30 so that the devices 30 with similar attribute information are close to each other and the devices 30 with dissimilar attribute information are close to each other. As a result, the management apparatus 20 can efficiently transmit information such as a group key with a small amount of information (number of ciphertexts) to a plurality of devices 30 belonging to the same group.
- FIG. 6 is a diagram illustrating the configuration of the management apparatus 20.
- the management device 20 includes a tree storage unit 41, a group storage unit 42, an attribute storage unit 43, a device discovery unit 44, a device authentication unit 45, an attribute acquisition unit 46, a similarity calculation unit 47, and an allocation unit. 48, an allocation transmission unit 49, a group key transmission unit 50, a generation unit 51, an expansion unit 52, a reconfiguration unit 53, an encryption unit 54, and a first communication unit 55.
- the tree storage unit 41 stores management tree information in which a node key is assigned to a node and a device 30 is assigned to a leaf node.
- the group storage unit 42 stores group identification information, a group key, and a list of devices 30 belonging to each group.
- the attribute storage unit 43 stores attribute information for each device 30.
- the device discovery unit 44 discovers the device 30 existing on the network.
- the device authentication unit 45 performs an authentication process with the device 30 and confirms whether the communication partner device 30 has a legitimate authority.
- the attribute acquisition unit 46 acquires attribute information from the authenticated device 30. For example, when a new device 30 is connected to the network, the attribute acquisition unit 46 acquires attribute information from the new device 30. Further, the attribute acquisition unit 46 may periodically acquire element information that changes with time from the respective devices 30 among the attribute information. The attribute acquisition unit 46 stores the acquired attribute information in the attribute storage unit 43.
- the similarity calculation unit 47 calculates the similarity of the attribute information of the two devices 30. For example, when a new device 30 is connected to the network and the new device 30 is assigned to the management tree information, the similarity calculation unit 47 has already been assigned to the attribute information of the new device 30 and the management tree information. The degree of similarity with the attribute information of each device 30 is calculated.
- the allocation unit 48 allocates a new device 30 to the management tree information stored in the tree storage unit 41.
- the assigning unit 48 assigns a new device 30 (position of a leaf node) based on the similarity between the attribute information of the new device 30 and the attribute information of the existing device 30 already assigned to the management tree information. ). More specifically, the allocating unit 48 determines the position of the leaf node to which the new device 30 is allocated so that the devices 30 with high similarity are arranged in a close range. For example, the assigning unit 48 uses a predetermined number of edges from the leaf node to which the device 30 having a higher similarity with the attribute information of the new device 30 than the reference (for example, the device 30 with the highest similarity) is assigned. A new device 30 is assigned to the reachable empty leaf node.
- the assignment transmission unit 49 When a new device 30 is assigned to the management tree information, the assignment transmission unit 49 encrypts at least one node key with a key shared by the authentication process and transmits the encrypted key to the new device 30. More specifically, the assignment transmission unit 49 transmits at least one node key assigned to the path from the root node in the management tree information to the leaf node corresponding to the new device 30 to the new device 30. . The new device 30 stores the received set of at least one node key as a device key. Further, the assignment transmission unit 49 may encrypt and send the assignment position and node key identification information in the management tree information to the new device 30.
- the group key transmission unit 50 generates a group key when a new group is formed.
- the group key transmission unit 50 transmits the group key to all the devices 30 belonging to the formed new group.
- all the devices 30 belonging to the group have at least one of them, the device 30 not belonging to the group does not have, and the number of ciphertexts is One or more node keys are selected so as to be the least.
- the group key transmission unit 50 encrypts the group key with the selected one or more node keys and transmits one or more ciphertexts.
- the group key transmission unit 50 transmits a corresponding group key to the new device 30.
- the group key transmission unit 50 encrypts the corresponding group key with a node key that is owned by the new device 30 and not owned by the device 30 that does not belong to the group.
- the generation unit 51 generates new management tree information and stores it in the tree storage unit 41. For example, when the new device 30 is first connected to the network and the management information to be allocated does not exist in the tree storage unit 41, the generation unit 51 generates new management tree information and stores it in the tree storage unit 41. .
- the extension unit 52 extends the management tree information stored in the tree storage unit 41 when the number of empty leaf nodes in the management tree information is smaller than a predetermined number. For example, the extension unit 52 extends the management tree information when a new device 30 is connected to the network and there is no empty leaf node in the management tree information stored in the tree storage unit 41. Note that extending the management tree information means adding new nodes and edges so that the number of leaf nodes included in the management tree information increases.
- the reconfiguration unit 53 reconfigures the management tree information stored in the tree storage unit 41. For example, the reconfiguration unit 53 changes the allocation position of the device 30 to the leaf node in the management tree information so that the devices 30 with high similarity are concentrated in a close range. More specifically, for example, the reconfiguration unit 53 determines the allocation positions of the devices 30 in the management tree information to the leaf nodes, and the devices 30 whose attribute information similarity is equal to or greater than a predetermined value are determined in advance. Change to be within the reachable range by the number of edges. For example, the reconfiguration unit 53 performs reconfiguration when a periodic or predetermined event occurs.
- the encryption unit 54 encrypts target data using a group key or a node key when transmitting data from the management apparatus 20 to any device 30.
- the encryption unit 54 encrypts the target data with the group key when transmitting data collectively to the devices 30 belonging to the designated group.
- the encryption unit 54 when transmitting data to any one or more designated devices 30, is a node that is owned by the designated device 30 and not owned by another device 30. Select the key and encrypt the target data.
- the first communication unit 55 communicates with the device 30 via the network.
- the first communication unit 55 executes layer processing such as a physical layer and a data link layer for communicating with the device 30.
- FIG. 7 is a diagram illustrating a configuration of the device 30.
- the device 30 includes an information storage unit 61, a fixed attribute storage unit 62, an attribute measurement unit 63, a management device discovery unit 64, a request unit 65, a management device authentication unit 66, an attribute transmission unit 67, and an allocation reception.
- the information storage unit 61 stores a device key that is a set of at least one node key assigned to the device 30. Furthermore, the information storage unit 61 may store the identification position of each node key and the allocation position in the management tree information. Further, the information storage unit 61 stores a group key of the group to which the device 30 belongs and group identification information.
- the fixed attribute storage unit 62 stores element information that does not change with time from among the element information included in the attribute information.
- the attribute measuring unit 63 measures element information that changes with time from among the element information included in the attribute information.
- the attribute measuring unit 63 may measure periodically or when a predetermined event occurs.
- the management device discovery unit 64 discovers the management device 20 existing on the network.
- the request unit 65 requests the management device 20 to assign to the management tree information and issue at least one node key set. For example, when the device 30 is newly connected to the network, the request unit 65 requests the issuance of at least one node key set.
- the management device authentication unit 66 performs authentication processing with the management device 20 and confirms whether or not the management device 20 of the communication partner has a valid authority.
- the attribute transmission unit 67 transmits the attribute information to the management device 20.
- the attribute transmitting unit 67 transmits the attribute information to the management apparatus 20 at the time of requesting assignment to the management tree information and issuing at least one node key set.
- the attribute transmission part 67 may transmit the element information which changes in time among the element information contained in attribute information to the management apparatus 20 when a predetermined event generate
- the assignment receiving unit 68 receives at least one node key transmitted from the management device 20.
- the assignment receiving unit 68 causes the information storage unit 61 to store the received pair of at least one node key as a device key. Further, the assignment receiving unit 68 receives the assignment position in the management tree information of the device 30 and the identification information of each node key.
- the allocation receiving unit 68 stores the received information in the information storage unit 61.
- the node key, the allocation position, and the node key identification information are encrypted with the key shared by the authentication process with the management apparatus 20.
- the allocation receiving unit 68 decrypts the node key, the allocation position, and the identification information of the node key using the shared key.
- the group key receiving unit 69 receives the encrypted group key from the management apparatus 20.
- the group key is encrypted with any node key of at least one set of node keys included in the device key held by the device 30. Therefore, the group key receiving unit 69 selects any one of the node key pairs included in the device key stored in the information storage unit 61, and uses the selected node key, Decrypt the group key.
- the group key receiving unit 69 stores the decrypted group key in the information storage unit 61.
- the decryption unit 70 decrypts the data transmitted from the management device 20 using any node key included in the group key or the device key.
- the 2nd communication part 71 communicates with the management apparatus 20 and the other apparatus 30 via a network.
- the second communication unit 71 executes layer processing such as a physical layer and a data link layer for communicating with the management device 20 or another device 30.
- FIG. 8 is a diagram showing elements included in the attribute information.
- the attribute information includes element information that does not change with time (fixed element information) and element information that changes with time (element information that changes with time).
- the attribute information may include any one of fixed element information and time-dependent element information.
- Fixed element information is, for example, identification information, vendor name, type, memory amount, maximum power consumption, and the like.
- the identification information is information for uniquely identifying the device 30 on the network, and is, for example, a MAC address, an IP address, or a manufacturing number of the device 30.
- the vendor name is the name of the manufacturer or sales company of the device 30.
- the type is a name representing the product function of the device 30. Specifically, the type describes, for example, an air conditioner, a television device, a refrigerator, and the like.
- the memory amount is a capacity value of a memory included in the device 30.
- the amount of memory is not limited to the capacity value, and may be information such as whether the capacity value is larger than a predetermined threshold.
- the maximum power consumption is the maximum value of power consumed by the device 30.
- the element information of the change over time includes, for example, average power consumption, mode command name, command frequency, and the like.
- the average power consumption is an average value of the power consumed by the device 30 in a certain period (for example, from the start of operation to the current time).
- the most frequent command name is the name of the most frequent control command executed by the device 30 during a certain period (for example, from the start of operation to the present time).
- the command frequency is the frequency at which the device 30 executes the control command in a certain period (for example, from the start of operation to the current time).
- the element information included in the attribute information includes, for example, model name, device cache amount, CPU (Central Processing Unit) name, rated power consumption, communication method, network topology, management device 20 to device information.
- the combination of element information included in the attribute information may be any combination.
- FIG. 9 is a sequence diagram of the communication system 10 according to the embodiment.
- the communication system 10 when a new device 30 is connected to the network, processing is executed according to the sequence shown in FIG.
- step S11 the management device 20 and the device 30 discover each other's devices via the network. Subsequently, in step S12, the device 30 requests the management apparatus 20 to assign to the management tree information and issue at least one node key set (device key).
- step S13 the management device 20 and the device 30 perform an authentication process with each other to confirm whether the communication partner has a valid authority.
- the management apparatus 20 may execute an authentication process for determining whether to connect to the device 30 in step S13 in combination with the process in step S11 or step S12.
- the management device 20 and the device 30 authenticate using a method such as ISO / IEC 9798-1 or ISO / IEC 9798-3, for example. Further, the management device 20 and the device 30 may be authenticated by a method using a public key certificate. Further, the management device 20 and the device 30 may generate a key used for authentication based on a previously shared password, or use a secret key embedded in the device 30 at the time of factory shipment or the like as a key used for authentication. May be.
- the device 30 transmits attribute information.
- the device 30 transmits element information that does not change with time.
- the device 30 may also transmit the element information that changes with time.
- the device 30 may transmit the attribute information any time before the next allocation process (S15). For example, when using UPnP SSDP for the discovery process (S11), the device 30 may transmit the attribute information included in one entry of the device description. In addition, when using HTTP for the protocol of the request processing (S12), the device 30 may define a dedicated field as one entity of the HTTP request header and transmit attribute information, or send an HTTP GET request. You may include the storage location of attribute information in URL.
- step S15 the management device 20 executes an allocation process for allocating the device 30 to any leaf node in the management tree information.
- the allocation process will be described later with reference to FIG.
- the management device 20 transmits the allocation information obtained by the allocation process in step S15 to the device 30.
- the assignment information includes at least one node key set (device key) assigned to the corresponding device 30.
- the allocation information may include an allocation position in the management tree information and identification information of each node key.
- the management apparatus 20 encrypts the allocation information with the key shared by the authentication process and transmits it to the device 30.
- step S17 the management apparatus 20 acquires a group key of the group to which the corresponding device 30 belongs, and any one or more nodes among the at least one node key transmitted to the device 30 in step S16. Encrypt with key.
- the management apparatus 20 encrypts the group key with a node key that is not owned by the device 30 other than the group.
- step S18 the encrypted group key is transmitted to the device 30.
- step S ⁇ b> 19 the device 30 receives the encrypted group key from the management apparatus 20 and selects one of at least one node key pair (device key) that it holds. And decrypting with the selected node key. Through the above processing, the device 30 can obtain at least one node key set (device key) and group key from the management apparatus 20.
- FIG. 10 is a flowchart of the allocation process of the management apparatus 20.
- the management device 20 executes the process shown in FIG. 10 in the allocation process (S15).
- step S21 the generation unit 51 of the management device 20 determines whether or not management tree information exists in the tree storage unit 41.
- the generation unit 51 generates new management tree information and stores it in the tree storage unit 41.
- the generation unit 51 generates i-stage management tree information having a predetermined hierarchy (i is an integer of 2 or more).
- the hierarchy of management tree information represents the number of edges of the route from the root node to the leaf node.
- step S23 the allocation unit 48 of the management apparatus 20 allocates a new device 30 to any leaf node in the new management tree information.
- step S23 ends, the management device 20 ends the allocation process.
- step S24 the similarity calculation unit 47 of the management device 20 adds the attribute information of the new device 30 and each of the already assigned to the management tree information. The degree of similarity with the attribute information of the device 30 is calculated.
- the similarity calculation unit 47 compares, for example, whether corresponding element information is the same or a difference between values is within a certain range. For example, the similarity calculation unit 47 determines whether the vendor name is the same, the type is the same, the difference in memory amount is within a certain range, the difference in maximum power consumption is within a certain range, an average It is compared whether the difference in power consumption is within a certain range, whether the most frequent command name is the same, whether the difference in command frequency is within a certain range, and the like.
- the similarity calculation unit 47 combines the comparison results for each of the plurality of element information to calculate the similarity. For example, the similarity calculation unit 47 has one point when the element information is the same or the value difference is within a certain range, and 0 when the element information is not the same or the value difference exceeds the certain range. A score is obtained, and a value obtained by summing the scores of a plurality of element information is defined as a similarity.
- the similarity calculation unit 47 may extract and compare specific one or more predetermined element information, instead of comparing all the element information in the attribute information. For example, the similarity calculation unit 47 may compare the type and average power consumption, and may calculate the similarity by combining these comparison results.
- the similarity calculation unit 47 may combine the comparison results with different weights depending on the element information.
- the similarity calculation unit 47 may be, for example, 5 points if the types match, 2 points if the vendor names match, and 4 points if the difference in average power consumption values is within a certain range. You may change the weight. Note that the similarity calculation unit 47 may calculate the similarity by another calculation method instead of the above calculation method.
- the assigning unit 48 assigns a new device 30 to any leaf node in the management tree information based on the calculated similarity.
- the assigning unit 48 assigns a new device 30 to any empty leaf node so that similar devices 30 are concentrated and arranged nearby.
- the assigning unit 48 assigns the new device 30 to the empty leaf node that can be reached within a certain number of edges from the device 30 having the highest similarity to the attribute information of the new device 30.
- the allocating unit 48 expands the management tree information to the expansion unit 52 and then adds a new device. 30 may be assigned.
- step S25 is complete
- FIG. 11 is a flowchart showing an example of processing in step S25 of FIG.
- the allocating unit 48 may execute, for example, the process shown in FIG. 11 in step S25 of FIG.
- step S31 the assigning unit 48 detects a leaf node to which the device 30 having the highest similarity with the attribute information of the new device 30 among the devices 30 already assigned to the management tree information is assigned.
- step S32 the assigning unit 48 determines whether there is an empty leaf node within n parents or the like from the leaf node to which the device 30 having the highest similarity is assigned.
- a leaf node within n parents or the like refers to another leaf node that can be reached by the number of edges n times or less from a leaf node to which a certain device 30 is assigned.
- the closeness between the leaf node 8 and the leaf node 9 is two.
- the closeness between leaf node 8 and leaf node 12 is six.
- step S33 the assignment unit 48 determines an empty leaf within the n-degrees of equality.
- a new device 30 is assigned to the node. That is, the assigning unit 48 assigns a new device 30 from a leaf node to which the device 30 having the highest similarity is assigned to an empty leaf node that can be reached with a predetermined number of edges. Thereby, the assigning unit 48 can assign a new device 30 to a position close to the existing device 30 having the most similar attribute information in the management tree information.
- the assigning unit 48 may detect a leaf node to which the device 30 having the highest similarity and whose similarity is equal to or higher than the reference value is assigned. In this case, if there is no device 30 with a similarity equal to or higher than the reference value, the assignment unit 48 may assign a new device 30 to an empty leaf node that is farther away from the n-parent or the like. Thereby, the assigning unit 48 can assign a new device 30 to a position far from the existing device 30 in which the attribute information is not similar in the management tree information.
- the assigning unit 48 specifies that the management tree information is empty in step S34. It is determined whether or not a leaf node exists. If there is no empty leaf node in the management tree information (No in S34), the allocating unit 48 advances the process to Step S35. If there is an empty leaf node in the management tree information (Yes in S34), the allocating unit 48 performs the processing. Proceed to step S36.
- step S35 the extension unit 52 extends the tree structure of the management tree information. Thereby, the extension unit 52 can create an empty leaf node in the management tree information. Then, after extending the management tree information, the extension unit 52 returns the process to step S32 and repeats the process. Note that the extension unit 52 may advance the process to step S36 after extending the management tree information.
- the management tree information expansion process will be described later with reference to FIGS.
- step S36 the assigning unit 48 assigns a new device 30 to any empty leaf node. And the management apparatus 20 returns a process to the flow of FIG. 10, after complete
- step S34 the assigning unit 48 determines whether or not there are more than a predetermined number of empty leaf nodes in the management tree information, instead of whether or not there are empty leaf nodes in the management tree information. You may judge. In this case, the assignment unit 48 advances the process to step S35 if there are not more than a predetermined number of empty leaf nodes, and advances the process to step S36 if there are.
- FIG. 12 is a diagram illustrating a first allocation example of the device 30 to the management tree information.
- the management tree information has a two-level complete binary tree structure as shown in FIG. 12, and the first device 30-A is assigned to the leaf node with the node number 4, and the leaf node with the node number 6 Is assigned the second device 30 -B, and the third device 30 -C is assigned to the leaf node of the node number 7.
- the first device 30-A has a set (device key) of three node keys K1, K2, and K4.
- the second device 30-B has a set (device key) of three node keys K1, K3, and K6.
- the third device 30-C has a set (device key) of three node keys K1, K3, and K7.
- the management device 20 when causing the first device 30-A and the second device 30-B to execute the control command CMD, the management device 20 generates and transmits two ciphertexts represented by the following expressions: To do. Thereby, the first device 30-A and the second device 30-B can hold the group key GK.
- E (K, M) represents a ciphertext obtained by encrypting the data M using the key K.
- C1 E (K4, GK)
- C2 E (K6, GK)
- the management device 20 encrypts the control command CMD using the group key GK as represented by the following equation, and multicasts the ciphertext.
- C3 E (GK, CMD)
- the first device 30-A and the second device 30-B decrypt the received ciphertext using the group key GK. Thereby, the first device 30-A and the second device 30-B can execute the control command CMD.
- the management device 20 transmits three ciphertexts to the first device 30-A and the second device 30-B.
- the control command CMD can be executed.
- the management apparatus 20 can cause the first device 30-A and the second device 30-B to execute the control command CMD without transmitting the group key GK.
- the management device 20 generates and transmits a ciphertext represented by the following expression.
- the management apparatus 20 can cause the first device 30-A and the second device 30-B to execute the control command CMD by transmitting two ciphertexts. .
- C1 ' E (K4, CMD)
- C2 ' E (K6, CMD)
- FIG. 13 is a diagram illustrating a second example of assigning the device 30 to the management tree information.
- the management tree information shown in FIG. 13 is different from FIG. 12 in that the second device 30-B is assigned to the node having the node number 5.
- the second device 30-B has a set (device key) of three node keys K1, K2, and K5.
- the management device 20 in order to cause the first device 30-A and the second device 30-B to execute the control command CMD, the management device 20 first generates a ciphertext represented by the following equation: , Send multicast. Thereby, the first device 30-A and the second device 30-B can hold the group key GK.
- C1 ′′ E (K2, GK)
- the management device 20 encrypts the control command CMD using the group key GK as represented by the following equation, and multicasts the ciphertext.
- C3 E (GK, CMD)
- the first device 30-A and the second device 30-B decrypt the received ciphertext using the group key GK. Thereby, the first device 30-A and the second device 30-B can execute the control command CMD.
- the management apparatus 20 transmits the two ciphertexts, thereby the first device 30-A and the second device 30-B. Can execute the control command CMD.
- the management apparatus 20 can cause the first device 30-A and the second device 30-B to execute the control command CMD without transmitting the group key GK.
- the management apparatus 20 generates a ciphertext represented by the following formula and transmits it by multicast.
- the management apparatus 20 causes the first device 30-A and the second device 30-B to execute the control command CMD by transmitting one ciphertext. be able to.
- C1 ′′ ′′ E (K2, CMD)
- the management tree information in FIG. 13 is more than the management tree information in FIG. The amount of data transmission can be reduced, and efficiency is high.
- the management tree information of FIG. 12 is compared with the management tree information of FIG.
- the distance between the leaf node to which the first device 30-A is assigned and the leaf node to which the second device 30-B is assigned is the distance of the fourth parent.
- the distance between the leaf node to which the first device 30-A is assigned and the leaf node to which the second device 30-B is assigned It has become. That is, in the management tree information in FIG. 13, the first device 30-A and the second device 30-B are allocated in a range closer to the management tree information in FIG. Therefore, the management tree information indicates that the amount of information to be transmitted (the number of ciphertexts) when the devices 30 belonging to one group are assigned to a close leaf node is more than that assigned to a distant leaf node. ) Can be reduced.
- the management device 20 is highly likely to simultaneously transmit the same data to a plurality of devices 30 with high similarity of attribute information. For example, when the power consumption of the entire communication system 10 is suppressed, the management device 20 is highly likely to simultaneously transmit a control command or the like for reducing the power consumption to a plurality of air conditioners. Accordingly, the management device 20 can reduce the amount of information to be transmitted (the number of ciphertexts) by assigning a plurality of devices 30 having high similarity in attribute information to leaf nodes within a predetermined range in the management tree information. .
- the management device 20 allocates devices 30 having high similarity in attribute information to close positions in the management tree information. Therefore, according to the management apparatus 20, data can be efficiently transmitted to a plurality of devices 30 with a small amount of information.
- Extension unit 52 allocates a new device 30 to management tree information, and the number of empty leaf nodes in the management tree information is smaller than a predetermined number (for example, there is no empty leaf node). ), Extend the management tree information.
- the extension unit 52 extends the management tree information when there is no empty leaf node within n parents or the like from the leaf node of the device 30 having the attribute information having the highest similarity to the new device 30 in the management tree information. May be. Further, the extension unit 52 may extend the management tree information when a regular or predetermined event occurs and the number of empty leaf nodes in the management tree information is smaller than a predetermined number. . For example, the expansion unit 52 may expand the management tree information every time the number of devices 30 connected to the network exceeds a predetermined number.
- FIG. 14 is a diagram showing a first example of management tree information before expansion.
- the management tree information has a one-layer complete binary tree structure, and the first device 30-A is assigned to the leaf node with the node number 4, and the leaf node with the node number 5 Is assigned the second device 30-B.
- the first device 30-A has a set (device key) of two node keys K2, K4.
- the second device 30-B has a set (device key) of two node keys K2 and K5.
- the allocation unit 48 cannot allocate the new device 30 to the management tree information. Therefore, the extension unit 52 adds a node to an upper layer of the existing root node of the management tree information, for example.
- FIG. 15 is a diagram showing an example in which a new node is added to the upper layer of the root node in the management tree information of FIG.
- the extension unit 52 adds a new root node with the node number 1 to the upper layer of the node number 2 that is the original root node. Further, the extension unit 52 adds a partial tree of a complete binary tree of one layer to the lower layer of the root node having the node number 1. As a result, the extension unit 52 can newly form two empty leaf nodes in the management tree information so that a new device 30 can be allocated.
- the assignment transmitting unit 49 transmits the new node key assigned to the expanded node in the management tree information to the device 30 that has been assigned to the management tree information.
- the assignment transmitting unit 49 encrypts the new node key assigned to the expanded node with the node key assigned to the existing node and held only by the device 30 to be transmitted. And send it.
- the assignment transmitting unit 49 uses the node key K1 assigned to the node with the expanded node number 1 as the node key K2 assigned to the existing node with the node number 2, as shown in the following equation. And multicast transmission to the first device 30-A and the second device 30-B.
- C4 E (K2, K1)
- the existing first device 30-A and second device 30-B assigned to the management tree information before the expansion are transferred from the root node to the corresponding leaf node in the management tree information after the expansion.
- the first device 30-A has a set (device key) of three node keys K1, K2, and K4
- the second device 30-B has three node keys K1, A set (device key) of K2 and K5 can be held.
- the assignment transmission unit 49 already holds the new node key assigned to the expanded node in the management tree information in the existing device 30 by extending the management tree information to the upper layer of the root node.
- the encrypted node key can be used for transmission.
- the assignment transmission unit 49 only needs to encrypt a new node key with one node key assigned to the original root node, so that the amount of information to be transmitted can be reduced.
- FIG. 16 is a diagram showing a second example of management tree information before expansion.
- the management tree information has a one-level complete binary tree structure, and the first device 30-A is assigned to the leaf node of node number 2, and the leaf node of node number 3 Is assigned the second device 30-B.
- the first device 30-A has a set (device key) of two node keys K1 and K2.
- the second device 30-B has a set (device key) of two node keys K1 and K3.
- the allocation unit 48 cannot allocate the new device 30 to the management tree information. Therefore, for example, the extension unit 52 may add a node to a lower layer of the existing leaf node of the management tree information. In this case, the extension unit 52 reassigns the device 30 assigned to the existing leaf node in which the node is added to the lower layer, to the new leaf node. For example, the extension unit 52 may add a node to an intermediate layer between the existing leaf node and the root node of the management tree information.
- FIG. 17 is a diagram showing an example in which a new node is added to the lower layer of the leaf node in the management tree information of FIG.
- the extension unit 52 adds two new leaf nodes with the node number 4 and the node number 5 to the lower layer of the node number 2 that is the original leaf node. Further, the extension unit 52 adds two new leaf nodes with the node number 6 and the node number 7 to the lower layer of the node number 3.
- the extension unit 52 reassigns the first device 30-A assigned to the original leaf node, node number 2, to the new leaf node of node number 4. Further, the extension unit 52 reassigns the second device 30-B assigned to the node number 3 which is the original leaf node, to the new leaf node of the node number 5. As a result, the extension unit 52 can newly form two empty leaf nodes in the management tree information so that a new device 30 can be allocated.
- the extension unit 52 reassigns new node keys K2 ′ and K3 ′ to the nodes of node numbers 2 and 3 that are the original leaf nodes.
- the assignment transmission unit 49 encrypts the node key to be newly held with the node key that has been assigned to the existing node and that is held only by the device 30 to be transmitted, and manages it.
- the information is transmitted to the device 30 assigned to the tree information.
- the assignment transmitting unit 49 encrypts the new node keys K2 ′ and K4 with the node key K2 assigned to the node with the existing node number 2, as shown in the following equation, 1 to the device 30-A.
- the node key K2 is held only by the first device 30-A to be transmitted, and not the second device 30-B.
- the first device 30-A can hold a set (device key) of three node keys K1, K2 ′, and K4.
- C5 E (K2, K2 ')
- C6 E (K2, K4)
- the assignment transmission unit 49 encrypts the new node keys K2 ′ and K5 with the node key K3 assigned to the node with the existing node number 3 as shown in the following equation.
- the node key K3 is held only by the second device 30-B to be transmitted, not the first device 30-A. Accordingly, the second device 30-B can hold a set (device key) of three node keys K1, K2 ′, and K5.
- C7 E (K3, K2 ')
- C8 E (K3, K5)
- the assignment transmission unit 49 already holds the new node key assigned to the expanded node in the management tree information in the existing device 30 by extending the management tree information to the lower layer of the leaf node.
- the encrypted node key can be used for transmission.
- the allocation transmission unit 49 does not need to transmit the node key K2 to the first device 30-A, and therefore the amount of information to be transmitted can be further reduced.
- FIG. 18 is a diagram showing an example in which a new node is added to the layer between the root node and the leaf node in the management tree information of FIG.
- the extension unit 52 may add a new node to the layer between the root node and the leaf node of the management tree information.
- the extension unit 52 newly adds a node having the node number 4 to a lower layer of the root node having the node number 1.
- the extension unit 52 connects the leaf node with the node number 2 and the leaf node with the node number 3 to the lower layer of the node with the node number 4.
- the extension unit 52 adds a partial tree of a complete binary tree of one layer to the lower layer of the root node having the node number 1.
- the extension unit 52 can newly form two empty leaf nodes in the management tree information so that a new device 30 can be allocated.
- the assignment transmitting unit 49 transmits the node key assigned to the node with the added node number 4 to the first device 30-A and the second device 30-B that have been assigned to the management tree information. .
- the assignment transmission unit 49 assigns a new node key K4 to the node key K2 assigned to the node with the existing node number 2 and the node with the existing node number 3, as shown in the following equation.
- the first device 30-A can hold a set (device key) of three node keys K1, K2, and K4.
- the second device 30-B can hold a set of three node keys K1, K3, and K4.
- C9 E (K2, K4)
- C10 E (K3, K4)
- the assignment transmitting unit 49 uses the existing node key assigned to the added new node. Can be encrypted and transmitted using the node key assigned to the other node. Thereby, according to the allocation transmission part 49, the amount of information to transmit can be decreased.
- the assignment transmitting unit 49 encrypts the new node key K4 with the node key K1 assigned to the node with the existing node number 1, as shown in the following equation, and the first device 30-A and the first device It may be configured to perform multicast transmission to the second device 30-B. Even with this configuration, the first device 30-A can hold a set (device key) of three node keys K1, K2, and K4. The second device 30-B can hold a set (device key) of three node keys K1, K3, and K4. Furthermore, this allows the allocation transmission unit 49 to transmit only one ciphertext, so that the amount of information to be transmitted can be further reduced.
- C11 E (K1, K4)
- FIG. 19 is a diagram showing an example in which a new node is added to a lower layer of one leaf node in the management tree information of FIG.
- the extension unit 52 may add a node to a lower layer of any one existing leaf node in the management tree information.
- the extension unit 52 reassigns the device 30 assigned to the existing leaf node in which the node is added to the lower layer, to the new leaf node.
- the extension unit 52 adds two new leaf nodes with the node number 4 and the node number 5 to the lower layer of the node number 3 that is the original leaf node.
- the extension unit 52 reassigns the second device 30-B assigned to the original leaf node, node number 3, to the new leaf node of node number 4.
- the extension unit 52 can newly form one empty leaf node in the management tree information and make it possible to assign a new device 30.
- the extension unit 52 reassigns a new node key K3 ′ to the node with node number 3 that is the original leaf node.
- the allocation transmitting unit 49 transmits a node key to be newly held to the second device 30-B whose allocation position has been changed.
- the assignment transmitting unit 49 encrypts the new node keys K3 ′ and K4 with the node key K3 assigned to the node with the existing node number 3, as shown in the following equation, To the second device 30-B. Accordingly, the second device 30-B can hold a set (device key) of three node keys K1, K3 ′, and K4.
- C12 E (K3, K3 ')
- C13 E (K3, K4)
- the assignment transmitting unit 49 extends the management tree information to a lower layer of one leaf node, thereby transferring the new node key assigned to the expanded node in the management tree information to the existing device 30. It is possible to transmit the data by encrypting it using the node key already possessed.
- FIG. 20 is a diagram showing an example in which a new node is added to the layer between the root node and one leaf node in the management tree information of FIG.
- the extension unit 52 may add a new node to a layer between the root node of the management tree information and one leaf node.
- the extension unit 52 newly adds a node having a node number 4 between, for example, a root node having a node number 1 and a leaf node having a node number 3. Then, the extension unit 52 adds a new leaf node with the node number 5 to the lower layer of the node with the node number 4. As a result, the extension unit 52 can newly form one empty leaf node in the management tree information and make it possible to assign a new device 30.
- the assignment transmitting unit 49 transmits the node key assigned to the node with the added node number 4 to the second device 30-B that has been assigned to the management tree information.
- the assignment transmitting unit 49 encrypts the new node key K4 with the node key K3 assigned to the node with the existing node number 3, as shown in the following equation, and the second device Send to 30-B.
- the second device 30-B can hold a set of three node keys K1, K3, and K4 (device key).
- C14 E (K3, K4)
- the assignment transmitting unit 49 uses the existing node key assigned to the added new node. Can be encrypted and transmitted using the node key assigned to the other node. Thereby, according to the allocation transmission part 49, the amount of information to transmit can be decreased.
- the reconfiguration unit 53 changes the allocation position of the device 30 to the leaf node in the management tree information so that the devices 30 having high similarity are concentrated in a range of nodes close to each other.
- the reconfiguration unit 53 performs reconfiguration when, for example, a regular or predetermined event occurs.
- the reconstruction unit 53 may reconstruct the management tree information after the expansion unit 52 expands the management tree information.
- the reconfiguration unit 53 when there is no empty leaf node within n parents or the like from the leaf node of the device 30 having the attribute information having the highest similarity to the new device 30 in the management tree information, Information may be reconstructed.
- the reconfiguration unit 53 may be a case where an empty leaf node exists within n parents or the like from the leaf node of the device 30 having the attribute information having the highest similarity to the new device 30 in the management tree information.
- the management tree information may be reconstructed.
- management tree information is reconstructed using element information that changes with the passage of time included in attribute information as an index of similarity.
- FIG. 21 is a diagram showing management tree information before reconfiguration.
- the management tree information before reconfiguration has a two-level complete binary tree structure, the first device 30-A is assigned to the leaf node of node number 4, and the leaf of node number 5 Assume that the second device 30-B is assigned to the node, and the third device 30-C is assigned to the leaf node of node number 6.
- the first device 30-A has a set (device key) of three node keys K1, K2, and K4.
- the second device 30-B has a set (device key) of three node keys K1, K2, and K5.
- the third device 30-C has a set (device key) of three node keys K1, K3, and K6.
- the attribute acquisition unit 46 acquires attribute information from each device 30.
- the average power consumption of the first device 30-A is 1000 [W]
- the average power consumption of the second device 30-B is 100 [W]
- the average power consumption of the third device 30-C is 1200 [W].
- the first device 30-A and the third device 30-C have a small difference in average power consumption and a high degree of similarity. Therefore, for example, there is a possibility that a control command instructing suppression of power consumption may be received simultaneously. high.
- the management device 20 When causing the first device 30-A and the third device 30-C to execute a control command, the management device 20 first generates and transmits a ciphertext represented by the following equation. Thus, the first device 30-A and the third device 30-C can hold the group key GK. Note that the second device 30-B does not have the node keys K4 and K6, and therefore cannot acquire the group key GK.
- C15 E (K4, GK)
- C16 E (K6, GK)
- the management device 20 encrypts the control command CMD with the group key GK and multicasts it to the first device 30-A and the third device 30-C.
- C17 E (GK, CMD)
- the first device 30-A and the third device 30-C decrypt the received ciphertext with the group key GK and execute the control command CMD.
- the management apparatus 20 is required to transmit a control command to the first device 30-A and the third device 30-C.
- Three ciphertexts must be generated.
- FIG. 22 is a diagram showing management tree information after reconfiguration.
- the reconfiguration unit 53 reconfigures the management tree information so that the devices 30 whose average power consumption in the attribute information is a predetermined value or more are arranged in the vicinity.
- the reconfiguration unit 53 reconfigures the management tree information so that the devices 30 having an average power consumption of 1000 [W] or more are arranged within the second degree. Therefore, as shown in FIG. 22, for example, the reconfiguration unit 53 assigns the first device 30-A to the leaf node with the node number 4 and assigns the third device 30-C to the leaf node with the node number 5.
- the second device 30-B is assigned to the leaf node of node number 6.
- the reconfiguration unit 53 changes the node key assigned to each node in accordance with the change in the assignment of the device 30.
- the reconfiguration unit 53 may change the node key held by the device 30 whose assignment has been changed, and may not change the node key which is not held by the device 30 whose assignment has been changed. Further, the reconfiguration unit 53 may not change the node key that is commonly held by all the devices 30 whose assignment has been changed.
- the reconfiguration unit 53 changes the node keys of the node with the node number 2, the node with the node number 3, the node with the node number 5, and the node with the node number 6.
- the assignment transmission unit 49 transmits the changed node key to the device 30.
- the assignment transmitting unit 49 encrypts the node key K2 ′ with the node key K4 and transmits it to the first device 30-A as shown in the following equation.
- the first device 30-A can hold a set (device key) of three node keys K1, K2 ′, and K4.
- C18 E (K4, K2 ')
- the assignment transmission unit 49 encrypts the node keys K2 ′ and K5 ′ with the node key K6 and transmits the encrypted data to the third device 30-C.
- the third device 30-C can hold a set (device key) of three node keys K1, K2 ′, and K5 ′.
- C19 E (K6, K2 ')
- C20 E (K6, K5 ')
- the assignment transmission unit 49 encrypts the node keys K3 ′ and K6 ′ with the node key K5 and transmits the encrypted data to the second device 30-B. Accordingly, the second device 30-B can hold a set (device key) of three node keys K1, K3 ′, and K6 ′.
- C21 E (K5, K3 ')
- C22 E (K5, K6 ')
- the management device 20 when causing the first device 30-A and the third device 30-C to execute a control command, first, the management device 20 generates a ciphertext represented by the following expression, and the first device 30 -Multicast to A and third device 30-C.
- the first device 30-A and the third device 30-C can hold the group key GK.
- C21 E (K2 ', GK)
- the management device 20 encrypts the control command CMD with the group key GK and multicasts it to the first device 30-A and the third device 30-C.
- C22 E (GK, CMD)
- the management apparatus 20 uses two ciphertexts to cause the first device 30-A and the third device 30-C to execute the control command. Just send it. Therefore, the management apparatus 20 can reduce the number of ciphertexts that must be transmitted in order to cause the first device 30-A and the third device 30-C to execute the control command.
- the management apparatus 20 does not share the group key GK between the first device 30-A and the third device 30-C, but encrypts the control command CMD with the node key K2 ′ and transmits it multicast. May be. In this case, the management apparatus 20 can transmit a control command to the first device 30-A and the third device 30-C with one ciphertext.
- the management apparatus 20 reconfigures the management tree information so that the devices 30 that are likely to be multicast transmission of control commands are contained in a small number of subtrees, so that the management device 20 determines the number of ciphertexts to be transmitted. The amount of information during transmission can be reduced.
- the reconfiguration unit 53 uses average power consumption as an index of similarity when reconfiguring management tree information.
- the present invention is not limited to this, and element information of attribute information that does not change with time is used as an index of similarity. It is good.
- the reconstruction unit 53 may use a value obtained by combining a plurality of types of element information as an index of similarity. Furthermore, the reconfiguration unit 53 may use the similarity obtained by combining the weights according to the element information as an index.
- the management apparatus 20 reconfigures the management tree information so that the devices 30 that are likely to receive the control command by multicast transmission are accommodated in the subtree including a small number of nodes.
- the management apparatus 20 the communication amount for sharing the group key or node key used for encryption or authentication can be reduced.
- the management device 20 can expand the management tree information as the number of devices 30 increases. Therefore, when the number of devices 30 is small, the management device 20 can reduce the management tree information to reduce the memory amount and the like.
- FIG. 23 is a diagram illustrating an example of a hardware configuration of the management apparatus 20 according to the embodiment.
- the management apparatus 20 according to the present embodiment is realized by an information processing apparatus having a hardware configuration as illustrated in FIG. 23, for example.
- the device 30 is also realized by an information processing device having the same hardware configuration as that of the management device 20.
- This information processing apparatus includes a CPU (Central Processing Unit) 201, a RAM (Random Access Memory) 202, a ROM (Read Only Memory) 203, an operation input device 204, a display device 205, a storage device 206, and a communication device. Device 207. These parts are connected by a bus.
- CPU Central Processing Unit
- RAM Random Access Memory
- ROM Read Only Memory
- the CPU 201 is a processor that executes arithmetic processing and control processing according to a program.
- the CPU 201 uses the predetermined area of the RAM 202 as a work area and executes various processes in cooperation with programs stored in the ROM 203 and the storage device 206.
- the RAM 202 is a memory such as SDRAM (Synchronous Dynamic Random Access Memory).
- the RAM 202 functions as a work area for the CPU 201.
- the ROM 203 is a memory that stores programs and various information in a non-rewritable manner.
- the operation input device 204 is an input device such as a mouse and a keyboard.
- the operation input device 204 receives information input by the user as an instruction signal, and outputs the instruction signal to the CPU 201.
- the display device 205 is a display device such as an LCD (Liquid Crystal Display).
- the display device 205 displays various information based on a display signal from the CPU 201.
- the storage device 206 is a device for writing and reading data on a semiconductor storage medium such as a flash memory or a magnetically or optically recordable storage medium.
- the storage device 206 writes and reads data to and from the storage medium in accordance with control from the CPU 201.
- the communication device 207 communicates with an external device via a network according to control from the CPU 201.
- the program executed by the management apparatus 20 of the present embodiment includes a device discovery module, a device authentication module, an attribute acquisition module, a similarity calculation module, an allocation module, an allocation transmission module, a group key transmission module, a generation module, an expansion module,
- the module configuration includes a configuration module, an encryption module, and a first communication module.
- This program is expanded and executed on the RAM 202 by the CPU 201 (processor), so that the information processing apparatus is a device discovery unit 44, a device authentication unit 45, an attribute acquisition unit 46, a similarity calculation unit 47, and an allocation unit 48.
- the management device 20 is not limited to such a configuration, but includes a device discovery unit 44, a device authentication unit 45, an attribute acquisition unit 46, a similarity calculation unit 47, an allocation unit 48, an allocation transmission unit 49, and a group key transmission unit 50.
- the configuration may be such that at least a part of the generation unit 51, the expansion unit 52, the reconfiguration unit 53, the encryption unit 54, and the first communication unit 55 is realized by a hardware circuit (for example, a semiconductor integrated circuit).
- the program executed by the device 30 of the present embodiment includes an attribute measurement module, a management device discovery module, a request module, a management device authentication module, an attribute transmission module, an allocation reception module, a group key reception module, a decryption module, and a second
- the module configuration includes a communication module.
- This program is expanded and executed on the RAM 202 by the CPU 201 (processor), so that the information processing apparatus is changed to an attribute measurement unit 63, a management device discovery unit 64, a request unit 65, a management device authentication unit 66, and an attribute transmission unit. 67, the allocation receiving unit 68, the group key receiving unit 69, the decrypting unit 70, and the second communication unit 71.
- the device 30 is not limited to such a configuration, and the attribute measurement unit 63, the management device discovery unit 64, the request unit 65, the management device authentication unit 66, the attribute transmission unit 67, the assignment reception unit 68, and the group key reception unit 69.
- a configuration in which at least a part of the decoding unit 70 and the second communication unit 71 is realized by a hardware circuit (for example, a semiconductor integrated circuit) may be employed.
- the program executed by the management apparatus 20 of the present embodiment is a file that can be installed in a computer or an executable file, such as a CD-ROM, a flexible disk, a CD-R, a DVD (Digital Versatile Disk), etc.
- the program is provided by being recorded on a computer-readable recording medium.
- the program executed by the management apparatus 20 of the present embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Further, the program executed by the management device 20 of the present embodiment may be configured to be provided or distributed via a network such as the Internet. The program executed by the management device 20 may be provided by being incorporated in advance in a ROM or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
実施形態に係る管理装置は、複数の機器にネットワークを介して接続可能な管理装置である。管理装置は、木記憶部と、類似度算出部と、割当部と、割当送信部と、を備える。木記憶部は、ノードにノード鍵が割り当てられ、リーフノードに機器が割り当てられた管理木情報を記憶する。類似度算出部は、新たな機器の属性を表す属性情報と管理木情報に割り当て済みの機器の属性情報との類似度を算出する。割当部は、類似度に基づき、管理木情報における新たな機器を割り当てるリーフノードを決定する。割当送信部は、新たな機器に、管理木情報におけるルートノードから対応するリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を送信する。
Description
本発明の実施形態は、管理装置、プログラム、システム、機器および方法に関する。
複数の機器のうちの一部の機器が共有して保有する鍵をグループ鍵と呼ぶ。このようなグループ鍵を用いてデータを暗号化することにより、グループに属する機器にデータを伝達し、グループに属さない機器に対してデータを秘匿することができる。また、グループ鍵をそれぞれの機器に配布するための鍵であって、それぞれの機器に配布される鍵をデバイス鍵と呼ぶ。
デバイス鍵を木構造のグラフを表すデータである管理木情報を用いて管理する方法が知られている。この方法では、管理木情報におけるそれぞれのノードにノード鍵を割り当て、リーフノードに機器を割り当てる。この方法では、それぞれの機器に、ルートノードから対応するリーフノードまでのパスに割り当てられた全てのノード鍵を配布する。そして、この方法では、機器が、配布された全てのノード鍵の組をデバイス鍵として記憶する。グループ鍵は、配布時において、デバイス鍵に含まれる何れか1以上のノード鍵により暗号化される。
ところで、システム内に新たな機器が接続された場合、管理木情報を管理する管理装置は、新たな機器に対してノード鍵およびグループ鍵を配布しなければならない。この場合、管理装置は、同じグループに属する複数の機器に対して効率良く情報を送信できるように、新たな機器を管理木情報に割り当てなければならない。
本発明が解決しようとする課題は、複数の機器に情報を効率良く送信できるように、管理木情報に機器を割り当てることにある。
実施形態に係る管理装置は、複数の機器にネットワークを介して接続可能な管理装置である。前記管理装置は、木記憶部と、類似度算出部と、割当部と、割当送信部と、を備える。前記木記憶部は、ノードにノード鍵が割り当てられ、リーフノードに機器が割り当てられた管理木情報を記憶する。前記類似度算出部は、新たな機器の属性を表す属性情報と前記管理木情報に割り当て済みの機器の前記属性情報との類似度を算出する。前記割当部は、前記類似度に基づき、前記管理木情報における前記新たな機器を割り当てるリーフノードを決定する。前記割当送信部は、前記新たな機器に、前記管理木情報におけるルートノードから対応するリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を送信する。
以下、図面を参照しながら実施形態に係る通信システムについて詳細に説明する。本実施形態に係る伝送システムは、グループ鍵等の情報を複数の機器に効率良く送信できるように、管理木情報に機器を割り当てることができる。
なお、本実施形態においては、データを暗号化する暗号鍵を用いる。暗号鍵によりデータを暗号化および復号するためのアルゴリズムは、AES等の対称鍵暗号方式を用いてもよいし、非対称鍵暗号方式(公開鍵暗号方式)を用いてもよい。
図1は、実施形態に係る通信システム10の構成を示す図である。通信システム10は、管理装置20と、複数の機器30(30-A~30-F)を備える。
管理装置20および複数の機器30は、互いにネットワークを介して接続可能である。ネットワークは、例えば家庭内に形成されたLAN等である。また、ネットワークは、インターネットまたはVPN(Virtual Private Network)等の公衆回線が含まれてもよい。また、ネットワークは、物理レイヤおよびリンクレイヤとして、IEEE802.11に準拠した無線LAN、イーサネット(登録商標)、IEEE1394等の種々の形態を適用できる。
管理装置20は、コンピュータ等の情報処理装置である。管理装置20は、オペレーティングシステム上において所定のプログラムを実行し、例えば常時起動している。
機器30は、通信機能および情報処理機能を有する装置である。例えば、機器30は、家庭で用いられる電化製品(エアーコンディショナ、テレビジョン装置および冷蔵庫等であって、ネットワークに接続可能な装置)であってよい。また、機器30は、スマートフォン、タブレットまたはノート型コンピュータ等の携帯型の情報機器であってもよい。
通信システム10では、管理装置20と機器30との間、または、機器30と機器30との間でデータが送信される。送信されるデータは、例えば、機器30の動作を制御するための制御コマンド、管理装置20または機器30が暗号化または認証に用いる鍵の値、鍵の識別子情報、および、管理装置20または機器30の識別情報(MACアドレスまたはIPアドレス等)等である。また、送信されるデータは、動画像データ、音声データ、テキストデータまたはプログラムコード等であってもよい。
このようなデータは、グループ鍵により暗号化される。グループ鍵は、グループに属する機器30が共通に保有する鍵である。
管理装置20は、ネットワークに接続された複数の機器30に対して、例えばユーザ等の指示または予め設定された規則等に従いグループを設定する。管理装置20は、複数のグループを設定してもよい。また、管理装置20は、1つの機器30を複数のグループに属させてもよい。また、グループに属さない機器30が存在していてもよい。管理装置20は、グループ毎に固有のグループ鍵を割り当てる。管理装置20は、データをグループ鍵により暗号化してネットワークに送信することにより、グループに属する機器30にデータを取得させ、グループに属さない機器30に対してデータを秘匿することができる。
また、管理装置20は、グループ鍵を、それぞれの機器30に割り当てられたノード鍵により暗号化して機器30に与える。ノード鍵は、管理装置20と機器30とが共有する鍵である。1つの機器30は、少なくとも1つのノード鍵の組をデバイス鍵として保有する。管理装置20は、それぞれの機器30が保有するノード鍵を、木構造(ループを有さない無向グラフ)を表す管理木情報を用いて管理する。なお、管理装置20は、データをノード鍵により暗号化して機器30へと送信してもよい。
図2は、管理木情報の一例を示す図である。管理木情報は、複数のノード(図2の丸で示す)と、ノードとノードとの間を接続する複数のエッジとを含む。木構造の頂点(最上位層)の1つのノードをルートノードと呼ぶ。また、木構造の末端(最下位層)に配置されるそれぞれのノードをリーフノードと呼ぶ。
ノードには、固有のノード番号が割り振られている。図2の例では、丸の中の数字がノード番号を示す。
管理装置20は、ノード鍵をそれぞれのノードに割り当てる。ノード鍵は、ノード毎に異なる。図2の例では、管理装置20は、ノード番号が1~15のノードに、K1~K15のノード鍵を割り当てている。
また、管理装置20は、それぞれの機器30を、何れかのリーフノードに割り当てる。管理装置20は、1つのリーフノードに1つの機器30を割り当て、1つのリーフノードに複数の機器30を重複して割り当てない。管理木情報は、何れの機器30も割り当てられていない空のリーフノードを含んでよい。図2の例では、管理装置20は、ノード番号8,9,10,11,13,15のノードに、識別情報A,B,C,D,E,Fの機器30を割り当てている。
また、管理装置20は、それぞれの機器30に、管理木情報におけるルートノードから、当該機器30が割り当てられた対応するリーフノードまでのパスに割り当てられている少なくとも1つのノード鍵(例えば、ルートノードから対応するリーフノードまでのパスに割り当てられている全てのノード鍵)を送信する。機器30は、管理装置20から送信された少なくとも1つのノード鍵の組をデバイス鍵として記憶する。例えば、管理装置20は、ノード番号8に割り当てられた識別情報Aの機器30に、K1,K2,K4,K8のノード鍵を送信する。なお、管理装置20は、少なくともリーフノードに割り当てられたノード鍵を送信すれば、ルートノードから対応するリーフノードまでパスの全てのノード鍵を送信しなくてもよい。
なお、管理木情報は、2分木に限らず、3分木以上であってもよい。また、管理木情報は、非完全の木構造であってもよく、様々な構造であってよい。
図3は、グループの一例を示す図である。管理装置20は、それぞれのグループ毎に、固有のグループ鍵を生成する。管理装置20は、グループに属するそれぞれの機器30に対して、1つのグループ鍵を少なくとも1つのノード鍵で暗号化して生成した少なくとも1つの暗号文を送信する。具体的には、管理装置20は、グループに属する全ての機器30が何れかの暗号文を復号可能であり、且つ、送信する暗号文の数が最も少なくなるように、少なくとも1つのノード鍵を選択する。そして、管理装置20は、選択したそれぞれのノード鍵で暗号文を生成して送信する。
図3の例においては、識別情報A,Bの機器30がグループαを形成している。ノード鍵K4は、識別情報A,Bの機器30が共通に保有しているが、他の機器30は保有していない。従って、管理装置20は、グループαのグループ鍵GKαを、ノード鍵K4で暗号化する。これにより、管理装置20は、グループαを形成している2つの機器30に、効率良くグループ鍵GKαを送信することができる。
また、図3の例においては、識別情報A,B,C,Dの機器30がグループβを形成している。ノード鍵K2は、識別情報A,B,C,Dの機器30が共通に保有しているが、他の機器30は保有していない。従って、管理装置20は、グループβのグループ鍵GKβを、ノード鍵K2で暗号化する。これにより、管理装置20は、グループβを形成している4つの機器30に、効率良くグループ鍵GKβを送信することができる。
また、図3の例においては、識別情報E,Fの機器30がグループγを形成している。ノード鍵K3は、識別情報E,Fの機器30が共通に保有しているが、他の機器30は保有していない。従って、管理装置20は、グループγのグループ鍵GKγを、ノード鍵K3で暗号化する。これにより、管理装置20は、グループγを形成している2つの機器30に、効率良くグループ鍵GKγを送信することができる。
図4は、機器30から管理装置20へと送信される属性情報と、管理装置20から機器30へと送信される属性情報に基づき決定されたノード鍵を示す図である。図5は、属性情報と、属性情報に基づき決定されたノード鍵の他の送信例を示す図である。
機器30は、当該機器30の属性を表す属性情報を管理装置20へと送信する。属性情報は、少なくとも1つの要素情報を含む。属性情報は、例えば、識別情報、ベンダ名、種別、平均消費電力または最頻コマンド名等を、要素情報として含む。なお、属性情報の詳細については、図8を参照して後述する。
管理装置20は、このような属性情報に基づいて、それぞれの機器30に割り当てる1以上のノード鍵を決定し、そのノード鍵を機器30に送信する。また、管理装置20は、図5のように、機器30-1へのノード鍵の割り当てに伴い、その他の機器30-2のノード鍵の割り当てに変更が生じた場合には、機器30-2に変更後のノード鍵を送信する。
ここで、管理装置20は、第1の機器30の属性情報を受け取り、第1の機器30の属性情報と、1以上の第2の機器30の属性情報に基づき構成された管理木情報のルートノードからリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を送信する。
より具体的には、管理装置20は、第1の機器30の属性情報である第1属性情報を受け取り、第1のリーフノードより最も近い第2のリーフノードに割り当てることで構成された管理木情報のルートノードから第2のリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を送信する。なお、第1のリーフノードは、第2の機器30が割り当てられたノードである。また、第2の機器30は、第2の機器30の属性情報である第2属性情報が第1属性情報と一致する機器30である。また、この場合、管理装置20は、管理木情報のルートノードから第1のリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を更に送信してもよい。
また、管理装置20は、複数の機器30の少なくとも1以上の機器30の属性情報を受け取り、管理木情報のルートノードから各リーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を送信してもよい。この場合、管理木情報は、複数の機器30のうち、受け取った属性情報が一致する機器30を第1のリーフノードに割り当てられたものであり、かつ、複数の機器30のうち、受け取った属性情報が一致しない機器30を第2のリーフノードに割り当てられたものである。
また、例えば、管理装置20は、管理木情報に新たな機器30を割り当てる場合、その新たな機器30の属性情報に基づき割り当て位置(リーフノードの位置)を決定する。より具体的には、管理装置20は、類似した属性情報の機器30同士が近くなり、類似していない属性情報の機器30同士が遠くなるように、新たな機器30の割り当て位置を決定する。これにより、管理装置20は、同一のグループに属する複数の機器30に、グループ鍵等の情報を少ない情報量(暗号文数)で効率良く送信することができる。
図6は、管理装置20の構成を示す図である。管理装置20は、木記憶部41と、グループ記憶部42と、属性記憶部43と、機器発見部44と、機器認証部45と、属性取得部46と、類似度算出部47と、割当部48と、割当送信部49と、グループ鍵送信部50と、生成部51と、拡張部52と、再構成部53と、暗号化部54と、第1通信部55とを有する。
木記憶部41は、ノードにノード鍵が割り当てられ、リーフノードに機器30が割り当てられた管理木情報を記憶する。グループ記憶部42は、グループ毎に、グループ識別情報、グループ鍵、および、属する機器30のリストを記憶する。属性記憶部43は、機器30毎に属性情報を記憶する。
機器発見部44は、ネットワーク上に存在する機器30を発見する。機器認証部45は、機器30と認証処理を行い、通信相手の機器30が正当な権限を有するかを確認する。
属性取得部46は、認証された機器30から属性情報を取得する。属性取得部46は、例えばネットワークに新たな機器30が接続された場合、新たな機器30から属性情報を取得する。また、属性取得部46は、属性情報のうち、時間によって変化する要素情報を、それぞれの機器30から定期的に取得してもよい。属性取得部46は、取得した属性情報を属性記憶部43に記憶させる。
類似度算出部47は、2つの機器30の属性情報の類似度を算出する。例えばネットワークに新たな機器30が接続されて、管理木情報にその新たな機器30を割り当てる場合には、類似度算出部47は、新たな機器30の属性情報と、管理木情報に割り当て済みのそれぞれの機器30の属性情報との類似度を算出する。
割当部48は、木記憶部41に記憶されている管理木情報に、新たな機器30を割り当てる。この場合において、割当部48は、新たな機器30の属性情報と管理木情報に割り当て済みの既存の機器30の属性情報との類似度に基づき、新たな機器30の割り当て位置(リーフノードの位置)を決定する。より具体的には、割当部48は、類似度が高い機器30同士が近い範囲に配置されるように、新たな機器30を割り当てるリーフノードの位置を決定する。例えば、割当部48は、新たな機器30の属性情報との類似度が基準より高い機器30(例えば、類似度が最も高い機器30)が割り当てられたリーフノードから、予め定められたエッジ数で到達可能な空のリーフノードに、新たな機器30を割り当てる。
割当送信部49は、管理木情報に新たな機器30が割り当てられた場合、少なくとも1つのノード鍵を認証処理により共有した鍵により暗号化して、新たな機器30に送信する。より具体的には、割当送信部49は、管理木情報におけるルートノードから、新たな機器30に対応するリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を、新たな機器30に送信する。新たな機器30は、受信した少なくとも1つのノード鍵の組をデバイス鍵として記憶する。さらに、割当送信部49は、新たな機器30に、管理木情報における割り当て位置およびノード鍵の識別情報を暗号化して送信してもよい。
グループ鍵送信部50は、新たなグループが形成された場合、グループ鍵を生成する。そして、グループ鍵送信部50は、形成された新たなグループに属する全ての機器30に、グループ鍵を送信する。この場合において、グループ鍵送信部50は、グループに属する全ての機器30が少なくとも何れか1つを保有しており、グループに属さない機器30が保有しておらず、且つ、暗号文の数が最も少なくなるような1または複数のノード鍵を選択する。そして、グループ鍵送信部50は、選択した1または複数のノード鍵によりグループ鍵を暗号化して1または複数の暗号文を送信する。
また、グループ鍵送信部50は、新たな機器30が管理木情報に割り当てられ、その新たな機器30が何れかのグループに追加された場合、新たな機器30に、対応するグループ鍵を送信する。この場合、グループ鍵送信部50は、新たな機器30が保有しており、グループに属さない機器30が保有していないノード鍵により、対応するグループ鍵を暗号化する。
生成部51は、新たな管理木情報を生成して木記憶部41に記憶させる。例えば、生成部51は、ネットワークに最初に新たな機器30が接続されて、割り当てるべき管理情報が木記憶部41に存在しない場合、新たな管理木情報を生成して木記憶部41に記憶させる。
拡張部52は、管理木情報の空のリーフノードの数が予め定められた数より少ない場合、木記憶部41に記憶された管理木情報を拡張する。例えば、拡張部52は、ネットワークに新たな機器30が接続された場合であって、木記憶部41に記憶された管理木情報に空のリーフノードが存在しない場合、管理木情報を拡張する。なお、管理木情報を拡張するとは、管理木情報に含まれるリーフノードが増えるように、新たなノードおよびエッジを追加することをいう。
再構成部53は、木記憶部41に記憶された管理木情報を再構成する。例えば、再構成部53は、管理木情報における機器30のリーフノードへの割り当て位置を、類似度が高い機器30同士が近い範囲に集中して配置されるように変更する。より具体的には、例えば、再構成部53は、管理木情報における機器30のリーフノードへの割り当て位置を、属性情報の類似度が予め定められた値以上の機器30同士が予め定められたエッジ数で到達可能な範囲に属するように変更する。再構成部53は、例えば、定期的または予め定められたイベントが発生した場合に、再構成を実行する。
暗号化部54は、管理装置20から何れかの機器30へとデータを送信する場合、グループ鍵またはノード鍵を用いて対象のデータを暗号化する。暗号化部54は、指定されたグループに属する機器30に一括してデータを送信する場合には、グループ鍵により対象のデータを暗号化する。また、暗号化部54は、指定された何れか1つまたは複数の機器30にデータを送信する場合には、指定された機器30が保有しており、他の機器30が保有していないノード鍵を選択して対象のデータを暗号化する。
第1通信部55は、ネットワークを介して機器30と通信を行う。第1通信部55は、例えば、機器30と通信を行うための物理レイヤおよびデータリンクレイヤ等のレイヤ処理を実行する。
図7は、機器30の構成を示す図である。機器30は、情報記憶部61と、固定属性記憶部62と、属性測定部63と、管理装置発見部64と、要求部65と、管理装置認証部66と、属性送信部67と、割当受信部68と、グループ鍵受信部69と、復号部70と、第2通信部71とを有する。
情報記憶部61は、この機器30に割り当てられた少なくとも1つのノード鍵の組であるデバイス鍵を記憶する。さらに、情報記憶部61は、それぞれのノード鍵の識別情報および管理木情報における割り当て位置を記憶してもよい。さらに、情報記憶部61は、この機器30が属するグループのグループ鍵およびグループの識別情報を記憶する。
固定属性記憶部62は、属性情報に含まれる要素情報のうち、時間によって変化しない要素情報を記憶する。属性測定部63は、属性情報に含まれる要素情報のうち、時間によって変化する要素情報を測定する。属性測定部63は、定期的に測定してもよいし、予め定められたイベントが発生した場合に測定してもよい。
管理装置発見部64は、ネットワーク上に存在する管理装置20を発見する。要求部65は、管理装置20に対して、管理木情報への割り当ておよび少なくとも1つのノード鍵の組の発行を要求する。要求部65は、例えばこの機器30がネットワークに新たに接続された場合に、少なくとも1つのノード鍵の組の発行を要求する。管理装置認証部66は、管理装置20と認証処理を行い、通信相手の管理装置20が正当な権限を有するかを確認する。
属性送信部67は、属性情報を管理装置20へと送信する。属性送信部67は、例えば、管理木情報への割り当ておよび少なくとも1つのノード鍵の組の発行の要求時において、管理装置20に対して属性情報を送信する。また、属性送信部67は、属性情報に含まれる要素情報のうちの時間変化する要素情報を、定期的または予め定められたイベントが発生した場合に管理装置20へと送信してもよい。
割当受信部68は、管理装置20から送信される少なくとも1つのノード鍵を受信する。割当受信部68は、受信した少なくとも1つのノード鍵の組を、デバイス鍵として情報記憶部61に記憶させる。また、割当受信部68は、この機器30の管理木情報における割り当て位置、および、それぞれのノード鍵の識別情報を受信する。割当受信部68は、受信したこれらの情報を情報記憶部61に記憶させる。なお、この機器30がネットワークに新たに接続された場合、ノード鍵、割り当て位置およびノード鍵の識別情報は、管理装置20との間の認証処理により共有した鍵により暗号化されている。割当受信部68は、この共有した鍵により、ノード鍵、割り当て位置およびノード鍵の識別情報を復号する。
グループ鍵受信部69は、管理装置20から暗号化されたグループ鍵を受信する。グループ鍵は、この機器30が保有しているデバイス鍵に含まれる少なくとも1つのノード鍵の組のうちの何れかのノード鍵により暗号化されている。従って、グループ鍵受信部69は、情報記憶部61に記憶されているデバイス鍵に含まれる少なくとも1つのノード鍵の組のうちの何れかのノード鍵を選択し、選択したノード鍵を用いて、グループ鍵を復号する。グループ鍵受信部69は、復号したグループ鍵を情報記憶部61に記憶させる。
復号部70は、管理装置20から送信されたデータをグループ鍵、または、デバイス鍵に含まれる何れかのノード鍵を用いて復号する。第2通信部71は、ネットワークを介して管理装置20および他の機器30と通信を行う。第2通信部71は、例えば、管理装置20または他の機器30と通信を行うための物理レイヤおよびデータリンクレイヤ等のレイヤ処理を実行する。
図8は、属性情報に含まれる要素を示す図である。属性情報は、時間によって変化しない要素情報(固定の要素情報)と、時間によって変化する要素情報(経時変化の要素情報)とを含む。なお、属性情報は、固定の要素情報と、経時変化の要素情報との何れか一方を含んでもよい。
固定の要素情報は、一例として、識別情報、ベンダ名、種別、メモリ量および最大消費電力等である。識別情報は、ネットワーク上で一意に機器30を識別するための情報であり、例えば機器30のMACアドレス、IPアドレスまたは製造番号等である。ベンダ名は、機器30の製造会社名または販売会社名等である。種別は、機器30の製品機能を表す名称である。具体的には、種別は、例えば、エアーコンディショナ、テレビジョン装置および冷蔵庫等が記述される。
メモリ量は、機器30が備えるメモリの容量値である。メモリ量は、容量値に限らず、容量値が予め定められた閾値より大きいか否か等の情報であってもよい。最大消費電力は、機器30が消費する電力の最大値である。
経時変化の要素情報は、一例として、平均消費電力、最頻コマンド名およびコマンド頻度等である。平均消費電力は、ある期間(例えば、運転開始から現時点まで)において、機器30が消費した電力の平均値である。最頻コマンド名は、ある期間(例えば、運転開始から現時点まで)において、機器30が実行した最も多い制御コマンドの名称である。また、コマンド頻度は、ある期間(例えば、運転開始から現時点まで)において、機器30が制御コマンドを実行した頻度である。
なお、属性情報に含まれる要素情報は、これら以外に、例えば、機種名、機器のキャッシュ量、CPU(Central Processing Unit)の名称、定格消費電力、通信方式、ネットワークのトポロジー、管理装置20から機器30に到達するまでのホップ数、電波強度、機器30の製造年月日、機器30の設置場所、機器30が移動可能であるかまたは固定であるか、接続される周辺装置の識別情報等であってもよい。また、属性情報に含まれる要素情報の組み合わせは、どのような組み合わせであってもよい。
図9は、実施形態に係る通信システム10のシーケンス図である。通信システム10では、ネットワークに新しい機器30が接続された場合、図9に示すシーケンスに従って処理が実行される。
まず、ステップS11において、管理装置20および機器30は、ネットワークを介して互いの機器を発見する。続いて、ステップS12において、機器30は、管理装置20に対して、管理木情報への割り当ておよび少なくとも1つのノード鍵の組(デバイス鍵)の発行を要求する。
続いて、ステップS13において、管理装置20および機器30は、互いに認証処理を行い、通信相手が正当な権限を有するかを確認する。管理装置20は、ステップS13の機器30と接続してよいかを判定するための認証処理を、ステップS11またはステップS12の処理と併せて実行してもよい。
なお、管理装置20および機器30は、例えば、ISO/IEC9798-1またはISO/IEC9798-3等の方法を用いて認証する。また、管理装置20および機器30は、公開鍵証明書を用いる方法で認証してもよい。また、管理装置20および機器30は、認証に用いる鍵を予め共有されたパスワードに基づいて生成してもよいし、認証に用いる鍵に工場出荷時等に機器30に埋め込まれた秘密鍵を用いてもよい。
続いて、相手が正当な管理装置20であると確認した場合、ステップS14において、機器30は、属性情報を送信する。この場合において、機器30は、時間変化しない要素情報を送信する。また、機器30は、時間変化する要素情報を測定済みの場合には、時間変化する要素情報も送信してもよい。
なお、機器30は、次の割当処理(S15)の前であれば、属性情報をいつ送信してもよい。例えば、機器30は、発見処理(S11)にUPnP SSDPを用いる場合には、デバイスディスクリプションの1つのエントリに属性情報を含めて送信してもよい。また、機器30は、要求処理(S12)のプロトコルにHTTPを用いる場合には、HTTPリクエストヘッダの1つのエンティティとして専用のフィールドを定義して属性情報を送信してもよいし、HTTP GETリクエストのURLに属性情報の格納場所を含めてもよい。
続いて、ステップS15において、管理装置20は、機器30を管理木情報における何れかのリーフノードに割り当てる割当処理を実行する。なお、割当処理については図10を参照して後述する。
続いて、ステップS16において、管理装置20は、ステップS15の割当処理により得られた割当情報を、機器30へ送信する。割当情報は、対応する機器30に割り当てられた少なくとも1つのノード鍵の組(デバイス鍵)を含む。また、割当情報は、管理木情報における割り当て位置、および、それぞれのノード鍵の識別情報を含んでもよい。また、管理装置20は、割当情報を、認証処理により共有された鍵により暗号化して機器30に送信する。
続いて、ステップS17において、管理装置20は、対応する機器30が属するグループのグループ鍵を取得して、ステップS16で機器30へと送信した少なくとも1つのノード鍵のうちの何れか1以上のノード鍵により暗号化する。この場合において、管理装置20は、グループ以外の機器30が保有していないノード鍵によりグループ鍵を暗号化する。
続いて、ステップS18において、暗号化したグループ鍵を機器30へ送信する。続いて、ステップS19において、機器30は、管理装置20から暗号化したグループ鍵を受信して、保有している少なくとも1つのノード鍵の組(デバイス鍵)のうちの何れかのノード鍵を選択し、選択したノード鍵により復号する。以上の処理により、機器30は、管理装置20から少なくとも1つのノード鍵の組(デバイス鍵)およびグループ鍵を取得することができる。
図10は、管理装置20の割当処理のフローチャートである。管理装置20は、割当処理(S15)において、図10に示す処理を実行する。
まず、ステップS21において、管理装置20の生成部51は、木記憶部41に管理木情報が存在するか否かを判断する。管理木情報が存在しない場合(S21のNo)、ステップS22において、生成部51は、新たな管理木情報を生成して、木記憶部41に記憶させる。この場合において、生成部51は、階層が予め定められたi段の管理木情報を生成する(iは、2以上の整数)。なお、管理木情報の階層とは、ルートノードからリーフノードまでのルートのエッジ数を表す。続いて、ステップS23において、管理装置20の割当部48は、新たな管理木情報における何れかのリーフノードに、新たな機器30を割り当てる。そして、ステップS23を終了すると、管理装置20は、割当処理を終了する。
一方、管理木情報が存在する場合(S21のYes)、ステップS24において、管理装置20の類似度算出部47は、新たな機器30の属性情報と、管理木情報に既に割り当てられているそれぞれの機器30の属性情報との類似度を算出する。
2つの属性情報の類似度を算出する場合、類似度算出部47は、例えば、対応する要素情報同士が、同一であるか、または、値の差が一定範囲内であるかを比較する。例えば、類似度算出部47は、ベンダ名が同一であるか、種別が同一であるか、メモリ量の差が一定範囲内であるか、最大消費電力の差が一定範囲内であるか、平均消費電力の差が一定範囲内であるか、最頻コマンド名が同一であるか、コマンド頻度の差が一定範囲内であるか等を比較する。
そして、類似度算出部47は、複数の要素情報毎の比較結果を合成して類似度を算出する。例えば、類似度算出部47は、要素情報が同一または値の差が一定範囲内である場合には1点、要素情報が同一ではないまたは値の差が一定範囲を超えている場合には0点とし、複数の要素情報の点数を合計した値を類似度とする。
また、類似度算出部47は、属性情報のうちの全ての要素情報について比較するのではなく、予め定められた特定の1または複数の要素情報を抽出して比較してもよい。例えば、類似度算出部47は、種別と、平均消費電力とを比較して、これらの比較結果を合成して類似度を算出してもよい。
また、類似度算出部47は、要素情報によって比較結果に重みを変えて合成してもよい。類似度算出部47は、例えば、種別が一致する場合には5点、ベンダ名が一致する場合には2点、平均消費電力の値の差が一定の範囲内の場合には4点といったように重みを変えてもよい。なお、類似度算出部47は、以上の算出方法に代えて、他の算出方法により類似度を算出してもよい。
続いて、ステップS25において、割当部48は、算出した類似度に基づき、管理木情報における何れかのリーフノードに、新たな機器30を割り当てる。この場合、割当部48は、類似する機器30が近くに集中して配置されるように、新たな機器30を何れかの空のリーフノードに割り当てる。例えば、割当部48は、新たな機器30の属性情報と最も類似度の高い機器30から、一定のエッジ数以内で到達できる空のリーフノードに新たな機器30を割り当てる。また、割当部48は、最も類似度の高い機器30から一定のエッジ数以内で到達できる空のリーフノードが存在しない場合には、拡張部52に管理木情報を拡張させてから、新たな機器30を割り当ててもよい。
そして、ステップS25を終了すると、管理装置20は、割当処理を終了する。
図11は、図10のステップS25での処理の一例を示すフローチャートである。割当部48は、図10のステップS25において、例えば図11に示すような処理を実行してもよい。
まず、ステップS31において、割当部48は、管理木情報に既に割り当てられている機器30のうち、新たな機器30の属性情報との類似度が最も高い機器30が割り当てられたリーフノードを検出する。
続いて、ステップS32において、割当部48は、類似度が最も高い機器30が割り当てられたリーフノードからn親等以内に、空のリーフノードが存在するか否かを判断する。ここで、n親等以内のリーフノードとは(nは1以上の整数である。)、ある機器30が割り当てられたリーフノードから、n回以下のエッジ数で到達可能な他のリーフノードをいう。例えば、図2に示した例においては、リーフノード8とリーフノード9との間の親等数は、2である。また、リーフノード8とリーフノード12の間の親等数は、6である。
類似度が最も高い機器30が割り当てられたリーフノードからn親等以内に、空のリーフノードが存在する場合(S32のYes)、ステップS33において、割当部48は、そのn親等以内の空のリーフノードに、新たな機器30を割り当てる。つまり、割当部48は、類似度が最も高い機器30が割り当てられたリーフノードから、予め定められたエッジ数で到達可能な空のリーフノードに、新たな機器30を割り当てる。これにより、割当部48は、管理木情報における、属性情報が最も類似する既存の機器30に近い位置に新たな機器30を割り当てることができる。
なお、ステップS31において、割当部48は、類似度が基準値以上のうちの、類似度が最も高い機器30が割り当てられたリーフノードを検出してもよい。この場合において、もし、類似度が基準値以上の機器30が存在しなければ、割当部48は、逆にn親等より離れた空のリーフノードに、新たな機器30を割り当ててもよい。これにより、割当部48は、管理木情報における、属性情報が類似しない既存の機器30の遠くの位置に、新たな機器30を割り当てることができる。
そして、管理装置20は、ステップS33を終了すると、処理を図10のフローに戻す。
一方、類似度が最も高い機器30が割り当てられたリーフノードからn親等以内に、空のリーフノードが存在しない場合(S32のNo)、ステップS34において、割当部48は、管理木情報に空のリーフノードが存在するか否かを判断する。割当部48は、管理木情報に空のリーフノードが存在しない場合(S34のNo)、処理をステップS35に進め、管理木情報に空のリーフノードが存在する場合(S34のYes)、処理をステップS36に進める。
ステップS35において、拡張部52は、管理木情報の木構造を拡張する。これにより、拡張部52は、管理木情報に空のリーフノードを作成することができる。そして、拡張部52は、管理木情報を拡張した後に、処理をステップS32に戻して処理を繰り返させる。なお、拡張部52は、管理木情報を拡張した後に、処理をステップS36に進めてもよい。なお、管理木情報の拡張処理については、図14~図20を参照して後述する。
また、ステップS36において、割当部48は、何れかの空のリーフノードに新たな機器30を割り当てる。そして、管理装置20は、ステップS36を終了すると、処理を図10のフローに戻す。
なお、ステップS34において、割当部48は、管理木情報に空のリーフノードが存在するか否かに代えて、管理木情報に空のリーフノードが予め定められた数以上存在するか否かを判断してもよい。この場合、割当部48は、空のリーフノードが予め定められた数以上存在しなければ、処理をステップS35に進め、存在すれば、処理をステップS36に進める。
図12は、管理木情報への機器30の第1の割り当て例を示す図である。例えば、管理木情報は、図12に示すように、2階層の完全2分木の構造であり、ノード番号4のリーフノードに第1の機器30-Aが割り当てられ、ノード番号6のリーフノードに第2の機器30-Bが割り当てられ、ノード番号7のリーフノードに第3の機器30-Cが割り当てられているとする。また、図12の例において、第1の機器30-Aは、3つのノード鍵K1,K2,K4の組(デバイス鍵)を保有する。第2の機器30-Bは、3つのノード鍵K1,K3,K6の組(デバイス鍵)を保有する。第3の機器30-Cは、3つのノード鍵K1,K3,K7の組(デバイス鍵)を保有する。
図12の例において、第1の機器30-Aおよび第2の機器30-Bに制御コマンドCMDを実行させる場合、管理装置20は、次式で表される2つの暗号文を生成して送信する。これにより、第1の機器30-Aおよび第2の機器30-Bは、グループ鍵GKを保有することができる。なお、E(K,M)は、鍵Kを用いてデータMを暗号化した暗号文を表す。
C1=E(K4,GK)
C2=E(K6,GK)
C1=E(K4,GK)
C2=E(K6,GK)
続いて、管理装置20は、制御コマンドCMDを、グループ鍵GKを用いて次式で表されるように暗号化し、暗号文をマルチキャスト送信する。
C3=E(GK,CMD)
C3=E(GK,CMD)
第1の機器30-Aおよび第2の機器30-Bは、受信した暗号文をグループ鍵GKを用いて復号する。これにより、第1の機器30-Aおよび第2の機器30-Bは、制御コマンドCMDを実行することができる。このように、管理木情報が図12のように構成されている場合、管理装置20は、3つの暗号文を送信することにより、第1の機器30-Aおよび第2の機器30-Bに制御コマンドCMDを実行させることができる。
なお、図12の例において、管理装置20は、グループ鍵GKを送信せずに、第1の機器30-Aおよび第2の機器30-Bに制御コマンドCMDを実行させることもできる。この場合、管理装置20は、次式で表される暗号文を生成して送信する。グループ鍵GKを送信しない場合には、管理装置20は、2つの暗号文を送信することにより、第1の機器30-Aおよび第2の機器30-Bに制御コマンドCMDを実行させることができる。
C1´=E(K4,CMD)
C2´=E(K6,CMD)
C1´=E(K4,CMD)
C2´=E(K6,CMD)
図13は、管理木情報への機器30の第2の割り当て例を示す図である。図13に示す管理木情報は、第2の機器30-Bがノード番号5のノードに割り当てられている点において、図12と異なる。図13の例では、第2の機器30-Bは、3つのノード鍵K1,K2,K5の組(デバイス鍵)を保有する。
図13の例において、第1の機器30-Aおよび第2の機器30-Bに制御コマンドCMDを実行させるには、まず、管理装置20は、次式で表される暗号文を生成して、マルチキャスト送信する。これにより、第1の機器30-Aおよび第2の機器30-Bは、グループ鍵GKを保有することができる。
C1´´=E(K2,GK)
C1´´=E(K2,GK)
続いて、管理装置20は、制御コマンドCMDを、グループ鍵GKを用いて次式で表されるように暗号化し、暗号文をマルチキャスト送信する。
C3=E(GK,CMD)
C3=E(GK,CMD)
第1の機器30-Aおよび第2の機器30-Bは、受信した暗号文をグループ鍵GKを用いて復号する。これにより、第1の機器30-Aおよび第2の機器30-Bは、制御コマンドCMDを実行することができる。以上のように、管理木情報が図13のように構成されている場合、管理装置20は、2つの暗号文を送信することにより、第1の機器30-Aおよび第2の機器30-Bに制御コマンドCMDを実行させることができる。
また、図13の例において、管理装置20は、グループ鍵GKを送信せずに、第1の機器30-Aおよび第2の機器30-Bに制御コマンドCMDを実行させることもできる。この場合、管理装置20は、次式で表される暗号文を生成して、マルチキャスト送信する。このようにグループ鍵GKを送信しない場合には、管理装置20は、1つの暗号文を送信することにより、第1の機器30-Aおよび第2の機器30-Bに制御コマンドCMDを実行させることができる。
C1´´´=E(K2,CMD)
C1´´´=E(K2,CMD)
以上のように、第1の機器30-Aおよび第2の機器30-Bに同一の制御コマンドCMDを実行させる場合、図12の管理木情報よりも、図13の管理木情報の方が、データの送信量を少なくすることができ、効率が良い。
ここで、図12の管理木情報と図13の管理木情報とを比較する。図12の管理木情報は、第1の機器30-Aが割り当てられたリーフノードと第2の機器30-Bが割り当てられたリーフノードとの間が、4親等の距離となっている。これに対して、図13の管理木情報は、第1の機器30-Aが割り当てられたリーフノードと第2の機器30-Bが割り当てられたリーフノードとの間が、2親等の距離となっている。すなわち、図13の管理木情報は、図12の管理木情報よりも、近い範囲に第1の機器30-Aおよび第2の機器30-Bが割り当てられている。このことから、管理木情報は、1つのグループに属する機器30同士が、近いリーフノードに割り当てられている方が、遠いリーフノードに割り当てられている場合よりも、送信する情報量(暗号文数)を少なくすることができる。
また、管理装置20は、属性情報の類似度の高い複数の機器30に、同一のデータを同時に送信する可能性が高い。例えば、通信システム10の全体の消費電力を抑制する場合、管理装置20は、複数のエアーコンディショナに対して、電力消費量を低下させる制御コマンド等を同時に送信する可能性が高い。従って、管理装置20は、属性情報の類似度の高い複数の機器30を管理木情報における所定の範囲内のリーフノードに割り当てることにより、送信する情報量(暗号文数)を少なくすることができる。
本実施形態に係る管理装置20は、属性情報の類似度が高い機器30同士を管理木情報における近い位置に割り当てる。従って、管理装置20によれば、複数の機器30に少ない情報量で効率良くデータを送信することができる。
(管理木情報の拡張)
拡張部52は、例えば、新たな機器30を管理木情報に割り当てる場合において、管理木情報の空のリーフノードの数が予め定められた数より少ない場合(例えば、空のリーフノードが存在しない場合)、管理木情報を拡張する。
拡張部52は、例えば、新たな機器30を管理木情報に割り当てる場合において、管理木情報の空のリーフノードの数が予め定められた数より少ない場合(例えば、空のリーフノードが存在しない場合)、管理木情報を拡張する。
また、拡張部52は、管理木情報における新たな機器30と最も類似度が高い属性情報の機器30のリーフノードからn親等以内に空のリーフノードが存在しない場合に、管理木情報を拡張してもよい。また、拡張部52は、定期的または所定のイベントが発生した場合であって、管理木情報の空のリーフノードの数が予め定められた数より少ない場合、管理木情報を拡張してもよい。また、拡張部52は、例えば、ネットワークに接続された機器30の個数が予め定められた数を超える毎に、管理木情報を拡張してもよい。
以下、管理木情報の拡張例および拡張後のノード鍵の送信方法について説明する。
図14は、拡張前の管理木情報の第1例を示す図である。例えば、管理木情報は、図14に示すように、1階層の完全2分木の構造であり、ノード番号4のリーフノードに第1の機器30-Aが割り当てられ、ノード番号5のリーフノードに第2の機器30-Bが割り当てられているとする。図14の例において、第1の機器30-Aは、2つのノード鍵K2,K4の組(デバイス鍵)を保有する。第2の機器30-Bは、2つのノード鍵K2,K5の組(デバイス鍵)を保有する。
このような場合、割当部48は、新たな機器30を管理木情報に割り当てることができない。そこで、拡張部52は、例えば、管理木情報の既存のルートノードの上位層にさらにノードを追加する。
図15は、図14の管理木情報におけるルートノードの上位層に、新たなにノードを追加した例を示す図である。図15の例において、拡張部52は、例えば、元のルートノードであるノード番号2の上位層に、ノード番号1の新たなルートノードを追加する。さらに、拡張部52は、ノード番号1のルートノードの下位層に、1階層の完全2分木の部分木を追加する。これにより、拡張部52は、管理木情報に、新たに2つの空のリーフノードを形成して、新たな機器30を割り当て可能にできる。
続いて、割当送信部49は、管理木情報における拡張したノードに割り当てられた新たなノード鍵を、管理木情報に割り当て済みの機器30に送信する。この場合、割当送信部49は、拡張したノードに割り当てられた新たなノード鍵を、既存のノードに割り当てられていたノード鍵であって、送信対象となる機器30のみが保有するノード鍵により暗号化して送信する。
図15の例においては、割当送信部49は、次式に示すように、拡張したノード番号1のノードに割り当てられたノード鍵K1を、既存のノード番号2のノードに割り当てられたノード鍵K2により暗号化して、第1の機器30-Aおよび第2の機器30-Bにマルチキャスト送信する。
C4=E(K2,K1)
C4=E(K2,K1)
これにより、拡張前に管理木情報に割り当てられていた既存の第1の機器30-Aおよび第2の機器30-Bは、拡張後の管理木情報における、ルートノードから対応するリーフノードまでに割り当てられている全てのノード鍵を保有することができる。図15の例においては、第1の機器30-Aは、3つのノード鍵K1,K2,K4の組(デバイス鍵)を保有し、第2の機器30-Bは、3つのノード鍵K1,K2,K5の組(デバイス鍵)を保有することができる。
このように、割当送信部49は、管理木情報をルートノードの上位層へ拡張することにより、管理木情報における拡張したノードに割り当てられた新たなノード鍵を、既存の機器30へ、既に保有しているノード鍵を用いて暗号化して送信することができる。特に、この場合、割当送信部49は、新たなノード鍵を元のルートノードに割り当てられていた1つのノード鍵で暗号化すればよいので、送信する情報量を少なくすることができる。
図16は、拡張前の管理木情報の第2例を示す図である。例えば、管理木情報は、図16に示すように、1階層の完全2分木の構造であり、ノード番号2のリーフノードに第1の機器30-Aが割り当てられ、ノード番号3のリーフノードに第2の機器30-Bが割り当てられているとする。図16の例において、第1の機器30-Aは、2つのノード鍵K1,K2の組(デバイス鍵)を保有する。第2の機器30-Bは、2つのノード鍵K1,K3の組(デバイス鍵)を保有する。
このような場合、割当部48は、新たな機器30を管理木情報に割り当てることができない。そこで、拡張部52は、例えば、管理木情報の既存のリーフノードの下位層にさらにノードを追加してもよい。そして、この場合、拡張部52は、下位層にノードが追加された既存のリーフノードに割り当てられていた機器30を、新たなリーフノードに割り当て直す。また、拡張部52は、例えば、管理木情報の既存のリーフノードとルートノードとの間の中間層にさらにノードを追加してもよい。
図17は、図16の管理木情報におけるリーフノードの下位層に、新たにノードを追加した例を示す図である。図17の例において、拡張部52は、例えば、元のリーフノードであるノード番号2の下位層に、ノード番号4およびノード番号5の新たな2つのリーフノードを追加する。さらに、拡張部52は、ノード番号3の下位層に、ノード番号6およびノード番号7の新たな2つのリーフノードを追加する。
また、図17の例において、拡張部52は、元のリーフノードであるノード番号2に割り当てられていた第1の機器30-Aを、ノード番号4の新たなリーフノードに割り当て直す。また、拡張部52は、元のリーフノードであるノード番号3に割り当てられていた第2の機器30-Bを、ノード番号5の新たなリーフノードに割り当て直す。これにより、拡張部52は、管理木情報に、新たに2つの空のリーフノードを形成して、新たな機器30を割り当て可能にできる。
また、図17の例において、拡張部52は、元のリーフノードであるノード番号2およびノード番号3のノードに、新たなノード鍵K2´,K3´を割り当て直す。
続いて、割当送信部49は、新たに保有すべきノード鍵を、既存のノードに割り当てられていたノード鍵であって、送信対象となる機器30のみが保有するノード鍵により暗号化して、管理木情報に割り当て済みの機器30に送信する。図17の例においては、割当送信部49は、次式に示すように、新たなノード鍵K2´,K4を、既存のノード番号2のノードに割り当てられたノード鍵K2により暗号化して、第1の機器30-Aに送信する。ノード鍵K2は、送信対象である第1の機器30-Aのみが保有し、第2の機器30-Bは保有しない。これにより、第1の機器30-Aは、3つのノード鍵K1,K2´,K4の組(デバイス鍵)を保有することができる。
C5=E(K2,K2´)
C6=E(K2,K4)
C5=E(K2,K2´)
C6=E(K2,K4)
また、図17の例においては、割当送信部49は、次式に示すように、新たなノード鍵K2´,K5を、既存のノード番号3のノードに割り当てられたノード鍵K3により暗号化して、第2の機器30-Bに送信する。ノード鍵K3は、送信対象である第2の機器30-Bのみが保有し、第1の機器30-Aは保有しない。これにより、第2の機器30-Bは、3つのノード鍵K1,K2´,K5の組(デバイス鍵)を保有することができる。
C7=E(K3,K2´)
C8=E(K3,K5)
C7=E(K3,K2´)
C8=E(K3,K5)
このように、割当送信部49は、管理木情報をリーフノードの下位層へ拡張することにより、管理木情報における拡張したノードに割り当てられた新たなノード鍵を、既存の機器30へ、既に保有しているノード鍵を用いて暗号化して送信することができる。なお、拡張部52は、K2´=K2としてもよい。これにより、割当送信部49は、第1の機器30-Aにノード鍵K2を送信しなくてもよいので、送信する情報量をさらに削減することができる。
図18は、図16の管理木情報におけるルートノードとリーフノードとの間の層に、新たにノードを追加した例を示す図である。拡張部52は、例えば、管理木情報のルートノードとリーフノードとの間の層に、さらに新たなノードを追加してもよい。
図18の例において、拡張部52は、例えば、ノード番号1のルートノードの下位層にノード番号4のノードを新たに追加する。そして、拡張部52は、ノード番号2のリーフノードおよびノード番号3のリーフノードを、ノード番号4のノードの下位層に接続する。さらに、拡張部52は、ノード番号1のルートノードの下位層に、1階層の完全2分木の部分木を追加する。これにより、拡張部52は、管理木情報に、新たに2つの空のリーフノードを形成して、新たな機器30を割り当て可能にできる。
続いて、割当送信部49は、追加されたノード番号4のノードに割り当てられたノード鍵を、管理木情報に割り当て済みの第1の機器30-Aおよび第2の機器30-Bに送信する。図18の例においては、割当送信部49は、次式に示すように、新たなノード鍵K4を、既存のノード番号2のノードに割り当てられたノード鍵K2と、既存のノード番号3のノードに割り当てられたノード鍵K3により、それぞれ暗号化して、第1の機器30-Aおよび第2の機器30-Bにマルチキャスト送信する。これにより、第1の機器30-Aは、3つのノード鍵K1,K2,K4の組(デバイス鍵)を保有することができる。また、第2の機器30-Bは、3つのノード鍵K1,K3,K4の組を保有することができる。
C9=E(K2,K4)
C10=E(K3,K4)
C9=E(K2,K4)
C10=E(K3,K4)
このように、管理木情報のルートノードとリーフノードとの間の層にさらに新たなノードを追加することにより、割当送信部49は、追加された新たなノードに割り当てられたノード鍵を、既存のノードに割り当てられていたノード鍵により暗号化して送信することができる。これにより、割当送信部49によれば、送信する情報量を少なくすることができる。
なお、割当送信部49は、次式に示すように、新たなノード鍵K4を、既存のノード番号1のノードに割り当てられたノード鍵K1により暗号化して、第1の機器30-Aおよび第2の機器30-Bにマルチキャスト送信するように構成してもよい。このように構成しても、第1の機器30-Aは、3つのノード鍵K1,K2,K4の組(デバイス鍵)を保有することができる。また、第2の機器30-Bは、3つのノード鍵K1,K3,K4の組(デバイス鍵)を保有することができる。さらに、これにより、割当送信部49は、1つの暗号文を送信するだけでよいので、送信する情報量をさらに削減することができる。
C11=E(K1,K4)
C11=E(K1,K4)
図19は、図16の管理木情報における一方のリーフノードの下位層に、新たなノードを追加した例を示す図である。拡張部52は、例えば、管理木情報の既存の何れか1つのリーフノードの下位層に、さらにノードを追加してもよい。そして、この場合、拡張部52は、下位層にノードが追加された既存のリーフノードに割り当てられていた機器30を、新たなリーフノードに割り当て直す。
図19の例において、拡張部52は、例えば、元のリーフノードであるノード番号3の下位層に、ノード番号4およびノード番号5の新たな2つのリーフノードを追加する。また、図19の例において、拡張部52は、元のリーフノードであるノード番号3に割り当てられていた第2の機器30-Bを、ノード番号4の新たなリーフノードに割り当て直す。これにより、拡張部52は、管理木情報に、新たに1つの空のリーフノードを形成して、新たな機器30を割り当て可能にできる。また、図19の例において、拡張部52は、元のリーフノードであるノード番号3のノードに、新たなノード鍵K3´を割り当て直す。
続いて、割当送信部49は、割り当て位置を変更した第2の機器30-Bに対して、新たに保有すべきノード鍵を送信する。図19の例においては、割当送信部49は、次式に示すように、新たなノード鍵K3´,K4を、既存のノード番号3のノードに割り当てられたノード鍵K3により暗号化して、第2の機器30-Bに送信する。これにより、第2の機器30-Bは、3つのノード鍵K1,K3´,K4の組(デバイス鍵)を保有することができる。
C12=E(K3,K3´)
C13=E(K3,K4)
C12=E(K3,K3´)
C13=E(K3,K4)
このように、割当送信部49は、管理木情報を一方のリーフノードの下位層へ拡張することにより、管理木情報における拡張したノードに割り当てられた新たなノード鍵を、既存の機器30へ、既に保有しているノード鍵を用いて暗号化して送信することができる。なお、拡張部52は、K3´=K3としてもよい。これにより、割当送信部49は、第2の機器30-Bにノード鍵K3を送信しなくてもよいので、送信する情報量を少なくすることができる。
図20は、図16の管理木情報におけるルートノードと一方のリーフノードとの間の層に、新たにノードを追加した例を示す図である。拡張部52は、例えば、管理木情報のルートノードと1つのリーフノードとの間の層に、さらに新たなノードを追加してもよい。
図20の例において、拡張部52は、例えば、ノード番号1のルートノードとノード番号3のリーフノードとの間に、ノード番号4のノードを新たに追加する。そして、拡張部52は、ノード番号5の新たなリーフノードを、ノード番号4のノードの下位層に追加する。これにより、拡張部52は、管理木情報に、新たに1つの空のリーフノードを形成して、新たな機器30を割り当て可能にできる。
続いて、割当送信部49は、追加されたノード番号4のノードに割り当てられたノード鍵を、管理木情報に割り当て済みの第2の機器30-Bに送信する。図20の例においては、割当送信部49は、次式に示すように、新たなノード鍵K4を、既存のノード番号3のノードに割り当てられたノード鍵K3により暗号化して、第2の機器30-Bに送信する。これにより、第2の機器30-Bは、デバイス3つのノード鍵K1,K3,K4の組(デバイス鍵)を保有することができる。
C14=E(K3,K4)
C14=E(K3,K4)
このように、管理木情報のルートノードとリーフノードとの間の層にさらに新たなノードを追加することにより、割当送信部49は、追加された新たなノードに割り当てられたノード鍵を、既存のノードに割り当てられていたノード鍵により暗号化して送信することができる。これにより、割当送信部49によれば、送信する情報量を少なくすることができる。
(管理木情報の再構成)
つぎに、管理木情報の再構成方法および再構成後のノード鍵の送信方法について説明する。再構成部53は、管理木情報における機器30のリーフノードへの割り当て位置を、類似度が高い機器30同士が近いノードの範囲に集中して配置されるように変更する。
つぎに、管理木情報の再構成方法および再構成後のノード鍵の送信方法について説明する。再構成部53は、管理木情報における機器30のリーフノードへの割り当て位置を、類似度が高い機器30同士が近いノードの範囲に集中して配置されるように変更する。
再構成部53は、例えば、定期的または予め定められたイベントが発生した場合に、再構成を実行する。例えば、再構成部53は、拡張部52により管理木情報が拡張された後に、管理木情報を再構成してもよい。また、例えば、再構成部53は、管理木情報における新たな機器30と最も類似度が高い属性情報の機器30のリーフノードから、n親等以内に空のリーフノードが存在しない場合に、管理木情報を再構成してもよい。また、例えば、再構成部53は、管理木情報における新たな機器30と最も類似度が高い属性情報の機器30のリーフノードから、n親等以内に空のリーフノードが存在した場合であっても、管理木情報を再構成してもよい。
以下、属性情報に含まれる時刻の経過に応じて変化する要素情報を類似度の指標として用いて、管理木情報を再構成する例について説明する。
図21は、再構成前の管理木情報を示す図である。図21の例において、再構成前の管理木情報は、2階層の完全2分木の構造であり、ノード番号4のリーフノードに第1の機器30-Aが割り当てられ、ノード番号5のリーフノードに第2の機器30-Bが割り当てられ、ノード番号6のリーフノードに第3の機器30-Cが割り当てられているとする。図21の例において、第1の機器30-Aは、3つのノード鍵K1,K2,K4の組(デバイス鍵)を保有する。第2の機器30-Bは、3つのノード鍵K1,K2,K5の組(デバイス鍵)を保有する。第3の機器30-Cは、3つのノード鍵K1,K3,K6の組(デバイス鍵)を保有する。
属性取得部46は、それぞれの機器30から属性情報を取得する。第1の機器30-Aの平均消費電力が1000[W]、第2の機器30-Bの平均消費電力が100[W]、第3の機器30-Cの平均消費電力が1200[W]であったとする。この場合、第1の機器30-Aおよび第3の機器30-Cは、平均消費電力の差が小さく類似度が高いので、例えば、電力消費の抑制を指示する制御コマンドを同時に受け取る可能性が高い。
第1の機器30-Aおよび第3の機器30-Cに制御コマンドを実行させる場合、まず、管理装置20は、次式で示される暗号文を生成して送信する。これにより、第1の機器30-Aおよび第3の機器30-Cは、グループ鍵GKを保有することができる。なお、第2の機器30-Bは、ノード鍵K4およびK6を保有していないので、グループ鍵GKを取得することができない。
C15=E(K4,GK)
C16=E(K6,GK)
C15=E(K4,GK)
C16=E(K6,GK)
続いて、管理装置20は、次式に示すように、制御コマンドCMDをグループ鍵GKにより暗号化して、第1の機器30-Aおよび第3の機器30-Cにマルチキャスト送信する。
C17=E(GK,CMD)
C17=E(GK,CMD)
第1の機器30-Aおよび第3の機器30-Cは、受信した暗号文をグループ鍵GKにより復号し、制御コマンドCMDを実行する。このように、管理木情報が図21に示されるように構成されている場合、管理装置20は、第1の機器30-Aおよび第3の機器30-Cに制御コマンドを送信するためには、3つの暗号文を生成しなければならない。
図22は、再構成後の管理木情報を示す図である。再構成部53は、例えば、属性情報のうちの平均消費電力が一定値以上の機器30同士が近傍に配置されるように、管理木情報を再構成する。例えば、再構成部53は、平均消費電力が1000[W]以上の機器30が、2親等以内に配置されるように管理木情報を再構成する。従って、再構成部53は、図22に示すように、例えば、ノード番号4のリーフノードに第1の機器30-Aを割り当て、ノード番号5のリーフノードに第3の機器30-Cを割り当て、ノード番号6のリーフノードに第2の機器30-Bを割り当てる。
さらに、再構成部53は、機器30の割り当ての変更に伴い、それぞれのノードに割り当てられるノード鍵を変更する。この場合、再構成部53は、割り当て変更がされた機器30が保有していたノード鍵を変更し、割り当て変更がされた機器30が保有していないノード鍵は変更しなくてよい。また、再構成部53は、割り当て変更がされた全ての機器30が共通に保有していたノード鍵も変更しなくてもよい。図22の例においては、再構成部53は、ノード番号2のノード、ノード番号3のノード、ノード番号5のノードおよびノード番号6のノードのノード鍵を変更する。
そして、割当送信部49は、変更されたノード鍵を機器30へと送信する。図22の例においては、割当送信部49は、下記の式に示すように、ノード鍵K2´をノード鍵K4で暗号化して第1の機器30-Aに送信する。これにより、第1の機器30-Aは、3つのノード鍵K1,K2´,K4の組(デバイス鍵)を保有することができる。
C18=E(K4,K2´)
C18=E(K4,K2´)
また、割当送信部49は、下記の式に示すように、ノード鍵K2´、K5´をノード鍵K6で暗号化して第3の機器30-Cに送信する。これにより、第3の機器30-Cは、3つのノード鍵K1,K2´,K5´の組(デバイス鍵)を保有することができる。
C19=E(K6,K2´)
C20=E(K6,K5´)
C19=E(K6,K2´)
C20=E(K6,K5´)
また、割当送信部49は、下記の式に示すように、ノード鍵K3´、K6´をノード鍵K5で暗号化して第2の機器30-Bに送信する。これにより、第2の機器30-Bは、3つのノード鍵K1,K3´,K6´の組(デバイス鍵)を保有することができる。
C21=E(K5,K3´)
C22=E(K5,K6´)
C21=E(K5,K3´)
C22=E(K5,K6´)
続いて、第1の機器30-Aおよび第3の機器30-Cに制御コマンドを実行させる場合、まず、管理装置20は、次式で示される暗号文を生成して、第1の機器30-Aおよび第3の機器30-Cにマルチキャスト送信する。これにより、第1の機器30-Aおよび第3の機器30-Cは、グループ鍵GKを保有することができる。
C21=E(K2´,GK)
C21=E(K2´,GK)
続いて、管理装置20は、次式に示すように、制御コマンドCMDをグループ鍵GKにより暗号化して、第1の機器30-Aおよび第3の機器30-Cにマルチキャスト送信する。
C22=E(GK,CMD)
C22=E(GK,CMD)
つまり、管理木情報を図22のように再構成した場合、管理装置20は、第1の機器30-Aおよび第3の機器30-Cに制御コマンドを実行させるために、2つの暗号文を送信すればよい。従って、管理装置20は、第1の機器30-Aおよび第3の機器30-Cに制御コマンドを実行させるために送信しなければならない暗号文の数を1つ削減することができる。
なお、管理装置20は、第1の機器30-Aと第3の機器30-Cとの間でグループ鍵GKを共有せずに、ノード鍵K2´により制御コマンドCMDを暗号化してマルチキャスト送信してもよい。この場合、管理装置20は、1つの暗号文で第1の機器30-Aおよび第3の機器30-Cに制御コマンドを送信することができる。
以上のように、制御コマンドがマルチキャスト送信される可能性が高い機器30を少数の部分木に収まるように管理木情報を再構成することにより、管理装置20は、送信すべき暗号文の数を削減することができ、送信時の情報量を削減できる。
なお、再構成部53は、管理木情報の再構成を行う際の類似度の指標として平均消費電力を用いたが、これに限らず、時間変化の無い属性情報の要素情報を類似度の指標としてもよい。また、再構成部53は、複数の種類の要素情報を合成した値を類似度の指標としてもよい。さらに、再構成部53は、要素情報に応じて重み付けを変えて合成した類似度を指標としてもよい。
上述したように本実施形態に係る管理装置20は、制御コマンドがマルチキャスト送信される可能性が高い機器30が少数のノードが構成される部分木に収まるように管理木情報を再構成する。これにより、管理装置20によれば、暗号化または認証に用いるグループ鍵またはノード鍵を共有するための通信量を削減することができる。また、管理装置20は、機器30の増加に応じて管理木情報を拡張することができる。従って、管理装置20は、機器30の数が少ない場合には管理木情報を小さくして、メモリ量等を削減することができる。
図23は、実施形態に係る管理装置20のハードウェア構成の一例を示す図である。本実施形態に係る管理装置20は、例えば図23に示すようなハードウェア構成の情報処理装置により実現される。なお、機器30も、管理装置20と同様のハードウェア構成の情報処理装置により実現される。
この情報処理装置は、CPU(Central Processing Unit)201と、RAM(Random Access Memory)202と、ROM(Read Only Memory)203と、操作入力装置204と、表示装置205と、記憶装置206と、通信装置207とを備える。そして、これらの各部は、バスにより接続される。
CPU201は、プログラムに従って演算処理および制御処理等を実行するプロセッサである。CPU201は、RAM202の所定領域を作業領域として、ROM203および記憶装置206等に記憶されたプログラムとの協働により各種処理を実行する。
RAM202は、SDRAM(Synchronous Dynamic Random Access Memory)等のメモリである。RAM202は、CPU201の作業領域として機能する。ROM203は、プログラムおよび各種情報を書き換え不可能に記憶するメモリである。
操作入力装置204は、マウスおよびキーボード等の入力デバイスである。操作入力装置204は、ユーザから操作入力された情報を指示信号として受け付け、指示信号をCPU201に出力する。
表示装置205は、LCD(Liquid Crystal Display)等の表示デバイスである。表示装置205は、CPU201からの表示信号に基づいて、各種情報を表示する。
記憶装置206は、フラッシュメモリ等の半導体による記憶媒体、または、磁気的若しくは光学的に記録可能な記憶媒体等にデータを書き込みおよび読み出しをする装置である。記憶装置206は、CPU201からの制御に応じて、記憶媒体にデータの書き込みおよび読み出しをする。通信装置207は、CPU201からの制御に応じて外部機器とネットワークを介して通信する。
本実施形態の管理装置20で実行されるプログラムは、機器発見モジュール、機器認証モジュール、属性取得モジュール、類似度算出モジュール、割当モジュール、割当送信モジュール、グループ鍵送信モジュール、生成モジュール、拡張モジュール、再構成モジュール、暗号化モジュール、および、第1通信モジュールを含むモジュール構成となっている。このプログラムは、CPU201(プロセッサ)によりRAM202上に展開して実行されることにより、情報処理装置を、機器発見部44、機器認証部45、属性取得部46、類似度算出部47、割当部48、割当送信部49、グループ鍵送信部50、生成部51、拡張部52、再構成部53、暗号化部54および第1通信部55として機能させる。
なお、管理装置20は、このような構成に限らず、機器発見部44、機器認証部45、属性取得部46、類似度算出部47、割当部48、割当送信部49、グループ鍵送信部50、生成部51、拡張部52、再構成部53、暗号化部54および第1通信部55の少なくとも一部をハードウェア回路(例えば半導体集積回路)により実現した構成であってもよい。
本実施形態の機器30で実行されるプログラムは、属性測定モジュール、管理装置発見モジュール、要求モジュール、管理装置認証モジュール、属性送信モジュール、割当受信モジュール、グループ鍵受信モジュール、復号モジュール、および、第2通信モジュールを含むモジュール構成となっている。このプログラムは、CPU201(プロセッサ)によりRAM202上に展開して実行されることにより、情報処理装置を、属性測定部63、管理装置発見部64、要求部65、管理装置認証部66、属性送信部67、割当受信部68、グループ鍵受信部69、復号部70、および、第2通信部71として機能させる。
なお、機器30は、このような構成に限らず、属性測定部63、管理装置発見部64、要求部65、管理装置認証部66、属性送信部67、割当受信部68、グループ鍵受信部69、復号部70、および、第2通信部71の少なくとも一部をハードウェア回路(例えば半導体集積回路)により実現した構成であってもよい。
また、本実施形態の管理装置20で実行されるプログラムは、コンピュータにインストール可能な形式または実行可能な形式のファイルで、CD-ROM、フレキシブルディスク、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施形態の管理装置20で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の管理装置20で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、管理装置20で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
Claims (20)
- 複数の機器にネットワークを介して接続可能な管理装置であって、
ノードにノード鍵が割り当てられ、リーフノードに機器が割り当てられた管理木情報を記憶する木記憶部と、
新たな機器の属性を表す属性情報と前記管理木情報に割り当て済みの機器の前記属性情報との類似度を算出する類似度算出部と、
前記類似度に基づき、前記管理木情報における新たな機器を割り当てるリーフノードを決定する割当部と、
新たな機器に、前記管理木情報におけるルートノードから対応するリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を送信する割当送信部と、
を備える管理装置。 - 前記割当部は、前記類似度が基準値以上の機器が割り当てられたリーフノードから、予め定められたエッジ数で到達可能な空のリーフノードに、新たな機器を割り当てる
請求項1に記載の管理装置。 - 前記木記憶部に前記管理木情報が存在していない場合、新たな前記管理木情報を生成して前記木記憶部に記憶させる生成部をさらに備え、
前記割当部は、新たな前記管理木情報の何れかのリーフノードに新たな機器を割り当てる
請求項1または2に記載の管理装置。 - 前記管理木情報の空のリーフノードの数が予め定められた数より少ない場合、前記管理木情報を拡張する拡張部をさらに備え、
前記割当送信部は、前記管理木情報に割り当て済みの機器に、前記管理木情報におけるルートノードから対応するリーフノードまでのパスに割り当てられたノード鍵のうち、拡張したノードに割り当てられた新たなノード鍵を送信する
請求項1から3の何れか1項に記載の管理装置。 - 前記割当送信部は、前記管理木情報に割り当て済みの機器に、拡張したノードに割り当てられた新たなノード鍵を、他の機器が保有していない既存のノードに割り当てられていたノード鍵により暗号化して送信する
請求項4に記載の管理装置。 - 前記拡張部は、前記管理木情報の既存のルートノードの上位層にさらにノードを追加する
請求項4または5に記載の管理装置。 - 前記拡張部は、前記管理木情報の既存のリーフノードの下位層にさらにノードを追加し、下位層にノードが追加された既存のリーフノードに割り当てられていた機器を、新たなリーフノードに割り当て直す
請求項4または5に記載の管理装置。 - 前記木記憶部に記憶された前記管理木情報における機器のリーフノードへの割り当て位置を、前記属性情報の前記類似度が予め定められた値以上の機器同士が予め定められたエッジ数で到達可能な範囲に属するように変更する再構成部をさらに備える
請求項1から7の何れか1項に記載の管理装置。 - 前記属性情報は、それぞれの機器の属性を表す複数の要素情報を含み、
前記類似度算出部は、2つの前記属性情報の前記類似度を算出する場合、対応する前記要素情報を比較し、複数の前記要素情報毎の比較結果を合成して前記類似度を算出する
請求項1から8の何れか1項に記載の管理装置。 - 前記類似度算出部は、前記要素情報によって比較結果に重みを変えて合成して前記類似度を算出する
請求項9に記載の管理装置。 - 前記属性情報は、時間によって変化しない前記要素情報と、時間によって変化する前記要素情報とを含む
請求項9または10に記載の管理装置。 - 複数の機器にネットワークを介して接続可能な管理装置であって、
第1の機器の属性情報である第1属性情報を受け取り、
第1のリーフノードより最も近い第2のリーフノードに割り当てることで構成された木構造のグラフのルートノードから前記第2のリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を送信し、
前記第1のリーフノードは第2の機器が割り当てられたノードであり、
前記第2の機器は、前記第2の機器の属性情報である第2属性情報が前記第1属性情報と一致する機器である
管理装置。 - 前記木構造のグラフのルートノードから前記第1のリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を更に送信する
請求項12に記載の管理装置。 - 複数の機器にネットワークを介して接続可能な管理装置であって、
前記複数の機器の少なくとも1以上の機器の属性情報を受け取り、
木構造のグラフのルートノードから各リーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を送信し、
前記木構造のグラフは、前記複数の機器のうち、前記受け取った属性情報が一致する機器を第1のリーフノードに割り当てられたものであり、かつ、前記複数の機器のうち、前記受け取った属性情報が一致しない機器を第2のリーフノードに割り当てられたものである
管理装置。 - 複数の機器にネットワークを介して接続可能な管理装置であって、
第1の機器の識別情報を受け取り、前記第1の機器の識別情報と、1以上の第2の機器の識別情報に基づき構成された木構造のグラフのルートノードからリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を送信する
管理装置。 - 複数の機器にネットワークを介して接続可能な管理装置であって、
第1の機器の属性情報を受け取り、前記第1の機器の属性情報と、1以上の第2の機器の属性情報に基づき構成された木構造のグラフのルートノードからリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を送信する
管理装置。 - 情報処理装置を、請求項1から16の何れか1項に記載の管理装置として機能させるためのプログラム。
- 請求項1から16の何れか1項に記載の管理装置と、ネットワークを介して接続可能な複数の機器とを備えるシステム。
- 請求項18に記載のシステムに備えられる機器であって、
前記属性情報を前記管理装置へと送信する属性送信部を有する機器。 - 複数の機器にネットワークを介して接続可能な管理装置において実行される方法であって、
前記管理装置は、ノードにノード鍵が割り当てられ、リーフノードに機器が割り当てられた管理木情報を記憶する木記憶部を備え、
前記管理装置は、
新たな機器の属性を表す属性情報と前記管理木情報に割り当て済みの機器の前記属性情報との類似度を算出し、
前記類似度に基づき、前記管理木情報における前記新たな機器を割り当てるリーフノードを決定し、
前記新たな機器に、前記管理木情報におけるルートノードから対応するリーフノードまでのパスに割り当てられた少なくとも1つのノード鍵を送信する
方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017505911A JP6271808B2 (ja) | 2015-03-16 | 2015-03-16 | 管理装置、プログラム、システムおよび方法 |
PCT/JP2015/057749 WO2016147303A1 (ja) | 2015-03-16 | 2015-03-16 | 管理装置、プログラム、システム、機器および方法 |
US15/448,159 US10447469B2 (en) | 2015-03-16 | 2017-03-02 | Management apparatus, computer program product, system, device, and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/057749 WO2016147303A1 (ja) | 2015-03-16 | 2015-03-16 | 管理装置、プログラム、システム、機器および方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/448,159 Continuation US10447469B2 (en) | 2015-03-16 | 2017-03-02 | Management apparatus, computer program product, system, device, and method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016147303A1 true WO2016147303A1 (ja) | 2016-09-22 |
Family
ID=56919890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/057749 WO2016147303A1 (ja) | 2015-03-16 | 2015-03-16 | 管理装置、プログラム、システム、機器および方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10447469B2 (ja) |
JP (1) | JP6271808B2 (ja) |
WO (1) | WO2016147303A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018157246A (ja) * | 2017-03-15 | 2018-10-04 | 株式会社東芝 | 管理装置、および管理方法 |
JP2020129808A (ja) * | 2017-03-15 | 2020-08-27 | 株式会社東芝 | 管理装置、および管理方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022041141A1 (zh) * | 2020-08-28 | 2022-03-03 | 华为技术有限公司 | 一种通信方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049878A (en) * | 1998-01-20 | 2000-04-11 | Sun Microsystems, Inc. | Efficient, secure multicasting with global knowledge |
WO2002060116A2 (en) * | 2001-01-26 | 2002-08-01 | International Business Machines Corporation | Method for broadcast encryption |
WO2002080448A1 (fr) * | 2001-03-29 | 2002-10-10 | Sony Corporation | Appareil de traitement de l'information |
JP2003204321A (ja) * | 2001-10-26 | 2003-07-18 | Matsushita Electric Ind Co Ltd | 著作物保護システム及び鍵管理装置 |
JP2005198116A (ja) * | 2004-01-09 | 2005-07-21 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツ配信・再生方法、コンテンツ配信・再生システム、その管理装置及び再生装置 |
WO2014010087A1 (ja) * | 2012-07-13 | 2014-01-16 | 株式会社東芝 | 通信制御装置、通信装置およびプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1459475A2 (en) * | 2001-10-26 | 2004-09-22 | Matsushita Electric Industrial Co., Ltd. | Key management apparatus |
WO2003084166A1 (en) * | 2002-03-27 | 2003-10-09 | British Telecommunications Public Limited Company | Key management protocol |
JP4632413B2 (ja) * | 2004-09-01 | 2011-02-16 | キヤノン株式会社 | 情報暗号化装置及び情報配信装置並びにそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
JP4630826B2 (ja) * | 2006-01-27 | 2011-02-09 | 株式会社東芝 | 復号鍵生成方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、プログラム、暗号化装置及び復号装置 |
JP5676331B2 (ja) * | 2011-03-24 | 2015-02-25 | 株式会社東芝 | ルートノード及びプログラム |
-
2015
- 2015-03-16 JP JP2017505911A patent/JP6271808B2/ja active Active
- 2015-03-16 WO PCT/JP2015/057749 patent/WO2016147303A1/ja active Application Filing
-
2017
- 2017-03-02 US US15/448,159 patent/US10447469B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049878A (en) * | 1998-01-20 | 2000-04-11 | Sun Microsystems, Inc. | Efficient, secure multicasting with global knowledge |
WO2002060116A2 (en) * | 2001-01-26 | 2002-08-01 | International Business Machines Corporation | Method for broadcast encryption |
WO2002080448A1 (fr) * | 2001-03-29 | 2002-10-10 | Sony Corporation | Appareil de traitement de l'information |
JP2003204321A (ja) * | 2001-10-26 | 2003-07-18 | Matsushita Electric Ind Co Ltd | 著作物保護システム及び鍵管理装置 |
JP2005198116A (ja) * | 2004-01-09 | 2005-07-21 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツ配信・再生方法、コンテンツ配信・再生システム、その管理装置及び再生装置 |
WO2014010087A1 (ja) * | 2012-07-13 | 2014-01-16 | 株式会社東芝 | 通信制御装置、通信装置およびプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018157246A (ja) * | 2017-03-15 | 2018-10-04 | 株式会社東芝 | 管理装置、および管理方法 |
JP2020129808A (ja) * | 2017-03-15 | 2020-08-27 | 株式会社東芝 | 管理装置、および管理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6271808B2 (ja) | 2018-01-31 |
US20170180120A1 (en) | 2017-06-22 |
JPWO2016147303A1 (ja) | 2017-04-27 |
US10447469B2 (en) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10951400B2 (en) | Authentication method, authentication system, and controller | |
US11647021B2 (en) | Authentication method, authentication system, and controller | |
US9509510B2 (en) | Communication device, communication method, and computer program product | |
US8855306B2 (en) | Node distributed with group key and group key updating | |
TWI778171B (zh) | 待配網設備連接網路熱點設備的方法和系統 | |
TWI462557B (zh) | 網路中通信的方法、通信裝置及其系統 | |
JP6271808B2 (ja) | 管理装置、プログラム、システムおよび方法 | |
JP2004048769A (ja) | 暗号化キー分配方法、ローミング方法、暗号化キー割り当て装置及びコンピュータで再生可能な記録媒体 | |
JP5813872B2 (ja) | 通信制御装置、通信装置およびプログラム | |
JP6076752B2 (ja) | 通信装置、通信システムおよびプログラム | |
JP2016512005A (ja) | 共有鍵を導出するよう構成されたネットワークデバイス | |
US20120201376A1 (en) | Communication device and key calculating device | |
Gharib et al. | Secure overlay routing using key pre-distribution: A linear distance optimization approach | |
JP2018038077A (ja) | 管理装置、プログラム、システムおよび方法 | |
JP6211818B2 (ja) | 通信装置、通信方法、プログラムおよび通信システム | |
US20200169390A1 (en) | Hash-based key distribution | |
JP7113269B2 (ja) | 通信システムおよび通信方法 | |
JP7437722B2 (ja) | データ送信方法、通信処理方法、装置、および通信処理プログラム | |
Mansour et al. | Evaluation of different cryptographic algorithms on wireless sensor network nodes | |
CN111917763A (zh) | 一种物联网设备控制方案的生成方法、装置及*** | |
JP5839124B2 (ja) | ノードおよび通信方法 | |
JP6394322B2 (ja) | 鍵データ生成システム、及び鍵データ生成方法 | |
JP2022092082A (ja) | 情報処理装置、通信システム、情報処理方法、及びプログラム | |
Yongfei et al. | A Security Reactive Routing Strategy for Ad Hoc Network | |
JP2020043468A (ja) | 情報処理装置および電力線通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15885400 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2017505911 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15885400 Country of ref document: EP Kind code of ref document: A1 |