US20210344503A1 - Slave device and computer readable medium - Google Patents
Slave device and computer readable medium Download PDFInfo
- Publication number
- US20210344503A1 US20210344503A1 US17/375,611 US202117375611A US2021344503A1 US 20210344503 A1 US20210344503 A1 US 20210344503A1 US 202117375611 A US202117375611 A US 202117375611A US 2021344503 A1 US2021344503 A1 US 2021344503A1
- Authority
- US
- United States
- Prior art keywords
- slave
- frame
- authentication code
- message authentication
- received
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Definitions
- the present invention relates to transmission of a frame from a slave to a master.
- MAC message authentication code
- the master Upon receiving a frame transmitted from each slave, the master verifies the integrity of data in the frame by verifying a MAC attached to the frame.
- the master needs to verify N MACs for the N slaves. Therefore, the load on the master for MAC verification is heavy.
- Patent Literature 1 discloses a frame concatenation scheme.
- each slave when each slave receives a frame from a physically adjacent slave, each slave concatenates its own data to data in the frame.
- Each slave attaches a MAC for concatenated data to the frame, and relays the frame.
- the master receives a frame from a physically adjacent slave, the master verifies one MAC attached to the frame. By this, the integrity of the data from each slave in the frame is verified. Therefore, the number of MACs to be verified by the master is reduced, so that the load on the master for MAC verification can be reduced.
- Patent Literature 2 discloses a method for reducing the load for signature verification for the purpose of preventing falsification of collected data in a data collection server in a data collection system composed of the data collection server and a plurality of gateway devices.
- each gateway device sequentially concatenates its own data to data received from another gateway device, further adds a signature in a superimposed manner, and then transmits the data.
- the signature to be superimposed here is only a signature (aggregated signature) generated from a signature received from the other gateway device and the own data. Therefore, each gateway device is configured such that there is no need to generate a plurality of signatures.
- the signature verification load on the data collection server can be reduced similarly to the expected effect resulting from adopting the frame concatenation scheme, but also the signature attaching load on each gateway device can be prevented from increasing.
- Patent Literature 2 CRC is mainly assumed as a signature.
- Patent Literature 2 only discloses a technique related to an aggregated signature generation method in which a signature to be attached to transmission data is generated based on a received signature.
- CRC is an abbreviation for Cyclic Redundancy Check.
- a received MAC cannot be directly used for calculating a MAC to be transmitted.
- Non-Patent Literature 1 discloses a MAC based on a block cipher (CMAC).
- Patent Literature 1 JP 5393528 B
- Patent Literature 2 JP 2015-23375 A
- Non-Patent Literature 1 Morris Dworkin, “Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication”, NIST Special Publication 800-38B, 2005.
- the frame concatenation scheme has problems as described below.
- Each slave calculates a MAC for concatenated data of its own data and data of another slave.
- the amount of MAC computation for the concatenated data is larger than the amount of MAC computation for the own data. That is, the load on each slave for MAC attachment increases. This increases a delay in relaying a frame in each salve.
- a communication period constraint is required of a control system. For this reason, the master needs to complete the reception of a frame from each slave such that the communication period constraint is satisfied. However, if a delay in relaying the frame increases in each slave, the delay in relaying accumulates in proportion to the number of slaves that relay the frame, and the communication period constraint may not be able to be satisfied.
- a slave device includes
- the amount of computation for a message authentication code (MAC) is reduced. Therefore, a delay in relaying a frame is reduced in each slave. As a result, a communication period constraint can be satisfied.
- MAC message authentication code
- FIG. 1 is a configuration diagram of a control system 100 in a first embodiment
- FIG. 2 is a configuration diagram of a slave device 200 in the first embodiment
- FIG. 3 is a configuration diagram of a communication management unit 220 in the first embodiment
- FIG. 4 is a configuration diagram of a concatenation relay unit 230 in the first embodiment
- FIG. 5 is a configuration diagram of a storage unit 290 in the first embodiment
- FIG. 6 is a configuration diagram of a master device 300 in the first embodiment
- FIG. 7 is a flowchart illustrating a transmission process of the slave device 200 in the first embodiment
- FIG. 8 is a flowchart illustrating a reception process of the slave device 200 in the first embodiment
- FIG. 9 is a flowchart of a concatenation relay process (S 140 ) in the first embodiment
- FIG. 10 is a diagram illustrating frames ( 111 to 114 ) in the first embodiment
- FIG. 11 is a configuration diagram of the communication management unit 220 in a second embodiment
- FIG. 12 is a configuration diagram of the storage unit 290 in the second embodiment
- FIG. 13 is a configuration diagram of the master device 300 in the second embodiment
- FIG. 14 is a configuration diagram of a segment management unit 330 in the second embodiment
- FIG. 15 is a flowchart illustrating a reception process of the slave device 200 in the second embodiment
- FIG. 16 is a flowchart illustrating a segment determination process of the master device 300 in the second embodiment
- FIG. 17 is a hardware configuration diagram of the slave device 200 in the embodiments.
- FIG. 18 is a hardware configuration diagram of the master device 300 in the embodiments.
- the control system 100 includes a master 101 and a plurality of slaves (s_ 1 to s_N) and realizes specific control.
- “N” is an integer of 2 or more.
- the slave located farthest from the master 101 will be referred to as the slave s_ 1 .
- the slave located nearest to the master 101 will be referred to as the slave s_N.
- slave s_i ⁇ 1 The slave at the (i ⁇ 1)-th position when counted from the slave s_ 1 will be referred to as a slave s_i ⁇ 1, and the salve at the i-th position when counted from the slave s_ 1 will be referred to as a slave s_i.
- i is an integer from 2 to (N ⁇ 1).
- each slave When the slaves are not identified individually, each slave will be referred to as a slave 102 .
- a configuration in which the master 101 and a plurality of slaves 102 are connected linearly is adopted.
- Such a configuration will be referred to as a linear daisy-chained network.
- the side on which the master 101 is located will be referred to as an “upstream side”, and the side on which the slave s_ 1 is located will be referred to as a “downstream side”.
- the slave s_N is the most upstream slave 102
- the slave s_ 1 is the most downstream slave 102 .
- the slave device 200 is a computer that functions as the slave 102 , and includes hardware components such as a processor 201 , a memory 202 , an auxiliary storage device 203 , and a communication device 204 . These hardware components are connected with one another via signal lines.
- the processor 201 is an IC that performs operational processing and controls the other hardware components.
- the processor 201 is a CPU, a DSP, or a GPU.
- IC is an abbreviation for Integrated Circuit.
- CPU is an abbreviation for Central Processing Unit.
- DSP Digital Signal Processor
- GPU is an abbreviation for Graphics Processing Unit.
- the memory 202 is a volatile storage device.
- the memory 202 is also called a main storage device or a main memory.
- the memory 202 is a RAM. Data stored in the memory 202 is saved in the auxiliary storage device 203 as necessary.
- RAM is an abbreviation for Random Access Memory.
- the auxiliary storage device 203 is a non-volatile storage device.
- the auxiliary storage device 203 is a ROM, an HDD, or a flash memory. Data stored in the auxiliary storage device 203 is loaded into the memory 202 as necessary.
- ROM is an abbreviation for Read Only Memory.
- HDD is an abbreviation for Hard Disk Drive.
- the communication device 204 is a receiver and a transmitter.
- the communication device 204 is a communication chip or a NIC.
- NIC is an abbreviation for Network Interface Card.
- the communication device 204 includes an upstream-side interface 205 and a downstream-side interface 206 .
- the upstream-side interface 205 is a communication interface that is connected on the upstream side of the linear daisy-chained network.
- the downstream-side interface 206 is a communication interface that is connected on the downstream side of the linear daisy-chained network.
- the communication of the slave device 200 is realized by the communication device 204 .
- the slave device 200 includes elements such as an application unit 210 and a communication management unit 220 . These elements are realized by software.
- the auxiliary storage device 203 stores a slave program for causing a computer to function as the application unit 210 and the communication management unit 220 .
- the slave program is loaded into the memory 202 and executed by the processor 201 .
- the auxiliary storage device 203 further stores an OS. At least part of the OS is loaded into the memory 202 and executed by the processor 201 .
- the processor 201 executes the slave program while executing the OS.
- OS is an abbreviation for Operating System.
- Input data and output data of the slave program are stored in a storage unit 290 .
- the memory 202 functions as the storage unit 290 .
- a storage device such as the auxiliary storage device 203 , a register in the processor 201 , and a cache memory in the processor 201 may function as the storage unit 290 in place of the memory 202 or together with the memory 202 .
- the slave device 200 may include a plurality of processors as an alternative to the processor 201 .
- the plurality of processors share the role of the processor 201 .
- the slave program can be recorded (stored) in a computer readable format in a non-volatile recording medium such as an optical disc or a flash memory.
- the communication management unit 220 includes a reception unit 221 , an acceptance unit 222 , a regular relay unit 223 , a transmission unit 224 , and a concatenation relay unit 230 .
- the concatenation relay unit 230 includes a verification unit 231 .
- the concatenation relay unit 230 further includes a separation unit 232 , an intermediate-computation-result calculation unit 233 , a transmission data concatenation unit 234 , a MAC calculation unit 235 , and a frame generation unit 236 .
- MAC is an abbreviation for a message authentication code.
- a specific message authentication code is a message authentication code based on a block cipher (CMAC).
- a common key 291 In the storage unit 290 , a common key 291 , a subkey 292 , and so on are pre-stored.
- the common key 291 is the common key used in a computation expression for calculating a MAC (MAC computation expression). The same common key 291 is used in each of the slaves 102 .
- the subkey 292 is the subkey corresponding to the common key 291 .
- the same subkey 292 is used in each of the slaves 102 .
- the master device 300 is a computer that functions as the master 101 and includes hardware components such as a processor 301 , a memory 302 , an auxiliary storage device 303 , and a communication device 304 . These hardware components are connected to one another via signal lines.
- the processor 301 is an IC that performs operational processing and controls the other hardware components.
- the processor 301 is a CPU, a DSP, or a GPU.
- the memory 302 is a volatile storage device.
- the memory 302 is also called a main storage device or a main memory.
- the memory 302 is a RAM. Data stored in the memory 302 is saved in the auxiliary storage device 303 as necessary.
- the auxiliary storage device 303 is a non-volatile storage device.
- the auxiliary storage device 303 is a ROM, an HDD or a flash memory. Data stored in the auxiliary storage device 303 is loaded into the memory 302 as necessary.
- the communication device 304 is a receiver and a transmitter.
- the communication device 304 is a communication chip or a NIC.
- the communication device 304 includes a communication interface 305 .
- the communication interface 305 is connected to the linear daisy-chained network.
- the communication of the master device 300 is realized by the communication device 304 .
- the master device 300 includes elements such as an application unit 310 and a communication management unit 320 . These elements are realized by software.
- the auxiliary storage device 303 stores a master program for causing a computer to function as the application unit 310 and the communication management unit 320 .
- the master program is loaded into the memory 302 and executed by the processor 301 .
- the auxiliary storage device 303 further stores an OS. At least part of the OS is loaded into the memory 302 and executed by the processor 301 .
- the processor 301 executes the master program while executing the OS.
- Input data and output data of the master program are stored in a storage unit 390 .
- the same keys as the common key 291 and the subkey 292 are pre-stored in the storage unit 390 .
- the memory 302 functions as the storage unit 390 .
- a storage device such as the auxiliary storage device 303 , a register in the processor 301 , and a cache memory in the processor 301 may function as the storage unit 390 in place of the memory 302 or together with the memory 302 .
- the master device 300 may include a plurality of processors as an alternative to the processor 301 .
- the plurality of processors share the role of the processor 301 .
- the master program can be recorded (stored) in a computer readable format in a non-volatile recording medium such as an optical disc or a flash memory.
- Operation of the control system 100 corresponds to a control method.
- a procedure of the control method corresponds to a procedure of a control program.
- a procedure for operation of the slave device 200 corresponds to a procedure of the slave program.
- a procedure for operation of the master device 300 corresponds to a procedure of the master program.
- the transmission process of the slave device 200 is performed when transmission data is generated in the application unit 210 .
- the application unit 210 generates transmission data, and outputs a set of a transmission request and the transmission data.
- the set of the transmission request and the transmission data is input to the communication management unit 220 .
- step S 101 the acceptance unit 222 accepts the set of the transmission request and the transmission data.
- the transmission request includes information that identifies the destination of the transmission data (destination information).
- step S 102 the acceptance unit 222 determines the destination of the transmission data based on the destination information included in the transmission request.
- step S 103 If the destination of the transmission data is another slave 102 , the process proceeds to step S 103 .
- step S 104 If the destination of the transmission data is the master 101 , the process proceeds to step S 104 .
- step S 103 the transmission unit 224 generates a frame including the transmission data destined for the other slave 102 .
- the transmission unit 224 may calculate a MAC for the transmission data, using the common key 291 , and attach the calculated MAC to the frame.
- the transmission unit 224 transmits the generated frame to the other slave 102 .
- the transmission unit 224 transmits the generated frame as described below.
- Configuration information data of the control system 100 is pre-stored in the storage unit 290 .
- the configuration information data of the control system 100 indicates the configuration of the control system 100 .
- the transmission unit 224 determines whether the other slave 102 is the slave 102 on the upstream side or the slave 102 on the downstream side, based on the configuration information data of the control system 100 .
- the transmission unit 224 transmits the generated frame to the upstream side.
- the transmission unit 224 transmits the generated frame to the downstream side.
- step S 104 the acceptance unit 222 stores the transmission data destined for the master in the storage unit 290 .
- the transmission of the transmission data destined for the master will be described later.
- the reception process of the slave device 200 is performed when a frame arrives at the slave device 200 .
- step S 111 the reception unit 221 receives the frame.
- step S 112 the reception unit 221 refers to the header of the received frame and determines the destination of the received frame.
- step S 120 If the destination of the received frame is the own slave 102 , the process proceeds to step S 120 .
- step S 130 If the destination of the received frame is another slave 102 , the process proceeds to step S 130 .
- step S 140 If the destination of the received frame is the master 101 , the process proceeds to step S 140 .
- a regular reception process (S 120 ) will be described.
- the regular reception process (S 120 ) is a conventional process to be performed when a frame destined for the own slave is received.
- the slave device 200 operates as described below.
- the reception unit 221 stores the frame destined for the own slave 102 in the storage unit 290 , and notifies the application unit 210 that the frame has been received.
- the application unit 210 processes the frame destined for the own slave 102 .
- the regular relay process (S 130 ) is a conventional process to be performed when a frame destined for another slave is received.
- the slave device 200 operates as described below.
- the reception unit 221 transfers the frame destined for the other slave 102 to the regular relay unit 223 .
- the regular relay unit 223 transmits the transferred frame to the other slave 102 .
- the regular relay unit 223 transmits the transferred frame as described below.
- the configuration information data of the control system 100 is pre-stored in the storage unit 290 .
- the configuration information data of the control system 100 indicates the configuration of the control system 100 .
- the regular relay unit 223 determines whether the other slave 102 is the slave 102 on the upstream side or the slave 102 on the downstream side, based on the configuration information data of the control system 100 .
- the regular relay unit 223 transmits the transferred frame to the upstream side.
- the concatenation relay process (S 140 ) is a process to be performed when a frame destined for the master 101 is received from the slave 102 on the downstream side.
- the reception unit 221 transfers the frame destined for the master 101 to the concatenation relay unit 230 .
- the transferred frame will be referred to as a “received frame”.
- the MAC attached to the received frame will be referred to as a “received MAC”.
- step S 141 the verification unit 231 verifies the MAC for the received frame (received MAC).
- the method for verifying the received MAC is the same as a conventional method for verifying a MAC.
- step S 142 to step S 147 are performed in parallel with step S 141 .
- step S 142 the separation unit 232 separates the received frame into a main frame and the received MAC. In other words, the separation unit 232 extracts the main frame and the received MAC from the received frame.
- the main frame is a portion of the received frame excluding the received MAC, and includes a transmission data string.
- the transmission data string is one or more pieces of transmission data to be transmitted from one or more slaves 102 to the master 101 .
- the received MAC is the MAC for the main frame in the received frame.
- step S 142 the process proceeds to step S 143 and step S 144 .
- step S 143 the intermediate-computation-result calculation unit 233 calculates an intermediate computation result of the received MAC.
- the intermediate computation result of the received MAC is a value obtained by computing a part of the computation expression for computing the received MAC.
- step S 143 the process proceeds to step S 145 .
- step S 144 the transmission data concatenation unit 234 acquires the transmission data from the own slave 102 to the master 101 (see S 104 of FIG. 7 ) from the storage unit 290 .
- the transmission data concatenation unit 234 concatenates the acquired transmission data to the transmission data string in the main frame.
- step S 144 the process proceeds to step S 145 .
- step S 145 the MAC calculation unit 235 calculates a MAC for a concatenated main frame, using the intermediate computation result of the received MAC.
- the concatenated main frame is the main frame obtained by step S 144 , and includes a concatenated transmission data string.
- step S 146 the frame generation unit 236 generates a frame destined for the master 101 by attaching the transmission MAC to the concatenated main frame.
- the generated frame will be referred to as a “transmission frame”.
- the transmission frame includes the concatenated transmission data string and also includes the transmission MAC instead of the received MAC.
- step S 148 If the received MAC is determined as invalid, the process proceeds to step S 148 .
- step S 148 the verification unit 231 notifies the transmission unit 224 that the received MAC is invalid.
- the transmission unit 224 generates an error notification frame destined for the master 101 , and transmits the error notification frame to the upstream side.
- the error notification frame is a frame for notifying that the received MAC is invalid.
- d_x is transmission data of a slave x.
- MAC_x is the MAC that is attached to a transmission frame by the slave x.
- a frame 111 is a transmission frame of the slave s_ 1 .
- MAC_ 1 of the frame 111 is the MAC for transmission data d_ 1 .
- a frame 112 is a transmission frame of the slave s_i ⁇ 1.
- MAC_i ⁇ 1 of the frame 112 is the MAC for a transmission data string ⁇ d_ 1 , . . . , d_i ⁇ 1 ⁇ .
- a frame 113 is a transmission frame of the slave s_i.
- MAC_i of the frame 113 is the MAC for a transmission data string ⁇ d_ 1 , . . . , d_i ⁇ 1, d_i ⁇ .
- the slave 102 that has calculated the received MAC is the slave s_i ⁇ 1 and the slave 102 that is to calculate the intermediate computation result of the received MAC is the slave s_i. That is, it is assumed that the received MAC is MAC_i ⁇ 1 (see FIG. 10 ).
- the received MAC is calculated by computing expression (1-1).
- MAC_i ⁇ 1 is the received MAC.
- E(b) is a bit string b encrypted using the common key 291 .
- ⁇ r il , . . . , r ip ⁇ is a set of bit strings r ix .
- the set of bit strings rix is obtained by dividing the transmission data string ⁇ d_ 1 , . . . , d_i ⁇ 1 ⁇ included in the received frame by the block size B into p portions.
- subkey is the subkey 292 .
- Expression (1-2) is expanded into expression (1-3).
- D(MAC_i ⁇ 1) is a value obtained by a decryption operation performed on the received MAC using the common key 291 .
- the intermediate-computation-result calculation unit 233 calculates an intermediate computation result t_i ⁇ 1 of the received MAC by computing expression (1-3).
- the slave 102 that is to calculate the transmission MAC is the slave s_i. That is, it is assumed that the transmission MAC is MAC_i (see FIG. 10 ).
- the transmission MAC can be calculated by computing expression (1-4).
- MAC_i is the transmission MAC.
- ⁇ v il , . . . , v iq ⁇ is a set of bit strings v iy .
- the set of bit strings v iy is obtained by dividing the transmission data of the slave s_i by the block size B into q portions.
- a portion of expression (1-4) is common with the portion “t_i ⁇ 1” of expression (1-1).
- the MAC calculation unit 235 calculates the transmission MAC by computing expression (1-5) using the intermediate computation result t_i ⁇ 1.
- the portion of expression (1-4) can be omitted. That is, p ⁇ 1 times of the encryption operation and p ⁇ 2 times of the XOR operation can be omitted.
- the master device 300 operates similarly to a conventional master in a linear daisy-chained network.
- the master device 300 operates as described below.
- the communication management unit 320 verifies the MAC for the received frame.
- the communication management unit 320 determines whether the received frame is a regular frame or an error notification frame.
- the communication management unit 320 stores the received frame in the storage unit 390 and notifies the application unit 310 that the regular frame has been received.
- the application unit 310 processes the received frame.
- the communication management unit 320 notifies the application unit 310 of the invalid MAC.
- the application unit 310 performs processing for the invalid MAC.
- the first embodiment allows MAC_i in the slave s_i to be calculated using an intermediate computation result obtained by back calculation based on MAC_i ⁇ 1 included in a received frame. Therefore, even when the frame concatenation scheme and MAC are applied to communication between a master and slaves in a linear daisy-chained network, the MAC attaching load on each slave can be reduced. As a result, a delay in relaying a frame is reduced in each slave, and a communication period constraint can be satisfied.
- the configuration of the control system 100 is the same as the configuration in the first embodiment (see FIG. 1 ).
- the configuration of the slave device 200 is the same as the configuration in the first embodiment except for the configuration of the communication management unit 220 and the configuration of the storage unit 290 (see FIG. 2 ).
- the communication management unit 220 further includes a concatenation determination unit 225 .
- the rest of the configuration is the same as the configuration in the first embodiment (see FIG. 3 ).
- FIG. 12 the configuration of the storage unit 290 will be described.
- an applicable address 293 is pre-stored in addition to the common key 291 and the subkey 292 . That is, the applicable address 293 is set in the slave device 200 .
- the applicable address 293 is an address that is set as the transmission source address of a frame for which data concatenation is allowed.
- the master device 300 further includes a segment management unit 330 .
- the rest of the configuration is the same as the configuration in the first embodiment (see FIG. 6 ).
- the segment management unit 330 includes a segment determination unit 331 and an address setting unit 332 .
- the transmission process of the slave device 200 is the same as the transmission process in the first embodiment (see FIG. 7 ).
- Step S 111 and step S 112 are as described in the first embodiment (see FIG. 8 ).
- step S 201 If the destination of the received frame is the master 101 , the process proceeds to step S 201 .
- step S 201 the concatenation determination unit 225 determines whether data concatenation is allowed, based on the transmission source address of the received frame.
- step S 140 If it is determined that data concatenation is allowed, the process proceeds to step S 140 .
- the concatenation relay process (S 140 ) is as described in the first embodiment (see FIG. 9 ).
- step S 130 the transmission unit 224 transmits the received frame to the upstream side.
- the slave 102 to be described will be referred to as the slave device 200 .
- the plurality of slaves 102 are segmented into one or more slave groups.
- a slave group is one or more slaves 102 .
- a communication time in each slave group is less than a constraint time.
- the communication time is the time required for a frame to reach the master 101 from the most downstream slave 102 in each slave group.
- the constraint time is the time defined by a communication period constraint required of the control system 100 .
- the slave 102 adjacent, in the slave group to which the slave device 200 belongs, to the slave device 200 on the downstream side of the slave device 200 will be referred to as a “virtual adjacent slave”. That is, the virtual adjacent slave is the slave 102 located at the smallest number of hops from the downstream-side interface 206 in the slave group to which the slave device 200 belongs.
- the slave 102 that is physically connected with the downstream-side interface 206 of the slave device 200 will be referred to as a “physical adjacent slave”.
- the applicable address 293 is the address of the virtual adjacent slave. That is, if a frame destined for the master 101 and transmitted from the virtual adjacent slave is received, the slave device 200 performs the concatenation relay process (S 140 ). If a frame destined for the master 101 and transmitted from the physical adjacent slave (excluding the virtual adjacent slave) is received, the slave device 200 performs the regular relay process (S 130 ).
- the applicable address 293 is set in the slave device 200 by the master 101 . Specifically, the applicable address 293 is set in the slave device 200 before the communication of a frame from each slave 102 to the master 101 is started.
- the segment determination unit 331 segments the plurality of slaves 102 into one or more slave groups, based on the constraint time. A specific example of processing by the segment determination unit 331 will be described later.
- the address setting unit 332 selects the slave group to which the slave device 200 belongs from the one or more slave groups, and selects the virtual adjacent slave of the slave device 200 from the selected slave group. Then, the address setting unit 332 sets the address of the virtual adjacent slave (applicable address 293 ) in the slave device 200 by communicating with the slave device 200 .
- the segment determination unit 331 uses an approximate solution that segments the plurality of slaves 102 into one or more slave groups. However, the segment determination unit 331 may use a different approximate solution or exact solution.
- step S 211 the segment determination unit 331 initializes a segment set C and a slave set SC(c j ) of each concatenation segment c j .
- the segment set C is M concatenation segments ⁇ c 1 , . . . , c M ⁇ .
- M is an integer from 1 to N.
- N is the number of the slaves 102 .
- the concatenation segment c j is a segment for determining whether data concatenation is to be performed, and corresponds to a slave group.
- the slave set SC(c j ) is one or more slaves 102 belonging to the concatenation segment c j .
- the initialization of the segment set C can be represented as expression (2-1).
- the initialization of the slave set SC(c j ) can be represented as expression (2-2).
- S denotes the N slaves 102 .
- step S 212 the segment determination unit 331 calculates a maximum communication time D max in the segment set C.
- the maximum communication time D max is the maximum value of a communication time D rcv (c j ) in the segment set C.
- the communication time D rcv (c j ) is the time required from start of the transmission process of a frame by the most downstream slave 102 in the concatenation segment c j until the frame arrives at the master 101 .
- the communication time D rcv (c j ) is the maximum.
- the segment determination unit 331 calculates the communication time D rcv (c j ) of each concatenation segment c j included in the segment set C, and selects the maximum communication time D rcv (c j ).
- the selected communication time D rcv (c j ) is the maximum communication time D max .
- the communication time D rcv (c j ) is calculated based on various parameters, such as a transmission data size of each slave 102 belonging to the concatenation segment c j , a MAC operation time depending on each transmission data size, and a frame relay time depending on each transmission data size.
- the various parameters are pre-stored in the storage unit 390 .
- step S 213 the segment determination unit 331 compares the maximum communication time D max with a constraint time T c .
- step S 214 If the maximum communication time D max is equal to or greater than the constraint time T c , the process proceeds to step S 214 .
- step S 214 the segment determination unit 331 adds a concatenation segment c
- step S 215 the segment determination unit 331 determines the configuration of the slave set SC(c j ) for each concatenation segment c j included in the segment set C.
- the segment determination unit 331 assigns each of the slaves 102 to one of the concatenation segments c j sequentially, starting with the most upstream slave 102 .
- the assignment of the slave s_i is performed as described below. The larger the “i” of the slave s_i, the more upstream it is located. That is, the larger the “i” of the slave s_i, the nearer it is to the master 101 .
- the segment determination unit 331 calculates the communication time D rcv (c j ) in each of the concatenation segments c j .
- the segment determination unit 331 selects a concatenation segment c j corresponding to the minimum communication time D rcv (c j ).
- the segment determination unit 331 adds the slave s_i to the selected concatenation segment c j .
- slave s_i can be represented as expression (2-4).
- step S 215 the process proceeds to step S 212 .
- the plurality of slaves 102 are segmented into a plurality of groups, depending on the communication period constraint. Then, concatenation of transmission data is performed in each segment. Therefore, an accumulated relay delay can be reduced. As a result, the communication period constraint can be satisfied.
- the slave device 200 includes processing circuitry 209 .
- the processing circuitry 209 is hardware that realizes the application unit 210 and the communication management unit 220 .
- the processing circuitry 209 may be dedicated hardware, or may be the processor 201 that executes programs stored in the memory 202 .
- the processing circuitry 209 is dedicated hardware, the processing circuitry 209 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel-programmed processor, an ASIC, an FPGA, or a combination of these.
- ASIC is an abbreviation for Application Specific Integrated Circuit.
- FPGA is an abbreviation for Field Programmable Gate Array.
- the slave device 200 may include a plurality of processing circuits as an alternative to the processing circuitry 209 .
- the plurality of processing circuits share the role of the processing circuitry 209 .
- processing circuitry 209 some of the functions may be realized by dedicated hardware, and the rest of the functions may be realized by software or firmware.
- the processing circuitry 209 can be realized by hardware, software, firmware, or a combination of these.
- the master device 300 includes processing circuitry 309 .
- the processing circuitry 309 is hardware that realizes the application unit 310 , the communication management unit 320 , and the segment management unit 330 .
- the processing circuitry 309 may be dedicated hardware, or may be the processor 301 that executes programs stored in the memory 302 .
- the processing circuitry 309 is dedicated hardware, the processing circuitry 309 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel-programmed processor, an ASIC, an FPGA, or a combination of these.
- the master device 300 may include a plurality of processing circuits as an alternative to the processing circuitry 309 .
- the plurality of processing circuits share the role of the processing circuitry 309 .
- processing circuitry 309 some of the functions may be realized by hardware, and the rest of the functions may be realized by software or firmware.
- the processing circuitry 309 can be realized by hardware, software, firmware, or a combination of these.
- Each “unit”, which is an element of the slave device 200 or the master device 300 , may be interpreted as “process” or “step”.
- 100 control system, 101 : master, 102 : slave, 111 : frame, 112 : frame, 113 : frame, 114 : frame, 200 : slave device, 201 : processor, 202 : memory, 203 : auxiliary storage device, 204 : communication device, 205 : upstream-side interface, 206 : downstream-side interface, 209 : processing circuitry, 210 : application unit, 220 : communication management unit, 221 : reception unit, 222 : acceptance unit, 223 : regular relay unit, 224 : transmission unit, 225 : concatenation determination unit, 230 : concatenation relay unit, 231 : verification unit, 232 : separation unit, 233 : intermediate-computation-result calculation unit, 234 : transmission data concatenation unit, 235 : MAC calculation unit, 236 : frame generation unit, 290 : storage unit, 291 : common key, 292 : subkey, 293 : applicable address,
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Power Engineering (AREA)
- Small-Scale Networks (AREA)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/008012 WO2020178879A1 (ja) | 2019-03-01 | 2019-03-01 | スレーブ装置およびスレーブプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/008012 Continuation WO2020178879A1 (ja) | 2019-03-01 | 2019-03-01 | スレーブ装置およびスレーブプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210344503A1 true US20210344503A1 (en) | 2021-11-04 |
Family
ID=72338245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/375,611 Abandoned US20210344503A1 (en) | 2019-03-01 | 2021-07-14 | Slave device and computer readable medium |
Country Status (7)
Country | Link |
---|---|
US (1) | US20210344503A1 (zh) |
JP (1) | JP6906726B2 (zh) |
KR (1) | KR20210110388A (zh) |
CN (1) | CN113519142A (zh) |
DE (1) | DE112019006762T5 (zh) |
TW (1) | TW202034668A (zh) |
WO (1) | WO2020178879A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001071972A2 (fr) * | 2000-03-21 | 2001-09-27 | Societe Toulousaine De Services - Sts | Procede, automate, dispositif informatique et reseau pour la transmission certifiee de documents |
US20080076386A1 (en) * | 2006-09-22 | 2008-03-27 | Amit Khetawat | Method and apparatus for preventing theft of service in a communication system |
US20190122186A1 (en) * | 2016-03-31 | 2019-04-25 | Bitflyer, Inc. | Hierarchical Network System, And Node And Program Used In Same |
EP3654579A1 (en) * | 2018-11-13 | 2020-05-20 | Koninklijke Philips N.V. | Methods and devices for providing message authentication code suitable for short messages |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5393528A (en) | 1992-05-07 | 1995-02-28 | Staab; Robert J. | Dissolvable device for contraception or delivery of medication |
JP2006311394A (ja) * | 2005-04-28 | 2006-11-09 | Toyota Industries Corp | 無線通信装置 |
CN101753312B (zh) * | 2010-02-03 | 2013-05-29 | 北京融通高科科技发展有限公司 | 一种电网设备的安全认证方法、装置及一种负控终端 |
JP5393528B2 (ja) * | 2010-02-22 | 2014-01-22 | 三菱電機株式会社 | 通信装置及びプログラム |
JP5143198B2 (ja) * | 2010-08-24 | 2013-02-13 | 株式会社バッファロー | ネットワーク中継装置 |
JP6013988B2 (ja) | 2013-07-18 | 2016-10-25 | 日本電信電話株式会社 | データ収集システム、データ収集方法、ゲートウェイ装置及びデータ集約プログラム |
JP6190404B2 (ja) * | 2014-06-05 | 2017-08-30 | Kddi株式会社 | 受信ノード、メッセージ受信方法およびコンピュータプログラム |
JP6199335B2 (ja) * | 2014-06-05 | 2017-09-20 | Kddi株式会社 | 通信ネットワークシステム及びメッセージ検査方法 |
CN106656714A (zh) * | 2017-02-10 | 2017-05-10 | 广东工业大学 | 一种基于EtherCAT总线的通信协议方法及系统 |
-
2019
- 2019-03-01 DE DE112019006762.1T patent/DE112019006762T5/de not_active Withdrawn
- 2019-03-01 JP JP2021503236A patent/JP6906726B2/ja active Active
- 2019-03-01 WO PCT/JP2019/008012 patent/WO2020178879A1/ja active Application Filing
- 2019-03-01 KR KR1020217026452A patent/KR20210110388A/ko active IP Right Grant
- 2019-03-01 CN CN201980093219.1A patent/CN113519142A/zh not_active Withdrawn
- 2019-08-22 TW TW108129995A patent/TW202034668A/zh unknown
-
2021
- 2021-07-14 US US17/375,611 patent/US20210344503A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001071972A2 (fr) * | 2000-03-21 | 2001-09-27 | Societe Toulousaine De Services - Sts | Procede, automate, dispositif informatique et reseau pour la transmission certifiee de documents |
US20080076386A1 (en) * | 2006-09-22 | 2008-03-27 | Amit Khetawat | Method and apparatus for preventing theft of service in a communication system |
US20190122186A1 (en) * | 2016-03-31 | 2019-04-25 | Bitflyer, Inc. | Hierarchical Network System, And Node And Program Used In Same |
EP3654579A1 (en) * | 2018-11-13 | 2020-05-20 | Koninklijke Philips N.V. | Methods and devices for providing message authentication code suitable for short messages |
Non-Patent Citations (2)
Title |
---|
Intellectual Property Office Written Decision on Registration for Application No. 10-2021-7026452, dated: 11/25/2021, 2 pages. (Year: 2021) * |
Japanese Patent Office Decision to Grant a Patent for Japanese Patent Application No. 2021-503236, dated: 5/26/2021, 2 pages. (Year: 2021) * |
Also Published As
Publication number | Publication date |
---|---|
JP6906726B2 (ja) | 2021-07-21 |
TW202034668A (zh) | 2020-09-16 |
DE112019006762T5 (de) | 2021-10-28 |
KR20210110388A (ko) | 2021-09-07 |
WO2020178879A1 (ja) | 2020-09-10 |
CN113519142A (zh) | 2021-10-19 |
JPWO2020178879A1 (ja) | 2021-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dutta et al. | Securing the deluge network programming system | |
US11343261B2 (en) | Technologies for proving packet transit through uncompromised nodes | |
EP2087766B1 (en) | Composed message authentication code | |
US8121284B2 (en) | Information processing system, information processing method, and information processing program | |
US20120096564A1 (en) | Data integrity protecting and verifying methods, apparatuses and systems | |
ES2863676T3 (es) | Mensaje cifrado con instrucción de autenticación | |
US20220156735A1 (en) | Methods and devices for propagating blocks in a blockchain network | |
US20210089388A1 (en) | System, Apparatus And Method For Providing Protection Against Silent Data Corruption In A Link | |
US20200076524A1 (en) | Network interface with timestamping and data protection | |
JPWO2018179293A1 (ja) | 検証情報付与装置、検証装置、情報管理システム、方法およびプログラム | |
EP3565176A1 (en) | Data transfer system and transfer method | |
US10200356B2 (en) | Information processing system, information processing apparatus, information processing method, and recording medium | |
CN114662085A (zh) | 用于自治系统的后量子安全远程证明 | |
Shih et al. | Traceability for Vehicular Network Real-Time Messaging Based on Blockchain Technology. | |
Krontiris et al. | Scatter–secure code authentication for efficient reprogramming in wireless sensor networks | |
US20210344503A1 (en) | Slave device and computer readable medium | |
US8655932B2 (en) | Data converting method and a device therefor | |
EP3955149B1 (en) | Method and apparatus for securing real-time data transfer from a device | |
US20230162186A1 (en) | Block propagation with poisoned transactions in a blockchain network | |
CN111628959B (zh) | 一种基于随机标签的大规模无人机群安全认证机制 | |
CN116016725B (zh) | 信息传输方法、计算机设备及存储介质 | |
WO2020080259A1 (ja) | 情報処理装置、管理装置 | |
CN115442026A (zh) | 一种hmac算法处理系统、方法、设备及介质 | |
WO2022068240A1 (zh) | 数据处理方法、节点设备及存储介质 | |
US12061729B2 (en) | Secure low-latency chip-to-chip communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MITSUBISHI ELECTRIC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IGAWA, KOKI;REEL/FRAME:056871/0039 Effective date: 20210528 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |