WO2016116999A1 - パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム - Google Patents

パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム Download PDF

Info

Publication number
WO2016116999A1
WO2016116999A1 PCT/JP2015/051192 JP2015051192W WO2016116999A1 WO 2016116999 A1 WO2016116999 A1 WO 2016116999A1 JP 2015051192 W JP2015051192 W JP 2015051192W WO 2016116999 A1 WO2016116999 A1 WO 2016116999A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
xth
data block
packet
authentication code
Prior art date
Application number
PCT/JP2015/051192
Other languages
English (en)
French (fr)
Inventor
ユミコ 村上
信博 小林
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201580073137.2A priority Critical patent/CN107113180B/zh
Priority to PCT/JP2015/051192 priority patent/WO2016116999A1/ja
Priority to US15/544,469 priority patent/US10412069B2/en
Priority to JP2016570218A priority patent/JP6289680B2/ja
Priority to DE112015005991.1T priority patent/DE112015005991B4/de
Priority to TW104106965A priority patent/TW201628379A/zh
Publication of WO2016116999A1 publication Critical patent/WO2016116999A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Definitions

  • the present invention relates to communication of a packet including a message authentication code.
  • Reliability means data integrity, which means that the data is not tampered with during transmission. Tampering includes data errors caused by noise. Integrity is ensured using cryptographic techniques.
  • Data errors can be detected by a technique using an error detection code such as a checksum.
  • error detection code such as a checksum.
  • message data is encoded into longer data, and a data error is detected by the redundancy.
  • this technology is less resistant to intentional and advanced tampering by third parties.
  • the message authentication technique is a general term for techniques for detecting tampering by adding a message authentication code (MAC) to message data.
  • MAC message authentication code
  • the sender inputs the message data and the common key to the MAC generation function, and transmits a packet including the message data and the MAC.
  • the receiver generates a MAC using the message data and the common key in the same manner as the sender, and verifies whether the generated MAC matches the received MAC. If there is no alteration, both MACs match. If both MACs do not match, it is determined that the message data, MAC, or both have been tampered with, and the packet is discarded.
  • Message authentication technology is a technology separate from data confidentiality and cannot be used for the purpose of privacy protection. If the message data is to be kept secret, the message data is encrypted and a message authentication technique is applied to the encrypted message data. Thereby, both the detection of tampering and the concealment of data can be realized.
  • Non-Patent Document 1 discloses HMAC, which is one of typical message authentication techniques.
  • HMAC is an abbreviation for Hash-based Message Authentication Code.
  • hash algorithms such as SHA-1 and MD5 are used for the core part of the computation for generating the MAC, which are called HMAC-SHA1 and HMAC-MD5, respectively. Since HMAC can handle a hash algorithm as a black box, a hash algorithm that satisfies a specific condition can be used. Note that the security of the HMAC depends on the security of the hash algorithm to be used.
  • HMAC safety is resistance to spoofing.
  • the impersonation act is that a third party who does not have a common key forges a pair of a message and a MAC. Specifically, impersonation is performed by a third party who does not have a common key, forges a different message and MAC pair based on the correct message and MAC pair, and verifies the recipient's MAC verification. Is an act of passing.
  • HMAC HMAC-SHA256
  • the security of the HMAC becomes lower.
  • M2M is an abbreviation for Machine to Machine.
  • This system and service is provided by a network configured with a number of devices with limited computational resources. Each device operates autonomously without human control.
  • Devices with limited computational resources are sensor nodes or RFID tags.
  • RFID is an abbreviation for Radio Frequency IDentifier.
  • Patent Document 1 discloses a technique for generating a MAC for each divided data and transmitting a packet including the divided data and the MAC.
  • a MAC is added for each divided data in narrowband communication, there is a possibility of exceeding the bandwidth upper limit. Therefore, when the MAC has a fixed length, it is necessary to reduce the size of the divided data. As a result, since the number of packets increases, it takes time to transmit all packets. And a big load will be applied to a communication path.
  • Patent Document 2 discloses a technique for reducing the payload by providing a MAC function to an error detection code included in a digital information signal.
  • An object of the present invention is to enable verification of an Xth data block by adding additional data based on the Xth data block and the X-1th data block to the Xth data block. To do.
  • the packet transmission device of the present invention includes: A message authentication code generation unit that generates a message authentication code of the data block for each data block included in the N data blocks; The message authentication code of the Xth data block, which is any data block from the second data block to the Nth data block of the N data blocks, and the first of the N data blocks; An edit data generation unit that generates X-th edit data that is data generated using the message authentication code of the data block of X-1. An additional data generation unit that generates Xth additional data, which is data to be added to the Xth data block, using the Xth edit data; A packet generation unit for generating an Xth packet including the Xth data block and the Xth additional data; A packet transmission unit for transmitting the Xth packet.
  • additional data based on the Xth data block and the X-1th data block can be added to the Xth data block. Accordingly, the Xth data block can be verified using the additional data.
  • FIG. 1 is a configuration diagram of a packet communication system 100 according to Embodiment 1.
  • FIG. FIG. 3 shows message data 201 and a packet 110 in the first embodiment.
  • FIG. 3 is a functional configuration diagram of a packet transmission device 200 according to the first embodiment.
  • 2 is a functional configuration diagram of a packet reception device 300 according to Embodiment 1.
  • FIG. 2 is a hardware configuration diagram of a packet transmission device 200 and a packet reception device 300 in Embodiment 1.
  • S130 first data block processing
  • FIG. 10 is a flowchart of an Xth data block process (S140) according to the first embodiment.
  • 6 is a flowchart of remaining MAC processing (S150) in the first embodiment.
  • FIG. 3 is a schematic diagram of a packet receiving method in the first embodiment. 3 is a flowchart of a packet reception method in the first embodiment. 5 is a flowchart of first data block processing (S220) in the first embodiment. 10 is a flowchart of an Xth data block process (S230) according to the first embodiment.
  • FIG. 6 is a functional configuration diagram of a packet transmission device 200 in a second embodiment.
  • FIG. 6 is a functional configuration diagram of a packet reception device 300 according to a second embodiment.
  • FIG. 6 is a schematic diagram of a packet transmission method in a second embodiment.
  • 10 is a flowchart of a packet transmission method according to the second embodiment.
  • FIG. FIG. 6 is a schematic diagram of a packet receiving method in a second embodiment.
  • 10 is a flowchart of a packet reception method in the second embodiment.
  • FIG. 10 is a functional configuration diagram of a packet transmission device 200 in a third embodiment.
  • FIG. 10 is a functional configuration diagram of a packet reception device 300 in a third embodiment.
  • 10 is a flowchart of a packet transmission method according to the third embodiment.
  • FIG. 10 is a schematic diagram of a packet transmission method in a third embodiment.
  • 10 is a flowchart of a packet reception method in the third embodiment.
  • FIG. 11 is a schematic diagram of a packet receiving method in a third embodiment.
  • FIG. 10 is a functional configuration diagram of a packet transmission device 200 in a fourth embodiment.
  • FIG. 10 is a functional configuration diagram of a packet reception device 300 according to a fourth embodiment.
  • FIG. 10 is a schematic diagram of a packet transmission method in a fourth embodiment.
  • FIG. 10 is a schematic diagram of a packet receiving method in a fourth embodiment.
  • Embodiment 1 FIG. A mode in which additional data for verifying a data block is added to the data block will be described with reference to FIGS.
  • the packet communication system 100 is a system for communicating the packet 110.
  • the packet communication system 100 includes a packet transmission device 200 that transmits a packet 110 and a packet reception device 300 that receives the packet 110.
  • the packet transmission device 200 and the packet reception device 300 transmit and receive the packet 110 via the network 109.
  • Message data 201 is data to be transmitted.
  • the message data 201 is divided into a plurality of data blocks 202 according to the size of the packet 110.
  • the number of divisions of the message data 201 is N.
  • N is an integer of 2 or more.
  • a packet 110 is generated for each data block 202.
  • the packet 110 includes a header 111, a data block 202, and additional data 205.
  • the header 111 includes a packet number that identifies the packet 110.
  • the packet number included in the first header 111-1 is 1, and the packet number included in the Nth header 111-N is N.
  • the packet number also functions as a data block number that identifies the data block 202.
  • the additional data 205 is information for determining whether the data block 202 is a correct data block.
  • the (N + 1) th packet 120 is generated.
  • the (N + 1) th packet 120 includes an (N + 1) th header 121 and a remaining message authentication code 206.
  • MAC in the figure is an abbreviation for message authentication code.
  • the (N + 1) th header 121 includes a packet number for identifying the (N + 1) th packet 120.
  • the packet number included in the (N + 1) th packet 120 is N + 1.
  • the remaining message authentication code 206 is information for determining whether the Nth data block 202-N is a correct data block.
  • the packet transmission device 200 includes a message data acquisition unit 210, a data division unit 220, a message authentication code generation unit 230, an edit data generation unit 240, an additional data generation unit 250, a packet generation unit 260, and a packet transmission unit. 270. Further, the packet transmission device 200 includes a packet count unit 280, a transmission storage unit 290, and a message authentication code storage unit 291.
  • the message data acquisition unit 210 acquires message data 201.
  • the data dividing unit 220 divides the message data 201 into N data blocks 202.
  • the message authentication code generation unit 230 generates the message authentication code 203 of the data block 202 for each data block 202 included in the N data blocks 202.
  • the Xth message authentication code 203-X is the message authentication code of the Xth data block 202-X.
  • the Xth data block 202 is any data block from the second data block 202-2 to the Nth data block 202-N among the N data blocks 202.
  • the edit data generation unit 240 generates Xth edit data 204-X.
  • the Xth edit data 204-X is data generated using the Xth message authentication code 203-X and the X-1th message authentication code 203-X-1.
  • the additional data generation unit 250 generates the Xth additional data 205-X using the Xth editing data 204-X.
  • the Xth additional data 205-X is data added to the Xth data block 202-X.
  • the packet generator 260 generates an Xth packet 110-X including an Xth header 111-X, an Xth data block 202-X, and an Xth additional data 205.
  • the packet transmission unit 270 transmits the Xth packet 110-X.
  • the packet count unit 280 counts the packet number (X).
  • the transmission storage unit 290 stores data used, generated or input / output by the packet transmission device 200.
  • the transmission storage unit 290 stores the common key 101 and the like.
  • the message authentication code storage unit 291 stores the X-1th message authentication code 203-X-1.
  • the packet reception device 300 includes a packet reception unit 310, a message authentication code generation unit 320, an edit data generation unit 330, a comparison data generation unit 340, a data block determination unit 350, and a data restoration unit 360. Further, the packet reception device 300 includes a packet count unit 380, a reception storage unit 390, and a message authentication code storage unit 391.
  • the packet receiving unit 310 receives the Xth packet 110-X and the X-1th packet 110-X-1.
  • the message authentication code generation unit 320 generates the Xth message authentication code 302-X using the Xth data block 202-X included in the Xth packet 110-X.
  • the Xth message authentication code 302-X is the message authentication code 302 of the Xth data block 202-X.
  • the message authentication code generation unit 320 uses the X-1th data block 202-X-1 included in the X-1th packet 110-X-1, and uses the X-1th message authentication code 302-X-. 1 is generated.
  • the X-1th message authentication code 302-X-1 is the message authentication code 302 of the X-1th data block 202-X.
  • the edit data generation unit 330 generates Xth edit data 303-X.
  • the Xth edit data 303-X is data generated using the Xth message authentication code 302-X and the X-1th message authentication code 302-X-1.
  • the comparison data generation unit 340 generates the Xth comparison data 304-X using the Xth edit data 303-X.
  • the Xth comparison data 304-X is data to be added to the Xth data block 202-X.
  • the data block determination unit 350 determines whether the Xth data block 202-X is the correct data block 202 by comparing the Xth comparison data 304-X with the Xth additional data 205-X.
  • the data restoration unit 360 restores the message data 201 by concatenating the first to Nth data blocks 202.
  • the packet count unit 380 counts the packet number (X).
  • the reception storage unit 390 stores data used, generated or input / output by the packet reception device 300.
  • the reception storage unit 390 stores the common key 101 and the like. This common key 101 is the same as the common key 101 used by the packet transmission device 200.
  • the message authentication code storage unit 391 stores the X-1th message authentication code 302-X-1.
  • the packet transmission device 200 and the packet reception device 300 are computers having hardware such as a processor 901, an auxiliary storage device 902, a memory 903, a communication device 904, an input interface 905, and a display interface 906.
  • the processor 901 is connected to other hardware via a signal line 910.
  • the input interface 905 is connected to the input device 907 via a cable 911.
  • Display interface 906 is connected to display 908 via cable 912.
  • the processor 901 is an IC that performs processing, and controls other hardware.
  • the processor 901 is a CPU, DSP, or GPU.
  • IC is an abbreviation for Integrated Circuit.
  • CPU is an abbreviation for Central Processing Unit
  • DSP is an abbreviation for Digital Signal Processor
  • GPU is an abbreviation for Graphics Processing Unit.
  • the auxiliary storage device 902 is, for example, a ROM, a flash memory, or an HDD.
  • ROM is an abbreviation for Read Only Memory
  • HDD is an abbreviation for Hard Disk Drive.
  • the memory 903 is, for example, a RAM. RAM is an abbreviation for Random Access Memory.
  • the communication device 904 includes a receiver 9041 that receives data and a transmitter 9042 that transmits data.
  • the communication device 904 is a communication chip or a NIC.
  • NIC is an abbreviation for Network Interface Card.
  • the input interface 905 is a port to which a cable 911 is connected, and an example of the port is a USB terminal.
  • USB is an abbreviation for Universal Serial Bus.
  • the display interface 906 is a port to which the cable 912 is connected, and the USB terminal and the HDMI terminal are examples of ports.
  • HDMI registered trademark
  • the input device 907 is, for example, a mouse, a keyboard, or a touch panel.
  • the display 908 is, for example, an LCD. LCD is an abbreviation for Liquid Crystal Display.
  • the auxiliary storage device 902 stores an OS.
  • OS is an abbreviation for Operating System.
  • the auxiliary storage device 902 of the packet transmission device 200 includes a message data acquisition unit 210, a data division unit 220, a message authentication code generation unit 230, an edit data generation unit 240, an additional data generation unit 250, a packet generation provided in the packet transmission device 200.
  • a program for realizing the function of “unit” such as unit 260 and packet transmission unit 270 is stored.
  • the auxiliary storage device 902 of the packet reception device 300 includes a packet reception unit 310, a message authentication code generation unit 320, an edited data generation unit 330, a comparison data generation unit 340, a data block determination unit 350, and a data restoration provided in the packet reception device 300.
  • a program for realizing the function of “part” such as part 360 is stored. At least a part of the OS is loaded into the memory 903, and the processor 901 executes a program that realizes the function of “unit” while executing the OS. A program that realizes the function of “unit” is loaded into the memory 903, read into the processor 901, and executed by the processor 901.
  • the packet transmission device 200 and the packet reception device 300 may include a plurality of processors 901, and the plurality of processors 901 may execute a program that realizes the function of “unit” in cooperation with each other.
  • Data, information, signal values, variable values, and the like indicating the processing results of “unit” are stored in the memory 903, the auxiliary storage device 902, a register in the processor 901, or a cache memory in the processor 901.
  • circuitry may be implemented as “circuitry”. “Part” may be read as “circuit”, “process”, “procedure”, or “processing”. “Circuit” and “circuitry” are concepts including a processing circuit such as the processor 901, logic IC, GA, ASIC, and FPGA. GA is an abbreviation for Gate Array, ASIC is an abbreviation for Application Specific Integrated Circuit, and FPGA is an abbreviation for Field-Programmable Gate Array.
  • the operation of the packet communication system 100 corresponds to a packet communication method
  • the operation of the packet transmission device 200 corresponds to a packet transmission method
  • the operation of the packet reception device 300 corresponds to a packet reception method.
  • the packet communication method corresponds to the processing procedure of the packet communication program
  • the packet transmission method corresponds to the processing procedure of the packet transmission program
  • the packet reception method corresponds to the packet reception program.
  • a packet transmission method when N is 3 will be described with reference to FIG. “H” in the figure means a MAC generation function.
  • means concatenation
  • MAC (Y) means the message authentication code of the Y-th edit data 204.
  • the first data block 202-1 and the packet number (1) are input to the MAC generation function, and the first message authentication code 203-1 is generated.
  • the initial value (0) of the message authentication code 203 is concatenated with the first message authentication code 203-1, and the first edit data 204-1 is generated.
  • the first edit data 204-1 is input to the MAC generation function, and a message authentication code for the first edit data 204-1 is generated.
  • the first additional data 205-1 is extracted from the message authentication code of the first edit data 204-1.
  • a first packet 110-1 including the first data block 202-1 and the first additional data 205-1 is generated.
  • the first packet 110-1 is transmitted.
  • the second data block 202-2 and the packet number (2) are input to the MAC generation function, and the second message authentication code 203-2 is generated.
  • the first message authentication code 203-1 is concatenated with the second message authentication code 203-2 to generate second edit data 204-2.
  • the second edit data 204-2 is input to the MAC generation function, and a message authentication code for the second edit data 204-2 is generated.
  • Second additional data 205-2 is extracted from the message authentication code of the second edit data 204-2.
  • a second packet 110-2 including the second data block 202-2 and the second additional data 205-2 is generated.
  • the second packet 110-2 is transmitted.
  • the third data block 202-3 and the packet number (3) are input to the MAC generation function, and the third message authentication code 203-3 is generated.
  • the second message authentication code 203-2 is connected to the third message authentication code 203-3 to generate the third edited data 204-3.
  • the third edit data 204-3 is input to the MAC generation function, and a message authentication code for the third edit data 204-3 is generated.
  • the third additional data 205-3 is extracted from the message authentication code of the third edit data 204-3.
  • a third packet 110-3 including the third data block 202-3 and the third additional data 205-3 is generated.
  • a third packet 110-3 is transmitted.
  • the remaining message authentication code 206 is extracted from the message authentication code of the third edit data 204-3.
  • a fourth packet is generated as the (N + 1) th packet 120 including the remaining message authentication code 206.
  • a fourth packet is transmitted.
  • S110 is a message data acquisition process.
  • the message data 201 is input to the packet transmission device 200 using a user interface or an input device.
  • the message data acquisition unit 210 acquires message data 201 input to the packet transmission device 200.
  • S120 is a data division process.
  • the data dividing unit 220 divides the message data 201 into N data blocks 202.
  • S130 is the first data block process. Based on FIG. 8, the first data block process (S130) will be described.
  • S131 is a message authentication code generation process.
  • the message authentication code generation unit 230 calculates a MAC generation function using the first data block 202-1, the packet number (1), and the common key 101 as inputs. Thereby, the first message authentication code 203-1 is generated.
  • MAC is an abbreviation for message authentication code.
  • the first message authentication code 203-1 is the message authentication code 203 of the first data block 202-1.
  • S132 is an edit data generation process.
  • the edit data generation unit 240 generates the first edit data 204-1 using the first message authentication code 203-1 and the initial value of the message authentication code 203.
  • the first edit data 204-1 is data obtained by concatenating the initial value of the message authentication code 203 to the first message authentication code 203-1.
  • the initial value of the message authentication code 203 is all zero.
  • S133 is an additional data generation process.
  • the additional data generation unit 250 generates the first additional data 205-1 as follows using the first editing data 204-1.
  • the additional data generation unit 250 calculates the MAC generation function using the first editing data 204-1 and the common key 101 as inputs. Thereby, the message authentication code of the first edit data 204-1 is generated.
  • This MAC generation function is the same as the MAC generation function calculated in S131.
  • the additional data generation unit 250 generates the first additional data 205-1 using the message authentication code of the first edited data 204-1.
  • the first additional data 205-1 is a part extracted from the message authentication code of the first edit data 204-1.
  • the message authentication code of the first edit data 204-1 is a 256-bit bit string
  • the first additional data 205-1 is the first Y bit (0 ⁇ Y) of the message authentication code of the first edit data 204-1. ⁇ 256).
  • S134 is a packet generation process.
  • the packet generation unit 260 generates the first packet 110-1 including the first header 111-1, the first data block 202-1 and the first additional data 205-1.
  • S135 is a packet transmission process.
  • the packet transmission unit 270 transmits the first packet 110-1 to the packet reception device 300.
  • the first data block process (S130) ends.
  • S140 is the Xth data block process. Based on FIG. 9, the Xth data block process (S140) will be described.
  • the processing from S141 to S145 is repeatedly executed while the value of the variable X is from 2 to N.
  • the initial value of the variable X is 2.
  • the value of the variable X is incremented by 1 by the packet count unit 280 every time the processing from S141 to S145 is executed.
  • S141 is a message authentication code generation process.
  • the message authentication code generation unit 230 calculates a MAC generation function using the Xth data block 202-X and the common key 101 as inputs. As a result, the Xth message authentication code 203-X is generated.
  • This MAC generation function is the same as the MAC generation function calculated in S131 (see FIG. 8).
  • S142 is an edit data generation process.
  • the edit data generation unit 240 generates the Xth edit data 204-X using the Xth message authentication code 203-X and the X-1th message authentication code 203-X-1.
  • the Xth edit data 204-X is data obtained by concatenating the Xth message authentication code 203-X-1 to the Xth message authentication code 203-X.
  • S143 is an additional data generation process.
  • the additional data generation unit 250 generates the Xth additional data 205-X using the Xth editing data 204-X as follows.
  • the additional data generation unit 250 calculates a MAC generation function using the Xth edit data 204-X and the common key 101 as inputs. As a result, the message authentication code of the Xth edit data 204-X is generated.
  • This MAC generation function is the same as the MAC generation function calculated in S131 (see FIG. 8).
  • the additional data generation unit 250 generates the Xth additional data 205-X using the message authentication code of the Xth edited data 204-X.
  • the Xth additional data 205-X is a part extracted from the message authentication code of the Xth edit data 204-X.
  • the message authentication code of the Xth edit data 204-X is a 256-bit bit string
  • the Xth additional data 205-X is the Y bit (0 ⁇ Y) in the first half of the message authentication code of the Xth edit data 204-X. ⁇ 256).
  • S144 is a packet generation process.
  • the packet generator 260 generates the Xth packet 110-X including the Xth header 111-X, the Xth data block 202-X, and the Xth additional data 205-X.
  • S145 is packet transmission processing.
  • the packet transmission unit 270 transmits the Xth packet 110-X to the packet reception device 300.
  • S150 is a remaining message authentication code process.
  • the remaining message authentication code process (S150) will be described with reference to FIG.
  • S151 is a packet generation process.
  • the packet generator 260 generates the (N + 1) th packet 120 including the (N + 1) th header 121 and the remaining message authentication code 206.
  • the remaining message authentication code 206 is a part obtained by removing the Nth additional data 205-N from the message authentication code of the Nth edit data 204-N.
  • the message authentication code of the Nth editing data 204-N and the Nth additional data 205-N are generated when the value of the variable X is N in S143 (see FIG. 9). That is, the remaining message authentication code 206 is the Y bit (0 ⁇ Y ⁇ 256) in the latter half of the message authentication code of the Nth edit data 204-N.
  • S152 is a packet transmission process.
  • the packet transmission unit 270 transmits the (N + 1) th packet 120 to the packet reception device 300.
  • the remaining message authentication code process (S150) ends.
  • First packet 110-1 including first data block 202-1 and first additional data 205-1 is received.
  • the first data block 202-1 and the packet number (1) are input to the MAC generation function, and the first message authentication code 302-1 is generated.
  • the initial value (0) of the message authentication code 302 is concatenated with the first message authentication code 302-1 to generate the first edit data 303-1.
  • the first edit data 303-1 is input to the MAC generation function, and a message authentication code for the first edit data 303-1 is generated.
  • First comparison data 304-1 is extracted from the message authentication code of the first edit data 303-1.
  • the first comparison data 304-1 is compared with the first additional data 205-1.
  • the second packet 110-2 including the second data block 202-2 and the second additional data 205-2 is received.
  • the second data block 202-2 and the packet number (2) are input to the MAC generation function to generate the second message authentication code 302-2.
  • the first message authentication code 302-1 is concatenated with the second message authentication code 302-2 to generate the second edit data 303-2.
  • the second edit data 303-2 is input to the MAC generation function, and a message authentication code for the second edit data 303-2 is generated.
  • Second comparison data 304-2 is extracted from the message authentication code of the second edit data 303-2.
  • the second comparison data 304-2 is compared with the second additional data 205-2.
  • a third packet 110-3 including the third data block 202-3 and the third additional data 205-3 is received.
  • the third data block 202-3 and the packet number (3) are input to the MAC generation function to generate the third message authentication code 302-3.
  • the second message authentication code 302-2 is connected to the third message authentication code 302-3 to generate the third edited data 303-3.
  • the third edit data 303-3 is input to the MAC generation function, and a message authentication code for the third edit data 303-3 is generated.
  • the third comparison data 304-3 is extracted from the message authentication code of the third edit data 303-3.
  • the third comparison data 304-3 is compared with the third additional data 205-3.
  • a fourth packet including the remaining message authentication code 206 is received as the (N + 1) th packet 120.
  • the remaining comparison data 305 is extracted from the message authentication code of the third edit data 303-3.
  • the remaining comparison data 305 is compared with the remaining message authentication code 206.
  • S210 is a packet reception process.
  • the packet receiving unit 310 receives the first to Nth packets 110.
  • S220 is the first data block process. Based on FIG. 13, the first data block processing (S220) will be described.
  • S221 is a message authentication code generation process.
  • the message authentication code generation unit 320 calculates a MAC generation function using the first data block 202-1, the packet number (1), and the common key 101 as inputs. As a result, a first message authentication code 302-1 is generated.
  • This MAC generation function is the same as the MAC generation function calculated in S131 (see FIG. 8).
  • the first message authentication code 302-1 is the message authentication code 302 of the first data block 202-1.
  • S222 is edit data generation processing.
  • the edit data generation unit 330 generates the first edit data 303-1 using the first message authentication code 302-1 and the initial value of the message authentication code 302.
  • the first edit data 303-1 is data obtained by concatenating the initial value of the message authentication code 302 to the first message authentication code 302-1.
  • the initial value of the message authentication code 302 is all zero.
  • S223 is a comparison data generation process.
  • the comparison data generation unit 340 generates the first comparison data 304-1 as follows using the first editing data 303-1.
  • the comparison data generation unit 340 calculates a MAC generation function using the first editing data 303-1 and the common key 101 as inputs. As a result, the message authentication code of the first edit data 303-1 is generated.
  • This MAC generation function is the same as the MAC generation function calculated in S133 (see FIG. 8).
  • the comparison data generation unit 340 generates the first comparison data 304-1 using the message authentication code of the first edit data 303-1.
  • the first comparison data 304-1 is a portion extracted from the message authentication code of the first edit data 303-1.
  • the message authentication code of the first edit data 303-1 is a 256-bit bit string
  • the first comparison data 304-1 is the first half of the message authentication code of the first edit data 303-1 (0 ⁇ Y ⁇ 256).
  • S224 is a data block determination process.
  • the data block determination unit 350 compares the first comparison data 304-1 with the first additional data 205-1 included in the first packet 110-1. Then, the data block determination unit 350 determines whether the first data block 202-1 included in the first packet 110-1 is the correct data block 202 based on the comparison result. When the first comparison data 304-1 is the same as the first additional data 205-1, the first data block 202-1 is the correct data block 202. When the first comparison data 304-1 is different from the first additional data 205-1, the first data block 202-1 is an erroneous data block 202. After S224, the first data block process (S220) ends.
  • the processing after S220 will be described. If the first data block 202-1 is an incorrect data block 202, the processing of the packet reception method ends. If the first data block 202-1 is the correct data block 202, the process proceeds to S230.
  • S230 is the Xth data block process.
  • the Xth data block process (S230) will be described with reference to FIG.
  • the processing from S231 to S234 is repeatedly executed while the value of the variable X is from 2 to N.
  • the initial value of the variable X is 2.
  • the value of the variable X is incremented by 1 by the packet count unit 380 every time the processing from S231 to S234 is executed.
  • S231 is a message authentication code generation process.
  • the message authentication code generation unit 320 calculates a MAC generation function using the Xth data block 202-X and the common key 101 as inputs. As a result, an Xth message authentication code 302-X is generated.
  • This MAC generation function is the same as the MAC generation function calculated in S141 (see FIG. 9).
  • S232 is edit data generation processing.
  • the edit data generation unit 330 generates the Xth edit data 303-X using the Xth message authentication code 302-X and the X-1th message authentication code 302-X-1.
  • the Xth edit data 303-X is data obtained by concatenating the Xth message authentication code 302-X to the Xth message authentication code 302-X.
  • S233 is a comparison data generation process.
  • the comparison data generation unit 340 generates the Xth comparison data 304-X using the Xth editing data 303-X as follows.
  • the comparison data generation unit 340 calculates a MAC generation function using the Xth edit data 303-X and the common key 101 as inputs. As a result, the message authentication code of the Xth edit data 303-X is generated.
  • This MAC generation function is the same as the MAC generation function calculated in S143 (see FIG. 9).
  • the comparison data generation unit 340 generates the Xth comparison data 304-X using the message authentication code of the Xth edit data 303-X.
  • the Xth comparison data 304-X is a part extracted from the message authentication code of the Xth edit data 303-X.
  • the message authentication code of the Xth edit data 303-X is a 256-bit bit string, and the Xth comparison data 304-X is the first Y bits (0 ⁇ Y) of the message authentication code of the Xth edit data 303-X. ⁇ 256).
  • S234 is a data block determination process.
  • the data block determination unit 350 compares the Xth comparison data 304-X with the Xth additional data 205-X included in the Xth packet 110-X. Then, the data block determination unit 350 determines whether the Xth data block 202-X included in the Xth packet 110-X is the correct data block 202 based on the comparison result.
  • the Xth comparison data 304-X is the same as the Xth additional data 205-X
  • the Xth data block 202-X is the correct data block 202.
  • the Xth comparison data 304-X is different from the Xth additional data 205-X
  • the Xth data block 202-X is an erroneous data block 202.
  • the Xth data block process (S230) ends.
  • S240 is a data block determination process.
  • the data block determination unit 350 compares the remaining comparison data with the remaining message authentication code 206 included in the (N + 1) th packet 120. The remaining comparison data will be described later. Then, the data block determination unit 350 determines whether the Nth data block 202-N included in the Nth packet 110-N is the correct data block 202 based on the comparison result. If the remaining comparison data is the same as the remaining message authentication code 206, the Nth data block 202-N is the correct data block 202. If the remaining comparison data is different from the remaining message authentication code 206, the Nth data block 202-N is an incorrect data block 202.
  • the remaining comparison data is a part obtained by removing the Nth comparison data 304-N from the message authentication code of the Nth edit data 303-N.
  • the message authentication code of the Nth editing data 303-N and the Nth comparison data 304-N are generated when the value of the variable X is N in S233 (see FIG. 14). That is, the remaining comparison data is the Y bit (0 ⁇ Y ⁇ 256) in the latter half of the message authentication code of the Nth edit data 303-N.
  • the process of the packet reception method ends. If the Nth data block 202-N is the correct data block 202, the process proceeds to S250.
  • S250 is a data restoration process.
  • the data restoration unit 360 restores the message data 201 by concatenating the first to Nth data blocks 202.
  • the embodiment is particularly effective for a secure system that wants to reduce the construction cost by using narrowband communication, or a secure system that is required to reduce communication load and power consumption in order to reduce the maintenance cost.
  • narrowband communication standards include Z-wave and ZigBee. 9.6 kbps and 20 kbps are defined as the minimum bandwidth of each standard.
  • a system in which the embodiment is particularly effective there is a system including a sensor that monitors the operating state of equipment in factories, plants, and construction sites, and a server that aggregates the data.
  • small data limited by applications such as communication between in-vehicle devices or building energy management is transmitted or received intermittently or continuously by a large number of devices.
  • sensor node network system that performs energy harvesting or wireless power feeding.
  • Embodiment 2 FIG. A mode in which the method for generating the edit data 204 is different from that in the first embodiment will be described with reference to FIGS. However, the description which overlaps with Embodiment 1 is abbreviate
  • the edit data generation unit 240 generates the Xth edit data 204-X using the Xth data block 202-X and the X-1th edit MAC 259-X-1.
  • the message authentication code generation unit 230 generates the Xth editing MAC 207-X.
  • the Xth edit MAC 207-X is a message authentication code of the Xth edit data 204-X.
  • the additional data generation unit 250 extracts a part of the Xth editing MAC 207-X as the Xth additional data 205-X.
  • the edit data generation unit 330 generates the Xth edit data 303-X using the Xth data block 202-X and the X-1th edit MAC 306-X-1.
  • the message authentication code generation unit 320 generates the Xth edit MAC 306-X.
  • the Xth edit MAC 306-X is a message authentication code of the Xth edit data 303-X.
  • the comparison data generation unit 340 extracts a part of the Xth editing MAC 306-X as the Xth comparison data 304-X.
  • a packet transmission method when N is 3 will be described with reference to FIG.
  • the packet number (1) and the initial value (0) of the edit MAC 207 are concatenated with the first data block 202-1 to generate the first edit data 204-1.
  • the first edit data 204-1 is input to the MAC generation function, and the first edit MAC 207-1 is generated.
  • First additional data 205-1 is extracted from the first editing MAC 207-1.
  • a first packet 110-1 including the first data block 202-1 and the first additional data 205-1 is generated.
  • the first packet 110-1 is transmitted.
  • the packet number (2) and the first editing MAC 207-1 are concatenated with the second data block 202-2 to generate the second editing data 204-2.
  • the second edit data 204-2 is input to the MAC generation function, and the second edit MAC 207-2 is generated.
  • Second additional data 205-2 is extracted from the second editing MAC 207-2.
  • a second packet 110-2 including the second data block 202-2 and the second additional data 205-2 is generated.
  • the second packet 110-2 is transmitted.
  • the packet number (3) and the second editing MAC 207-2 are concatenated with the third data block 202-3 to generate the third editing data 204-3.
  • the third edit data 204-3 is input to the MAC generation function, and the third edit MAC 207-3 is generated.
  • the third additional data 205-3 is extracted from the third editing MAC 207-3.
  • a third packet 110-3 including the third data block 202-3 and the third additional data 205-3 is generated.
  • a third packet 110-3 is transmitted.
  • the remaining message authentication code 206 is extracted from the third editing MAC 207-3.
  • a fourth packet is generated as the (N + 1) th packet 120 including the remaining message authentication code 206.
  • a fourth packet is transmitted.
  • the processing flow of the packet transmission method will be described with reference to FIG.
  • the processing flow of the message transmission method is the same as that of the first embodiment (see FIG. 7).
  • the message data acquisition process (S110), the data division process (S120), and the remaining MAC process (S150) are the same as those in the first embodiment.
  • the first data block process (S130B) and the Xth data block process (S140B) will be described below.
  • the edit data generation unit 240 generates the first edit data 204-1 using the first data block 202-1 and the initial value of the edit MAC 207.
  • the first edit data 204-1 is data obtained by concatenating the initial value of the edit MAC 207 to the first data block 202-1.
  • the initial value of the edit MAC 207 is all zero.
  • the message authentication code generation unit 230 calculates the MAC generation function using the first editing data 204-1 and the common key 101 as inputs. Thereby, the first editing MAC 207-1 is generated.
  • the first editing MAC 207-1 is a message authentication code of the first editing data 204-1.
  • the additional data generation unit 250 extracts the first Y bit (0 ⁇ Y ⁇ 256) of the first editing MAC 207-1 as the first additional data 205-1.
  • S134 and S135 are the same as those in the first embodiment (see FIG. 8).
  • the Xth data block process (S140B) will be described with reference to FIG.
  • the edit data generation unit 240 generates the Xth edit data 204-X using the Xth data block 202-X and the X-1th edit MAC 207-X-1.
  • the Xth edit data 204-X is data obtained by concatenating the packet number (X) and the X-1th edit MAC 207-X-1 to the Xth data block 202-X.
  • the message authentication code generation unit 230 calculates a MAC generation function using the Xth edit data 204-X and the common key 101 as inputs. As a result, the Xth editing MAC 207-X is generated.
  • the Xth edit MAC 207-X is a message authentication code of the Xth edit data 204-X.
  • the additional data generation unit 250 extracts the first Y bit (0 ⁇ Y ⁇ 256) of the Xth editing data 204-X as the Xth additional data 205-X.
  • S144 and S145 are the same as those in the first embodiment (see FIG. 8).
  • First packet 110-1 including first data block 202-1 and first additional data 205-1 is received.
  • the packet number (1) and the initial value (0) of the edit MAC 306 are concatenated with the first data block 202-1, and the first edit data 303-1 is generated.
  • the first edit data 303-1 is input to the MAC generation function, and the first edit MAC 306-1 is generated.
  • First comparison data 304-1 is extracted from the first editing MAC 306-1.
  • the first comparison data 304-1 is compared with the first additional data 205-1.
  • the second packet 110-2 including the second data block 202-2 and the second additional data 205-2 is received.
  • the packet number (2) and the first edit MAC 306-1 are concatenated to the second data block 202-2 to generate the second edit data 303-2.
  • the second edit data 303-2 is input to the MAC generation function, and the second edit MAC 306-2 is generated.
  • Second comparison data 304-2 is extracted from the second editing MAC 306-2.
  • the second comparison data 304-2 is compared with the second additional data 205-2.
  • a third packet 110-3 including the third data block 202-3 and the third additional data 205-3 is received.
  • the packet number (3) and the second edit MAC 306-2 are concatenated with the third data block 202-3 to generate the third edit data 303-3.
  • the third edit data 303-3 is input to the MAC generation function, and the third edit MAC 306-3 is generated.
  • Third comparison data 304-3 is extracted from the third editing MAC 306-3.
  • the third comparison data 304-3 is compared with the third additional data 205-3.
  • a fourth packet including the remaining message authentication code 206 is received as the (N + 1) th packet 120.
  • the remaining comparison data 305 is extracted from the message authentication code of the third editing MAC 306-3.
  • the remaining comparison data 305 is compared with the remaining message authentication code 206.
  • the process flow of the packet receiving method will be described.
  • the process flow of the packet reception method is the same as that of the first embodiment (see FIG. 12).
  • the packet reception process (S210), the data block determination process (S240), and the data restoration process (S250) are the same as those in the first embodiment.
  • the first data block process (S220B) and the Xth data block process (S230B) will be described below.
  • the first data block process (S220B) will be described with reference to FIG.
  • the edit data generating unit 330 generates the first edit data 303-1 using the first data block 202-1, the packet number (1), and the initial value of the edit MAC 306.
  • the first edit data 303-1 is data obtained by concatenating the packet number (1) and the initial value of the edit MAC 306 to the first data block 202-1.
  • the initial value of the edit MAC 306 is all zero.
  • the message authentication code generation unit 320 calculates a MAC generation function using the first edit data 303-1 and the common key 101 as inputs. Thereby, the first editing MAC 306-1 is generated.
  • the first edit MAC 306-1 is a message authentication code of the first edit data 303-1.
  • the comparison data generation unit 340 extracts the first Y bit (0 ⁇ Y ⁇ 256) of the first editing MAC 306-1 as the first comparison data 304-1.
  • S224 is the same as that in the first embodiment (see FIG. 13).
  • the Xth data block process (S230B) will be described with reference to FIG.
  • the edit data generation unit 330 uses the Xth data block 202-X, the packet number (X), and the X-1th edit MAC 306-X-1 to store the Xth edit data 303-X.
  • the Xth edit data 303-X is data in which the packet number (X) and the X-1th edit MAC 306-X-1 are connected to the Xth data block 202-X.
  • the message authentication code generation unit 320 calculates a MAC generation function using the Xth edit data 303-1 and the common key 101 as inputs. As a result, the Xth editing MAC 306-X is generated.
  • the Xth edit MAC 306-X is a message authentication code of the Xth edit data 303-X.
  • the comparison data generation unit 340 extracts the first Y bit (0 ⁇ Y ⁇ 256) of the Xth editing MAC 306-X as the Xth comparison data 304-X.
  • S234 is the same as that in the first embodiment (see FIG. 14).
  • Embodiment 3 A mode for encrypting the data block 202 in the first embodiment will be described with reference to FIGS.
  • the packet transmission device 200 includes an encryption unit 281 in addition to the functions described in the first embodiment (see FIG. 3).
  • the encryption unit 281 generates the Xth encrypted block 208-X by encrypting the Xth data block 202-X.
  • the Xth encryption block 208-X is the encrypted Xth data block 202-X.
  • the message authentication code generation unit 230 generates the Xth message authentication code 203-X using the Xth encryption block 208-X instead of the Xth data block 202-X.
  • the packet generator 260 generates an Xth packet 110-X including an Xth encrypted block 208-X instead of the Xth data block 202-X.
  • the packet reception device 300 includes a decoding unit 381 in addition to the functions described in the first embodiment (see FIG. 4).
  • the decoding unit 381 decodes the first to Nth data blocks 202.
  • S110, S120, and S150 are the same as those in the first embodiment (see FIG. 7).
  • the encryption unit 281 generates N encrypted blocks 208 by encrypting the N data blocks 202 using the encryption key.
  • the encryption key is the common key 101 or another key.
  • the first encrypted block process (S130C) is a process in which the data block 202 is replaced with the encrypted block 208 in the first data block process (S130) of the first embodiment.
  • the Xth encryption block process (S140C) is a process in which the data block 202 is replaced with the encryption block 208 in the Xth data block process (S140) of the first embodiment.
  • FIG. 28 corresponds to FIG. 6 of the first embodiment.
  • the encryption block 208 is processed instead of the data block 202 in FIG.
  • the process flow of the packet receiving method will be described with reference to FIG. S210 is the same as that in the first embodiment (see FIG. 12).
  • the first encrypted block process (S220C) is a process in which the data block 202 is replaced with the encrypted block 208 in the first data block process (S220) of the first embodiment.
  • the X-th encrypted block process (S230C) is a process in which the data block 202 is replaced with the encrypted block 208 in the X-th data block process (S230) of the first embodiment.
  • the Nth data block determination process (S240C) is a process in which the data block 202 is replaced with the encryption block 208 in the Nth data block determination process (S240) of the first embodiment.
  • the decryption unit 381 decrypts the first to Nth encrypted blocks 208 using the decryption key.
  • the decryption key is the common key 101 or another key.
  • S250 is the same as that in the first embodiment.
  • FIG. 30 corresponds to FIG. 11 of the first embodiment.
  • the encryption block 208 is processed instead of the data block 202 in FIG.
  • Embodiment 4 FIG. A mode of encrypting the data block 202 in the second embodiment will be described with reference to FIGS.
  • the packet transmission device 200 includes an encryption unit 281 in addition to the functions described in the second embodiment (see FIG. 15).
  • the encryption unit 281 generates the Xth encrypted block 208-X by encrypting the Xth data block 202-X.
  • the Xth encryption block 208-X is the encrypted Xth data block 202-X.
  • the edit data generation unit 240 generates the Xth edit data 204-X using the Xth encryption block 208-X instead of the Xth data block 202-X.
  • the packet generator 260 generates an Xth packet 110-X including an Xth encrypted block 208-X instead of the Xth data block 202-X.
  • the packet reception device 300 includes a decoding unit 381 in addition to the functions described in the second embodiment (see FIG. 16).
  • the decoding unit 381 decodes the first to Nth data blocks 202.
  • the process flow of the packet transmission method is the same as that of the third embodiment (see FIG. 27).
  • the first encrypted block process (S130C) is a process in which the data block 202 is replaced with the encrypted block 208 in the first data block process (S130B) of the second embodiment.
  • the X-th encrypted block process (S140C) is a process in which the data block 202 is replaced with the encrypted block 208 in the X-th data block process (S140B) of the second embodiment.
  • FIG. 33 corresponds to FIG. 17 of the second embodiment.
  • the encryption block 208 is processed instead of the data block 202 in FIG.
  • the process flow of the packet receiving method is the same as that of the third embodiment (see FIG. 29).
  • the first encryption block process (S220C) is a process in which the data block 202 is replaced with the encryption block 208 in the first data block process (S220B) of the second embodiment.
  • the X-th encrypted block process (S230C) is a process in which the data block 202 is replaced with the encrypted block 208 in the X-th data block process (S230B) of the second embodiment.
  • FIG. 34 corresponds to FIG. 21 of the second embodiment.
  • the encryption block 208 is processed instead of the data block 202 in FIG.
  • Each embodiment is an example of a preferred embodiment and is not intended to limit the technical scope of the present invention. Each embodiment may be implemented partially or in combination with other embodiments.
  • the processing procedure described with reference to the flowcharts is an example of the processing procedure of the packet transmission method, the packet transmission program, the packet reception method, and the packet reception program.
  • the packet transmission device 200 may be a packet communication device having the function of the packet reception device 300.
  • the edit data may be generated by editing other than concatenation.
  • the additional data and the comparison data may not be part of the message authentication code of the edit data, but may be the entire message authentication code of the edit data. Further, the additional data and the comparison data may be data different from part of the message authentication code of the edit data and all of the message authentication code of the edit data as long as the data is generated using the edit data.
  • the data block 202 is a general term for the first data block 202-1, the Xth data block 202-X, and the Nth data block 202-N.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

 編集データ生成部(240)が第Xのデータブロックのメッセージ認証コードに第X-1のデータブロックのメッセージ認証コードを連結することによって、第Xの編集データを生成する。付加データ生成部(250)が第Xの編集データのメッセージ認証コードを生成し、第Xの編集データのメッセージ認証コードの一部を第Xの付加データとして抽出する。パケット生成部(260)が第Xのデータブロックと第Xの付加データとを含んだ第Xのパケットを生成する。パケット送信部(270)が第Xのパケットを送信する。

Description

パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム
 本発明は、メッセージ認証コードを含んだパケットの通信に関するものである。
 インターネットの普及によって、信頼性および秘匿性を必要とする通信を行う機会が増大している。信頼性はデータの完全性を意味し、データの完全性は送信中にデータが改ざんされないことを意味する。改ざんには、ノイズによって生じるデータ誤りが含まれる。完全性は暗号技術を用いて担保される。
 データ誤りは、チェックサムなどの誤り検出符号を用いた技術によって検出することができる。この技術は、メッセージデータをより長いデータに符号化し、その冗長性によってデータ誤りを検出する技術である。しかし、この技術は、第三者による意図的で高度な改ざんに対する耐性が弱い。
 第三者による意図的な改ざんに対してメッセージ認証技術が用いられる。メッセージ認証技術は、メッセージデータにメッセージ認証コード(MAC)を付加することによって改ざんを検出する技術の総称である。
 送信中のデータに対する改ざんを行えないようにするには、限られた人物のみが正しいMACを生成できるという状況が必要である。そのためには、送信者と受信者との間で秘密裏に共通鍵とMAC生成関数とを共有する必要がある。
 送信者は、メッセージデータと共通鍵とをMAC生成関数に入力し、メッセージデータとMACとを含んだパケットを送信する。受信者は、メッセージデータと共通鍵とを用いてMACを送信者と同様に生成し、生成したMACが受信したMACと一致するか検証する。改ざんがなければ両方のMACが一致する。両方のMACが一致しなければ、メッセージデータ、MACまたはその両方に改ざんがあったと判断されて、パケットが破棄される。
 メッセージ認証技術は、データの秘匿とは別の技術であり、プライバシー保護の目的に使用できない。メッセージデータを秘匿したい場合には、メッセージデータを暗号化し、暗号化したメッセージデータに対してメッセージ認証技術を適用する。これにより、改ざんの検知とデータの秘匿化との両方を実現することができる。
 非特許文献1は、代表的なメッセージ認証技術の一つであるHMACを開示している。HMACはHash-based Message Authentication Codeの略称である。
 HMACでは、MACを生成する演算のコアの部分にSHA―1やMD5などのハッシュアルゴリズムが用いられ、それぞれHMAC-SHA1やHMAC-MD5と呼ばれる。
 HMACはハッシュアルゴリズムをブラックボックスとして扱うことができるため、特定の条件を満たすハッシュアルゴリズムを利用することができる。なお、HMACの安全性は、利用するハッシュアルゴリズムの安全性に依存する。
 HMACの安全性は、なりすまし行為に対する耐性である。なりすまし行為は、共通鍵を持たない第三者がメッセージとMACとの組を偽造することである。具体的には、なりすまし行為は、共通鍵を持たない第三者が、正しいメッセージとMACとの組をもとに、そのいずれとも異なるメッセージとMACとの組を偽造し、受信者のMAC検証をパスする行為である。
 HMACにおいて、生成されたMACのサイズを切り詰めることによって付加されるMACを短くすることが可能である。
 例えば、HMAC-SHA256を利用した場合に生成される256ビットのMACのうちの上位128ビットを、付加するMACとして利用することが可能である。
 但し、付加するMACが短くなると、HMACの安全性は低くなる。
 近年、M2Mと呼ばれるシステムおよびサービスが普及しつつある。M2MはMachine to Machineの略称である。
 このシステムおよびサービスは、計算リソースが制限されたデバイスを多数用いて構成されたネットワークによって提供される。そして、人間の制御を介在させずに、各デバイスが自律的に稼働する。計算リソースが制限されたデバイスはセンサーノードまたはRFIDタグなどである。RFIDはRadio Frequency IDentifierの略称である。
 メッセージデータのサイズが大きい場合、ネットワーク帯域の占有の抑止のため、および、メッセージデータの部分的破損に対する再送コストの軽減のため、メッセージデータは複数のデータブロックに分割されて複数のパケットによって通信される。
 この場合、メッセージデータ全体から生成されたMACを最終パケットに付与して送信することができる。しかし、受信者は最終パケットを受け取るまで各パケットの信頼性を検証することができない。
 これに対し、特許文献1は、分割データごとにMACを生成し、分割データとMACとを含んだパケットを送信する技術を開示している。
 しかし、狭帯域通信において分割データ毎にMACを付加すると、帯域上限を超過する可能性がある。そのため、MACが固定長である場合、分割データのサイズを小さくする必要がある。その結果、パケット数が増えるため、全てのパケットの伝送に時間がかかってしまう。そして、通信路に大きな負荷がかかってしまう。
 特許文献2は、デジタル情報信号に含まれる誤り検出コードにMACの機能を持たせることによって、ペイロードを軽くする技術を開示している。
特開2005-167942号公報 特表2003-503743号公報
FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION 198(FIPS PUB 198)、The Keyed-Hash Message Authentication Code
 本発明は、第Xのデータブロックと第X-1のデータブロックとに基づいた付加データを第Xのデータブロックに付加することによって、第Xのデータブロックを検証できるようにすることを目的とする。
 本発明のパケット送信装置は、
 N個のデータブロックに含まれるデータブロック毎にデータブロックのメッセージ認証コードを生成するメッセージ認証コード生成部と、
 前記N個のデータブロックのうちの第2のデータブロックから第Nのデータブロックまでのいずれかのデータブロックである第Xのデータブロックのメッセージ認証コードと、前記N個のデータブロックのうちの第X-1のデータブロックのメッセージ認証コードと、を用いて生成されるデータである第Xの編集データを生成する編集データ生成部と、
 前記第Xのデータブロックに付加するデータである第Xの付加データを前記第Xの編集データを用いて生成する付加データ生成部と、
 前記第Xのデータブロックと前記第Xの付加データとを含んだ第Xのパケットを生成するパケット生成部と、
 前記第Xのパケットを送信するパケット送信部とを備える。
 本発明によれば、第Xのデータブロックと第X-1のデータブロックとに基づいた付加データを第Xのデータブロックに付加することができる。これにより、付加データを用いて、第Xのデータブロックを検証することができる。
実施の形態1におけるパケット通信システム100の構成図。 実施の形態1におけるメッセージデータ201およびパケット110を示す図。 実施の形態1におけるパケット送信装置200の機能構成図。 実施の形態1におけるパケット受信装置300の機能構成図。 実施の形態1におけるパケット送信装置200およびパケット受信装置300のハードウェア構成図。 実施の形態1におけるパケット送信方法の概要図。 実施の形態1におけるパケット送信方法のフローチャート。 実施の形態1における第1のデータブロック処理(S130)のフローチャート。 実施の形態1における第Xのデータブロック処理(S140)のフローチャート。 実施の形態1における残りMAC処理(S150)のフローチャート。 実施の形態1におけるパケット受信方法の概要図。 実施の形態1におけるパケット受信方法のフローチャート。 実施の形態1における第1のデータブロック処理(S220)のフローチャート。 実施の形態1における第Xのデータブロック処理(S230)のフローチャート。 実施の形態2におけるパケット送信装置200の機能構成図。 実施の形態2におけるパケット受信装置300の機能構成図。 実施の形態2におけるパケット送信方法の概要図。 実施の形態2におけるパケット送信方法のフローチャート。 実施の形態2における第1のデータブロック処理(S130B)のフローチャート。 実施の形態2における第Xのデータブロック処理(S140B)のフローチャート。 実施の形態2におけるパケット受信方法の概要図。 実施の形態2におけるパケット受信方法のフローチャート。 実施の形態2における第1のデータブロック処理(S220B)のフローチャート。 実施の形態2における第Xのデータブロック処理(S230B)のフローチャート。 実施の形態3におけるパケット送信装置200の機能構成図。 実施の形態3におけるパケット受信装置300の機能構成図。 実施の形態3におけるパケット送信方法のフローチャート。 実施の形態3におけるパケット送信方法の概要図。 実施の形態3におけるパケット受信方法のフローチャート。 実施の形態3におけるパケット受信方法の概要図。 実施の形態4におけるパケット送信装置200の機能構成図。 実施の形態4におけるパケット受信装置300の機能構成図。 実施の形態4におけるパケット送信方法の概要図。 実施の形態4におけるパケット受信方法の概要図。
 実施の形態1.
 データブロックを検証するための付加データをデータブロックに付加する形態について、図1から図14に基づいて説明する。
***構成の説明***
 図1に基づいて、パケット通信システム100について説明する。
 パケット通信システム100はパケット110を通信するシステムである。
 パケット通信システム100は、パケット110を送信するパケット送信装置200と、パケット110を受信するパケット受信装置300とを備える。
 パケット送信装置200およびパケット受信装置300は、ネットワーク109を介してパケット110を送受信する。
 図2に基づいて、メッセージデータ201およびパケット110について説明する。
 メッセージデータ201は送信されるデータである。
 メッセージデータ201はパケット110のサイズに合わせて複数のデータブロック202に分割される。メッセージデータ201の分割数はNである。Nは2以上の整数である。
 パケット110はデータブロック202毎に生成される。
 パケット110はヘッダ111とデータブロック202と付加データ205とを含む。
 ヘッダ111はパケット110を識別するパケット番号を含む。第1のヘッダ111-1に含まれるパケット番号は1であり、第Nのヘッダ111-Nに含まれるパケット番号はNである。パケット番号はデータブロック202を識別するデータブロック番号としても機能する。
 付加データ205は、データブロック202が正しいデータブロックであるか判定するための情報である。
 さらに、第N+1のパケット120が生成される。
 第N+1のパケット120は第N+1のヘッダ121と残りメッセージ認証コード206とを含む。図中のMACはメッセージ認証コードの略称である。
 第N+1のヘッダ121は第N+1のパケット120を識別するパケット番号を含む。第N+1のパケット120に含まれるパケット番号はN+1である。
 残りメッセージ認証コード206は、第Nのデータブロック202-Nが正しいデータブロックであるか判定するための情報である。
 図3に基づいて、パケット送信装置200の機能構成について説明する。
 パケット送信装置200は、メッセージデータ取得部210と、データ分割部220と、メッセージ認証コード生成部230と、編集データ生成部240と、付加データ生成部250と、パケット生成部260と、パケット送信部270とを備える。
 さらに、パケット送信装置200は、パケットカウント部280と送信記憶部290とメッセージ認証コード記憶部291とを備える。
 メッセージデータ取得部210はメッセージデータ201を取得する。
 データ分割部220は、メッセージデータ201をN個のデータブロック202に分割する。
 メッセージ認証コード生成部230は、N個のデータブロック202に含まれるデータブロック202毎にデータブロック202のメッセージ認証コード203を生成する。
 第Xのメッセージ認証コード203-Xは、第Xのデータブロック202-Xのメッセージ認証コードである。
 第Xのデータブロック202は、N個のデータブロック202のうちの第2のデータブロック202-2から第Nのデータブロック202-Nまでのいずれかのデータブロックである。
 編集データ生成部240は第Xの編集データ204-Xを生成する。
 第Xの編集データ204-Xは、第Xのメッセージ認証コード203-Xと第X-1のメッセージ認証コード203-X-1とを用いて生成されるデータである。
 付加データ生成部250は、第Xの編集データ204-Xを用いて第Xの付加データ205-Xを生成する。
 第Xの付加データ205-Xは、第Xのデータブロック202-Xに付加するデータである。
 パケット生成部260は、第Xのヘッダ111-Xと第Xのデータブロック202-Xと第Xの付加データ205とを含んだ第Xのパケット110-Xを生成する。
 パケット送信部270は第Xのパケット110-Xを送信する。
 パケットカウント部280はパケット番号(X)をカウントする。
 送信記憶部290は、パケット送信装置200で使用、生成または入出力されるデータを記憶する。送信記憶部290には共通鍵101などが記憶される。
 メッセージ認証コード記憶部291は第X-1のメッセージ認証コード203-X-1を記憶する。
 図4に基づいて、パケット受信装置300の機能構成について説明する。
 パケット受信装置300は、パケット受信部310と、メッセージ認証コード生成部320と、編集データ生成部330と、比較データ生成部340と、データブロック判定部350と、データ復元部360とを備える。
 さらに、パケット受信装置300は、パケットカウント部380と、受信記憶部390と、メッセージ認証コード記憶部391とを備える。
 パケット受信部310は、第Xのパケット110-Xと第X-1のパケット110-X-1とを受信する。
 メッセージ認証コード生成部320は、第Xのパケット110-Xに含まれる第Xのデータブロック202-Xを用いて、第Xのメッセージ認証コード302-Xを生成する。第Xのメッセージ認証コード302-Xは、第Xのデータブロック202-Xのメッセージ認証コード302である。
 メッセージ認証コード生成部320は、第X-1のパケット110-X-1に含まれる第X-1のデータブロック202-X-1を用いて、第X-1のメッセージ認証コード302-X-1を生成する。第X-1のメッセージ認証コード302-X-1は、第X-1のデータブロック202-Xのメッセージ認証コード302である。
 編集データ生成部330は第Xの編集データ303-Xを生成する。
 第Xの編集データ303-Xは、第Xのメッセージ認証コード302-Xと第X-1のメッセージ認証コード302-X-1とを用いて生成されるデータである。
 比較データ生成部340は、第Xの編集データ303-Xを用いて第Xの比較データ304-Xを生成する。
 第Xの比較データ304-Xは、第Xのデータブロック202-Xに付加されるべきデータである。
 データブロック判定部350は、第Xの比較データ304-Xと第Xの付加データ205-Xとを比較することによって、第Xのデータブロック202-Xが正しいデータブロック202であるか判定する。
 データ復元部360は、第1から第Nまでのデータブロック202を連結することによって、メッセージデータ201を復元する。
 パケットカウント部380はパケット番号(X)をカウントする。
 受信記憶部390は、パケット受信装置300で使用、生成または入出力されるデータを記憶する。受信記憶部390には共通鍵101などが記憶される。この共通鍵101はパケット送信装置200が使用する共通鍵101と同じである。
 メッセージ認証コード記憶部391は、第X-1のメッセージ認証コード302-X-1を記憶する。
 図5に基づいて、パケット送信装置200およびパケット受信装置300のハードウェア構成例について説明する。
 パケット送信装置200およびパケット受信装置300は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備えるコンピュータである。
 プロセッサ901は信号線910を介して他のハードウェアと接続されている。入力インタフェース905はケーブル911を介して入力装置907に接続されている。ディスプレイインタフェース906はケーブル912を介してディスプレイ908に接続されている。
 プロセッサ901は、プロセッシングを行うICであり、他のハードウェアを制御する。例えば、プロセッサ901はCPU、DSP、GPUである。ICはIntegrated Circuitの略称である。CPUはCentral Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、GPUはGraphics Processing Unitの略称である。
 補助記憶装置902は、例えば、ROM、フラッシュメモリ、HDDである。ROMはRead Only Memoryの略称であり、HDDはHard Disk Driveの略称である。
 メモリ903は例えばRAMである。RAMはRandom Access Memoryの略称である。
 通信装置904は、データを受信するレシーバ9041と、データを送信するトランスミッタ9042とを備える。例えば、通信装置904は通信チップまたはNICである。NICはNetwork Interface Cardの略称である。
 入力インタフェース905はケーブル911が接続されるポートであり、ポートの一例はUSB端子である。USBはUniversal Serial Busの略称である。
 ディスプレイインタフェース906はケーブル912が接続されるポートであり、USB端子およびHDMI端子はポートの一例である。HDMI(登録商標)はHigh Definition Multimedia Interfaceの略称である。
 入力装置907は、例えば、マウス、キーボードまたはタッチパネルである。
 ディスプレイ908は例えばLCDである。LCDはLiquid Crystal Displayの略称である。
 補助記憶装置902にはOSが記憶されている。OSはOperating Systemの略称である。
 パケット送信装置200の補助記憶装置902には、パケット送信装置200に備わるメッセージデータ取得部210、データ分割部220、メッセージ認証コード生成部230、編集データ生成部240、付加データ生成部250、パケット生成部260およびパケット送信部270といった「部」の機能を実現するプログラムが記憶されている。
 パケット受信装置300の補助記憶装置902には、パケット受信装置300に備わるパケット受信部310、メッセージ認証コード生成部320、編集データ生成部330、比較データ生成部340、データブロック判定部350およびデータ復元部360といった「部」の機能を実現するプログラムが記憶されている。
 OSの少なくとも一部はメモリ903にロードされ、プロセッサ901はOSを実行しながら「部」の機能を実現するプログラムを実行する。「部」の機能を実現するプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
 なお、パケット送信装置200およびパケット受信装置300が複数のプロセッサ901を備えて、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
 「部」の処理の結果を示すデータ、情報、信号値および変数値などは、メモリ903、補助記憶装置902、プロセッサ901内のレジスタ、または、プロセッサ901内のキャッシュメモリに記憶される。
 「部」は「サーキットリ」で実装してもよい。「部」は「回路」、「工程」、「手順」または「処理」に読み替えてもよい。
 「回路」及び「サーキットリ」は、プロセッサ901、ロジックIC、GA、ASIC、FPGAといった処理回路を包含する概念である。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
***動作の説明***
 パケット通信システム100の動作はパケット通信方法に相当し、パケット送信装置200の動作はパケット送信方法に相当し、パケット受信装置300の動作はパケット受信方法に相当する。
 また、パケット通信方法はパケット通信プログラムの処理手順に相当し、パケット送信方法はパケット送信プログラムの処理手順に相当し、パケット受信方法はパケット受信プログラムに相当する。
 図6に基づいて、Nが3である場合のパケット送信方法について説明する。
 図中の「H」はMAC生成関数を意味する。また、「||」は連結を意味し、「MAC(Y)」は第Yの編集データ204のメッセージ認証コードを意味する。
 第1のデータブロック202-1およびパケット番号(1)がMAC生成関数に入力されて、第1のメッセージ認証コード203-1が生成される。
 第1のメッセージ認証コード203-1にメッセージ認証コード203の初期値(0)が連結されて、第1の編集データ204-1が生成される。
 第1の編集データ204-1がMAC生成関数に入力されて、第1の編集データ204-1のメッセージ認証コードが生成される。
 第1の編集データ204-1のメッセージ認証コードから第1の付加データ205-1が抽出される。
 第1のデータブロック202-1と第1の付加データ205-1とを含んだ第1のパケット110-1が生成される。第1のパケット110-1が送信される。
 第2のデータブロック202-2およびパケット番号(2)がMAC生成関数に入力されて、第2のメッセージ認証コード203-2が生成される。
 第2のメッセージ認証コード203-2に第1のメッセージ認証コード203-1が連結されて、第2の編集データ204-2が生成される。
 第2の編集データ204-2がMAC生成関数に入力されて、第2の編集データ204-2のメッセージ認証コードが生成される。
 第2の編集データ204-2のメッセージ認証コードから第2の付加データ205-2が抽出される。
 第2のデータブロック202-2と第2の付加データ205-2とを含んだ第2のパケット110-2が生成される。第2のパケット110-2が送信される。
 第3のデータブロック202-3およびパケット番号(3)がMAC生成関数に入力されて、第3のメッセージ認証コード203-3が生成される。
 第3のメッセージ認証コード203-3に第2のメッセージ認証コード203-2が連結されて、第3の編集データ204-3が生成される。
 第3の編集データ204-3がMAC生成関数に入力されて、第3の編集データ204-3のメッセージ認証コードが生成される。
 第3の編集データ204-3のメッセージ認証コードから第3の付加データ205-3が抽出される。
 第3のデータブロック202-3と第3の付加データ205-3とを含んだ第3のパケット110-3が生成される。第3のパケット110-3が送信される。
 第3の編集データ204-3のメッセージ認証コードから残りメッセージ認証コード206が抽出される。
 残りメッセージ認証コード206を含んだ第N+1のパケット120として第4のパケットが生成される。第4のパケットが送信される。
 図7に基づいて、パケット送信方法の処理の流れについて説明する。
 S110はメッセージデータ取得処理である。
 S110において、メッセージデータ201は、ユーザインタフェースまたは入力装置を用いて、パケット送信装置200に入力される。
 メッセージデータ取得部210は、パケット送信装置200に入力されたメッセージデータ201を取得する。
 S120はデータ分割処理である。
 S120において、データ分割部220は、メッセージデータ201をN個のデータブロック202に分割する。
 S130は第1のデータブロック処理である。
 図8に基づいて、第1のデータブロック処理(S130)について説明する。
 S131はメッセージ認証コード生成処理である。
 S131において、メッセージ認証コード生成部230は、第1のデータブロック202-1とパケット番号(1)と共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第1のメッセージ認証コード203-1が生成される。MACはメッセージ認証コードの略称である。
 第1のメッセージ認証コード203-1は、第1のデータブロック202-1のメッセージ認証コード203である。
 S132は編集データ生成処理である。
 S132において、編集データ生成部240は、第1のメッセージ認証コード203-1とメッセージ認証コード203の初期値とを用いて、第1の編集データ204-1を生成する。
 第1の編集データ204-1は、第1のメッセージ認証コード203-1にメッセージ認証コード203の初期値を連結したデータである。メッセージ認証コード203の初期値はオールゼロである。
 S133は付加データ生成処理である。
 S133において、付加データ生成部250は、第1の編集データ204-1を用いて、以下のように第1の付加データ205-1を生成する。
 付加データ生成部250は、第1の編集データ204-1と共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第1の編集データ204-1のメッセージ認証コードが生成される。このMAC生成関数は、S131で演算されるMAC生成関数と同じである。
 付加データ生成部250は、第1の編集データ204-1のメッセージ認証コードを用いて、第1の付加データ205-1を生成する。第1の付加データ205-1は、第1の編集データ204-1のメッセージ認証コードから抽出される部分である。
 第1の編集データ204-1のメッセージ認証コードは256ビットのビット列であり、第1の付加データ205-1は第1の編集データ204-1のメッセージ認証コードの前半のYビット(0<Y≦256)である。
 S134はパケット生成処理である。
 S134において、パケット生成部260は、第1のヘッダ111-1と第1のデータブロック202-1と第1の付加データ205-1とを含んだ第1のパケット110-1を生成する。
 S135はパケット送信処理である。
 S135において、パケット送信部270は、第1のパケット110-1をパケット受信装置300に送信する。
 S135の後、第1のデータブロック処理(S130)は終了する。
 図7に戻り、S140から説明を続ける。
 S140は第Xのデータブロック処理である。
 図9に基づいて、第Xのデータブロック処理(S140)について説明する。
 S141からS145までの処理は、変数Xの値が2からNまでの間、繰り返し実行される。変数Xの初期値は2である。変数Xの値は、S141からS145までの処理が実行される毎に、パケットカウント部280によって1ずつ加算される。
 S141はメッセージ認証コード生成処理である。
 S141において、メッセージ認証コード生成部230は、第Xのデータブロック202-Xと共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第Xのメッセージ認証コード203-Xが生成される。このMAC生成関数は、S131(図8参照)で演算されるMAC生成関数と同じである。
 S142は編集データ生成処理である。
 S142において、編集データ生成部240は、第Xのメッセージ認証コード203-Xと第X-1のメッセージ認証コード203-X-1とを用いて、第Xの編集データ204-Xを生成する。
 第Xの編集データ204-Xは、第Xのメッセージ認証コード203-Xに第X-1のメッセージ認証コード203-X-1を連結したデータである。
 S143は付加データ生成処理である。
 S143において、付加データ生成部250は、第Xの編集データ204-Xを用いて、以下のように第Xの付加データ205-Xを生成する。
 付加データ生成部250は、第Xの編集データ204-Xと共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第Xの編集データ204-Xのメッセージ認証コードが生成される。このMAC生成関数は、S131(図8参照)で演算されるMAC生成関数と同じである。
 付加データ生成部250は、第Xの編集データ204-Xのメッセージ認証コードを用いて、第Xの付加データ205-Xを生成する。第Xの付加データ205-Xは、第Xの編集データ204-Xのメッセージ認証コードから抽出される部分である。
 第Xの編集データ204-Xのメッセージ認証コードは256ビットのビット列であり、第Xの付加データ205-Xは第Xの編集データ204-Xのメッセージ認証コードの前半のYビット(0<Y≦256)である。
 S144はパケット生成処理である。
 S144において、パケット生成部260は、第Xのヘッダ111-Xと第Xのデータブロック202-Xと第Xの付加データ205-Xとを含んだ第Xのパケット110-Xを生成する。
 S145はパケット送信処理である。
 S145において、パケット送信部270は、第Xのパケット110-Xをパケット受信装置300に送信する。
 図7に戻り、S150から説明を続ける。
 S150は残りメッセージ認証コード処理である。
 図10に基づいて、残りメッセージ認証コード処理(S150)について説明する。
 S151はパケット生成処理である。
 S151において、パケット生成部260は、第N+1のヘッダ121と残りメッセージ認証コード206とを含んだ第N+1のパケット120を生成する。
 残りメッセージ認証コード206は、第Nの編集データ204-Nのメッセージ認証コードから第Nの付加データ205-Nを除いた部分である。
 第Nの編集データ204-Nのメッセージ認証コードおよび第Nの付加データ205-Nは、S143(図9参照)において変数Xの値がNであるときに生成されている。
 つまり、残りメッセージ認証コード206は、第Nの編集データ204-Nのメッセージ認証コードの後半のYビット(0<Y≦256)である。
 S152はパケット送信処理である。
 S152において、パケット送信部270は、第N+1のパケット120をパケット受信装置300に送信する。
 S152の後、残りメッセージ認証コード処理(S150)は終了する。
 図11に基づいて、Nが3である場合のパケット受信方法について説明する。
 第1のデータブロック202-1と第1の付加データ205-1とを含んだ第1のパケット110-1が受信される。
 第1のデータブロック202-1およびパケット番号(1)がMAC生成関数に入力されて、第1のメッセージ認証コード302-1が生成される。
 第1のメッセージ認証コード302-1にメッセージ認証コード302の初期値(0)が連結されて、第1の編集データ303-1が生成される。
 第1の編集データ303-1がMAC生成関数に入力されて、第1の編集データ303-1のメッセージ認証コードが生成される。
 第1の編集データ303-1のメッセージ認証コードから第1の比較データ304-1が抽出される。
 第1の比較データ304-1が第1の付加データ205-1と比較される。
 第2のデータブロック202-2と第2の付加データ205-2とを含んだ第2のパケット110-2が受信される。
 第2のデータブロック202-2およびパケット番号(2)がMAC生成関数に入力されて、第2のメッセージ認証コード302-2が生成される。
 第2のメッセージ認証コード302-2に第1のメッセージ認証コード302-1が連結されて、第2の編集データ303-2が生成される。
 第2の編集データ303-2がMAC生成関数に入力されて、第2の編集データ303-2のメッセージ認証コードが生成される。
 第2の編集データ303-2のメッセージ認証コードから第2の比較データ304-2が抽出される。
 第2の比較データ304-2が第2の付加データ205-2と比較される。
 第3のデータブロック202-3と第3の付加データ205-3とを含んだ第3のパケット110-3が受信される。
 第3のデータブロック202-3およびパケット番号(3)がMAC生成関数に入力されて、第3のメッセージ認証コード302-3が生成される。
 第3のメッセージ認証コード302-3に第2のメッセージ認証コード302-2が連結されて、第3の編集データ303-3が生成される。
 第3の編集データ303-3がMAC生成関数に入力されて、第3の編集データ303-3のメッセージ認証コードが生成される。
 第3の編集データ303-3のメッセージ認証コードから第3の比較データ304-3が抽出される。
 第3の比較データ304-3が第3の付加データ205-3と比較される。
 残りメッセージ認証コード206を含んだ第4のパケットが第N+1のパケット120として受信される。
 第3の編集データ303-3のメッセージ認証コードから残り比較データ305が抽出される。
 残り比較データ305が残りメッセージ認証コード206と比較される。
 図12に基づいて、パケット受信方法の処理の流れについて説明する。
 S210はパケット受信処理である。
 S210において、パケット受信部310は第1から第Nまでのパケット110を受信する。
 S220は第1のデータブロック処理である。
 図13に基づいて、第1のデータブロック処理(S220)について説明する。
 S221はメッセージ認証コード生成処理である。
 S221において、メッセージ認証コード生成部320は、第1のデータブロック202-1とパケット番号(1)と共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第1のメッセージ認証コード302-1が生成される。このMAC生成関数は、S131(図8参照)で演算されるMAC生成関数と同じである。
 第1のメッセージ認証コード302-1は、第1のデータブロック202-1のメッセージ認証コード302である。
 S222は編集データ生成処理である。
 S222において、編集データ生成部330は、第1のメッセージ認証コード302-1とメッセージ認証コード302の初期値とを用いて、第1の編集データ303-1を生成する。
 第1の編集データ303-1は、第1のメッセージ認証コード302-1にメッセージ認証コード302の初期値を連結したデータである。メッセージ認証コード302の初期値はオールゼロである。
 S223は比較データ生成処理である。
 S223において、比較データ生成部340は、第1の編集データ303-1を用いて、以下のように第1の比較データ304-1を生成する。
 比較データ生成部340は、第1の編集データ303-1と共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第1の編集データ303-1のメッセージ認証コードが生成される。このMAC生成関数は、S133(図8参照)で演算されるMAC生成関数と同じである。
 比較データ生成部340は、第1の編集データ303-1のメッセージ認証コードを用いて、第1の比較データ304-1を生成する。第1の比較データ304-1は、第1の編集データ303-1のメッセージ認証コードから抽出される部分である。
 第1の編集データ303-1のメッセージ認証コードは256ビットのビット列であり、第1の比較データ304-1は第1の編集データ303-1のメッセージ認証コードの前半のYビット(0<Y≦256)である。
 S224はデータブロック判定処理である。
 S224において、データブロック判定部350は、第1の比較データ304-1と第1のパケット110-1に含まれる第1の付加データ205-1とを比較する。
 そして、データブロック判定部350は、第1のパケット110-1に含まれる第1のデータブロック202-1が正しいデータブロック202であるか、比較結果に基づいて判定する。
 第1の比較データ304-1が第1の付加データ205-1と同じである場合、第1のデータブロック202-1は正しいデータブロック202である。
 第1の比較データ304-1が第1の付加データ205-1と異なる場合、第1のデータブロック202-1は誤ったデータブロック202である。
 S224の後、第1のデータブロック処理(S220)は終了する。
 図12に戻り、S220の後の処理を説明する。
 第1のデータブロック202-1が誤ったデータブロック202であった場合、パケット受信方法の処理は終了する。
 第1のデータブロック202-1が正しいデータブロック202であった場合、処理はS230に進む。
 S230は第Xのデータブロック処理である。
 図14に基づいて、第Xのデータブロック処理(S230)について説明する。
 S231からS234までの処理は、変数Xの値が2からNまでの間、繰り返し実行される。変数Xの初期値は2である。変数Xの値は、S231からS234までの処理が実行される毎に、パケットカウント部380によって1ずつ加算される。
 S231はメッセージ認証コード生成処理である。
 S231において、メッセージ認証コード生成部320は、第Xのデータブロック202-Xと共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第Xのメッセージ認証コード302-Xが生成される。このMAC生成関数は、S141(図9参照)で演算されるMAC生成関数と同じである。
 S232は編集データ生成処理である。
 S232において、編集データ生成部330は、第Xのメッセージ認証コード302-Xと第X-1のメッセージ認証コード302-X-1とを用いて、第Xの編集データ303-Xを生成する。
 第Xの編集データ303-Xは、第Xのメッセージ認証コード302-Xに第X-1のメッセージ認証コード302-X-1を連結したデータである。
 S233は比較データ生成処理である。
 S233において、比較データ生成部340は、第Xの編集データ303-Xを用いて、以下のように第Xの比較データ304-Xを生成する。
 比較データ生成部340は、第Xの編集データ303-Xと共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第Xの編集データ303-Xのメッセージ認証コードが生成される。このMAC生成関数は、S143(図9参照)で演算されるMAC生成関数と同じである。
 比較データ生成部340は、第Xの編集データ303-Xのメッセージ認証コードを用いて、第Xの比較データ304-Xを生成する。第Xの比較データ304-Xは、第Xの編集データ303-Xのメッセージ認証コードから抽出される部分である。
 第Xの編集データ303-Xのメッセージ認証コードは256ビットのビット列であり、第Xの比較データ304-Xは第Xの編集データ303-Xのメッセージ認証コードの前半のYビット(0<Y≦256)である。
 S234はデータブロック判定処理である。
 S234において、データブロック判定部350は、第Xの比較データ304-Xと第Xのパケット110-Xに含まれる第Xの付加データ205-Xとを比較する。
 そして、データブロック判定部350は、第Xのパケット110-Xに含まれる第Xのデータブロック202-Xが正しいデータブロック202であるか、比較結果に基づいて判定する。
 第Xの比較データ304-Xが第Xの付加データ205-Xと同じである場合、第Xのデータブロック202-Xは正しいデータブロック202である。
 第Xの比較データ304-Xが第Xの付加データ205-Xと異なる場合、第Xのデータブロック202-Xは誤ったデータブロック202である。この場合、第Xのデータブロック処理(S230)は終了する。
 図12に戻り、S230の後の処理を説明する。
 第Xのデータブロック202-Xが誤ったデータブロック202であった場合、パケット受信方法の処理は終了する。
 第Xのデータブロック202-Xが正しいデータブロック202であった場合、処理はS240に進む。
 S240はデータブロック判定処理である。
 S240において、データブロック判定部350は、残り比較データと第N+1のパケット120に含まれる残りメッセージ認証コード206とを比較する。残り比較データについては後述する。
 そして、データブロック判定部350は、第Nのパケット110-Nに含まれる第Nのデータブロック202-Nが正しいデータブロック202であるか、比較結果に基づいて判定する。
 残り比較データが残りメッセージ認証コード206と同じである場合、第Nのデータブロック202-Nは正しいデータブロック202である。
 残り比較データが残りメッセージ認証コード206と異なる場合、第Nのデータブロック202-Nは誤ったデータブロック202である。
 残り比較データは、第Nの編集データ303-Nのメッセージ認証コードから第Nの比較データ304-Nを除いた部分である。
 第Nの編集データ303-Nのメッセージ認証コードおよび第Nの比較データ304-Nは、S233(図14参照)において変数Xの値がNであるときに生成されている。
 つまり、残り比較データは、第Nの編集データ303-Nのメッセージ認証コードの後半のYビット(0<Y≦256)である。
 第Nのデータブロック202-Nが誤ったデータブロック202であった場合、パケット受信方法の処理は終了する。
 第Nのデータブロック202-Nが正しいデータブロック202であった場合、処理はS250に進む。
 S250はデータ復元処理である。
 S250において、データ復元部360は、第1から第Nまでのデータブロック202を連結することによって、メッセージデータ201を復元する。
***効果の説明***
 第Xのデータブロック202-Xと第X-1のデータブロック202-X-1とに基づいた第Xの付加データ205-Xを第Xのデータブロック202-Xに付加することによって、第Xのデータブロック202-Xを検証することができる。
 これにより、第Xの編集データ204-Xのメッセージ認証コードの一部を第Xの付加データ205-Xから切り捨てて第Xの付加データ205-Xのサイズを小さくし、第Xのデータブロック202-Xの改ざんの検出率を高め、パケット通信の安全性を向上させることができる。
 実施の形態は、狭帯域通信を利用することによって構築コストを削減したいセキュアシステム、あるいは、保守コストを下げるために通信負荷および消費電力を抑えることが要求されるセキュアシステム、に特に有効である。狭帯域の通信規格の一例として、Z-waveおよびZigBeeがある。それぞれの規格の最低帯域として、9.6kbpsおよび20kbpsが規定されている。
 実施の形態が特に有効なシステムの一例として、工場、プラントおよび建築現場の機器の稼働状態を監視するセンサとそれらのデータを集約するサーバとから構成されるシステムが挙げられる。その他に、車載機器間の通信または建物のエネルギーマネジメントなどのアプリケーションで限定された小さなデータが多数のデバイスによって断続的または連続的に送受信されるシステムが挙げられる。また、エナジーハーベストまたは無線給電を行うセンサーノードネットワークシステムが挙げられる。
 実施の形態2.
 編集データ204を生成する方法が実施の形態1と異なる形態について、図15から図24に基づいて説明する。但し、実施の形態1と重複する説明は省略する。
***構成の説明***
 図15に基づいて、パケット送信装置200の機能構成について説明する。
 編集データ生成部240は、第Xのデータブロック202-Xと第X-1の編集MAC259-X-1とを用いて、第Xの編集データ204-Xを生成する。
 メッセージ認証コード生成部230は、第Xの編集MAC207-Xを生成する。第Xの編集MAC207-Xは、第Xの編集データ204-Xのメッセージ認証コードである。
 付加データ生成部250は、第Xの編集MAC207-Xの一部を第Xの付加データ205-Xとして抽出する。
 図16に基づいて、パケット受信装置300の機能構成について説明する。
 編集データ生成部330は、第Xのデータブロック202-Xと第X-1の編集MAC306-X-1とを用いて、第Xの編集データ303-Xを生成する。
 メッセージ認証コード生成部320は、第Xの編集MAC306-Xを生成する。第Xの編集MAC306-Xは、第Xの編集データ303-Xのメッセージ認証コードである。
 比較データ生成部340は、第Xの編集MAC306-Xの一部を第Xの比較データ304-Xとして抽出する。
***動作の説明***
 図17に基づいて、Nが3である場合のパケット送信方法について説明する。
 第1のデータブロック202-1にパケット番号(1)および編集MAC207の初期値(0)が連結されて、第1の編集データ204-1が生成される。
 第1の編集データ204-1がMAC生成関数に入力されて、第1の編集MAC207-1が生成される。
 第1の編集MAC207-1から第1の付加データ205-1が抽出される。
 第1のデータブロック202-1と第1の付加データ205-1とを含んだ第1のパケット110-1が生成される。第1のパケット110-1が送信される。
 第2のデータブロック202-2にパケット番号(2)および第1の編集MAC207-1が連結されて、第2の編集データ204-2が生成される。
 第2の編集データ204-2がMAC生成関数に入力されて、第2の編集MAC207-2が生成される。
 第2の編集MAC207-2から第2の付加データ205-2が抽出される。
 第2のデータブロック202-2と第2の付加データ205-2とを含んだ第2のパケット110-2が生成される。第2のパケット110-2が送信される。
 第3のデータブロック202-3にパケット番号(3)および第2の編集MAC207-2が連結されて、第3の編集データ204-3が生成される。
 第3の編集データ204-3がMAC生成関数に入力されて、第3の編集MAC207-3が生成される。
 第3の編集MAC207-3から第3の付加データ205-3が抽出される。
 第3のデータブロック202-3と第3の付加データ205-3とを含んだ第3のパケット110-3が生成される。第3のパケット110-3が送信される。
 第3の編集MAC207-3から残りメッセージ認証コード206が抽出される。
 残りメッセージ認証コード206を含んだ第N+1のパケット120として第4のパケットが生成される。第4のパケットが送信される。
 図18に基づいて、パケット送信方法の処理の流れについて説明する。
 メッセージ送信方法の処理の流れは、実施の形態1(図7参照)と同じである。
 メッセージデータ取得処理(S110)、データ分割処理(S120)および残りMAC処理(S150)は実施の形態1と同じである。
 以下に、第1のデータブロック処理(S130B)と第Xのデータブロック処理(S140B)とについて説明する。
 図19に基づいて、第1のデータブロック処理(S130B)について説明する。
 S131Bにおいて、編集データ生成部240は、第1のデータブロック202-1と編集MAC207の初期値とを用いて、第1の編集データ204-1を生成する。
 第1の編集データ204-1は、第1のデータブロック202-1に編集MAC207の初期値を連結したデータである。編集MAC207の初期値はオールゼロである。
 S132Bにおいて、メッセージ認証コード生成部230は、第1の編集データ204-1と共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第1の編集MAC207-1が生成される。
 第1の編集MAC207-1は、第1の編集データ204-1のメッセージ認証コードである。
 S133Bにおいて、付加データ生成部250は、第1の編集MAC207-1の先頭のYビット(0<Y≦256)を第1の付加データ205-1として抽出する。
 S134およびS135は実施の形態1(図8参照)と同じである。
 図20に基づいて、第Xのデータブロック処理(S140B)について説明する。
 S141Bにおいて、編集データ生成部240は、第Xのデータブロック202-Xと第X-1の編集MAC207-X-1を用いて、第Xの編集データ204-Xを生成する。
 第Xの編集データ204-Xは、第Xのデータブロック202-Xにパケット番号(X)および第X-1の編集MAC207-X-1を連結したデータである。
 S142Bにおいて、メッセージ認証コード生成部230は、第Xの編集データ204-Xと共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第Xの編集MAC207-Xが生成される。
 第Xの編集MAC207-Xは、第Xの編集データ204-Xのメッセージ認証コードである。
 S143Bにおいて、付加データ生成部250は、第Xの編集データ204-Xの先頭のYビット(0<Y≦256)を第Xの付加データ205-Xとして抽出する。
 S144およびS145は実施の形態1(図8参照)と同じである。
 図21に基づいて、Nが3である場合のパケット受信方法について説明する。
 第1のデータブロック202-1と第1の付加データ205-1とを含んだ第1のパケット110-1が受信される。
 第1のデータブロック202-1にパケット番号(1)および編集MAC306の初期値(0)が連結されて、第1の編集データ303-1が生成される。
 第1の編集データ303-1がMAC生成関数に入力されて、第1の編集MAC306-1が生成される。
 第1の編集MAC306-1から第1の比較データ304-1が抽出される。
 第1の比較データ304-1が第1の付加データ205-1と比較される。
 第2のデータブロック202-2と第2の付加データ205-2とを含んだ第2のパケット110-2が受信される。
 第2のデータブロック202-2にパケット番号(2)および第1の編集MAC306-1が連結されて、第2の編集データ303-2が生成される。
 第2の編集データ303-2がMAC生成関数に入力されて、第2の編集MAC306-2が生成される。
 第2の編集MAC306-2から第2の比較データ304-2が抽出される。
 第2の比較データ304-2が第2の付加データ205-2と比較される。
 第3のデータブロック202-3と第3の付加データ205-3とを含んだ第3のパケット110-3が受信される。
 第3のデータブロック202-3にパケット番号(3)および第2の編集MAC306-2が連結されて、第3の編集データ303-3が生成される。
 第3の編集データ303-3がMAC生成関数に入力されて、第3の編集MAC306-3が生成される。
 第3の編集MAC306-3から第3の比較データ304-3が抽出される。
 第3の比較データ304-3が第3の付加データ205-3と比較される。
 残りメッセージ認証コード206を含んだ第4のパケットが第N+1のパケット120として受信される。
 第3の編集MAC306-3のメッセージ認証コードから残り比較データ305が抽出される。
 残り比較データ305が残りメッセージ認証コード206と比較される。
 図22に基づいて、パケット受信方法の処理の流れについて説明する。
 パケット受信方法の処理の流れは、実施の形態1(図12参照)と同じである。
 パケット受信処理(S210)、データブロック判定処理(S240)およびデータ復元処理(S250)は、実施の形態1と同じである。
 以下に、第1のデータブロック処理(S220B)と第Xのデータブロック処理(S230B)とについて説明する。
 図23に基づいて、第1のデータブロック処理(S220B)について説明する。
 S221Bにおいて、編集データ生成部330は、第1のデータブロック202-1とパケット番号(1)と編集MAC306の初期値とを用いて、第1の編集データ303-1を生成する。
 第1の編集データ303-1は、第1のデータブロック202-1にパケット番号(1)および編集MAC306の初期値を連結したデータである。編集MAC306の初期値はオールゼロである。
 S222Bにおいて、メッセージ認証コード生成部320は、第1の編集データ303-1と共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第1の編集MAC306-1が生成される。
 第1の編集MAC306-1は、第1の編集データ303-1のメッセージ認証コードである。
 S223Bにおいて、比較データ生成部340は、第1の編集MAC306-1の先頭のYビット(0<Y≦256)を第1の比較データ304-1として抽出する。
 S224は実施の形態1(図13参照)と同じである。
 図24に基づいて、第Xのデータブロック処理(S230B)について説明する。
 S231Bにおいて、編集データ生成部330は、第Xのデータブロック202-Xとパケット番号(X)と第X-1の編集MAC306-X-1とを用いて、第Xの編集データ303-Xを生成する。
 第Xの編集データ303-Xは、第Xのデータブロック202-Xにパケット番号(X)および第X-1の編集MAC306-X-1を連結したデータである。
 S232Bにおいて、メッセージ認証コード生成部320は、第Xの編集データ303-1と共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第Xの編集MAC306-Xが生成される。
 第Xの編集MAC306-Xは、第Xの編集データ303-Xのメッセージ認証コードである。
 S233Bにおいて、比較データ生成部340は、第Xの編集MAC306-Xの先頭のYビット(0<Y≦256)を第Xの比較データ304-Xとして抽出する。
 S234は実施の形態1(図14参照)と同じである。
***効果の説明***
 第Xの付加データ205-Xには第X-1のデータブロック202-X-1より前の各データブロック202の情報も含まれるため、第Xのデータブロック202-Xの改ざんの検出率を高めることができる
 MAC生成関数の演算の回数が実施の形態1の半分であるため、データブロック202に対する処理時間を短縮することができる。
 実施の形態3.
 実施の形態1におけるデータブロック202を暗号化する形態について、図25から図30に基づいて説明する。
***構成の説明***
 図25に示すように、パケット送信装置200は、実施の形態1(図3参照)で説明した機能に加えて、暗号化部281を備える。
 暗号化部281は、第Xのデータブロック202-Xを暗号化することによって、第Xの暗号化ブロック208-Xを生成する。第Xの暗号化ブロック208-Xは、暗号化された第Xのデータブロック202-Xである。
 メッセージ認証コード生成部230は、第Xのデータブロック202-Xの代わりに第Xの暗号化ブロック208-Xを用いて、第Xのメッセージ認証コード203-Xを生成する。
 パケット生成部260は、第Xのデータブロック202-Xの代わりに第Xの暗号化ブロック208-Xを含んだ第Xのパケット110-Xを生成する。
 図26に示すように、パケット受信装置300は、実施の形態1(図4参照)で説明した機能に加えて、復号部381を備える。
 復号部381は、第1から第Nのデータブロック202を復号する。
***動作の説明***
 図27に基づいて、パケット送信方法の処理の流れについて説明する。
 S110、S120およびS150は実施の形態1(図7参照)と同じである。
 S121において、暗号化部281は、N個のデータブロック202を暗号化鍵を用いて暗号化することによって、N個の暗号化ブロック208を生成する。暗号化鍵は共通鍵101または別の鍵である。
 第1の暗号化ブロック処理(S130C)は、実施の形態1の第1のデータブロック処理(S130)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
 第Xの暗号化ブロック処理(S140C)は、実施の形態1の第Xのデータブロック処理(S140)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
 図28は実施の形態1の図6に対応する。図28において、暗号化ブロック208は、図6におけるデータブロック202の代わりに処理される。
 図29に基づいて、パケット受信方法の処理の流れについて説明する。
 S210は実施の形態1(図12参照)と同じである。
 第1の暗号化ブロック処理(S220C)は、実施の形態1の第1のデータブロック処理(S220)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
 第Xの暗号化ブロック処理(S230C)は、実施の形態1の第Xのデータブロック処理(S230)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
 第Nのデータブロック判定処理(S240C)は、実施の形態1の第Nのデータブロック判定処理(S240)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
 S251において、復号部381は第1から第Nまでの暗号化ブロック208を復号鍵を用いて復号する。復号鍵は共通鍵101または別の鍵である。
 S250は実施の形態1と同じである。
 図30は実施の形態1の図11に対応する。図30において、暗号化ブロック208は、図11におけるデータブロック202の代わりに処理される。
***効果の説明***
 データブロック202の暗号化によって、メッセージデータ201の秘匿性を担保することができる。
 実施の形態4.
 実施の形態2におけるデータブロック202を暗号化する形態について、図31から図34に基づいて説明する。
***構成の説明***
 図31に示すように、パケット送信装置200は、実施の形態2(図15参照)で説明した機能に加えて、暗号化部281を備える。
 暗号化部281は、第Xのデータブロック202-Xを暗号化することによって、第Xの暗号化ブロック208-Xを生成する。第Xの暗号化ブロック208-Xは、暗号化された第Xのデータブロック202-Xである。
 編集データ生成部240は、第Xのデータブロック202-Xの代わりに第Xの暗号化ブロック208-Xを用いて、第Xの編集データ204-Xを生成する。
 パケット生成部260は、第Xのデータブロック202-Xの代わりに第Xの暗号化ブロック208-Xを含んだ第Xのパケット110-Xを生成する。
 図32に示すように、パケット受信装置300は、実施の形態2(図16参照)で説明した機能に加えて、復号部381を備える。
 復号部381は、第1から第Nのデータブロック202を復号する。
***動作の説明***
 パケット送信方法の処理の流れは、実施の形態3(図27参照)と同じである。
 但し、第1の暗号化ブロック処理(S130C)は、実施の形態2の第1のデータブロック処理(S130B)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
 また、第Xの暗号化ブロック処理(S140C)は、実施の形態2の第Xのデータブロック処理(S140B)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
 図33は実施の形態2の図17に対応する。図33において、暗号化ブロック208は、図17におけるデータブロック202の代わりに処理される。
 パケット受信方法の処理の流れは、実施の形態3(図29参照)と同じである。
 但し、第1の暗号化ブロック処理(S220C)は、実施の形態2の第1のデータブロック処理(S220B)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
 また、第Xの暗号化ブロック処理(S230C)は、実施の形態2の第Xのデータブロック処理(S230B)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
 図34は実施の形態2の図21に対応する。図34において、暗号化ブロック208は、図21におけるデータブロック202の代わりに処理される。
***効果の説明***
 データブロック202の暗号化によって、メッセージデータ201の秘匿性を担保することができる。
 各実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。各実施の形態は、部分的に実施してもよいし、他の実施の形態と組み合わせて実施してもよい。
 フローチャート等を用いて説明した処理手順は、パケット送信方法、パケット送信プログラム、パケット受信方法およびパケット受信プログラムの処理手順の一例である。
 各実施の形態は、以下のような形態であってもよい。
 パケット送信装置200は、パケット受信装置300の機能を備えるパケット通信装置であってもよい。
 編集データは連結以外の編集によって生成されてもよい。
 付加データおよび比較データは、編集データのメッセージ認証コードの一部ではなくて、編集データのメッセージ認証コードの全部であってもよい。さらに、付加データおよび比較データは、編集データを用いて生成されるデータあれば、編集データのメッセージ認証コードの一部および編集データのメッセージ認証コードの全部と異なるデータであってもよい。
 以下に記す符号は、ハイフンを付した符号を総括する。例えば、データブロック202は、第1のデータブロック202-1、第Xのデータブロック202-Xおよび第Nのデータブロック202-Nの総称である。
 100 パケット通信システム、109 ネットワーク、110 パケット、111 ヘッダ、120 第N+1のパケット、121 第N+1のヘッダ、200 パケット送信装置、201 メッセージデータ、202 データブロック、203 メッセージ認証コード、204 編集データ、205 付加データ、206 残りメッセージ認証コード、207 編集MAC、208 暗号化ブロック、210 メッセージデータ取得部、220 データ分割部、230 メッセージ認証コード生成部、240 編集データ生成部、250 付加データ生成部、260 パケット生成部、270 パケット送信部、280 パケットカウント部、290 送信記憶部、291 メッセージ認証コード記憶部、300 パケット受信装置、302 メッセージ認証コード、303 編集データ、304 比較データ、305 残り比較データ、306 編集MAC、310 パケット受信部、320 メッセージ認証コード生成部、330 編集データ生成部、340 比較データ生成部、350 データブロック判定部、360 データ復元部、390 受信記憶部、391 メッセージ認証コード記憶部、901 プロセッサ、902 補助記憶装置、903 メモリ、904 通信装置、9041 レシーバ、9042 トランスミッタ、905 入力インタフェース、906 ディスプレイインタフェース、907 入力装置、908 ディスプレイ、910 信号線、911 ケーブル、912 ケーブル。

Claims (16)

  1.  N個のデータブロックに含まれるデータブロック毎にデータブロックのメッセージ認証コードを生成するメッセージ認証コード生成部と、
     前記N個のデータブロックのうちの第2のデータブロックから第Nのデータブロックまでのいずれかのデータブロックである第Xのデータブロックのメッセージ認証コードと、前記N個のデータブロックのうちの第X-1のデータブロックのメッセージ認証コードと、を用いて生成されるデータである第Xの編集データを生成する編集データ生成部と、
     前記第Xのデータブロックに付加するデータである第Xの付加データを前記第Xの編集データを用いて生成する付加データ生成部と、
     前記第Xのデータブロックと前記第Xの付加データとを含んだ第Xのパケットを生成するパケット生成部と、
     前記第Xのパケットを送信するパケット送信部と
    を備えるパケット送信装置。
  2.  前記第Xの編集データは、前記第Xのデータブロックのメッセージ認証コードに前記第X-1のデータブロックのメッセージ認証コードを連結したデータである
    請求項1に記載のパケット送信装置。
  3.  前記付加データ生成部は、前記第Xの編集データを用いて第Xの編集データのメッセージ認証コードを生成し、前記第Xの編集データのメッセージ認証コードを用いて前記第Xの付加データを生成し、
     前記第Xの付加データは、前記第Xの編集データのメッセージ認証コードから抽出される部分である
    請求項2に記載のパケット送信装置。
  4.  前記付加データ生成部は、第Nの編集データのメッセージ認証コードを生成し、前記第Nの編集データのメッセージ認証コードから第Nの付加データを抽出し、
     前記パケット生成部は、前記第Nの編集データのメッセージ認証コードから前記第Nの付加データを除いた部分を含んだパケットを第N+1のパケットとして生成し、
     前記パケット送信部は、前記第N+1のパケットを送信する
    請求項3に記載のパケット送信装置。
  5.  前記編集データ生成部は、第1のデータブロックのメッセージ認証コードとメッセージ認証コードの初期値とを用いて第1の編集データを生成し、
     前記付加データ生成部は、前記第1の編集データを用いて第1の付加データを生成し、
     前記パケット生成部は、前記第1のデータブロックと前記第1の付加データとを含んだ第1のパケットを生成し、
     前記パケット送信部は、前記第1のパケットを送信する
    請求項1に記載のパケット送信装置。
  6.  前記N個のデータブロックのそれぞれのデータブロックは暗号化されたデータブロックである請求項1に記載のパケット送信装置。
  7.  N個のデータブロックのうちの第2のデータブロックから第Nのデータブロックまでのいずれかのデータブロックである第Xのデータブロックと前記第Xのデータブロックを用いて生成されたデータである第Xの付加データとを含んだ第Xのパケットと、第X-1のデータブロックを含んだ第X-1のパケットとを受信するパケット受信部と、
     前記第Xのパケットに含まれる前記第Xのデータブロックを用いて前記第Xのデータブロックのメッセージ認証コードを生成し、前記第X-1のパケットに含まれる前記第X-1のデータブロックを用いて前記第X-1のデータブロックのメッセージ認証コードを生成するメッセージ認証コード生成部と、
     前記第Xのデータブロックのメッセージ認証コードと前記第X-1のデータブロックのメッセージ認証コードとを用いて生成されるデータである第Xの編集データを生成する編集データ生成部と、
     前記第Xのデータブロックに付加されるべきデータである第Xの比較データを前記第Xの編集データを用いて生成する比較データ生成部と、
     前記第Xの比較データと前記第Xの付加データとを比較することによって、前記第Xのデータブロックが正しいデータブロックであるか判定するデータブロック判定部と
    を備えるパケット受信装置。
  8.  前記N個のデータブロックのそれぞれのデータブロックは暗号化されたデータブロックである請求項7に記載のパケット受信装置。
  9.  N個のデータブロックのうちの第1のデータブロックから第N-1のデータブロックまでのいずれかのデータブロックである第X-1のデータブロック、を用いて生成されるデータである第X-1の編集データを生成する編集データ生成部と、
     前記第X-1の編集データのメッセージ認証コードを生成するメッセージ認証コード生成部と、
     前記第X-1の編集データのメッセージ認証コードの一部を第X-1の付加データとして抽出する付加データ生成部と、
     前記第X-1のデータブロックと前記第X-1の付加データとを含んだ第X-1のパケットを生成するパケット生成部と、
     前記第X-1のパケットを送信するパケット送信部とを備え、
     前記編集データ生成部は、前記N個のデータブロックのうちの第Xのデータブロックと、前記第X-1の編集データのメッセージ認証コードとを用いて、第Xの編集データを生成し、
     前記メッセージ認証コード生成部は、前記第Xの編集データのメッセージ認証コードを生成し、
     前記付加データ生成部は、前記第Xの編集データのメッセージ認証コードの一部を第Xの付加データとして抽出し、
     前記パケット生成部は、前記第Xのデータブロックと前記第Xの付加データとを含んだ第Xのパケットを生成し、
     前記パケット送信部は、前記第Xのパケットを送信する
    パケット送信装置。
  10.  前記N個のデータブロックのそれぞれのデータブロックは暗号化されたデータブロックである請求項9に記載のパケット送信装置。
  11.  N個のデータブロックのうちの第1のデータブロックから第N-1のデータブロックまでのいずれかのデータブロックである第X-1のデータブロックと前記第X-1のデータブロックを用いて生成されたデータである第X-1の付加データとを含んだ第X-1のパケットを受信するパケット受信部と、
     前記第X-1のパケットに含まれる前記第X-1のデータブロックを用いて生成されるデータである第X-1の編集データを生成する編集データ生成部と、
     前記第X-1の編集データのメッセージ認証コードを生成するメッセージ認証コード生成部と、
     前記第X-1の編集データのメッセージ認証コードの一部を第X-1の比較データとして抽出する比較データ生成部と、
     前記第X-1の比較データと前記第X-1の付加データとを比較することによって、前記第X-1のデータブロックが正しいデータブロックであるか判定するデータブロック判定部とを備え、
     前記パケット受信部は、第Xのデータブロックと前記第Xのデータブロックを用いて生成されたデータである第Xの付加データとを含んだ第Xのパケットを受信し、
     前記編集データ生成部は、前記第Xのデータブロックと前記第X-1の編集データのメッセージ認証コードとを用いて、第X-1の編集データを生成し、
     前記メッセージ認証コード生成部は、前記第Xの編集データのメッセージ認証コードを生成し、
     前記比較データ生成部は、前記第Xの編集データのメッセージ認証コードの一部を第Xの比較データとして抽出し、
     前記データブロック判定部は、前記第Xの比較データと前記第Xの付加データとを比較することによって、前記第Xのデータブロックが正しいデータブロックであるか判定するパケット受信装置。
  12.  前記N個のデータブロックのそれぞれのデータブロックは暗号化されたデータブロックである請求項11に記載のパケット受信装置。
  13.  N個のデータブロックに含まれるデータブロック毎にデータブロックのメッセージ認証コードを生成するメッセージ認証コード生成処理と、
     前記N個のデータブロックのうちの第2のデータブロックから第Nのデータブロックまでのいずれかのデータブロックである第Xのデータブロックのメッセージ認証コードと、前記N個のデータブロックのうちの第X-1のデータブロックのメッセージ認証コードと、を用いて生成されるデータである第Xの編集データを生成する編集データ生成処理と、
     前記第Xのデータブロックに付加するデータである第Xの付加データを前記第Xの編集データを用いて生成する付加データ生成処理と、
     前記第Xのデータブロックと前記第Xの付加データとを含んだ第Xのパケットを生成するパケット生成処理と、
     前記第Xのパケットを送信するパケット送信処理と
    をコンピュータに実行させるためのパケット送信プログラム。
  14.  N個のデータブロックのうちの第2のデータブロックから第Nのデータブロックまでのいずれかのデータブロックである第Xのデータブロックと前記第Xのデータブロックを用いて生成されたデータである第Xの付加データとを含んだ第Xのパケットと、第X-1のデータブロックを含んだ第X-1のパケットとを受信するパケット受信処理と、
     前記第Xのパケットに含まれる前記第Xのデータブロックを用いて前記第Xのデータブロックのメッセージ認証コードを生成し、前記第X-1のパケットに含まれる前記第X-1のデータブロックを用いて前記第X-1のデータブロックのメッセージ認証コードを生成するメッセージ認証コード生成処理と、
     前記第Xのデータブロックのメッセージ認証コードと前記第X-1のデータブロックのメッセージ認証コードとを用いて生成されるデータである第Xの編集データを生成する編集データ生成処理と、
     前記第Xのデータブロックに付加されるべきデータである第Xの比較データを前記第Xの編集データを用いて生成する比較データ生成処理と、
     前記第Xの比較データと前記第Xの付加データとを比較することによって、前記第Xのデータブロックが正しいデータブロックであるか判定するデータブロック判定処理と
    をコンピュータに実行させるためのパケット受信プログラム。
  15.  N個のデータブロックのうちの第1のデータブロックから第N-1のデータブロックまでのいずれかのデータブロックである第X-1のデータブロック、を用いて生成されるデータである第X-1の編集データを生成する編集データ生成処理と、
     前記第X-1の編集データのメッセージ認証コードを生成するメッセージ認証コード生成処理と、
     前記第X-1の編集データのメッセージ認証コードの一部を第X-1の付加データとして抽出する付加データ生成処理と、
     前記第X-1のデータブロックと前記第X-1の付加データとを含んだ第X-1のパケットを生成するパケット生成処理と、
     前記第X-1のパケットを送信するパケット送信処理とをコンピュータに実行させて、
     前記編集データ生成処理は、前記N個のデータブロックのうちの第Xのデータブロックと、前記第X-1の編集データのメッセージ認証コードとを用いて、第Xの編集データを生成し、
     前記メッセージ認証コード生成処理は、前記第Xの編集データのメッセージ認証コードを生成し、
     前記付加データ生成処理は、前記第Xの編集データのメッセージ認証コードの一部を第Xの付加データとして抽出し、
     前記パケット生成処理は、前記第Xのデータブロックと前記第Xの付加データとを含んだ第Xのパケットを生成し、
     前記パケット送信処理は、前記第Xのパケットを送信する
    パケット送信プログラム。
  16.  N個のデータブロックのうちの第1のデータブロックから第N-1のデータブロックまでのいずれかのデータブロックである第X-1のデータブロックと前記第X-1のデータブロックを用いて生成されたデータである第X-1の付加データとを含んだ第X-1のパケットを受信するパケット受信処理と、
     前記第X-1のパケットに含まれる前記第X-1のデータブロックを用いて生成されるデータである第X-1の編集データを生成する編集データ生成処理と、
     前記第X-1の編集データのメッセージ認証コードを生成するメッセージ認証コード生成処理と、
     前記第X-1の編集データのメッセージ認証コードの一部を第X-1の比較データとして抽出する比較データ生成処理と、
     前記第X-1の比較データと前記第X-1の付加データとを比較することによって、前記第X-1のデータブロックが正しいデータブロックであるか判定するデータブロック判定処理とをコンピュータに実行させて、
     前記パケット受信処理は、第Xのデータブロックと前記第Xのデータブロックを用いて生成されたデータである第Xの付加データとを含んだ第Xのパケットを受信し、
     前記編集データ生成処理は、前記第Xのデータブロックと前記第X-1の編集データのメッセージ認証コードとを用いて、第X-1の編集データを生成し、
     前記メッセージ認証コード生成処理は、前記第Xの編集データのメッセージ認証コードを生成し、
     前記比較データ生成処理は、前記第Xの編集データのメッセージ認証コードの一部を第Xの比較データとして抽出し、
     前記データブロック判定処理は、前記第Xの比較データと前記第Xの付加データとを比較することによって、前記第Xのデータブロックが正しいデータブロックであるか判定する
    パケット受信プログラム。
PCT/JP2015/051192 2015-01-19 2015-01-19 パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム WO2016116999A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201580073137.2A CN107113180B (zh) 2015-01-19 2015-01-19 分组发送装置、分组接收装置以及存储介质
PCT/JP2015/051192 WO2016116999A1 (ja) 2015-01-19 2015-01-19 パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム
US15/544,469 US10412069B2 (en) 2015-01-19 2015-01-19 Packet transmitting apparatus, packet receiving apparatus, and computer readable medium
JP2016570218A JP6289680B2 (ja) 2015-01-19 2015-01-19 パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム
DE112015005991.1T DE112015005991B4 (de) 2015-01-19 2015-01-19 Paketsendevorrichtung, Paketempfangsvorrichtung, Paketsendeprogramm und Paketempfangsprogramm
TW104106965A TW201628379A (zh) 2015-01-19 2015-03-05 封包傳送裝置、封包接收裝置、封包傳送程式產品以及封包接收程式產品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/051192 WO2016116999A1 (ja) 2015-01-19 2015-01-19 パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム

Publications (1)

Publication Number Publication Date
WO2016116999A1 true WO2016116999A1 (ja) 2016-07-28

Family

ID=56416567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/051192 WO2016116999A1 (ja) 2015-01-19 2015-01-19 パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム

Country Status (6)

Country Link
US (1) US10412069B2 (ja)
JP (1) JP6289680B2 (ja)
CN (1) CN107113180B (ja)
DE (1) DE112015005991B4 (ja)
TW (1) TW201628379A (ja)
WO (1) WO2016116999A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019142306A1 (ja) * 2018-01-19 2019-07-25 ルネサスエレクトロニクス株式会社 半導体装置、データ提供方法、データ復号方法、およびプログラム
WO2019234850A1 (ja) * 2018-06-06 2019-12-12 サスメド株式会社 セキュリティシステムおよびデータ処理装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150504A (zh) * 2017-06-14 2019-01-04 深圳市中兴微电子技术有限公司 一种实现数据传输处理的方法及高级加密标准系统
WO2019043921A1 (ja) * 2017-09-01 2019-03-07 三菱電機株式会社 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム
CN110098939B (zh) * 2019-05-07 2022-02-22 浙江中控技术股份有限公司 消息认证方法及装置
US11343097B2 (en) * 2020-06-02 2022-05-24 Bank Of America Corporation Dynamic segmentation of network traffic by use of pre-shared keys
US11818045B2 (en) 2021-04-05 2023-11-14 Bank Of America Corporation System for performing dynamic monitoring and prioritization of data packets
US11743156B2 (en) * 2021-04-05 2023-08-29 Bank Of America Corporation System for performing dynamic monitoring and filtration of data packets

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251296A (ja) * 2000-03-06 2001-09-14 Kddi Corp メッセージ認証装置
JP2009025657A (ja) * 2007-07-20 2009-02-05 Kyocera Corp 送信装置および受信方法、並びに受信装置
US20120093312A1 (en) * 2010-10-15 2012-04-19 Infineon Technologies Ag Data Transmitter with a Secure and Efficient Signature
WO2013065689A1 (ja) * 2011-10-31 2013-05-10 株式会社トヨタIt開発センター 通信システムにおけるメッセージ認証方法および通信システム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757913A (en) 1993-04-23 1998-05-26 International Business Machines Corporation Method and apparatus for data authentication in a data communication environment
AU2583099A (en) 1998-02-04 1999-08-23 Sun Microsystems, Inc. Method and apparatus for efficient authentication and integrity checking using hierarchical hashing
US6754824B1 (en) 1999-06-25 2004-06-22 Telefonaktiebolaget L M Ericsson (Publ) Modulated message authentication system and method
KR100652098B1 (ko) * 2000-01-21 2006-12-01 소니 가부시끼 가이샤 데이터 인증 처리 시스템
JP4333351B2 (ja) 2003-12-05 2009-09-16 株式会社デンソー 通信システム
JP2005012466A (ja) 2003-06-18 2005-01-13 Denso Corp メッセージ認証方法及びメッセージ認証システム
US7457954B2 (en) 2003-06-18 2008-11-25 Denso Corporation Communications system and packet structure
JP4809766B2 (ja) 2003-08-15 2011-11-09 株式会社エヌ・ティ・ティ・ドコモ 損失を適応制御したデータストリームの認証方法及び装置
JP2005072650A (ja) 2003-08-22 2005-03-17 Ntt Docomo Inc 被検証装置、検証装置、被検証方法及び検証方法
WO2008026238A1 (fr) * 2006-08-28 2008-03-06 Mitsubishi Electric Corporation Système de traitement de données, procédé de traitement de données, et programme
JP4938409B2 (ja) 2006-10-13 2012-05-23 Kddi株式会社 デジタル放送用コンテンツ配信装置、デジタル放送用コンテンツ認証システム、デジタル放送用コンテンツ認証方法およびプログラム
US8122247B2 (en) 2006-10-23 2012-02-21 Alcatel Lucent Processing method for message integrity with tolerance for non-sequential arrival of message data
US8204216B2 (en) 2006-10-23 2012-06-19 Alcatel Lucent Processing method for message integrity with tolerance for non-sequential arrival of message data
US8949600B2 (en) 2006-10-27 2015-02-03 Qualcomm Incorporated Composed message authentication code
CN101542962B (zh) 2006-11-21 2013-11-06 朗讯科技公司 容许消息数据的非顺序到达的消息完整性的处理方法
JP5556659B2 (ja) 2008-08-29 2014-07-23 日本電気株式会社 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム
JP5245935B2 (ja) 2009-03-11 2013-07-24 株式会社Ihi ロボットハンド及び移送ロボット
WO2011114373A1 (ja) * 2010-03-17 2011-09-22 富士通株式会社 通信装置、プログラムおよび方法
JP5286380B2 (ja) * 2011-03-07 2013-09-11 株式会社東芝 データ送信装置および送信方法
US20120331308A1 (en) * 2011-06-22 2012-12-27 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
DE102013206202A1 (de) * 2013-04-09 2014-10-30 Robert Bosch Gmbh Sensormodul und Verfahren zum Betreiben eines Sensorsmoduls
US20140351598A1 (en) * 2013-05-24 2014-11-27 Qualcomm Incorporated Systems and methods for broadcast wlan messages with message authentication
US9350732B1 (en) * 2014-11-07 2016-05-24 Elliptic Technologies Inc. Integrity protection for data storage
US10042780B2 (en) * 2014-11-07 2018-08-07 Synopsys, Inc. Integrity protection for data storage
CN107094080B (zh) * 2016-02-12 2020-07-17 东芝存储器株式会社 通信装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251296A (ja) * 2000-03-06 2001-09-14 Kddi Corp メッセージ認証装置
JP2009025657A (ja) * 2007-07-20 2009-02-05 Kyocera Corp 送信装置および受信方法、並びに受信装置
US20120093312A1 (en) * 2010-10-15 2012-04-19 Infineon Technologies Ag Data Transmitter with a Secure and Efficient Signature
WO2013065689A1 (ja) * 2011-10-31 2013-05-10 株式会社トヨタIt開発センター 通信システムにおけるメッセージ認証方法および通信システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHUNJI HARADA ET AL.: "Notes on message authentication", IEICE TECHNICAL REPORT, vol. 87, no. 345, 26 January 1988 (1988-01-26), pages 25 - 30 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019142306A1 (ja) * 2018-01-19 2019-07-25 ルネサスエレクトロニクス株式会社 半導体装置、データ提供方法、データ復号方法、およびプログラム
WO2019234850A1 (ja) * 2018-06-06 2019-12-12 サスメド株式会社 セキュリティシステムおよびデータ処理装置

Also Published As

Publication number Publication date
JP6289680B2 (ja) 2018-03-07
CN107113180A (zh) 2017-08-29
JPWO2016116999A1 (ja) 2017-04-27
TW201628379A (zh) 2016-08-01
DE112015005991B4 (de) 2024-02-08
US10412069B2 (en) 2019-09-10
CN107113180B (zh) 2020-01-17
DE112015005991T5 (de) 2017-11-09
US20170353440A1 (en) 2017-12-07

Similar Documents

Publication Publication Date Title
JP6289680B2 (ja) パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム
US9614668B1 (en) Conversion schemes for cryptography systems
EP2775660B1 (en) Message authentication method in communication system and communication system
RU2638639C1 (ru) Кодер, декодер и способ кодирования и шифрования входных данных
EP3065341B1 (en) Content classification medthod and device
JP5630913B2 (ja) 通信チャネルでの暗号化の存在を隠すための帯域効率的な方法及びシステム
JP2007089147A (ja) 認証方法
US8086865B2 (en) Supplying cryptographic algorithm constants to a storage-constrained target
CN102780698A (zh) 物联网平台中用户终端安全通信的方法
CN110912920A (zh) 数据处理方法、设备及介质
CN106850191B (zh) 分布式存储系统通信协议的加密、解密方法及装置
US11303617B2 (en) Methods and apparatuses for oblivious transfer using trusted environment
CN111615106A (zh) 一种语音数据包的加密方法及装置
CN115580396A (zh) 匿踪查询系统及匿踪查询方法
CN117640256B (zh) 一种无线网卡的数据加密方法、推荐装置和存储介质
CN115277094A (zh) 一种基于区块链的通信方法、终端、系统及存储介质
CN110213292B (zh) 数据发送方法及装置、数据接收方法及装置
US10200356B2 (en) Information processing system, information processing apparatus, information processing method, and recording medium
CN111800784A (zh) 基于云计算的区块链云服务系统
CN115102768B (zh) 一种数据处理方法、装置及计算机设备
US11336456B2 (en) Message authentication system, apparatus, and message verification method
CN113302961B (zh) 安全信标
US9571468B2 (en) Encoding data using a variable number of pixels and bits based on entropy
JP5932709B2 (ja) 送信側装置および受信側装置
Jamaluddin et al. Securing RF communication using AES-256 symmetric encryption: A performance evaluation

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016570218

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15544469

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 112015005991

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15878695

Country of ref document: EP

Kind code of ref document: A1