WO2011121713A1 - ノード、転送方法、および転送プログラム - Google Patents
ノード、転送方法、および転送プログラム Download PDFInfo
- Publication number
- WO2011121713A1 WO2011121713A1 PCT/JP2010/055616 JP2010055616W WO2011121713A1 WO 2011121713 A1 WO2011121713 A1 WO 2011121713A1 JP 2010055616 W JP2010055616 W JP 2010055616W WO 2011121713 A1 WO2011121713 A1 WO 2011121713A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- packet
- authentication
- transfer
- probability
- Prior art date
Links
Images
Classifications
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/121—Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
- H04W12/122—Counter-measures against attacks; Protection against rogue devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Definitions
- the present invention relates to a node for transferring a packet, a transfer method, and a transfer program.
- An ad hoc network is a type of self-configuring network that is linked by wireless communication.
- An ad hoc network is composed of nodes. When a node communicates with another node, the node cannot directly communicate with the partner node and transmits a packet to an adjacent node.
- Adjacent nodes transmit packets to their adjacent nodes in the same way, and repeat this. Such communication is called multi-hop communication.
- communication with a target node is performed by multi-hop communication. In this way, all nodes have a function as routers that forward packets unrelated to themselves.
- the sink node SN When connecting an ad hoc network to a network such as the Internet, LAN (Local Area Network), WAN (Wide Area Network), etc. (hereinafter referred to as a “normal network” to be distinguished from an ad hoc network), the sink node SN A specific node called is used. The sink node SN understands both the ad hoc network protocol and the normal network protocol, and transfers communication between the ad hoc network and the normal network.
- the communication is always performed through the sink node SN. For this reason, the communication amount between the sink node SN and a nearby node tends to increase.
- FIG. 16 is an explanatory diagram (part 1) showing an example of blocking unauthorized communication between a conventional ad hoc network and a normal network.
- the ad hoc network is a network including nodes Na to Nc and a sink node SN.
- data is transferred in the order of node Nc ⁇ node Nb ⁇ node Na ⁇ sync node SN by ad hoc routing of the sink node SN.
- Each node Na to Nc shares a key for authenticating a message (authentication key K), and forwards the packet with a MAC (Message Authentication Code; hereinafter referred to as “MAC value”).
- MAC value Message Authentication Code
- the node Nc when data is detected at the node Nc, the node Nc generates a MAC value from the detected data, and transfers a packet including the detected data and the MAC value to the node Nb.
- the node Nb transfers the packet transferred from the node Nc to the node Na, and the node Na transfers it to the sink node SN.
- the node Nb when data is detected at the node Nb, the node Nb generates a MAC value based on the detected data, and transfers a packet including the detected data and the MAC value to the node Na.
- the node Na transfers the transferred packet to the sink node SN.
- the sink node SN performs MAC value authentication (MAC authentication) for a packet transferred from the ad hoc network to the normal network.
- MAC authentication MAC authentication
- the sink node SN performs MAC authentication of the packet, but since the unauthorized node Nx does not share the authentication key, the MAC authentication fails. As a result, it is determined that the packet is an illegal packet, and the sink node SN discards these packets. Similarly, when the illegal node Nx transfers an illegal packet to the node Nc or the node Na, the sink node SN similarly discards the packet.
- FIG. 17 is an explanatory diagram (part 2) showing an example of blocking unauthorized communication between a conventional ad hoc network and a normal network.
- the configuration is the same as FIG. In FIG. 17, when each of the nodes Na to Nc transfers to the transfer destination, MAC authentication of the transferred packet is performed.
- the node Nb determines that the packet is an illegal packet, and the node Nb discards the illegal packet.
- the MAC authentication fails. In this way, in FIG. 17, the node that received the illegal packet discards the illegal packet without transferring it.
- the processing load of the sink node SN is reduced because the node that directly received the illegal packet processes, but the node Nb adjacent to the illegal node Nx bears all the load for message authentication.
- Nodes Na to Nc are general nodes and may have a lower processing capacity than the sink node SN.
- upstream nodes close to the sink node SN tend to concentrate packets from downstream nodes. Therefore, when the load increases, packet transfer delay and packet loss occur in the entire ad hoc network.
- An object of the present invention is to provide a node, a transfer method, and a transfer program capable of efficiently performing load distribution for illegal packets in an ad hoc network in order to solve the above-described problems caused by the prior art. .
- a disclosed node, a transfer method, and a transfer program each includes a group of nodes in an ad hoc network that transmits a packet including detected data to a specific node by multi-hop communication.
- the packet is received from the transfer source node, and the packet is determined to be subject to authentication or forwarding according to the probability of performing authentication of the received packet, and the packet is determined to be subject to authentication.
- the authenticity of the packet is authenticated based on a common authentication key in each node, and when the packet is determined to be transferred or authenticated, the packet is transmitted to the transfer destination node and authenticated. If not, it is required to discard the packet.
- the transfer method, and the transfer program according to the present invention it is possible to efficiently perform load distribution for illegal packets in an ad hoc network.
- FIG. 18 is an explanatory diagram showing a comparative example of discarding illegal packets and discarding illegal packets shown in FIGS. 16 and 17 in the present embodiment. It is explanatory drawing which shows the data structure of a packet. It is explanatory drawing which shows the detailed data structure of the communication header shown in FIG. It is explanatory drawing which shows an example of the routing table of a node. It is explanatory drawing which shows the state of the communication header in multihop communication. It is a block diagram which shows the hardware structural example of the node which comprises an ad hoc network.
- FIG. 18 is an explanatory diagram showing a comparative example of discarding illegal packets and discarding illegal packets shown in FIGS. 16 and 17 in the present embodiment. It is explanatory drawing which shows the data structure of a packet. It is explanatory drawing which shows the detailed data structure of the communication header shown in FIG. It is explanatory drawing which shows an example of the routing table of a node. It is explanatory drawing which shows the state of the communication header in
- FIG. 3 is a block diagram illustrating a functional configuration example of a node according to the first exemplary embodiment
- 3 is a flowchart showing a detection data transmission processing procedure in a node according to the first exemplary embodiment
- 3 is a flowchart showing a packet transfer processing procedure in a node according to the first exemplary embodiment
- FIG. 6 is a block diagram illustrating a functional configuration example of a node according to the second exemplary embodiment
- It is a block diagram which shows the functional structural example of the node concerning Embodiment 3.
- FIG. 10 is a flowchart illustrating a packet transfer processing procedure in a node according to the third exemplary embodiment; It is a block diagram which shows the functional structural example of the node concerning Embodiment 4.
- FIG. 1 is an explanatory diagram showing a configuration example of an ad hoc network.
- an ad hoc network 100 and a normal network 101 are connected with a sink node SN in the ad hoc network 100 as a gateway.
- Data in the ad hoc network 100 is transferred as a packet from the sink node SN to the normal network 101 and reaches the server S.
- Data from the server S and the sink node SN is transferred as a packet from the sink node SN to each node in the ad hoc network 100.
- ad hoc network 100 a plurality of nodes are provided.
- nodes Na to Nh are shown as representatives.
- Each of the nodes Na to Nh can perform multi-hop communication with a node that can communicate within a predetermined communication range.
- the sink node SN knows which node can communicate with which node, and the sink node SN routes autonomously based on this information.
- a transfer source and a transfer destination for performing multi-hop communication are set by routing of the sink node SN.
- the route R1 is a route of node Nc ⁇ node Nb ⁇ node Na ⁇ sink node SN (communication in the reverse direction is also possible).
- the route R2 is node Ne ⁇ node Nd ⁇ sink node SN (reverse direction communication is also possible).
- the route R3 is a route of node Ng ⁇ node Nf ⁇ node Nd ⁇ sink node SN (the reverse direction is also possible).
- the route R4 is a route of node Nh ⁇ node Nf ⁇ node Nd ⁇ sink node SN (reverse direction is also possible).
- the node Na and the node Nd are nodes that directly communicate with the sink node. In this way, a node close to the sink node SN is called an upstream node.
- the node Nb and the node Ne are also upstream nodes.
- Each node Na to Nh transmits the detected data to the sink node SN according to the routed routes R1 to R4. Therefore, the upstream node closer to the sink node SN transfers the detection data of the downstream node further upstream. That is, the frequency at which packets from the transfer source node are transmitted to the transfer destination increases, and the transfer load increases.
- FIG. 2 is an explanatory diagram showing a comparative example of discarding illegal packets and discarding illegal packets shown in FIGS. 16 and 17 in the present embodiment.
- “Conventional A” indicates the example of FIG. 16
- “Conventional B” indicates the example of FIG.
- only the node (direct receiving node) that directly receives the packet from the sink node SN or the unauthorized node Nx does not perform MAC authentication as in the conventional case, but forwards to the sink node SN by multi-hop communication.
- the node on the path performs distributed processing of MAC authentication using the authentication key K.
- the authentication execution probability P for MAC authentication is 50%.
- the node that received the illegal packet group performs MAC authentication on half (50%) of the illegal packets in the illegal packet group, and transfers the remaining half of the illegal packets to the transfer destination node.
- the MAC value obtained from each of the 50 malicious packets that perform MAC authentication is different from the MAC value generated by the authentication key of the node Nb. Therefore, 50 illegal packets subjected to MAC authentication are discarded by the node Nb.
- the MAC value obtained from each of the 25 malicious packets that perform MAC authentication is different from the MAC value generated by the authentication key of the node Na. Therefore, 25 illegal packets subjected to MAC authentication are discarded by the node Na.
- the sink node SN performs MAC authentication for 25 illegal packets from the node Na.
- the MAC value obtained from each of the 25 malicious packets that perform MAC authentication is different from the MAC value generated by the authentication key of the sink node SN. Therefore, 25 illegal packets subject to MAC authentication are discarded by the sink node SN.
- FIG. 3 is an explanatory diagram showing the data structure of a packet.
- (A) shows the data structure in the case of plaintext communication
- (B) shows the data structure in the case of encrypted communication.
- a packet includes a communication header 301, a data part 302, and a MAC value storage part 303. Details of the communication header 301 will be described with reference to FIG. 4.
- a transmission source address, a destination address, a transfer source address, and a transfer destination address of data stored in the data unit 302 are described.
- the As these addresses for example, a source MAC (Media Access Control) address, a destination MAC address, a transfer source MAC address, and a transfer destination MAC address are used.
- a MAC address as an address.
- Data section 302 is data detected by the node specified by the source MAC address.
- the MAC value storage unit 303 stores the MAC value.
- the MAC value is a message authenticator obtained by encrypting the source and destination MAC addresses in the communication header 301 and the data in the data unit 302 with an authentication key shared by all nodes.
- (B) shows encrypted data obtained by encrypting the data in the data section 302 of (A) with the node-specific encryption key 310 specified by the MAC address of the transmission source (encrypted data in the encrypted data section 304). ) Is included in the packet.
- the MAC value storage unit 303 stores the MAC value.
- the MAC value is a message authenticator obtained by encrypting the source and destination MAC addresses in the communication header 301 and the encrypted data in the encrypted data unit 304 with an authentication key K shared by all nodes.
- the server S stores a decryption key corresponding to an encryption key unique to each node, and can receive the packet from the sink node SN and decrypt the encrypted data in the packet.
- FIG. 4 is an explanatory diagram showing a detailed data structure of the communication header 301 shown in FIG.
- the communication header 301 is divided into a first communication information header 401 and a second communication information header 402.
- the first communication information header 401 includes a transfer source MAC address and a transfer destination MAC address.
- the transfer source MAC address is the MAC address of the node that is the multi-hop communication source of the packet.
- the transfer destination MAC address is the MAC address of the node that is the multi-hop communication destination of the packet.
- the first communication information header 401 is rewritten with the transfer source and transfer destination MAC addresses as viewed from the transfer destination node.
- the second communication information header 402 has a source MAC address and a destination MAC address.
- the MAC address of the transmission source is a MAC address that identifies a node that is a detection source of data (or encrypted data) in the packet.
- the destination MAC address is a MAC address that identifies a node that is a destination of data (or encrypted data) in the packet. Usually, it is the MAC address of the sink node SN (or the MAC address of the server S). If the transfer destination MAC address matches the destination MAC address, the packet has arrived at the destination node, and the multi-hop communication ends.
- FIG. 5 is an explanatory diagram showing an example of a node routing table.
- (A) shows the routing table of the node Na
- (B) shows the routing table of the node Nb.
- the node code is used instead of the MAC address.
- “Na” in the routing table indicates the MAC address of the node Na.
- the record on the first line is a record used when transferring in the upward direction toward the sink node SN
- the record on the second line is a record used when transferring in the downward direction toward the end.
- the record in the second row is applied when broadcast from the sink node SN.
- the transfer source MAC address is referred to by referring to the routing table.
- the corresponding forwarding destination MAC address is specified.
- the MAC address of the transfer destination in the first communication information header 401 of the received packet is rewritten to the MAC address of the specified transfer destination.
- the MAC address of the transfer source in the first communication information header 401 of the received packet is rewritten to the MAC address of the own node.
- the node Na follows the routing table shown in FIG.
- the transfer source MAC address of the first communication information header 401 is rewritten from “Nb” to “Na”, and the transfer destination MAC address is rewritten from “Na” to “SN”.
- the first communication is performed according to the routing table shown in FIG.
- the transfer source MAC address of the information header 401 is rewritten from “SN” to “Na”, and the transfer destination MAC address is rewritten from “Na” to “Nb”.
- the node Nb When a packet with the transfer source MAC address “Nc” and the transfer destination MAC address “Nb” is transferred from the node Nc, the node Nb first transfers the packet according to the routing table shown in FIG.
- the transfer source MAC address in the communication information header 401 is rewritten from “Nc” to “Nb”, and the transfer destination MAC address is rewritten from “Nb” to “Na”.
- the first communication information is sent according to the routing table shown in FIG.
- the transfer source MAC address of the header 401 is rewritten from “Na” to “Nb”, and the transfer destination MAC address is rewritten from “Nb” to “Nc”.
- FIG. 6 is an explanatory diagram showing the state of the communication header 301 in multi-hop communication.
- FIG. 6 shows the state of the communication header 301 when the node Nc is the transmission source and the sink node SN is the destination.
- the MAC addresses of the transfer source, transfer destination, transmission source, and destination are set from the left.
- the node code is used instead of the MAC address.
- the transmission source is the node Nc and the destination is the sink node SN.
- the first communication information header 401 is rewritten every time multi-hop communication is performed.
- the packet is transferred to the node Nb.
- the packet is transferred to the node Na.
- the packet is transferred to the sink node SN.
- FIG. 7 is a block diagram illustrating a hardware configuration example of nodes constituting the ad hoc network 100.
- the nodes are a CPU (Central Processing Unit) 701, a RAM (Random Access Memory) 702, a flash memory 703, an interface (I / F) 704, an encryption circuit 705, a sensor 706, a bus. 707.
- the CPU 701 to the sensor 706 are connected by a bus 707.
- the CPU 701 controls the entire node.
- the RAM 702 is used as a work area for the CPU 701.
- the flash memory 703 stores key information such as programs, routing tables, authentication keys K, and encryption keys.
- the I / F transmits and receives packets by multi-hop communication.
- the encryption circuit 705 is a circuit that encrypts data using an encryption key when encrypting the data.
- the encryption circuit 705 When encryption is executed by software, the encryption circuit 705 is not required by storing a program corresponding to the encryption circuit 705 in the flash memory 703.
- the sensor 706 detects data unique to the sensor 706. For example, data suitable for the measurement target, such as temperature, humidity, water level, precipitation, air volume, volume, power, time, and time, is detected.
- authentication execution probability P is set in advance and authentication execution / transfer is executed.
- authentication execution / transfer is executed by changing the authentication execution probability P in accordance with the load on the node.
- the authentication execution probability P is changed in accordance with the packet destination, and the authentication execution / transfer is executed.
- authentication execution / transfer is executed by changing the authentication execution probability P in accordance with the load on the node and the destination of the packet.
- FIG. 8 is a block diagram of an example of a functional configuration of the node according to the first embodiment.
- the node includes a reception unit 801, a determination unit 802, an authentication unit 803, a transmission unit 804, and a discard unit 805.
- the receiving unit 801 to the discarding unit 805 have their functions executed by causing the CPU 701 to execute a program stored in a storage device such as the flash memory 703 shown in FIG. 7 or by the I / F 704, for example. Is realized.
- the receiving unit 801 has a function of receiving a packet. Specifically, when receiving the packet, the receiving unit 801 analyzes the communication header 301 in the packet. The type of communication is specified by the content of the second communication information header 402.
- the destination MAC address of the second communication information header 402 is the MAC address of the sink node SN
- it is transmitted to the sink node SN by multi-hop communication and transferred from the sink node SN to the server S via the normal network 101 Communication.
- the destination MAC address of the second communication information header 402 is broadcast (“FF: FF: FF: FF”)
- FF the destination MAC address of the second communication information header 402
- it is broadcast communication distributed from the sink node SN to all nodes in the ad hoc network 100.
- the destination is a node other than the sink node SN, the communication is between nodes.
- the determining unit 802 has a function of determining a received packet as an authentication target or a transfer target according to a probability of performing authentication of the packet received by the receiving unit 801 (authentication execution probability P).
- the authentication execution probability P is the probability m / n (n> m) set in advance, which is the probability of performing MAC authentication on a received packet. Although it is set to 50% in FIG. 2 described above, it is not limited to 50% and can be set as appropriate.
- the determination unit 802 randomly determines according to the authentication execution probability P. If a numerical value from 1 to n is randomly generated and the generated random number is a numerical value within 1 to m, the received packet at that time is subject to authentication. On the other hand, if it is a numerical value from m + 1 to n, the received packet at that time is to be transferred. If a certain number of consecutive authentication targets or forwarding targets without randomization, if such a decision pattern is read by an unauthorized person, malicious packets will be sent intentionally during the period to be forwarded. There is a possibility. Such a fraudulent act can be suppressed by determining the target at random.
- the authentication execution probability P it may be determined by a counter instead of performing authentication by random numbers. Specifically, the initial value is set to 0, and 1 is added every time a packet is received. If a packet is received when the count value is n, the process returns to 1.
- the authentication unit 803 has a function of authenticating the validity of a packet based on an authentication key common to each node when the determination unit 802 determines that the packet is to be subjected to authentication. Specifically, the authentication unit 803 obtains a MAC value by using, for example, a MAC value and a HMAC (Keyed-Hashing for Message Authentication code) algorithm using a hash function such as SHA1 and SHA2. Alternatively, the MAC value may be obtained by an AES-CBC-MAC algorithm using authentication key encryption.
- HMAC Keyed-Hashing for Message Authentication code
- the data as the calculation source is taken out from the packet.
- the second communication information header 402 and the data in the data unit 302 (or the encrypted data in the encrypted data unit 304) included in the packet to be authenticated are used as MAC value calculation source data. Take out. Then, by providing the calculation source data and the authentication key to the above-described algorithm, a MAC value (calculated MAC value) guaranteed by the authentication key is obtained.
- the MAC value is extracted. Then, it is determined whether or not the extracted MAC value matches the calculated MAC value. If they match, you are authenticated. On the other hand, if they do not match, it is determined that the packet has not been authenticated, that is, an illegal packet.
- the transmission unit 804 has a function of transmitting a packet to a transfer destination node when it is determined as a transfer target by the determination unit 802 or when it is authenticated by the authentication unit 803. Since the packet authenticated by the authentication unit 803 is a normal packet, the first communication information header 401 of the packet is rewritten and set as shown in FIGS. Then, the packet is transmitted to the transfer destination node.
- the discard unit 805 has a function of discarding a packet when the authentication unit 803 does not authenticate. Specifically, for example, a packet that is not to be discarded or authenticated is erased from a packet held in a storage area such as a RAM 702 or flash memory 703 in the node or a cache or register in the CPU 701.
- FIG. 9 is a flowchart of a detection data transmission process procedure at nodes Na to Nh (collectively referred to as “node N” in FIGS. 9 and 10) according to the first embodiment.
- the node N waits for the target data to be detected by the sensor 706 (step S901: No), and when the data is detected (step S901: Yes), the node N is in the communication header 301. Is set (step S902).
- the node N sets its own MAC address as the transfer source MAC address of the first communication information header 401, and the transfer destination MAC address of the transfer destination specified in the routing table.
- the MAC address on the upstream side (transfer destination of the record in the first row in FIG. 5) is set.
- the node N sets the MAC address of its own node as the source MAC address of the second communication information header 402, and sets the MAC address of the sink node SN as the destination MAC address.
- the node N calculates a MAC value using the detected data, the second communication information header 402, and the authentication key (step S903). Then, the node N attaches a MAC value to the communication header 301 and the detection data to form a packet, and transmits the packet to the transfer destination MAC address (step S904). As a result, the detection data transmission process ends. Note that the detection data transmission process shown in FIG. 9 is executed in the same way for the second to fourth embodiments to be described later.
- FIG. 10 is a flowchart of a packet transfer processing procedure at the node N according to the first embodiment.
- the node N waits for the reception unit 801 to receive the packet (step S1001: No).
- the node N displays the communication header 301 of the received packet.
- Analysis is performed (step S1002).
- the node N determines from the analysis result of the communication header 301 whether or not the received packet is a transfer packet (step S1003). That is, it is determined whether or not the received packet is a packet destined for the own node (step S1003).
- step S1003 If the packet is not a transfer packet (step S1003: No), the packet is addressed to the own node, and the node N executes data processing (step S1004). Specifically, the node N extracts data from the data portion 302 of the received packet. The extracted data is processed as necessary. Thereby, the packet transfer process for the packet addressed to the own node is terminated.
- step S1003 if it is a transfer packet (step S1003: Yes), the node N generates a random number by the determination unit 802 (step S1005), and determines whether it is an authentication execution target or a transfer target (step S1006). When determined to be a transfer target (step S1006: No), the node N rewrites the first communication information header 401 of the packet by executing a transfer setting process by the transmission unit 804 (step S1007). Then, the node N uses the transmission unit 804 to transmit the packet to the transfer destination node (step S1008). As a result, the packet transfer process when the transfer target is determined in step S1006 is terminated.
- step S1006: Yes when the authentication target is determined in step S1006 (step S1006: Yes), the node N extracts the MAC value from the packet and the MAC value calculation source data by the authentication unit 803 (step S1006: Yes) (step S1006: Yes). S1009). Next, the node N calculates the MAC value from the MAC value calculation source data and the authentication key (step S1010). Then, the node N uses the authentication unit 803 to determine whether the extracted MAC value matches the calculated MAC value (step S1011).
- step S1011: Yes If they match (step S1011: Yes), the process proceeds to step S1007 to transfer the packet. On the other hand, if they do not match (step S1011: No), the node N discards the packet by the discard unit 805 (step S1012). As a result, the packet transfer process when it is determined as an authentication target is terminated.
- the node performs authentication by the authentication unit 803 according to the authentication execution probability P set in advance, or determines whether to transfer to the transfer destination as it is without performing authentication. decide.
- P the authentication execution probability
- authentication execution / transfer is executed by changing the authentication execution probability P according to the load on the node. Specifically, when the load increases, the authentication execution probability P is decreased, and when the load decreases, the authentication execution probability P is increased. In this way, by varying the authentication execution probability P, a node with a high load transfers a packet without performing authentication, and a node with a low load increases the probability of performing authentication before packet transfer / discard.
- FIG. 11 is a block diagram of a functional configuration example of a node according to the second embodiment.
- symbol is attached
- the node according to the second embodiment has a configuration in which a measurement unit 1101 and a setting unit 1102 are added to the first embodiment.
- the measurement unit 1101 has a function of measuring the load in the node.
- the load in the node is a usage rate of the CPU 701 and the flash memory 703 in the node.
- the measurement unit 1101 measures such a load for a predetermined period and calculates an average value of the load in the predetermined period.
- the average value is not limited to the median value, the maximum value, the minimum value, or any value within a predetermined period.
- the setting unit 1102 has a function of setting the probability according to the load measured by the measuring unit 1101. Specifically, when the load increases, the authentication execution probability P is decreased, and when the load decreases, the authentication execution probability P is increased. For example, a load threshold value is set, and when the load changes to a value equal to or higher than the threshold value, the authentication execution probability P is decreased, and when the load value is less than the threshold value, the authentication execution probability P is increased. Further, when the load measured this time changes more than the load measured last time, the authentication execution probability P is decreased, and when the load measured is less than the previously measured load, the authentication execution probability P is increased.
- the extent to which the authentication execution probability P is changed is set according to the presence or absence of a load change.
- the authentication execution probability P is P (0 ⁇ P ⁇ 1)
- the authentication execution probability P is set to w ⁇ P depending on the presence or absence of load fluctuation.
- w is a weight.
- the default authentication execution probability P is set to 1/4, the authentication execution probability P is changed from 1/4 to 1/8 when the load is increased, and the authentication execution probability P is changed from 1/4 to 1/2 when the load is reduced.
- the setting unit 1102 may set according to the load fluctuation amount. For example, it is assumed that the authentication execution probability P is P (0 ⁇ P ⁇ 1). For example, when the load is increased by L% (relative to the threshold value or the previous load), the authentication execution probability P is set to L ⁇ P. On the other hand, if the load is reduced by L% (relative to the threshold value or the previous load), the authentication execution probability P is set to (1 + L) ⁇ P.
- the detection data transmission processing procedure (FIG. 9) and the packet transfer processing procedure (FIG. 10) are the same processing procedures as those in the first embodiment, and thus the description thereof is omitted.
- FIG. 12 is a flowchart showing a procedure for setting the authentication execution probability P.
- the calculation timing is, for example, a time that arrives periodically.
- the measurement unit 1101 calculates a load for a predetermined period until the current time (step S1202).
- the setting unit 1102 updates the authentication execution probability P with the calculated load (step S1203). Specifically, the updated authentication execution probability P is written in a storage area such as the RAM 702 or the flash memory 703, and the determination unit 802 refers to the storage area when executing step S1006 in FIG. The subsequent authentication execution probability P is read.
- the determination unit 802 determines the received packet as the authentication execution target or the transfer target based on the authentication execution probability P after the setting. It will be.
- the upstream node tends to have a higher load and the downstream node tends to have a lower load. Therefore, the downstream node with a lower load will perform authentication with a higher probability, and an upstream node with a higher load will receive unauthorized packets. It is difficult to reach and load distribution can be performed more efficiently than in the first embodiment.
- the third embodiment is an example in which the authentication execution probability P is changed according to the destination of the received packet.
- the node transfers the data detected by itself to the transfer destination node by multi-hop communication and transmits the data to the target sink node SN (FIG. 9), and has been transferred from another node.
- the communication header 301 (specifically, the second communication information header 402) of the packet is analyzed to specify the destination, and the authentication execution probability P is changed according to the specified destination.
- FIG. 13 is a block diagram of a functional configuration example of a node according to the third embodiment.
- symbol is attached
- the node according to the third embodiment has a configuration in which a detection unit 1301 and a setting unit 1302 are added to the first embodiment.
- the detection unit 1301 has a function of detecting a packet destination. Specifically, for example, the destination MAC address in the second communication information header 402 in the communication header 301 of the packet is detected. There are three types of destinations to be detected: broadcast, the MAC address of the sink node SN, and the MAC address of the node (excluding the sink node SN).
- the setting unit 1302 has a function of setting the probability according to the destination detected by the detection unit 1301. Specifically, for example, when the detected destination MAC address is broadcast, the authentication execution probability P is set to 100%.
- the destination MAC address When the destination MAC address is broadcast, it is a packet distributed from the sink node SN to a node group in the ad hoc network 100.
- broadcast communication always performs MAC authentication and transfers only when it is not an illegal packet. Since the amount of MAC authentication processing can be combined with the MAC authentication processing of packets addressed to the own node, it can be substantially ignored. Since the broadcast communication is a communication having a great influence that is spread to all nodes, it is very effective to authenticate the authentication execution probability P at 100% in each node for the purpose of blocking unauthorized communication.
- the communication is highly influenced by the sink node SN or the upstream node of the routed route.
- MAC authentication or transfer is determined based on the authentication execution probability P, and load distribution is achieved. As a result, the load on the sink node SN and the upstream node can be reduced.
- the authentication execution probability P is lower than the authentication execution probability P when the destination MAC address is the sink node SN.
- the authentication execution probability P is updated by multiplying the authentication execution probability P by a weight w (0 ⁇ w ⁇ 1) prepared in advance.
- FIG. 14 is a flowchart showing a packet transfer processing procedure at nodes Na to Nh (generically referred to as “node N” in FIG. 14) according to the third embodiment.
- the node N waits for the reception unit 801 to receive a packet (step S1401: No).
- the detection unit 1301 analyzes the communication header 301 of the received packet and detects the destination MAC address (step S1402).
- the node N is set to the authentication execution probability according to the destination MAC address by the setting unit 1302 (step S1403). Thereafter, the node N generates a random number by the determination unit 802 (step S1404), and determines whether it is an authentication execution target or a transfer target (step S1405). When it is determined as the transfer target (step S1405: No), the node N determines whether or not the destination MAC address is the MAC address of its own node (step S1406).
- step S1406 If it is the MAC address of the own node (step S1406: Yes), the node N executes data processing (step S1407). Specifically, the node N extracts data from the data portion 302 of the received packet. The extracted data is processed as necessary. Thereby, the packet transfer process for the packet addressed to the own node when the transfer target is determined in step S1406 is ended.
- step S1406 when the destination MAC address is the MAC address of a node other than the own node (step S1406: No), the node N uses the transmission unit 804 to execute transfer setting processing and The first communication information header 401 is rewritten (step S1408). Then, the node N transmits the packet to the transfer destination node by the transmission unit 804 (step S1409). Thereby, the packet transfer process for the packet addressed to the other node when the transfer target is determined in step S1406 ends.
- step S1405 If the authentication target is determined in step S1405 (step S1405: Yes), the node N causes the authentication unit 803 to extract the MAC value from the packet and extract the MAC value calculation source data (step S1405). S1410). Next, the node N calculates the MAC value from the MAC value calculation source data and the authentication key (step S1411). Then, the node N uses the authentication unit 803 to determine whether the extracted MAC value matches the calculated MAC value (step S1412).
- step S1412 If they match (step S1412: YES), the process proceeds to step S1406. On the other hand, in the case of mismatch (step S1412: No), the node N discards the packet by the discard unit 805 (step S1413). As a result, the packet transfer process when it is determined as an authentication target is terminated.
- the node N classifies the packets according to the destination and changes the probability of performing the MAC authentication, so that the load due to the MAC authentication can be distributed over the entire ad hoc network 100. . Therefore, it is possible to prevent load concentration on the sink node SN and upstream nodes and load concentration on a specific node. Further, the packet classification processing is only divided into broadcast (no destination) that can be recognized by the own node, communication to the sink node SN (default gateway to the normal network 101), and other nodes. Therefore, the processing load is negligible.
- the fourth embodiment is an example in which the second embodiment is applied to the third embodiment.
- FIG. 15 is a block diagram of a functional configuration example of a node according to the fourth embodiment.
- the same components as those in the first to third embodiments are denoted by the same reference numerals, and the description thereof is omitted.
- the setting unit 1500 has both functions of the setting unit 1102 of the second embodiment and the setting unit 1302 of the third embodiment. Therefore, the setting process procedure of the authentication execution probability P is the same as that in FIG. 12, and the packet transfer process procedure is the same as that in FIG.
- the authentication execution probability P due to the load is not updated.
- MAC authentication can be preferentially performed from a packet having a high value.
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)
- Mobile Radio Communication Systems (AREA)
Abstract
アドホックネットワーク(100)内での不正パケットに対する負荷分散を効率的におこなう。不正ノード(Nx)からの100個の不正パケットを直接受信したノード(Nb)は、認証実施確率50%により、50個の不正パケットをMAC認証し、残余の50個の不正パケットを転送先のノード(Na)に転送する。MAC認証の対象となった50個の不正パケットは破棄される。ノード(Na)は、認証実施確率50%により、ノード(Nb)からの50個の不正パケットのうち25個をMAC認証し、残余の25個の不正パケットをシンクノード(SN)に転送する。MAC認証の対象となった25個の不正パケットは破棄される。シンクノード(SN)は、ノード(Na9からの25個の不正パケットについてMAC認証をおこない、破棄する。
Description
本発明は、パケットを転送するノード、転送方法、および転送プログラムに関する。
アドホックネットワークは、無線通信でリンクする自己構成型のネットワークの一種である。アドホックネットワークはノードにより構成される。ノードは、他のノードと通信を行うとき、相手のノードと直接通信はできず、隣接するノードへパケットを送信する。
隣接するノードは同様に自分の隣接するノードへパケットを送信し、これを繰り返す。このような通信をマルチホップ通信と呼ぶ。アドホックネットワークでは、マルチホップ通信により目的のノードと通信を行う。このように、すべてのノードは自分とは無関係のパケットを転送するルータとしての機能を持つ。
また、アドホックネットワークとインターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク(以下、アドホックネットワークと区別するため、「通常ネットワーク」と称す。)とを接続する場合、シンクノードSNと呼ばれる特定のノードを用いる。シンクノードSNは、アドホックネットワークプロトコルと通常のネットワークプロトコルの両方を理解し、アドホックネットワーク―通常ネットワーク間の通信の転送を行う。
したがって、アドホックネットワークと通常ネットワークが通信を行う場合、必ずこのシンクノードSNを通して通信することになる。そのため、シンクノードSNとそれに近いノードの通信量が大きくなる傾向にある。
多くの場合、アドホックネットワークは、無線センサネットワークに代表されるように、センサ等の小型で能力の高くないノードが無線通信でリンクされる。ノードの処理能力が高くないことから、通信量やそれにかかる処理量は極力小さくすることが望まれている。一方で、無線通信によるマルチホップ通信のため、悪意の攻撃者が不正な通信をネットワークに送信することは、通常のネットワークよりたやすいと言われている。そのため、ノードの処理量が小さく、不正な通信を遮断できるような方式が求められている。
図16は、従来におけるアドホックネットワークと通常ネットワークとの不正通信遮断例を示す説明図(その1)である。図16において、アドホックネットワークは、ノードNa~NcとシンクノードSNとを含むネットワークである。ここでは、シンクノードSNのアドホックルーティングにより、ノードNc→ノードNb→ノードNa→シンクノードSNの順序で、データが転送される。
各ノードNa~Ncは、メッセージを認証する鍵(認証鍵K)を共有し、パケットにMAC(Message Authentication Code;メッセージ認証子。以下、「MAC値」と称す。)を付けて転送する。たとえば、ノードNcでデータが検出されると、ノードNcは検出データによりMAC値を生成し、検出データおよびMAC値を含むパケットをノードNbに転送する。ノードNbはノードNcから転送されてきたパケットをノードNaに転送し、ノードNaはシンクノードSNに転送する。
同様に、ノードNbでデータが検出されると、ノードNbは検出データによりMAC値を生成し、検出データおよびMAC値を含むパケットをノードNaに転送する。ノードNaは、転送されてきたパケットをシンクノードSNに転送する。また、シンクノードSNでは、アドホックネットワークから通常ネットワークへ転送するパケットに対し、MAC値の認証(MAC認証)を行う。
今、悪意の攻撃者が不正ノードNxを設置し、隣接するノードNbに不正なパケットを100個送信する場合を考える。ノードNbは受信した100個の不正パケットをノードNaに転送し、ノードNaは転送されてきた100個の不正パケットをシンクノードSNに転送する。
シンクノードSNはパケットのMAC認証を行うが、不正ノードNxは認証鍵を共有していないため、MAC認証で失敗する。これにより、不正パケットであると判断され、シンクノードSNはこれらのパケットを破棄する。不正ノードNxがノードNcやノードNaに不正パケットを転送した場合も同様に、シンクノードSNがパケットを破棄する。
図17は、従来におけるアドホックネットワークと通常ネットワークとの不正通信遮断例を示す説明図(その2)である。図16と比較するため、図16と同一構成とする。図17では、各ノードNa~Ncが転送先に転送する際に、転送するパケットのMAC認証をおこなう。
今、悪意の攻撃者が不正ノードNxを設置し、隣接するノードNbに不正なパケットを100個送信する場合を考える。ノードNbは受信した100個の不正パケットをノードNaに転送する前に、不正パケットのMAC認証を行うが、不正ノードNxは認証鍵を共有していないため、MAC認証で失敗する。
これにより、ノードNbにより不正パケットであると判断され、ノードNbは不正パケットを破棄する。ノードNcやノードNaが不正パケットを受信した場合も同様にMAC認証が失敗する。このように、図17では、不正パケットを受信したノードが不正パケットを転送せずに破棄することとなる。
しかしながら、上述した従来技術では、図16の場合、MAC認証はすべてシンクノードSNが行うが、シンクノードSNはアドホックネットワーク―通常ネットワーク間の通信の転送も行っている。したがって、MAC認証がシンクノードSNに集中すると、シンクノードSNの負荷が増大し、通常ネットワークへの転送に遅延や支障をきたすという問題があった。
一方、図17の場合、不正パケットを直接受信したノードが処理するため、シンクノードSNの処理負荷は軽減されるが、不正ノードNxに隣接するノードNbがメッセージ認証にかかる負荷をすべて負うことになる。ノードNa~Ncは一般のノードでありシンクノードSNより処理能力が低いことが考えられる。
このため、ノードNbの処理負荷が増大すると、ノードNcからのマルチホップ通信に遅延が出たり、自ノード(ノードNb)での検出データをマルチホップ通信することができなくなったりする。したがって、パケット転送に遅延が生じたり、転送すべきパケットが欠落したりするという問題があった。
特に、シンクノードSNに近い上流のノードは、下流のノード群からのパケットが集中しやすいため、負荷が増大すると、アドホックネットワーク全体にパケット転送の遅延やパケットの欠落が生じることとなる。
本発明は、上述した従来技術による問題点を解消するため、アドホックネットワーク内での不正パケットに対する負荷分散を効率的におこなうことができるノード、転送方法、および転送プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、開示するノード、転送方法、および転送プログラムは、各々検出されたデータを含むパケットをマルチホップ通信により特定のノードに送信するアドホックネットワーク内のノード群のうち、転送元のノードからのパケットを受信し、受信されたパケットの認証を実施する確率にしたがって、前記パケットを認証実施対象または転送対象に決定し、前記パケットが認証実施対象に決定された場合、前記各ノードで共通の認証鍵に基づいて、前記パケットの正当性を認証し、転送対象に決定された場合または認証された場合、前記パケットを前記転送先のノードに送信し、認証されなかった場合、前記パケットを破棄することを要件とする。
本発明にかかるノード、転送方法、および転送プログラムによれば、アドホックネットワーク内での不正パケットに対する負荷分散を効率的におこなうことができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるノード、転送方法、および転送プログラムの好適な実施の形態を詳細に説明する。
図1は、アドホックネットワークの構成例を示す説明図である。図1において、アドホックネットワーク100と通常ネットワーク101とは、アドホックネットワーク100内のシンクノードSNをゲートウェイとして接続されている。アドホックネットワーク100内のデータは、シンクノードSNから通常ネットワーク101にパケットとして転送されてサーバSに到達する。また、サーバSやシンクノードSNからのデータは、シンクノードSNからアドホックネットワーク100内の各ノードにパケットとして転送される。
アドホックネットワーク100内には、複数のノードが設けられている。図1では、代表としてノードNa~Nhを示している。各ノードNa~Nhは、所定の通信圏内で通信可能なノードに対してマルチホップ通信可能である。アドホックネットワーク100では、すべてのノードNa~Nhが直接シンクノードSNと通信できる必要はなく、一部のノードがシンクノードSNと通信可能であればよい。
なお、シンクノードSNは、どのノードがどのノードに対し通信可能かを把握しており、この情報を元に、シンクノードSNは自律的にルーティングすることになる。各ノードNa~Nhでは、シンクノードSNのルーティングにより、マルチホップ通信を行う際の転送元と転送先が設定されることとなる。
図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は、各々検出されたデータをルーティングされた経路R1~R4に従ってシンクノードSNに送信する。したがって、シンクノードSNに近い上流のノードほど、下流のノードの検出データをさらに上流に転送することとなる。すなわち、転送元のノードからのパケットを転送先に送信する頻度が高くなり、転送負荷が高くなる。
図2は、本実施の形態での不正パケットの破棄と図16および図17に示した不正パケットの破棄との比較例を示す説明図である。なお、図2中、「従来A」は図16の例、「従来B」は図17の例を示す。本実施の形態では、従来のように、シンクノードSNや不正ノードNxから直接パケットを受信したノード(直接受信ノード)のみがMAC認証するのではなく、マルチホップ通信によりシンクノードSNにまで転送する経路上のノードで認証鍵KによるMAC認証を分散処理する。
これにより、シンクノードSNや直接受信ノードの負荷が軽減され、アドホックネットワーク100の効率化を図ることができる。図2では、MAC認証する認証実施確率Pを50%とする。これにより、不正パケット群を受信したノードは、不正パケット群のうち半分(50%)の個数の不正パケットをMAC認証し、残余の半分の個数の不正パケットを転送先ノードに転送する。
図2の例では、不正ノードNxからの100個の不正パケットを直接受信したノードNbは、認証実施確率P=50%により、50個の不正パケットをMAC認証し、残余の50個の不正パケットを転送先のノードNaに転送する。MAC認証をおこなう50個の不正パケットの各々から得られるMAC値は、ノードNbが有する認証鍵により生成されるMAC値とは異なる。したがって、MAC認証の対象となった50個の不正パケットはノードNbに破棄される。
ノードNaは、認証実施確率P=50%により、ノードNbからの50個の不正パケットのうち25個をMAC認証し、残余の25個の不正パケットを転送先となるシンクノードSNに転送する。MAC認証をおこなう25個の不正パケットの各々から得られるMAC値は、ノードNaが有する認証鍵により生成されるMAC値とは異なる。したがって、MAC認証の対象となった25個の不正パケットはノードNaに破棄される。
シンクノードSNは、ノードNaからの25個の不正パケットについてMAC認証をおこなう。MAC認証をおこなう25個の不正パケットの各々から得られるMAC値は、シンクノードSNが有する認証鍵により生成されるMAC値とは異なる。したがって、MAC認証の対象となった25個の不正パケットはシンクノードSNに破棄される。
このように、本実施の形態では、100個の不正パケットのうちノードNbが50個(従来Bでは100個)、ノードNaが25個、シンクノードSNが25個(従来Aでは100個)をMAC認証することになるため、MAC認証による負荷を分散することができる。
図3は、パケットのデータ構造を示す説明図である。(A)は平文通信の場合のデータ構造であり、(B)は暗号化通信の場合のデータ構造を示している。(A)において、パケットは、通信ヘッダ301とデータ部302とMAC値格納部303とで構成される。通信ヘッダ301の詳細は、図4で説明するが、通信ヘッダ301には、データ部302に格納されたデータの送信元のアドレス、宛先のアドレス、転送元のアドレス、転送先のアドレスが記述される。これらのアドレスとしては、たとえば、送信元のMAC(Media Access Control)アドレス、宛先のMACアドレス、転送元のMACアドレス、転送先のMACアドレスが使用される。以降本書では、アドレスにMACアドレスを用いて説明する。
データ部302には、送信元のMACアドレスにより特定されるノードにより検出されたデータである。MAC値格納部303には、MAC値が格納される。MAC値は、通信ヘッダ301内の送信元および宛先のMACアドレスとデータ部302内のデータを、全ノードで共有する認証鍵で暗号化したメッセージ認証子となる。
(B)は、(A)のデータ部302内のデータを、送信元のMACアドレスにより特定されたノード固有の暗号鍵310で暗号化した暗号化データ(暗号化データ部304内の暗号化データ)がパケットに含まれている。この場合、MAC値格納部303には、MAC値が格納される。MAC値は、通信ヘッダ301内の送信元および宛先のMACアドレスと暗号化データ部304内の暗号化データを、全ノードで共有する認証鍵Kで暗号化したメッセージ認証子となる。なお、サーバSは、各ノード固有の暗号鍵に対応する復号鍵を記憶しており、シンクノードSNからパケットを受信すると、パケット内の暗号化データを復号することができる。
図4は、図3に示した通信ヘッダ301の詳細なデータ構造を示す説明図である。通信ヘッダ301は、第1の通信情報ヘッダ401と第2の通信情報ヘッダ402とに分けられる。第1の通信情報ヘッダ401は、転送元のMACアドレスと転送先のMACアドレスを有する。転送元のMACアドレスとはパケットのマルチホップ通信元となるノードのMACアドレスである。転送先のMACアドレスとはパケットのマルチホップ通信先となるノードのMACアドレスである。第1の通信情報ヘッダ401は、マルチホップ通信により転送される都度、転送先のノードからみた転送元および転送先のMACアドレスに書き換わる。
一方、第2の通信情報ヘッダ402は、送信元のMACアドレスと宛先のMACアドレスを有する。送信元のMACアドレスとは、そのパケット内のデータ(または暗号化データ)の検出元となるノードを特定するMACアドレスである。宛先のMACアドレスとは、そのパケット内のデータ(または暗号化データ)の宛先となるノードを特定するMACアドレスである。通常は、シンクノードSN(もしくはサーバSのMACアドレス)のMACアドレスとなる。転送先のMACアドレスと宛先のMACアドレスが一致した場合、宛先のノードにパケットが到達したこととなり、マルチホップ通信が終了する。
図5は、ノードのルーティングテーブルの一例を示す説明図である。図5において、(A)は、ノードNaのルーティングテーブルを示しており、(B)は、ノードNbのルーティングテーブルを示している。なお、図5では、便宜上、ノードの符号をMACアドレスのかわりとする。たとえば、ルーティングテーブルに「Na」とある場合は、ノードNaのMACアドレスを示している。
また、1行目のレコードは、シンクノードSNへ向かう上り方向に転送する場合に用いるレコードであり、2行目のレコードは、末端へ向かう下り方向に転送する場合に用いるレコードである。2行目のレコードは、シンクノードSNからブロードキャストされた場合に適用される。
具体的には、たとえば、それぞれのノードNa,Nbにおいて、ルーティングテーブルの転送元のMACアドレスにより特定されるノードからパケットが転送されてくると、ルーティングテーブルを参照して、転送元のMACアドレスに対応する転送先のMACアドレスを特定する。そして、受信したパケットの第1の通信情報ヘッダ401の転送先のMACアドレスを、特定された転送先のMACアドレスに書き換える。また、受信したパケットの第1の通信情報ヘッダ401の転送元のMACアドレスを、自ノードのMACアドレスに書き換える。
たとえば、ノードNaは、転送元のMACアドレスが「Nb」、転送先のMACアドレスが「Na」のパケットが、ノードNbから転送されてくると、(A)に示したルーティングテーブルにしたがって、第1の通信情報ヘッダ401の転送元のMACアドレスを「Nb」から「Na」に書き換え、転送先のMACアドレスを「Na」から「SN」に書き換える。
また、転送元のMACアドレスが「SN」、転送先のMACアドレスが「Nb」のパケットが、シンクノードSNから転送されてくると、(A)に示したルーティングテーブルにしたがって、第1の通信情報ヘッダ401の転送元のMACアドレスを「SN」から「Na」に書き換え、転送先のMACアドレスを「Na」から「Nb」に書き換える。
ノードNbは、転送元のMACアドレスが「Nc」、転送先のMACアドレスが「Nb」のパケットが、ノードNcから転送されてくると、(B)に示したルーティングテーブルにしたがって、第1の通信情報ヘッダ401の転送元のMACアドレスを「Nc」から「Nb」に書き換え、転送先のMACアドレスを「Nb」から「Na」に書き換える。
また、転送元のMACアドレスが「Na」、転送先のMACアドレスが「Nb」のパケットが、ノードNaから転送されてくると、(B)に示したルーティングテーブルにしたがって、第1の通信情報ヘッダ401の転送元のMACアドレスを「Na」から「Nb」に書き換え、転送先のMACアドレスを「Nb」から「Nc」に書き換える。
図6は、マルチホップ通信での通信ヘッダ301の状態を示す説明図である。図6では,ノードNcを送信元としシンクノードSNを宛先とした場合の通信ヘッダ301の状態を示している。図6に示した通信ヘッダ301では、左から転送元、転送先、送信元、宛先のMACアドレスとする。なお、図6の通信ヘッダ301では、便宜上、ノードの符号をMACアドレスのかわりとする。
ノードNc~シンクノードSNまでのマルチホップ通信では、第2の通信情報ヘッダ402の記述内容には変化はない。したがって、送信元はノードNc、宛先はシンクノードSNであることがわかる。一方、第1の通信情報ヘッダ401はマルチホップ通信の都度書き換わる。ノードNcでは、第1の通信情報ヘッダ401は{Nc、Nb}であるため、そのパケットはノードNbに転送される。ノードNbでは、第1の通信情報ヘッダ401は{Nb、Na}に書き換わるため、そのパケットはノードNaに転送される。また、ノードNaでは、第1の通信情報ヘッダ401は{Na、SN}に書き換わるため、そのパケットはシンクノードSNに転送される。
図7は、アドホックネットワーク100を構成するノードのハードウェア構成例を示すブロック図である。図7において、ノードは、CPU(Central Processing Unit)701と、RAM(Random Access Memory)702と、フラッシュメモリ703と、インターフェース(I/F)704と、暗号化回路705と、センサ706と、バス707とを備えている。CPU701~センサ706は、バス707よってそれぞれ接続されている。
ここで、CPU701は、ノードの全体の制御を司る。RAM702は、CPU701のワークエリアとして使用される。フラッシュメモリ703は、プログラムやルーティングテーブル、認証鍵Kや暗号鍵などの鍵情報を記憶している。I/Fは、マルチホップ通信によりパケットを送受信する。
暗号化回路705は、データを暗号化する場合に暗号鍵によりデータを暗号化する回路である。暗号化をソフトウェア的に実行する場合は、暗号化回路705に相当するプログラムをフラッシュメモリ703に記憶させておくことで、暗号化回路705は不要となる。センサ706は、センサ706固有のデータを検出する。たとえば、温度、湿度、水位、降水量、風量、音量、電力、時間、時刻など、測定対象にあったデータを検出する。
以下、図1~図7の内容を利用した実施の形態1~4についてそれぞれ説明する。実施の形態1は、認証実施確率Pをあらかじめ設定して認証実施/転送を実行する。実施の形態2は、ノードの負荷に応じて認証実施確率Pを変動させて認証実施/転送を実行する。実施の形態3は、パケットの宛先に応じて認証実施確率Pを変動させて認証実施/転送を実行する。実施の形態4は、ノードの負荷およびパケットの宛先に応じて認証実施確率Pを変動させて認証実施/転送を実行する。以下、実施の形態1から説明する。
(実施の形態1)
図8は、実施の形態1にかかるノードの機能的構成例を示すブロック図である。図8において、ノードは、受信部801と、決定部802と、認証部803と、送信部804と、破棄部805とを備えている。受信部801~破棄部805は、具体的には、たとえば、図7に示したフラッシュメモリ703などの記憶装置に記憶されたプログラムをCPU701に実行させることにより、または、I/F704により、その機能を実現する。
図8は、実施の形態1にかかるノードの機能的構成例を示すブロック図である。図8において、ノードは、受信部801と、決定部802と、認証部803と、送信部804と、破棄部805とを備えている。受信部801~破棄部805は、具体的には、たとえば、図7に示したフラッシュメモリ703などの記憶装置に記憶されたプログラムをCPU701に実行させることにより、または、I/F704により、その機能を実現する。
受信部801は、パケットを受信する機能を有する。具体的には、受信部801は、パケットを受信すると、パケット内の通信ヘッダ301を解析する。第2の通信情報ヘッダ402の内容により、通信の種類が特定される。
たとえば、第2の通信情報ヘッダ402の宛先のMACアドレスがシンクノードSNのMACアドレスである場合、マルチホップ通信によりシンクノードSNに送信され、シンクノードSNから通常ネットワーク101を介してサーバSに転送される通信である。
また、第2の通信情報ヘッダ402の宛先のMACアドレスがブロードキャスト(「FF:FF:FF:FF」)である場合、シンクノードSNからアドホックネットワーク100内の全ノードに配信されるブロードキャスト通信である。また、宛先がシンクノードSN以外のノードである場合、ノード間通信である。
決定部802は、受信部801によって受信されたパケットの認証を実施する確率(認証実施確率P)にしたがって、受信されたパケットを認証実施対象または転送対象に決定する機能を有する。認証実施確率Pとは、受信されたパケットについてMAC認証を実施する確率である認証実施確率Pは、あらかじめ設定する確率m/n(n>m)である。上述した図2では50%に設定したが、50%に限らず、適宜設定可能である。
決定部802は、認証実施確率Pにしたがってランダムに決定する。1~nまでの数値をランダムに発生させ、発生した乱数が1~mの中の数値にあれば、そのときの受信パケットは、認証実施対象となる。一方、m+1~nの中の数値であれば、そのときの受信パケットは、転送対象となる。ランダムにせずに、一定数連続で認証実施対象としたり、転送対象にしたりすると、そのような決定パターンが不正者に読まれた場合に、意図的に転送対象となる期間に不正パケットを流される可能性が考えられる。ランダムに対象先を決定することで、そのような不正行為を抑止することができる。
また、受信する都度、認証実施確率Pで決定すると、乱数で認証を実施するのではなく、カウンタにより決定することとしてもよい。具体的には、初期値を0にしておき、パケットを受信する都度1加算する。計数値がnのときにパケットを受信すると、1に戻ることとする。
そして、計数値がnになるまでの間、m個のパケットが認証実施対象となった場合は、それ以降計数値がnまでの間のパケットについては、強制的に(乱数を生成することなく)転送対象とする。これにより、連続して受信されたn個のパケットについては、m個が認証実施対象となり、(n-m)個が転送対象となる。
認証部803は、決定部802によってパケットが認証実施対象に決定された場合、各ノードで共通の認証鍵に基づいて、パケットの正当性を認証する機能を有する。認証部803は、具体的には、たとえば、MAC値を用いて、SHA1、SHA2などのハッシュ関数を使ったHMAC(Keyed-Hashing for Message Authentication code)アルゴリズムによりMAC値を求める。また、認証鍵暗号を使ったAES-CBC-MACアルゴリズムによりMAC値を求めてもよい。
いずれにしても、MAC値を求める場合は、算出元となるデータをパケットから取り出す。具体的には、認証実施対象のパケットに含まれている第2の通信情報ヘッダ402およびデータ部302内のデータ(または暗号化データ部304内の暗号化データ)をMAC値の算出元データとして取り出す。そして、算出元データと認証鍵を上述したアルゴリズムに与えることで、認証鍵により保証されたMAC値(算出MAC値)が得られる。
一方、認証実施対象のパケットにもMAC値が含まれているため、MAC値を抽出する。そして、この抽出MAC値と算出MAC値とが一致するか否かを判断する。一致する場合は、認証されたことになる。一方、不一致の場合は、認証されなかった、すなわち、不正パケットであると判断される。
送信部804は、決定部802によって転送対象に決定された場合または認証部803によって認証された場合、パケットを転送先のノードに送信する機能を有する。認証部803によって認証されたパケットは正常パケットであるため、パケットの第1の通信情報ヘッダ401を図5および図6に示したように書き換えて転送設定する。そして、転送先のノードにパケットを送信する。
破棄部805は、認証部803によって認証されなかった場合、パケットを破棄する機能を有する。具体的には、たとえば、破棄対象や認証されなかったパケットを、ノード内のRAM702やフラッシュメモリ703、CPU701内のキャッシュやレジスタなどの記憶領域に保持されたパケットを消去する。
図9は、実施の形態1にかかるノードNa~Nh(図9および図10において、「ノードN」と総称する。)での検出データの送信処理手順を示すフローチャートである。図9において、ノードNは、センサ706により対象となるデータが検出されるのを待ち受け(ステップS901:No)、データが検出されると(ステップS901:Yes)、ノードNは、通信ヘッダ301内の情報を設定する(ステップS902)。
具体的には、ノードNは、第1の通信情報ヘッダ401の転送元のMACアドレスには自ノードのMACアドレスを設定し、転送先のMACアドレスには、ルーティングテーブルで規定された転送先のMACアドレスのうち上り側(図5の一行目のレコードの転送先)のMACアドレスを設定する。また、ノードNは、第2の通信情報ヘッダ402の送信元のMACアドレスには自ノードのMACアドレスを設定し、宛先のMACアドレスには、シンクノードSNのMACアドレスを設定する。
第2の通信情報ヘッダ402が設定されると、ノードNは、検出されたデータと第2の通信情報ヘッダ402と認証鍵とを用いてMAC値を計算する(ステップS903)。そして、ノードNは、通信ヘッダ301と検出データにMAC値をつけてパケットとし、転送先のMACアドレスあてに送信する(ステップS904)。これにより、検出データの送信処理を終了する。なお、図9に示した検出データの送信処理は、後述する実施の形態2~4についても同一の処理を実行することとなる。
図10は、実施の形態1にかかるノードNでのパケット転送処理手順を示すフローチャートである。図10において、ノードNは、受信部801によりパケットを受信するのを待ち受け(ステップS1001:No)、パケットを受信した場合(ステップS1001:Yes)、ノードNは、受信したパケットの通信ヘッダ301を解析する(ステップS1002)。そして、ノードNは、通信ヘッダ301の解析結果から、受信したパケットが転送パケットであるか否かを判断する(ステップS1003)。すなわち、受信されたパケットが自ノードを宛先とするパケットであるか否かを判断する(ステップS1003)。
転送パケットでない場合(ステップS1003:No)、自ノード宛のパケットとなるため、ノードNは、データ処理を実行する(ステップS1004)。具体的には、ノードNは、受信されたパケットのデータ部302からデータを取り出す。取り出されたデータについては、必要に応じた処理をおこなう。これにより、自ノード宛のパケットについてのパケット転送処理を終了する。
一方、転送パケットである場合(ステップS1003:Yes)、ノードNは、決定部802により乱数を生成し(ステップS1005)、認証実施対象であるか転送対象であるかを決定する(ステップS1006)。転送対象に決定された場合(ステップS1006:No)、ノードNは、送信部804により、転送設定処理を実行してパケットの第1の通信情報ヘッダ401を書き換える(ステップS1007)。そして、ノードNは、送信部804により、転送先のノードにパケットを送信する(ステップS1008)。これにより、ステップS1006において転送対象に決定された場合のパケット転送処理を終了する。
一方、ステップS1006において、認証実施対象に決定された場合(ステップS1006:Yes)、ノードNは、認証部803により、パケットからMAC値を抽出するとともに、MAC値の算出元データを抽出する(ステップS1009)。つぎに、ノードNは、MAC値の算出元データと認証鍵とによりMAC値を算出する(ステップS1010)。そして、ノードNは、認証部803により、抽出MAC値と算出MAC値とが一致するか否かを判断する(ステップS1011)。
一致する場合(ステップS1011:Yes)、ステップS1007に移行して、パケットを転送することになる。一方、不一致の場合(ステップS1011:No)、ノードNは、破棄部805によりパケットを破棄する(ステップS1012)。これにより、認証実施対象に決定された場合のパケット転送処理を終了する。
このように、実施の形態1によれば、ノードは、あらかじめ設定された認証実施確率Pにしたがって、認証部803による認証を実施するか、認証を実施せずに転送先にそのまま転送するかを決定する。このような処理をアドホックネットワーク100内のノードがパケットを受信する都度実行することで、シンクノードSNや不正パケットを直接受信したノードに負荷が集中することなく、負荷分散を図ることができる。したがって、アドホック通信の遅延やパケットの欠落が低減される。
(実施の形態2)
つぎに、実施の形態2について説明する。実施の形態2では、ノードの負荷に応じて認証実施確率Pを変動させて認証実施/転送を実行する。具体的には、負荷が高くなると認証実施確率Pを低くし、負荷が低くなると、認証実施確率Pを高くする。このように、認証実施確率Pを変動させることで、負荷が高いノードは認証実施することなくパケットを転送し、負荷が低いノードはパケット転送/破棄の前に認証実施する確率が高くなる。
つぎに、実施の形態2について説明する。実施の形態2では、ノードの負荷に応じて認証実施確率Pを変動させて認証実施/転送を実行する。具体的には、負荷が高くなると認証実施確率Pを低くし、負荷が低くなると、認証実施確率Pを高くする。このように、認証実施確率Pを変動させることで、負荷が高いノードは認証実施することなくパケットを転送し、負荷が低いノードはパケット転送/破棄の前に認証実施する確率が高くなる。
図11は、実施の形態2にかかるノードの機能的構成例を示すブロック図である。なお、実施の形態1と同一構成については同一符号を付し、その説明を省略する。実施の形態2にかかるノードは、実施の形態1に、計測部1101と設定部1102とを追加した構成である。
計測部1101は、ノード内の負荷を計測する機能を有する。ここで、ノード内の負荷とは、ノード内のCPU701やフラッシュメモリ703の使用率である。計測部1101は、たとえば、このような負荷を所定期間計測し、所定期間における負荷の平均値を算出する。なお、平均値に限らず、所定期間内における中央値や最大値、最小値、任意の値でもよい。
設定部1102は、計測部1101によって計測された負荷に応じて確率を設定する機能を有する。具体的には、負荷が高くなると認証実施確率Pを下げ、負荷が低くなると認証実施確率Pを上げる。たとえば、負荷のしきい値を設定しておき、負荷がしきい値以上に変化した場合は、認証実施確率Pを下げ、しきい値未満に変化した場合は、認証実施確率Pを上げる。また、今回計測した負荷が前回計測した負荷以上に変化した場合は、認証実施確率Pを下げ、前回計測した負荷未満に変化した場合は、認証実施確率Pを上げる。
また、認証実施確率Pをどの程度変動させるかについては、負荷の変動の有無に応じて設定しておく。たとえば、認証実施確率PをP(0<P<1)とした場合、負荷の変動の有無により、認証実施確率Pをw×Pに設定する。wは重みであり、たとえば、負荷が高くなったときはwを0<w<1(たとえば、w=0.5)とし、負荷が低くなったときはwをw>1(たとえば、w=2.0)とする。たとえば、デフォルトの認証実施確率Pを1/4とした場合、負荷が高くなると認証実施確率Pを1/4から1/8とし、負荷が低くなると認証実施確率Pを1/4から1/2に設定する。
また、設定部1102は、負荷の変動量に応じて設定してもよい。たとえば、認証実施確率PをP(0<P<1)とする。たとえば、負荷が(しきい値または前回の負荷に対して)L%増の場合は、認証実施確率PをL×Pに設定する。一方、負荷が(しきい値または前回の負荷に対して)L%減の場合は、認証実施確率Pを(1+L)×Pに設定する。
つぎに、実施の形態2でのノードの実行処理手順について説明する。なお、検出データの送信処理手順(図9)およびパケット転送処理手順(図10)については、実施の形態1と同一処理手順であるため、説明を省略する。
図12は、認証実施確率Pの設定処理手順を示すフローチャートである。図12において、まず、負荷の算出タイミングがくるまで待ち受ける(ステップS1201:No)。算出タイミングとは、たとえば、周期的に到来する時刻とする。算出タイミングになると(ステップS1201:Yes)、計測部1101は、現在時刻までの所定期間の負荷を算出する(ステップS1202)。
そして、設定部1102は、算出された負荷により認証実施確率Pを更新する(ステップS1203)。具体的には、RAM702やフラッシュメモリ703などの記憶領域に更新後の認証実施確率Pを書き込み、決定部802が、図10のステップS1006を実行する際に、当該記憶領域を参照して、更新後の認証実施確率Pを読み込むこととなる。
このように、実施の形態2では、計測部1101および設定部1102を追加したことにより、決定部802は、設定後の認証実施確率Pにより、受信したパケットを認証実施対象または転送対象に決定することとなる。アドホックネットワークでは、上流ノードほど負荷が高く、下流ノードほど負荷が低い傾向があるので、負荷が低い下流ノードほど高い確率で認証実施をおこなうことになり、負荷が高い上流ノードには不正なパケットが到達しにくく、実施の形態1よりもさらに効率的に負荷分散をおこなうことができる。
(実施の形態3)
つぎに、実施の形態3について説明する。実施の形態3は、受信したパケットの宛先に応じて認証実施確率Pを変動させる例である。ノードは、上述したように、自らが検出したデータをマルチホップ通信により転送先のノードに転送して、目的となるシンクノードSNに送信する処理(図9)と、他のノードから転送されてきたパケットを、マルチホップ通信により転送先に転送する処理(図10)がある。
つぎに、実施の形態3について説明する。実施の形態3は、受信したパケットの宛先に応じて認証実施確率Pを変動させる例である。ノードは、上述したように、自らが検出したデータをマルチホップ通信により転送先のノードに転送して、目的となるシンクノードSNに送信する処理(図9)と、他のノードから転送されてきたパケットを、マルチホップ通信により転送先に転送する処理(図10)がある。
後者のパケット転送の場合、受信したパケットの宛先によっては、MAC認証が必須であったり、MAC認証が必ずしも必要でなかったりするパケットもある。したがって、パケットの通信ヘッダ301(具体的には、第2の通信情報ヘッダ402)を解析して宛先を特定し、特定した宛先に応じて認証実施確率Pを変動させる。
図13は、実施の形態3にかかるノードの機能的構成例を示すブロック図である。なお、実施の形態1と同一構成については同一符号を付し、その説明を省略する。実施の形態3にかかるノードは、実施の形態1に、検出部1301と設定部1302とを追加した構成である。
検出部1301は、パケットの宛先を検出する機能を有する。具体的には、たとえば、パケットの通信ヘッダ301内の第2の通信情報ヘッダ402内の宛先のMACアドレスを検出する。検出される宛先は、ブロードキャスト、シンクノードSNのMACアドレス、ノード(シンクノードSN除く)のMACアドレスの3種類である。
設定部1302は、検出部1301によって検出された宛先に応じて確率を設定する機能を有する。具体的には、たとえば、検出された宛先のMACアドレスがブロードキャストの場合、認証実施確率Pを100%に設定する。
宛先のMACアドレスがブロードキャストである場合、シンクノードSNからアドホックネットワーク100内のノード群宛に配信したパケットである。シンクノードSNからブロードキャストされるパケットは、たとえば、ルーティングの設定、設定変更といったデータが含まれている。このような、ブロードキャストされるパケットは、どのノードも受信対象となるため、他のノードへの転送の有無に関わらず、MAC認証が必要となる。したがって、ブロードキャストの場合は、認証実施確率PをP=1に設定する。
そのため、ブロードキャスト通信は必ずMAC認証を行い、不正パケットでない場合のみ転送を行う。MAC認証の処理量は、自ノード宛のパケットのMAC認証処理と兼用できるため、実質的に無視できる。ブロードキャスト通信は全ノードへ拡散される非常に影響の大きい通信であるので、各ノードにおいて認証実施確率Pが100%で認証されることは、不正通信を遮断する目的上、非常に有効となる。
また、検出された宛先のMACアドレスがシンクノードSNのMACアドレスである場合、シンクノードSNやルーティングされた経路の上流側のノードへの影響が高い通信であるため、実施の形態1,2で説明したように、認証実施確率PによりMAC認証または転送を決定し、負荷分散を図る。これにより、シンクノードSNや上流側のノードへの負荷を低減することができる。
また、検出された宛先のMACアドレスがノード(シンクノードSN除く)のMACアドレスである場合、認証実施確率Pを、宛先のMACアドレスがシンクノードSNである場合の認証実施確率Pよりも低い確率に設定する。このような場合、シンクノードSNや上流側のノードへの影響は低い。そのため、シンクノードSN宛の場合の認証実施確率Pよりも低く設定したり、認証実施確率Pを0%に設定する。たとえば、あらかじめ用意した重みw(0≦w<1)を認証実施確率Pに掛けることで、認証実施確率Pを更新する。
図14は、実施の形態3にかかるノードNa~Nh(図14において、「ノードN」と総称する。)でのパケット転送処理手順を示すフローチャートである。図14において、ノードNは、受信部801によりパケットを受信するのを待ち受ける(ステップS1401:No)。ノードNは、パケットを受信した場合(ステップS1401:Yes)、検出部1301により、受信したパケットの通信ヘッダ301を解析して、宛先のMACアドレスを検出する(ステップS1402)。
そして、ノードNは、設定部1302により、宛先のMACアドレスに応じた認証実施確率に設定する(ステップS1403)。このあと、ノードNは、決定部802により乱数を生成し(ステップS1404)、認証実施対象であるか転送対象であるかを決定する(ステップS1405)。転送対象に決定された場合(ステップS1405:No)、ノードNは、宛先のMACアドレスが、自ノードのMACアドレスであるか否かを判断する(ステップS1406)。
自ノードのMACアドレスである場合(ステップS1406:Yes)、ノードNは、データ処理を実行する(ステップS1407)。具体的には、ノードNは、受信されたパケットのデータ部302からデータを取り出す。取り出されたデータについては、必要に応じた処理をおこなう。これにより、ステップS1406において転送対象に決定された場合の自ノード宛のパケットについてのパケット転送処理を終了する。
また、ステップS1406において、宛先のMACアドレスが、自ノード以外の他のノードのMACアドレスである場合(ステップS1406:No)、ノードNは、送信部804により、転送設定処理を実行してパケットの第1の通信情報ヘッダ401を書き換える(ステップS1408)。そして、ノードNは、送信部804により、転送先のノードにパケットを送信する(ステップS1409)。これにより、ステップS1406において転送対象に決定された場合の他ノード宛のパケットについてのパケット転送処理を終了する。
また、ステップS1405において、認証実施対象に決定された場合(ステップS1405:Yes)、ノードNは、認証部803により、パケットからMAC値を抽出するとともに、MAC値の算出元データを抽出する(ステップS1410)。つぎに、ノードNは、MAC値の算出元データと認証鍵とによりMAC値を算出する(ステップS1411)。そして、ノードNは、認証部803により、抽出MAC値と算出MAC値とが一致するか否かを判断する(ステップS1412)。
一致する場合(ステップS1412:Yes)、ステップS1406に移行する。一方、不一致の場合(ステップS1412:No)、ノードNは、破棄部805によりパケットを破棄する(ステップS1413)。これにより、認証実施対象に決定された場合のパケット転送処理を終了する。
このように、実施の形態3によれば、ノードNは、パケットを宛先により分類し、MAC認証を行う確率を変化させることにより、MAC認証による負荷をアドホックネットワーク100全体に負荷分散することができる。したがって、シンクノードSNや上流側のノードへの負荷集中や、特定のノードへの負荷集中を防止することができる。また、パケットの分類処理は、自ノードが認識できるブロードキャスト(宛先なし)とシンクノードSNへの通信(通常ネットワーク101へのデフォルトゲートウエイ)、およびそれ以外のノードに分けるだけであり、転送処理と兼用できるため、処理負荷は無視できる程度である。
(実施の形態4)
つぎに、実施の形態4について説明する。実施の形態4は、実施の形態3に実施の形態2を適用した例である。
つぎに、実施の形態4について説明する。実施の形態4は、実施の形態3に実施の形態2を適用した例である。
図15は、実施の形態4にかかるノードの機能的構成例を示すブロック図である。なお、実施の形態1~3と同一構成については同一符号を付し、その説明を省略する。図15において、設定部1500は、実施の形態2の設定部1102と実施の形態3の設定部1302の両方の機能を備えている。したがって、認証実施確率Pの設定処理手順については図12と同じであり、パケット転送処理手順については図14と同じである。
なお、実施の形態4では、受信したパケットの宛先のMACアドレスがブロードキャストである場合、認証実施確率PがP=1(100%)に設定されるため、設定部1500では、ブロードキャストの場合に限って負荷による認証実施確率Pは更新しない。
このように、実施の形態4によれば、転送による負荷が高くなっても、自ノードの処理の遅延をなくすことが可能であり、処理に余裕がある場合は、アドホックネットワーク100全体への影響が高いパケットから優先的にMAC認証を行うことができる。
以上のことから、本実施の形態1~4によれば、アドホックネットワーク100内での不正パケットに対する負荷分散を効率的におこなうことができるという効果を奏する。
100 アドホックネットワーク
101 通常ネットワーク
801 受信部
802 決定部
803 認証部
804 送信部
805 破棄部
1101 計測部
1102 設定部
1301 検出部
1302 設定部
1500 設定部
Na~Nh ノード
Nx 不正ノード
SN シンクノード
101 通常ネットワーク
801 受信部
802 決定部
803 認証部
804 送信部
805 破棄部
1101 計測部
1102 設定部
1301 検出部
1302 設定部
1500 設定部
Na~Nh ノード
Nx 不正ノード
SN シンクノード
Claims (11)
- マルチホップ通信によりパケットを送受信するアドホックネットワーク内のノードであって、
転送元のノードからのパケットを受信する受信手段と、
前記受信手段によって受信されたパケットの認証を実施する確率にしたがって、前記パケットを認証実施対象または転送対象に決定する決定手段と、
前記決定手段によって前記パケットが認証実施対象に決定された場合、前記アドホックネットワーク内の各ノードで共通の認証鍵に基づいて、前記パケットの正当性を認証する認証手段と、
前記決定手段によって転送対象に決定された場合または前記認証手段によって認証された場合、前記パケットを転送先として設定されている特定のノードに送信する送信手段と、
前記認証手段によって認証されなかった場合、前記パケットを破棄する破棄手段と、
を備えることを特徴とするノード。 - 前記ノード内の負荷を計測する計測手段と、
前記計測手段によって計測された負荷に応じて前記確率を設定する設定手段と、をさらに備え、
前記決定手段は、
前記設定手段によって設定された確率にしたがって、前記パケットを認証実施対象または破棄対象に決定することを特徴とする請求項1に記載のノード。 - 前記パケットの宛先を検出する検出手段と、
前記検出手段によって検出された宛先に応じて前記確率を設定する設定手段と、をさらに備え、
前記決定手段は、
前記設定手段によって設定された確率にしたがって、前記パケットを認証実施対象または転送対象に決定することを特徴とする請求項1に記載のノード。 - 前記設定手段は、
前記宛先が前記アドホックネットワーク内の全ノードである場合、前記確率を100%に設定することを特徴とする請求項3に記載のノード。 - 前記設定手段は、
前記宛先が前記ノード群のうち前記特定のノード以外の他のノードである場合、前記確率を、前記宛先が前記特定のノードである場合の確率よりも低い確率に設定することを特徴とする請求項3に記載のノード。 - 前記ノード内の負荷を計測する計測手段をさらに備え、
前記設定手段は、
前記検出手段によって検出された宛先および前記計測手段によって計測された負荷に応じて前記確率を設定することを特徴とする請求項3に記載のノード。 - 前記決定手段は、
前記確率にしたがってランダムに決定することを特徴とする請求項1~6のいずれか一つに記載のノード。 - 前記決定手段によって決定された決定結果に基づいて、前記確率を更新する更新手段を備え、
前記決定手段は、
前記更新手段によって更新された確率にしたがって、前記パケット認証実施対象または転送対象に決定することを特徴とする請求項7に記載のノード。 - 前記決定手段は、
前記確率にしたがって周期的に決定することを特徴とする請求項1~6のいずれか一つに記載のノード。 - マルチホップ通信によりパケットを送受信するアドホックネットワーク内のノードが実行する転送方法であって、
前記アドホックネットワーク内のノード群のうち転送元のノードからのパケットを受信する受信工程と、
前記受信工程によって受信されたパケットの認証を実施する確率にしたがって、前記パケットを認証実施対象または転送対象に決定する決定工程と、
前記決定工程によって前記パケットが認証実施対象に決定された場合、前記各ノードで共通の認証鍵に基づいて、前記パケットの正当性を認証する認証工程と、
前記決定工程によって転送対象に決定された場合または前記認証工程によって認証された場合、前記パケットを転送先として設定された特定のノードに送信する送信工程と、
前記認証工程によって認証されなかった場合、前記パケットを破棄する破棄工程と、
を含むことを特徴とする転送方法。 - マルチホップ通信によりパケットを送受信するアドホックネットワーク内のノードに実行させる転送プログラムであって、
前記アドホックネットワーク内のノード群のうち転送元のノードからのパケットを受信する受信工程と、
前記受信工程によって受信されたパケットの認証を実施する確率にしたがって、前記パケットを認証実施対象または転送対象に決定する決定工程と、
前記決定工程によって前記パケットが認証実施対象に決定された場合、前記各ノードで共通の認証鍵に基づいて、前記パケットの正当性を認証する認証工程と、
前記決定工程によって転送対象に決定された場合または前記認証工程によって認証された場合、前記パケットを転送先として設定された特定のノードに送信する送信工程と、
前記認証工程によって認証されなかった場合、前記パケットを破棄する破棄工程と、
を実行させることを特徴とする転送プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/055616 WO2011121713A1 (ja) | 2010-03-29 | 2010-03-29 | ノード、転送方法、および転送プログラム |
JP2012507940A JP5240404B2 (ja) | 2010-03-29 | 2010-03-29 | ノード、転送方法、および転送プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/055616 WO2011121713A1 (ja) | 2010-03-29 | 2010-03-29 | ノード、転送方法、および転送プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011121713A1 true WO2011121713A1 (ja) | 2011-10-06 |
Family
ID=44711507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/055616 WO2011121713A1 (ja) | 2010-03-29 | 2010-03-29 | ノード、転送方法、および転送プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5240404B2 (ja) |
WO (1) | WO2011121713A1 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013157777A (ja) * | 2012-01-30 | 2013-08-15 | Ntt Electornics Corp | 情報処理システム及び情報処理方法 |
WO2013140455A1 (ja) * | 2012-03-22 | 2013-09-26 | 富士通株式会社 | アドホックネットワークシステム、ノード、および通信方法 |
WO2013145026A1 (ja) * | 2012-03-30 | 2013-10-03 | 富士通株式会社 | ネットワークシステム、ノード、検証ノードおよび通信方法 |
JPWO2013145026A1 (ja) * | 2012-03-30 | 2015-08-03 | 富士通株式会社 | ネットワークシステム、ノード、検証ノードおよび通信方法 |
US9510216B2 (en) | 2011-11-18 | 2016-11-29 | Fujitsu Limited | Node device and communication control method |
JP2019512942A (ja) * | 2016-03-10 | 2019-05-16 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 5g技術のための認証機構 |
JP2019213131A (ja) * | 2018-06-07 | 2019-12-12 | 三菱電機株式会社 | 中央処理装置、検針システムおよび不正アクセス検出方法 |
CN111614659A (zh) * | 2020-05-19 | 2020-09-01 | 杭州英视信息科技有限公司 | 未知网络流量的分布式检测方法 |
US10873464B2 (en) | 2016-03-10 | 2020-12-22 | Futurewei Technologies, Inc. | Authentication mechanism for 5G technologies |
CN114040366A (zh) * | 2021-09-22 | 2022-02-11 | 惠州城市职业学院(惠州商贸旅游高级职业技术学校) | 一种网络通信安全性高的蓝牙连接加密方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003069581A (ja) * | 2001-08-28 | 2003-03-07 | Nippon Telegr & Teleph Corp <Ntt> | 無線マルチホップネットワークの不正パケット防止方法及び防止装置 |
JP2007013386A (ja) * | 2005-06-29 | 2007-01-18 | Hitachi Ltd | アドホックネットワーク用の通信端末および通信制御方法 |
JP2009081768A (ja) * | 2007-09-27 | 2009-04-16 | Sony Corp | センサネットワーク、およびデータ通信方法 |
-
2010
- 2010-03-29 JP JP2012507940A patent/JP5240404B2/ja not_active Expired - Fee Related
- 2010-03-29 WO PCT/JP2010/055616 patent/WO2011121713A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003069581A (ja) * | 2001-08-28 | 2003-03-07 | Nippon Telegr & Teleph Corp <Ntt> | 無線マルチホップネットワークの不正パケット防止方法及び防止装置 |
JP2007013386A (ja) * | 2005-06-29 | 2007-01-18 | Hitachi Ltd | アドホックネットワーク用の通信端末および通信制御方法 |
JP2009081768A (ja) * | 2007-09-27 | 2009-04-16 | Sony Corp | センサネットワーク、およびデータ通信方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9510216B2 (en) | 2011-11-18 | 2016-11-29 | Fujitsu Limited | Node device and communication control method |
JP2013157777A (ja) * | 2012-01-30 | 2013-08-15 | Ntt Electornics Corp | 情報処理システム及び情報処理方法 |
WO2013140455A1 (ja) * | 2012-03-22 | 2013-09-26 | 富士通株式会社 | アドホックネットワークシステム、ノード、および通信方法 |
JPWO2013140455A1 (ja) * | 2012-03-22 | 2015-08-03 | 富士通株式会社 | アドホックネットワークシステム、ノード、および通信方法 |
WO2013145026A1 (ja) * | 2012-03-30 | 2013-10-03 | 富士通株式会社 | ネットワークシステム、ノード、検証ノードおよび通信方法 |
JPWO2013145026A1 (ja) * | 2012-03-30 | 2015-08-03 | 富士通株式会社 | ネットワークシステム、ノード、検証ノードおよび通信方法 |
JP2019512942A (ja) * | 2016-03-10 | 2019-05-16 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 5g技術のための認証機構 |
US10873464B2 (en) | 2016-03-10 | 2020-12-22 | Futurewei Technologies, Inc. | Authentication mechanism for 5G technologies |
US11700131B2 (en) | 2016-03-10 | 2023-07-11 | Futurewei Technologies, Inc. | Authentication mechanism for 5G technologies |
JP2019213131A (ja) * | 2018-06-07 | 2019-12-12 | 三菱電機株式会社 | 中央処理装置、検針システムおよび不正アクセス検出方法 |
JP7050585B2 (ja) | 2018-06-07 | 2022-04-08 | 三菱電機株式会社 | 中央処理装置、検針システムおよび不正アクセス検出方法 |
CN111614659A (zh) * | 2020-05-19 | 2020-09-01 | 杭州英视信息科技有限公司 | 未知网络流量的分布式检测方法 |
CN111614659B (zh) * | 2020-05-19 | 2022-09-23 | 杭州英视信息科技有限公司 | 未知网络流量的分布式检测方法 |
CN114040366A (zh) * | 2021-09-22 | 2022-02-11 | 惠州城市职业学院(惠州商贸旅游高级职业技术学校) | 一种网络通信安全性高的蓝牙连接加密方法 |
CN114040366B (zh) * | 2021-09-22 | 2024-04-09 | 惠州城市职业学院(惠州商贸旅游高级职业技术学校) | 一种网络通信安全性高的蓝牙连接加密方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5240404B2 (ja) | 2013-07-17 |
JPWO2011121713A1 (ja) | 2013-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5240404B2 (ja) | ノード、転送方法、および転送プログラム | |
JP5652556B2 (ja) | 通信ノード、通信制御方法、および通信ノードの制御プログラム | |
US20080317002A1 (en) | Tamper-resistant communication layer for attack mitigation and reliable intrusion detection | |
Sharma et al. | A detailed classification of routing attacks against RPL in internet of things | |
Siddiqui et al. | A wormhole attack detection and prevention technique in wireless sensor networks | |
US8543809B2 (en) | Method for misbehaviour detection in secure wireless mesh networks | |
Qazi et al. | Multirate DelPHI to secure multirate ad hoc networks against wormhole attacks | |
Aware et al. | Prevention of black hole attack on AODV in MANET using hash function | |
Sandhya Venu et al. | Invincible AODV to detect black hole and gray hole attacks in mobile ad hoc networks | |
Rajkumar et al. | Secure multipath routing and data transmission in MANET | |
Kausar et al. | Secure and efficient data transfer using spreading and assimilation in MANET | |
Fu et al. | A study and enhancement to the security of MANET AODV protocol against black hole attacks | |
Mishra et al. | Behavior analysis of malicious node in the different routing algorithms in mobile ad hoc network (MANET) | |
Syed et al. | Avoidance of Black hole affected routes in AODV-based MANET | |
WO2013145026A1 (ja) | ネットワークシステム、ノード、検証ノードおよび通信方法 | |
Hamamreh et al. | RAD: reinforcement authentication DYMO protocol for MANET | |
Jain et al. | Colluding Black Holes Detection in MANET | |
Behzad et al. | A hybrid method for detection and removal black hole attacks in mobile Ad-Hoc networks | |
Jain et al. | The impact of resource consumption attack on signal-stability based adaptive routing protocol in Manet | |
Selvavinayaki et al. | A reliable data transmission approach to prevent black hole attack in MANET | |
Rajanarayanan et al. | Wireless sensor network based detection of malicious packets drops and cluster performance study using energy with security aware LEACH (ES-LEACH) | |
SELVAKUMAR et al. | DESIGN AND EVOLUTION OF MAC ALGORITHM BASED STRATEGY TO MITIGATE BLACK HOLE ATTACKS IN WIRELESS SENSOR NETWORK | |
Chen et al. | A secure and efficient link state routing protocol for ad hoc networks | |
Kamaleshwar et al. | Secure Intrusion Detection System in Mobile Ad Hoc Networks Using Effective Hybrid Cryptographic Technique | |
KC et al. | A Novel approach to prevent collaborative attacks in MANETS using Cooperative Bait detection Scheme (CBDS) |
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: 10848893 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012507940 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10848893 Country of ref document: EP Kind code of ref document: A1 |