JPWO2010024379A1 - COMMUNICATION SYSTEM, TRANSMITTER AND RECEPTION OR TRANSFER COMMUNICATION DEVICE, DATA COMMUNICATION METHOD, DATA COMMUNICATION PROGRAM - Google Patents
COMMUNICATION SYSTEM, TRANSMITTER AND RECEPTION OR TRANSFER COMMUNICATION DEVICE, DATA COMMUNICATION METHOD, DATA COMMUNICATION PROGRAM Download PDFInfo
- Publication number
- JPWO2010024379A1 JPWO2010024379A1 JP2010526783A JP2010526783A JPWO2010024379A1 JP WO2010024379 A1 JPWO2010024379 A1 JP WO2010024379A1 JP 2010526783 A JP2010526783 A JP 2010526783A JP 2010526783 A JP2010526783 A JP 2010526783A JP WO2010024379 A1 JPWO2010024379 A1 JP WO2010024379A1
- Authority
- JP
- Japan
- Prior art keywords
- key
- packet
- authenticator
- hash value
- communication device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 216
- 238000000034 method Methods 0.000 title claims description 45
- 238000012546 transfer Methods 0.000 title claims description 26
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 230000005540 biological transmission Effects 0.000 claims abstract description 43
- 238000012795 verification Methods 0.000 claims description 42
- 238000004364 calculation method Methods 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 7
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
送信側の通信装置は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、分割された送信するデータイメージに対して順に鍵チェーンを順に用いて、データ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、生成されたパケットをネットワークに送信する手段とを備え、受信又は転送側の通信装置は、ネットワークからのパケットを受信する手段と、パケットの正当性を確認するための鍵を格納する手段と、格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段とを備える。The communication device on the transmission side uses a key chain in order with respect to the data image to be transmitted in order to store a key chain in which a series of keys is formed by repeating a hash value for each key, and The keyed hash value is calculated from the part and the key, and is added to the packet transmitted immediately before. Thereafter, the data part and key in the previous packet, the keyed hash value calculated earlier, A means for generating an authenticator for each packet by repeatedly calculating a hash value with a key from and assigning it to the packet transmitted immediately before, and a means for transmitting the generated packet to the network. The receiving or forwarding communication device comprises means for receiving a packet from the network, means for storing a key for confirming the validity of the packet, and Calculates that the key included in the received packet is a continuous hash value based on, calculates the keyed hash value for the entire packet including the next authenticator, and is already included in the next packet Means for verifying the authenticator by comparing whether or not the hash value with the key is the same.
Description
本発明は、ネットワークを介した主にプログラムイメージ更新のためのプログラムイメージの完全性を検証するための通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラムに関する。 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.
近年、IEEE802.15.4やZigBeeに代表される無線通信プロトコルを用いたワイヤレスセンサーネットワーク(Wireless Sensor Network,以後WSN)分野の急速な進展を受けて、一旦展開されたセンサーノードのプログラムイメージをネットワークを介して更新する手法の重要性が増してきている。このようなネットワークを介したプログラムイメージの更新においては、ネットワーク経路上でプログラムイメージが改ざんされる可能性があるため、オリジナルから変更されていないことを保証するための完全性の検証が重要な課題となる。 In recent years, in response to the rapid development of the wireless sensor network (Wireless Sensor Network, hereinafter referred to as WSN) field using wireless communication protocols represented by IEEE 802.15.4 and ZigBee, the program image of the sensor node once deployed The importance of updating through the Internet has increased. In such a program image update via a network, it is important to verify the integrity to ensure that the program image has not been changed from the original because the program image may be altered on the network path. It becomes.
プログラムイメージの更新は、ベースステーションと呼ばれるプログラムイメージをセンサーノードに対し配布する装置にプログラムイメージがセットされることから始まり、そこでネットワーク上で展開するのに適したサイズに分割される。適切なサイズに分割したのち、センサーノードにそれぞれ展開される。センサーノードはたとえばツリー構造などマルチホップで構成される場合はプログラムイメージを受信したセンサーノードが次のホップのセンサーノードに転送することで届けられる。 Updating the program image starts with the program image being set in a device called a base station that distributes the program image to the sensor nodes, where the program image is divided into sizes suitable for deployment on the network. After dividing into the appropriate size, each is expanded to the sensor node. When the sensor node is configured by a multi-hop such as a tree structure, the sensor node is delivered by transferring the sensor image to the next-hop sensor node.
このとき、もし途中のセンサーノードがプログラムイメージを改ざんすると、改ざんされたプログラムイメージを受信したそれ以降のセンサーノードが正しい動作をすることは期待できず、このようにプログラムイメージの完全性の検証が重要な課題となっている。 At this time, if the sensor node in the middle alters the program image, it cannot be expected that the subsequent sensor nodes that have received the altered program image will operate correctly, and thus the integrity of the program image cannot be verified. It is an important issue.
この種の検出手法としては、たとえば非特許文献1に示されるように、公開鍵暗号方式に基づく方法が示されている。この手法では、ベースステーションはプログラムイメージを分割する段階で次のように処理することで実現される。
As this type of detection method, for example, as shown in
まず、分割したプログラムイメージのそれぞれをパケットと表現すると、最後のパケットのハッシュ値を算出し一つ前のパケットに付与する。同様にそのパケットのハッシュ値を算出しさらにその一つ前のパケットに付与する。以後、同様に先頭のパケットに至るまで同様に繰り返す(ハッシュチェーン)。最後に先頭のパケットをベースステーションが保持する秘密鍵で署名する。このようにして、受信者は先頭のパケットを公開鍵で検証することでそのパケットの確からしさを確かめ、以後のパケットの正当性についてはハッシュチェーンを検証することで確かめられる(非特許文献1参照)。 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はPCに比較して処理速度が十分ではないCPU(中央処理演算装置)や制限されたメモリを備える装置で構成される。例えばそれらは8ビットのマイコンで128Kバイトのフラッシュメモリや4KバイトのSRAM、EEPROMなどを備える。それらの装置上で公開鍵暗号方式を用いた場合、計算時間を要するという問題と鍵を格納するために多くのメモリを消費とするという問題がある。 However, the WSN is composed of a CPU (central processing unit) whose processing speed is not sufficient compared with a PC and a device having a limited memory. For example, they are 8-bit microcomputers equipped with 128 Kbytes of flash memory, 4 Kbytes of SRAM, EEPROM, and the like. When public key cryptosystems are used on these devices, there are problems of requiring calculation time and consuming a lot of memory for storing keys.
一方、非特許文献2に示されるように、WSNを構成する装置のリソース制限を想定して共通鍵暗号方式を用いた方式が示されている。この手法では、ベースステーションはプログラムイメージを分割する段階で次のように処理することで実現される。
On the other hand, as shown in Non-Patent
まず、一方向鍵チェーンを生成する。この鍵チェーンは最初に決めた鍵をベースに鍵のハッシュ値を算出しそれが次の鍵となる。これを繰り返し行っていくことで鍵のチェーンが生成できる。この鍵チェーンを最後に生成された鍵から利用していき、分割されたパケットのハッシュ値を算出する時に用いられる。各パケットにこの算出されたハッシュ値と算出に用いた鍵を付与し、センサーノードへ展開される。 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 receiving 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.
リソースが制限された装置で効率的な検証方式を実現するためには、非特許文献2に示すように計算量ができるだけ少ない方式をベースとしながらも安全性を保証する必要がある。しかし、非特許文献2に示す方式では、センサーノードが特定のパケットを受信する前に、別のセンサーノードが受信した同じパケットから鍵を先に取得し、その取得した正当な鍵を使って改ざんしたパケットに対してハッシュ値を付与した場合、改ざんされたパケットを受信したセンサーノードは正当な鍵が使われていることからその改ざんされたパケットを正しいものとして受け入れてしまうという課題がある。
In order to realize an efficient verification method in 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
第1の問題点は、パケットを受信すると、正当な鍵を使って改ざんしたパケットを直ちに生成できてしまうことである。その理由は、パケットデータ、ハッシュ値を算出する鍵、算出されたハッシュ値の3つが同一のパケットに含まれているためである。 The first problem is that when a packet is received, a falsified packet can be immediately generated using a valid key. The reason is that the same packet includes packet data, a key for calculating a hash value, and a calculated hash value.
そこで、本発明の目的は、より演算処理が要求される公開鍵暗号方式を使用することなく、共有鍵暗号方式を用いてプログラムイメージの確からしさを検証する通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラムを提供することである。 Therefore, an object of the present invention is to provide a communication system that verifies the accuracy of a program image using a shared key cryptosystem without using a public key cryptosystem that requires more computation processing, a transmission side, and a reception or transfer side. Communication device, data communication method, and data communication program.
本発明の他の目的は、受信するパケットを逐次検証できる仕組みを取り入れることで、もし改ざんされたパケットが挿入された場合でもすぐに検出する通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラムを提供することである。 Another object of the present invention is to adopt a mechanism capable of sequentially verifying received packets, so that even if a tampered packet is inserted, a communication system that immediately detects, a communication device on the transmission side and the reception or transfer side, A data communication method and a data communication program are provided.
本発明は、送信側の通信装置と、受信又は転送側の通信装置と、前記送信側の通信装置と前記受信又は転送側の通信装置との間を接続するネットワークとを備え、完全性を保証するための通信システムであって、前記送信側の通信装置は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いて、データ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、生成されたパケットを前記ネットワークに送信する手段とを備え、前記受信又は転送側の通信装置は、前記ネットワークからのパケットを受信する手段と、パケットの正当性を確認するための鍵を格納する手段と、前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段とを備えることを特徴とする通信システムである。 The present invention includes a communication device on the transmission side, a communication device on the reception or transfer side, and a network connecting between the communication device on the transmission side and the communication device on the reception or transfer side, and guarantees integrity. The transmission side communication device is configured to store a key chain in which a series of keys is formed by repeating hash values for each key, and a divided data image to be transmitted. Using the key chain in order, a hash value with a key is calculated from the data part and the key and attached to the packet transmitted one before, and thereafter the data part in the previous packet and Generate an authenticator for each packet by repeatedly calculating the keyed hash value from the key and the previously calculated keyed hash value and assigning it to the previous packet sent Means for transmitting the generated packet to the network, and the communication device on the receiving or transferring side has means for receiving the packet from the network and a key for confirming the validity of the packet. Based on the stored means and the stored key, it is calculated that the key included in the received packet is a continuous hash value, and a keyed hash value for the entire packet including the next authenticator is calculated. A communication system comprising: means for verifying an authenticator by comparing whether or not the calculated keyed hash value included in the next packet is the same.
また、本発明は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、
生成されたパケットをネットワークに送信する手段とを備えたことを特徴とする通信装置である。The present invention also provides means for storing a key chain in which a series of keys is formed by repeating hash values for each key, and using the key chains in order for the divided data images to be transmitted. The keyed hash value is calculated from the key and attached to the previous packet to be transmitted, and thereafter the data part, key, and keyed hash value calculated in the previous packet are used. Means for generating an authenticator for each packet by repeatedly calculating a keyed hash value and assigning it to the packet transmitted one before;
A communication apparatus comprising means for transmitting a generated packet to a network.
また、本発明は、ネットワークからのパケットを受信する手段と、パケットの正当性を確認するための鍵を格納する手段と、前記格納した鍵に基づき前記受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段とを備えたことを特徴とする通信装置である。 The present invention also provides a means for receiving a packet from a network, a means for storing a key for confirming the validity of the packet, and a hash in which a key included in the received packet is based on the stored key. Is calculated, calculates a keyed hash value for the entire packet including the next authenticator, and compares it with the calculated keyed hash value included in the next packet And a means for verifying the authenticator.
また、本発明は、送信側では、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納しておき、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成し、生成されたパケットをネットワークに送信し、受信側では、パケットの正当性を確認するための鍵を格納しておき、前記ネットワークからのパケットを受信し、前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証することを特徴とするデータ通信方法である。 Further, according to the present invention, on the transmission side, a key chain in which a series of keys is formed by repeating hash values for each key is stored, and the key chains are sequentially arranged with respect to the divided data images to be transmitted. Using the data part and the key to calculate the keyed hash value and assigning it to the previous packet to be sent, and then the data part and key in the previous packet and the key with the previously calculated key Generate an authenticator for each packet by repeatedly calculating a hash value with a key from the hash value and assigning it to the packet sent one before, and sending the generated packet to the network and receiving it On the side, a key for confirming the validity of the packet is stored, the packet from the network is received, and included in the packet received based on the stored key. And the keyed hash value for the entire packet including the next authenticator is calculated and is the same as the calculated keyed hash value included in the next packet. It is a data communication method characterized by verifying an authenticator by comparing whether or not.
また、本発明は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する処理と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する処理と、生成されたパケットをネットワークに送信する処理とを通信装置に実行させることを特徴とするプログラムである。 The present invention also provides a process for storing a key chain in which a series of keys is composed of repeated hash values for each key, and a data portion using the key chain in order for the divided data images to be transmitted. The keyed hash value is calculated from the key and attached to the previous packet to be transmitted, and thereafter the data part, key, and keyed hash value calculated in the previous packet are used. Communicating the process of generating an authenticator for each packet by repeatedly calculating the keyed hash value and assigning it to the previous packet sent, and the process of sending the generated packet to the network A program that is executed by an apparatus.
また、本発明は、ネットワークからのパケットを受信する処理と、パケットの正当性を確認するための鍵を格納する処理と、前記格納した鍵に基づき前記受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する処理とを通信装置に実行させることを特徴とするプログラムである。 Further, the present invention provides a process for receiving a packet from the network, a process for storing a key for confirming the validity of the packet, and a hash in which the keys included in the received packet are based on the stored key. Is calculated, calculates a keyed hash value for the entire packet including the next authenticator, and compares it with the calculated keyed hash value included in the next packet Thus, the communication device is caused to execute processing for verifying the authenticator.
本発明によれば、鍵チェーンに加え次のパケットのハッシュ値を先のパケットに含めて送ることで、パケットの偽装を困難にしている。このため、共通鍵暗号方式に基づく方式を用いた場合であってもデータイメージの完全性の検証を行うことができる。これにより、リソースが制限された装置でも、効率的な検証を行うことができる。また、次のパケットのハッシュ値を先のパケットに含めて送ることで、連続するパケット間の関連性を高めているので、パケットの偽装が行われた場合であっても、その偽装を素早く確実に検出することができる。 According to the present invention, in addition to the key chain, the hash value of the next packet is included in the previous packet and sent, making it difficult to forge the packet. Therefore, it is possible to verify the integrity of the data image even when a method based on the common key encryption method is used. Thereby, efficient verification can be performed even in an apparatus with limited resources. In addition, since the hash value of the next packet is included in the previous packet and sent, the relevance between successive packets is increased, so even if a packet is spoofed, the spoofing can be quickly and reliably ensured. Can be detected.
次に、本発明の実施の形態について図面を参照して詳細に説明する。尚、ここで示す実施の形態はあくまでも一例であって、必ずしもこの実施の形態に限定されるものではない。 Next, embodiments of the present invention will be described in detail with reference to the drawings. Note that the embodiment shown here is merely an example, and is not necessarily limited to this embodiment.
<第1の実施の形態>
図1は、本発明を実施するための第1の形態である通信システムの構成を示す図である。<First Embodiment>
FIG. 1 is a diagram showing a configuration of a communication system according to a first embodiment for carrying out the present invention.
図1を参照すると、本発明の第1の実施形態である通信システムは、通信装置1〜7と、それらをLAN(Local Area Network)回線またはWAN(Wide Area Network)回線などを結ぶネットワーク10とから構成されている。尚、ネットワーク10は、有線であってもよいし、無線であってもかまわない。
Referring to FIG. 1, a communication system according to a first embodiment of the present invention includes
通信装置1〜7は、有線もしくは無線を用いて通信を行う装置であり、一般的にはノートPC、携帯端末のような端末装置である。特に、通信装置2〜7はセンサーデバイスのような限定された処理能力、メモリおよび通信能力で構成される小型デバイスであってもよい。
The
通信装置2〜7は、受信したパケットを次の通信装置へ転送する構成であってもよい。例えば、通信装置2は通信装置1からパケットを受信すると、通信装置4及び通信装置5へ同じパケットを転送する。同様に、通信装置3は通信装置6及び通信装置7へ転送する。なお、図示せぬ通信装置へ転送することも容易に想定できる。
The
図2に、本発明の第1の実施形態における送信側の通信装置1の構成を示す。通信装置1は、鍵チェーン格納部11、データイメージ入力部12、送信パケット生成部13、トラストアンカ生成部14、ネットワーク通信部15、ハッシュ計算部16、暗号計算部17を含む。
FIG. 2 shows a configuration of the
鍵チェーン格納部11は、一連の鍵を格納しており、各鍵はそれぞれ一つ前の鍵のハッシュ値である。例えば、図3に一連の(n+1)個の鍵Kの関係を示す。マスターとなる鍵K(0)に対し、鍵K(1)はK(0)のハッシュ値である。同様に、鍵K(2)はK(1)のハッシュ値である。以降同様にK(n)はK(n−1)のハッシュ値である。
The key
データイメージ入力部12は、通信装置1が通信装置2〜7に対して送信するデータイメージの通信装置1における入力部である。このデータイメージは例えばアプリケーションやプログラムイメージであり、通信装置2〜7上で動作するプログラムコードである。
The data
送信パケット生成部13は、データイメージをネットワーク10を介して送信するために適したサイズに分割する機能を備える。さらに、分割したデータイメージに対し、後ろのデータから順番に鍵チェーン格納部11に格納されている鍵チェーンを用いて鍵付きハッシュ値を算出することにより、送信データ、鍵付きハッシュ値、およびハッシュ値の算出に用いた鍵から構成される送信パケットを生成する機能を備える。
The
トラストアンカ生成部14は、送信パケット生成部13で生成した一連のパケットに対して、先頭部分にトラストアンカとなるトラストアンカパケットを生成する機能を備える。具体的には、送信パケット生成部13で生成した一連のパケットの先頭で用いた鍵及び先頭のパケットのハッシュ値をその鍵で暗号化する機能を備える。
The trust
ネットワーク通信部15は、他の通信装置と有線もしくは無線を使って通信する機能であり、本実施形態ではこれはIEEE 802.15.4の送受信機である。
The
ハッシュ計算部16は、セキュアハッシュアルゴリズムに基づく鍵付きハッシュ値を計算する機能である。送信パケット生成部13からのデータ入力値、及び鍵を入力とし鍵付きハッシュ値を計算する。具体的には、ハッシュ計算部16は、SHA−1やMD5、HMACなどである。
The
暗号計算部17は、共通鍵暗号方式に基づく暗号処理を実施する機能である。トラストアンカ生成部14からのデータ入力値、及び鍵を入力とし暗号化を実施する。具体的には、暗号計算部17は、DESや3DES、RC5などである。
The
図4に、本発明における受信又は転送側の通信装置2の構成を示す。通信装置2は、鍵格納部21、データイメージ再構成部22、ハッシュチェーン検証部23、鍵チェーン検証部24、トラストアンカ検証部25、ネットワーク通信部26、ハッシュ計算部27、暗号計算部28を含む。尚、通信装置2の構成はその他の通信装置3〜7にも同様に適用される。
FIG. 4 shows a configuration of the
鍵格納部21は、受信したパケットの正当性を検証するための使用する鍵を格納する。受信したパケットの正当性が確認されると、新しい鍵で更新される。
The
データイメージ再構成部22は、受信したパケットの正当性が確認されたものを集め、データイメージとして再構成する機能である。ここで再構成されたデータイメージが、アプリケーションやプログラムイメージとして通信装置2にインストールされる。
The data image reconstruction unit 22 is a function that collects the received packets whose validity has been confirmed and reconstructs them as a data image. The reconstructed data image is installed in the
ハッシュチェーン検証部23は、受信したパケットのハッシュ値を検証する機能である。受信したパケットの正当性が確認できると、そのパケットに含まれる次のパケットのハッシュ値を保持しておく。保持したハッシュ値は次に受信したパケットのハッシュ値の検証に用いられる。
The hash
鍵チェーン検証部24は、受信したパケットに含まれる鍵の正当性を検証する機能である。鍵チェーン検証部24は、受信したパケットに含まれる鍵が、鍵格納部21に格納されている現状の鍵に対するハッシュ値となっていることを確認する。
The key
トラストアンカ検証部25は、トラストアンカとなる一番最初に送信されているトラストアンカパケットを検証する機能である。具体的には、トラストアンカパケットを格納しておき、次のパケットにて鍵を取得するとその鍵を用いて、トラストアンカパケットを復号し、復号された鍵が復号に用いた鍵と同じであることを確認することでトラストアンカパケットの正当性を確認する。また、トラストアンカパケットに含まれる次のパケットのハッシュ値はハッシュチェーン検証部23で用いられる。
The trust
ネットワーク通信部26は、通信装置1でのネットワーク通信部15と同様に、他の通信装置と有線もしくは無線を使って通信する機能であり、本実施形態ではこれはIEEE 802.15.4の送受信機である。
Similar to the
ハッシュ計算部27は、通信装置1でのハッシュ計算部16と同様に、セキュアハッシュアルゴリズムに基づく鍵付きハッシュ値を計算する機能である。ハッシュチェーン検証部23からのデータ入力値、及び鍵を入力とし鍵付きハッシュ値を計算する。具体的には、ハッシュ計算部27は、SHA−1やMD5、HMACなどである。
The
暗号計算部28は、通信装置1での暗号計算部17と同様に、共通鍵暗号方式に基づく暗号処理を実施する機能である。トラストアンカ生成部14からのデータ入力値、及び鍵を入力とし暗号化を実施する。具体的には、暗号計算部17は、DESや3DES、RC5などである。
The
次に、本発明を実施するための第1の実施形態の動作について詳細に説明する。 Next, the operation of the first embodiment for carrying out the present invention will be described in detail.
図5に、通信装置1でのデータイメージのパケット化の流れと、図6に、通信装置2でのパケット受信時の流れについて説明する。
FIG. 5 illustrates the flow of packetization of the data image in the
図5において、鍵K(0)〜K(L)は(L+1)個の鍵チェーンを示しており、それぞれ鍵K(1)は鍵K(0)のハッシュ値、鍵K(2)は鍵K(1)のハッシュ値,,,鍵K(L)は鍵K(L−1)のハッシュ値という関係になっている。(L)個に分割されたデータ部分はそれぞれ順番にD(1)〜D(L)で示される。(L)個に分割されたデータイメージには(L+1)個の鍵チェーンを使用する。分割されたデータ部分と次のパケットのハッシュ値を鍵チェーンの鍵で算出される鍵付きハッシュ値が前のパケットに含まれる。たとえば、データ部分D(1)が含まれるパケットの場合、鍵付きハッシュ値H(1)は、データ部分D(1)とデータ部分D(2)に対する鍵付きハッシュ値H(2)を鍵K(L−1)で鍵付きハッシュ値として算出した値になる。また、鍵チェーンの最後の鍵K(L)だけは各通信装置2〜7にて事前に共有されている。なお、鍵の事前配布方法についてはここでは範囲外とする。
In FIG. 5, keys K (0) to K (L) indicate (L + 1) key chains, where the key K (1) is the hash value of the key K (0) and the key K (2) is the key. The hash value of K (1),..., Key K (L) is related to the hash value of key K (L−1). The data portions divided into (L) pieces are respectively indicated by D (1) to D (L) in order. (L + 1) key chains are used for (L) divided data images. The previous packet includes a keyed hash value calculated from the divided data portion and the hash value of the next packet using the key of the key chain. For example, in the case of a packet including the data part D (1), the keyed hash value H (1) is obtained by changing the keyed hash value H (2) for the data part D (1) and the data part D (2) to the key K. The value calculated as the keyed hash value in (L-1). Further, only the last key K (L) of the key chain is shared in advance by the
まず、通信装置1の送信パケット生成部13は、データイメージ入力部12から入力されたデータイメージを通信装置2〜7に対して送信するパケット毎に分割する。本実施形態の例ではデータイメージDは送信する順番にデータ部分D(1)〜D(L)のL個に分割する。
First, the transmission
送信パケット生成部13は、データイメージの後ろから処理し、鍵付きハッシュ値H(L)をハッシュ計算部16を用いてデータ部分D(L)と鍵チェーン格納部11に格納されている鍵K(0)から算出する。算出された鍵付きハッシュ値H(L)は前のパケットの鍵K(1)、データ部分D(L−1)と共に送信されるパケットとして構成される。引き続き、鍵付きハッシュ値H(L−1)をデータ部分D(L−1)、先に算出した鍵付きハッシュ値H(L)及び鍵K(1)から算出する。以降、同様に処理する。
The transmission
送信パケット生成部13にて、データイメージの最初のデータ部分D(1)に対する鍵付きハッシュ値の算出まで終了すると、次はトラストアンカ生成部14にて、トラストアンカパケットを生成する。
When the
トラストアンカ生成部14は、鍵チェーン格納部11に格納されている鍵K(L−1)を用いて、鍵自身K(L−1)と先頭のデータD(1)に対する鍵付きハッシュ値H(1)を、暗号計算部17を用いて暗号処理を行う。
The trust
このようにして生成された各パケットはネットワーク通信部15を介してネットワーク10に接続された通信装置2〜7に対して順番に送信される。
Each packet generated in this way is sequentially transmitted to the
最初に送信されるパケットは、暗号処理されたトラストアンカパケットEncK(L−1)となり、次に鍵K(L−1)、データ部分D(1)及び鍵付きハッシュ値H(2)が一つのパケットとして送信される。以降、同様に送信される。最後は、鍵K(0)及びデータ部分D(L)が一つのパケットとして送信される。 The first transmitted packet is the encrypted trust anchor packet EncK (L-1), and then the key K (L-1), the data portion D (1), and the keyed hash value H (2) are one. Sent as one packet. Thereafter, it is similarly transmitted. Finally, the key K (0) and the data part D (L) are transmitted as one packet.
次に、図6を参照して通信装置2での通信装置1から送信されたパケットを受信し、検証する流れについて説明する。
Next, a flow of receiving and verifying a packet transmitted from the
通信装置2は、ネットワーク通信部26にてネットワークに接続された通信装置1からのパケットを受信すると(ステップA1)、このパケットがトラストアンカパケットかどうかを判定する(ステップA2)。トラストアンカパケットであった場合、トラストアンカ検証部25にてキャッシュされる(ステップA3)。
When the
ステップA2にてトラストアンカパケットではなかった場合、鍵チェーン検証部24は、パケットから鍵を取り出し(ステップA4)、鍵格納部21に格納されている鍵と比較し鍵チェーンとなっているかどうかを検証する(ステップA5)。より具体的には、鍵チェーン検証部24は取り出した鍵のハッシュ値を算出し、算出したハッシュ値が鍵格納部21に格納されている値と同じであることを検証する。もし、この値が同一ではない場合、正しい鍵を持っていない通信装置からの不正なパケットであると判定する(ステップA15)。
If the packet is not a trust anchor packet in step A2, the key
たとえば、事前に鍵K(L)が通信装置2の鍵格納部21に格納されており、鍵K(L−1)を含むパケットを受信したとすると、鍵チェーン検証部24はパケットから鍵K(L−1)を取り出す。次に、鍵K(L−1)のハッシュ値を算出し、鍵格納部21に格納されている鍵K(L)と同じ値となることを確かめる。もし、鍵K(L−1)が異なる鍵Kであった場合、算出したハッシュ値は鍵K(L)とはならず、鍵の不正が検出可能となる。
For example, if the key K (L) is stored in advance in the
次に、鍵の検証が成功裏に完了すると、そのパケットが2番目のパケット、すなわちトラストアンカパケットの次のパケットである場合、トラストアンカ検証部25にて格納されているトラストアンカパケットの検証を実施する(ステップA7からステップA9)。より具体的には、2番目のパケットから取り出した鍵チェーン検証済みの鍵K(L−1)を用いて、暗号計算部28はトラストアンカパケットの復号処理を行う(ステップA7)。トラストアンカ検証部25は、復号して取得した鍵が復号に使用した鍵と同じであることを確認し(ステップA8)、もし異なる場合、トラストアンカパケットが不正パケットであると判定する(ステップA15)。同じである場合、トラストアンカパケットは正しいと判定し、トラストアンカパケットに含まれる次のパケットのハッシュ値H(1)をハッシュチェーン検証部23は保持する(ステップA9)。
Next, when the key verification is successfully completed, if the packet is the second packet, that is, the packet next to the trust anchor packet, the trust anchor packet stored in the trust
トラストアンカパケットの検証が成功裏に完了すると、2番目のパケットの検証に戻る。ハッシュ計算部27は、2番目のパケットの鍵付きハッシュ値を2番目のパケットに含まれる鍵K(L−1)を使用してデータ部分D(1)、次のパケットのハッシュ値H(2)に対して算出する(ステップA10)。ハッシュチェーン検証部23は、ハッシュ計算部27の結果に基づき、先に保持していたハッシュ値H(1)がここで算出した鍵付きハッシュ値と同じであるかを確かめる(ステップA11)。もし異なる場合、2番目のパケットが不正パケットであると判定する(ステップA15)。同じである場合、2番目のパケットは正しいと判定し、鍵K(L−1)で鍵格納部21に格納されている鍵を更新し(ステップA12)、さらに次のパケットの検証用ハッシュ値H(2)をハッシュチェーン検証部23は保持する(ステップA13)。
When the verification of the trust anchor packet is completed successfully, the process returns to the verification of the second packet. The
このようにして、正しいと判定されたパケットに含まれるデータ部分D(1)はデータイメージ再構成部22へと渡される。 In this way, the data portion D (1) included in the packet determined to be correct is passed to the data image reconstruction unit 22.
以降のパケットを受信した場合、2番目のパケットを受信した時のトラストアンカパケットの検証処理(ステップA7からステップA9)が行われない以外は同様の処理となる(ステップA4からステップA6、ステップA10からステップA13)。 When subsequent packets are received, the same processing is performed (step A4 to step A6, step A10) except that the trust anchor packet verification processing (step A7 to step A9) when the second packet is received is not performed. To Step A13).
さらに、最後のパケットを受信した場合も、鍵チェーンの検証(ステップA4、ステップA5)から鍵付きハッシュ値の算出(ステップA10)、及び検証(ステップA11)、鍵の更新(ステップA12)までは同様に実施される。また、最後のパケットであるため、次のパケットのハッシュ値は含まれない。このように、すべてのデータ部分がデータイメージ再構成部22へ渡され、通信装置2は、データイメージを取得することが可能となる。
Furthermore, even when the last packet is received, from the verification of the key chain (step A4, step A5) to the calculation of the keyed hash value (step A10), the verification (step A11), and the key update (step A12) The same is done. Further, since it is the last packet, the hash value of the next packet is not included. In this way, all the data portions are transferred to the data image reconstruction unit 22, and the
なお、ネットワーク10は、有線であってもよいが、本実施形態では、無線通信、特にIEEE802.15.4やZigBeeに代表される無線通信プロトコルの使用が適している。
Note that the
また、通信装置3〜7も通信装置2と同様の動作を行うことで、データイメージが改ざんされていないかどうかを検証することができる点は通信装置2と同じである。
The
次に、本発明の第1の実施形態の効果について説明する。本実施の形態の第1の効果は、共通鍵暗号方式に基づく方式を用いた場合であってもデータイメージの完全性の検証を行うことができることである。これは、鍵チェーンに加え次のパケットのハッシュ値を先のパケットに含めて送ることで、パケットの偽装をしにくくしているためである。 Next, effects of the first exemplary embodiment of the present invention will be described. The first effect of the present 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 hash value of the next packet is included in the previous packet in addition to the key chain, thereby making it difficult to forge the packet.
本実施形態の第2の効果は、パケットの偽装が行われた場合であってもすぐにその偽装を検出することができることである。これは、次のパケットのハッシュ値を先のパケットに含めて送ることで、連続するパケット間の関連性を高めているためである。 The second effect of the present embodiment is that even if a packet is forged, it can be immediately detected. This is because the hash value of the next packet is included in the previous packet and sent to increase the relevance between successive packets.
<第2の実施形態>
次に、本発明の第2の実施形態について図7及び図8を用いて説明する。<Second Embodiment>
Next, a second embodiment of the present invention will be described with reference to FIGS.
図7に示すように、本実施形態における送信側の通信装置101は、鍵チェーン格納部111、データイメージ入力部112、送信パケット生成部113、トラストアンカ生成部114、ネットワーク通信部115、ハッシュ計算部116、暗号計算部117、送信鍵暗号部118を含む。
As shown in FIG. 7, the
また、図8に示すように、本実施形態における受信又は転送側の通信装置102は、鍵格納部121、データイメージ再構成部122、ハッシュチェーン検証部123、鍵チェーン検証部124、トラストアンカ検証部125、ネットワーク通信部126、ハッシュ計算部127、暗号計算部128、鍵復号部129を含む。
As shown in FIG. 8, the
本実施形態は、第1の実施形態とほぼ同じであるが、各パケットに含まれる鍵Kが暗号化されている点が異なる。 This embodiment is almost the same as the first embodiment, except that the key K included in each packet is encrypted.
図7を参照すると、通信装置101は、送信鍵暗号部118を備える点で異なる以外、第1の実施形態と同じ構成となる。
Referring to FIG. 7, the
送信鍵暗号部118は、各パケットに含まれる鍵Kを暗号化する機能を備える。より具体的には、各パケットに含まれる鍵は一つ前のパケットに含まれる鍵で暗号化する機能を備える。
The transmission
図8を参照すると、通信装置102は、鍵復号部129を備える点で異なる以外、第1の実施形態と同じ構成となる。
Referring to FIG. 8, the
鍵復号部129は、各パケットに含まれる鍵Kを復号する機能を備える。より具体的には、各パケットに含まれる暗号化されている鍵を、鍵格納部121に格納されている前のパケットに含まれる鍵で復号する機能を備える。
The
第1の実施形態との動作の違いを説明すると、図6に示す第1の実施形態での動作に対して、受信したパケットから鍵を取り出すステップ(ステップA4)において、鍵を取り出すために通信装置102の鍵復号部129は暗号化されている鍵を復号することで取り出す点が異なる部分となる。それ以外の動作は第1の実施形態と同様の動作となる。
The difference in operation from the first embodiment will be described. Compared to the operation in the first embodiment shown in FIG. 6, communication is performed to extract a key in the step of extracting a key from a received packet (step A4). The
次に、第2の実施形態の効果について説明する。本実施形態の効果は、第1の実施形態よりもさらにパケットの偽装をしにくくすることができることである。これは、パケットに含まれる鍵を先のパケットの鍵を使って暗号化するため、パケットを偽装するために必要となる鍵を取得するためにはより長い期間のパケットのやり取りを傍受する必要があるからである。さらに、ネットワーク上ではやり取りされない事前に共有される最初の鍵を取得するためには、例えば物理的に攻撃することで鍵を取得するなど別の手段を要する必要があるからである。 Next, effects of the second embodiment will be described. The effect of this embodiment is that it is possible to make it more difficult to disguise packets than in the first embodiment. This is because the key included in the packet is encrypted using the key of the previous packet, and in order to obtain the key necessary to impersonate the packet, it is necessary to intercept the exchange of packets for a longer period of time. Because there is. Further, in order to acquire the first key shared in advance that is not exchanged on the network, it is necessary to require another means such as acquiring the key by physical attack.
<第3の実施形態>
次に、本発明の第3の発明を実施するための形態について図9〜図12を用いて説明する。<Third Embodiment>
Next, a mode for carrying out the third aspect of the present invention will be described with reference to FIGS.
この実施形態は、第1の実施形態とほぼ同じであるが、第1の実施形態では通信装置2〜7が全て同じ共通鍵が事前に共有されていたのに対し、本実施形態ではグループ毎に異なる共有鍵が事前に共有されている点が異なる。
This embodiment is almost the same as the first embodiment, but in the first embodiment, all the
図9を参照すると、通信装置201〜207のうち、通信装置201が送信側の通信装置、通信装置202〜207が受信側(転送も含む)の通信装置である。通信装置201〜207は、ネットワーク210を介して接続されている。通信装置202と通信装置203は同じグループG1に属している。同様に、通信装置204〜207は同じグループG2に属している。ここでは、マルチホップネットワーク構成となっており、通信装置201からの同一ホップ数では同じグループに属している構成となる。なお、これらはホップ数毎のグループに限らず、別のグループ構成であってもかまわない。
Referring to FIG. 9, among communication devices 201 to 207, communication device 201 is a communication device on the transmission side, and communication devices 202 to 207 are communication devices on the reception side (including transfer). The communication devices 201 to 207 are connected via the
図10に示すように、本実施形態における送信側の通信装置201は、複数の鍵チェーン格納部211a〜211b、データイメージ入力部212、送信パケット生成部213、トラストアンカ生成部214、ネットワーク通信部215、ハッシュ計算部216、暗号計算部217を含む。
As shown in FIG. 10, the communication device 201 on the transmission side in this embodiment includes a plurality of key chain storage units 211a to 211b, a data
また、図11に示すように、本実施形態における受信又は転送側の通信装置202は、鍵格納部221、データイメージ再構成部222、ハッシュチェーン検証部223、鍵チェーン検証部224、トラストアンカ検証部225、ネットワーク通信部226、ハッシュ計算部227を含む。
As shown in FIG. 11, the communication device 202 on the reception or transfer side in the present embodiment includes a
本実施形態の通信装置201は、図2に示す第1の実施形態での構成に対して、鍵チェーン格納部211a〜211bを複数保持する点が異なる。この複数の鍵チェーン格納部211a〜211bは、図9に示すグループに対応するだけの数の鍵チェーンを維持している。例えば、図9に示すグループG1とグループG2の2つのグループがあったとすると、本実施形態の通信装置201はグループG1用の鍵チェーンとグループG2用の鍵チェーンの2つの鍵チェーンを持つ構成になる。 The communication device 201 of the present embodiment is different from the configuration of the first embodiment shown in FIG. 2 in that a plurality of key chain storage units 211a to 211b are held. The plurality of key chain storage units 211a to 211b maintain the number of key chains corresponding to the group shown in FIG. For example, assuming that there are two groups, group G1 and group G2, shown in FIG. 9, the communication apparatus 201 of this embodiment has a configuration having two key chains: a key chain for group G1 and a key chain for group G2. Become.
通信装置202と通信装置203はグループG1用の共有鍵が事前に設定されており、通信装置204〜207はグループG2用の共有鍵が事前に設定されている点が、第1の実施形態と異なる構成である。
The communication device 202 and the communication device 203 have a shared key for the group G1 set in advance, and the
図12を参照すると、通信装置201がデータイメージから生成するパケット構成を示しており、トラストアンカパケット、各パケットに含まれる鍵、次のパケットに対する鍵付きハッシュ値のそれぞれが通信装置が所属するグループの数に等しい分だけ含まれる点が、第1の実施形態と異なる。 Referring to FIG. 12, the packet configuration generated from the data image by the communication device 201 is shown, and the group to which the communication device belongs to each of the trust anchor packet, the key included in each packet, and the keyed hash value for the next packet. It is different from the first embodiment in that it is included in an amount equal to the number of.
第1の実施形態との動作の違いを説明すると、本実施形態の通信装置201は、パケットを生成するときに第1の実施形態では一つの鍵チェーンを使用して、鍵付きハッシュ値の算出、パケットへの付与を行っていたのに対し、本実施形態では維持する鍵チェーンの数だけそれぞれの鍵を用いて鍵付きハッシュ値の算出を行う。さらに、算出した鍵付きハッシュ値と算出に用いた鍵のペアをパケットに含めるが、このとき、このペアも鍵チェーンの数だけパケットに含める点が異なる。 Explaining the difference in operation from the first embodiment, the communication apparatus 201 of this embodiment calculates a hash value with a key using a single key chain in the first embodiment when generating a packet. In this embodiment, key-attached hash values are calculated using the same number of keys as the number of key chains to be maintained. Furthermore, the calculated keyed hash value and the key pair used for the calculation are included in the packet. However, at this time, this pair is also included in the packet by the number of key chains.
図12を用いてより具体的に説明する。ここで、説明を簡単にするため最初に送信されるトラストアンカパケットから順に説明するが、実際は第1の実施形態と同様に最後に送信されるパケットから再帰的に生成される。 This will be described more specifically with reference to FIG. Here, in order to simplify the description, the trust anchor packet that is transmitted first will be described in order, but in reality, it is recursively generated from the packet that is transmitted last as in the first embodiment.
通信装置1はトラストアンカパケットとしてグループ毎にトラストアンカパケットTを算出する。算出の計算自体は第1の実施形態と同様である。グループがn個存在していたとすると、n個のトラストアンカパケットT(1)〜T(n)(符号B1、B2で示す)がそれぞれ生成される。通信装置1は、各トラストアンカパケットをまとめて最初のパケットとして送信する(符号B11で示す)。
The
次に、通信装置1は、グループ毎に同様に鍵付きハッシュ値を算出し、グループ毎の鍵付きハッシュ値及び算出に用いた鍵のペアをそれぞれパケットに含める(符号B3〜B7で示す)。なお、このときデータ部分Dは全グループで共通なので一つのみでかまわない。すなわち、2番目のパケットとして、データ部分D(1)(符号B3で示す)と、グループG1向けの算出に用いた鍵K(1_1)(符号B4で示す)と鍵付きハッシュ値H(1_1)(符号B5で示す)から、グループGn向けの算出に用いた鍵K(n_1)(符号B6で示す)と鍵付きハッシュ値H(n_1)(符号B7で示す)とをまとめてパケットとして送信する(符号B12で示す)。
Next, the
以降、同様にパケット生成及び送信を行う。最後のパケットについては第1の実施形態と同様の処理に基づきグループ毎の鍵K(1_L)からK(n_L)(符号B9、B10で示す)を最後のデータ部分D(L)(符号B8で示す)とともにパケットとして送信する(符号B13で示す)。 Thereafter, packet generation and transmission are performed in the same manner. For the last packet, based on the same processing as in the first embodiment, the keys K (1_L) to K (n_L) (indicated by reference symbols B9 and B10) for each group are changed to the last data portion D (L) (reference symbol B8). (Shown by reference sign B13).
次に、本実施形態のグループG1に属する通信装置2でのパケット受信時の動作について第1の実施形態と異なる部分を中心に説明する。
Next, the operation at the time of packet reception in the
この実施形態の通信装置2は、通信装置1からのパケットを受信すると通信装置202自身が属するグループに関係する箇所のみを使用し、他のグループに関係する箇所に対しては何もしない以外は第1の実施形態と同様の動作となる。
When the
より具体的に説明すると、通信装置202は図12に示すトラストアンカパケット(符号B11で示す)を受信すると、グループG1に関係する箇所であるT(1)(符号B1で示す)のみを自身宛のデータと認識し、T(1)をグループG1のトラストアンカパケットとして第1の実施形態と同様の処理を行う。 More specifically, when the communication apparatus 202 receives the trust anchor packet (indicated by reference numeral B11) shown in FIG. 12, only the T (1) (indicated by reference numeral B1) that is a part related to the group G1 is addressed to itself. The same processing as in the first embodiment is performed using T (1) as the trust anchor packet of group G1.
さらに、通信装置202は図12に示すパケット(符号B12で示す)を受信すると、グループG1に関係する箇所であるデータ部分D(1)と鍵K(1_1)そして鍵付きハッシュ値H(1_1)(符号B3からB5で示す)を自身宛のデータと認識し、第1の実施形態と同様の処理を行う。 Furthermore, when the communication apparatus 202 receives the packet shown in FIG. 12 (indicated by reference numeral B12), the data portion D (1), the key K (1_1), and the keyed hash value H (1_1), which are locations related to the group G1. (Represented by symbols B3 to B5) is recognized as data addressed to itself, and the same processing as in the first embodiment is performed.
以降、同様に処理することにより、グループ毎に異なる鍵チェーンを用いることが可能となる。 Thereafter, by performing the same processing, it is possible to use a different key chain for each group.
なお、通信装置202は通信装置201から受信したパケットを次のホップに属する通信装置へ転送する動作を行う。図9を例にとると、通信装置204及び通信装置205へパケットが転送される。このとき、通信装置2は、パケットをそのまま転送するような動作であってもよいし、自身に関係する部分を削除したのちパケットを転送するような動作であってもかまわない。
Note that the communication device 202 performs an operation of transferring a packet received from the communication device 201 to a communication device belonging to the next hop. Taking FIG. 9 as an example, the packet is transferred to the
より具体的には、図12の符号B12で示すパケットを例にとると、グループG1に関係する箇所である鍵K(1_1)(符号B4で示す)及び鍵付きハッシュ値H(1_1)(符号B5で示す)を削除し、それ以外を転送するような構成となる。このとき、データ部分D(1)は全グループ共通となるため削除しない。 More specifically, taking the packet indicated by reference numeral B12 in FIG. 12 as an example, the key K (1_1) (indicated by reference numeral B4) and the hash value with key H (1_1) (reference numeral), which are locations related to the group G1. (B5) is deleted, and the others are transferred. At this time, the data portion D (1) is not deleted because it is common to all groups.
次に、第3の実施形態の効果について説明する。この実施形態の効果は、もし鍵が漏れてしまった場合に第1の実施形態よりもその影響範囲を小さくすることができることである。これは、鍵を共通で使用する通信装置の範囲を限定するため、あるグループ用の鍵が漏れた場合であっても他のグループ用の鍵には影響しないからである。 Next, effects of the third embodiment will be described. The effect of this embodiment is that if the key is leaked, the range of influence can be made smaller than in the first embodiment. This is because, in order to limit the range of communication devices that commonly use keys, even if a key for a certain group leaks, it does not affect the keys for other groups.
さらに、通信装置がパケットを転送するときの通信オーバーヘッドを削減できることである。これは、通信装置が自身のグループに関する箇所を削除してから次の通信装置へ転送するよう構成されているからである。 Furthermore, it is possible to reduce communication overhead when the communication device transfers a packet. This is because the communication device is configured to delete the part related to its own group and transfer it to the next communication device.
本実施形態では通信装置で用いる鍵付きハッシュ値のサイズはグループによらず同一の構成としていたが、このハッシュ値のサイズはグループ毎に異なる値であってもよい。この場合、オリジナルのハッシュ関数が算出する出力20バイトのうち一部(例えば最後の数バイト)を用いる。サイズの例としては、グループG1用には6バイトのハッシュ値を用いて、グループG2用には7バイトのハッシュ値を用いる。 In this embodiment, the size of the keyed hash value used in the communication apparatus is the same regardless of the group, but the size of the hash value may be different for each group. In this case, a part (for example, the last few bytes) of the output 20 bytes calculated by the original hash function is used. As an example of the size, a 6-byte hash value is used for the group G1, and a 7-byte hash value is used for the group G2.
ハッシュ値のサイズをグループ毎に異なる値にする構成と、上述の通信装置が自身のグループに関する箇所を削除してから次の通信装置へ転送するよう構成が組み合わせて利用されている場合、さらにパケットの偽装をしにくくすることができることである。これは、前の通信装置から転送された不要な箇所が削除されたパケットを受け取って初めて通信装置は自身に関係する箇所が判明するため、攻撃者がもし正当な鍵を用いた場合であっても途中に含まれる鍵及び鍵付きハッシュ値の区切りを見分けるのが困難にできるからである。 If the configuration in which the size of the hash value is different for each group and the configuration in which the above-described communication device deletes a location related to its own group and forwards it to the next communication device are used in combination, further packets It is possible to make it difficult to disguise. This is the case when an attacker uses a valid key because the communication device can only find out the location related to itself after receiving a packet from which unnecessary portions transferred from the previous communication device are deleted. This is because it is difficult to distinguish between the key and the hash value with key included in the middle.
第3の実施形態は、第1の実施形態もしくは第2の実施形態のどちらとも組み合わせて利用することが可能である。 The third embodiment can be used in combination with either the first embodiment or the second embodiment.
以上の如く、本発明の第1の態様は、送信側の通信装置と、受信又は転送側の通信装置と、前記送信側の通信装置と前記受信又は転送側の通信装置との間を接続するネットワークとを備え、完全性を保証するための通信システムであって、前記送信側の通信装置は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いて、データ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、生成されたパケットを前記ネットワークに送信する手段とを備え、前記受信又は転送側の通信装置は、前記ネットワークからのパケットを受信する手段と、パケットの正当性を確認するための鍵を格納する手段と、前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段とを備えることを特徴とする通信システムである。 As described above, the first aspect of the present invention connects the communication device on the transmission side, the communication device on the reception or transfer side, and the communication device on the transmission side and the communication device on the reception or transfer side. A communication system for ensuring integrity, wherein the communication device on the transmitting side stores a key chain in which a series of keys is composed of repeated hash values for each key; Using the key chain in order for the divided data images to be transmitted, a hash value with a key is calculated from the data part and the key, and is added to the previous transmitted packet. Each packet is repeated by repeatedly calculating the keyed hash value from the data part of the previous packet, the key, and the previously calculated keyed hash value, and assigning it to the previous transmitted packet. And a means for transmitting the generated packet to the network, wherein the receiving or forwarding communication device has a means for receiving the packet from the network, and the validity of the packet. A means for storing a key for confirmation and a keyed hash for the entire packet including the next authenticator by calculating that the key included in the received packet is a continuous hash value based on the stored key. A communication system comprising: means for verifying an authenticator by calculating a value and comparing whether the value is the same as a calculated keyed hash value included in a previous packet.
また、本発明の第2の態様は、上記態様において、前記認証子を生成する手段は、送信するパケットを次のパケットに含まれる鍵と、次のパケット全体に対する鍵付きハッシュ値で構成し、さらに次のパケットに含まれる鍵で暗号化し、前記認証子を検証する手段は、受信するパケットを次のパケットに含まれる鍵の正当性を確認した後、パケットを復号して次のパケットの鍵付きハッシュ値を取得することを特徴とする。 In addition, in a second aspect of the present invention, in the above aspect, the means for generating the authenticator includes a packet to be transmitted including a key included in the next packet and a keyed hash value for the entire next packet, Further, the means for verifying the authenticator by encrypting with the key included in the next packet and confirming the validity of the key included in the next packet after decrypting the received packet, It is characterized in that an attached hash value is acquired.
また、本発明の第3の態様は、上記態様において、前記認証子を生成する手段は、各パケットに含まれる鍵を先のパケットに含まれる鍵を用いて暗号化し、前記認証子を検証する手段は、パケットに含まれる暗号化された鍵を先に取得した鍵で復号することにより鍵を取得することを特徴とする。 In a third aspect of the present invention, in the above aspect, the means for generating the authenticator encrypts a key included in each packet using a key included in a previous packet, and verifies the authenticator. The means is characterized in that the key is obtained by decrypting the encrypted key included in the packet with the previously obtained key.
また、本発明の第4の態様は、上記態様において、前記認証子を生成する手段は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、前記認証子を検証する手段は、2以上の認証子のうちどれか1つの認証子を検証することを特徴とする。 According to a fourth aspect of the present invention, in the above aspect, the means for generating the authenticator includes two or more key chains, calculates two or more authenticators using each key chain, and the authentication The means for verifying the child is characterized by verifying one of the two or more authenticators.
また、本発明の第5の態様は、上記態様において、前記認証子を生成する手段は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、前記認証子を検証する手段は、データ部分に引き続く最初の認証子を検証し、検証した認証子及びそれに関する鍵をパケットから削除したのち次の通信装置へ転送することを特徴とする。 According to a fifth aspect of the present invention, in the above aspect, the means for generating the authenticator comprises two or more key chains, calculates two or more authenticators using each key chain, and the authentication The means for verifying the child is characterized in that the first authenticator following the data part is verified, and the verified authenticator and its key are deleted from the packet and then transferred to the next communication device.
また、本発明の第6の態様は、上記態様において、前記各パケットに含まれる認証子の長さは各鍵チェーン毎に異なる長さであることを特徴とする。 According to a sixth aspect of the present invention, in the above aspect, the length of the authenticator included in each packet is different for each key chain.
また、本発明の第7の態様は、上記態様において、前記ネットワークは、無線通信路であることを特徴とする。 According to a seventh aspect of the present invention, in the above aspect, the network is a wireless communication path.
本発明の第8の態様は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、生成されたパケットをネットワークに送信する手段とを備えたことを特徴とする通信装置である。 According to an eighth aspect of the present invention, there is provided means for storing a key chain in which a series of keys is formed by repeating a hash value for each key, and sequentially using the key chains for the divided data images to be transmitted. The keyed hash value is calculated from the data part and the key and added to the previous packet to be transmitted. After that, the data part and key in the previous packet and the keyed hash previously calculated Means for generating an authenticator for each packet by repeatedly calculating a hash value with a key from the value and assigning it to a packet transmitted immediately before, and means for transmitting the generated packet to the network And a communication device.
また、本発明の第9の態様は、上記態様において、前記認証子を生成する手段は、送信するパケットを次のパケットに含まれる鍵と、次のパケット全体に対する鍵付きハッシュ値で構成し、さらに次のパケットに含まれる鍵で暗号化することを特徴とする。 In addition, in a ninth aspect of the present invention, in the above aspect, the means for generating the authenticator includes a packet to be transmitted including a key included in the next packet and a keyed hash value for the entire next packet, Further, encryption is performed using a key included in the next packet.
また、本発明の第10の態様は、上記態様において、前記認証子を生成する手段は、各パケットに含まれる鍵を先のパケットに含まれる鍵を用いて暗号化することを特徴とする。 According to a tenth aspect of the present invention, in the above aspect, the means for generating the authenticator encrypts a key included in each packet using a key included in a previous packet.
また、本発明の第11の態様は、上記態様において、前記認証子を生成する手段は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出することを特徴とする。 An eleventh aspect of the present invention is characterized in that, in the above aspect, the means for generating the authenticator comprises two or more key chains, and calculates two or more authenticators using each key chain. And
また、本発明の第12の態様は、上記態様において、各パケットに含まれる認証子の長さは各鍵チェーン毎に異なる長さであることを特徴とする。 According to a twelfth aspect of the present invention, in the above aspect, the length of the authenticator included in each packet is different for each key chain.
また、本発明の第13の態様は、ネットワークからのパケットを受信する手段と、パケットの正当性を確認するための鍵を格納する手段と、前記格納した鍵に基づき前記受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段とを備えたことを特徴とする通信装置である。 A thirteenth aspect of the present invention is included in the received packet based on the means for receiving a packet from the network, a means for storing a key for confirming the validity of the packet, and the stored key. Calculate that the key has a continuous hash value, calculate the keyed hash value for the entire packet including the next authenticator, and be the same as the calculated keyed hash value included in the next packet. A communication device comprising means for verifying an authenticator by comparing whether or not there is an authenticator.
また、本発明の第14の態様は、上記態様において、前記認証子を検証する手段は、受信するパケットを次のパケットに含まれる鍵の正当性を確認した後、パケットを復号して次のパケットの鍵付きハッシュ値を取得することを特徴とする。 In addition, in a fourteenth aspect of the present invention, in the above aspect, the means for verifying the authenticator confirms the validity of the key included in the next packet from the received packet, decrypts the packet, and A keyed hash value of a packet is acquired.
また、本発明の第15の態様は、上記態様において、前記認証子を検証する手段は、パケットに含まれる暗号化された鍵を先に取得した鍵で復号することにより鍵を取得することを特徴とする。 According to a fifteenth aspect of the present invention, in the above aspect, the means for verifying the authenticator obtains the key by decrypting the encrypted key included in the packet with the previously obtained key. Features.
また、本発明の第16の態様は、上記態様において、前記認証子を検証する手段は、2以上の認証子のうちどれか1つの認証子を検証することを特徴とする。 According to a sixteenth aspect of the present invention, in the above aspect, the means for verifying the authenticator verifies one of the two or more authenticators.
また、本発明の第17の態様は、上記態様において、前記認証子を検証する手段は、データ部分に引き続く最初の認証子を検証し,検証した認証子及びそれに関する鍵をパケットから削除したのち次の通信装置へ転送することを特徴とする。 According to a seventeenth aspect of the present invention, in the above aspect, the means for verifying the authenticator verifies the first authenticator following the data portion, and deletes the verified authenticator and the key related thereto from the packet. It transfers to the next communication apparatus, It is characterized by the above-mentioned.
また、本発明の第18の態様は、送信側では、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納しておき、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成し、生成されたパケットをネットワークに送信し、受信側では、パケットの正当性を確認するための鍵を格納しておき、前記ネットワークからのパケットを受信し、前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証することを特徴とするデータ通信方法である。 In the eighteenth aspect of the present invention, the transmitting side stores a key chain in which a series of keys is formed by repeating hash values for each key, and sequentially transmits the divided data images to be transmitted. Using the key chain in order, a hash value with a key is calculated from the data part and the key and given to the previous packet to be transmitted, and thereafter, the data part, key and destination in the previous packet are sent. By generating a keyed hash value from the calculated keyed hash value and assigning it to the packet sent before, an authenticator for each packet is generated, and the generated packet is sent to the network. The reception side stores the key for confirming the validity of the packet, receives the packet from the network, and receives it based on the stored key. Calculates that the key included in the packet is a continuous hash value, calculates the keyed hash value for the entire packet including the next authenticator, and calculates the calculated keyed hash included in the next packet A data communication method characterized by verifying an authenticator by comparing whether or not the value is the same.
また、本発明の第19の態様は、上記態様において、前記認証子の生成は、送信するパケットを次のパケットに含まれる鍵と、次のパケット全体に対する鍵付きハッシュ値で構成し、さらに次のパケットに含まれる鍵で暗号化し、前記認証子の検証は、受信するパケットを次のパケットに含まれる鍵の正当性を確認した後、パケットを復号して次のパケットの鍵付きハッシュ値を取得することを特徴とする。 In addition, in a nineteenth aspect of the present invention, in the above aspect, the authenticator is generated by configuring a packet to be transmitted with a key included in the next packet and a keyed hash value for the entire next packet, The authenticator is verified by verifying the validity of the key included in the next packet, and then decrypting the packet to obtain the keyed hash value of the next packet. It is characterized by acquiring.
また、本発明の第20の態様は、上記態様において、前記認証子の生成は、各パケットに含まれる鍵を先のパケットに含まれる鍵を用いて暗号化し、前記認証子を検証する手段は、パケットに含まれる暗号化された鍵を先に取得した鍵で復号することにより鍵を取得することを特徴とする。 In addition, in a twentieth aspect of the present invention, in the above aspect, the means for generating the authenticator includes: encrypting a key included in each packet using a key included in a previous packet; and verifying the authenticator. The key is obtained by decrypting the encrypted key included in the packet with the previously obtained key.
また、本発明の第21の態様は、上記態様において、前記認証子の生成は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、前記認証子の検証は、2以上の認証子のうちどれか1つの認証子を検証することを特徴とする。 According to a twenty-first aspect of the present invention, in the above aspect, the generation of the authenticator includes two or more key chains, calculates two or more authenticators using each key chain, and The verification is characterized by verifying any one of two or more authenticators.
また、本発明の第22の態様は、上記態様において、前記認証子の生成は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、前記認証子の検証は、データ部分に引き続く最初の認証子を検証し、検証した認証子及びそれに関する鍵をパケットから削除したのち次の通信装置へ転送することを特徴とする。 According to a twenty-second aspect of the present invention, in the above aspect, the generation of the authenticator includes two or more key chains, calculates two or more authenticators using each key chain, and The verification is characterized in that the first authenticator subsequent to the data part is verified, and the verified authenticator and its key are deleted from the packet and then transferred to the next communication device.
また、本発明の第23の態様は、上記態様において、各パケットに含まれる認証子の長さは各鍵チェーン毎に異なる長さであることを特徴とする。 A twenty-third aspect of the present invention is characterized in that, in the above aspect, the length of the authenticator included in each packet is different for each key chain.
また、本発明の第24の態様は、上記態様において、前記ネットワークは、無線通信路であることを特徴とする。 According to a twenty-fourth aspect of the present invention, in the above aspect, the network is a wireless communication path.
また、本発明の第25の態様は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する処理と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する処理と、生成されたパケットをネットワークに送信する処理とを通信装置に実行させることを特徴とするプログラムである。 According to a twenty-fifth aspect of the present invention, a process for storing a key chain in which a series of keys is formed by repeating a hash value for each key, and the key chains in order for the divided data images to be transmitted. Use in order to calculate a hash value with a key from the data part and the key and assign it to the previous packet to be sent, and thereafter, the data part and key in the previous packet and the key previously calculated A process for generating an authenticator for each packet by repeatedly calculating a hash value with a key from the attached hash value and assigning it to the packet sent one before, and sending the generated packet to the network A program that causes a communication device to execute processing to be performed.
また、本発明の第26の態様は、上記態様において、ネットワークからのパケットを受信する処理と、パケットの正当性を確認するための鍵を格納する処理と、前記格納した鍵に基づき前記受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する処理とを通信装置に実行させることを特徴とするプログラムである。 According to a twenty-sixth aspect of the present invention, in the above aspect, the process for receiving a packet from the network, the process for storing a key for confirming the validity of the packet, and the reception based on the stored key. Calculates that the key included in the packet is a continuous hash value, calculates the keyed hash value for the entire packet including the next authenticator, and calculates the calculated keyed hash included in the next packet It is a program characterized by causing a communication device to execute processing for verifying an authenticator by comparing whether the values are the same.
また、本発明の第27の態様は、上記データ通信方法の機能を実現するためのデータ通信プログラムである。 A twenty-seventh aspect of the present invention is a data communication program for realizing the function of the data communication method.
以上、実施の形態及び態様をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び態様に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。 The present invention has been described above with reference to the embodiments and aspects. However, the present invention is not necessarily limited to the above-described embodiments and aspects, and various modifications may be made within the scope of the technical idea. I can do it.
本出願は、2008年8月29日に出願された日本出願特願2008−221872号を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2008-221872 for which it applied on August 29, 2008, and takes in those the indications of all here.
本発明によるプログラムイメージ更新のための完全性保証方式は、無線通信を用いたネットワークにおける安全なプログラムイメージの配布に有用である。特にIEEE802.15.4やZigBeeに代表される無線通信プロトコルを用いたワイヤレスセンサーネットワーク分野でのPCに比べて能力が制限された装置において有効である。 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. In particular, 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.
1〜7,201〜207 通信装置
10,210 ネットワーク
11,111,211 鍵チェーン格納部
12,112,212 データイメージ入力部
13,113,213 送信パケット生成部
14,114,214 トラストアンカ生成部
15,115,215,26,126,226 ネットワーク通信部
16,116,216,27,127,227 ハッシュ計算部
17,117,217,28,128,228 暗号計算部
118 送信鍵暗号部
21,121,221 鍵格納部
22,122,222 データイメージ再構成部
23,123,223 ハッシュチェーン検証部
24,124,224 鍵チェーン検証部
25,125,225 トラストアンカ検証部
129 鍵復号部
1 to 7, 201 to 207
Claims (26)
前記送信側の通信装置は、
一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、
分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いて、データ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、
生成されたパケットを前記ネットワークに送信する手段と
を備え、
前記受信又は転送側の通信装置は、
前記ネットワークからのパケットを受信する手段と、
パケットの正当性を確認するための鍵を格納する手段と、
前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段と
を備えることを特徴とする通信システム。Communication for guaranteeing integrity, comprising a communication device on the transmission side, a communication device on the reception or transfer side, and a network connecting the communication device on the transmission side and the communication device on the reception or transfer side A system,
The transmission side communication device is:
Means for storing a key chain in which a series of keys consists of repeated hash values for each key;
Using the key chain in order for the divided data images to be transmitted, a hash value with a key is calculated from the data part and the key, and is added to the previous transmitted packet. By repeating the calculation of the keyed hash value from the data part of the previous packet, the key, and the previously calculated keyed hash value, and assigning it to the previous transmitted packet, Means for generating an authenticator;
Means for transmitting the generated packet to the network;
The communication device on the receiving or transferring side is:
Means for receiving packets from the network;
Means for storing a key for verifying the validity of the packet;
Based on the stored key, calculate that the key included in the received packet is a continuous hash value, calculate the keyed hash value for the entire packet including the next authenticator, And a means for verifying the authenticator by comparing whether it is the same as the calculated keyed hash value.
前記認証子を検証する手段は、受信するパケットを次のパケットに含まれる鍵の正当性を確認した後、パケットを復号して次のパケットの鍵付きハッシュ値を取得する
ことを特徴とする請求項1に記載の通信システム。The means for generating the authenticator comprises a packet to be transmitted composed of a key included in the next packet and a keyed hash value for the entire next packet, and further encrypted with a key included in the next packet,
The means for verifying the authenticator confirms the validity of the key included in the next packet of the received packet, and then decrypts the packet to obtain a keyed hash value of the next packet. Item 12. The communication system according to Item 1.
前記認証子を検証する手段は、パケットに含まれる暗号化された鍵を先に取得した鍵で復号することにより鍵を取得する
ことを特徴とする請求項1又は請求項2に記載の通信システム。The means for generating the authenticator encrypts the key included in each packet using the key included in the previous packet,
The communication system according to claim 1 or 2, wherein the means for verifying the authenticator acquires the key by decrypting the encrypted key included in the packet with the previously acquired key. .
前記認証子を検証する手段は、2以上の認証子のうちどれか1つの認証子を検証する
ことを特徴とする請求項1から請求項3のいずれかに記載の通信システム。The means for generating the authenticator comprises two or more key chains, and calculates two or more authenticators using each key chain,
The communication system according to any one of claims 1 to 3, wherein the means for verifying the authenticator verifies one of the two or more authenticators.
前記認証子を検証する手段は、データ部分に引き続く最初の認証子を検証し、検証した認証子及びそれに関する鍵をパケットから削除したのち次の通信装置へ転送する
ことを特徴とする請求項1から請求項3のいずれかに記載の通信システム。The means for generating the authenticator comprises two or more key chains, and calculates two or more authenticators using each key chain,
The means for verifying the authenticator verifies an initial authenticator subsequent to the data portion, and deletes the verified authenticator and a key related thereto from the packet and then forwards it to the next communication device. The communication system according to claim 3.
分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、
生成されたパケットをネットワークに送信する手段と
を備えたことを特徴とする通信装置。Means for storing a key chain in which a series of keys consists of repeated hash values for each key;
Using the key chain in order for the divided data image to be transmitted, a hash value with a key is calculated from the data part and the key, and given to the packet transmitted one before, and thereafter one Authenticate each packet by repeatedly calculating the keyed hash value from the data part of the previous packet, the key, and the previously calculated keyed hash value, and assigning it to the previous packet sent A means of creating children;
Means for transmitting the generated packet to the network.
パケットの正当性を確認するための鍵を格納する手段と、
前記格納した鍵に基づき前記受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段と
を備えたことを特徴とする通信装置。Means for receiving packets from the network;
Means for storing a key for verifying the validity of the packet;
Calculate that the key included in the received packet is a continuous hash value based on the stored key, calculate a keyed hash value for the entire packet including the next authenticator, And a means for verifying the authenticator by comparing whether or not the hash value with the key is already included.
分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成し、生成されたパケットをネットワークに送信し、
受信側では、パケットの正当性を確認するための鍵を格納しておき、
前記ネットワークからのパケットを受信し、
前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する
ことを特徴とするデータ通信方法。On the sending side, a key chain consisting of a series of keys consisting of repeated hash values for each key is stored,
Using the key chain in order for the divided data image to be transmitted, a hash value with a key is calculated from the data part and the key, and given to the packet transmitted one before, and thereafter one Authenticate each packet by repeatedly calculating the keyed hash value from the data part of the previous packet, the key, and the previously calculated keyed hash value, and assigning it to the previous packet sent Creates a child, sends the generated packet to the network,
On the receiving side, a key for checking the validity of the packet is stored,
Receiving packets from the network;
Based on the stored key, calculate that the key included in the received packet is a continuous hash value, calculate the keyed hash value for the entire packet including the next authenticator, A data communication method comprising: verifying an authenticator by comparing whether or not the calculated keyed hash value is the same.
前記認証子の検証は、受信するパケットを次のパケットに含まれる鍵の正当性を確認した後、パケットを復号して次のパケットの鍵付きハッシュ値を取得する
ことを特徴とする請求項18に記載のデータ通信方法。The authenticator is generated by configuring a packet to be transmitted with a key included in the next packet and a keyed hash value for the entire next packet, and further encrypting with a key included in the next packet,
19. The verification of the authenticator is performed by confirming a validity of a key included in a next packet of a received packet and then decrypting the packet to obtain a keyed hash value of the next packet. The data communication method described in 1.
前記認証子を検証する手段は、パケットに含まれる暗号化された鍵を先に取得した鍵で復号することにより鍵を取得する
ことを特徴とする請求項18又は請求項19に記載のデータ通信方法。The generation of the authenticator encrypts the key included in each packet using the key included in the previous packet,
The data communication according to claim 18 or 19, wherein the means for verifying the authenticator obtains the key by decrypting the encrypted key included in the packet with the previously obtained key. Method.
前記認証子の検証は、2以上の認証子のうちどれか1つの認証子を検証する
ことを特徴とする請求項18から請求項20のいずれかに記載のデータ通信方法。The generation of the authenticator includes two or more key chains, and calculates two or more authenticators using each key chain,
21. The data communication method according to claim 18, wherein the verification of the authenticator is performed by verifying any one of two or more authenticators.
前記認証子の検証は、データ部分に引き続く最初の認証子を検証し、検証した認証子及びそれに関する鍵をパケットから削除したのち次の通信装置へ転送する
ことを特徴とする請求項18から請求項20のいずれかに記載のデータ通信方法。The generation of the authenticator includes two or more key chains, and calculates two or more authenticators using each key chain,
19. The verification of the authenticator is performed by verifying a first authenticator subsequent to a data portion, and transferring the verified authenticator and a key related thereto to a next communication apparatus after deleting the verified authenticator and a key related thereto from the packet. Item 21. The data communication method according to any one of Items 20.
分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する処理と、
生成されたパケットをネットワークに送信する処理と
を通信装置に実行させることを特徴とするプログラム。A process of storing a key chain in which a series of keys consists of repeated hash values for each key;
Using the key chain in order for the divided data image to be transmitted, a hash value with a key is calculated from the data part and the key, and given to the packet transmitted one before, and thereafter one Authenticate each packet by repeatedly calculating the keyed hash value from the data part of the previous packet, the key, and the previously calculated keyed hash value, and assigning it to the previous packet sent The process of creating children,
A program that causes a communication device to execute processing for transmitting a generated packet to a network.
パケットの正当性を確認するための鍵を格納する処理と、
前記格納した鍵に基づき前記受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する処理と
を通信装置に実行させることを特徴とするプログラム。
Processing to receive packets from the network;
A process of storing a key for checking the validity of the packet;
Calculate that the key included in the received packet is a continuous hash value based on the stored key, calculate a keyed hash value for the entire packet including the next authenticator, A program for causing a communication device to execute processing for verifying an authenticator by comparing whether or not it is the same as a calculated keyed hash value contained in
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010526783A JP5556659B2 (en) | 2008-08-29 | 2009-08-28 | COMMUNICATION SYSTEM, TRANSMITTER AND RECEPTION OR TRANSFER COMMUNICATION DEVICE, DATA COMMUNICATION METHOD, DATA COMMUNICATION PROGRAM |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008221872 | 2008-08-29 | ||
JP2008221872 | 2008-08-29 | ||
PCT/JP2009/065047 WO2010024379A1 (en) | 2008-08-29 | 2009-08-28 | Communication system, communication device on transmission side and reception or transfer side, method for data communication and data transmission program |
JP2010526783A JP5556659B2 (en) | 2008-08-29 | 2009-08-28 | COMMUNICATION SYSTEM, TRANSMITTER AND RECEPTION OR TRANSFER COMMUNICATION DEVICE, DATA COMMUNICATION METHOD, DATA COMMUNICATION PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010024379A1 true JPWO2010024379A1 (en) | 2012-01-26 |
JP5556659B2 JP5556659B2 (en) | 2014-07-23 |
Family
ID=41721542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010526783A Expired - Fee Related JP5556659B2 (en) | 2008-08-29 | 2009-08-28 | COMMUNICATION SYSTEM, TRANSMITTER AND RECEPTION OR TRANSFER COMMUNICATION DEVICE, DATA COMMUNICATION METHOD, DATA COMMUNICATION PROGRAM |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5556659B2 (en) |
WO (1) | WO2010024379A1 (en) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2479520B (en) * | 2010-03-17 | 2016-07-13 | Signatrol Ltd | Remote Sensor Data Transmission |
JP5286380B2 (en) * | 2011-03-07 | 2013-09-11 | 株式会社東芝 | Data transmission apparatus and transmission method |
JP5612006B2 (en) | 2012-03-13 | 2014-10-22 | 株式会社東芝 | Data transmitting apparatus, data receiving apparatus, and program |
CN103813320B (en) * | 2014-01-14 | 2017-01-11 | 东北大学 | Grouping cluster and master key based key management method |
CN111756717B (en) * | 2014-10-16 | 2022-10-18 | 创新先进技术有限公司 | Information processing method and device |
WO2016116999A1 (en) | 2015-01-19 | 2016-07-28 | 三菱電機株式会社 | Packet transmission device, packet-receiving device, packet transmission program, and packet-receiving program |
US9871786B2 (en) | 2015-07-23 | 2018-01-16 | Google Llc | Authenticating communications |
GB2541950B (en) | 2015-09-07 | 2020-01-08 | Arm Ip Ltd | Methods for verifying data integrity |
KR101967855B1 (en) * | 2017-05-25 | 2019-04-11 | 김영후 | Method and system for verifying electronic document security using 2D barcode block division |
EP4152144A1 (en) | 2017-10-24 | 2023-03-22 | Huawei International Pte. Ltd. | Vehicle-mounted device upgrade method and related device |
CN108123960B (en) * | 2018-01-02 | 2020-10-16 | 武汉斗鱼网络科技有限公司 | Live broadcast room popularity verification method and device and electronic equipment |
CN110602142B (en) * | 2019-09-29 | 2022-07-19 | 成都安恒信息技术有限公司 | Background authentication method based on cipher chain |
WO2024201955A1 (en) * | 2023-03-30 | 2024-10-03 | 日本電信電話株式会社 | Transmission device, reception device, communication system, transmission method, and program |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3651721B2 (en) * | 1996-11-01 | 2005-05-25 | 株式会社東芝 | Mobile computer device, packet processing device, and communication control method |
JP3948595B2 (en) * | 2000-03-06 | 2007-07-25 | Kddi株式会社 | Message authentication device |
JP2002208922A (en) * | 2001-01-12 | 2002-07-26 | Ntt Docomo Inc | Encrypting device, decrypting device and authentication information applicator, encrypting method, decrypting method and authentication information application method |
US20030041242A1 (en) * | 2001-05-11 | 2003-02-27 | Sarver Patel | Message authentication system and method |
KR100807926B1 (en) * | 2003-10-14 | 2008-02-28 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | Efficient management of cryptographic key generations |
JP2006019975A (en) * | 2004-06-30 | 2006-01-19 | Matsushita Electric Ind Co Ltd | Cipher packet communication system, receiving device and transmitting device with which same is equipped , and communication method, receiving method, transmitting method, receiving program and transmitting program for cipher packet which are applied thereto |
JP4631423B2 (en) * | 2004-12-13 | 2011-02-16 | 沖電気工業株式会社 | Message authentication method, message authentication apparatus and message authentication system using the authentication method |
JP4665617B2 (en) * | 2005-06-10 | 2011-04-06 | 沖電気工業株式会社 | Message authentication system, message transmission device, message reception device, message transmission method, message reception method, and program |
JP4197031B2 (en) * | 2006-11-30 | 2008-12-17 | 沖電気工業株式会社 | Message authentication system and message authentication method |
JP5084406B2 (en) * | 2007-09-05 | 2012-11-28 | Kddi株式会社 | Encryption key update system, encryption key update method and program |
-
2009
- 2009-08-28 WO PCT/JP2009/065047 patent/WO2010024379A1/en active Application Filing
- 2009-08-28 JP JP2010526783A patent/JP5556659B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2010024379A1 (en) | 2010-03-04 |
JP5556659B2 (en) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5556659B2 (en) | COMMUNICATION SYSTEM, TRANSMITTER AND RECEPTION OR TRANSFER COMMUNICATION DEVICE, DATA COMMUNICATION METHOD, DATA COMMUNICATION PROGRAM | |
Aman et al. | Low power data integrity in IoT systems | |
US11804967B2 (en) | Systems and methods for verifying a route taken by a communication | |
KR101684076B1 (en) | A secure Data Communication system between IoT smart devices and a Network gateway under Internet of Thing environment | |
US8254581B2 (en) | Lightweight key distribution and management method for sensor networks | |
JP7232816B2 (en) | Authentication system and authentication method for authenticating assets | |
CN101512537B (en) | Method and system for secure processing of authentication key material in an ad hoc wireless network | |
CN109510818B (en) | Data transmission system, method, device, equipment and storage medium of block chain | |
EP3476078B1 (en) | Systems and methods for authenticating communications using a single message exchange and symmetric key | |
JP2009529832A (en) | Undiscoverable, ie secure data communication using black data | |
CN111614621B (en) | Internet of things communication method and system | |
CN113268715A (en) | Software encryption method, device, equipment and storage medium | |
KR101608815B1 (en) | Method and system for providing service encryption in closed type network | |
JP2012527190A (en) | System and method for securely identifying and authenticating a device in a symmetric encryption system | |
US20110320359A1 (en) | secure communication method and device based on application layer for mobile financial service | |
CN114157415A (en) | Data processing method, computing node, system, computer device and storage medium | |
KR102437864B1 (en) | Method of receiving firmware and method of transmitting firmware | |
CN107534552B (en) | Method executed at server device, client device and server device | |
CN115314284B (en) | Public key authentication searchable encryption method and system based on trusted execution environment | |
JPWO2010032391A1 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, COMMUNICATION METHOD AND PROGRAM USING THEM | |
JP5664104B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND PROGRAM | |
JP4631423B2 (en) | Message authentication method, message authentication apparatus and message authentication system using the authentication method | |
RU2278477C2 (en) | Authentication method for stationary regional wireless broadband access systems | |
CN112350920A (en) | Instant communication system based on block chain | |
Nasiraee et al. | DSBS: A novel dependable secure broadcast stream over lossy channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130612 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130806 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140407 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140414 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140520 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5556659 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |