JP5556659B2 - 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム - Google Patents

通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム Download PDF

Info

Publication number
JP5556659B2
JP5556659B2 JP2010526783A JP2010526783A JP5556659B2 JP 5556659 B2 JP5556659 B2 JP 5556659B2 JP 2010526783 A JP2010526783 A JP 2010526783A JP 2010526783 A JP2010526783 A JP 2010526783A JP 5556659 B2 JP5556659 B2 JP 5556659B2
Authority
JP
Japan
Prior art keywords
key
packet
authenticator
hash value
communication
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.)
Expired - Fee Related
Application number
JP2010526783A
Other languages
English (en)
Other versions
JPWO2010024379A1 (ja
Inventor
貴洋 角丸
ウグス・オスマン
ヴェストホッフ・デュルク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010526783A priority Critical patent/JP5556659B2/ja
Publication of JPWO2010024379A1 publication Critical patent/JPWO2010024379A1/ja
Application granted granted Critical
Publication of JP5556659B2 publication Critical patent/JP5556659B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight 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)

Description

本発明は、ネットワークを介した主にプログラムイメージ更新のためのプログラムイメージの完全性を検証するための通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラムに関する。
近年、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 Vijay Sivaraman, "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の問題点は、パケットを受信すると、正当な鍵を使って改ざんしたパケットを直ちに生成できてしまうことである。その理由は、パケットデータ、ハッシュ値を算出する鍵、算出されたハッシュ値の3つが同一のパケットに含まれているためである。
そこで、本発明の目的は、より演算処理が要求される公開鍵暗号方式を使用することなく、共有鍵暗号方式を用いてプログラムイメージの確からしさを検証する通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラムを提供することである。
本発明の他の目的は、受信するパケットを逐次検証できる仕組みを取り入れることで、もし改ざんされたパケットが挿入された場合でもすぐに検出する通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラムを提供することである。
本発明は、送信側の通信装置と、受信又は転送側の通信装置と、前記送信側の通信装置と前記受信又は転送側の通信装置との間を接続するネットワークとを備え、完全性を保証するための通信システムであって、前記送信側の通信装置は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いて、データ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、生成されたパケットを前記ネットワークに送信する手段とを備え、前記受信又は転送側の通信装置は、前記ネットワークからのパケットを受信する手段と、パケットの正当性を確認するための鍵を格納する手段と、前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段とを備えることを特徴とする通信システムである。
また、本発明は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、
生成されたパケットをネットワークに送信する手段とを備えたことを特徴とする通信装置である。
また、本発明は、ネットワークからのパケットを受信する手段と、パケットの正当性を確認するための鍵を格納する手段と、前記格納した鍵に基づき前記受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段とを備えたことを特徴とする通信装置である。
また、本発明は、送信側では、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納しておき、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成し、生成されたパケットをネットワークに送信し、受信側では、パケットの正当性を確認するための鍵を格納しておき、前記ネットワークからのパケットを受信し、前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証することを特徴とするデータ通信方法である。
また、本発明は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する処理と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する処理と、生成されたパケットをネットワークに送信する処理とを通信装置に実行させることを特徴とするプログラムである。
また、本発明は、ネットワークからのパケットを受信する処理と、パケットの正当性を確認するための鍵を格納する処理と、前記格納した鍵に基づき前記受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する処理とを通信装置に実行させることを特徴とするプログラムである。
本発明によれば、鍵チェーンに加え次のパケットのハッシュ値を先のパケットに含めて送ることで、パケットの偽装を困難にしている。このため、共通鍵暗号方式に基づく方式を用いた場合であってもデータイメージの完全性の検証を行うことができる。これにより、リソースが制限された装置でも、効率的な検証を行うことができる。また、次のパケットのハッシュ値を先のパケットに含めて送ることで、連続するパケット間の関連性を高めているので、パケットの偽装が行われた場合であっても、その偽装を素早く確実に検出することができる。
本発明の第1の実施形態の通信システムの構成を示すブロック図である。 本発明の第1の実施形態の送信側の通信装置の構成を示すブロック図である。 本発明の第1の実施形態の鍵チェーン格納部が保持する鍵チェーンの詳細を示したブロック図である。 本発明の第1の実施形態の受信又は転送側の通信装置の構成を示すブロック図である。 本発明の第1の実施形態の送信側と受信又は転送側の通信装置の間でやり取りされるパケットの詳細を示したブロック図である。 本発明の第1の実施形態の受信又は転送側の通信装置の動作を示すフローチャートである。 本発明の第2の実施形態の送信側の通信装置の構成を示すブロック図である。 本発明の第2の実施形態の受信又は転送側の通信装置の構成を示すブロック図である。 本発明の第3の実施形態の通信システムの構成を示すブロック図である。 本発明の第3の実施形態の送信側の通信装置の構成を示すブロック図である。 本発明の第3の実施形態の受信又は転送側の通信装置の構成を示すブロック図である。 本発明の第3の実施形態の送信側の通信装置と受信又は転送側の通信装置2の間でやり取りされるパケットを示したブロック図である。
次に、本発明の実施の形態について図面を参照して詳細に説明する。尚、ここで示す実施の形態はあくまでも一例であって、必ずしもこの実施の形態に限定されるものではない。
<第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に、本発明の第1の実施形態における送信側の通信装置1の構成を示す。通信装置1は、鍵チェーン格納部11、データイメージ入力部12、送信パケット生成部13、トラストアンカ生成部14、ネットワーク通信部15、ハッシュ計算部16、暗号計算部17を含む。
鍵チェーン格納部11は、一連の鍵を格納しており、各鍵はそれぞれ一つ前の鍵のハッシュ値である。例えば、図3に一連の(n+1)個の鍵Kの関係を示す。マスターとなる鍵K(0)に対し、鍵K(1)はK(0)のハッシュ値である。同様に、鍵K(2)はK(1)のハッシュ値である。以降同様にK(n)はK(n−1)のハッシュ値である。
データイメージ入力部12は、通信装置1が通信装置2〜7に対して送信するデータイメージの通信装置1における入力部である。このデータイメージは例えばアプリケーションやプログラムイメージであり、通信装置2〜7上で動作するプログラムコードである。
送信パケット生成部13は、データイメージをネットワーク10を介して送信するために適したサイズに分割する機能を備える。さらに、分割したデータイメージに対し、後ろのデータから順番に鍵チェーン格納部11に格納されている鍵チェーンを用いて鍵付きハッシュ値を算出することにより、送信データ、鍵付きハッシュ値、およびハッシュ値の算出に用いた鍵から構成される送信パケットを生成する機能を備える。
トラストアンカ生成部14は、送信パケット生成部13で生成した一連のパケットに対して、先頭部分にトラストアンカとなるトラストアンカパケットを生成する機能を備える。具体的には、送信パケット生成部13で生成した一連のパケットの先頭で用いた鍵及び先頭のパケットのハッシュ値をその鍵で暗号化する機能を備える。
ネットワーク通信部15は、他の通信装置と有線もしくは無線を使って通信する機能であり、本実施形態ではこれはIEEE 802.15.4の送受信機である。
ハッシュ計算部16は、セキュアハッシュアルゴリズムに基づく鍵付きハッシュ値を計算する機能である。送信パケット生成部13からのデータ入力値、及び鍵を入力とし鍵付きハッシュ値を計算する。具体的には、ハッシュ計算部16は、SHA−1やMD5、HMACなどである。
暗号計算部17は、共通鍵暗号方式に基づく暗号処理を実施する機能である。トラストアンカ生成部14からのデータ入力値、及び鍵を入力とし暗号化を実施する。具体的には、暗号計算部17は、DESや3DES、RC5などである。
図4に、本発明における受信又は転送側の通信装置2の構成を示す。通信装置2は、鍵格納部21、データイメージ再構成部22、ハッシュチェーン検証部23、鍵チェーン検証部24、トラストアンカ検証部25、ネットワーク通信部26、ハッシュ計算部27、暗号計算部28を含む。尚、通信装置2の構成はその他の通信装置3〜7にも同様に適用される。
鍵格納部21は、受信したパケットの正当性を検証するための使用する鍵を格納する。受信したパケットの正当性が確認されると、新しい鍵で更新される。
データイメージ再構成部22は、受信したパケットの正当性が確認されたものを集め、データイメージとして再構成する機能である。ここで再構成されたデータイメージが、アプリケーションやプログラムイメージとして通信装置2にインストールされる。
ハッシュチェーン検証部23は、受信したパケットのハッシュ値を検証する機能である。受信したパケットの正当性が確認できると、そのパケットに含まれる次のパケットのハッシュ値を保持しておく。保持したハッシュ値は次に受信したパケットのハッシュ値の検証に用いられる。
鍵チェーン検証部24は、受信したパケットに含まれる鍵の正当性を検証する機能である。鍵チェーン検証部24は、受信したパケットに含まれる鍵が、鍵格納部21に格納されている現状の鍵に対するハッシュ値となっていることを確認する。
トラストアンカ検証部25は、トラストアンカとなる一番最初に送信されているトラストアンカパケットを検証する機能である。具体的には、トラストアンカパケットを格納しておき、次のパケットにて鍵を取得するとその鍵を用いて、トラストアンカパケットを復号し、復号された鍵が復号に用いた鍵と同じであることを確認することでトラストアンカパケットの正当性を確認する。また、トラストアンカパケットに含まれる次のパケットのハッシュ値はハッシュチェーン検証部23で用いられる。
ネットワーク通信部26は、通信装置1でのネットワーク通信部15と同様に、他の通信装置と有線もしくは無線を使って通信する機能であり、本実施形態ではこれはIEEE 802.15.4の送受信機である。
ハッシュ計算部27は、通信装置1でのハッシュ計算部16と同様に、セキュアハッシュアルゴリズムに基づく鍵付きハッシュ値を計算する機能である。ハッシュチェーン検証部23からのデータ入力値、及び鍵を入力とし鍵付きハッシュ値を計算する。具体的には、ハッシュ計算部27は、SHA−1やMD5、HMACなどである。
暗号計算部28は、通信装置1での暗号計算部17と同様に、共通鍵暗号方式に基づく暗号処理を実施する機能である。トラストアンカ生成部14からのデータ入力値、及び鍵を入力とし暗号化を実施する。具体的には、暗号計算部17は、DESや3DES、RC5などである。
次に、本発明を実施するための第1の実施形態の動作について詳細に説明する。
図5に、通信装置1でのデータイメージのパケット化の流れと、図6に、通信装置2でのパケット受信時の流れについて説明する。
図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にて事前に共有されている。なお、鍵の事前配布方法についてはここでは範囲外とする。
まず、通信装置1の送信パケット生成部13は、データイメージ入力部12から入力されたデータイメージを通信装置2〜7に対して送信するパケット毎に分割する。本実施形態の例ではデータイメージDは送信する順番にデータ部分D(1)〜D(L)のL個に分割する。
送信パケット生成部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)から算出する。以降、同様に処理する。
送信パケット生成部13にて、データイメージの最初のデータ部分D(1)に対する鍵付きハッシュ値の算出まで終了すると、次はトラストアンカ生成部14にて、トラストアンカパケットを生成する。
トラストアンカ生成部14は、鍵チェーン格納部11に格納されている鍵K(L−1)を用いて、鍵自身K(L−1)と先頭のデータD(1)に対する鍵付きハッシュ値H(1)を、暗号計算部17を用いて暗号処理を行う。
このようにして生成された各パケットはネットワーク通信部15を介してネットワーク10に接続された通信装置2〜7に対して順番に送信される。
最初に送信されるパケットは、暗号処理されたトラストアンカパケットEncK(L−1)となり、次に鍵K(L−1)、データ部分D(1)及び鍵付きハッシュ値H(2)が一つのパケットとして送信される。以降、同様に送信される。最後は、鍵K(0)及びデータ部分D(L)が一つのパケットとして送信される。
次に、図6を参照して通信装置2での通信装置1から送信されたパケットを受信し、検証する流れについて説明する。
通信装置2は、ネットワーク通信部26にてネットワークに接続された通信装置1からのパケットを受信すると(ステップA1)、このパケットがトラストアンカパケットかどうかを判定する(ステップA2)。トラストアンカパケットであった場合、トラストアンカ検証部25にてキャッシュされる(ステップA3)。
ステップA2にてトラストアンカパケットではなかった場合、鍵チェーン検証部24は、パケットから鍵を取り出し(ステップA4)、鍵格納部21に格納されている鍵と比較し鍵チェーンとなっているかどうかを検証する(ステップA5)。より具体的には、鍵チェーン検証部24は取り出した鍵のハッシュ値を算出し、算出したハッシュ値が鍵格納部21に格納されている値と同じであることを検証する。もし、この値が同一ではない場合、正しい鍵を持っていない通信装置からの不正なパケットであると判定する(ステップA15)。
たとえば、事前に鍵K(L)が通信装置2の鍵格納部21に格納されており、鍵K(L−1)を含むパケットを受信したとすると、鍵チェーン検証部24はパケットから鍵K(L−1)を取り出す。次に、鍵K(L−1)のハッシュ値を算出し、鍵格納部21に格納されている鍵K(L)と同じ値となることを確かめる。もし、鍵K(L−1)が異なる鍵Kであった場合、算出したハッシュ値は鍵K(L)とはならず、鍵の不正が検出可能となる。
次に、鍵の検証が成功裏に完了すると、そのパケットが2番目のパケット、すなわちトラストアンカパケットの次のパケットである場合、トラストアンカ検証部25にて格納されているトラストアンカパケットの検証を実施する(ステップA7からステップA9)。より具体的には、2番目のパケットから取り出した鍵チェーン検証済みの鍵K(L−1)を用いて、暗号計算部28はトラストアンカパケットの復号処理を行う(ステップA7)。トラストアンカ検証部25は、復号して取得した鍵が復号に使用した鍵と同じであることを確認し(ステップA8)、もし異なる場合、トラストアンカパケットが不正パケットであると判定する(ステップA15)。同じである場合、トラストアンカパケットは正しいと判定し、トラストアンカパケットに含まれる次のパケットのハッシュ値H(1)をハッシュチェーン検証部23は保持する(ステップA9)。
トラストアンカパケットの検証が成功裏に完了すると、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)。
このようにして、正しいと判定されたパケットに含まれるデータ部分D(1)はデータイメージ再構成部22へと渡される。
以降のパケットを受信した場合、2番目のパケットを受信した時のトラストアンカパケットの検証処理(ステップA7からステップA9)が行われない以外は同様の処理となる(ステップA4からステップA6、ステップA10からステップA13)。
さらに、最後のパケットを受信した場合も、鍵チェーンの検証(ステップA4、ステップA5)から鍵付きハッシュ値の算出(ステップA10)、及び検証(ステップA11)、鍵の更新(ステップA12)までは同様に実施される。また、最後のパケットであるため、次のパケットのハッシュ値は含まれない。このように、すべてのデータ部分がデータイメージ再構成部22へ渡され、通信装置2は、データイメージを取得することが可能となる。
なお、ネットワーク10は、有線であってもよいが、本実施形態では、無線通信、特にIEEE802.15.4やZigBeeに代表される無線通信プロトコルの使用が適している。
また、通信装置3〜7も通信装置2と同様の動作を行うことで、データイメージが改ざんされていないかどうかを検証することができる点は通信装置2と同じである。
次に、本発明の第1の実施形態の効果について説明する。本実施の形態の第1の効果は、共通鍵暗号方式に基づく方式を用いた場合であってもデータイメージの完全性の検証を行うことができることである。これは、鍵チェーンに加え次のパケットのハッシュ値を先のパケットに含めて送ることで、パケットの偽装をしにくくしているためである。
本実施形態の第2の効果は、パケットの偽装が行われた場合であってもすぐにその偽装を検出することができることである。これは、次のパケットのハッシュ値を先のパケットに含めて送ることで、連続するパケット間の関連性を高めているためである。
<第2の実施形態>
次に、本発明の第2の実施形態について図7及び図8を用いて説明する。
図7に示すように、本実施形態における送信側の通信装置101は、鍵チェーン格納部111、データイメージ入力部112、送信パケット生成部113、トラストアンカ生成部114、ネットワーク通信部115、ハッシュ計算部116、暗号計算部117、送信鍵暗号部118を含む。
また、図8に示すように、本実施形態における受信又は転送側の通信装置102は、鍵格納部121、データイメージ再構成部122、ハッシュチェーン検証部123、鍵チェーン検証部124、トラストアンカ検証部125、ネットワーク通信部126、ハッシュ計算部127、暗号計算部128、鍵復号部129を含む。
本実施形態は、第1の実施形態とほぼ同じであるが、各パケットに含まれる鍵Kが暗号化されている点が異なる。
図7を参照すると、通信装置101は、送信鍵暗号部118を備える点で異なる以外、第1の実施形態と同じ構成となる。
送信鍵暗号部118は、各パケットに含まれる鍵Kを暗号化する機能を備える。より具体的には、各パケットに含まれる鍵は一つ前のパケットに含まれる鍵で暗号化する機能を備える。
図8を参照すると、通信装置102は、鍵復号部129を備える点で異なる以外、第1の実施形態と同じ構成となる。
鍵復号部129は、各パケットに含まれる鍵Kを復号する機能を備える。より具体的には、各パケットに含まれる暗号化されている鍵を、鍵格納部121に格納されている前のパケットに含まれる鍵で復号する機能を備える。
第1の実施形態との動作の違いを説明すると、図6に示す第1の実施形態での動作に対して、受信したパケットから鍵を取り出すステップ(ステップA4)において、鍵を取り出すために通信装置102の鍵復号部129は暗号化されている鍵を復号することで取り出す点が異なる部分となる。それ以外の動作は第1の実施形態と同様の動作となる。
次に、第2の実施形態の効果について説明する。本実施形態の効果は、第1の実施形態よりもさらにパケットの偽装をしにくくすることができることである。これは、パケットに含まれる鍵を先のパケットの鍵を使って暗号化するため、パケットを偽装するために必要となる鍵を取得するためにはより長い期間のパケットのやり取りを傍受する必要があるからである。さらに、ネットワーク上ではやり取りされない事前に共有される最初の鍵を取得するためには、例えば物理的に攻撃することで鍵を取得するなど別の手段を要する必要があるからである。
<第3の実施形態>
次に、本発明の第3の発明を実施するための形態について図9〜図12を用いて説明する。
この実施形態は、第1の実施形態とほぼ同じであるが、第1の実施形態では通信装置2〜7が全て同じ共通鍵が事前に共有されていたのに対し、本実施形態ではグループ毎に異なる共有鍵が事前に共有されている点が異なる。
図9を参照すると、通信装置201〜207のうち、通信装置201が送信側の通信装置、通信装置202〜207が受信側(転送も含む)の通信装置である。通信装置201〜207は、ネットワーク210を介して接続されている。通信装置202と通信装置203は同じグループG1に属している。同様に、通信装置204〜207は同じグループG2に属している。ここでは、マルチホップネットワーク構成となっており、通信装置201からの同一ホップ数では同じグループに属している構成となる。なお、これらはホップ数毎のグループに限らず、別のグループ構成であってもかまわない。
図10に示すように、本実施形態における送信側の通信装置201は、複数の鍵チェーン格納部211a〜211b、データイメージ入力部212、送信パケット生成部213、トラストアンカ生成部214、ネットワーク通信部215、ハッシュ計算部216、暗号計算部217を含む。
また、図11に示すように、本実施形態における受信又は転送側の通信装置202は、鍵格納部221、データイメージ再構成部222、ハッシュチェーン検証部223、鍵チェーン検証部224、トラストアンカ検証部225、ネットワーク通信部226、ハッシュ計算部227を含む。
本実施形態の通信装置201は、図2に示す第1の実施形態での構成に対して、鍵チェーン格納部211a〜211bを複数保持する点が異なる。この複数の鍵チェーン格納部211a〜211bは、図9に示すグループに対応するだけの数の鍵チェーンを維持している。例えば、図9に示すグループG1とグループG2の2つのグループがあったとすると、本実施形態の通信装置201はグループG1用の鍵チェーンとグループG2用の鍵チェーンの2つの鍵チェーンを持つ構成になる。
通信装置202と通信装置203はグループG1用の共有鍵が事前に設定されており、通信装置204〜207はグループG2用の共有鍵が事前に設定されている点が、第1の実施形態と異なる構成である。
図12を参照すると、通信装置201がデータイメージから生成するパケット構成を示しており、トラストアンカパケット、各パケットに含まれる鍵、次のパケットに対する鍵付きハッシュ値のそれぞれが通信装置が所属するグループの数に等しい分だけ含まれる点が、第1の実施形態と異なる。
第1の実施形態との動作の違いを説明すると、本実施形態の通信装置201は、パケットを生成するときに第1の実施形態では一つの鍵チェーンを使用して、鍵付きハッシュ値の算出、パケットへの付与を行っていたのに対し、本実施形態では維持する鍵チェーンの数だけそれぞれの鍵を用いて鍵付きハッシュ値の算出を行う。さらに、算出した鍵付きハッシュ値と算出に用いた鍵のペアをパケットに含めるが、このとき、このペアも鍵チェーンの数だけパケットに含める点が異なる。
図12を用いてより具体的に説明する。ここで、説明を簡単にするため最初に送信されるトラストアンカパケットから順に説明するが、実際は第1の実施形態と同様に最後に送信されるパケットから再帰的に生成される。
通信装置1はトラストアンカパケットとしてグループ毎にトラストアンカパケットTを算出する。算出の計算自体は第1の実施形態と同様である。グループがn個存在していたとすると、n個のトラストアンカパケットT(1)〜T(n)(符号B1、B2で示す)がそれぞれ生成される。通信装置1は、各トラストアンカパケットをまとめて最初のパケットとして送信する(符号B11で示す)。
次に、通信装置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で示す)。
以降、同様にパケット生成及び送信を行う。最後のパケットについては第1の実施形態と同様の処理に基づきグループ毎の鍵K(1_L)からK(n_L)(符号B9、B10で示す)を最後のデータ部分D(L)(符号B8で示す)とともにパケットとして送信する(符号B13で示す)。
次に、本実施形態のグループG1に属する通信装置2でのパケット受信時の動作について第1の実施形態と異なる部分を中心に説明する。
この実施形態の通信装置2は、通信装置1からのパケットを受信すると通信装置202自身が属するグループに関係する箇所のみを使用し、他のグループに関係する箇所に対しては何もしない以外は第1の実施形態と同様の動作となる。
より具体的に説明すると、通信装置202は図12に示すトラストアンカパケット(符号B11で示す)を受信すると、グループG1に関係する箇所であるT(1)(符号B1で示す)のみを自身宛のデータと認識し、T(1)をグループG1のトラストアンカパケットとして第1の実施形態と同様の処理を行う。
さらに、通信装置202は図12に示すパケット(符号B12で示す)を受信すると、グループG1に関係する箇所であるデータ部分D(1)と鍵K(1_1)そして鍵付きハッシュ値H(1_1)(符号B3からB5で示す)を自身宛のデータと認識し、第1の実施形態と同様の処理を行う。
以降、同様に処理することにより、グループ毎に異なる鍵チェーンを用いることが可能となる。
なお、通信装置202は通信装置201から受信したパケットを次のホップに属する通信装置へ転送する動作を行う。図9を例にとると、通信装置204及び通信装置205へパケットが転送される。このとき、通信装置2は、パケットをそのまま転送するような動作であってもよいし、自身に関係する部分を削除したのちパケットを転送するような動作であってもかまわない。
より具体的には、図12の符号B12で示すパケットを例にとると、グループG1に関係する箇所である鍵K(1_1)(符号B4で示す)及び鍵付きハッシュ値H(1_1)(符号B5で示す)を削除し、それ以外を転送するような構成となる。このとき、データ部分D(1)は全グループ共通となるため削除しない。
次に、第3の実施形態の効果について説明する。この実施形態の効果は、もし鍵が漏れてしまった場合に第1の実施形態よりもその影響範囲を小さくすることができることである。これは、鍵を共通で使用する通信装置の範囲を限定するため、あるグループ用の鍵が漏れた場合であっても他のグループ用の鍵には影響しないからである。
さらに、通信装置がパケットを転送するときの通信オーバーヘッドを削減できることである。これは、通信装置が自身のグループに関する箇所を削除してから次の通信装置へ転送するよう構成されているからである。
本実施形態では通信装置で用いる鍵付きハッシュ値のサイズはグループによらず同一の構成としていたが、このハッシュ値のサイズはグループ毎に異なる値であってもよい。この場合、オリジナルのハッシュ関数が算出する出力20バイトのうち一部(例えば最後の数バイト)を用いる。サイズの例としては、グループG1用には6バイトのハッシュ値を用いて、グループG2用には7バイトのハッシュ値を用いる。
ハッシュ値のサイズをグループ毎に異なる値にする構成と、上述の通信装置が自身のグループに関する箇所を削除してから次の通信装置へ転送するよう構成が組み合わせて利用されている場合、さらにパケットの偽装をしにくくすることができることである。これは、前の通信装置から転送された不要な箇所が削除されたパケットを受け取って初めて通信装置は自身に関係する箇所が判明するため、攻撃者がもし正当な鍵を用いた場合であっても途中に含まれる鍵及び鍵付きハッシュ値の区切りを見分けるのが困難にできるからである。
第3の実施形態は、第1の実施形態もしくは第2の実施形態のどちらとも組み合わせて利用することが可能である。
以上の如く、本発明の第1の態様は、送信側の通信装置と、受信又は転送側の通信装置と、前記送信側の通信装置と前記受信又は転送側の通信装置との間を接続するネットワークとを備え、完全性を保証するための通信システムであって、前記送信側の通信装置は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いて、データ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、生成されたパケットを前記ネットワークに送信する手段とを備え、前記受信又は転送側の通信装置は、前記ネットワークからのパケットを受信する手段と、パケットの正当性を確認するための鍵を格納する手段と、前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段とを備えることを特徴とする通信システムである。
また、本発明の第2の態様は、上記態様において、前記認証子を生成する手段は、送信するパケットを次のパケットに含まれる鍵と、次のパケット全体に対する鍵付きハッシュ値で構成し、さらに次のパケットに含まれる鍵で暗号化し、前記認証子を検証する手段は、受信するパケットを次のパケットに含まれる鍵の正当性を確認した後、パケットを復号して次のパケットの鍵付きハッシュ値を取得することを特徴とする。
また、本発明の第3の態様は、上記態様において、前記認証子を生成する手段は、各パケットに含まれる鍵を先のパケットに含まれる鍵を用いて暗号化し、前記認証子を検証する手段は、パケットに含まれる暗号化された鍵を先に取得した鍵で復号することにより鍵を取得することを特徴とする。
また、本発明の第4の態様は、上記態様において、前記認証子を生成する手段は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、前記認証子を検証する手段は、2以上の認証子のうちどれか1つの認証子を検証することを特徴とする。
また、本発明の第5の態様は、上記態様において、前記認証子を生成する手段は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、前記認証子を検証する手段は、データ部分に引き続く最初の認証子を検証し、検証した認証子及びそれに関する鍵をパケットから削除したのち次の通信装置へ転送することを特徴とする。
また、本発明の第6の態様は、上記態様において、前記各パケットに含まれる認証子の長さは各鍵チェーン毎に異なる長さであることを特徴とする。
また、本発明の第7の態様は、上記態様において、前記ネットワークは、無線通信路であることを特徴とする。
本発明の第8の態様は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、生成されたパケットをネットワークに送信する手段とを備えたことを特徴とする通信装置である。
また、本発明の第9の態様は、上記態様において、前記認証子を生成する手段は、送信するパケットを次のパケットに含まれる鍵と、次のパケット全体に対する鍵付きハッシュ値で構成し、さらに次のパケットに含まれる鍵で暗号化することを特徴とする。
また、本発明の第10の態様は、上記態様において、前記認証子を生成する手段は、各パケットに含まれる鍵を先のパケットに含まれる鍵を用いて暗号化することを特徴とする。
また、本発明の第11の態様は、上記態様において、前記認証子を生成する手段は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出することを特徴とする。
また、本発明の第12の態様は、上記態様において、各パケットに含まれる認証子の長さは各鍵チェーン毎に異なる長さであることを特徴とする。
また、本発明の第13の態様は、ネットワークからのパケットを受信する手段と、パケットの正当性を確認するための鍵を格納する手段と、前記格納した鍵に基づき前記受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段とを備えたことを特徴とする通信装置である。
また、本発明の第14の態様は、上記態様において、前記認証子を検証する手段は、受信するパケットを次のパケットに含まれる鍵の正当性を確認した後、パケットを復号して次のパケットの鍵付きハッシュ値を取得することを特徴とする。
また、本発明の第15の態様は、上記態様において、前記認証子を検証する手段は、パケットに含まれる暗号化された鍵を先に取得した鍵で復号することにより鍵を取得することを特徴とする。
また、本発明の第16の態様は、上記態様において、前記認証子を検証する手段は、2以上の認証子のうちどれか1つの認証子を検証することを特徴とする。
また、本発明の第17の態様は、上記態様において、前記認証子を検証する手段は、データ部分に引き続く最初の認証子を検証し,検証した認証子及びそれに関する鍵をパケットから削除したのち次の通信装置へ転送することを特徴とする。
また、本発明の第18の態様は、送信側では、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納しておき、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成し、生成されたパケットをネットワークに送信し、受信側では、パケットの正当性を確認するための鍵を格納しておき、前記ネットワークからのパケットを受信し、前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証することを特徴とするデータ通信方法である。
また、本発明の第19の態様は、上記態様において、前記認証子の生成は、送信するパケットを次のパケットに含まれる鍵と、次のパケット全体に対する鍵付きハッシュ値で構成し、さらに次のパケットに含まれる鍵で暗号化し、前記認証子の検証は、受信するパケットを次のパケットに含まれる鍵の正当性を確認した後、パケットを復号して次のパケットの鍵付きハッシュ値を取得することを特徴とする。
また、本発明の第20の態様は、上記態様において、前記認証子の生成は、各パケットに含まれる鍵を先のパケットに含まれる鍵を用いて暗号化し、前記認証子を検証する手段は、パケットに含まれる暗号化された鍵を先に取得した鍵で復号することにより鍵を取得することを特徴とする。
また、本発明の第21の態様は、上記態様において、前記認証子の生成は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、前記認証子の検証は、2以上の認証子のうちどれか1つの認証子を検証することを特徴とする。
また、本発明の第22の態様は、上記態様において、前記認証子の生成は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、前記認証子の検証は、データ部分に引き続く最初の認証子を検証し、検証した認証子及びそれに関する鍵をパケットから削除したのち次の通信装置へ転送することを特徴とする。
また、本発明の第23の態様は、上記態様において、各パケットに含まれる認証子の長さは各鍵チェーン毎に異なる長さであることを特徴とする。
また、本発明の第24の態様は、上記態様において、前記ネットワークは、無線通信路であることを特徴とする。
また、本発明の第25の態様は、一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する処理と、分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する処理と、生成されたパケットをネットワークに送信する処理とを通信装置に実行させることを特徴とするプログラムである。
また、本発明の第26の態様は、上記態様において、ネットワークからのパケットを受信する処理と、パケットの正当性を確認するための鍵を格納する処理と、前記格納した鍵に基づき前記受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する処理とを通信装置に実行させることを特徴とするプログラムである。
また、本発明の第27の態様は、上記データ通信方法の機能を実現するためのデータ通信プログラムである。
以上、実施の形態及び態様をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び態様に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
本出願は、2008年8月29日に出願された日本出願特願2008−221872号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明によるプログラムイメージ更新のための完全性保証方式は、無線通信を用いたネットワークにおける安全なプログラムイメージの配布に有用である。特にIEEE802.15.4やZigBeeに代表される無線通信プロトコルを用いたワイヤレスセンサーネットワーク分野でのPCに比べて能力が制限された装置において有効である。
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 鍵復号部

Claims (17)

  1. 送信側の通信装置と、受信又は転送側の通信装置と、前記送信側の通信装置と前記受信又は転送側の通信装置との間を接続するネットワークとを備え、完全性を保証するための通信システムであって、
    前記送信側の通信装置は、
    一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、
    分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いて、データ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、
    生成されたパケットを前記ネットワークに送信する手段と
    を備え、
    前記受信又は転送側の通信装置は、
    前記ネットワークからのパケットを受信する手段と、
    パケットの正当性を確認するための鍵を格納する手段と、
    前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証する手段と
    を備え
    前記認証子を生成する手段は、送信するパケットを次のパケットに含まれる鍵と、次のパケット全体に対する鍵付きハッシュ値で構成し、さらに次のパケットに含まれる鍵で暗号化し、
    前記認証子を検証する手段は、受信するパケットを次のパケットに含まれる鍵の正当性を確認した後、パケットを復号して次のパケットの鍵付きハッシュ値を取得する
    ことを特徴とする通信システム。
  2. 前記認証子を生成する手段は、各パケットに含まれる鍵を先のパケットに含まれる鍵を用いて暗号化し、
    前記認証子を検証する手段は、パケットに含まれる暗号化された鍵を先に取得した鍵で復号することにより鍵を取得する
    ことを特徴とする請求項1に記載の通信システム。
  3. 前記認証子を生成する手段は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、
    前記認証子を検証する手段は、2以上の認証子のうちどれか1つの認証子を検証する
    ことを特徴とする請求項1又は請求項2に記載の通信システム。
  4. 前記認証子を生成する手段は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、
    前記認証子を検証する手段は、データ部分に引き続く最初の認証子を検証し、検証した認証子及びそれに関する鍵をパケットから削除したのち次の通信装置へ転送する
    ことを特徴とする請求項1又は請求項2に記載の通信システム。
  5. 前記各パケットに含まれる認証子の長さは各鍵チェーン毎に異なる長さであることを特徴とする請求項3又は請求項4に記載の通信システム。
  6. 前記ネットワークは、無線通信路であることを特徴とする請求項1から請求項5のいずれかに記載の通信システム。
  7. 一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納する手段と、
    分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する手段と、
    生成されたパケットをネットワークに送信する手段と
    を備え
    前記認証子を生成する手段は、送信するパケットを次のパケットに含まれる鍵と、次のパケット全体に対する鍵付きハッシュ値で構成し、さらに次のパケットに含まれる鍵で暗号化する
    ことを特徴とする通信装置。
  8. 前記認証子を生成する手段は、各パケットに含まれる鍵を先のパケットに含まれる鍵を用いて暗号化することを特徴とする請求項7に記載の通信装置。
  9. 前記認証子を生成する手段は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出することを特徴とする請求項7又は請求項8に記載の通信装置。
  10. 各パケットに含まれる認証子の長さは各鍵チェーン毎に異なる長さであることを特徴とする請求項9に記載の通信装置。
  11. 送信装置では、
    一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを格納しておき、
    分割された送信するデータイメージに対して順に前記鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成し、生成されたパケットをネットワークに送信し、
    受信装置では、
    パケットの正当性を確認するための鍵を格納しておき、
    前記ネットワークからのパケットを受信し、
    前記格納した鍵に基づき受信したパケットに含まれる鍵が連続したハッシュ値となっていることを計算し、次の認証子を含むパケット全体に対する鍵付きハッシュ値を算出し、一つ先のパケットに含まれる計算済みの鍵付きハッシュ値と同じであるかを比較することによって認証子を検証するものであって、
    前記送信装置の前記認証子の生成は、送信するパケットを次のパケットに含まれる鍵と、次のパケット全体に対する鍵付きハッシュ値で構成し、さらに次のパケットに含まれる鍵で暗号化し、
    前記受信装置の前記認証子の検証は、受信するパケットを次のパケットに含まれる鍵の正当性を確認した後、パケットを復号して次のパケットの鍵付きハッシュ値を取得する
    ことを特徴とするデータ通信方法。
  12. 前記送信装置の前記認証子の生成は、各パケットに含まれる鍵を先のパケットに含まれる鍵を用いて暗号化し、
    前記受信装置の前記認証子の検証は、パケットに含まれる暗号化された鍵を先に取得した鍵で復号することにより鍵を取得する
    ことを特徴とする請求項11に記載のデータ通信方法。
  13. 前記送信装置の前記認証子の生成は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、
    前記受信装置の前記認証子の検証は、2以上の認証子のうちどれか1つの認証子を検証する
    ことを特徴とする請求項11又は請求項12に記載のデータ通信方法。
  14. 前記送信装置の前記認証子の生成は、2以上の鍵チェーンを備え、それぞれの鍵チェーンを用いて2以上の認証子を算出し、
    前記受信装置の前記認証子の検証は、データ部分に引き続く最初の認証子を検証し、検証した認証子及びそれに関する鍵をパケットから削除したのち次の通信装置へ転送する
    ことを特徴とする請求項11又は請求項12に記載のデータ通信方法。
  15. 各パケットに含まれる認証子の長さは各鍵チェーン毎に異なる長さであることを特徴とする請求項13又は請求項14に記載のデータ通信方法。
  16. 前記ネットワークは、無線通信路であることを特徴とする請求項11から請求項15のいずれかに記載のデータ通信方法。
  17. 一連の鍵がそれぞれの鍵に対するハッシュ値の繰り返しで構成される鍵チェーンを、記憶手段に格納する処理と、
    分割された送信するデータイメージに対して順に前記記憶手段に格納されている鍵チェーンを順に用いてデータ部分と鍵とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与し、以後、一つ前のパケットでのデータ部分と鍵と先に算出した鍵付きハッシュ値とから鍵付きハッシュ値を算出して一つ前に送信されるパケットに対して付与することを繰り返すことによって各パケットに対する認証子を生成する処理と、
    生成されたパケットをネットワークに送信する処理と
    を通信装置の情報処理装置に実行させるプログラムであって、
    前記認証子を生成する処理は、送信するパケットを次のパケットに含まれる鍵と、次のパケット全体に対する鍵付きハッシュ値で構成し、さらに次のパケットに含まれる鍵で暗号化することを特徴とするプログラム。
JP2010526783A 2008-08-29 2009-08-28 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム Expired - Fee Related JP5556659B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010526783A JP5556659B2 (ja) 2008-08-29 2009-08-28 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008221872 2008-08-29
JP2008221872 2008-08-29
JP2010526783A JP5556659B2 (ja) 2008-08-29 2009-08-28 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム
PCT/JP2009/065047 WO2010024379A1 (ja) 2008-08-29 2009-08-28 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム

Publications (2)

Publication Number Publication Date
JPWO2010024379A1 JPWO2010024379A1 (ja) 2012-01-26
JP5556659B2 true JP5556659B2 (ja) 2014-07-23

Family

ID=41721542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010526783A Expired - Fee Related JP5556659B2 (ja) 2008-08-29 2009-08-28 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム

Country Status (2)

Country Link
JP (1) JP5556659B2 (ja)
WO (1) WO2010024379A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180129147A (ko) * 2017-05-25 2018-12-05 김영후 2차원 바코드 블록 분할을 이용한 전자문서 보안 검증 방법 및 시스템

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2479520B (en) * 2010-03-17 2016-07-13 Signatrol Ltd Remote Sensor Data Transmission
JP5286380B2 (ja) * 2011-03-07 2013-09-11 株式会社東芝 データ送信装置および送信方法
JP5612006B2 (ja) 2012-03-13 2014-10-22 株式会社東芝 データ送信装置、データ受信装置、及びプログラム
CN103813320B (zh) * 2014-01-14 2017-01-11 东北大学 一种基于簇内分组和主密钥的密钥管理方法
CN105577379B (zh) * 2014-10-16 2020-04-28 阿里巴巴集团控股有限公司 一种信息处理方法及装置
WO2016116999A1 (ja) 2015-01-19 2016-07-28 三菱電機株式会社 パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム
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
WO2019083440A2 (zh) 2017-10-24 2019-05-02 华为国际有限公司 一种车载设备升级方法及相关设备
CN108123960B (zh) * 2018-01-02 2020-10-16 武汉斗鱼网络科技有限公司 直播房间人气验证方法、装置及电子设备
CN110602142B (zh) * 2019-09-29 2022-07-19 成都安恒信息技术有限公司 一种基于密码链的后台认证方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10135945A (ja) * 1996-11-01 1998-05-22 Toshiba Corp 移動計算機装置、パケット処理装置及び通信制御方法
JP2001251296A (ja) * 2000-03-06 2001-09-14 Kddi Corp メッセージ認証装置
JP2002208922A (ja) * 2001-01-12 2002-07-26 Ntt Docomo Inc 暗号化装置および復号装置ならびに認証情報付与装置、暗号化方法、復号方法、認証情報付与方法
JP2006019975A (ja) * 2004-06-30 2006-01-19 Matsushita Electric Ind Co Ltd 暗号パケット通信システム、これに備えられる受信装置、送信装置、及びこれらに適用される暗号パケット通信方法、受信方法、送信方法、受信プログラム、送信プログラム
JP2006173735A (ja) * 2004-12-13 2006-06-29 Oki Electric Ind Co Ltd メッセージの認証方法と該認証方法を用いたメッセージ認証装置およびメッセージ認証システム
JP2006345408A (ja) * 2005-06-10 2006-12-21 Oki Electric Ind Co Ltd メッセージ認証システム,メッセージ送信装置,メッセージ受信装置,メッセージ送信方法,メッセージ受信方法およびプログラム
JP2007508778A (ja) * 2003-10-14 2007-04-05 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 暗号用鍵の世代の効率的な管理

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030041242A1 (en) * 2001-05-11 2003-02-27 Sarver Patel Message authentication system and method
JP4197031B2 (ja) * 2006-11-30 2008-12-17 沖電気工業株式会社 メッセージ認証システム及びメッセージ認証方法
JP5084406B2 (ja) * 2007-09-05 2012-11-28 Kddi株式会社 暗号化鍵の更新システム、暗号化鍵の更新方法およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10135945A (ja) * 1996-11-01 1998-05-22 Toshiba Corp 移動計算機装置、パケット処理装置及び通信制御方法
JP2001251296A (ja) * 2000-03-06 2001-09-14 Kddi Corp メッセージ認証装置
JP2002208922A (ja) * 2001-01-12 2002-07-26 Ntt Docomo Inc 暗号化装置および復号装置ならびに認証情報付与装置、暗号化方法、復号方法、認証情報付与方法
JP2007508778A (ja) * 2003-10-14 2007-04-05 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 暗号用鍵の世代の効率的な管理
JP2006019975A (ja) * 2004-06-30 2006-01-19 Matsushita Electric Ind Co Ltd 暗号パケット通信システム、これに備えられる受信装置、送信装置、及びこれらに適用される暗号パケット通信方法、受信方法、送信方法、受信プログラム、送信プログラム
JP2006173735A (ja) * 2004-12-13 2006-06-29 Oki Electric Ind Co Ltd メッセージの認証方法と該認証方法を用いたメッセージ認証装置およびメッセージ認証システム
JP2006345408A (ja) * 2005-06-10 2006-12-21 Oki Electric Ind Co Ltd メッセージ認証システム,メッセージ送信装置,メッセージ受信装置,メッセージ送信方法,メッセージ受信方法およびプログラム

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
CSNG200600778012; 宇田 隆哉 他: 'IP電話向け音声ストリーム認証手法' 情報処理学会論文誌 第47巻 第8号, 20060815, p.2535-2547, 社団法人情報処理学会 *
JPN6009051846; A. Perrig et al: 'The TESLA broadcast authentication protocol' CryptoBytes vol. 5, no. 2, 2002, p.2-13, RSA Security Inc. *
JPN6009051849; Rosario Gennaro et al: 'How to Sing Digital Streams' Lecture Notes in Computer Science vol.1294, 1997, p.180-197, Springer *
JPN6009051851; 宇田 隆哉 他: 'IP電話向け音声ストリーム認証手法' 情報処理学会論文誌 第47巻 第8号, 20060815, p.2535-2547, 社団法人情報処理学会 *
JPN6013026860; A. Perrig et al: 'Timed Efficient Stream Loss-Tolerant Authentication (TESLA): Multicast Source Authentication Transfo' [online] , 200506 *
JPN6013026862; M. Baugher et al: 'The Use of Timed Efficient Stream Loss-Tolerant Authentication (TESLA) in the Secure Real-time Trans' [online] , 200602 *
JPN6013026864; Adrian Perrig et al: 'Efficient and Secure Source Authentication for Multicast' [online] , 2001 *
JPN6013026866; Perrig, A. et al: 'Efficient authentication and signing of multicast streams over lossy channels' Security and Privacy, 2000. S&P 2000. Proceedings. , 200005, p.56-73, IEEE *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180129147A (ko) * 2017-05-25 2018-12-05 김영후 2차원 바코드 블록 분할을 이용한 전자문서 보안 검증 방법 및 시스템
KR101967855B1 (ko) 2017-05-25 2019-04-11 김영후 2차원 바코드 블록 분할을 이용한 전자문서 보안 검증 방법 및 시스템

Also Published As

Publication number Publication date
JPWO2010024379A1 (ja) 2012-01-26
WO2010024379A1 (ja) 2010-03-04

Similar Documents

Publication Publication Date Title
JP5556659B2 (ja) 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム
KR101684076B1 (ko) 사물인터넷에서 스마트 디바이스 또는 스마트 센서와 네트워크 게이트웨이 사이의 안전한 데이터 전달을 위한 통신 시스템
US8254581B2 (en) Lightweight key distribution and management method for sensor networks
CN101512537B (zh) 在自组无线网络中安全处理认证密钥资料的方法和系统
CN109510818B (zh) 区块链的数据传输系统、方法、装置、设备及存储介质
JP7232816B2 (ja) 資産を認証する認証システム及び認証方法
CN111614621B (zh) 物联网通信方法和系统
CN113268715A (zh) 软件加密方法、装置、设备及存储介质
JP2012527190A (ja) 対称暗号化システムにおいてデバイスを安全に識別し認証するためのシステムおよび方法
US9923720B2 (en) Network device configured to derive a shared key
US20110320359A1 (en) secure communication method and device based on application layer for mobile financial service
KR102437864B1 (ko) 펌웨어를 수신하는 방법 및 펌웨어를 전송하는 방법
CN114157415A (zh) 数据处理方法、计算节点、系统、计算机设备和存储介质
CN113722749A (zh) 基于加密算法的区块链baas服务的数据处理方法及装置
CN115314284B (zh) 一种基于可信执行环境的公钥认证可搜索加密方法及系统
WO2010032391A1 (ja) 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム
Krontiris et al. Authenticated in-network programming for wireless sensor networks
JP4631423B2 (ja) メッセージの認証方法と該認証方法を用いたメッセージ認証装置およびメッセージ認証システム
JP5664104B2 (ja) 通信システム、並びに、通信装置及びプログラム
RU2278477C2 (ru) Способ аутентификации для стационарных региональных систем беспроводного широкополосного доступа
JP5768622B2 (ja) メッセージ認証システム、通信装置及び通信プログラム
Nasiraee et al. DSBS: A novel dependable secure broadcast stream over lossy channels
Shojaie et al. Improving EAP-TLS performance using cryptographic methods
Singh et al. A minimal protocol for authenticated key distribution in wireless sensor networks
KR100794792B1 (ko) 브로드캐스트 프레임 보호 방법

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