WO2013140455A1 - アドホックネットワークシステム、ノード、および通信方法 - Google Patents

アドホックネットワークシステム、ノード、および通信方法 Download PDF

Info

Publication number
WO2013140455A1
WO2013140455A1 PCT/JP2012/001987 JP2012001987W WO2013140455A1 WO 2013140455 A1 WO2013140455 A1 WO 2013140455A1 JP 2012001987 W JP2012001987 W JP 2012001987W WO 2013140455 A1 WO2013140455 A1 WO 2013140455A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
value
packet
payload data
data
Prior art date
Application number
PCT/JP2012/001987
Other languages
English (en)
French (fr)
Inventor
由美 酒見
伊豆 哲也
和快 古川
尚 兒島
武仲 正彦
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2012/001987 priority Critical patent/WO2013140455A1/ja
Priority to JP2014505803A priority patent/JP5962750B2/ja
Publication of WO2013140455A1 publication Critical patent/WO2013140455A1/ja
Priority to US14/338,821 priority patent/US20140334383A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • the technology disclosed in this specification relates to a technology for transmitting and receiving packets between nodes in an ad hoc network system.
  • An ad hoc network is a type of self-configuring network that is linked by wireless or wired communication.
  • An ad hoc network is composed of a plurality of devices having a communication function.
  • a device having a communication function in an ad hoc network is called a node.
  • Each node in the ad hoc network transmits and receives packets by multi-hop communication.
  • Multi-hop communication is a technology that enables communication even between nodes that are not within the communication range of each other, via another node that is within the communication range of each node.
  • a meter-reading system that collects the power consumption of each home via the ad hoc network by incorporating a node capable of wireless communication into the power meter of each home.
  • a packet including the power consumption amount of each home detected by each electric meter is transferred from each node included in each home electric meter to the system of the electric power company.
  • the packet transferred by the meter-reading system includes personal information related to the power usage of each household.
  • MAC value which is a kind of code information for the packet
  • the packet includes a communication header, a data part, and a MAC value storage part.
  • the communication header includes various information such as a transmission source address, a destination address, a transfer source address, and a transfer destination address.
  • the node X that transfers the packet calculates the MAC value A according to a predetermined algorithm for the communication header and the data part. For the predetermined algorithm, a calculation method of code information is defined. Further, the node X stores the MAC value A in the MAC value storage unit. Then, the node X transmits the packet to the transfer destination node Y.
  • the node Y that has received the packet calculates the MAC value B according to a predetermined algorithm for the communication header and the data part included in the packet.
  • the MAC value A stored in the MAC storage unit in the packet is compared with the calculated MAC value B. As a result of the comparison, when the MAC value A and the MAC value B match, the node Y transfers the packet to the node Z as a new transfer destination.
  • the node Y discards the received packet.
  • the node receiving the packet verifies the packet using the MAC value.
  • Each node in the network system discards a packet whose integrity is not proved by using a value having a predetermined logical relationship to data in the packet, such as a MAC value, to verify the packet. Can do. However, in the process of transfer, some data included in the packet may be lost or rewritten for some reason.
  • the network system aims to transmit a packet including payload data to a target address by multi-hop communication. However, in the conventional method, a packet to be transferred may be discarded. .
  • the payload data is data obtained by removing additional information such as a header and a trailer from the data constituting the packet.
  • the technique disclosed in the present embodiment uses a part of the packet to be transferred when verifying the integrity of the data in the packet using a value having a predetermined logical relationship with the data in the packet.
  • the purpose is to prioritize forwarding if the integrity of the is proven.
  • the plurality of nodes in an ad hoc network system that transfers a packet including a first header portion, a second header portion, and a payload data portion between a plurality of nodes, the plurality of nodes
  • the first node has a first logical relationship with respect to the first header information including the payload data set in the payload data portion and the destination address set in the first header portion.
  • the communication unit that receives the packet, the information stored in the payload data portion in the received packet, and the value that is the first logical relationship with respect to the information stored in the first header portion are The second logical relationship with respect to the information stored in the payload data portion and the information stored in the second header portion in the received packet that does not match the first value
  • a verification unit that performs control to transmit a packet based on the received packet to a third node when the value matches the second value;
  • FIG. 1 is an explanatory diagram of an example of the network system according to the embodiment.
  • FIG. 2 is a diagram illustrating a data configuration example of a packet.
  • FIG. 3 is a diagram for explaining the first value and the second value.
  • FIG. 4 is a functional block diagram of a node in the first embodiment.
  • FIG. 5 is a data configuration example of a routing table stored in the routing table storage unit 131.
  • 6A to 6E are examples of various data tables provided in the key information storage unit 131.
  • FIG. FIG. 7 is a flowchart of packet generation processing according to the first embodiment.
  • FIG. 8 is a flowchart of packet verification processing according to the first embodiment.
  • FIG. 9 is a sequence diagram showing a flow of transmitting a packet in the ad hoc network.
  • FIG. 10 is a flowchart of packet generation processing according to the second embodiment.
  • FIG. 11 is a flowchart of packet verification processing according to the second embodiment.
  • FIG. 12 is a
  • FIG. 1 is an explanatory diagram of an example of the network system according to the embodiment.
  • the network system includes a plurality of nodes N, a sink node SN, and a server S.
  • the network system according to the present embodiment and packet transmission in the network system will be described with reference to FIG.
  • the network system according to the present embodiment is an ad hoc network system.
  • the server S and the sink node SN are connected via a normal network 101 such as the Internet, LAN, or WAN.
  • the sink node SN and the nodes Na to Nh are connected via the ad hoc network 100.
  • nodes Na to Nh are shown as representatives.
  • the sink node SN is a relay device that connects the ad hoc network 100 and the normal network 101.
  • the sink node SN can transmit and receive both the protocol format information of the ad hoc network 100 and the protocol format information of the normal network 101.
  • the sink node SN performs communication by protocol-converting information between the ad hoc network 100 and the normal network 101. For example, a packet transmitted from any of the nodes N in the ad hoc network 100 to the server S is subjected to protocol conversion at the sink node SN. Thereafter, the sink node SN transmits the packet to the normal network 101, so that the packet reaches the server S.
  • data transmitted from the server S or the sink node SN to each node N is subjected to protocol conversion at the sink node SN, and is transmitted as a packet from the sink node SN to each node N in the ad hoc network 100.
  • the sink node SN grasps whether or not communication between the nodes N is possible by using a routing table. Then, the sink node SN autonomously generates a packet transmission route based on the information in the routing table.
  • each node N may individually generate a routing table.
  • Each node N exchanges information regarding communication status with surrounding nodes N. And each node N produces
  • Each node is a device capable of multi-hop communication with other nodes that can communicate within a predetermined communication range.
  • nodes that can directly communicate with the sink node SN are nodes Na and Nd.
  • one sink node SN is provided in the ad hoc network 100, but a plurality of sink nodes SN may be provided in one ad hoc network 100.
  • there is one ad hoc network 100 but there may be a plurality of ad hoc networks.
  • each of the plurality of ad hoc networks includes at least one sink node SN, and the server S is connected to the sink node SN via the normal network.
  • the ad hoc network system is applied to a system that collects the power consumption of each household, for example.
  • each node N is installed in a power meter in each home for detecting the amount of power used in each home.
  • the server S can collect the power usage of each household.
  • a node N is incorporated in each household power meter.
  • Each node N transmits the power and usage of each home to the server S via the ad hoc network 100.
  • each node stores the detected power usage amount in its own storage area.
  • the sink node SN transmits the power and usage of each home received from each node in the ad hoc network 100 to the server S of the power company via the normal network 101. Thereby, the amount of electric power used can be collected without a worker going to the site.
  • this network system can also be used for surveying the environment, for example, by providing each node with a sensor function that detects temperature, humidity, light quantity, etc. .
  • the route R1 is a route including the node Nc, the node Nb, the node Na, and the sink node SN.
  • the route R2 is a route including the node Ne, the node Nd, and the sink node SN.
  • the route R3 is a route including the node Ng, the node Nf, the node Nd, and the sink node SN.
  • the route R4 is a route including the node Nh, the node Nf, the node Nd, and the sink node SN. Note that the node Na and the node Nd are nodes that directly communicate with the sink node.
  • the node close to the sink node SN is called the upstream node.
  • the node Nb and the node Ne are also upstream nodes.
  • each of the nodes Na to Nh transmits the detected data to the sink node SN along the routed paths R1 to R4.
  • FIG. 2 is a diagram illustrating a data configuration example of a packet.
  • the packet 20 is assigned a first header part 21, a second header part 22, a payload data part 23, a first value storage part 24, and a second value storage part 25, respectively.
  • first header information is described.
  • the first header information includes a local transmission source address, a local transmission destination address, and additional information.
  • the local transmission source address is information regarding the address of the device that transmits the packet 20.
  • the local transmission destination address is information regarding the address of the device that is the destination of the packet 20.
  • the local transmission source address and the local transmission destination address are the addresses of the node and the sink node.
  • the additional information is header information other than the local transmission source address, local transmission destination address, global transmission source address, and global transmission destination address. For example, it is information such as the transmission date and time and the number of transfers. The global transmission source address and global transmission destination address will be described later.
  • the second header information includes a global transmission source address and a global transmission destination address.
  • the global transmission source address is information related to the address of the device that generated the payload data described in the payload data section 23.
  • the global transmission destination address is information related to the address of the device that finally receives the payload data described in the payload data section 23.
  • the global transmission source address and the global transmission destination address are addresses of nodes, sink nodes, and servers.
  • Payload data portion 23 describes payload data.
  • the payload data includes information on the power consumption of each household.
  • the first value storage unit 24 a first value for verifying the integrity of the packet 20 is described.
  • the second value storage unit 25 describes a second value for verifying the integrity of the packet 20. The verification of completeness is to verify whether the data content at the time of packet generation matches the data content at the time of packet reception.
  • FIG. 3 is a diagram for explaining the first value and the second value. Here, the case where a 1st value and a 2nd value are set to the packet containing the data which the node N acquired is demonstrated.
  • the node N sets the payload data including the acquired data in the payload data section 23.
  • the node N ensures the confidentiality of the payload data by encrypting the payload data with the encryption key.
  • the encryption key is a key shared by each node and the server. Also, the encryption key may be a different key for each node, or may be a common key for all nodes.
  • the node N generates second header information including a global transmission source address and a global transmission destination address. Then, the node N stores the second header information in the second header part. Then, the node N calculates a second value for verifying the integrity of the second header information and the encrypted payload data based on a predetermined algorithm. Then, the node N sets the second value in the second value storage unit 25.
  • the data including the second header information and the encrypted payload data is hereinafter referred to as application data.
  • the second value is a value that has a predetermined logical relationship with the application data.
  • the second value is a value obtained by compressing application data into a character string of a certain length, and is a hash value, a MAC value, an MDC value, or the like.
  • the second value is a MAC value calculated using the application data MAC key.
  • the node N calculates the MAC value of the application data using the application data MAC key.
  • the application data MAC key a key shared in advance between each node, sink node, and server is used.
  • the node N generates first header information including a local transmission source address and a local transmission destination address. Then, the node N stores the first header information in the first header part. Then, the node N calculates a first value for verifying the integrity of the first header information and the application data based on a predetermined algorithm. Then, the node N sets the first value in the first value storage unit 24. Data including the first header information, application data, and the second value is hereinafter referred to as ad hoc data.
  • the first value is a value that has a predetermined logical relationship with the ad hoc data.
  • the first value is a value obtained by compressing ad hoc data into a character string of a certain length, and is a hash value, a MAC value, an MDC value, or the like.
  • the first value is a MAC value calculated using the MAC key for ad hoc data.
  • the node N calculates the MAC value of the ad hoc data using the ad hoc data MAC key.
  • the ad hoc data MAC key is shared between at least two nodes. The two nodes are a node corresponding to the local transmission source address and a node corresponding to the local transmission destination address.
  • the ad-hoc data MAC key may be the same as the application data MAC key and shared by all nodes.
  • the first header information, the second header information, the payload data, the first value, and the second value are set in each position assigned in advance in the packet 20, and the node N to another node Sent to.
  • the node Nc sets the payload data including the acquired power consumption data in the payload data unit 23.
  • the node Nc encrypts the payload data using the encryption key.
  • the node Nc sets the address of the node Nc that acquired the power consumption data in the second header section 22 as the global transmission source address. Further, the node Nc sets the address of the sink node SN as the global transmission destination address in the second header part 22.
  • the node Nc calculates the MAC value for the application data using the application data MAC key, and sets it in the second value storage unit 25. Subsequently, the node Nc sets the address of the node Nc as the local transmission source address in the first header part 21. The address of the node Nb is set in the first header portion 21 as the local transmission destination address. Further, information such as the transmission date and time may be further described in the first header portion 21.
  • the node Nc refers to the routing table relating to the route R1 generated in advance and identifies the node that is the transmission destination. Details of the routing table will be described later.
  • the node Nc calculates the MAC value for the ad hoc data using the ad hoc data MAC key, and sets it in the first value storage unit 24. For example, a key shared in advance between the node Nc and the node Nb is adopted as the ad hoc data MAC key.
  • the node Nc transmits the packet 20 to the node Nb.
  • the node Nb that has received the packet verifies the received packet.
  • the node Nb calculates a MAC value for the ad hoc data in the received packet using the ad hoc data MAC key held by the node Nb. Then, the node Nb compares the MAC value stored in the first value storage unit in the packet with the calculated MAC value.
  • the node Nb If the two MAC values match, the ad hoc data integrity in the packet received by the node Nb is affirmed. Therefore, the node Nb permits further transmission of the received packet. Therefore, the node Nb rewrites the first header information according to the route R1, sets a new first value, and transmits the packet to the node Na.
  • the node Nb When the MAC value stored in the first value storage unit in the packet does not match the calculated MAC value, the node Nb negates the integrity of the ad hoc data in the received packet.
  • the node Nb discards the received packet. That is, the payload data included in the packet that has reached the node Nb does not reach the server S.
  • the node Nb further verifies the integrity of the application data. Specifically, the node Nb calculates the MAC value for the application data using the application data MAC key. The node Nb then compares the MAC value stored in the second value storage unit in the received packet with the calculated MAC value.
  • the node Nb allows the application data in the received packet to be transferred. Therefore, the node Nb, after giving new first header information to the application data, transfers the packet to the node Na according to the route R1.
  • the node Nb denies the integrity of the application data in the received packet. That is, since the integrity of the payload data and the second header information has been proved, the node Nb discards the received packet.
  • the node that transmits the packet sets the packet with the second value for verifying the integrity of the application data and the first value for verifying the integrity of the ad hoc data. Can do. Furthermore, since the node that transmits the packet can encrypt the payload data, it is possible to ensure confidentiality.
  • the node that receives the packet allows the packet to be transferred when the integrity of the application data can be confirmed based on the first value and the second value. Furthermore, even when the integrity of the application data cannot be confirmed, the node can transfer the packet when the integrity of the ad hoc data is confirmed.
  • FIG. 4 is a functional block diagram of a node in the present embodiment. Note that the node shown in FIG. 4 has a function of generating a packet for transmission and a function of verifying the integrity of the received packet.
  • the node 10 includes a communication unit 11, a control unit 12, a storage unit 13, and an acquisition unit 14.
  • the communication unit 11 is a processing unit that wirelessly communicates with another node or the sink node SN. For example, the communication unit 11 receives a packet from another node. In addition, the communication unit 11 transmits a packet to another node.
  • the control unit 12 is a processing unit that controls various processes of the node 10. For example, when the node 10 transmits a packet, the node 10 generates a packet for transmission. Further, when the node 10 receives the packet, the integrity of the packet is verified.
  • the storage unit 13 stores various information.
  • the storage unit 13 stores an encryption key used for encryption processing, a key used for calculation processing of the first value and the second value, a routing table, and the like.
  • the acquisition unit 14 is a processing unit that acquires transmission data.
  • the acquisition unit 14 acquires data such as power consumption and temperature from a sensor that can communicate with the node 10.
  • the acquired data is transmitted to other nodes or sink nodes as part of payload data.
  • control unit 12 includes a generation unit 121, a calculation unit 122, an encryption unit 123, a verification unit 124, and a decryption unit 125.
  • the generation unit 121 is a processing unit that generates a packet for transmission.
  • the generation unit 121 refers to a routing table stored in the storage unit 13 and identifies a destination node. Further, the generation unit 121 sets the address of the identified node as the local transmission destination address.
  • the calculation unit 122 is a processing unit that calculates at least a first value, and may calculate a second value.
  • the calculation unit 122 calculates a first value having a predetermined logical relationship with the ad hoc data.
  • the calculation unit 122 calculates the MAC value for the ad hoc data using the ad hoc data MAC key.
  • a second value having a predetermined logical relationship with the application data is calculated.
  • the calculation unit 122 calculates the MAC value for the application data using the application data MAC key.
  • the predetermined logical relationship related to the first value and the predetermined logical relationship related to the second value may be the same or different. Therefore, the MAC key for ad hoc data and the MAC key for application data may be the same or different. In the present embodiment, description will be made assuming that both are different.
  • the encryption unit 123 executes payload data encryption processing as necessary. For example, the encryption unit 123 encrypts application data including payload data using an encryption key.
  • the verification unit 124 is a processing unit that, when the communication unit 11 receives a packet from another node, verifies the integrity of the packet and controls packet transfer according to the verification result. For example, the verification unit 124 verifies the integrity of the ad hoc data in the packet using the first value stored in the first value storage unit in the packet. That is, it is verified whether or not the value corresponding to the first logical relationship with respect to the ad hoc data in the received packet matches the first value stored in the received packet. If they match, the integrity of the ad hoc data in the received packet is proved. Therefore, the verification unit 124 permits the packet transfer.
  • the verification unit 124 calculates a MAC value for ad hoc data using the ad hoc data MAC key. Then, the integrity of the ad hoc data is verified by comparing the calculated MAC value with the MAC value stored in the first value storage unit.
  • the verification unit 124 further verifies the integrity of the application data by using the second value stored in the second value storage unit in the packet. To do. That is, it is verified whether or not the value corresponding to the second logical relationship with the application data in the received packet matches the second value stored in the received packet. If they match, the integrity of the application data in the received packet is proved. Therefore, the verification unit 124 permits the packet transfer.
  • the verification unit 124 can select a transfer priority mode for further verifying the integrity of the application data and a security priority mode for verifying only the ad hoc data integrity. Also good.
  • the verification unit 124 determines whether the transfer priority mode or the security priority mode is selected, and performs the verification using the first value and the second value when the transfer priority mode is set. Even when the ad hoc data integrity is denied, the node 10 can give priority to the packet transmission by allowing the application data transmission when the application data integrity is affirmed.
  • the verification unit 124 discards the packet when the ad hoc data integrity is denied.
  • security can be improved by not allowing transmission unless the integrity of ad hoc data is proved.
  • the node 10 of this embodiment can switch between transmission priority and security priority as necessary.
  • the decryption unit 125 decrypts the encrypted payload data as necessary.
  • the decoding unit 125 refers to the second header part in the packet and determines whether the global transmission destination address is the address of the own node. When the global destination address is the address of the own node, the decryption unit 125 decrypts the application data with the decryption key.
  • the control unit 12 when the acquisition unit 14 acquires data to be transmitted as payload data, the control unit 12 functions as the generation unit 121, the calculation unit 122, and the encryption unit 123. On the other hand, when transferring payload data included in a packet received from another node, the control unit 12 functions as a generation unit 121, a calculation unit 122, and a verification unit 124.
  • control unit 12 functions as the verification unit 124 and the decoding unit 125.
  • the storage unit 13 includes a routing table storage unit 131 and a key information storage unit 132.
  • FIG. 5 is a data configuration example of a routing table stored in the routing table storage unit 131.
  • the routing table stores a global transmission destination address, a local transmission destination address, and an evaluation value in association with each other.
  • FIG. 5 shows a routing table that the node Nc has.
  • the global destination address is information on the address of the device that finally receives the packet.
  • the global transmission destination address stores information on the address of another node N or information on the address of the sink node SN.
  • the local destination address is information on the address of the device that directly receives the transmitted packet.
  • information on the address of another node N or information on the address of the sink node SN is stored.
  • the evaluation value is a value indicating which local destination address is preferably the destination of the most recent packet in the combination of the global destination address and the local destination address.
  • the evaluation value is calculated based on the communication strength with surrounding nodes and the like.
  • the evaluation value is obtained by the same method as in conventional routing.
  • the generation unit 121 in order to transmit the data acquired by the acquisition unit 14 at the node Nc to the server via the sink node SN, the generation unit 121 first sets “SN address” as the second destination address as the second address. Set in the header. Further, the generation unit 121 refers to the routing table and identifies the address “Nb address” of the node having the highest evaluation value among the plurality of local transmission destination addresses corresponding to “SN address”. Then, the generation unit 121 sets the identified “Nb address” as the local transmission destination address in the first header portion.
  • FIG. 6 is an example of various data tables provided in the key information storage unit 131.
  • the key information storage unit 131 stores an ad hoc data MAC key management table, an application data MAC key management table, an encryption key management table, a verification MAC key management table, and a decryption key management table.
  • FIG. 6A is a data configuration example of an ad hoc data MAC key management table.
  • the ad hoc data MAC key management table stores a local transmission destination address and ad hoc data MAC key information in association with each other.
  • the local destination address is a local destination address set in the first header part in the packet.
  • An ID that uniquely identifies the node may be used instead of the local transmission destination address.
  • the ad hoc MAC key is a MAC key used when transmitting a packet to a local transmission destination address.
  • the calculation unit 122 reads the ad hoc corresponding to the local transmission destination address “Nb address” from the ad hoc data MAC key management table.
  • the data MAC key “Key_Nb” is acquired. Then, the calculation unit 122 calculates the first MAC value using the selected ad hoc data MAC key.
  • FIG. 6B is a data configuration example of the application data MAC key management table.
  • the application data MAC key management table stores application data MAC key information.
  • the calculation unit 122 calculates the MAC value for the application data using the application data MAC key.
  • the application data MAC key management table may store a plurality of application data MAC keys in accordance with the global transmission destination address.
  • FIG. 6C is a data configuration example of the encryption key management table.
  • the encryption key management table stores encryption key information.
  • the encryption key management table may store a plurality of encryption keys according to the global transmission destination address.
  • FIG. 6D is a data configuration example of the verification MAC key management table.
  • the verification MAC key management table stores information on the verification MAC key.
  • the verification MAC key is a MAC key used for verifying the integrity of ad hoc data in the received packet when the packet is received.
  • the application data MAC key can be used to verify the integrity of the application data.
  • the node on the packet transmission side calculates the MAC value, which is the first value, using the ad hoc data MAC key corresponding to the local transmission destination of the packet. Therefore, the verification MAC key management table stores the MAC key for ad hoc data shared from the own node to other nodes.
  • the node Nb shares the MAC key for verification of the node Nb with surrounding nodes such as the node Nc.
  • the node Nb stores the MAC key shared with other nodes Nc in the verification MAC key management table of its own key information storage unit 132 as the verification MAC key.
  • the node Nc stores the ad hoc data MAC key of the node Nb in association with the address of the node Nb.
  • FIG. 6D is a verification MAC key management table in the node Nc, and “Key_Nc”, which is an ad hoc data MAC key shared by the node Nc to other nodes, is stored as the verification MAC key.
  • FIG. 6E is a data configuration example of the decryption key management table.
  • the decryption key management table stores information for decrypting the encrypted payload data.
  • the decryption key management table may store a plurality of decryption keys according to the global transmission source address. Further, the key information storage unit 131 may not have the decryption key management table, and may perform decryption using the encryption key stored in the encryption key management table.
  • FIG. 7 is a flowchart of packet generation processing.
  • the acquisition unit 14 determines whether data has been acquired (Op. 1). For example, the acquisition unit 14 acquires data by receiving an output value from a sensor.
  • the generation process is terminated.
  • the encryption unit 123 encrypts payload data including the acquired data (Op. 2).
  • the encrypted payload data is stored in the payload data portion.
  • the payload data may include information such as the time when the data is acquired and a period.
  • the generation unit 121 stores the second header information in the second header portion of the packet (Op.3). For example, the generation unit 121 sets the address of its own node as the global transmission source address. Furthermore, the generation unit 121 sets the address of the sink node SN as the global transmission destination address.
  • the calculation unit 122 calculates a MAC value as the second value using the application data MAC key for the application data (Op. 4).
  • the application data includes second header information stored in the second header part and payload data stored in the payload data part.
  • the calculated MAC value is stored in the second value storage unit.
  • the generation unit 121 stores the first header information in the first header part of the packet (Op. 5). For example, the generation unit 121 sets the address of its own node as the local transmission source address. Furthermore, the generation unit 121 refers to the routing table and sets a local transmission destination address. In addition, information such as the packet transmission date and time and the number of transfers may be stored in the first header part.
  • the generation unit 121 refers to the routing table storage unit 131 and identifies a local destination address having the highest evaluation value among a plurality of local destination addresses associated with the global destination address.
  • the generation unit 121 sets the specified local transmission source address in the first header part.
  • the calculation unit 122 calculates a MAC value as a first value for the ad hoc data, using the ad hoc data MAC key (Op. 6).
  • the ad hoc data includes first header information stored in the first header part, second header information stored in the second header part, and payload data stored in the payload data part.
  • the calculated MAC value is stored in the first value storage unit.
  • the calculation unit 122 acquires an ad hoc data MAC key corresponding to the previously specified local destination address from the ad hoc data MAC key management table. Then, the MAC value is calculated using the acquired ad hoc data MAC key.
  • the communication part 11 transmits the produced
  • FIG. 8 is a flowchart of the verification process executed by the node that received the packet.
  • the communication unit 11 receives the packet (Op. 10). And the verification part 124 verifies the integrity of ad hoc data using the 1st value stored in the 1st value storage part of the received packet (Op.11).
  • the verification unit 124 calculates the MAC value for the ad hoc data in the received packet using the verification MAC key. Then, the verification unit 124 compares the MAC value stored in the first value storage unit in the received packet with the calculated MAC value. If the two match, it is proved that the ad hoc data in the received packet is the same as the time when the packet was transmitted from another node. That is, the ad hoc data integrity is affirmed.
  • the node serving as the local transmission source selects the ad hoc data MAC key in accordance with the node serving as the local transmission destination. Therefore, if the MAC value stored in the first value storage unit in the packet does not match the calculated MAC value at the node that is the local transmission destination, the ad hoc data different from the verification MAC key It is possible to detect the possibility that the MAC key has been used at the local transmission source node. Furthermore, it is possible to detect the possibility that a node other than the node designated as the local transmission destination address has received the packet.
  • the verification unit 124 determines whether the global destination address in the packet matches the address of the own node (Op. 12). If they match (O.12 YES), the decryption unit 125 acquires the decryption key from the decryption key management table, and decrypts the payload data stored in the payload data portion in the received packet with the decryption key ( Op.13). Then, the node 10 ends the verification process.
  • node N is Op.
  • the case where the determination of YES is made at 12 is, for example, a case where a packet transmitted from the server to a specific node has reached the specific node.
  • the global transmission destination address is an address of a sink node that can directly communicate with the server.
  • the generation unit 121 and the calculation unit 122 update a part of the data in the packet (Op. 12). 14).
  • the generation unit 121 sets new first header information in the first header part.
  • the first value calculated by the calculation unit 122 is stored as the first value.
  • the generation unit 121 sets the address of the node itself as the local transmission source address, and sets the address of the next transmission destination node as the local transmission destination address.
  • the calculation unit 122 calculates the first value based on the new first header information and the application data included in the packet in advance. Then, the generation unit 121 stores the calculated first value in the first value storage unit.
  • the communication unit 11 transfers the updated packet (Op.15).
  • the transfer priority mode is a mode in which the integrity of application data is further verified when ad hoc data integrity is denied, and is a mode in which packet transfer is prioritized.
  • the verification unit 124 verifies the integrity of the application data in the received packet (Op. 17).
  • the verification unit 124 calculates the MAC value for the ad hoc data in the received packet using the application data MAC key.
  • the application data MAC key that is shared in advance by all nodes is used as the application data data in the node that is the transmission source of the packet. Therefore, the node that has received the packet uses the application data MAC key that is shared in advance by all the nodes to verify the application data.
  • the verification unit 124 compares the MAC value stored in the second value storage unit in the received packet with the calculated MAC value. If the two match, the application data in the received packet is proved to be the same as when the packet was transmitted from another node. That is, the integrity of application data is affirmed.
  • the verification unit 124 performs the process in Op. Proceed to 12. The subsequent processing is as described above.
  • the verification unit 124 discards the received packet (Op. 18).
  • the node 10 discards the packet (Op. 18) when it is not in the transfer priority mode (Op. 16). That is, in the security priority mode in which only the integrity of ad hoc data is verified, the verification unit 124 maintains the security of the entire ad hoc network by not permitting transfer of packets in which the ad hoc data is not complete.
  • the node 10 when the node 10 receives a packet, the node 10 can individually perform ad hoc data verification and application data verification. That is, the node 10 can verify the integrity of the application data after verifying the integrity of the ad hoc data.
  • the node 10 further verifies the integrity of the application data, for example, giving priority to the payload data in the packet to reach the global destination address. Therefore, the packet can be prevented from being discarded unnecessarily.
  • the packet is discarded at the node that received the packet. Can be prevented.
  • the local transmission source address and the local transmission destination address included in the first header information are rewritten.
  • each node 10 when transmitting a packet, each node 10 can select an ad hoc data MAC key corresponding to the local transmission destination node as the first value. Therefore, when the security priority mode is set for each node, the node that receives the packet can discard the packet transmitted from the node that does not share its verification MAC key in advance. For example, when an unauthorized node generates and transmits a packet, the unauthorized node does not know the ad hoc data MAC key of the destination node. Therefore, since the MAC value set in the packet does not match the MAC value calculated by the node that received the packet, each node can discard the packet from an unauthorized node.
  • FIG. 9 is a sequence diagram showing a flow of transmitting packets in the ad hoc network.
  • FIG. 9 is a sequence diagram when the node Nc in FIG. 1 transmits payload data to the server S using the ad hoc network.
  • a packet including payload data generated by the node Nc is transmitted to the sink node SN via the nodes Nb and Na.
  • the payload data is received by the server S through communication between the sink node SN and the server S.
  • the node Nc acquires data from a sensor or the like (Op. 100). Next, the node Nc generates payload data including the acquired data, and generates a packet including the payload data (Op. 101). The process for generating the packet is as shown in FIG.
  • each node Nc transmits the generated packet (Op.102).
  • a node that generates a packet like the node Nc is referred to as a first node.
  • each node includes the communication unit 11, the generation unit 121, the calculation unit 122, the encryption unit 123, and the storage unit 13 in FIG.
  • the node Nb that can communicate with the node Nc receives the packet (Op. 103). Then, the node Nc verifies the integrity of the ad hoc data in the packet using the first value included in the packet, and uses the second value as necessary to complete the integrity of the application data. Is verified (Op. 104).
  • the node Nb When the integrity of the application data in the received packet is proved, the node Nb generates a new packet including the application data and transfers the packet (Op. 105).
  • the packet transferred by the node Nb is received by the node Na that can communicate with the node Nb.
  • the node Na performs the same process as the node Nb.
  • the node Nb and the node Na discard the received packet when the integrity of the ad hoc data in the received packet is not proved and the integrity of the application data is not proved.
  • the node that verifies the packet and forwards the packet is referred to as a second node.
  • each node includes the communication unit 11, the generation unit 121, the calculation unit 122 verification unit 124, the storage unit 13, and the acquisition unit 14 in FIG. 4.
  • each node includes the communication unit 11, the verification unit 124, the decoding unit 124, and the storage unit in FIG. 13
  • the sink node SN receives the packet (Op. 106).
  • the sink node SN verifies the received packet in the same manner as the node 10 (Op. 107).
  • the sink node executes the verification processing flow of the node 10 illustrated in FIG. That is, the sink node SN includes at least the communication unit 11, the generation unit 121, the verification unit 124, the decoding unit 125, and the storage unit 13 among the processing units of the node 10.
  • the sink node SN decodes the payload data in the received packet. Then, the application data including the decrypted payload data is transmitted to the server S (Op. 109).
  • the payload data may be transmitted to the server S while being encrypted. In that case, the sink node SN transmits application data including encrypted payload data to the server S. Then, the server S receives application data (Op. 110).
  • the packets for which the integrity of the application data is proved at the nodes Nb and Na forming the transmission route reach the sink node that is the global transmission destination. Accordingly, payload data including data acquired by the node Nc is received by the server S via the sink node as part of application data. That is, the server can acquire the global transmission source address and payload data included in the application data.
  • the second embodiment is an embodiment for increasing security by assuming a case where a packet is acquired by an unauthorized node while the packet is transmitted through an ad hoc network.
  • FIG. 10 is a flowchart of packet generation processing in the second embodiment.
  • symbol as FIG. 7 is attached
  • subjected and description is abbreviate
  • the functional configuration of each node in the second embodiment is the same as that in the first embodiment.
  • Example 2 after the calculation unit 122 calculates the second value, the encryption unit 123 encrypts the application data and the second value (Op. 8). Note that encryption is executed according to a preset algorithm.
  • the encryption unit 123 encrypts the application data and the second value using the ad hoc data MAC key of the local transmission destination.
  • the ad-hoc data MAC key is shared in advance between authorized nodes.
  • an application data MAC key shared by all nodes or other encryption keys may be used as the encryption key.
  • the calculation unit 122 applies the encrypted application data, the encrypted second value, and the first header information to the first header information. One value is calculated (Op. 9). Thereafter, the communication unit 11 transmits the packet (Op. 7).
  • application data is also encrypted in addition to payload data. Therefore, the global transmission source address and the global transmission destination address are also encrypted. Therefore, according to the present embodiment, it is possible to prevent a third party operating an unauthorized node from acquiring a global transmission source address and a global transmission destination address.
  • FIG. 11 is a flowchart of packet verification processing according to the second embodiment.
  • symbol as FIG. 8 is attached
  • subjected and description is abbreviate
  • the decryption unit 125 decrypts the encrypted application data and the encrypted second value (Op. 19). Note that decoding is performed according to a preset algorithm.
  • the node that transmitted the packet encrypts the application data and the second value using the ad hoc data MAC key of the local transmission destination. Therefore, the node that has received the packet performs decryption by using the verification MAC key shared with the node that has transmitted the packet in advance. If the decryption unit 125 cannot decrypt the received packet, the decryption unit 125 discards the received packet.
  • the verification unit 124 selects the Op. 12 is executed.
  • the subsequent processing is the same as in the first embodiment.
  • the decryption unit 125 uses the encrypted application data. Then, the encrypted second value is decrypted (Op. 20). Note that decoding is performed according to a preset algorithm. If it cannot be decoded, the received packet is discarded.
  • the verification unit 124 refers to the decrypted second value, so that Op. 17 is executed.
  • the subsequent processing is the same as in the first embodiment.
  • the packet is transmitted with the application data in the packet encrypted. Therefore, even when a packet is exploited by an unauthorized node, it is possible to prevent application data from being acquired.
  • FIG. 12 is a hardware configuration example of the node N.
  • the node 200 includes a CPU (Central Processing Unit) 201, a RAM (Random Access Memory) 202, a flash memory 203, an interface (I / F) 204, an encryption circuit 205, a sensor 206, and a bus 207. I have.
  • the CPU 201 to the sensor 206 are connected by a bus 207, respectively.
  • the CPU 201 governs overall control of the node 200.
  • the CPU 201 functions as the communication unit 11, the control unit 12, the acquisition unit 14, and the like by executing a program expanded in the RAM 202.
  • the RAM 202 is used as a work area for the CPU 201.
  • the flash memory 203 stores a program, information on various keys, and a routing table.
  • the flash memory 203 is an example of the storage device 13.
  • the program includes, for example, a program for executing each process in the node shown in the flowchart. For example, a control program for causing a node to execute packet generation processing and packet verification processing is stored in the flash memory 203.
  • the node 200 When the program stored in the flash memory 203 is expanded in the RAM 202 and executed by the CPU 201, the node 200 functions as various processing units illustrated in FIG. Further, the node 200 executes the processes of FIGS. 7 and 8.
  • the I / F 204 transmits and receives packets by multi-hop communication.
  • the I / F 204 is an example of the communication unit 11.
  • the encryption circuit 205 is a circuit that encrypts data using an encryption key when encrypting data. For example, when the packet is encrypted and transmitted, the encryption circuit 205 functions. When encryption is executed by software, the encryption circuit 205 becomes unnecessary by storing a program corresponding to the encryption circuit 205 in the flash memory 23.
  • Sensor 206 detects data unique to sensor 206. For example, data suitable for the measurement target is detected, such as temperature, humidity, water level, precipitation, air volume, volume, power consumption, time, time, and acceleration.
  • data suitable for the measurement target is detected, such as temperature, humidity, water level, precipitation, air volume, volume, power consumption, time, time, and acceleration.
  • the CPU 201 functions as the acquisition unit 14, data is acquired from the sensor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】 パケット内のデータと所定の論理関係を有する値を利用してパケット内のデータの完全性を検証する場合に、パケット全体の完全性が保証されない場合でも一部の完全性が確認できた場合に、転送を許容することを課題とする。 【解決手段】 パケットを受信した場合に、パケットを送信したノードによりパケット内に設定された値を用いた検証を行うノードは、ペイロードデータと、送信先アドレスを含む第一のヘッダ情報と、最終送信先アドレスを含む第二のヘッダ情報と、第一の値と、第二の値とを含むパケットを、他ノードから受信し、ペイロードデータおよび第一のヘッダ情報に対して第一の論理関係となる値が、第一の値と一致しなかった場合、ペイロードデータおよび第二のヘッダ情報に対して第二の論理関係となる値が、第二の値と一致するか検証し、第二の論理関係となる値が第二の値と一致した場合に、パケットを送信する制御を行う。

Description

アドホックネットワークシステム、ノード、および通信方法
 本明細書に開示する技術は、アドホックネットワークシステムにおいて、ノード間でパケット送受信する技術に関する。
 アドホックネットワークとは、無線又は有線通信によってリンクする自己構成型のネットワークの一種である。アドホックネットワークは、通信機能を有する複数の装置により構成される。なお、アドホックネットワークにおける、通信機能を有する装置は、ノードと呼ばれる。また、アドホックネットワーク内の各ノードは、マルチホップ通信によりパケットを送受信する。マルチホップ通信は、互いの通信圏内に存在しないノード同士であっても、各ノードの通信圏内に存在する別のノードを介して通信を可能にする技術である。
 例えば、アドホックネットワークを利用したシステムとして、各家庭の電力メータに無線通信可能なノードを組み込むことにより、アドホックネットワーク経由で各家庭の消費電力量などを収集する検針システムがある。検針システムでは、各電気メータが検出した各家庭の消費電力量を含むパケットが、各家庭の電気メータが備える各ノードから電力会社のシステムまで転送される。このように、検針システムで転送されるパケットに、各家庭の電力使用に係る個人情報が含まれる。
 また、秘匿性、改ざん防止などの観点から、アドホックネットワークを利用した通信では、セキュアな通信を行うことが要求される。セキュアな通信の一例としては、パケットの全体または一部を暗号化して転送する手法などが用いられる。さらに、パケットに、当該パケットに対する符号情報の一種であるメッセージ認証コード(MAC値)を格納して転送する手法などが知られている。
 そして、パケットを受信したノードが算出したMAC値と、パケットに含まれるMAC値とを照合することで、当該ノードがパケットを検証する技術がある(特許文献1)。
 ここで、特許文献1における、パケットを検証する手法について説明する。なお、パケットは、通信ヘッダとデータ部とMAC値格納部とを有する。通信ヘッダは、送信元のアドレス、宛先のアドレス、転送元のアドレス、転送先のアドレス等の各種情報を含む。
まず、パケットを転送するノードXは、通信ヘッダとデータ部とを対象として、所定のアルゴリズムに従って、MAC値Aを算出する。所定のアルゴリズムには、符号情報の算出方法が定義される。さらに、ノードXは、MAC値Aを、MAC値格納部に格納する。そして、ノードXは、転送先のノードYへパケットを送信する。
 次に、パケットを受信したノードYは、パケットに含まれる通信ヘッダとデータ部とを対象として、所定のアルゴリズムに従って、MAC値Bを算出する。次に、パケット内のMAC格納部に格納されたMAC値Aと、算出したMAC値Bとを比較する。そして、比較した結果、MAC値AとMAC値Bとが一致した場合に、ノードYは、新たな転送先となるノードZへパケットを転送する。
 一方、MAC値AとMAC値Bとが一致しない場合は、ノードYは、受信したパケットを破棄する。以上の手法により、パケットを受信したノードは、MAC値を利用して、パケットを検証する。
国際公開2011-121713号公報
 MAC値のように、パケット内のデータに対して所定の論理関係を有する値を利用して、パケットを検証することによって、ネットワークシステム内の各ノードは、完全性が証明されないパケットを破棄することができる。しかし、転送の過程で、パケットに含まれる一部のデータが欠落したり、何らかの要因で書き変わってしまう場合がある。ネットワークシステムは、マルチホップ通信により、ペイロードデータを含むパケットを、目的のアドレスまで送信することを目的とするが、従来の方式では、転送されるべきパケットも、破棄されてしまう可能性があった。なお、ペイロードデータは、パケットを構成するデータの内、ヘッダやトレーラなどの付加的情報を除いたデータである。
 そこで、本実施の形態に開示の技術は、パケット内のデータと所定の論理関係を有する値を利用してパケット内のデータの完全性を検証する場合に、転送すべきパケットについては、一部の完全性が証明された場合に、転送を優先することを目的とする。
 本発明の一観点によれば、第一のヘッダ部と、第二のヘッダ部と、ペイロードデータ部とを含むパケットを、複数のノード間で転送するアドホックネットワークシステムにおいて、前記複数のノードの内の第一のノードは、前記ペイロードデータ部に設定されるペイロードデータ、及び前記第一のヘッダ部に設定される送信先アドレスを含む第一のヘッダ情報に対して、第一の論理関係である第一の値を算出する算出部と、前記ペイロードデータと、前記第一のヘッダ情報と、前記第二のヘッダ部に設定される最終送信先アドレスを含む第二のヘッダ情報と、前記第一の値と、該ペイロードデータ及び該第二のヘッダ情報に対して第二の論理関係である第二の値とを含むパケットを、第二のノードへ送信する通信部とを有し、前記第二のノードは、パケットを受信する通信部と、受信したパケット内における前記ペイロードデータ部に格納された情報および前記第一のヘッダ部に格納された情報に対して前記第一の論理関係となる値が、前記第一の値と一致せず、かつ、該受信したパケットにおける前記ペイロードデータ部に格納された情報および前記第二のヘッダ部に格納された情報に対して前記第二の論理関係である値が、前記第二の値と一致する場合、前記受信したパケットに基づくパケットを第三のノードへ送信させる制御を行う検証部とを有する。
 本発明の一観点によれば、パケットを効果的に目的の送信先まで送信することが可能になる。
図1は、実施の形態にかかるネットワークシステムの一実施例を示す説明図である。 図2は、パケットのデータ構成例を示す図である。 図3は、第一の値および第二の値を説明する為の図である。 図4は、実施例1におけるノードの機能ブロック図である。 図5は、ルーティングテーブル記憶部131が記憶するルーティングテーブルのデータ構成例である。 図6A乃至図6Eは、鍵情報記憶部131が備える各種データテーブルの例である。 図7は、実施例1におけるパケットの生成処理のフローチャートである。 図8は、実施例1におけるパケットの検証処理のフローチャートである。 図9は、アドホックネットワーク内をパケットが送信される流れを示すシーケンス図である。 図10は、実施例2におけるパケットの生成処理のフローチャートである。 図11は、実施例2におけるパケットの検証処理のフローチャートである。 図12は、ノードのハードウェア構成例である。
 以下に添付図面を参照して、この発明にかかる通信装置、通信方法、およびシステムの実施の形態を詳細に説明する。
 (実施例1)
 図1は、実施の形態にかかるネットワークシステムの一実施例を示す説明図である。ネットワークシステムは、複数のノードNと、シンクノードSNと、サーバSとを含む。まず、図1を用いて、本実施の形態に係るネットワークシステムおよび、ネットワークシステムにおけるパケットの送信について、説明する。また、本実施の形態に係るネットワークシステムは、アドホックネットワークシステムである。
 サーバSとシンクノードSNとはインターネット、LAN、WANなどの通常ネットワーク101を介して接続されている。シンクノードSNとノードNa~Nhとは、アドホックネットワーク100を介して接続されている。
 アドホックネットワーク100内には、複数のノードNが設けられている。図1では、代表としてノードNa~Nhを示している。
 シンクノードSNは、アドホックネットワーク100と通常ネットワーク101とを接続する中継機器である。シンクノードSNは、アドホックネットワーク100のプロトコルの形式の情報と通常ネットワーク101のプロトコルの形式の情報の両方を送受信可能である。
 また、シンクノードSNは、アドホックネットワーク100と通常ネットワーク101との間で情報をプロトコル変換することにより、通信を行う。例えば、アドホックネットワーク100内のノードNのいずれかからサーバS宛に送信されたパケットは、シンクノードSNにてプロトコル変換される。その後、シンクノードSNが、当該パケットを、通常ネットワーク101に送信することで、パケットはサーバSに到達する。
 また、サーバSやシンクノードSNからそれぞれのノードN宛てに送信されたデータは、シンクノードSNにてプロトコル変換され、シンクノードSNからアドホックネットワーク100内の各ノードNにパケットとして送信される。
 なお、シンクノードSNは、各ノードN間の通信の可否をルーティングテーブルにより把握する。そして、シンクノードSNは、ルーティングテーブルの情報を元に、パケットの送信ルートを、自律的に生成する。
 また、各ノードNは、個別にルーティングテーブルを生成してもよい。各ノードNは、周囲のノードNと通信状況に関する情報を交換する。そして、各ノードNは、通信状況に関する情報に基づいて、ルーティングテーブルを生成する。例えば、ノードNfとノードNgが通信不能となった場合でも、新たな送信ルートの設定が可能となる。例えば、ノードNgは、ノードNeを経由する新たなルートを構築することができる。本実施の形態においては、各ノードがルーティングテーブルを生成するとして、以下説明を行う。
 各ノードは、所定の通信圏内で通信可能な他ノードとマルチホップ通信が可能な装置である。アドホックネットワーク100では、すべてのノードNa~Nhが直接シンクノードSNと通信できる必要はなく、他のノードを経由する事で、各ノードNa~Nhは、シンクノードSNと通信する。
 このため、アドホックネットワーク100では、一部のノードがシンクノードSNと通信可能であればよい。図1では、シンクノードSNと直接通信可能なノードは、ノードNa,Ndであるとする。
 なお、図1の例では、アドホックネットワーク100内に1台のシンクノードSNを設ける構成としたが、一つのアドホックネットワーク100内に複数台のシンクノードSNを設ける構成としてもよい。また、図1ではアドホックネットワーク100は一つであるが、複数のアドホックネットワークを含む場合もある。複数のアドホックネットワークを含む場合、複数のアドホックネットワークにはそれぞれ少なくとも一つのシンクノードSNが含まれており、サーバSは当該シンクノードSNと通常ネットワークを介して接続する。この構成により、サーバSと全てのノードNとのデータ送受信が可能になる。
 本実施例のアドホックネットワークシステムは、たとえば各家庭の電力の使用量を収集するシステムに適用される。このようなシステムの場合、各ノードNは、各家庭の電力の使用量を検出するための各家庭の電力メータに設置される。各ノードNが検出した電力の使用量を、シンクノードSNを経由してサーバSに送信することで、サーバSは、各家庭の電力の使用量を収集することが可能になる。
 具体的には、例えば、各家庭の電力メータにそれぞれノードNが組み込まれているとする。各ノードNは、各家庭の電力や使用量を、アドホックネットワーク100を介してサーバSに送信する。
 なお、各家庭の電力の使用量は、各ノードが計測してもよく、また、各ノードが電力メータから取得してもよい。また、各ノードは、自身の記憶領域に、検出した電力使用量を記憶する。シンクノードSNは、アドホックネットワーク100内の各ノードから受信した各家庭の電力や使用量を、通常ネットワーク101を介して電力会社のサーバSに送信する。これにより、作業員が現地に出向くことなく電力の使用量を収集することができる。
 また、本ネットワークシステムは、電力の使用量の収集だけでなく、各ノードに温度,湿度,光量などを検知するセンサ機能を持たせて、例えば、環境などの調査に使用することも可能である。
図1では、アドホックネットワーク100を構成するノードNa~Nhにより、4つの経路R1~R4が設定されているものとする。具体的には、経路R1は、ノードNcとノードNbとノードNaとシンクノードSNとを含むルートである。経路R2は、ノードNeとノードNdとシンクノードSNとを含むルートである。経路R3は、ノードNgとノードNfとノードNdとシンクノードSNとを含むルートである。経路R4は、ノードNhとノードNfとノードNdとシンクノードSNとを含むルートである。なお、ノードNaやノードNdはシンクノードと直接通信するノードである。
 シンクノードSNに近いノードを上流側のノードと呼ぶ。なお、アドホックネットワーク100の規模によっては、ノードNbやノードNeも上流側のノードとなる。各ノードNa~NhからサーバSへデータが送信される場合は、各ノードNa~Nhは、各々検出したデータをルーティングされた経路R1~R4に従ってシンクノードSNに送信する。
 ここで、パケットのデータ構成例について、説明する。図2は、パケットのデータ構成例を示す図である。
 パケット20には、第一のヘッダ部21、第二のヘッダ部22、ペイロードデータ部23、第一の値格納部24、第二の値格納部25が、それぞれ割り当てられる。第一のヘッダ部21には、第一のヘッダ情報が記述される。第一のヘッダ情報は、ローカル送信元アドレス、ローカル送信先アドレス、付加情報を含む。
 ローカル送信元アドレスは、パケット20を送信する装置のアドレスに関する情報である。ローカル送信先アドレスは、パケット20の宛先となる装置のアドレスに関する情報である。なお、本実施例においては、ローカル送信元アドレスおよびローカル送信先アドレスは、ノード、シンクノードのアドレスである。
 付加情報は、ローカル送信元アドレス、ローカル送信先アドレス、グローバル送信元アドレス、グローバル送信先アドレス以外のヘッダ情報である。例えば、送信日時や転送回数などの情報である。なお、グローバル送信元アドレス、グローバル送信先アドレスについては、後述する。
 第二のヘッダ部22には、第二のヘッダ情報が記述される。第二のヘッダ情報は、グローバル送信元アドレス、グローバル送信先アドレスを含む。グローバル送信元アドレスは、ペイロードデータ部23に記述されるペイロードデータを生成した装置のアドレスに関する情報である。グローバル送信先アドレスは、ペイロードデータ部23に記述されるペイロードデータを最終的に受信する装置のアドレスに関する情報である。なお、本実施例においては、グローバル送信元アドレスおよびグローバル送信先アドレスは、ノード、シンクノード、サーバのアドレスである。
 ペイロードデータ部23には、ペイロードデータが記述される。例えば、検針システムにおいては、ペイロードデータには、各家庭の消費電力量の情報等が含まれる。第一の値格納部24には、パケット20の完全性を検証する為の第一の値が記述される。第二の値格納部25には、パケット20の完全性を検証する為の第二の値が記述される。なお、完全性を検証するとは、パケット生成時におけるデータ内容とパケット受信時におけるデータ内容とが一致するか否かを検証することである。
 図3は、第一の値および第二の値を説明する為の図である。ここでは、ノードNが取得したデータを含むパケットに、第一の値および第二の値を設定する場合について、説明する。
 まず、ノードNは、取得したデータを含むペイロードデータを、ペイロードデータ部23に設定する。ここで、ノードNは、ペイロードデータを暗号鍵により暗号化することで、ペイロードデータの機密性を確保する。暗号鍵は、各ノードとサーバとが共有する鍵である。また、暗号鍵は、各ノードごとに異なる鍵であってもよいし、全ノードで共通の鍵であってもよい。
 さらに、ノードNは、グローバル送信元アドレスとグローバル送信先アドレスを含む第二のヘッダ情報を、生成する。そして、ノードNは、第二のヘッダ部に、第二のヘッダ情報を格納する。そして、ノードNは、第二のヘッダ情報および暗号化されたペイロードデータの完全性を検証する為の第二の値を、予め規定されたアルゴリズムに基づいて、算出する。そして、ノードNは、第二の値を第二の値格納部25に設定する。第二のヘッダ情報と暗号化されたペイロードデータとを含むデータを、以下、アプリケーションデータと称する。
 第二の値は、アプリケーションデータに対して所定の論理関係にある値である。例えば、第二の値は、アプリケーションデータを一定の長さの文字列に圧縮した値であって、ハッシュ値や、MAC値、MDC値などである。以下、本実施例では、第二の値は、アプリケーションデータ用MAC鍵を用いて算出されたMAC値である。
 つまり、本実施例において、ノードNは、アプリケーションデータ用MAC鍵を用いて、アプリケーションデータのMAC値を算出する。アプリケーションデータ用MAC鍵は、予め各ノード、シンクノード、サーバ間で共有された鍵が用いられる。
 次に、ノードNは、ローカル送信元アドレスとローカル送信先アドレスとを含む第一のヘッダ情報を生成する。そして、ノードNは、第一のヘッダ情報を第一のヘッダ部に格納する。そして、ノードNは、第一のヘッダ情報およびアプリケーションデータの完全性を検証する為の第一の値を、予め規定されたアルゴリズムに基づいて、算出する。そして、ノードNは、第一の値を第一の値格納部24に設定する。第一のヘッダ情報とアプリケーションデータと第二の値とを含むデータを、以下、アドホックデータと称する。
 第一の値は、アドホックデータに対して所定の論理関係にある値である。例えば、第一の値は、アドホックデータを一定の長さの文字列に圧縮した値であって、ハッシュ値や、MAC値、MDC値などである。以下、本実施例では、第一の値は、アドホックデータ用MAC鍵を用いて算出されたMAC値である。
 つまり、本実施例において、ノードNは、アドホックデータ用MAC鍵を用いて、アドホックデータのMAC値を算出する。アドホックデータ用MAC鍵は、少なくとも2つのノード間で共有される。2つのノードとは、ローカル送信元アドレスに対応するノードと、ローカル送信先アドレスに対応するノードである。ただし、アドホックデータ用MAC鍵は、アプリケーションデータ用MAC鍵と同一であって、全ノードで共有されている鍵であってもよい。
 以上の通り、第一のヘッダ情報、第二のヘッダ情報、ペイロードデータ、第一の値、第二の値が、パケット20内に予め割り当てられた各位置に設定され、ノードNから他のノードへ送信される。
 図1における、ノードNcにより取得された消費電力量のデータを、サーバSまでアドホックネットワーク経由で送信する場合を例に、説明する。ノードNcは、取得した消費電力量のデータを含むペイロードデータを、ペイロードデータ部23に設定する。ここで、ノードNcは、暗号鍵を用いて、ペイロードデータを暗号化する。
 さらに、ノードNcは、グローバル送信元アドレスとして、消費電力量のデータを取得したノードNcのアドレスを、第二のヘッダ部22に設定する。また、ノードNcは、グローバル送信先アドレスとしてシンクノードSNのアドレスを、第二のヘッダ部22に設定する。
 そして、ノードNcは、アプリケーションデータ用MAC鍵を用いてアプリケーションデータに対するMAC値を算出し、第二の値格納部25に設定する。続いて、ノードNcは、ローカル送信元アドレスとしてノードNcのアドレスを、第一のヘッダ部21に設定する。ローカル送信先アドレスとしてノードNbのアドレスを、第一のヘッダ部21に設定する。さらに、送信日時等の情報が、さらに第一のヘッダ部21に記述されてもよい。
 また、ノードNcは、予め生成されたルートR1に関するルーティングテーブルを参照し、送信先となるノードを特定する。ルーティングテーブルの詳細については、後述する。
 次に、ノードNcは、アドホックデータ用MAC鍵を用いて、アドホックデータに対するMAC値を算出し、第一の値格納部24に設定する。例えば、ノードNcとノードNbとの間で予め共有した鍵が、アドホックデータ用MAC鍵として採用される。そして、ノードNcは、パケット20をノードNbへ送信する。
 一方、パケットを受信したノードNbは、受信したパケットを検証する。ノードNbは、受信したパケット内のアドホックデータに対して、ノードNbが保持するアドホックデータ用MAC鍵を用いて、MAC値を算出する。そして、ノードNbは、パケット内の第一の値格納部に格納されているMAC値と、算出したMAC値とを比較する。
 2つのMAC値が一致した場合、ノードNbが受信したパケットにおけるアドホックデータの完全性が肯定されたこととなる。よって、ノードNbは、受信したパケットを、さらに送信することを許容する。したがって、ノードNbは、ルートR1に従って第一のヘッダ情報を書き換えるとともに、新たに第一の値を設定し、ノードNaへパケットを送信する。
 パケット内の第一の値格納部に格納されているMAC値と、算出したMAC値とが一致しなかった場合、ノードNbは、受信したパケットにおけるアドホックデータの完全性が否定する。ここで、従来の手法によれば、ノードNbは、受信したパケットを破棄する。つまり、ノードNbに到達したパケットに含まれているペイロードデータは、サーバSへ到達することはない。
 しかし、本実施例によれば、ノードNbは、さらにアプリケーションデータの完全性を検証する。具体的には、ノードNbは、アプリケーションデータに対して、アプリケーションデータ用MAC鍵を用いてMAC値を算出する。そして、ノードNbは、受信したパケット内の第二の値格納部に格納されているMAC値と、算出したMAC値とを比較する。
 2つのMAC値が一致した場合、ノードNbが受信したパケットにおけるアプリケーションデータの完全性が否定されたこととなる。よって、ノードNbは、受信したパケット内のアプリケーションデータについては、転送することを許容する。したがって、ノードNbは、アプリケーションデータに新たな第一のヘッダ情報を付与した後に、ルートR1に従って、ノードNaへパケットを転送する。
 受信したパケット内の第二の値格納部に格納されているMAC値と、算出したMAC値が一致しなかった場合、ノードNbは、受信したパケットにおけるアプリケーションデータの完全性を否定する。つまり、ペイロードデータや第二のヘッダ情報の完全性が否定証明されたため、ノードNbは、受信したパケットを破棄する。
 以上のように、パケットを送信するノードは、アプリケーションデータの完全性を検証する為の第二の値と、アドホックデータの完全性を検証する為の第一の値とを、パケットに設定することができる。さらに、パケットを送信するノードは、ペイロードデータを暗号化することができる為、秘匿性を確保することができる。
 一方、パケットを受信したノードは、第一の値および第二の値に基づいて、アプリケーションデータの完全性が確認できた場合には、パケットを転送することを許容する。さらに、ノードは、アプリケーションデータの完全性が確認できなかった場合でも、アドホックデータについての完全性が確認できた時点で、パケットを転送することができる。
 図4は、本実施例におけるノードの機能ブロック図である。なお、図4に示すノードは、送信用のパケットを生成する機能と、受信したパケットの完全性を検証する機能とを有する。
 ノード10は、通信部11、制御部12、記憶部13、取得部14を含む。通信部11は、他のノードまたはシンクノードSNと無線通信する処理部である。例えば、通信部11は、他のノードからパケットを受信する。また、通信部11は、他のノードへパケットを送信する。
 制御部12は、ノード10の各種処理を制御する処理部である。例えば、ノード10が、パケットを送信する際に、送信用のパケットを生成する。また、ノード10が、パケットを受信した場合に、パケットの完全性を検証する。
 記憶部13は、各種情報を記憶する。例えば、記憶部13は、暗号化処理に用いられる暗号鍵、第一の値および第二の値の算出処理に用いられる鍵、ルーティングテーブルなどを記憶する。
 取得部14は、送信データを取得する処理部である。例えば、取得部14は、ノード10と通信可能なセンサから、消費電力量や温度等のデータを取得する。なお、取得されたデータは、ペイロードデータの一部として、他のノードまたはシンクノードへ送信される。
 さらに、制御部12は、生成部121、算出部122、暗号化部123、検証部124、復号化部125を含む。生成部121は、送信用のパケットを生成する処理部である。例えば、生成部121は、記憶部13に記憶されたルーティングテーブルを参照し、送信先のノードを特定する。さらに生成部121は、ローカル送信先アドレスに、特定したノードのアドレスを設定する。
 算出部122は、少なくとも第一の値を算出する処理部であって、第二の値を算出する場合もある。算出部122は、アドホックデータに対して所定の論理関係を有する第一の値を算出する。本実施例においては、例えば、算出部122は、アドホックデータ用MAC鍵を用いて、アドホックデータに対するMAC値を算出する。
 また、取得部14が取得したデータをペイロードデータの一部として含むパケットを生成する場合は、アプリケーションデータに対して所定の論理関係を有する第二の値を算出する。本実施例においては、例えば、算出部122は、アプリケーションデータ用MAC鍵を用いて、アプリケーションデータに対するMAC値を算出する。
 なお、第一の値に係る所定の論理関係と、第二の値に関する所定の論理関係とは、同一であっても異なってもよい。したがって、アドホックデータ用MAC鍵と、アプリケーションデータ用MAC鍵は同一であっても異なっても良い。本実施例においては、両者は異なるとして説明する。
 暗号化部123は、必要に応じて、ペイロードデータの暗号化処理を実行する。例えば、暗号化部123は、ペイロードデータを含むアプリケーションデータを、暗号鍵を用いて暗号化する。
 検証部124は、通信部11は他のノードからパケットを受信した場合に、パケットの完全性を検証するとともに、検証の結果におうじて、パケットの転送を制御する処理部である。例えば、検証部124は、パケット内のアドホックデータの完全性を、パケット内の第一の値格納部に格納された第一の値を用いて検証する。つまり、受信したパケット内のアドホックデータに対して第一の論理関係に当たる値が、受信したパケット内に格納される第一の値と一致するか否かを検証する。一致する場合には、受信したパケット内のアドホックデータの完全性が証明される。したがって、検証部124は、パケットの転送を許可する。
 本実施例においては、検証部124は、アドホックデータ用MAC鍵を用いて、アドホックデータを対象としたMAC値を算出する。そして、算出したMAC値と、第一の値格納部に格納されているMAC値とを比較する事で、アドホックデータの完全性を検証する。
 また、アドホックデータの完全性が否定された場合には、検証部124は、さらにアプリケーションデータの完全性を、パケット内の第二の値格納部に格納された第二の値を用いて、検証する。つまり、受信したパケット内のアプリケーションデータに対して第二の論理関係に当たる値が、受信したパケット内に格納される第二の値と一致するか否かを検証する。一致する場合には、受信したパケット内のアプリケーションデータの完全性が証明される。したがって、検証部124は、パケットの転送を許可する。
 なお、アドホックデータの完全性が否定された場合にさらにアプリケーションデータの完全性を検証する転送優先モードと、アドホックデータの完全性のみを検証するセキュリティ優先モードとを、検証部124は、選択可能としてもよい。
 例えば、検証部124は、転送優先モードとセキュリティ優先モードのいずれかであるかを判定し、転送優先モードである場合に、第一の値および第二の値を用いた検証を実施する。アドホックデータの完全性が否定された場合でも、アプリケーションデータの完全性が肯定された場合に、アプリケーションデータの送信を許容することで、ノード10は、パケットの送信を優先することができる。
 一方、セキュリティ優先モードである場合は、検証部124は、アドホックデータの完全性が否定された場合は、当該パケットを破棄する。このように、アドホックデータの完全性が証明されない限り、送信を許容しないことで、セキュリティを向上させることができる。
 いずれかのモードを選択可能とすることにより、本実施例のノード10は、必要に応じて、送信を優先する場合と、セキュリティを優先する場合を切り替えることができる。
 次に、復号化部125は、必要に応じて、暗号化されたペイロードデータを復号する。例えば、復号化部125は、パケット内の第二のヘッダ部を参照し、グローバル送信先アドレスが自ノードのアドレスであるか判定する。グローバル送信先アドレスが自ノードのアドレスである場合は、復号化部125は、アプリケーションデータを、復号鍵で復号する。
 以上の通り、取得部14がペイロードデータとして送信するデータを取得した場合に、制御部12は、生成部121、算出部122、暗号化部123として機能する。一方、他のノードから受信したパケットに含まれるペイロードデータを転送する場合は、制御部12は、生成部121、算出部122、検証部124として機能する。
 また、他のノードから受信したパケットが自ノード宛である場合は、制御部12は、検証部124、復号化部125として機能する。
 次に、記憶部13について、説明する。記憶部13は、ルーティングテーブル記憶部131と鍵情報記憶部132とを含む。
 図5は、ルーティングテーブル記憶部131が記憶するルーティングテーブルのデータ構成例である。ルーティングテーブルは、グローバル送信先アドレスとローカル送信先アドレスと評価値とを対応付けて記憶する。例えば、図5は、ノードNcが有するルーティングテーブルを示している。
 グローバル送信先アドレスは、最終的に、パケットを受信する装置のアドレスの情報である。グローバル送信先アドレスには、他のノードNのアドレスの情報またはシンクノードSNのアドレスの情報が記憶される。
 ローカル送信先アドレスは、送信されたパケットを直接受信する装置のアドレスの情報である。ローカル送信先アドレスには、他のノードNのアドレスの情報またはシンクノードSNのアドレスの情報が記憶される。
 評価値は、グローバル送信先アドレスとローカル送信先アドレスとの組み合わせにおいて、直近のパケットの送信先を、いずれのローカル送信先アドレスとすることが好ましいかを示す値である。評価値は、周囲のノードとの通信強度等に基づいて算出される。評価値は、従来のルーティングと同様の手法で得られる。
 図5の例では、グローバル送信先アドレスが「SNのアドレス」である場合には、評価値が最も高い「Nbのアドレス」がローカル送信先アドレスとして特定される。図1の例では、各ノードのルーティングテーブルにおいて、もっとも評価値の高いローカル送信先アドレスを、採用した結果、ルートR1のようなルートとなることを示している。
 例えば、ノードNcにおいて取得部14で取得したデータを、シンクノードSNを経由してサーバまで送信する為に、まず、生成部121は、グローバス送信先アドレスとして、「SNのアドレス」を第二のヘッダ部に設定する。さらに、生成部121は、ルーティングテーブルを参照し、「SNのアドレス」に対応する複数のローカル送信先アドレスの内、もっとも評価値が高いノードのアドレス「Nbのアドレス」を特定する。そして、生成部121は、特定した「Nbのアドレス」をローカル送信先アドレスとして、第一のヘッダ部に設定する。
 図6は、鍵情報記憶部131が備える各種データテーブルの例である。鍵情報記憶部131は、アドホックデータ用MAC鍵管理テーブル、アプリケーションデータ用MAC鍵管理テーブル、暗号鍵管理テーブル、検証用MAC鍵管理テーブル、復号鍵管理テーブルを記憶する。
 図6Aは、アドホックデータ用MAC鍵管理テーブルのデータ構成例である。アドホックデータ用MAC鍵管理テーブルは、ローカル送信先アドレスと、アドホックデータ用MAC鍵の情報とを対応付けて記憶する。ローカル送信先アドレスは、パケット内の第一のヘッダ部に設定されるローカル送信先アドレスである。なお、ローカル送信先アドレスの代わりに、ノードを一意に識別するIDなどであってもよい。
アドホック用MAC鍵は、ローカル送信先アドレスへパケットを送信する際に利用されるMAC鍵である。例えば、生成部121により、ローカル送信先アドレスとして、ノードNbのアドレスが特定された場合、算出部122は、アドホックデータ用MAC鍵管理テーブルから、ローカル送信先アドレス「Nbのアドレス」に対応するアドホックデータ用MAC鍵「Key_Nb」を取得する。そして、算出部122は、選択したアドホックデータ用MAC鍵を用いて、第一の値となるMAC値を算出する。
 図6Bは、アプリケーションデータ用MAC鍵管理テーブルのデータ構成例である。アプリケーションデータ用MAC鍵管理テーブルは、アプリケーションデータ用MAC鍵の情報を記憶する。算出部122は、アプリケーションデータ用MAC鍵をもちいて、アプリケーションデータに対するMAC値を算出する。なお、アプリケーションデータ用MAC鍵管理テーブルは、グローバル送信先アドレスに応じて、複数のアプリケーションデータ用MAC鍵を記憶してもよい。
 図6Cは、暗号鍵管理テーブルのデータ構成例である。暗号鍵管理テーブルは、暗号鍵の情報を記憶する。なお、暗号鍵管理テーブルは、グローバル送信先アドレスに応じて、複数の暗号鍵を記憶してもよい。
 図6Dは、検証用MAC鍵管理テーブルのデータ構成例である。検証用MAC鍵管理テーブルは、検証用MAC鍵の情報を記憶する。検証用MAC鍵は、パケットを受信した場合に、受信したパケット内のアドホックデータの完全性を検証する為に利用するMAC鍵である。
 なお、本実施例においては、アプリケーションデータの完全性を検証する為には、アプリケーションデータ用MAC鍵を利用することがきる。一方、アドホックデータの完全性を検証する為には、パケットを送信したノードで採用されたアドホックデータ用MAC鍵を用いる必要がある。
 上記のとおり、本実施例においては、パケットの送信側のノードは、パケットのローカル送信先に応じたアドホックデータ用MAC鍵を利用して、第一の値であるMAC値を算出する。したがって、検証用MAC鍵管理テーブルは、自ノードから他ノードへ共有したアドホックデータ用MAC鍵を記憶する。
 事前に、ノードNbは、ノードNbの検証用MAC鍵をノードNc等の周囲のノードに共有する。ノードNbは、自身の鍵情報記憶部132の検証用MAC鍵管理テーブルに、他のノードNcと共有したMAC鍵を、検証用MAC鍵として記憶する。
 一方、ノードNcは、ノードNbのアドホックデータ用MAC鍵を、ノードNbのアドレスと対応付けて格納する。
 なお、図6Dは、ノードNcにおける検証用MAC鍵管理テーブルであり、ノードNcが他のノードへ共有したアドホックデータ用MAC鍵である「Key_Nc」が、検証用MAC鍵として記憶されている。
 図6Eは、復号鍵管理テーブルのデータ構成例である。復号鍵管理テーブルは、暗号化されたペイロードデータを復号する為の情報を記憶する。なお、復号鍵管理テーブルは、グローバル送信元アドレスに応じて、複数の復号鍵を記憶してもよい。また、鍵情報記憶部131は、復号鍵管理テーブルを有さず、暗号鍵管理テーブルに記憶された暗号鍵を用いて、復号を行う事としてもよい。
 図7は、パケットの生成処理のフローチャートである。まず、取得部14は、データを取得したかを判定する(Op.1)。例えば、センサから出力値を受信することで、取得部14はデータを取得する。
 取得部14がデータを取得していない場合は(Op.1 NO)、生成処理を終了する。一方、取得部14がデータを取得した場合は(Op.1 YES)、暗号化部123は、取得したデータを含むペイロードデータを暗号化する(Op.2)。そして、暗号化されたペイロードデータは、ペイロードデータ部に格納される。なお、ペイロードデータには、取得したデータ以外に、データを取得した時刻や、期間などの情報が含まれてもよい。
 生成部121は、第二のヘッダ情報を、パケットの第二のヘッダ部に格納する(Op.3)。例えば、生成部121は、グローバル送信元アドレスとして、自ノードのアドレスを設定する。さらに、生成部121は、グローバル送信先アドレスとして、シンクノードSNのアドレスを設定する。
 次に、算出部122は、アプリケーションデータを対象として、アプリケーションデータ用MAC鍵を用いて、第二の値となるMAC値を算出する(Op.4)。アプリケーションデータは、第二のヘッダ部に格納された第二のヘッダ情報と、ペイロードデータ部に格納されたペイロードデータとを含む。算出されたMAC値は、第二の値格納部に格納される。
 生成部121は、第一のヘッダ情報を、パケットの第一のヘッダ部に格納する(Op.5)。例えば、生成部121は、ローカル送信元アドレスとして、自ノードのアドレスを設定する。さらに、生成部121は、ルーティングテーブルを参照し、ローカル送信先アドレスを設定する。また、パケットの送信日時や、転送回数などの情報も第一のヘッダ部に格納されても良い。
 例えば、生成部121は、ルーティングテーブル記憶部131を参照し、グローバル送信先アドレスと対応づいた複数のローカル送信先アドレスの内、もっとも評価値が高いローカル送信先アドレスを特定する。生成部121は、特定されたローカル送信元アドレスを、第一のヘッダ部に設定する。
 次に、算出部122は、アドホックデータを対象として、アドホックデータ用MAC鍵を用いて、第一の値となるMAC値を算出する(Op.6)。アドホックデータは、第一のヘッダ部に格納された第一のヘッダ情報と、第二のヘッダ部に格納された第二のヘッダ情報と、ペイロードデータ部に格納されたペイロードデータとを含む。算出されたMAC値は、第一の値格納部に格納される。
 具体的には、算出部122は、アドホックデータ用MAC鍵管理テーブルから、先に特定されたローカル送信先アドレスに対応するアドホックデータ用MAC鍵を取得する。そして、取得したアドホックデータ用MAC鍵を用いて、MAC値を算出する。
 そして通信部11は、生成されたパケットを、他のノードへ送信する(Op.7)。
 次に、図8は、パケットを受信したノードにより実行される検証処理のフローチャートである。
 通信部11は、パケットを受信する(Op.10)。そして、検証部124は、受信したパケットの第一の値格納部に格納されている第一の値を用いて、アドホックデータの完全性を検証する(Op.11)。
 具体的には、検証部124は、検証用MAC鍵を用いて、受信したパケット内のアドホックデータに対するMAC値を算出する。そして、検証部124は、受信したパケット内の第一の値格納部に格納されているMAC値と、算出したMAC値とを比較する。両者が一致した場合は、受信したパケット内のアドホックデータは、他のノードから当該パケットが送信された時点と同一であることが証明される。つまり、アドホックデータの完全性が肯定される。
 一方、両者が一致しなかった場合は、受信したパケット内のアドホックデータは、他のノードから当該パケットが送信された時点と同一であることが否定される。つまり、アドホックデータの完全性が否定される。
 また、本実施例においては、ローカル送信元となるノードは、ローカル送信先となるノードに応じて、アドホックデータ用MAC鍵を選択する。よって、ローカル送信先となったノードにおいて、パケット内の第一の値格納部に格納されているMAC値と算出したMAC値とが一致しなかった場合は、検証用MAC鍵とは異なるアドホックデータ用MAC鍵が、ローカル送信元ノードで使用された可能性を検知できる。さらには、ローカル送信先アドレスとして指定されたノード以外のノードが、当該パケットを受信した可能性を検知できる。
 アドホックデータの完全性が証明された場合は(Op.11 YES)、検証部124は、パケット内のグローバル送信先アドレスが、自ノードのアドレスと一致するか判定する(Op.12)。一致した場合は(O.12 YES)、復号化部125は、復号鍵管理テーブルから復号鍵を取得し、受信したパケット内のペイロードデータ部に格納されたペイロードデータを、復号鍵で復号する(Op.13)。そして、ノード10は、検証処理を終了する。
 なお、ノードNが、Op.12でYESの判定がなされる場合は、例えば、サーバから特定のノードに向けて送信されたパケットが、特定のノードまで到達した場合である。通常、各パケットの取得部14が取得したデータを含むパケットを、サーバへ送信する場合は、グローバル送信先アドレスは、サーバと直接通信可能なシンクノードのアドレスとなる。
 一方、パケット内のグローバル送信先アドレスが、自ノードのアドレスと一致しなかった場合(Op.12 NO)、生成部121および算出部122は、パケット内のデータの一部を更新する(Op.14)。例えば、生成部121は、第一のヘッダ部に、新たな第一のヘッダ情報を設定する。さらに、算出部122が算出した第一の値を、第一の値を格納する。
 具体的には、生成部121は、ローカル送信元アドレスに、自ノードのアドレスを設定するとともに、ローカル送信先アドレスに、次の送信先となるノードのアドレスを設定する。算出部122は、新たな第一のヘッダ情報と、予めパケット内に含まれているアプリケーションデータとに基づいて、第一の値を算出する。そして、生成部121は、算出された第一の値を、第一の値格納部に格納する。
 通信部11は、更新されたパケットを転送する(Op.15)。
 次に、Op.11において、アドホックデータの完全性が証明されなかった場合(Op.11 NO)、検証部124は、転送優先モードであるか否かを判定する(Op.16)。転送優先モードとは、アドホックデータの完全性が否定された場合にさらにアプリケーションデータの完全性を検証するモードであって、パケットの転送を優先するモードである。
 転送優先モードである場合は(Op.16YES)、検証部124は、受信したパケット内のアプリケーションデータの完全性を検証する(Op.17)。
 具体的には、検証部124は、アプリケーションデータ用MAC鍵を用いて、受信したパケット内のアドホックデータに対するMAC値を算出する。なお、本実施の形態においては、パケットの送信元であるノードにおいて、アプリケーションデータ用データは、予め全ノードで共有されているアプリケーションデータ用MAC鍵が用いられる。よって、パケットを受信したノードは、予め全ノードで共有されているアプリケーションデータ用MAC鍵を、アプリケーションデータの検証に用いる。
 そして、検証部124は、受信したパケット内の第二の値格納部に格納されているMAC値と、算出したMAC値とを比較する。両者が一致した場合は、受信したパケット内のアプリケーションデータは、他のノードから当該パケットが送信された時点と同一であることが証明される。つまり、アプリケーションデータの完全性が肯定される。
 一方、両者が一致しなかった場合は、受信したパケット内のアプリケーションデータは、他のノードから当該パケットが送信された時点と同一であることが否定される。つまり、アプリケーションデータの完全性が否定される。
 アプリケーションデータの完全性が証明された場合(Op.17 YES)、検証部124は、処理をOp.12へ進める。なお、以降の処理は、先に述べたとおりである。
 一方、アプリケーションデータの完全性が証明されなかった場合(Op.17NO)、検証部124は、受信したパケットを破棄する(Op.18)。また、Op.16において、ノード10は、転送優先モードでない場合(Op.16)、パケットを破棄する(Op.18)。つまり、アドホックデータの完全性のみを検証するセキュリティ優先モードである場合は、検証部124は、アドホックデータが完全でないパケットの転送を許容しないことで、アドホックネットワーク全体のセキュリティを保つ。
 以上の処理により、ノード10がパケットを受信した場合に、ノード10は、アドホックデータの検証とアプリケーションデータの検証とを個別に行うことができる。つまり、ノード10は、アドホックデータの完全性を検証した後、さらにアプリケーションデータの完全性を検証することができる。
 よって、アドホックデータの完全性が証明されなかった場合でも、ノード10は、さらにアプリケーションデータの完全性を検証することで、例えば、パケット内のペイロードデータを、グローバル送信先アドレスへ到達させることを優先することができる為、パケットがむやみに破棄されることを防ぐことができる。
 例えば、第一のヘッダ情報に含まれる、送信日時や転送回数等の付加情報が一部、何らかの理由で送信中に書き変わってしまった場合でも、パケットを受信したノードで、当該パケットが破棄されることを防ぐことができる。また、第一のヘッダ情報に含まれる、ローカル送信元アドレスやローカル送信先アドレスが書き変わってしまった場合でも、同様である。
 一方、パケットを送信する場合、各ノード10は、第一の値として、ローカル送信先のノードに応じたアドホックデータ用MAC鍵を選択することができる。よって、セキュリティ優先モードが各ノードに設定されている場合は、パケットを受信したノードは、自身の検証用MAC鍵を予め共有していないノードから送信されてきたパケットを破棄することができる。例えば、不正なノードが、パケットを生成および送信した場合には、不正ノードは、送信先となるノードのアドホックデータ用MAC鍵を知らない。よって、パケット内に設定されたMAC値と、パケットを受信したノードが算出したMAC値は一致しないため、各ノードは、不正なノードからのパケットを破棄することができる。
 次に、アドホックネットワーク内を、パケットが送信される流れを、シーケンス図を用いて説明する。図9は、アドホックネットワーク内を、パケットが送信される流れを示すシーケンス図である。また、図9は、図1のノードNcが、アドホックネットワークを用いて、サーバSへペイロードデータを送信する場合のシーケンス図である。図1のルートR1に従って、ノードNcが生成したペイロードデータを含むパケットが、ノードNbおよびNaを経由して、シンクノードSNまで送信される。その後、シンクノードSNとサーバSとが通信する事で、ペイロードデータは、サーバSにより受信される。
 まず、ノードNcは、センサ等からデータを取得する(Op.100)。次に、ノードNcは、取得したデータを含むペイロードデータを生成、ペイロードデータを含むパケットを生成する(Op.101)。なお、パケットを生成する処理は、図7に示した通りである。
 続いて、ノードNcは、生成したパケットを送信する(Op.102)。ノードNcのように、パケットを生成するノードを第一のノードと称する。各ノードが、第一のノードとして機能する場合は、各ノードは、図4における、通信部11、生成部121、算出部122、暗号化部123、記憶部13を有する。
 次に、ノードNcと通信可能なノードNbは、パケットを受信する(Op.103)。そして、ノードNcは、パケット内に含まれる第一の値を用いて、パケット内のアドホックデータの完全性を検証するとともに、必要に応じて、第二の値を用いて、アプリケーションデータの完全性を検証する(Op.104)。
 ノードNbは、受信したパケット内のアプリケーションデータの完全性が証明された場合、当該アプリケーションデータを含む、新たなパケットを生成し、パケットを転送する(Op.105)。なお、ノードNbにより転送されたパケットは、ノードNbと通信可能なノードNaにより受信される。そして、ノードNaは、ノードNbと同様の処理を行う。
 ただし、ノードNbおよびノードNaは、受信したパケット内のアドホックデータの完全性が証明されない場合であって、かつアプリケーションデータの完全性が証明されない場合は、受信したパケットを破棄する。
 ノードNbやNaのように、パケットを検証して、さらに転送するノードを第二のノードと称する。各ノードが第二のノードとして機能する場合は、各ノードは、図4における、通信部11、生成部121、算出部122検証部124、記憶部13、取得部14を有する。なお、図9には示していないが、各ノードが最終送信先アドレスに対応するノードである場合は、各ノードは、図4における、通信部11、検証部124、復号化部124、記憶部13を有する。
 次に、シンクノードSNは、パケットを受信する(Op.106)。なお、シンクノードSNは、ノード10と同様に、受信したパケットの検証を行う(Op.107)。例えば、シンクノードは、図8に示すノード10の検証処理フローを実行する。つまり、シンクノードSNは、少なくとも、ノード10の処理部の内、通信部11、生成部121、検証部124、復号化部125、記憶部13を有する。
 シンクノードSNは、受信したパケット内のペイロードデータを、復号する。そして、復号したペイロードデータを含むアプリケーションデータを、サーバSへ送信する(Op.109)。なお、ペイロードデータは、暗号化されたままサーバSへ送信されてもよい。その場合は、シンクノードSNは、暗号化されたペイロードデータを含むアプリケーションデータを、サーバSへ送信する。そして、サーバSは、アプリケーションデータを受信する(Op.110)。
 以上の処理によって、送信ルートを形成するノードNbおよびNaにおいて、アプリケーションデータの完全性が証明されたパケットは、グローバル送信先であるシンクノードまで到達する。したがって、ノードNcで取得されたデータを含むペイロードデータは、アプリケーションデータの一部として、シンクノードを経由して、サーバSにより受信される。つまり、サーバは、アプリケーションデータに含まれる、グローバル送信元アドレスおよびペイロードデータを取得することができる。
(実施例2)
 実施例2は、パケットがアドホックネットワークを送信される中で、不正なノードにパケットが取得される場合を想定し、よりセキュリティを高くするための実施例である。
 図10は、実施例2におけるパケット生成処理のフローチャートである。なお、実施例1と同様の処理については、図7と同じ符号を付し、説明を省略する。また、実施例2における各ノードの機能構成は、実施例1と同様である。
 実施例2において、算出部122が第二の値を算出した後、暗号化部123は、アプリケーションデータと第二の値とを、暗号化する(Op.8)。なお、予め設定されたアルゴリズムにしたがって、暗号化は実行される。
 例えば、本実施例においては、暗号化部123は、ローカル送信先のアドホックデータ用MAC鍵を用いて、アプリケーションデータおよび第二の値を暗号化する。なお、アドホックデータ用MAC鍵は、予め正規のノード同士で共有される。また、全ノードで共有しているアプリケーションデータ用MAC鍵や、他の暗号鍵が、暗号鍵として用いられても良い。
 そして、生成部121が第一のヘッダ情報を生成した後、算出部122は、暗号化されたアプリケーションデータと、暗号化された第二の値と、第一のヘッダ情報とを対象として、第一の値を算出する(Op.9)。その後、通信部11は、パケットを送信する(Op.7)。
 以上の通り、実施例2においては、ペイロードデータ以外に、アプリケーションデータも暗号化される。したがって、グローバル送信元アドレスおよびグローバル送信先アドレスも、暗号化される。よって、本実施例によれば、不正なノードを操作する第三者に、グローバル送信元アドレスやグローバル送信先アドレスが取得されることを防ぐことができる。
 図11は、実施例2におけるパケットの検証処理のフローチャートである。なお、実施例1と同様の処理については、図8と同じ符号を付し、説明を省略する。
 まず、Op.11においてアドホックデータの完全性が証明された場合(Op.11 YES)、復号化部125は、暗号化されたアプリケーションデータおよび暗号化された第二の値を、復号する(Op.19)。なお、予め設定されたアルゴリズムにしたがって、復号化は実行される。
 例えば、本実施例においては、パケットを送信したノードは、ローカル送信先のアドホックデータ用MAC鍵を用いて、アプリケーションデータおよび第二の値を暗号化する。したがって、パケットを受信したノードは、予めパケットを送信したノードと共有した検証用MAC鍵を利用して、復号化を行う。また、復号化できない場合は、復号化部125は、受信したパケットを破棄する。
 続いて、復号化されたアプリケーションデータを参照することで、検証部124は、Op.12を実行する。なお、以降の処理は、実施例1と同様である。
 一方、アドホックデータの完全性が証明されなかった場合(Op.11 NO)であって、さらに、転送優先モードである場合(Op.16 YES)、復号化部125は、暗号化されたアプリケーションデータおよび暗号化された第二の値を、復号する(Op.20)。なお、予め設定されたアルゴリズムにしたがって、復号化は実行される。また、復号化できない場合は、受信したパケットを破棄する。
 そして、検証部124は、復号化された第二の値を参照することで、Op.17を実行する。なお、以降の処理は、実施例1と同様である。
 以上の処理により、パケット内のアプリケーションデータを暗号化した状態で、パケットが送信される。したがって、不正なノードにパケットが搾取された場合であっても、アプリケーションデータが取得されることを防ぐことができる。
(実施例3)
 図12は、ノードNのハードウェア構成例である。ノード200は、CPU(Central Processing Unit)201と、RAM(Random Access Memory)202と、フラッシュメモリ203と、インターフェース(I/F)204と、暗号化回路205と、センサ206と、バス207とを備えている。CPU201乃至センサ206は、バス207よってそれぞれ接続されている。
 CPU201は、ノード200の全体の制御を司る。CPU201は、RAM202に展開されたプログラムを実行することにより、通信部11、制御部12、取得部14などとして機能する。
 RAM202は、CPU201のワークエリアとして使用される。フラッシュメモリ203は、プログラムや、各種鍵の情報、ルーティングテーブルを記憶している。なお、フラッシュメモリ203は、記憶装置13の一例である。プログラムには、例えば、フローチャートに示したノードにおける各処理を実行させる為のプログラムが含まれる。例えば、パケットの生成処理およびパケットの検証処理を、ノードに実行させる為の制御プログラムが、フラッシュメモリ203に記憶される。
 フラッシュメモリ203に記憶されたプログラムを、RAM202に展開し、CPU201が実行することで、ノード200は、図4に記載した各種処理部として機能する。また、ノード200は、図7および図8の処理を実行する。
 I/F204は、マルチホップ通信によりパケットを送受信する。I/F204は、通信部11の一例である。
 暗号化回路205は、データを暗号化する場合に暗号鍵によりデータを暗号化する回路である。例えば、パケットを暗号化して送信する場合は、暗号化回路205が機能する。暗号化をソフトウェア的に実行する場合は、暗号化回路205に相当するプログラムをフラッシュメモリ23に記憶させておくことで、暗号化回路205は不要となる。
 センサ206は、センサ206固有のデータを検出する。たとえば、温度、湿度、水位、降水量、風量、音量、電力使用量、時間、時刻、加速度など、測定対象にあったデータを検出する。なお、CPU201が、取得部14として機能する際には、センサからデータを取得する。
10   ノード
11   通信部
12   制御部
13   記憶部
14   取得部
200  ノード
201  CPU
202  RAM
203  フラッシュメモリ
204  I/F
205  暗号化回路
206  センサ
207  バス

Claims (14)

  1. 第一のヘッダ部と、第二のヘッダ部と、ペイロードデータ部とを含むパケットを、複数のノード間で転送するアドホックネットワークシステムにおいて、
    前記複数のノードの内の第一のノードは、
    前記ペイロードデータ部に設定されるペイロードデータ、及び前記第一のヘッダ部に設定される送信先アドレスを含む第一のヘッダ情報に対して、第一の論理関係である第一の値を算出する算出部と、
          前記ペイロードデータと、前記第一のヘッダ情報と、前記第二のヘッダ部に設定される最終送信先アドレスを含む第二のヘッダ情報と、前記第一の値と、該ペイロードデータ及び該第二のヘッダ情報に対して第二の論理関係である第二の値とを含むパケットを、第二のノードへ送信する通信部とを有し、
    前記第二のノードは、
    パケットを受信する通信部と、
    受信したパケット内における前記ペイロードデータ部に格納された情報および前記第一のヘッダ部に格納された情報に対して前記第一の論理関係となる値が、前記第一の値と一致せず、かつ、該受信したパケットにおける前記ペイロードデータ部に格納された情報および前記第二のヘッダ部に格納された情報に対して前記第二の論理関係である値が、前記第二の値と一致する場合、前記受信したパケットに基づくパケットを第三のノードへ送信させる制御を行う検証部とを有することを特徴とするアドホックネットワークシステム。
     
  2.  アドホックネットワーク内で、第一のヘッダ部と、第二のヘッダ部と、ペイロードデータ部とを含むパケットを送信するノードにおいて、
    前記ペイロードデータ部に設定されるペイロードデータ、及び前記第一のヘッダ部に設定される送信先アドレスを含む第一のヘッダ情報に対して、第一の論理関係である第一の値を算出する算出部と、
     前記ペイロードデータと、前記第一のヘッダ情報と、前記第二のヘッダ部に設定される最終送信先アドレスを含む第二のヘッダ情報と、前記第一の値と、該ペイロードデータ及び該第二のヘッダ情報に対して第二の論理関係である第二の値と、を含むパケットを送信する通信部とを有することを特徴とするノード。
     
  3.  前記ノードは、さらに、
     前記ノードに対してデータを出力するセンサから、該データを取得する取得部を備え、
     前記算出部は、前記データを取得した場合に、該データを含む前記ペイロードデータおよび前記第二の情報に対する前記第二の値を算出することを特徴とする請求項2記載のノード。
     
  4.  前記ノードは、さらに、
     前記取得部が、前記データを取得した場合に、前記ペイロードデータを暗号化する暗号化部を備え、
     前記算出部は、暗号化された前記ペイロードデータおよび前記第一のヘッダ情報に対して、前記第一の値を算出することを特徴とする請求項3記載のノード。
     
  5.  前記ノードにおいて、前記暗号化部は、さらに、
     暗号化された前記ペイロードデータおよび前記第二のヘッダ情報をさらに、暗号化することを特徴とする請求項4記載のノード。
     
  6.  前記ノードは、さらに、
     前記アドホックネットワークにおいて、前記パケットの最終送信先アドレスごとに、該最終送信先アドレスまでの転送ルートを示すルーティングテーブルを記憶する記憶部を有し、
     前記ルーティングテーブルに基づいて、前記送信先アドレスを決定する生成部を有することを特徴とする請求項2乃至請求項5のいずれか一項に記載のノード。
     
  7.  前記算出部は、予め設定されたアルゴリズムに基づいて、前記ペイロードデータ及び前記第一のヘッダ情報に対するメッセージ認証コードを、前記第一の値として算出することを特徴とする請求項2乃至請求項6のいずれか一項に記載のノード。
     
  8.  前記ノードは、さらに、
     前記送信先アドレス毎に、前記メッセージ認証コードを算出する為の鍵を管理する鍵管理テーブルを記憶する記憶部を有し、
     前記送信先アドレスに応じた前記鍵を用いて、前記第一の値を算出することを特徴とする請求項7記載のノード。
     
  9.  パケットを受信した場合に、該パケットを送信したノードにより該パケット内に設定された値を用いた検証を行うノードであって、
     ペイロードデータ部に設定されたペイロードデータと、第一のヘッダ部に設定された送信先アドレスを含む第一のヘッダ情報と、第二のヘッダ部に設定される最終送信先アドレスを含む第二のヘッダ情報と、第一の値と、第二の値とを含む前記パケットを、前記送信したノードから受信する通信部と、
     前記ペイロードデータおよび前記第一のヘッダ情報に対して第一の論理関係となる値が、前記第一の値と一致するかを検証すると共に、
    一致しなかった場合、前記ペイロードデータおよび前記第二のヘッダ情報に対して第二の論理関係となる値が、前記第二の値と一致するか検証し、前記第二の論理関係となる値が、前記第二の値と一致した場合に、前記パケットに基づくパケットを送信する制御を行う検証部とを有することを特徴とするノード。
     
  10.  前記ノードにおいて、前記検証部は、
     前記第二の論理関係となる値が、前記第二の値と一致しなかった場合に、前記パケットを破棄することを特徴とする請求項9記載のノード。
     
  11.  前記ノードにおいて、前記検証部は、 予め設定されたアルゴリズムに基づいて、前記ペイロードデータ及び前記第一のヘッダ情報に対するメッセージ認証コードを、前記第一の論理関係となる値として算出することを特徴とする請求項9または10記載のノード。
     
  12.  前記ノードは、さらに、前記検証部による前記制御に応じて、前記通信部は、他のノードへ、前記ペイロードデータと前記第二のヘッダ情報を含む他のパケットを送信することを特徴とする請求項9乃至請求項11のいずれか一項に記載のノード。
     
  13.  アドホックネットワーク内で、第一のヘッダ部と、第二のヘッダ部と、ペイロードデータ部とを含むパケットを送信するノードが実行する通信方法であって、
     前記ノードが、
    前記ペイロードデータ部に設定されるペイロードデータ、及び前記第一のヘッダ部に設定される送信先アドレスを含む第一のヘッダ情報に対して、第一の論理関係である第一の値を算出し、
     前記ペイロードデータと、前記第一のヘッダ情報と、前記第二のヘッダ部に設定される最終送信先アドレスを含む第二のヘッダ情報と、前記第一の値と、該ペイロードデータ及び該第二のヘッダ情報に対して第二の論理関係である第二の値と、を含むパケットを送信する処理を実行することを特徴とする通信方法。
     
  14.  パケットを受信した場合に、該パケットを送信したノードにより該パケット内に設定された値を用いた検証を行うノードが実行する通信方法であって、
     前記ノードが、
     ペイロードデータ部に設定されたペイロードデータと、第一のヘッダ部に設定された送信先アドレスを含む第一のヘッダ情報と、第二のヘッダ部に設定される最終送信先アドレスを含む第二のヘッダ情報と、第一の値と、第二の値とを含む前記パケットを、前記送信するノードから受信し、
     前記ペイロードデータおよび前記第一のヘッダ情報に対して第一の論理関係となる値が、前記第一の値と一致するかを検証し、
    一致しなかった場合、前記ペイロードデータおよび前記第二のヘッダ情報に対して第二の論理関係となる値が、前記第二の値と一致するか検証し、
    前記第二の論理関係となる値が、前記第二の値と一致した場合に、前記パケットに基づくパケットを送信する制御を行う処理を実行することを特徴とする通信方法。
     
PCT/JP2012/001987 2012-03-22 2012-03-22 アドホックネットワークシステム、ノード、および通信方法 WO2013140455A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2012/001987 WO2013140455A1 (ja) 2012-03-22 2012-03-22 アドホックネットワークシステム、ノード、および通信方法
JP2014505803A JP5962750B2 (ja) 2012-03-22 2012-03-22 アドホックネットワークシステム、ノード、および通信方法
US14/338,821 US20140334383A1 (en) 2012-03-22 2014-07-23 Network system, node device, and method of controlling network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/001987 WO2013140455A1 (ja) 2012-03-22 2012-03-22 アドホックネットワークシステム、ノード、および通信方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/338,821 Continuation US20140334383A1 (en) 2012-03-22 2014-07-23 Network system, node device, and method of controlling network system

Publications (1)

Publication Number Publication Date
WO2013140455A1 true WO2013140455A1 (ja) 2013-09-26

Family

ID=49221957

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/001987 WO2013140455A1 (ja) 2012-03-22 2012-03-22 アドホックネットワークシステム、ノード、および通信方法

Country Status (3)

Country Link
US (1) US20140334383A1 (ja)
JP (1) JP5962750B2 (ja)
WO (1) WO2013140455A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173603A1 (ja) * 2017-03-21 2018-09-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 更新処理方法、車載ネットワークシステムおよび電子制御ユニット
JPWO2020246145A1 (ja) * 2019-06-04 2020-12-10

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9491196B2 (en) * 2014-09-16 2016-11-08 Gainspan Corporation Security for group addressed data packets in wireless networks
EP3361765A1 (en) 2017-02-10 2018-08-15 Kamstrup A/S Radio frequency communication system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007019773A (ja) * 2005-07-07 2007-01-25 Sharp Corp 送信装置、受信装置及びそれらを備えた通信装置
WO2011121713A1 (ja) * 2010-03-29 2011-10-06 富士通株式会社 ノード、転送方法、および転送プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030156715A1 (en) * 2001-06-12 2003-08-21 Reeds James Alexander Apparatus, system and method for validating integrity of transmitted data
US20040025018A1 (en) * 2002-01-23 2004-02-05 Haas Zygmunt J. Secure end-to-end communication in mobile ad hoc networks
US8036221B2 (en) * 2004-06-14 2011-10-11 Cisco Technology, Inc. Method and system for dynamic secured group communication
KR100988179B1 (ko) * 2006-04-11 2010-10-18 퀄컴 인코포레이티드 다중 인증을 바인딩하는 방법 및 장치
MX2009004152A (es) * 2006-10-17 2009-10-29 Lummus Technology Inc Catalizadores de alquilacion metalicos.
JP4197031B2 (ja) * 2006-11-30 2008-12-17 沖電気工業株式会社 メッセージ認証システム及びメッセージ認証方法
KR101445188B1 (ko) * 2007-11-21 2014-10-01 삼성전자주식회사 무선 센서 네트워크에서 비정상적인 프레임 탐지 방법 및이를 위한 시스템
US20090170474A1 (en) * 2007-12-27 2009-07-02 Motorola, Inc. Method and device for authenticating trunking control messages
CN101689887A (zh) * 2008-04-25 2010-03-31 松下电器产业株式会社 通信终端装置及通信方法
JP5504603B2 (ja) * 2008-10-16 2014-05-28 富士通株式会社 無線装置及び無線装置において使用されるプログラム
KR20120097498A (ko) * 2009-10-14 2012-09-04 코닌클리케 필립스 일렉트로닉스 엔.브이. 무선 센서 네트워크에서 노드를 동작시키기 위한 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007019773A (ja) * 2005-07-07 2007-01-25 Sharp Corp 送信装置、受信装置及びそれらを備えた通信装置
WO2011121713A1 (ja) * 2010-03-29 2011-10-06 富士通株式会社 ノード、転送方法、および転送プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173603A1 (ja) * 2017-03-21 2018-09-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 更新処理方法、車載ネットワークシステムおよび電子制御ユニット
JPWO2020246145A1 (ja) * 2019-06-04 2020-12-10
JP7226543B2 (ja) 2019-06-04 2023-02-21 株式会社デンソー 電子制御装置および通信システム
US11916904B2 (en) 2019-06-04 2024-02-27 Denso Corporation Electronic control unit and communication system

Also Published As

Publication number Publication date
JP5962750B2 (ja) 2016-08-03
JPWO2013140455A1 (ja) 2015-08-03
US20140334383A1 (en) 2014-11-13

Similar Documents

Publication Publication Date Title
JP5652556B2 (ja) 通信ノード、通信制御方法、および通信ノードの制御プログラム
US9094818B2 (en) Method for cryptographically transmitting data between network nodes using a nonce value
JP6013988B2 (ja) データ収集システム、データ収集方法、ゲートウェイ装置及びデータ集約プログラム
EP3866411B1 (en) Distribution system for a signal communication system
CN105530253B (zh) 基于CA证书的Restful架构下的无线传感器网络接入认证方法
Singelée et al. A secure cross-layer protocol for multi-hop wireless body area networks
WO2011121713A1 (ja) ノード、転送方法、および転送プログラム
JPWO2011064868A1 (ja) 暗号情報送信端末
JP5962750B2 (ja) アドホックネットワークシステム、ノード、および通信方法
CN103297400A (zh) 基于双向转发检测协议的安全联盟管理方法及系统
WO2018101488A1 (ja) セキュアネットワーク通信方法
JP6804026B2 (ja) 暗号化通信システム
JP5839125B2 (ja) ノードおよび通信方法
JP5874823B2 (ja) ネットワークシステム、ノード、および通信方法。
JP2021040308A (ja) エンドツーエンドのセキュアな通信のための方法および装置
US20120216036A1 (en) Encryption methods and systems
JP5361970B2 (ja) 通信システム、第一通信装置、第二通信装置、暗号化通信方法及びプログラム
WO2013145026A1 (ja) ネットワークシステム、ノード、検証ノードおよび通信方法
JP5448700B2 (ja) 通信システム、収集装置および鍵更新方法
Goswami et al. Securing intra-communication in 6LoWPAN: A PKI integrated scheme
JP6303426B2 (ja) ノード装置、通信システム、通信方法および通信プログラム
JP5552104B2 (ja) 通信システム及び通信方法
JP5367040B2 (ja) 通信システム、第一通信装置、第二通信装置、通信方法及びプログラム
JP2008270884A (ja) 通信装置収容装置、通信装置、認証状況推定装置、認証システム、認証プログラム及び認証方法
JP6961951B2 (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: 12872233

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014505803

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: 12872233

Country of ref document: EP

Kind code of ref document: A1