WO2014147934A1 - 通信装置、通信システム及び通信方法 - Google Patents

通信装置、通信システム及び通信方法 Download PDF

Info

Publication number
WO2014147934A1
WO2014147934A1 PCT/JP2014/000462 JP2014000462W WO2014147934A1 WO 2014147934 A1 WO2014147934 A1 WO 2014147934A1 JP 2014000462 W JP2014000462 W JP 2014000462W WO 2014147934 A1 WO2014147934 A1 WO 2014147934A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication device
data frame
counter value
memory
communication
Prior art date
Application number
PCT/JP2014/000462
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 JP2015506570A priority Critical patent/JPWO2014147934A1/ja
Priority to CN201480007487.4A priority patent/CN104969509B/zh
Priority to US14/765,158 priority patent/US9800660B2/en
Publication of WO2014147934A1 publication Critical patent/WO2014147934A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/36Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with means for detecting characters not meant for transmission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Definitions

  • the present invention relates to a communication apparatus, a communication system and a communication method for preventing leakage, falsification and impersonation of communication data in data communication between communication apparatuses.
  • each communication device of transmission and reception uses its own counter value and reception
  • a system for performing synchronization confirmation of a communication device by comparing the counter value with the counter value for example, Patent Document 1.
  • An object of the present invention is to provide a communication apparatus, a communication system, and a communication method capable of resuming transmission and reception.
  • a communication device is a communication device that transmits a data frame to another communication device, and is a volatile memory, and the other communication device
  • a first memory storing a counter value for the other communication device to determine whether the received data frame matches the data frame transmitted from the communication device
  • a frame generation unit that reads the counter value stored in the memory of 1, and generates a data frame in which the read counter value is stored
  • a communication unit that transmits the data frame to the other communication device
  • a storage instruction unit that updates and stores the counter value stored in the data frame in the first memory each time the communication unit transmits the data frame
  • a second memory which is a non-volatile memory, the counter value is added each time the communication unit transmits the data frame, and the storage instructing unit is configured to store the data at predetermined intervals.
  • the counter value stored in the frame is stored in the second memory, and the frame creation unit reads the counter value stored in the second memory when the communication device is restarted.
  • FIG. 2 is an example of a functional block diagram of a communication device according to Embodiment 1;
  • FIG. 7 is a diagram illustrating an example of a configuration of data frames transmitted and received between communication devices according to Embodiment 1.
  • 7 is a flowchart showing an operation of key sharing between communication apparatuses according to Embodiment 1;
  • 5 is an example of a communication sequence between communication devices according to Embodiment 1;
  • 5 is a flowchart showing an operation of the communication apparatus (transmitting side) according to the first embodiment. It is a flowchart which shows the data frame transmission process after the communication apparatus (transmission side) which concerns on Embodiment 1 restarts.
  • 5 is a flowchart showing an operation of the communication apparatus (reception side) according to the first embodiment.
  • FIG. 10 is an example of a functional block diagram of a communication device according to a second embodiment.
  • 7 is an example of a communication sequence between communication devices according to Embodiment 2.
  • a communication apparatus is a communication apparatus for transmitting a data frame to another communication apparatus, which is a volatile memory, and the data frame received by the other communication apparatus
  • a first memory storing a counter value for the other communication device to determine whether the data frame transmitted from the communication device matches or not, and stored in the first memory Reading the counter value, and generating a data frame in which the read counter value is stored
  • a communication unit transmitting the data frame to the other communication device and the data frame Storage instruction unit for updating and storing the counter value stored in the data frame in the first memory each time it transmits
  • the memory value is incremented each time the communication unit transmits the data frame
  • the storage instructing unit increments the counter value stored in the data frame at predetermined intervals.
  • the predetermined time interval at which the storage instruction unit stores the counter value in the second memory is the counter value stored in the data frame transmitted by the communication unit.
  • the predetermined value may be increased each time.
  • the frequency of writing to the non-volatile memory of the communication device can be reduced.
  • the storage instruction unit may store the counter value in the second memory at predetermined intervals each time the communication unit transmits the data frame a predetermined number of times. . Thereby, the frequency of writing to the non-volatile memory of the communication device can be reduced.
  • the deterioration of the non-volatile memory can be suppressed, and the possibility of failure of the communication apparatus on the transmission side can be reduced.
  • the predetermined interval at which the storage instruction unit causes the second memory to store the counter value may be a predetermined time.
  • the frame creation unit may use the second memory as a value to be stored in the data frame.
  • the predetermined value to be added to the read counter value may be an increment of the counter value which is increased at a predetermined interval at which the storage instructing unit stores the counter value in the second memory.
  • the frame creation unit may use the second memory as a value to be stored in the data frame.
  • the predetermined value to be added to the read counter value may be calculated based on the transmission frequency at which the communication unit transmits the data frame and the predetermined interval.
  • the predetermined value may be a value obtained by multiplying the transmission frequency at which the communication unit transmits the data frame and the predetermined interval.
  • the frame creation unit may use the second memory as a value to be stored in the data frame.
  • the predetermined value to be added to the read counter value may be a number smaller than the increment of the increased counter value at a predetermined interval at which the storage instructing unit stores the counter value in the second memory.
  • a storage interval receiving unit that receives an instruction of a predetermined interval for storing the counter value in the second memory may be provided.
  • the communication apparatus on the transmission side can transmit the data frame at an appropriate timing.
  • a communication method is a data frame communication method executed by a communication device that transmits a data frame to another communication device, the data received by the other communication device.
  • a counter value for the other communication device to determine whether the frame matches the data frame transmitted from the communication device is stored in a first memory, which is a volatile memory, The counter value stored in the first memory is read, a data frame in which the read counter value is stored is created, the data frame is transmitted to the other communication device, and the data frame is transmitted.
  • Each time the counter value stored in the data frame is updated and stored in the first memory, and the count value is transmitted each time the data frame is transmitted.
  • the counter value is added, and the counter value stored in the data frame is stored in the second memory at predetermined intervals, and is stored in the second memory when the communication device is restarted.
  • the counter value may be read, and a value obtained by adding a predetermined value to the read counter value may be stored in the data frame.
  • a communication system is a communication system for transmitting a data frame from a communication apparatus to another communication apparatus, which is a volatile memory received by the other communication apparatus.
  • a first memory storing a counter value for the other communication device to determine whether the data frame matches the data frame transmitted from the communication device;
  • a frame generation unit that reads the counter value stored in the memory and generates a data frame in which the read counter value is stored;
  • a communication unit that transmits the data frame to the other communication device;
  • a storage instruction unit for updating and storing the counter value stored in the data frame in the first memory each time the device transmits the data frame
  • a second memory which is a non-volatile memory, and the frame creation unit reads the counter value stored in the second memory when the communication device is restarted,
  • a communication device storing a value obtained by adding a predetermined value to the counter value in the data frame; receiving the data frame transmitted from the communication device; and receiving the received data frame; and transmitting from the communication device
  • the communication device may further include another communication device
  • the communication apparatus is a communication apparatus that includes a non-volatile memory separately from the volatile memory, and stores the counter value in the non-volatile memory at predetermined intervals. Then, the communication device according to the first embodiment reads the counter value stored in the non-volatile memory at restart, stores the value obtained by adding the predetermined value in the data frame, and transmits it to the other communication device. can do.
  • FIG. 1 shows an example of a functional block diagram of the communication device 1 and the communication device 2 according to the first embodiment.
  • the communication apparatus 1 which is a communication apparatus on the transmission side includes a counter calculating unit 101, a frame creating unit 102, a communication unit 103, a storage instructing unit 104, a first memory 105, and a second memory 106. .
  • the counter calculating unit 101 calculates a frame counter value stored in the header 201 of the data frame. Specifically, the frame counter value stored in the header 201 of the data frame by reading the frame counter value stored in the first memory 105 or the second memory 106 and adding 1 to the frame counter value. Calculate
  • the frame generation unit 102 generates the header 201 using the frame counter value and the like calculated by the counter calculation unit 101. Also, the frame creation unit 102 generates a tampering detection code for tampering prevention based on part of the header 201 and communication data before encryption. Further, the frame generation unit 102 encrypts the communication data and the tampering detection code to generate the encrypted payload 202 and the encrypted tampering detection code 203, and generates a data frame. Note that the frame generation unit 102 may perform the function of the counter calculation unit 101. The contents of this data frame will be described with reference to FIG.
  • the communication unit 103 transmits the data frame generated by the frame generation unit 102 to the communication device 2.
  • the storage instructing unit 104 causes the first memory 105 to store the frame counter value stored in the data frame to be transmitted, each time the communication unit 103 transmits a data frame to the communication apparatus 2.
  • the storage instructing unit 104 causes the second frame counter value stored in the data frame to be transmitted to be stored, each time the counter value stored in the data frame transmitted by the communication unit 103 increases by a predetermined value. It is stored in the memory 106.
  • the interval at which the storage instruction unit 104 stores the frame counter value in the second memory 106 may be every fixed number of times the communication unit 103 transmits a data frame to the communication apparatus 2 or every indefinite number. Moreover, it may be constant time or irregular time, and is not limited to these examples.
  • the first memory 105 is a volatile memory, and the stored contents are lost when the communication device 1 is powered off or when the communication device 1 is restarted.
  • the second memory 106 is a non-volatile memory, and holds the stored contents even when the communication apparatus 1 is powered off or when the communication apparatus 1 is restarted.
  • the communication device 2 which is a communication device on the receiving side, includes a communication unit 111, a third memory 112, and a counter determination unit 113.
  • the communication unit 111 includes a counter determination unit 113.
  • the communication unit 111 receives a data frame transmitted from the communication device 1. Further, when the communication unit 111 authenticates that the newly received data frame is a data frame transmitted from the correct communication device 1, the communication unit 111 transmits an ACK to the communication device 1.
  • the third memory 112 stores the frame counter value stored in the data frame received from the same communication device 1 in the past.
  • the counter determination unit 113 acquires the frame counter value stored in the header 201 of the data frame newly received by the communication unit 111 and the frame counter value stored in the third memory 112. Then, the counter determination unit 113 compares the frame counter value stored in the newly received data frame with the stored past frame counter value. At this time, if the frame counter value stored in the newly received data frame is less than or equal to the stored past frame counter value, the communication unit 111 discards the newly received data frame. If the frame counter value stored in the newly received data frame is larger than the stored past frame counter value, the communication unit 111 decrypts the encrypted payload 202 and the encrypted tampering detection code 203.
  • the communication unit 111 matches the value calculated based on the part of the header including the frame counter value and the decrypted payload with the decrypted tampering detection code, the newly received data frame is correct from the communication device 1 It authenticates that it is a transmitted data frame.
  • the communication device 1 may be configured to include the configuration of the communication device 2, and in that case, data communication can be performed between the communication devices 1 having the same configuration.
  • FIG. 2 is a diagram showing a configuration example of a data frame transmitted and received between communication devices according to Embodiment 1 of the present invention.
  • the data frame includes a header 201, an encrypted payload 202, and an encrypted tampering detection code 203.
  • the header 201 includes a frame counter value and address information of the communication device 1.
  • the encrypted payload 202 encrypts communication data by a common key encryption method such as AES-Counter with CBC-MAC (AES-CCM) using a nonce generated from a frame counter value, address information of the communication apparatus 1, etc. It is also possible to use a common key encryption method such as AES-Counter with CBC-MAC (AES-CCM) using a nonce generated from a frame counter value, address information of the communication apparatus 1, etc. It is a common key encryption method such as AES-Counter with CBC-MAC (AES-CCM) using a nonce generated from a frame counter value, address information of the communication apparatus 1, etc. It is
  • the encrypted tampering detection code 203 is obtained by encrypting the tampering detection code calculated based on the communication data before encryption and a part of the header 201 including the frame counter value in the same manner as the communication data. It is used to guarantee sex.
  • FIG. 3 shows a flowchart showing an operation of key sharing between communication devices according to the first embodiment.
  • a protocol for key sharing is performed between the communication device 1 and the communication device 2 (S301), and a key for an encryption method to be used is shared (S302).
  • the process returns to S301, performs the key sharing protocol again, updates the common key, and resets the frame counter value. Also good.
  • the trigger for updating the common key is not limited to this example, and the communication device 1 may perform the key sharing protocol again.
  • FIG. 4 illustrates an example of a communication sequence between communication devices according to the first embodiment.
  • the value calculated by the counter calculation unit 101 to the frame counter value is one.
  • the interval at which the storage instruction unit 104 stores the frame counter value in the second memory 106 is set as the frame counter value increases by a fixed value ⁇ , but is not limited to this example. That is, the interval at which the storage instruction unit 104 stores the frame counter value in the second memory 106 may be each time the communication unit 103 transmits a data frame a predetermined number of times, and may be a predetermined time (for example, one minute, one hour, etc.) ) May be
  • the value ( ⁇ ) to be added to the frame counter value stored in the second memory 106 by the counter calculation unit 101 is a fixed value of ⁇ or more. It is not limited to the example. Other patterns of ⁇ will be described later.
  • the communication unit 103 transmits the data frame storing the frame counter value N-1 to the communication device 2 (S401).
  • the storage instruction unit 104 causes the first memory 105 to store the frame counter value N-1 stored in the transmitted data frame (S402).
  • the communication unit 103 transmits the data frame storing the frame counter value N to the communication device 2 (S403).
  • the frame counter value stored in the second memory 106 is N ⁇
  • the difference from the frame counter value N stored in the data frame transmitted by the communication unit 103 to the communication apparatus 2 is ⁇ .
  • the storage instruction unit 104 stores the frame counter value N stored in the transmitted data frame in the first memory 105 and the second memory 106 (S404).
  • the communication unit 103 transmits the data frame storing the frame counter value N + 1 to the communication device 2 (S405).
  • the storage instruction unit 104 stores the frame counter value N + 1 stored in the transmitted data frame in the first memory 105 as in S402 (S406).
  • the counter calculating unit 101 reads the frame counter value N stored in the second memory 106.
  • the counter calculating unit 101 adds ⁇ to the read frame counter value N to calculate a frame counter value N + ⁇ to be stored in the header 201 of the data frame (S408).
  • the communication unit 103 transmits the data frame storing the frame counter value N + ⁇ to the communication device 2 (S409).
  • the storage instruction unit 104 stores the frame counter value N + ⁇ stored in the transmitted data frame in the first memory 105 and the second memory 106 as in S404 (S410).
  • FIG. 5 shows a flowchart showing the operation of the communication apparatus 1 (transmitting side) according to the first embodiment.
  • the communication device 1 determines whether it has been restarted (S501).
  • the counter calculation unit 101 receives the frame counter value from the first memory 105. read out. Then, the counter calculating unit 101 calculates a value obtained by incrementing the read frame counter value as a new frame counter value (502).
  • the restart-time data frame transmission / reception process (S508) when the communication apparatus 1 is restarted (YES in S501) will be described with reference to FIG. Moreover, in FIG. 5, although it is determined at the beginning of the data frame transmission process whether or not the communication apparatus 1 has been restarted, the present invention is not limited to this example. That is, when the communication apparatus 1 is restarted after S502, the process up to that point may be initialized to perform the process of S508.
  • the frame generation unit 102 generates a header 201 including the frame counter value calculated in S502, an encrypted payload 202 obtained by encrypting communication data, and an encrypted tampering detection code 203, and generates a data frame to be transmitted. (S503).
  • the communication unit 103 transmits the data frame created in S503 to the communication device 2 (S504).
  • the storage instruction unit 104 stores the frame counter value stored in the transmitted data frame in the first memory 105 (S505).
  • the storage instruction unit 104 determines whether the frame counter value stored in the transmitted data frame has increased by ⁇ or more from the value stored in the second memory 106 (S506).
  • the storage instructing unit 104 transmits the frame stored in the transmitted data frame
  • the counter value is stored in the second memory 106 (S507).
  • the counter calculation unit 101 When the communication device 1 receives a data transmission request from an upper layer such as an application, the counter calculation unit 101 reads the frame counter value from the second memory 106. Then, the counter calculation unit 101 calculates a value obtained by adding ⁇ to the read frame counter value as a new frame counter value (S601). Subsequently, the communication device 1 performs the processes of S503 and S504.
  • the communication device 1 determines whether transmission of the data frame is successful or not by ACK sent from the communication device 2 when transmission of the data frame is successful (S605). If the transmission is not successful (NO in S605), the process returns to S601, and the frame counter value is calculated again. On the other hand, if the transmission is successful (YES in S605), the process of S505 is performed.
  • FIG. 7 shows a flowchart showing the operation of the communication apparatus 2 (reception side) according to the first embodiment.
  • the communication unit 111 receives a data frame transmitted from the communication device 1. Then, the counter determination unit 113 acquires the frame counter value stored in the header 201 of the data frame newly received by the communication unit 111 and the address information of the communication apparatus 1 (S701).
  • the counter determination unit 113 reads the frame counter value stored in the data frame received from the same communication device 1 in the past from the third memory 112 (S702).
  • the counter determination unit 113 compares the frame counter value stored in the newly received data frame with the stored past frame counter value (S703).
  • the communication unit 111 decrypts the encrypted payload 202, and then the frame counter If a part of the header including the value and the value calculated based on the decrypted payload match the received encrypted tampering detection code 203, the newly received data frame is a data frame transmitted from the correct communication device 1. Certify as Then, the communication unit 111 transmits an ACK to the communication device 1 (S704).
  • the communication unit 111 stores the frame counter value stored in the newly received data frame in the third memory 112 (S 705).
  • the communication unit 111 discards the newly received data frame. (S706).
  • the storage of the frame counter value in the second memory 106 is performed not every data frame transmission but every time the frame counter value is incremented by a fixed value ⁇ .
  • the number of accesses to the second memory 106 can be suppressed.
  • communication can be resumed immediately even after the restart.
  • the value ( ⁇ ) to be added to the frame counter value stored in the second memory 106 by the counter calculation unit 101 is the maximum value that the communication device 1 transmits during a predetermined time. It may be an estimated value of the number of data frames. That is, it may be a value obtained by multiplying the transmission frequency at which the communication unit 103 transmits the data frame and a predetermined interval at which the storage instruction unit 104 causes the second memory 106 to store the frame counter value.
  • the estimated value may be set as a fixed value at the time of system design, or may be set adaptively from statistical information actually communicated by the communication device 1.
  • the value ( ⁇ ) to be added to the frame counter value stored in the second memory 106 may be smaller than ⁇ .
  • the counter calculation unit 101 reads the frame counter value from the second memory 106. Then, the counter calculation unit 101 calculates a value obtained by adding a value smaller than ⁇ (for example, ⁇ / 8) to the read frame counter value as a new frame counter value.
  • for example, ⁇ / 8
  • the frame counter value is recalculated.
  • the counter calculating unit 101 calculates a new frame counter value by adding a value (for example, ⁇ / 4) or the like larger than the value previously added and less than ⁇ to the read frame counter value.
  • the communication apparatus 1 repeatedly performs the above processing until transmission of the data frame is successful.
  • the frame determination value of the data frame received by the counter determination unit 113 from the same communication device 1 stored in the past by the third memory 112 and the data frame newly received by the communication unit 111 It is determined that the newly received frame counter value is larger than the frame counter value stored in the third memory 112 by at least ⁇ + 1 or more when the comparison with the frame counter value stored in the header 201 of FIG. In this case, the communication unit 111 may discard the newly received data frame.
  • the range of the frame counter value of the data frame to be received can be limited.
  • security against replay attacks by impersonation can be improved.
  • transmission of the data frame fails (when survival confirmation of the communication device 2 can not be obtained), transmission of the data frame may be waited until survival confirmation of the communication device 2 is obtained.
  • a control frame or the like that the communication device 2 periodically transmits to the communication device 1 may be used to confirm the existence of the communication device 2.
  • the control frame is, for example, a beacon frame or a link status frame, and is not limited to these examples.
  • the storage instruction unit 104 may store, in the second memory 106, the frame counter value of the data frame that has been successfully transmitted most recently and the time stamp together.
  • the counter calculation unit 101 may estimate in consideration of the estimated number of frame counter value updates per unit time.
  • the storage instruction unit 104 determines a predetermined interval, and stores the frame counter value in the second memory 106.
  • the communication device 1 according to the second embodiment receives, from the communication device 12 on the receiving side, an instruction of timing to store the frame counter value in the second memory 106. Then, the communication device 1 according to the second embodiment stores the frame counter value in the second memory 106 based on this timing. This point is different from the communication device 1 according to the first embodiment.
  • the same components as the communication device 1 and the communication device 2 of the first embodiment are given the same reference numerals, and the description thereof is omitted. .
  • FIG. 8 shows an example of a functional block diagram of the communication device 1 and the communication device 12 according to the second embodiment.
  • the communication device 12 includes a communication unit 111, a third memory 112, a counter determination unit 113, and a storage timing instruction unit 114.
  • the storage timing instruction unit 114 causes the communication unit 111 to transmit a storage timing instruction for causing the storage instruction unit 104 of the communication device 1 to store the frame counter value in the second memory 106.
  • the communication unit 111 transmits the storage timing instruction to the communication unit 103 of the communication device 1.
  • the communication unit 103 of the communication device 1 receives a storage timing instruction from the communication unit 111 of the communication device 12.
  • the storage instruction unit 104 stores the frame counter value in the second memory 106.
  • FIG. 9 shows an example of a communication sequence between communication devices according to the second embodiment.
  • the communication device 12 acquires a frame counter value stored in the received data frame (S403). Then, when the storage instruction unit 104 determines that the storage instruction unit 104 determines that it is a predetermined timing to store the frame counter value in the second memory 106, the storage timing instruction unit 114 issues a storage timing instruction to the communication device 1 (S411) ).
  • the storage instruction unit 104 receives the storage timing instruction from the storage timing instruction unit 114, and stores the frame counter value in the second memory 106 (S404).
  • the same process is performed when the communication device 12 receives a data frame after the communication device 1 is restarted.
  • the communication device 1 and the communication device 12 according to the second embodiment have been described above with reference to FIGS. 8 and 9.
  • the communication apparatus, the communication system and the communication method according to the present invention can be applied to a network system or the like which requires security.

Abstract

 本発明に係る通信装置は、送信側の通信装置が再起動等された場合でも、通信装置間の鍵共有を再度することなく、短時間で通信装置間のデータ送受信を再開することを目的とする。 本発明に係る通信装置は、カウンタ値を記憶する揮発性メモリと、カウンタ値が格納されたデータを作成する作成部と、データを他の通信装置に送信する通信部と、通信部のデータ送信毎に、カウンタ値を揮発性メモリに更新して記憶させる記憶指示部と、不揮発性メモリとを備え、カウンタ値は通信部のデータ送信毎に加算され、記憶指示部は所定間隔毎にカウンタ値を不揮発性メモリに記憶させ、作成部は通信装置が再起動された場合、不揮発性メモリに記憶されているカウンタ値に所定値を加算した値をデータに格納する。

Description

通信装置、通信システム及び通信方法
 本発明は、通信装置間におけるデータ通信において、通信データの漏洩や改ざん、なりすましを防止する通信装置、通信システム及び通信方法に関する。
 従来、通信装置間で通信を行ってデータを送受信するシステムが検討されている。このようなシステムにおいて、通信装置間でデータ通信を実行する場合、セキュリティ確保が重要な問題である。特に、外部からのアクセスが可能な公開通信路を利用した通信を行なう場合等には、データ漏洩や改ざん、成りすましによる攻撃等にさらされる可能性が高まる。
 このような問題に対して、キャプチャした暗号データをそのまま再使用することで送信者に成りすますリプレイ攻撃を防止するために、送受信それぞれの通信装置においてカウンタ値を用い、自己のカウンタ値と受信するカウンタ値とを比較することによって、通信装置の同期確認を行うシステムが知られている(例えば、特許文献1)。
特開2007-13366号公報
 しかしながら、特許文献1のシステムでは、送信側のエンティティが再起動等された場合、送信側のエンティティが記憶部に記憶しているカウンタ値が初期化されるため、受信側のエンティティで認証を行うことができなくなる。また、再度の認証を行うためには、送受信それぞれのエンティティの初期化処理が必要となり、時間がかかる。
 本発明は、上記課題に鑑みてなされたものであって、送信側の通信装置が再起動等された場合でも、通信装置間の鍵共有を再度することなく、短時間で通信装置間のデータ送受信を再開することができる通信装置、通信システム、及び通信方法を提供することを目的とする。
 前記従来の課題を解決するために、本発明の一態様に係る通信装置は、他の通信装置にデータフレームを送信する通信装置であって、揮発性のメモリであり、前記他の通信装置で受信された前記データフレームと、前記通信装置から送信された前記データフレームとが一致しているか否かを前記他の通信装置が判定するためのカウンタ値を記憶する第1のメモリと、前記第1のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値が格納されたデータフレームを作成するフレーム作成部と、前記データフレームを前記他の通信装置に送信する通信部と、前記通信部が前記データフレームを送信するごとに、当該データフレームに格納された前記カウンタ値を前記第1のメモリに更新して記憶させる記憶指示部と、不揮発性のメモリである第2のメモリと、を備え、前記カウンタ値は、前記通信部が前記データフレームを送信するごとに加算され、前記記憶指示部は、所定の間隔ごとに、前記データフレームに格納された前記カウンタ値を前記第2のメモリに記憶させ、前記フレーム作成部は、前記通信装置が再起動された場合、前記第2のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値に所定値を加算した値を、前記データフレームに格納する。
 尚、これらの全般的または包括的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROM等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されても良い。
 本態様によれば、送信側の通信装置が再起動等された場合でも、通信装置間の鍵共有を再度することなく、短時間で通信装置間のデータ送受信を再開することができる。また、不揮発メモリへの書き込み頻度を少なくすることができる。その結果、通信装置の不揮発メモリの劣化を抑え、送信側の通信装置が故障する可能性を低減することができる。
実施の形態1に係る通信装置の機能ブロック図の例である。 実施の形態1に係る通信装置間で送受信されるデータフレームの構成例を表す図である。 実施の形態1に係る通信装置間の鍵共有の動作を示すフローチャートである。 実施の形態1に係る通信装置間の通信シーケンスの例である。 実施の形態1に係る通信装置(送信側)の動作を示すフローチャートである。 実施の形態1に係る通信装置(送信側)が再起動した後のデータフレーム送信処理を示すフローチャートである。 実施の形態1に係る通信装置(受信側)の動作を示すフローチャートである。 実施の形態2に係る通信装置の機能ブロック図の例である。 実施の形態2に係る通信装置間の通信シーケンスの例である。
 (1)本発明の一態様に係る通信装置は、他の通信装置にデータフレームを送信する通信装置であって、揮発性のメモリであり、前記他の通信装置で受信された前記データフレームと、前記通信装置から送信された前記データフレームとが一致しているか否かを前記他の通信装置が判定するためのカウンタ値を記憶する第1のメモリと、前記第1のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値が格納されたデータフレームを作成するフレーム作成部と、前記データフレームを前記他の通信装置に送信する通信部と、前記通信部が前記データフレームを送信するごとに、当該データフレームに格納された前記カウンタ値を前記第1のメモリに更新して記憶させる記憶指示部と、不揮発性のメモリである第2のメモリと、を備え、前記カウンタ値は、前記通信部が前記データフレームを送信するごとに加算され、前記記憶指示部は、所定の間隔ごとに、前記データフレームに格納された前記カウンタ値を前記第2のメモリに記憶させ、前記フレーム作成部は、前記通信装置が再起動された場合、前記第2のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値に所定値を加算した値を、前記データフレームに格納する。
 (2)(1)において、例えば、前記記憶指示部が、前記カウンタ値を前記第2のメモリに記憶させる所定の間隔は、前記通信部が送信する前記データフレームに格納される前記カウンタ値が所定値増加するごととしても良い。
 これにより、通信装置の不揮発メモリへの書き込み頻度を減らすことができる。その結果、不揮発メモリの劣化を抑え、送信側の通信装置が故障する可能性を低減することができる。
 (3)(1)において、例えば、前記記憶指示部が、前記カウンタ値を前記第2のメモリに記憶させる所定の間隔は、前記通信部が前記データフレームを所定の回数送信するごととしても良い。
これにより、通信装置の不揮発メモリへの書き込み頻度を減らすことができる。
 これにより、不揮発メモリの劣化を抑え、送信側の通信装置が故障する可能性を低減することができる。
 (4)(1)において、例えば、前記記憶指示部が、前記カウンタ値を前記第2のメモリに記憶させる所定の間隔は、所定の時間としても良い。
 これにより、送信側の通信装置が再起動等された場合でも、通信装置間の鍵共有を再度することなく、短時間で通信装置間のデータ送受信を再開することができる。
 (5)(1)~(4)のいずれか1つにおいて、例えば、前記通信装置が再起動された場合、前記フレーム作成部が、前記データフレームに格納する値として、前記第2のメモリから読み出した前記カウンタ値に加算する所定値は、前記記憶指示部が前記カウンタ値を前記第2のメモリに記憶させる所定の間隔に、増加した前記カウンタ値の増加分としても良い。
 これにより、送信側の通信装置が再起動等された場合でも、短時間で通信装置間のデータ送受信を再開することができる。
 (6)(1)~(4)のいずれか1つにおいて、例えば、前記通信装置が再起動された場合、前記フレーム作成部が、前記データフレームに格納する値として、前記第2のメモリから読み出した前記カウンタ値に加算する所定値は、前記通信部が前記データフレームを送信する送信頻度と、前記所定の間隔とにより算定しても良い。
 (7)(6)において、例えば、前記所定値は、前記通信部が前記データフレームを送信する送信頻度と、前記所定の間隔とを乗じた値としても良い。
 これにより、揮発性メモリに記憶されるカウンタ値を余分に増やすことを防ぐことができる。更に、短時間で通信装置間のデータ送受信を再開することができる。
 (8)(1)~(4)のいずれか1つにおいて、例えば、前記通信装置が再起動された場合、前記フレーム作成部が、前記データフレームに格納する値として、前記第2のメモリから読み出した前記カウンタ値に加算する所定値は、前記記憶指示部が前記カウンタ値を前記第2のメモリに記憶させる所定の間隔に、増加した前記カウンタ値の増加分よりも小さい数としても良い。
 これにより、揮発性メモリに記憶されるカウンタ値を余分に増やすことを防ぐことができる。更に、短時間で通信装置間のデータ送受信を再開することができる。
 (9)(8)において、例えば、前記通信部が送信する前記データフレームが前記他の通信装置に認証されない場合、前記第2のメモリから読み出した前記カウンタ値に、前記所定値よりも大きい値を加算しても良い。
 これにより、揮発性メモリに記憶されるカウンタ値を余分に増やすことを防ぐことができる。更に、短時間で通信装置間のデータ送受信を再開することができる。
 (10)(1)~(9)のいずれか1つにおいて、例えば、前記カウンタ値を前記第2のメモリに記憶させる所定の間隔の指示を受け付ける記憶間隔受信部を備えても良い。
 これにより、各送信側の通信装置のデータフレーム送信時間が異なる場合でも、各送信側の通信装置は、適したタイミングでデータフレームを送信できる。
 (11)本発明の一態様に係る通信方法は、他の通信装置にデータフレームを送信する通信装置が実行する、データフレームの通信方法であって、前記他の通信装置で受信された前記データフレームと、前記通信装置から送信された前記データフレームとが一致しているか否かを前記他の通信装置が判定するためのカウンタ値を揮発性のメモリである第1のメモリに記憶し、前記第1のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値が格納されたデータフレームを作成し、前記データフレームを前記他の通信装置に送信し、前記データフレームを送信するごとに、当該データフレームに格納された前記カウンタ値を前記第1のメモリに更新して記憶させ、前記データフレームを送信するごとに前記カウンタ値を加算し、所定の間隔ごとに、前記データフレームに格納された前記カウンタ値を前記第2のメモリに記憶させ、前記通信装置が再起動された場合、前記第2のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値に所定値を加算した値を、前記データフレームに格納しても良い。
 (12)本発明の一態様に係る通信システムは、通信装置から、他の通信装置にデータフレームを送信する通信システムであって、揮発性のメモリであり、前記他の通信装置で受信された前記データフレームと、前記通信装置から送信された前記データフレームとが一致しているか否かを前記他の通信装置が判定するためのカウンタ値を記憶する第1のメモリと、前記第1のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値が格納されたデータフレームを作成するフレーム作成部と、前記データフレームを前記他の通信装置に送信する通信部と、前記通信部が前記データフレームを送信するごとに、当該データフレームに格納された前記カウンタ値を前記第1のメモリに更新して記憶させる記憶指示部と、不揮発性のメモリである第2のメモリと、を備え、前記フレーム作成部は、前記通信装置が再起動された場合、前記第2のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値に所定値を加算した値を、前記データフレームに格納する、通信装置と、前記通信装置から送信される前記データフレームを受信し、受信した前記データフレームと、前記通信装置から送信された前記データフレームとが一致しているかを認証する、他の通信装置と、を備えても良い。
 以下、本願発明の実施の形態について、図面を用いて説明する。
 尚、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。
 以下の実施の形態で示される数値、形状、構成要素、構成要素の配置位置及び接続形態、処理のステップ、ステップの順序等は、一例である。したがって、これらの各形態により、本発明が限定されるものではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 <実施の形態1>
 実施の形態1に係る通信装置は、揮発性メモリとは別に不揮発性メモリを備え、所定の間隔でカウンタ値を不揮発性メモリに記憶させる通信装置である。そして、実施の形態1に係る通信装置は、再起動時に、当該不揮発性メモリに記憶されているカウンタ値を読み出し、所定値を加算した値を、データフレームに格納し、他の通信装置に送信することができる。
 図1は、実施の形態1に係る通信装置1及び通信装置2の機能ブロック図の例を表す。
 送信側の通信装置である通信装置1は、カウンタ算定部101と、フレーム作成部102と、通信部103と、記憶指示部104と、第1のメモリ105と、第2のメモリ106とを含む。
 カウンタ算定部101は、データフレームのヘッダ201内に格納するフレームカウンタ値を算定する。具体的には、第1のメモリ105または第2のメモリ106に記憶されているフレームカウンタ値を読み出し、当該フレームカウンタ値に1を加算して、データフレームのヘッダ201内に格納するフレームカウンタ値を算定する。
 フレーム作成部102は、カウンタ算定部101が算定するフレームカウンタ値等を用いてヘッダ201を生成する。また、フレーム作成部102は、改ざん防止のための改ざん検知コードをヘッダ201の一部と暗号化前の通信データを基に生成する。更に、フレーム作成部102は、通信データ及び改ざん検知コードを暗号化して暗号化ペイロード202、暗号化改ざん検知コード203を生成し、データフレームを作成する。尚、フレーム作成部102が、カウンタ算定部101の機能を果たしても良い。このデータフレームの内容については、図2を用いて説明する。
 通信部103は、フレーム作成部102が作成するデータフレームを通信装置2に送信する。
 記憶指示部104は、通信部103がデータフレームを通信装置2に送信するごとに、送信されるデータフレームに格納されているフレームカウンタ値を、第1のメモリ105に記憶させる。また、記憶指示部104は、通信部103が送信する前記データフレームに格納される前記カウンタ値が所定値増加するごとに、送信されるデータフレームに格納されているフレームカウンタ値を、第2のメモリ106に記憶させる。記憶指示部104が、フレームカウンタ値を第2のメモリ106に記憶させる間隔は、通信部103がデータフレームを通信装置2に送信する一定の回数ごとや不定の回数ごとであっても良い。また、一定の時間や不定の時間ごとであっても良く、これらの例に限られない。
 第1のメモリ105は、揮発性のメモリであり、通信装置1の電源が切断された場合、または、通信装置1が再起動等された場合、当該記憶内容が失われる。
 第2のメモリ106は、不揮発性のメモリであり、通信装置1の電源が切断された場合、または、通信装置1が再起動等された場合でも、当該記憶内容は保持される。
 受信側の通信装置である通信装置2は、通信部111と、第3のメモリ112と、カウンタ判定部113とを含む。
 通信部111は、カウンタ判定部113を含む。通信部111は、通信装置1から送信されるデータフレームを受信する。また、通信部111は、新たに受信したデータフレームが正しい通信装置1から送信されたデータフレームであると認証した場合、通信装置1にACKを送信する。
 第3のメモリ112は、過去に同じ通信装置1から受信したデータフレームに格納されたフレームカウンタ値を記憶している。
 カウンタ判定部113は、通信部111が新たに受信したデータフレームのヘッダ201に格納されているフレームカウンタ値と、第3のメモリ112が記憶しているフレームカウンタ値とを取得する。そして、カウンタ判定部113は、新たに受信したデータフレームに格納されているフレームカウンタ値と、記憶している過去のフレームカウンタ値との比較を行う。このとき、新たに受信したデータフレームに格納されているフレームカウンタ値が、記憶している過去のフレームカウンタ値以下の場合、通信部111は、新たに受信したデータフレームを破棄する。新たに受信したデータフレームに格納されているフレームカウンタ値が、記憶している過去のフレームカウンタ値よりも大きい場合、通信部111は、暗号化ペイロード202と暗号化改ざん検知コード203を復号する。通信部111は、フレームカウンタ値を含むヘッダの一部と復号されたペイロードを基に算出した値と、復号された改ざん検知コードとが一致すると、新たに受信したデータフレームは正しい通信装置1から送信されたデータフレームであると認証する。
 これにより、通信データの漏洩や改ざん、なりすましを防止して、通信装置間における安全なデータ通信を行うことができる。
 尚、通信装置1は、通信装置2の構成を備える構成としても良く、その場合、同一の構成である通信装置1間で、データ通信を行うことができる。
 図2は、本発明の実施の形態1に係る通信装置間で送受信されるデータフレームの構成例を表す図である。図2において、データフレームは、ヘッダ201と、暗号化ペイロード202と、暗号化改ざん検知コード203とを含む。
 ヘッダ201は、フレームカウンタ値と、通信装置1のアドレス情報とを含む。
 暗号化ペイロード202は、フレームカウンタ値や通信装置1のアドレス情報等から生成されるノンスを使用して、AES-Counter with CBC-MAC(AES―CCM)等の共通鍵暗号方式により通信データを暗号化したものである。
 暗号化改ざん検知コード203は、暗号化前の通信データとフレームカウンタ値を含むヘッダ201の一部に基づいて算出された改ざん検知コードを通信データと同様に暗号化したものであり、データの完全性を保証するために用いられる。
 以下、実施の形態1に係る通信装置1のデータ通信における動作について、図3~図7を用いて説明する。
 図3は、実施の形態1に係る通信装置間の鍵共有の動作を示すフローチャートを表す。
 まず、通信装置1と通信装置2との間で鍵共有のプロトコルを行い(S301)、利用する暗号方式用の鍵を共有する(S302)。
 その後、データフレームに格納されるフレームカウンタ値をリセットし(S303)、データフレームを送受信する(S304)。
 通信装置2において、フレームカウンタ値がオーバーフローする可能性があると判断した場合(S305でYES)、S301に戻り、鍵共有のプロトコルを再度行い、共通鍵を更新し、フレームカウンタ値をリセットしても良い。共通鍵の更新のトリガーはこの例に限られず、通信装置1から鍵共有のプロトコルを再度行うようにしても良い。
 図4は、実施の形態1に係る通信装置間の通信シーケンスの例を表す。
 ここでは、カウンタ算定部101が、フレームカウンタ値に加算する値は1とする。
 また、ここでは、記憶指示部104がフレームカウンタ値を第2のメモリ106に記憶させる間隔は、フレームカウンタ値が一定値α増加するごととするが、この例に限られない。即ち、記憶指示部104がフレームカウンタ値を第2のメモリ106に記憶させる間隔は、通信部103がデータフレームを所定の回数送信するごととしても良く、所定の時間(例えば1分、1時間等)ごととしても良い。
 また、ここでは、通信装置1の再起動時に、カウンタ算定部101が第2のメモリ106が記憶しているフレームカウンタ値に加算する値(β)は、α以上の一定値とするが、この例に限られない。βの他のパターンは後述する。
 まず、通信部103は、フレームカウンタ値N-1を格納したデータフレームを通信装置2に送信する(S401)。このとき、記憶指示部104は、送信したデータフレームに格納されているフレームカウンタ値N-1を、第1のメモリ105に記憶させる(S402)。
 次に、通信部103は、フレームカウンタ値Nを格納したデータフレームを通信装置2に送信する(S403)。このとき、第2のメモリ106に記憶されているフレームカウンタ値はN-αであり、通信部103が通信装置2に送信するデータフレームに格納されるフレームカウンタ値Nとの差がαであるとする。このとき、記憶指示部104は、送信したデータフレームに格納されているフレームカウンタ値Nを、第1のメモリ105及び第2のメモリ106に記憶させる(S404)。
 その後、S401と同様に、通信部103は、フレームカウンタ値N+1を格納したデータフレームを通信装置2に送信する(S405)。このとき、記憶指示部104は、S402と同様に、送信したデータフレームに格納されているフレームカウンタ値N+1を、第1のメモリ105に記憶させる(S406)。
 ここで、通信装置1が再起動された場合(S407)、カウンタ算定部101は、第2のメモリ106に記憶されているフレームカウンタ値Nを読み出す。カウンタ算定部101は、読み出したフレームカウンタ値Nにβを加算して、データフレームのヘッダ201内に格納するフレームカウンタ値N+βを算定する(S408)。
 その後、S403と同様に、通信部103は、フレームカウンタ値N+βを格納したデータフレームを通信装置2に送信する(S409)。このとき、記憶指示部104は、S404と同様に、送信したデータフレームに格納されているフレームカウンタ値N+βを、第1のメモリ105及び第2のメモリ106に記憶させる(S410)。
 図5は、実施の形態1に係る通信装置1(送信側)の動作を示すフローチャートを表す。
 まず、通信装置1は、再起動されたか否か判定する(S501)。
 通信装置1が再起動されていない場合(S501でNO)、通信装置1がアプリケーション等の上位層からデータの送信要求を受けると、カウンタ算定部101は、第1のメモリ105からフレームカウンタ値を読み出す。そして、カウンタ算定部101は、読み出したフレームカウンタ値をインクリメントした値を新しいフレームカウンタ値として算定する(502)。
 尚、通信装置1が再起動された場合(S501でYES)の再起動時データフレーム送受信処理(S508)については、図6を用いて説明する。また、図5では、データフレーム送信処理の最初に、通信装置1が再起動されたか否かを判定しているが、この例に限られない。即ち、S502以降で通信装置1が再起動された場合には、それまでの処理を初期化してS508の処理を行うとしても良い。
 フレーム作成部102は、S502で算定されたフレームカウンタ値等を含むヘッダ201、通信データを暗号化した暗号化ペイロード202、及び暗号化改ざん検知コード203の作成を行い、送信するデータフレームを作成する(S503)。
 通信部103は、S503で作成されたデータフレームを通信装置2に送信する(S504)。
 記憶指示部104は、送信したデータフレームに格納されるフレームカウンタ値を第1のメモリ105に記憶させる(S505)。
 その後、記憶指示部104は、送信したデータフレームに格納されたフレームカウンタ値が、第2のメモリ106に記憶されている値からα以上増加したか否かを判定する(S506)。
 送信したデータフレームに格納されたフレームカウンタ値が、第2のメモリ106に記憶されている値からα増加した場合(S506でYES)、記憶指示部104は、送信したデータフレームに格納されたフレームカウンタ値を第2のメモリ106に記憶させる(S507)。
 次に、図6を用いて、通信装置1(送信側)が再起動した後のデータフレーム送信処理を説明する。
 尚、通信装置1が再起動されていない場合(S501でYES)と同一の処理については、同一の符号を付し、その説明を省略する。
 通信装置1がアプリケーション等の上位層からデータの送信要求を受けると、カウンタ算定部101は、第2のメモリ106からフレームカウンタ値を読み出す。そして、カウンタ算定部101は、読み出したフレームカウンタ値にβを加えた値を新しいフレームカウンタ値として算定する(S601)。続いて、通信装置1は、S503及びS504の処理を行う。
 その後、通信装置1は、データフレームの送信が成功した場合に通信装置2から送られるACKによって、データフレームの送信が成功したか否かを判定する(S605)。送信が成功しない場合(S605でNO)、S601に戻り、フレームカウンタ値を再度算定する。一方、送信が成功した場合(S605でYES)、S505の処理を行う。
 図7は、実施の形態1に係る通信装置2(受信側)の動作を示すフローチャートを表す。
 まず、通信部111は、通信装置1から送信されるデータフレームを受信する。そして、カウンタ判定部113は、通信部111が新たに受信したデータフレームのヘッダ201に格納されているフレームカウンタ値と通信装置1のアドレス情報を取得する(S701)。
 次に、カウンタ判定部113は、第3のメモリ112から、過去に同じ通信装置1から受信したデータフレームに格納されたフレームカウンタ値を読み出す(S702)。
 カウンタ判定部113は、新たに受信したデータフレームに格納されているフレームカウンタ値と、記憶している過去のフレームカウンタ値との比較を行う(S703)。
 新たに受信したデータフレームに格納されているフレームカウンタ値が、記憶している過去のフレームカウンタ値よりも大きい場合(S703でYES)、通信部111は、暗号化ペイロード202を復号後、フレームカウンタ値を含むヘッダの一部と復号されたペイロードを基に算出した値と、受信した暗号化改ざん検知コード203とが一致すると、新たに受信したデータフレームは正しい通信装置1から送信されたデータフレームであると認証する。そして、通信部111は、通信装置1にACKを送信する(S704)。
 その後、通信部111は、新たに受信したデータフレームに格納されているフレームカウンタ値を、第3のメモリ112に記憶させる(S705)。
 一方、新たに受信したデータフレームに格納されているフレームカウンタ値が、記憶している過去のフレームカウンタ値以下の場合(S703でNO)、通信部111は、新たに受信したデータフレームを破棄する(S706)。
 実施の形態1に係る通信装置1によれば、第2のメモリ106へのフレームカウンタ値の記憶をデータフレーム送信ごとではなく、フレームカウンタ値が一定値αカウントアップするごとに行う。これにより、第2のメモリ106へのアクセス回数を抑えることができる。その結果、不揮発メモリの寿命を縮めることなく、成りすましによるリプレイ攻撃を防ぐことができる。また、再起動後に相手通信装置との間の鍵共有のプロトコルを再度行う必要がないため、再起動しても、即座に通信を再開可能である。
 また、通信装置1の再起動時に、カウンタ算定部101が、第2のメモリ106が記憶しているフレームカウンタ値に加算する値(β)は、所定の時間中に通信装置1が送信する最大データフレーム数の推定値としても良い。即ち、通信部103がデータフレームを送信する送信頻度と、記憶指示部104がフレームカウンタ値を第2のメモリ106に記憶させる所定の間隔とを乗じた値としても良い。
 尚、この推定値は、システム設計の時点で固定値として設定しても良いし、通信装置1が実際の通信した統計情報から適応的に設定しても良い。
 また、通信装置1の再起動時に、カウンタ算定部101が、第2のメモリ106が記憶しているフレームカウンタ値に加算する値(β)は、αよりも小さい数としても良い。この場合、カウンタ算定部101は、第2のメモリ106からフレームカウンタ値を読み出す。そして、カウンタ算定部101は、読み出したフレームカウンタ値にαより小さな値(例えばα/8)を加えた値を新しいフレームカウンタ値として算定する。ここで、送信が成功しない場合、フレームカウンタ値を再度算定する。このとき、カウンタ算定部101は、読み出したフレームカウンタ値にα以下で前回加算した値より大きい値(例えばα/4)等を加算して、新しいフレームカウンタ値として算定する。通信装置1は、データフレームの送信が成功するまで以上の処理を繰り返し行う。
 これにより、フレームカウンタ値の値域が限られている場合において、通信装置1が何度も再起動されて、その都度フレームカウンタ値がカウントアップされた場合でも、フレームカウンタ値がオーバーフローする可能性を低減することができる。
 また、通信装置2において、カウンタ判定部113が、第3のメモリ112が記憶している過去に同じ通信装置1から受信したデータフレームのフレームカウンタ値と、通信部111が新たに受信したデータフレームのヘッダ201に格納されているフレームカウンタ値との比較を行う際に、新たに受信したフレームカウンタ値の方が、第3のメモリ112が記憶しているフレームカウンタ値より、β+1以上大きいと判定した場合、通信部111は、新たに受信したデータフレームを破棄しても良い。
 これにより、受信するデータフレームのフレームカウンタ値の範囲を制限することができる。その結果、成りすましによるリプレイ攻撃に対する安全性を向上できる。
 また、データフレームの送信に失敗した場合(通信装置2の生存確認が取れない場合)、通信装置2の生存確認が取れるまでデータフレームの送信を待機しても良い。ここで通信装置2の生存確認には、通信装置2が定期的に通信装置1に送信する制御フレーム等を利用しても良い。制御フレームは、例えば、ビーコンフレームやLink Statusフレームであり、これらの例に限られない。
 また、記憶指示部104は、第2のメモリ106に、直近で正常に送信できたデータフレームのフレームカウンタ値とタイムスタンプを併せて記憶させても良い。このとき、再起動時に、カウンタ算定部101は単位時間あたりの想定フレームカウンタ値更新数を考慮して推定しても良い。
 以上、図1~図7を用いて、実施の形態1における通信装置について説明した。
 これにより、送信側の通信装置が再起動等された場合でも、通信装置間の鍵共有を再度することなく、短時間で通信装置間のデータ送受信を再開することができる。また、不揮発メモリへの書き込み頻度を少なくすることができる。その結果、通信装置の不揮発メモリの劣化を抑え、送信側の通信装置が故障する可能性を低減することができる。
 <実施の形態2>
 実施の形態1に係る通信装置1は、記憶指示部104が所定の間隔を判定し、フレームカウンタ値を第2のメモリ106へ記憶させる構成であった。一方、実施の形態2に係る通信装置1は、受信側の通信装置12から、フレームカウンタ値を第2のメモリ106へ記憶させるタイミングの指示を受ける。そして、実施の形態2に係る通信装置1は、このタイミングに基づいて、フレームカウンタ値を第2のメモリ106へ記憶させる。この点が、実施の形態1に係る通信装置1と異なる。
 以下、実施の形態2の通信装置について、図8及び図9を用いて説明する。
 尚、以下の実施の形態2の通信装置1及び通信装置12において、実施の形態1の通信装置1及び通信装置2と同一の構成要素には、同一の符号を付し、その説明を省略する。
 図8は、実施の形態2に係る通信装置1及び通信装置12の機能ブロック図の例を表す。
 通信装置12は、通信部111と、第3のメモリ112と、カウンタ判定部113と、記憶タイミング指示部114とを含む。
 記憶タイミング指示部114は、通信装置1の記憶指示部104がフレームカウンタ値を第2のメモリ106へ記憶させる記憶タイミング指示を、通信部111に送信させる。通信部111は、その記憶タイミング指示を通信装置1の通信部103に送信する。
 通信装置1の通信部103は、通信装置12の通信部111から記憶タイミング指示を受信する。
 そして、記憶指示部104は、通信部103が受信した記憶タイミング指示を受け、フレームカウンタ値を第2のメモリ106へ記憶させる。
 図9は、実施の形態2に係る通信装置間の通信シーケンスの例を表す。
 通信装置12は、受信したデータフレームに格納されるフレームカウンタ値を取得する(S403)。そして、記憶タイミング指示部114は、記憶指示部104がフレームカウンタ値を第2のメモリ106へ記憶させる所定のタイミングであると判定した場合、通信装置1に対して、記憶タイミング指示を行う(S411)。
 記憶指示部104は、記憶タイミング指示部114からの記憶タイミング指示を受け、フレームカウンタ値を第2のメモリ106へ記憶させる(S404)。
 通信装置1が再起動された後に、通信装置12がデータフレームを受信した場合も、同一の処理を行う。
 以上、図8及び図9を用いて、実施の形態2の通信装置1及び通信装置12について説明した。
 以上の説明はあらゆる点において本願発明の例示に過ぎず、その範囲を限定しようとするものではない。また、本願発明の範囲を逸脱することなく、実施の形態1または実施の形態2に対して、種々の改良や変形を行うことができることは言うまでもない。
 本発明にかかる通信装置、通信システム及び通信方法は、セキュリティ性が求められるネットワーク・システム等に適用できる。
 1、2、12 通信装置
 101 カウンタ算定部
 102 フレーム作成部
 103、111 通信部
 104 記憶指示部
 105 第1のメモリ
 106 第2のメモリ
 112 第3のメモリ
 113 カウンタ判定部
 114 記憶タイミング指示部
 201 ヘッダ
 202 暗号化ペイロード
 203 暗号化改ざん検知コード

Claims (12)

  1.  他の通信装置にデータフレームを送信する通信装置であって、
     揮発性のメモリであり、前記他の通信装置で受信された前記データフレームと、前記通信装置から送信された前記データフレームとが一致しているか否かを前記他の通信装置が判定するためのカウンタ値を記憶する第1のメモリと、
     前記第1のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値が格納されたデータフレームを作成するフレーム作成部と、
     前記データフレームを前記他の通信装置に送信する通信部と、
     前記通信部が前記データフレームを送信するごとに、当該データフレームに格納された前記カウンタ値を前記第1のメモリに更新して記憶させる記憶指示部と、
     不揮発性のメモリである第2のメモリと、を備え、
     前記カウンタ値は、前記通信部が前記データフレームを送信するごとに加算され、
     前記記憶指示部は、所定の間隔ごとに、前記データフレームに格納された前記カウンタ値を前記第2のメモリに記憶させ、
     前記フレーム作成部は、前記通信装置が再起動された場合、前記第2のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値に所定値を加算した値を、前記データフレームに格納する、
     通信装置。
  2.  前記記憶指示部が、前記カウンタ値を前記第2のメモリに記憶させる所定の間隔は、前記通信部が送信する前記データフレームに格納される前記カウンタ値が所定値増加するごととする、
     請求項1に記載の通信装置。
  3.  前記記憶指示部が、前記カウンタ値を前記第2のメモリに記憶させる所定の間隔は、前記通信部が前記データフレームを所定の回数送信するごととする、
     請求項1に記載の通信装置。
  4.  前記記憶指示部が、前記カウンタ値を前記第2のメモリに記憶させる所定の間隔は、所定の時間とする、
     請求項1に記載の通信装置。
  5.  前記通信装置が再起動された場合、前記フレーム作成部が、前記データフレームに格納する値として、前記第2のメモリから読み出した前記カウンタ値に加算する所定値は、前記記憶指示部が前記カウンタ値を前記第2のメモリに記憶させる所定の間隔に、増加した前記カウンタ値の増加分とする、
     請求項1~4のいずれか1項に記載の通信装置。
  6.  前記通信装置が再起動された場合、前記フレーム作成部が、前記データフレームに格納する値として、前記第2のメモリから読み出した前記カウンタ値に加算する所定値は、前記通信部が前記データフレームを送信する送信頻度と、前記所定の間隔とにより算定する、
     請求項1~4のいずれか1項に記載の通信装置。
  7.  前記所定値は、前記通信部が前記データフレームを送信する送信頻度と、前記所定の間隔とを乗じた値とする、
     請求項6に記載の通信装置。
  8.  前記通信装置が再起動された場合、前記フレーム作成部が、前記データフレームに格納する値として、前記第2のメモリから読み出した前記カウンタ値に加算する所定値は、前記記憶指示部が前記カウンタ値を前記第2のメモリに記憶させる所定の間隔に、増加した前記カウンタ値の増加分よりも小さい数とする、
     請求項1~4のいずれか1項に記載の通信装置。
  9.  前記通信部が送信する前記データフレームが前記他の通信装置に認証されない場合、前記第2のメモリから読み出した前記カウンタ値に、前記所定値よりも大きい値を加算する、
     請求項8に記載の通信装置。
  10.  前記カウンタ値を前記第2のメモリに記憶させる所定の間隔の指示を受け付ける記憶間隔受信部を備える、
     請求項1~4のいずれか1項に記載の通信装置。
  11.  他の通信装置にデータフレームを送信する通信装置が実行する、データフレームの通信方法であって、
     前記他の通信装置で受信された前記データフレームと、前記通信装置から送信された前記データフレームとが一致しているか否かを前記他の通信装置が判定するためのカウンタ値を揮発性のメモリである第1のメモリに記憶し、
     前記第1のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値が格納されたデータフレームを作成し、
     前記データフレームを前記他の通信装置に送信し、
     前記データフレームを送信するごとに、当該データフレームに格納された前記カウンタ値を前記第1のメモリに更新して記憶させ、
     前記データフレームを送信するごとに前記カウンタ値を加算し、
     所定の間隔ごとに、前記データフレームに格納された前記カウンタ値を前記第2のメモリに記憶させ、
     前記通信装置が再起動された場合、前記第2のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値に所定値を加算した値を、前記データフレームに格納する、
    通信方法。
  12.  通信装置から、他の通信装置にデータフレームを送信する通信システムであって、
     揮発性のメモリであり、前記他の通信装置で受信された前記データフレームと、前記通信装置から送信された前記データフレームとが一致しているか否かを前記他の通信装置が判定するためのカウンタ値を記憶する第1のメモリと、
     前記第1のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値が格納されたデータフレームを作成するフレーム作成部と、
     前記データフレームを前記他の通信装置に送信する通信部と、
     前記通信部が前記データフレームを送信するごとに、当該データフレームに格納された前記カウンタ値を前記第1のメモリに更新して記憶させる記憶指示部と、
     不揮発性のメモリである第2のメモリと、を備え、
     前記フレーム作成部は、前記通信装置が再起動された場合、前記第2のメモリに記憶されている前記カウンタ値を読み出し、当該読み出した前記カウンタ値に所定値を加算した値を、前記データフレームに格納する、通信装置と、
     前記通信装置から送信される前記データフレームを受信し、受信した前記データフレームと、前記通信装置から送信された前記データフレームとが一致しているかを認証する、他の通信装置と、
     を備える通信システム。
PCT/JP2014/000462 2013-03-21 2014-01-29 通信装置、通信システム及び通信方法 WO2014147934A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015506570A JPWO2014147934A1 (ja) 2013-03-21 2014-01-29 通信装置、通信システム及び通信方法
CN201480007487.4A CN104969509B (zh) 2013-03-21 2014-01-29 通信装置、通信系统及通信方法
US14/765,158 US9800660B2 (en) 2013-03-21 2014-01-29 Communication device, communication system and communication method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013058210 2013-03-21
JP2013-058210 2013-03-21

Publications (1)

Publication Number Publication Date
WO2014147934A1 true WO2014147934A1 (ja) 2014-09-25

Family

ID=51579641

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/000462 WO2014147934A1 (ja) 2013-03-21 2014-01-29 通信装置、通信システム及び通信方法

Country Status (4)

Country Link
US (1) US9800660B2 (ja)
JP (1) JPWO2014147934A1 (ja)
CN (1) CN104969509B (ja)
WO (1) WO2014147934A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020044624A1 (ja) * 2018-08-28 2020-03-05 アルプスアルパイン株式会社 相互認証方法及び通信システム
JP2020195025A (ja) * 2019-05-27 2020-12-03 ローム株式会社 無線通信システム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769695B2 (en) * 2014-11-04 2017-09-19 Cisco Technology, Inc. Adaptive quality of service for wide area network transport
CN111404877A (zh) * 2020-02-24 2020-07-10 联合汽车电子有限公司 消息传输方法及系统
CN114764607A (zh) * 2021-01-11 2022-07-19 青岛海信宽带多媒体技术有限公司 一种计数方法、计数装置及光模块
CN114553431A (zh) * 2022-01-27 2022-05-27 北京信息科技大学 一种具有记忆功能的通信方法及装置
WO2024019655A1 (en) * 2022-07-22 2024-01-25 Schneider Electric Asia Pte Ltd Frame counter recordal and an energy limited device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010007798A1 (ja) * 2008-07-18 2010-01-21 パナソニック株式会社 送受信装置
WO2010134424A1 (ja) * 2009-05-19 2010-11-25 ソニー株式会社 データ送信方法および装置、データ通信方法および装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3491994B2 (ja) 1994-11-21 2004-02-03 富士通株式会社 通信制御装置及び方法
US7668315B2 (en) * 2001-01-05 2010-02-23 Qualcomm Incorporated Local authentication of mobile subscribers outside their home systems
US7350077B2 (en) * 2002-11-26 2008-03-25 Cisco Technology, Inc. 802.11 using a compressed reassociation exchange to facilitate fast handoff
SE526070C2 (sv) * 2003-09-22 2005-06-28 Impsys Digital Security Ab Arrangemang för datakommunikationssäkerhet och metod
JP2007013366A (ja) 2005-06-29 2007-01-18 Sony Corp 通信処理装置、通信処理システム、および方法、並びにコンピュータ・プログラム
KR101048510B1 (ko) * 2009-05-06 2011-07-11 부산대학교 산학협력단 지그비 무선 통신 프로토콜상에서의 보안성 강화 방법 및 장치
DE102009022207B4 (de) * 2009-05-20 2015-06-18 Institut für Rundfunktechnik GmbH Peer-to-Peer-Übertragungssystem für Datenströme
JP5975594B2 (ja) * 2010-02-01 2016-08-23 沖電気工業株式会社 通信端末及び通信システム
US20120284524A1 (en) * 2011-05-03 2012-11-08 Texas Instruments Incorporated Low overhead nonce construction for message security
US9544075B2 (en) * 2012-02-22 2017-01-10 Qualcomm Incorporated Platform for wireless identity transmitter and system using short range wireless broadcast
US20140133656A1 (en) * 2012-02-22 2014-05-15 Qualcomm Incorporated Preserving Security by Synchronizing a Nonce or Counter Between Systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010007798A1 (ja) * 2008-07-18 2010-01-21 パナソニック株式会社 送受信装置
WO2010134424A1 (ja) * 2009-05-19 2010-11-25 ソニー株式会社 データ送信方法および装置、データ通信方法および装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020044624A1 (ja) * 2018-08-28 2020-03-05 アルプスアルパイン株式会社 相互認証方法及び通信システム
JPWO2020044624A1 (ja) * 2018-08-28 2021-08-12 アルプスアルパイン株式会社 相互認証方法及び通信システム
JP7105894B2 (ja) 2018-08-28 2022-07-25 アルプスアルパイン株式会社 相互認証方法及び通信システム
JP2020195025A (ja) * 2019-05-27 2020-12-03 ローム株式会社 無線通信システム
JP7252829B2 (ja) 2019-05-27 2023-04-05 ローム株式会社 無線通信システム

Also Published As

Publication number Publication date
CN104969509B (zh) 2018-11-30
US20150381733A1 (en) 2015-12-31
JPWO2014147934A1 (ja) 2017-02-16
US9800660B2 (en) 2017-10-24
CN104969509A (zh) 2015-10-07

Similar Documents

Publication Publication Date Title
WO2014147934A1 (ja) 通信装置、通信システム及び通信方法
US10680833B2 (en) Obtaining and using time information on a secure element (SE)
US10630490B2 (en) Obtaining and using time information on a secure element (SE)
JP5446650B2 (ja) 通信データ新規性確認システム並びに送信端末及び受信端末
US20170279619A1 (en) Device-assisted verification
JP4701434B2 (ja) 無線通信システム及び無線通信方法
WO2016098303A1 (ja) 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
EP3609291A1 (en) Method for restoring session, device and computer storage medium
US20170250826A1 (en) Obtaining and using time information on a secure element (se)
JP2018182665A (ja) 通信装置、通信システム及び暗号化通信制御方法
US9769664B1 (en) Nonce silent and replay resistant encryption and authentication wireless sensor network
JP6367376B2 (ja) 安全なネットワーク通信のためのカオス・ベースの同期
WO2017187924A1 (ja) 演算装置、認証システム、認証方法
CN112910650B (zh) 经认证加密和解密的方法和系统
KR20150135032A (ko) Puf를 이용한 비밀키 업데이트 시스템 및 방법
US20210144130A1 (en) Method for securing communication without management of states
US20160043865A1 (en) System and method for authenticating a network time protocol (ntp)
US20190273612A1 (en) Password based key derivation function for ntp
US20220417015A1 (en) Key update method and related apparatus
CN101938500A (zh) 源地址验证方法及系统
JP6108235B2 (ja) 鍵情報制御装置、鍵情報更新装置、プログラム及び記録媒体、鍵情報更新方法、鍵情報更新システム
US20160315779A1 (en) Entity Authentication in Network
CN111835691B (zh) 一种认证信息处理方法、终端和网络设备
Bradbury et al. Trust assessment in 32 KiB of RAM: Multi-application trust-based task offloading for resource-constrained IoT nodes
US9860070B2 (en) Entity identification method, apparatus and system

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14765158

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2015506570

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14769310

Country of ref document: EP

Kind code of ref document: A1