WO2010032391A1 - 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム - Google Patents
完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム Download PDFInfo
- Publication number
- WO2010032391A1 WO2010032391A1 PCT/JP2009/004335 JP2009004335W WO2010032391A1 WO 2010032391 A1 WO2010032391 A1 WO 2010032391A1 JP 2009004335 W JP2009004335 W JP 2009004335W WO 2010032391 A1 WO2010032391 A1 WO 2010032391A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- message authentication
- authentication code
- data image
- communication device
- data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
Definitions
- the present invention relates to a communication system for verifying the integrity of a program image mainly for updating a program image via a network, a communication device on a transmission side and a reception or transfer side, a data communication method, and a data communication program.
- the update of the program image starts when the program image is set in a device that distributes the program image called a base station to the sensor nodes, and is divided into sizes suitable for deployment on the network. After dividing into the appropriate size, each is expanded to the sensor node.
- the sensor node is configured by multi-hops such as a tree structure, for example, the sensor node receives the program image and transfers it to the next-hop sensor node.
- Non-Patent Document 1 a method based on a public key cryptosystem is shown.
- the base station is realized by processing as follows at the stage of dividing the program image. First, when each divided program image is expressed as a packet, the hash value of the last packet is calculated and attached to the previous packet. Similarly, the hash value of the packet is calculated and added to the previous packet. Thereafter, the same process is repeated until the first packet is reached (hash chain). Finally, the top packet is signed with a secret key held by the base station. In this way, the receiver verifies the likelihood of the packet by verifying the leading packet with the public key, and verifies the validity of the subsequent packet by verifying the hash chain (see Non-Patent Document 1). ).
- WSN is composed of a CPU (Central Processing Unit) and a device with a limited memory whose processing speed is not sufficient compared with PC.
- CPU Central Processing Unit
- a device with a limited memory whose processing speed is not sufficient compared with PC.
- PC Central Processing Unit
- they are 8-bit microcomputers equipped with 128 Kbytes of flash memory, 4 Kbytes of SRAM, EEPROM, and the like.
- public key cryptosystems are used on these devices, there are problems of requiring calculation time and consuming a lot of memory for storing keys.
- Non-Patent Document 2 there is shown a method using a common key cryptosystem assuming the resource limitation of devices constituting the WSN.
- the base station is realized by processing as follows at the stage of dividing the program image. First, a one-way key chain is generated. In this key chain, a hash value of a key is calculated based on the first determined key, and this is the next key. By repeating this process, a key chain can be generated. This key chain is used from the last generated key and is used when calculating the hash value of the divided packet. The calculated hash value and the key used for the calculation are assigned to each packet, and the packet is expanded to the sensor node.
- the sensor node that receives this packet calculates a hash value using the assigned key and verifies the probability of the packet. At the same time, it is possible to verify the certainty of the key itself by calculating the hash value of the key itself and verifying whether the hash value is the same as the previous key.
- Non-Patent Document 2 In order to realize an efficient verification method on a device with limited resources, it is necessary to guarantee safety while using a method with the least amount of calculation as shown in Non-Patent Document 2.
- a key is first obtained from the same packet received by another sensor node, and the obtained legitimate key is used for falsification.
- a hash value is assigned to a packet that has been tampered with, the sensor node that has received the tampered packet has a problem of accepting the tampered packet as correct because a valid key is used.
- the first problem is that an illegal program image is obtained by accepting a packet that has been altered using a valid key. This is because a mechanism for verifying the integrity of a program image after transmitting a series of program images is not considered.
- an object of the present invention is to provide a method for verifying the accuracy of a program image using a common key cryptosystem that has a smaller calculation processing amount than a public key cryptosystem.
- the present invention comprises a communication device on the transmission side and a communication device on the reception or transfer side connected to the communication device via a network, and a communication system for guaranteeing integrity.
- the transmission side communication device shares a series of keys with the reception or transfer side communication device and a key for generating a message authentication code for the transmission data image.
- the message authentication code for the image is the message authentication code for the generated transmission data image.
- Means for storing a key for generating, a means for receiving a packet from the network, a means for reconstructing a data image based on the received packet, and a reconstructed data image using the stored key A communication system comprising: means for generating a message authentication code; and means for transmitting a message authentication code for the generated reconstructed data image to the network.
- the present invention also provides means for transmitting a data image, means for storing a key for generating a message authentication code for a transmission data image by sharing a series of keys with a receiving or transferring communication device, respectively, Means for generating a message authentication code for the transmission data image using the stored key; means for receiving a message authentication code for the reconstructed data image from the network; and generating the message authentication code for the received reconstructed data image And means for verifying the message authentication code by comparing whether the message authentication code for the transmitted data image is the same.
- the present invention provides a means for storing a key for generating a message authentication code for a reconstructed data image, a means for receiving a packet from a network, and a packet received from the network.
- a data image is transmitted, a series of keys is shared with a communication device on the reception or transfer side, and a key for generating a message authentication code for the transmission data image is stored.
- the message authentication code is verified by comparing whether it is the same as the message authentication code for the transmission data image, and the message authentication code for the reconstructed data image is generated on the reception or transfer side, shared with the communication device on the transmission side
- Store the key to When a packet from the network is received, a data image is reconstructed based on the received packet, a message authentication code for the reconstructed data image is generated using the stored key, and the generated reconstructed data is transmitted to the network.
- a data communication method for transmitting a message authentication code for an image is transmitted, a series of keys is shared with a communication device on the reception or transfer
- the present invention is a data communication program for realizing the function of the data communication method.
- the integrity of the transmitted data image is verified by returning the hash value for the received data image to the transmission source communication device based on the common key cryptosystem. it can. Therefore, the validity of the data image transmitted to the communication device can be verified at the transmission source without using a method such as a public key encryption method that is not easy to implement on a device with limited CPU or memory resources.
- FIG. 1 is a diagram showing a configuration of a communication system according to a first embodiment for carrying out the present invention.
- a communication system includes communication apparatuses 1 to 7 and a network 10 that connects LAN (Local Area Network) lines or WAN (Wide Area Area Network) lines. It is composed of The network 10 may be wired or wireless.
- LAN Local Area Network
- WAN Wide Area Area Network
- the communication devices 1 to 7 are devices that perform wired or wireless communication, and are generally terminal devices such as notebook PCs and mobile terminals.
- the communication devices 2 to 7 may be small devices configured with limited processing capability, memory, and communication capability such as sensor devices.
- the communication devices 2 to 7 may be configured to transfer the received packet to the next communication device. For example, when the communication device 2 receives a packet from the communication device 1, the communication device 2 transfers the packet to the communication device 4 and the communication device 5. Similarly, the communication device 3 transfers to the communication device 6 and the communication device 7. It can be easily assumed that the data is transferred to a communication device (not shown).
- the communication devices 2 to 7 return a reception confirmation message including a message authentication code (MAC) for the data image to the communication device 1.
- MAC message authentication code
- FIG. 2 shows the configuration of the communication device 1 according to the present invention.
- the communication device 1 includes a key storage unit 11, a data image input unit 12, a hash calculation unit 13, an operation result comparison unit 14, a network communication unit 15, and a transmission packet generation unit 16.
- the key storage unit 11 stores a series of keys, and each key is associated with a communication device that constitutes a network. For example, there are six keys corresponding to the communication devices 2 to 7 excluding the communication device 1 in the communication device constituting the network 10 shown in FIG.
- the key shown here may be set in advance or may be set dynamically. Details are not described here.
- the data image input unit 12 is an input unit in the communication device 1 for a data image that the communication device 1 transmits to the communication devices 2 to 7.
- This data image is, for example, an application or a program image, and is a program code that operates on the communication devices 2 to 7.
- the hash calculation unit 13 is a function that calculates a keyed hash value based on a secure hash algorithm.
- a keyed hash value is calculated using the data input value from the data image input unit 12 and the key stored in the key storage unit 11 as inputs.
- the hash calculation unit 13 is SHA-1, MD5, HMAC, or the like. The calculated value is notified to the calculation result comparison unit 14.
- the operation result comparison unit 14 compares the value calculated by the communication device 1 with the message authentication code included in the reception confirmation message received from the communication device constituting the network 10 and completes the data image sent to each communication device. It is a function to verify.
- the operation result comparison unit 14 compares the value calculated by the hash calculation unit 13 with the message authentication code received from the communication device configuring the network 10 via the network communication unit 15, and if these values are the same, It is determined that the data image sent to the communication device is correct, and if the values are different, it is determined that the data image sent to the communication device that transmitted the corresponding reception confirmation message is not correct.
- the network communication unit 15 has a function of communicating with other communication devices using wired or wireless communication.
- this is an IEEE® 802.15.4 transceiver.
- the transmission packet generator 16 has a function of dividing the data image input from the data image input unit 12 into a size suitable for transmission via the network 10 and then transmitting the data image via the network communication unit 15.
- FIG. 3 shows the configuration of the communication device 2 according to the present invention.
- the communication device 2 includes a key storage unit 21, a data image reconstruction unit 22, a hash calculation unit 23, a packet reception unit 24, and a network communication unit 25.
- the key storage unit 21 stores a key used to generate a reception confirmation message for the received data image. This key is shared with the communication apparatus 1 in advance, and is a different key for each communication apparatus. The key pre-distribution method is out of scope here.
- the data image reconstruction unit 22 has a function of collecting received packets and reconstructing them as a data image.
- the reconstructed data image is installed in the communication device 2 as an application or program image.
- the hash calculation unit 23 is a function that calculates a keyed hash value based on the secure hash algorithm, similarly to the hash calculation unit 13 in the communication device 1. Using the data input value from the data image reconstruction unit 22 and the key from the key storage unit 21 as inputs, a hash value with a key is calculated. Specifically, the hash calculation unit 23 is SHA-1, MD5, HMAC, or the like.
- the packet receiving unit 24 has a function of taking out data constituting a data image from the received packet and passing the data to the data image reconstructing unit 22.
- the network communication unit 25 has a function of communicating with other communication devices using wired or wireless communication.
- the network communication unit 25 is an IEEE 802.15.4 transceiver. .
- FIG. 4 illustrates a flow when the reception confirmation message is transmitted in the communication device 2 and a flow when the reception confirmation message is received in the communication device 1 in FIG.
- the transmission packet generation unit 16 of the communication device 1 divides the data image input from the data image input unit 12 for each packet to be transmitted.
- the divided packets are sequentially transmitted to the communication devices 2 to 7 connected to the network 10 via the network communication unit 15.
- the communication device 2 When the communication device 2 receives the packet from the communication device 1 (step A1), the communication device 2 stores the packet in the memory of the communication device 2 (not shown) to form a data image. Specifically, the packet receiving unit 24 that has acquired a packet via the network communication unit 25 of the communication device 2 extracts data constituting a data image from the packet and notifies the data image reconstruction unit 22 of the data. Thereafter, the same operation is performed every time a packet is received.
- the data image reconstruction unit 22 stores the data acquired from the packet reception unit 24 and reconstructs the data image. The packet reception is continued until the data image reconstruction is completed (steps A2 to A1).
- a keyed hash value for the reconstructed data image is calculated.
- the hash calculation unit 23 acquires a key unique to the communication device 2 shared with the communication device 1 from the key storage unit 21 (step A3), and uses the acquired key for the entire data image.
- the keyed hash value is calculated (step A4).
- the hash algorithm is HMAC-SHA-1 using SHA-1
- the communication apparatus has a key of 64 bytes or more
- the output hash value is 20 bytes.
- the key length and the length of the hash value are not limited to this, and may be different from this, but the input key length is preferably longer than the length of the output hash value.
- the communication device 2 transmits a reception confirmation message including the calculated keyed hash value to the communication device 1 (step A5).
- the communication device 1 compares the hash value for the data image calculated by the communication device 1 (step B2). Specifically, the hash calculation unit 13 of the communication device 1 acquires the key shared with the communication device 2 from the key storage unit 11 and uses the key to transmit the data image from the data image input unit 12 that has already been transmitted. Calculate a keyed hash value for the whole.
- the operation result comparison unit 14 compares the hash value calculated by the communication device 1 with the message authentication code included in the reception confirmation message from the communication device 2.
- the hash algorithm of the hash calculation unit 13 uses the same algorithm as the hash algorithm of the hash calculation unit 23 of the communication device 2.
- the calculation of the hash value in the communication device 1 may be performed using the corresponding key when the reception confirmation message from the communication device 2 is received, or is handled in advance before the reception confirmation message is received.
- the calculation may be performed using the key to be used, either of which may be performed, but it is preferable to perform the calculation in advance because the processing time can be reduced.
- the reception confirmation message from the communication device 2 is provided with information for identifying that the message is from the communication device 2, and from which communication device the received communication device 1 is a message. Identify
- the calculation result comparison unit 14 of the communication device 1 compares the hash value calculated by the communication device 1 with the hash value received from the communication device 2 (step B2). It is determined that the data image sent to the device 2 has not been tampered with (step B3). If these values are not the same, it is determined that the data image sent to the communication device 2 is different from the original data image and may have been tampered with (step B4).
- the communication device 1 determines that the previously sent data image may have been tampered with, the data image may be sent again, or the network management is performed without sending the data image. You may make it notify a person.
- a series of operations of transmitting and confirming the reception confirmation message in the above-described data image reception is performed every time the data image is transmitted from the communication device 1.
- the network 10 may be wired, but in the embodiment of the present invention, it is suitable to use wireless communication, particularly a wireless communication protocol represented by IEEE 802.15.4 or ZigBee.
- the communication devices 3 to 7 can also verify whether the data image sent to each communication device in the communication device 1 has been falsified by performing the same operation as the communication device 2. Same as 2. In this embodiment, the communication devices 2 and 3 have a function of relaying messages between the communication devices, but other than that is not necessarily required.
- the first effect of this embodiment is that the integrity of the data image can be verified even when a method based on the common key encryption method is used. This is because the falsification of the data image is verified by calculating a hash value using a key unique to each communication device and returning the calculated hash value to the communication device that is the transmission source of the data image. .
- the second effect of the first embodiment of the present invention is not only to detect impersonation of a data image, but also to which communication device has acquired the impersonated data image. It can be detected. This is because the hash value is calculated using a key unique to the communication device so that the communication device that has calculated the hash value can be identified. (Second Embodiment)
- the second embodiment is different from the first embodiment in that only the aggregation calculation result is returned after the message authentication code is aggregated by the communication device on the way.
- the communication system of the second embodiment includes communication devices 101 to 107 and a network 110, and this configuration is the same as that of the first embodiment.
- the communication apparatus 101 includes a key storage unit 111, a data image input unit 112, a hash calculation unit 113, an operation result comparison unit 114, a network communication unit 115, a transmission packet generation unit 116, and a reference data aggregation calculation unit 117.
- the received data aggregation calculation unit 118 is included.
- the key storage unit 111, the data image input unit 112, the hash calculation unit 113, the calculation result comparison unit 114, the network communication unit 115, and the transmission packet generation unit 116 are respectively the key storage unit 11 and the data image input in the first embodiment. This corresponds to the unit 12, the hash calculation unit 13, the calculation result comparison unit 14, the network communication unit 15, and the transmission packet generation unit 16.
- the communication device 101 in this embodiment is different from the first embodiment in that it includes a reference data aggregation calculation unit 117 and a reception data aggregation calculation unit 118, and the other configuration is the same as that of the first embodiment. Further, the operation of the operation result comparison unit 114 is partially different from that of the first embodiment.
- the reference data aggregation calculation unit 117 is a function for performing an aggregation calculation on the calculation values from the hash calculation unit 113. For example, the result of the aggregation calculation for the six hash calculation results calculated using the keys corresponding to the communication devices 102 to 107 constituting the network 110 excluding the own communication device 101 is sent to the calculation result comparison unit 114. Notice. For example, XOR (eXclusive OR: exclusive OR) is used as an aggregation calculation method, but another calculation method such as an addition method may be used.
- the reception data aggregation calculation unit 118 is a function for performing aggregation calculation on the reception data from the communication devices constituting the network.
- the calculation result comparison unit 117 is notified of the result of calculation using XOR as the aggregation calculation method for the data received from the communication devices constituting the network 110.
- the message authentication code from the communication device constituting the network 110 is not necessarily received individually, but the result of the aggregation calculation is received along the route.
- the operation result comparison unit 114 compares the message authentication codes aggregated as a result of receiving the value calculated by the communication device 101 and the communication device constituting the network 110, and confirming the integrity of the data image sent to each communication device. It is a function to verify.
- the calculation result comparison unit 114 compares the aggregation results from the reference data aggregation calculation unit 117 and the received data aggregation calculation unit 118, and if the values are the same, the data image sent to each communication device is all correct. If the values are different, it is determined that at least one of the data images sent to each communication device is not correct.
- the communication device 102 includes a key storage unit 121, a data image reconstruction unit 122, a hash calculation unit 123, a packet reception unit 124, a network communication unit 125, and a data aggregation calculation unit 126.
- the key storage unit 121, the data image reconstruction unit 122, the hash calculation unit 123, the packet reception unit 124, and the network communication unit 125 are respectively the key storage unit 21 and the data image reconstruction unit in the first embodiment. 22, a hash calculation unit 23, a packet reception unit 24, and a network communication unit 25.
- This embodiment is different from the first embodiment in that the data aggregation calculation unit 126 is provided, and the other configuration is the same as that of the first embodiment.
- the data aggregation calculation unit 126 has a function of aggregating one or more received message authentication codes and its own message authentication code calculated by the communication apparatus 102. More specifically, only the result obtained by calculating the two message authentication codes received from the communication devices 104 and 105 and the own message authentication code calculated by the communication device 102 using the XOR as the aggregation calculation method is sent to the communication device 101. Provide a notification function.
- the operation of the communication devices 104 to 107 located at the end of the communication devices constituting the network 110 is the same as that of the communication device 102 or communication.
- the operation is the same as that of the first embodiment in that the device 103 is notified.
- the communication device 102 or 103 simply forwards the reception confirmation message including the message authentication code from the communication devices 104 and 105 or the communication devices 106 and 107 to the communication device 101 in the first embodiment.
- This embodiment is different from the first embodiment in that the message authentication code is aggregated and transferred to the communication apparatus 101 as a reception confirmation message including only the result of the aggregation calculation.
- the communication device 101 performs an operation of comparing the hash value calculated by itself with the key for the communication device corresponding to the received message every time the reception confirmation message is received.
- the comparison / verification is performed only on the result of the aggregation calculation of all the message authentication codes from the communication devices 102 to 107 constituting the network 110.
- the communication apparatus 101 first calculates each hash value for the transmitted data image using the keys corresponding to the communication apparatuses 102 to 107 stored in the key storage unit 111. That is, the hash value calculated using the key corresponding to the communication device 102, the hash value corresponding to the communication device 103, and the six hash values of the communication devices 102 to 107 are calculated.
- an XOR operation is performed on the calculated 6 hash values using the reference data aggregation operation unit 117 as an aggregation operation on all 6 hash values. As a result, one calculation result is obtained. This calculation result is compared with the calculation result in the received data aggregation calculation unit 118.
- the communication device 104 confirms the reception confirmation message including the message authentication code to the communication device 102, the communication device 105 similarly to the communication device 102, and the communication devices 106 and 107 to the communication device 103. Send a message.
- the communication apparatus 102 calculates three message authentication codes, that is, a message authentication code included in the reception confirmation message acquired from the communication apparatuses 104 and 105 and a message authentication code calculated by the communication apparatus 102, in the data aggregation calculation unit 126.
- a reception confirmation message including the message authentication code in which the calculation results are aggregated is transmitted to the communication apparatus 101.
- the communication apparatus 103 performs processing of the reception confirmation message acquired from the communication apparatuses 106 and 107, and transmits a reception confirmation message including the message authentication code in which the calculation results are aggregated to the communication apparatus 101.
- the communication device 101 further performs an XOR operation as an aggregation operation in the reception data aggregation operation unit 118 with the aggregated message authentication code included in each of the reception confirmation messages received from the communication devices 102 and 103, and finally Calculated as an aggregate operation result.
- the data image transmitted to the communication apparatuses 102 to 107 is It is determined that the data has not been tampered with. If they are not the same, it is determined that at least one of the data images transmitted to the communication apparatuses 102 to 107 may have been tampered with.
- XOR is used as an aggregation operation, but other methods may be used, for example, addition may be used.
- the effect of this embodiment is that the integrity of the transmitted data image can be verified even when the number of communication devices constituting the network is enormous. This is because the communication overhead can be significantly suppressed even if the number of communication devices increases by notifying the hash values after performing an aggregation operation.
- the integrity guarantee method for updating a program image according to the present invention is useful for distributing a secure program image in a network using wireless communication.
- it is effective in a device having a limited capability as compared with a PC in a wireless sensor network field using a wireless communication protocol represented by IEEE802.15.4 or ZigBee.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
通信装置(1)は、ハッシュ計算部(13)と、演算結果比較部(14)とを有する。ハッシュ計算部(13)は、固有の鍵を用いてデータイメージに対する鍵付きハッシュ値としてメッセージ認証コードを算出する。通信装置は、メッセージを受信すると、鍵付きハッシュ値を含む受信確認メッセージを通信装置(1)に返す。通信装置(1)は、演算結果比較部(14)で、受信した集約されたメッセージ認証コードがデータイメージを元に自身で算出したメッセージ認証コードと同じであるかを比較して、検証を行う。
Description
本発明は、ネットワークを介した主にプログラムイメージ更新のためのプログラムイメージの完全性を検証するための通信システム、送信側及び受信又は転送側の通信装置、データ通信方式、データ通信プログラムに関する。
本願は、2008年9月19日に、日本に出願された特願2008-241429号に基づき優先権を主張し、その内容をここに援用する。
本願は、2008年9月19日に、日本に出願された特願2008-241429号に基づき優先権を主張し、その内容をここに援用する。
近年、IEEE802.15.4やZigBeeに代表される無線通信プロトコルを用いたワイヤレスセンサーネットワーク(Wireless Sensor Network、以後WSN)分野の急速な進展を受けて、一旦展開されたセンサーノードのプログラムイメージをネットワークを介して更新する手法の重要性が増してきている。このようなネットワークを介したプログラムイメージの更新においては、ネットワーク経路上でプログラムイメージが改ざんされる可能性があるため、オリジナルから変更されていないことを保証するための完全性の検証が重要な課題となる。
プログラムイメージの更新は、ベースステーションと呼ばれるプログラムイメージをセンサーノードに対し配布する装置にプログラムイメージがセットされることから始まり、そこでネットワーク上で展開するのに適したサイズに分割される。適切なサイズに分割したのち、センサーノードにそれぞれ展開される。センサーノードは、たとえばツリー構造などマルチホップで構成される場合、プログラムイメージを受信したセンサーノードが次のホップのセンサーノードに転送することで届けられる。
このとき、もし途中のセンサーノードがプログラムイメージを改ざんすると、改ざんされたプログラムイメージを受信したそれ以降のセンサーノードが正しい動作をすることは期待できず、このようにプログラムイメージの完全性の検証が重要な課題となっている。
従来、この種の検出手法は、たとえば非特許文献1に示されるように、公開鍵暗号方式に基づく方法が示されている。この手法では、ベースステーションはプログラムイメージを分割する段階で次のように処理することで実現される。まず、分割したプログラムイメージのそれぞれをパケットと表現すると、最後のパケットのハッシュ値を算出し一つ前のパケットに付与する。同様にそのパケットのハッシュ値を算出しさらにその一つ前のパケットに付与する。以後、同様に先頭のパケットに至るまで同様に繰り返す(ハッシュチェーン)。最後に先頭のパケットをベースステーションが保持する秘密鍵で署名する。このようにして、受信者は先頭のパケットを公開鍵で検証することでそのパケットの確からしさを確かめ、以後のパケットの正当性についてはハッシュチェーンを検証することで確かめられる(非特許文献1参照)。
しかし、WSNはPCに比較して処理速度が十分ではないCPU(中央処理演算装置)や制限されたメモリを備える装置で構成される。例えば、それらは8ビットのマイコンで128Kバイトのフラッシュメモリや4KバイトのSRAM、EEPROMなどを備える。それらの装置上で公開鍵暗号方式を用いた場合、計算時間を要するという問題と鍵を格納するために多くのメモリを消費するという問題がある。
一方、非特許文献2に示されるように、WSNを構成する装置のリソース制限を想定して共通鍵暗号方式を用いた方式が示されている。この手法では、ベースステーションはプログラムイメージを分割する段階で次のように処理することで実現される。まず、一方向鍵チェーンを生成する。この鍵チェーンは最初に決めた鍵をベースに鍵のハッシュ値を算出しそれが次の鍵となる。これを繰り返し行っていくことで鍵のチェーンが生成できる。この鍵チェーンを最後に生成された鍵から利用していき、分割されたパケットのハッシュ値を算出する時に用いられる。各パケットにこの算出されたハッシュ値と算出に用いた鍵を付与し、センサーノードへ展開される。
このパケットを受信したセンサーノードは付与された鍵を用いてハッシュ値を算出し、パケットの確からしさを検証する。それと共に、鍵自体のハッシュ値を算出し、ハッシュ値が前の鍵と同一かどうかを検証することで鍵自体の確からしさも検証することができる。
Prabal K. Dutta and Jonathan W. Hui and David C. Chu and David E. Culler, "Securing the Deluge network programming system", In Proceedings of the Fifth International Conference on Information Processing in Sensor Networks (IPSN), 2006, pages 326-333, ACM
Hailun Tan, Sanjay Jha, Diethelm Ostry, John Zic, and VijaySivaraman, "Secure multi-hop network programming with multiple one-way hash chains", In WiSec '08: ACM Conference on Wireless Network Security, 2008, ACM
リソースが制限された装置で効率的な検証方式を実現するためには、非特許文献2に示すように計算量ができるだけ少ない方式をベースとしながらも安全性を保証する必要がある。しかし、非特許文献2に示す方式では、センサーノードが特定のパケットを受信する前に、別のセンサーノードが受信した同じパケットから鍵を先に取得し、その取得した正当な鍵を使って改ざんしたパケットに対してハッシュ値を付与した場合、改ざんされたパケットを受信したセンサーノードは正当な鍵が使われていることからその改ざんされたパケットを正しいものとして受け入れてしまうという課題がある。
第1の問題点は、正当な鍵を使って改ざんされたパケットを受け入れてしまうことにより、不正なプログラムイメージを取得してしまうことである。その理由は、一連のプログラムイメージを送信した後に、プログラムイメージの完全性を検証する仕組みが考慮されていないためである。
そこで、本発明の目的は、公開鍵暗号方式より演算処理量が少ない共通鍵暗号方式を用いてプログラムイメージの確からしさを検証する方法を提供することである。
かかる目的を達成するために、本発明は、送信側の通信装置と、前記通信装置とネットワークを介して接続された受信又は転送側の通信装置とを備え、完全性を保証するための通信システムであって、前記送信側の通信装置は、データイメージを送信する手段と、一連の鍵をそれぞれ前記受信又は転送側の通信装置と共有し、送信データイメージに対するメッセージ認証コードを生成するための鍵を格納する手段と、前記格納した鍵を用いて送信データイメージに対するメッセージ認証コードを生成する手段と、前記ネットワークからの再構成データイメージに対するメッセージ認証コードを受信する手段と、前記受信した再構成データイメージに対するメッセージ認証コードが前記生成した送信データイメージに対するメッセージ認証コードと同じであるかを比較することによってメッセージ認証コードを検証する手段とを備え、前記受信又は転送側の通信装置は、前記送信側の通信装置と共有し、再構成データイメージに対するメッセージ認証コードを生成するための鍵を格納する手段と、前記ネットワークからのパケットを受信する手段と、前記受信したパケットに基づきデータイメージを再構成する手段と、前記格納した鍵を用いて再構成データイメージに対するメッセージ認証コードを生成する手段と、前記ネットワークへ前記生成した再構成データイメージに対するメッセージ認証コードを送信する手段と、を備える通信システムである。
また、本発明は、データイメージを送信する手段と、一連の鍵をそれぞれ受信又は転送側の通信装置と共有し、送信データイメージに対するメッセージ認証コードを生成するための鍵を格納する手段と、前記格納した鍵を用いて送信データイメージに対するメッセージ認証コードを生成する手段と、ネットワークからの再構成データイメージに対するメッセージ認証コードを受信する手段と、前記受信した再構成データイメージに対するメッセージ認証コードが前記生成した送信データイメージに対するメッセージ認証コードと同じであるかを比較することによってメッセージ認証コードを検証する手段と、を備える送信側の通信装置である。
また、本発明は、送信側の通信装置と共有し、再構成データイメージに対するメッセージ認証コードを生成するための鍵を格納する手段と、ネットワークからのパケットを受信する手段と、前記受信したパケットに基づきデータイメージを再構成する手段と、前記格納した鍵を用いて再構成データイメージに対するメッセージ認証コードを生成する手段と、前記ネットワークへ前記生成した再構成データイメージに対するメッセージ認証コードを送信する手段と、を備える受信又は転送側の通信装置である。
また、本発明は、送信側では、データイメージを送信し、一連の鍵をそれぞれ受信又は転送側の通信装置と共有し、送信データイメージに対するメッセージ認証コードを生成するための鍵を格納しておき、前記格納した鍵を用いて前記送信データイメージに対するメッセージ認証コードを生成し、ネットワークからの再構成データイメージに対するメッセージ認証コードを受信すると、前記受信した再構成データイメージに対するメッセージ認証コードが前記生成した送信データイメージに対するメッセージ認証コードと同じであるかを比較することによってメッセージ認証コードを検証し、受信又は転送側では、前記送信側の通信装置と共有し、再構成データイメージに対するメッセージ認証コードを生成するための鍵を格納しておき、前記ネットワークからのパケットを受信すると、前記受信したパケットに基づきデータイメージを再構成し、前記格納した鍵を用いて再構成データイメージに対するメッセージ認証コードを生成し、前記ネットワークへ前記生成した再構成データイメージに対するメッセージ認証コードを送信するデータ通信方法である。
また、本発明は、上記データ通信方法の機能を実現するためのデータ通信プログラムである。
本発明によれば、共通鍵暗号方式をベースとし、通信装置固有の鍵を用いて受信したデータイメージに対するハッシュ値を送信元の通信装置へ返信することで送信されたデータイメージの完全性を検証できる。したがって、CPUやメモリリソースが制限された装置での実施が容易ではない公開鍵暗号方式のような方式を利用することなく通信装置へ送信されたデータイメージの正当性を送信元で検証できる。
次に、本発明の実施形態について図面を参照して詳細に説明する。尚、ここで示す実施の形態はあくまでも一例であって、必ずしもこの実施形態に限定されるものではない。
(第1の実施形態)
(第1の実施形態)
図1は、本発明を実施するための第1の実施形態である通信システムの構成を示す図である。
図1を参照すると、本発明の第1の実施形態である通信システムは、通信装置1~7と、それらをLAN(Local Area Network)回線またはWAN(Wide Area Network)回線などを結ぶネットワーク10とから構成されている。尚、ネットワーク10は、有線であってもよいし、無線であってもかまわない。
通信装置1~7は、有線もしくは無線を用いて通信を行う装置であり、一般的にはノートPC、携帯端末のような端末装置である。特に、通信装置2~7はセンサーデバイスのような限定された処理能力、メモリおよび通信能力で構成される小型デバイスであってもよい。
通信装置2~7は、受信したパケットを次の通信装置へ転送する構成であってもよい。例えば、通信装置2は通信装置1からパケットを受信すると、通信装置4及び通信装置5へパケットを転送する。同様に、通信装置3は通信装置6及び通信装置7へ転送する。なお、図示せぬ通信装置へ転送することも容易に想定できる。
また、通信装置2~7は、一連のデータイメージを受信すると、そのデータイメージに対するメッセージ認証コード(MAC:Message Authentication Code)を含む受信確認メッセージを通信装置1へ返信する。このとき、前述のパケットの転送と逆のルートをとり、たとえば通信装置4は受信確認メッセージを通信装置2へ、通信装置2は通信装置1へという流れとなる。
図2に、本発明における通信装置1の構成を示す。通信装置1は、鍵格納部11、データイメージ入力部12、ハッシュ計算部13、演算結果比較部14、ネットワーク通信部15、送信パケット生成部16を含む。
鍵格納部11は、一連の鍵を格納しており、各鍵はそれぞれネットワークを構成する通信装置と対応づけられている。例えば、図1で示すネットワーク10を構成する通信装置で、通信装置1を除く通信装置2~7に対応する6つの鍵である。ここに示す鍵は、事前に設定されていてもよいし、動的に設定されてもよい。ここでは詳細については記述しない。
データイメージ入力部12は、通信装置1が通信装置2~7に対して送信するデータイメージの通信装置1における入力部である。このデータイメージは例えばアプリケーションやプログラムイメージであり、通信装置2~7上で動作するプログラムコードである。
ハッシュ計算部13は、セキュアハッシュアルゴリズムに基づく鍵付きハッシュ値を計算する機能である。データイメージ入力部12からのデータ入力値、及び鍵格納部11に格納されている鍵を入力として鍵付きハッシュ値を計算する。具体的には、ハッシュ計算部13は、SHA-1やMD5、HMACなどである。算出された値は、演算結果比較部14へ通知される。
演算結果比較部14は、通信装置1で算出した値とネットワーク10を構成する通信装置から受信した受信確認メッセージに含まれるメッセージ認証コードを比較し、各通信装置へ送付されたデータイメージの完全性を検証する機能である。演算結果比較部14は、ハッシュ計算部13で算出した値とネットワーク10を構成する通信装置からネットワーク通信部15を介して受信したメッセージ認証コードを比較し、それらの値が同一である場合は各通信装置へ送付されたデータイメージが正しいと判定し、それらの値が異なる場合は該当の受信確認メッセージを送信した通信装置に送付されたデータイメージは正しくないと判定する。
ネットワーク通信部15は、他の通信装置と有線もしくは無線を使って通信する機能であり、本形態ではこれはIEEE 802.15.4送受信機である。
送信パケット生成部16は、データイメージ入力部12から入力されたデータイメージをネットワーク10を介して送信するために適したサイズに分割した後、ネットワーク通信部15を介して送信する機能を備える。
図3に、本発明における通信装置2の構成を示す。通信装置2は、鍵格納部21、データイメージ再構成部22、ハッシュ計算部23、パケット受信部24、ネットワーク通信部25を含む。
鍵格納部21は、受信したデータイメージに対する受信確認メッセージを生成するのに使用する鍵を格納する。この鍵は通信装置1と事前に共有され、通信装置毎に異なる鍵である。なお、鍵の事前配布方法についてはここでは範囲外とする。
データイメージ再構成部22は、受信したパケットを集め、データイメージとして再構成する機能である。ここで再構成されたデータイメージが、アプリケーションやプログラムイメージとして通信装置2にインストールされる。
ハッシュ計算部23は、通信装置1でのハッシュ計算部13と同様に、セキュアハッシュアルゴリズムに基づく鍵付きハッシュ値を計算する機能である。データイメージ再構成部22からのデータ入力値、及び鍵格納部21からの鍵を入力とし鍵付きハッシュ値を計算する。具体的には、ハッシュ計算部23は、SHA-1やMD5、HMACなどである。
パケット受信部24は、受信したパケットからデータイメージを構成するデータを取り出し、データイメージ再構成部22へ渡す機能である。
ネットワーク通信部25は、通信装置1でのネットワーク通信部15と同様に、他の通信装置と有線もしくは無線を使って通信する機能であり、本実施形態ではIEEE 802.15.4送受信機である。
次に、本発明の第1の実施形態の動作について詳細に説明する。図4に、通信装置2での受信確認メッセージを送信する時の流れと、図5に、通信装置1での受信確認メッセージを受信した時の流れについて説明する。
まず、通信装置1の送信パケット生成部16は、データイメージ入力部12から入力されたデータイメージを送信するパケット毎に分割する。分割した各パケットをネットワーク通信部15を介して、ネットワーク10に接続された通信装置2~7に対して順番に送信する。
次に、図4を参照して通信装置2での通信装置1から送信されたパケットを受信し、受信確認メッセージを送信する流れについて説明する。
通信装置2は、通信装置1からのパケットを受信すると(ステップA1)、データイメージを構成するために図示せぬ通信装置2のメモリに格納する。具体的には、通信装置2のネットワーク通信部25を介してパケットを取得したパケット受信部24は、パケットからデータイメージを構成するデータを取り出しデータイメージ再構成部22へ通知する。以降、パケットを受信する毎に同様の動作を行う。
データイメージ再構成部22は、パケット受信部24から取得したデータを格納し、データイメージを再構成する。データイメージの再構成が完了するまではパケットの受信を継続する(ステップA2からA1)。
データイメージの再構成が完了すると(ステップA2)、再構成されたデータイメージに対する鍵付きハッシュ値を計算する。具体的には、ハッシュ計算部23は、鍵格納部21から通信装置1と共有している通信装置2固有の鍵を取得し(ステップA3)、データイメージ全体に対して前記取得した鍵を用いて鍵付きハッシュ値を計算する(ステップA4)。ここで、例えばハッシュアルゴリズムとしてはSHA-1を利用したHMAC-SHA-1であって、通信装置は64バイト長以上の鍵を保有し、アウトプットされるハッシュ値は20バイト長である。ただし、鍵長及びハッシュ値の長さはこれに限定するわけではなく、これと異なっていてもよいが入力する鍵長はアウトプットされるハッシュ値の長さよりも長いことが望ましい。
通信装置2は、算出した鍵付きハッシュ値を含む受信確認メッセージを通信装置1へ送信する(ステップA5)。
次に、図5を参照して通信装置1での通信装置2から送信された受信確認メッセージを受信する流れについて説明する。
通信装置1は、通信装置2からの受信確認メッセージを受信すると(ステップB1)、通信装置1で算出したデータイメージに対するハッシュ値との比較を行う(ステップB2)。具体的には、通信装置1のハッシュ計算部13は、通信装置2と共有している鍵を鍵格納部11から取得し、その鍵を用いてすでに送信したデータイメージ入力部12からのデータイメージ全体に対する鍵付きハッシュ値を算出する。演算結果比較部14にて、通信装置1で算出したハッシュ値と、通信装置2からの受信確認メッセージに含まれるメッセージ認証コードとの比較を行う。ここでハッシュ計算部13のハッシュアルゴリズムは通信装置2のハッシュ計算部23でのハッシュアルゴリズムと同じアルゴリズムを用いる。
この時、通信装置1におけるハッシュ値の演算は、通信装置2からの受信確認メッセージを受信した時点で対応する鍵を用いて演算を行ってもよいし、受信確認メッセージを受信する前に予め対応する鍵を用いて演算を行っておいてもよく、どちらでも構わないが、予め演算しておいた方が処理時間を削減できるため望ましい。
なお、通信装置2からの受信確認メッセージには通信装置2からのものであることを識別するための情報が付与されており、受信した通信装置1はそれによってどの通信装置からのメッセージであるかを識別する。
通信装置1の演算結果比較部14にて、通信装置1で算出したハッシュ値と、通信装置2から受信したハッシュ値の比較を行い(ステップB2)、それらの値が同一である場合は、通信装置2に送付されたデータイメージが改ざんされていないと判定する(ステップB3)。それらの値が同一ではない場合は、通信装置2に送付されたデータイメージが元のデータイメージとは異なり、改ざんされている可能性があると判定する(ステップB4)。
なお、通信装置1において、先に送付されたデータイメージが改ざんされている可能性があると判定した場合、再度データイメージの送付を行ってもよいし、データイメージの送付は行わずにネットワーク管理者に通知するようにしてもよい。
前述のデータイメージ受信における受信確認メッセージの送信及び確認の一連の動作は、通信装置1からのデータイメージの送信が実施される毎に行われる。
なお、ネットワーク10は、有線であってもよいが、本発明の実施形態では無線通信、特にIEEE802.15.4やZigBeeに代表される無線通信プロトコルの使用が適している。
また、通信装置3~7も通信装置2と同様の動作を行うことで、通信装置1において各通信装置へ送付されたデータイメージが改ざんされていないかどうかを検証することができる点は通信装置2と同じである。この実施形態では、通信装置2、3は通信装置間のメッセージを中継する機能をそなえるが、それ以外は必ずしも必要ない。
次に、本発明の第1の実施形態の効果について説明する。この実施形態の第1の効果は、共通鍵暗号方式に基づく方式を用いた場合であってもデータイメージの完全性の検証を行うことができることである。これは、各通信装置固有の鍵を用いてハッシュ値を算出し、算出したハッシュ値をデータイメージの送信元である通信装置に返送することで、データイメージの改ざんを検証しているためである。
本発明の第1の実施形態の第2の効果は、データイメージの偽装が行われた場合にその偽装を検出することができるだけではなく、どの通信装置において偽装されたデータイメージを取得したかを検出することができることである。これは、通信装置固有の鍵を用いてハッシュ値を算出することで、ハッシュ値を算出した通信装置を識別できるようにしているためである。
(第2の実施形態)
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。この第2の実施形態は、メッセージ認証コードを途中経路の通信装置が集約演算した後、集約演算結果のみを返答する点が第1の実施形態と異なる。第2の実施形態の通信システムは、図6に示すように、通信装置101~107とネットワーク110とから構成されており、この構成は、前述の第1の実施形態と同様である。
具体的な通信装置101及び通信装置102の構成、動作について第1の実施形態と異なる部分についてのみ図7及び図8を用いて説明する。
図7を参照すると、通信装置101は、鍵格納部111、データイメージ入力部112、ハッシュ計算部113、演算結果比較部114、ネットワーク通信部115、送信パケット生成部116、基準データ集約演算部117、受信データ集約演算部118を含む。
鍵格納部111、データイメージ入力部112、ハッシュ計算部113、演算結果比較部114、ネットワーク通信部115、送信パケット生成部116は、それぞれ、第1の実施形態における鍵格納部11、データイメージ入力部12、ハッシュ計算部13、演算結果比較部14、ネットワーク通信部15、送信パケット生成部16と対応している。この実施形態における通信装置101は、基準データ集約演算部117と受信データ集約演算部118を備える点が第1の実施形態と異なり、それ以外は第1の実施形態と同じ構成となる。また、演算結果比較部114の動作が第1の実施形態と一部動作が異なる。
基準データ集約演算部117は、ハッシュ計算部113からの演算値を集約演算する機能である。例えば、自身の通信装置101を除くネットワーク110を構成する通信装置102~107に対応する鍵それぞれを用いて算出された6つのハッシュ演算結果に対して、集約演算した結果を演算結果比較部114へ通知する。例えば、集約演算方法としてXOR(eXclusive OR:排他的論理和)を用いるが、加算方式など別の演算方法を用いることも考えられる。
受信データ集約演算部118は、ネットワークを構成する通信装置からの受信データを集約演算する機能である。例えば、ネットワーク110を構成する通信装置から受信したデータに対して、集約演算方法としてXORを用いて演算した結果を演算結果比較部117へ通知する。なお、この時ネットワーク110を構成する通信装置からのメッセージ認証コードを個別に受信するとは限らず、途中経路で集約演算された結果を受信する。
演算結果比較部114は、通信装置101で算出した値とネットワーク110を構成する通信装置から受信した結果、集約されたメッセージ認証コードを比較し、各通信装置へ送付されたデータイメージの完全性を検証する機能である。演算結果比較部114は、基準データ集約演算部117と受信データ集約演算部118からの集約結果を比較し、それらの値が同一である場合は各通信装置へ送付されたデータイメージがすべて正しいと判定し、それらの値が異なる場合は各通信装置へ送付されたデータイメージのうち少なくともどれか一つは正しくないと判定する。
図8を参照すると、通信装置102は、鍵格納部121、データイメージ再構成部122、ハッシュ計算部123、パケット受信部124、ネットワーク通信部125、データ集約演算部126を含む。
通信装置102において、鍵格納部121、データイメージ再構成部122、ハッシュ計算部123、パケット受信部124、ネットワーク通信部125は、それぞれ第1の実施形態における鍵格納部21、データイメージ再構成部22、ハッシュ計算部23、パケット受信部24、ネットワーク通信部25と対応している。この実施形態は、データ集約演算部126を備える点が第1の実施形態と異なり、それ以外は第1の実施形態と同じ構成となる。
データ集約演算部126は、1以上の受信したメッセージ認証コードと通信装置102で算出した自身のメッセージ認証コードを集約演算する機能を備える。より具体的には、通信装置104及び105から受信した2つのメッセージ認証コードと通信装置102で算出した自身のメッセージ認証コードを、集約演算方法としてXORを用いて演算した結果のみを通信装置101へ通知する機能を備える。
第1の実施形態での動作に対して、この実施形態の構成ではネットワーク110を構成する通信装置のうち一番末端に位置する通信装置104~107の動作はメッセージ認証コードを通信装置102もしくは通信装置103へ通知する点で第1の実施形態と同様の動作となる。
一方、通信装置102もしくは103は、第1の実施形態では通信装置104、105もしくは通信装置106、107からのメッセージ認証コードを含む受信確認メッセージを単に通信装置101へ転送していたのに対して、この実施形態ではメッセージ認証コードを集約演算した後、集約演算した結果のみを含む受信確認メッセージとして通信装置101へ転送する点が第1の実施形態と異なる。
通信装置101は、第1の実施形態での動作では受信確認メッセージを受信する毎に、受信したメッセージに対応する通信装置に対する鍵を用いて自身で算出したハッシュ値と比較する動作を行っていたのに対して、ネットワーク110を構成する通信装置102~107からの全てのメッセージ認証コードを集約演算した結果に対してのみ比較・検証を行う点が第1の実施形態と異なる。
より具体的には、通信装置101はまず送信したデータイメージに対して鍵格納部111に格納される通信装置102~107に対応する分の鍵を用いてそれぞれのハッシュ値を算出する。つまり、通信装置102に対応する鍵を用いて算出したハッシュ値、通信装置103に対応するハッシュ値、と通信装置102~107の6つのハッシュ値を算出する。
算出した6つのハッシュ値を、基準データ集約演算部117にて6つ全てのハッシュ値を集約演算として例えばXOR演算を実施する。この結果、一つの演算結果が得られる。この演算結果を受信データ集約演算部118での演算結果と比較することになる。
完全なデータイメージを受信すると、通信装置104はメッセージ認証コードを含む受信確認メッセージを通信装置102へ、通信装置105は同様に通信装置102へ、通信装置106及び107は通信装置103へと受信確認メッセージを送信する。
通信装置102は、通信装置104及び105から取得した受信確認メッセージに含まれるメッセージ認証コードと、通信装置102で算出したメッセージ認証コードの3つのメッセージ認証コードをデータ集約演算部126にて算出する。算出結果の集約されたメッセージ認証コードを含む受信確認メッセージを通信装置101へ送信する。同様に、通信装置103は、通信装置106及び107から取得した受信確認メッセージの処理を実施し、算出結果の集約されたメッセージ認証コードを含む受信確認メッセージを通信装置101へ送信する。
そして、通信装置101は、通信装置102及び103から受信した受信確認メッセージそれぞれに含まれる集約されたメッセージ認証コードを受信データ集約演算部118にてさらに集約演算としてXOR演算を実施し、最終的な集約演算結果として算出する。
ここで算出した最終的に集約されたメッセージ認証コードと、先に通信装置101にて算出した演算結果と比較することにより、それら同一である場合は通信装置102~107へ送信されたデータイメージは改ざんされていないと判定し、それらが同一ではない場合は通信装置102~107へ送信されたデータイメージのうち、少なくともどれか1以上は改ざんされた可能性があると判定する。
この実施形態では集約演算としてXORを用いていたが、それ以外の方法を用いてもよく、たとえば加算などが用いられてもよい。
次に、第2の実施形態の効果について説明する。この実施形態の効果は、ネットワークを構成する通信装置数が膨大であった場合でも送信されたデータイメージの完全性を検証できることである。これは、ハッシュ値を集約演算した後に通知することで、通信装置数が増えても通信オーバーヘッドを大幅に抑えることができるためである。
本発明によるプログラムイメージ更新のための完全性保証方式は、無線通信を用いたネットワークにおける安全なプログラムイメージの配布に有用である。特にIEEE802.15.4やZigBeeに代表される無線通信プロトコルを用いたワイヤレスセンサーネットワーク分野でのPCに比べて能力が制限された装置において有効である。
1~7、101~107 通信装置
10、110 ネットワーク
11、111 鍵格納部
12、112 データイメージ入力部
13、23、113、123 ハッシュ計算部
14、114 演算結果比較部
15、25、115、125 ネットワーク通信部
16、116 送信パケット生成部
17、117 基準データ集約演算部
18、118 受信データ集約演算部
21、121 鍵格納部
22、122 データイメージ再構成部
23、123 ハッシュ計算部
24、124 パケット受信部
26、126 データ集約演算部
10、110 ネットワーク
11、111 鍵格納部
12、112 データイメージ入力部
13、23、113、123 ハッシュ計算部
14、114 演算結果比較部
15、25、115、125 ネットワーク通信部
16、116 送信パケット生成部
17、117 基準データ集約演算部
18、118 受信データ集約演算部
21、121 鍵格納部
22、122 データイメージ再構成部
23、123 ハッシュ計算部
24、124 パケット受信部
26、126 データ集約演算部
Claims (18)
- 送信側の通信装置と、前記通信装置とネットワークを介して接続された受信又は転送側の通信装置とを備え、完全性を保証するための通信システムであって、
前記送信側の通信装置は、
データイメージを送信する手段と、
一連の鍵をそれぞれ前記受信又は転送側の通信装置と共有し、送信データイメージに対するメッセージ認証コードを生成するための鍵を格納する手段と、
前記格納した鍵を用いて送信データイメージに対するメッセージ認証コードを生成する手段と、
前記ネットワークからの再構成データイメージに対するメッセージ認証コードを受信する手段と、
前記受信した再構成データイメージに対するメッセージ認証コードが前記生成した送信データイメージに対するメッセージ認証コードと同じであるかを比較することによってメッセージ認証コードを検証する手段とを備え、
前記受信又は転送側の通信装置は、
前記送信側の通信装置と共有し、再構成データイメージに対するメッセージ認証コードを生成するための鍵を格納する手段と、
前記ネットワークからのパケットを受信する手段と、
前記受信したパケットに基づきデータイメージを再構成する手段と、
前記格納した鍵を用いて再構成データイメージに対するメッセージ認証コードを生成する手段と、
前記ネットワークへ前記生成した再構成データイメージに対するメッセージ認証コードを送信する手段と、
を備える通信システム。 - 前記受信又は転送側の通信装置は、
前記ネットワークからの再構成データイメージに対するメッセージ認証コードを受信する手段と、
前記受信した再構成データイメージに対するメッセージ認証コードと生成した再構成データイメージに対するメッセージ認証コードとの集約演算を行うデータ集約演算手段とを備え、
前記再構成データイメージに対するメッセージ認証コードを送信する手段は、前記データ集約演算手段によって算出された値を再構成データイメージに対するメッセージ認証コードとして送信することを特徴とし、
前記送信側の通信装置は、さらに、
前記送信データイメージに対するメッセージ認証コードの集約演算を行う基準データ集約演算手段と、
前記受信した再構成データイメージに対するメッセージ認証コードの集約演算を行う受信データ集約演算手段とを備え、
前記送信データイメージに対するメッセージ認証コードを生成する手段は、前記受信又は転送側の通信装置それぞれに対応する前記格納された鍵を用いて、それぞれの送信データイメージに対するメッセージ認証コードを生成し、
前記基準データ集約演算手段は、前記生成した送信データイメージに対するメッセージ認証コード全てを入力として送信データイメージに対するメッセージ認証コードの集約演算を行い、
前記メッセージ認証コードを検証する手段は、前記受信した1又は1以上の再構成データイメージに対するメッセージ認証コードを入力とした前記受信データ集約演算手段による算出結果が、前記生成した送信データイメージに対するメッセージ認証コード全てを入力とした前記基準データ集約演算手段による算出結果と同じであるかを比較することによってメッセージ認証コードを検証する請求項1に記載の通信システム。 - 前記データ集約演算手段、前記基準データ集約演算手段、及び前記受信データ集約演算手段は、XOR(排他的論理和)演算である請求項2に記載の通信システム。
- 前記送信データイメージに対するメッセージ認証コードを生成する手段は、事前に1又は1以上の全ての送信データイメージに対するメッセージ認証コードを生成し、
前記基準データ集約演算手段は、前記生成した送信データイメージに対するメッセージ認証コードを入力とした集約演算処理を前記再構成データイメージに対するメッセージ認証コードを受信する前に実施する請求項2又は3に記載の通信システム。 - 前記ネットワークは、無線通信路である請求項1乃至4の何れかに記載の通信システム。
- データイメージを送信する手段と、
一連の鍵をそれぞれ受信又は転送側の通信装置と共有し、送信データイメージに対するメッセージ認証コードを生成するための鍵を格納する手段と、
前記格納した鍵を用いて送信データイメージに対するメッセージ認証コードを生成する手段と、
ネットワークからの再構成データイメージに対するメッセージ認証コードを受信する手段と、
前記受信した再構成データイメージに対するメッセージ認証コードが前記生成した送信データイメージに対するメッセージ認証コードと同じであるかを比較することによってメッセージ認証コードを検証する手段と、
を備える送信側の通信装置。 - 前記送信データイメージに対するメッセージ認証コードの集約演算を行う基準データ集約演算手段と、
前記受信した再構成データイメージに対するメッセージ認証コードの集約演算を行う受信データ集約演算手段とを備え、
前記送信データイメージに対するメッセージ認証コードを生成する手段は、前記受信又は転送側の通信装置それぞれに対応する前記格納された鍵を用いて、それぞれの送信データイメージに対するメッセージ認証コードを生成し、
前記基準データ集約演算手段は、前記生成した送信データイメージに対するメッセージ認証コード全てを入力として送信データイメージに対するメッセージ認証コードの集約演算を行い、
前記メッセージ認証コードを検証する手段は、前記受信した1又は1以上の再構成データイメージに対するメッセージ認証コードを入力とした前記受信データ集約演算手段による算出結果が、前記生成した送信データイメージに対するメッセージ認証コード全てを入力とした前記基準データ集約演算手段による算出結果と同じであるかを比較することによってメッセージ認証コードを検証する請求項6に記載の送信側の通信装置。 - 前記データ集約演算手段、前記基準データ集約演算手段は、XOR(排他的論理和)演算である請求項7に記載の送信側の通信装置。
- 前記送信データイメージに対するメッセージ認証コードを生成する手段は、事前に1又は1以上の全ての送信データイメージに対するメッセージ認証コードを生成し、
前記基準データ集約演算手段は、前記生成した送信データイメージに対するメッセージ認証コードを入力とした集約演算処理を、前記再構成データイメージに対するメッセージ認証コードを受信する前に実施する請求項7又は8に記載の送信側の通信装置。 - 送信側の通信装置と共有し、再構成データイメージに対するメッセージ認証コードを生成するための鍵を格納する手段と、
ネットワークからのパケットを受信する手段と、
前記受信したパケットに基づきデータイメージを再構成する手段と、
前記格納した鍵を用いて再構成データイメージに対するメッセージ認証コードを生成する手段と、
前記ネットワークへ前記生成した再構成データイメージに対するメッセージ認証コードを送信する手段と、
を備える受信又は転送側の通信装置。 - 前記ネットワークからの再構成データイメージに対するメッセージ認証コードを受信する手段と、
前記受信した再構成データイメージに対するメッセージ認証コードと生成した再構成データイメージに対するメッセージ認証コードとの集約演算を行うデータ集約演算手段とを備え、
前記再構成データイメージに対するメッセージ認証コードを送信する手段は、前記データ集約演算手段によって算出された値を再構成データイメージに対するメッセージ認証コードとして送信する請求項10に記載の受信又は転送側の通信装置。 - 前記データ集約演算手段は、XOR(排他的論理和)演算である請求項11に記載の受信又は転送側の通信装置。
- 送信側では、データイメージを送信し、
一連の鍵をそれぞれ受信又は転送側の通信装置と共有し、送信データイメージに対するメッセージ認証コードを生成するための鍵を格納しておき、
前記格納した鍵を用いて前記送信データイメージに対するメッセージ認証コードを生成し、
ネットワークからの再構成データイメージに対するメッセージ認証コードを受信すると、前記受信した再構成データイメージに対するメッセージ認証コードが前記生成した送信データイメージに対するメッセージ認証コードと同じであるかを比較することによってメッセージ認証コードを検証し、
受信又は転送側では、前記送信側の通信装置と共有し、再構成データイメージに対するメッセージ認証コードを生成するための鍵を格納しておき、
前記ネットワークからのパケットを受信すると、
前記受信したパケットに基づきデータイメージを再構成し、
前記格納した鍵を用いて再構成データイメージに対するメッセージ認証コードを生成し、
前記ネットワークへ前記生成した再構成データイメージに対するメッセージ認証コードを送信するデータ通信方法。 - 受信又は転送側では、
前記ネットワークからの再構成データイメージに対するメッセージ認証コードを受信すると、前記受信した再構成データイメージに対するメッセージ認証コードと生成した再構成データイメージに対するメッセージ認証コードを集約演算し、
前記集約演算によって算出された値を再構成データイメージに対するメッセージ認証コードとして送信し、
送信側では、
前記受信又は転送側の通信装置それぞれに対応する前記格納された鍵を用いて、それぞれの送信データイメージに対するメッセージ認証コードを生成し、前記生成した送信データイメージに対するメッセージ認証コード全てを入力とした送信データイメージに対するメッセージ認証コードの集約演算を行うと共に、
受信した1又は1以上の再構成データイメージに対するメッセージ認証コードを入力とした再構成データイメージに対するメッセージ認証コードの集約演算を行い、
前記受信した1又は1以上の再構成データイメージに対するメッセージ認証コードを入力とした前記集約演算による算出結果が、前記生成した送信データイメージに対するメッセージ認証コード全てを入力とした集約算出結果と同じであるかを比較することによってメッセージ認証コードを検証する請求項13に記載のデータ通信方法。 - 前記集約演算は、XOR(排他的論理和)演算である請求項14に記載のデータ通信方法。
- 前記送信データイメージに対するメッセージ認証コードの生成は、事前に1又は1以上の全ての送信データイメージに対するメッセージ認証コードを生成し、
前記送信データイメージに対するメッセージ認証コード全てを入力とした送信データイメージに対するメッセージ認証コードの集約演算は、前記生成した送信データイメージに対するメッセージ認証コードを入力とした集約演算処理を前記再構成データイメージに対するメッセージ認証コードを受信する前に実施する請求項14又は15に記載のデータ通信方法。 - 前記ネットワークは、無線通信路である請求項13乃至16の何れかに記載のデータ通信方法。
- 請求項13乃至16の何れかに記載のデータ通信方法の機能を実現するためのデータ通信プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010529602A JPWO2010032391A1 (ja) | 2008-09-19 | 2009-09-02 | 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008241429 | 2008-09-19 | ||
JP2008-241429 | 2008-09-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010032391A1 true WO2010032391A1 (ja) | 2010-03-25 |
Family
ID=42039243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/004335 WO2010032391A1 (ja) | 2008-09-19 | 2009-09-02 | 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2010032391A1 (ja) |
WO (1) | WO2010032391A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014076911A1 (ja) * | 2012-11-13 | 2014-05-22 | 日本電気株式会社 | メッセージ認証システム、およびメッセージ認証方法 |
WO2019159689A1 (ja) * | 2018-02-13 | 2019-08-22 | ソニー株式会社 | 電子機器、情報処理装置、情報処理方法、プログラム、及び、情報処理システム |
CN112702166A (zh) * | 2019-10-23 | 2021-04-23 | 北京新能源汽车股份有限公司 | 一种数据传输方法、验证方法、装置和汽车 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000036781A (ja) * | 1998-07-17 | 2000-02-02 | Sony Corp | 著作権管理装置、著作物配信装置および著作物配信受信システム |
JP2005218088A (ja) * | 2004-01-29 | 2005-08-11 | Samsung Electronics Co Ltd | IPv6ネットワークで認証を処理する方法及びその装置 |
WO2006068172A1 (ja) * | 2004-12-21 | 2006-06-29 | Matsushita Electric Industrial Co., Ltd. | ディジタル放送受信装置 |
JP2007133104A (ja) * | 2005-11-09 | 2007-05-31 | Sony Corp | デジタル放送受信システム及びデジタル放送受信装置 |
JP2007288514A (ja) * | 2006-04-17 | 2007-11-01 | Renesas Technology Corp | メッセージ認証子生成装置、メッセージ認証子検証装置、及びメッセージ認証システム |
JP2008122967A (ja) * | 2006-11-13 | 2008-05-29 | Korea Electronics Telecommun | ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法 |
JP2008166894A (ja) * | 2006-12-27 | 2008-07-17 | Nec Corp | クライアント端末、中継サーバ、通信システム、及び通信方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10268765A (ja) * | 1997-03-28 | 1998-10-09 | Hitachi Software Eng Co Ltd | データ送達確認方法 |
JPH11133854A (ja) * | 1997-10-29 | 1999-05-21 | Oki Electric Ind Co Ltd | データ送信装置、データ受信装置及びデータ伝送システム |
JP3783587B2 (ja) * | 2001-08-06 | 2006-06-07 | 日本電気株式会社 | 情報販売システム及びそれに用いる情報販売方法並びにそのプログラム |
US20030093680A1 (en) * | 2001-11-13 | 2003-05-15 | International Business Machines Corporation | Methods, apparatus and computer programs performing a mutual challenge-response authentication protocol using operating system capabilities |
JP4329656B2 (ja) * | 2004-09-13 | 2009-09-09 | 沖電気工業株式会社 | メッセージ受信確認方法、通信端末装置及びメッセージ受信確認システム |
JP4561418B2 (ja) * | 2004-11-08 | 2010-10-13 | 沖電気工業株式会社 | メッセージ認証方法、通信端末装置及びメッセージ認証システム |
JP4665617B2 (ja) * | 2005-06-10 | 2011-04-06 | 沖電気工業株式会社 | メッセージ認証システム,メッセージ送信装置,メッセージ受信装置,メッセージ送信方法,メッセージ受信方法およびプログラム |
JP2008053893A (ja) * | 2006-08-23 | 2008-03-06 | Oki Electric Ind Co Ltd | 相互認証システム並びにそれに用いる記録媒体および読取装置 |
JP4197031B2 (ja) * | 2006-11-30 | 2008-12-17 | 沖電気工業株式会社 | メッセージ認証システム及びメッセージ認証方法 |
-
2009
- 2009-09-02 WO PCT/JP2009/004335 patent/WO2010032391A1/ja active Application Filing
- 2009-09-02 JP JP2010529602A patent/JPWO2010032391A1/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000036781A (ja) * | 1998-07-17 | 2000-02-02 | Sony Corp | 著作権管理装置、著作物配信装置および著作物配信受信システム |
JP2005218088A (ja) * | 2004-01-29 | 2005-08-11 | Samsung Electronics Co Ltd | IPv6ネットワークで認証を処理する方法及びその装置 |
WO2006068172A1 (ja) * | 2004-12-21 | 2006-06-29 | Matsushita Electric Industrial Co., Ltd. | ディジタル放送受信装置 |
JP2007133104A (ja) * | 2005-11-09 | 2007-05-31 | Sony Corp | デジタル放送受信システム及びデジタル放送受信装置 |
JP2007288514A (ja) * | 2006-04-17 | 2007-11-01 | Renesas Technology Corp | メッセージ認証子生成装置、メッセージ認証子検証装置、及びメッセージ認証システム |
JP2008122967A (ja) * | 2006-11-13 | 2008-05-29 | Korea Electronics Telecommun | ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法 |
JP2008166894A (ja) * | 2006-12-27 | 2008-07-17 | Nec Corp | クライアント端末、中継サーバ、通信システム、及び通信方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014076911A1 (ja) * | 2012-11-13 | 2014-05-22 | 日本電気株式会社 | メッセージ認証システム、およびメッセージ認証方法 |
JPWO2014076911A1 (ja) * | 2012-11-13 | 2017-01-05 | 日本電気株式会社 | メッセージ認証システム、およびメッセージ認証方法 |
WO2019159689A1 (ja) * | 2018-02-13 | 2019-08-22 | ソニー株式会社 | 電子機器、情報処理装置、情報処理方法、プログラム、及び、情報処理システム |
US11693929B2 (en) | 2018-02-13 | 2023-07-04 | Sony Corporation | Electronic device, information processing apparatus, information processing method, and information processing system |
CN112702166A (zh) * | 2019-10-23 | 2021-04-23 | 北京新能源汽车股份有限公司 | 一种数据传输方法、验证方法、装置和汽车 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2010032391A1 (ja) | 2012-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5556659B2 (ja) | 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム | |
Hu et al. | Packet leashes: a defense against wormhole attacks in wireless networks | |
US20180309570A1 (en) | Secure communication in network access points | |
JP4329656B2 (ja) | メッセージ受信確認方法、通信端末装置及びメッセージ受信確認システム | |
CN102474724A (zh) | 用于在无线网中安全地广播敏感数据的方法 | |
KR102437864B1 (ko) | 펌웨어를 수신하는 방법 및 펌웨어를 전송하는 방법 | |
JP2009525708A (ja) | プロトコルリンクレイヤ | |
WO2011121713A1 (ja) | ノード、転送方法、および転送プログラム | |
Kausar et al. | Secure and efficient data transfer using spreading and assimilation in MANET | |
WO2010032391A1 (ja) | 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム | |
JP6804026B2 (ja) | 暗号化通信システム | |
US20140334383A1 (en) | Network system, node device, and method of controlling network system | |
US20230229776A1 (en) | Method for receiving firmware and method for transmitting firmware | |
US20120216036A1 (en) | Encryption methods and systems | |
JP5664104B2 (ja) | 通信システム、並びに、通信装置及びプログラム | |
JP4631423B2 (ja) | メッセージの認証方法と該認証方法を用いたメッセージ認証装置およびメッセージ認証システム | |
WO2012148257A1 (en) | Method for use in multi hop wireless sensor network | |
JP5874823B2 (ja) | ネットワークシステム、ノード、および通信方法。 | |
JP5552104B2 (ja) | 通信システム及び通信方法 | |
JP2007519277A (ja) | 安全な間接アドレス指定 | |
Prakoso et al. | Performance analysis of OLSR Routing for secure medical data transmission for rural areas with Delay Tolerant Network | |
Gauhar Fatima et al. | A security protocol for wireless sensor networks | |
Mache et al. | Exploiting heterogeneity for sensor network security | |
Jara et al. | Secure mobility management scheme for 6lowpan id/locator split architecture | |
Nasiraee et al. | DSBS: A novel dependable secure broadcast stream over lossy channels |
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: 09814237 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010529602 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09814237 Country of ref document: EP Kind code of ref document: A1 |