説明

メッセージ認証方法、通信端末装置及びメッセージ認証システム

【課題】 マルチホップ通信環境下で、メッセージ送信装置へのなりすましに対する耐性を高くする。
【解決手段】 メッセージ送信装置がメッセージ受信装置によるメッセージの受信を確認し、メッセージ受信装置が受信したメッセージが正しいメッセージであることを認証するメッセージ認証システムに関する。メッセージ送信装置は、メッセージを生成するメッセージ生成手段と、メッセージを送信するメッセージ送信手段と、メッセージ受信装置がメッセージを受信したことを確認する受信確認手段と、自身の認証情報を管理する認証情報管理手段と、自身の認証情報を公開する認証情報公開手段とを有する。メッセージ受信装置は、メッセージを保持するメッセージ保持手段と、メッセージの受信確認を返す受信確認返信手段と、メッセージ送信装置の認証情報を検証する認証情報検証手段と、メッセージを認証するメッセージ認証手段と有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はメッセージ認証方法、通信端末装置及びメッセージ認証システムに関し、例えば、センサネットワークシステムのような、システムを集中制御するサーバと、低コストで構成される膨大な数のセンサノードからなるシステムにおいて、サーバがセンサノードにメッセージをブロードキャストし、そのメッセージが、サーバが送信したものであることをセンサノードが認証する場合に適用し得るものである。
【背景技術】
【0002】
近年、無線通信機能を持つセンサを多数設置して設備の管理や環境の観測などに役立てるセンサネットワークシステムが提案されている。センサネットワークシステムは、システムを管理・制御するサーバと、低コストで構成される膨大な数のセンサノードとから構成され、マルチホップ通信により情報を授受することが想定される。ここで、センサネットワークにおける情報発信の形態の1つに、サーバから全ノードに対する情報発信(ブロードキャスト)がある。例えば、ノードに搭載するソフトウェアの更新データなど、サーバが全ノードに対して重要な情報を発信するときは、サーバはノードに正しいデータが届けられたことを確認したい。また、ノードは受信したデータが改竄されていないことと確かにサーバからのデータであることを認証したい。本発明は、例えば、このようなセンサネットワークシステムのような、システムを管理・制御するサーバと、低コストで構成される膨大な数のノードから成るシステムで、サーバがノードにメッセージをブロードキャストしてその受信確認を行い、また、ノードが受信したデータをサーバからの正しいデータであると認証する場合に適用し得る。
【0003】
ここで、サーバが自身の発信したブロードキャストデータに対して、ノードから受信確認を得ることは、次のような問題(a)、(b)がある。
【0004】
(a)膨大な数のノードが存在するセンサネットワークシステムにおいて、受信確認の返信は、ネットワークの通信オーバヘッドが大きい。
【0005】
(b)マルチホップ通信環境では、受信確認メッセージは複数のノードを中継して返信されるため、受信確認メッセージ自体に信憑性がない。例えば、不正なノードが受信確認メッセージを偽造しているかもしれない。
【0006】
また、センサノードは処理能力に関する制約があり、処理負荷の軽いアルゴリズムでサーバからのデータを認証することが望まれる。例えば、全ノードに共通のサーバ認証鍵を持たせて、共通鍵暗号を用いて認証する方法があるが、この場合、全ノードがサーバの認証鍵を知っているので、任意のノードがサーバになりすますことを許してしまう。さらに、低コストで構成されるセンサノードには、必ずしも高コストな耐タンパ性装置を搭載するとは限らず、もし任意の1ノードの持つ内部情報が解析されてサーバの認証鍵が漏洩してしまった場合は、第3者がサーバになりすましてセンサネットワークシステムを制御できる可能性がある。
【0007】
非特許文献1は、サーバからのブロードキャストデータをノードが認証する方式について記載したものであり、その2.1節で、認証鍵連鎖についての説明がある。認証鍵連鎖は、任意の値にハッシュ関数のような一方向関数を繰り返し適用して、それら全演算結果を生成した順と逆順に認証情報として用いる概念である。この概念は、例えば、S/KEY[RFC1938]などのワンタイムパスワード方式に利用されている。
【0008】
サーバからのデータの認証に、認証鍵連鎖を利用することは、次のような利点(a)〜(c)がある。
【0009】
(a)サーバからのデータを認証するための情報は毎回異なるので盗聴されても再利用不可能である。
【0010】
(b)サーバからのデータの認証にあたり、ノードが保持しておく情報は、後に公開されるサーバからのデータを認証するための情報を検証するための情報であるため、漏洩しても支障はない。
【0011】
(c)処理負荷の軽い共通鍵暗号系のみを用いて実現できる。
【非特許文献1】A.Perrig, R.Canetti, J.D.Tygar and D.Song,“The TESLA Broadcast Authentication Protocol”, RSA CryptoBytes, 5(Summer)、2002.
【発明の開示】
【発明が解決しようとする課題】
【0012】
しかしながら、非特許文献1の認証鍵連鎖(認証鍵)の概念は、マルチホップ通信環境を想定していない。
【0013】
マルチホップ通信環境では、サーバが発信するデータを、先に受信するノードと、複数のノードが中継した後に受信するノードが存在する。そのため、次に公開されるサーバの認証情報を、先に知るノードと、後に知るノードが存在することになる。この場合、公開されたサーバの認証情報を先に知るノードが、後に知るノードに対して、サーバへなりすますことが可能になるという課題があった。
【0014】
そのため、マルチホップ通信環境下でも、メッセージ送信装置へのなりすましに対する耐性を高くできるメッセージ認証方法、通信端末装置及びメッセージ認証システムが望まれている。
【課題を解決するための手段】
【0015】
第1の本発明は、マルチホップ通信環境下で、メッセージ送信装置がメッセージ受信装置に対してメッセージの受信を確認し、メッセージ受信装置が、受信したメッセージがメッセージ送信装置からの正しいメッセージであることを認証するメッセージ認証方法であって、メッセージ送信装置がメッセージ受信装置に対してメッセージの受信を確認する第1の工程と、メッセージ送信装置が上記メッセージをメッセージ受信装置に認証させるための情報を公開する第2の工程と、メッセージ受信装置が上記認証させるための情報を検証する第3の工程と、メッセージ受信装置が上記メッセージを認証する第4の工程とを含むことを特徴とする。
【0016】
第2の本発明は、マルチホップ通信環境において、メッセージ送信装置がメッセージ受信装置に対して送信したメッセージの受信を確認し、メッセージ受信装置が受信したメッセージをメッセージ送信装置からの正しいメッセージであることを認証するメッセージ認証システムにおける、メッセージ送信装置が該当する通信端末装置であって、メッセージを生成するメッセージ生成手段と、メッセージを送信するメッセージ送信手段と、メッセージ受信装置がメッセージを受信したことを確認する受信確認手段と、自身の認証情報を管理する認証情報管理手段と、自身の認証情報を公開する認証情報公開手段とを有することを特徴とする。
【0017】
第3の本発明は、マルチホップ通信環境において、メッセージ送信装置がメッセージ受信装置に対して送信したメッセージの受信を確認し、メッセージ受信装置が受信したメッセージをメッセージ送信装置からの正しいメッセージであることを認証するメッセージ認証システムにおける、メッセージ受信装置が該当する通信端末装置であって、メッセージを保持するメッセージ保持手段と、メッセージの受信確認を返す受信確認返信手段と、メッセージ送信装置の認証情報を検証する認証情報検証手段と、メッセージを認証するメッセージ認証手段と有することを特徴とする。
【0018】
第4の本発明は、マルチホップ通信環境において、メッセージ送信装置がメッセージ受信装置に対して送信したメッセージの受信を確認し、メッセージ受信装置が受信したメッセージをメッセージ送信装置からの正しいメッセージであることを認証するメッセージ認証システムであって、メッセージ送信装置として第2の本発明の通信端末装置を適用し、メッセージ受信装置として第3の本発明の通信端末装置を適用したことを特徴とする。
【発明の効果】
【0019】
本発明によれば、マルチホップ通信環境下でも、メッセージ送信装置へのなりすましに対する耐性を高くすることができる。
【発明を実施するための最良の形態】
【0020】
以下で説明する各実施形態は、サーバが、自身の発信したブロードキャストデータに対するノードの受信確認を得た後に、サーバがまだ公開していないOne−way chain(以下、認証鍵連鎖と呼ぶ)の鍵(以下、適宜、サーバの認証鍵と呼ぶ)を公開することにより、従来の課題を解決しようとしたものである。
【0021】
(A)第1の実施形態
以下、本発明によるメッセージ認証方法、通信端末装置及びメッセージ認証システムの第1の実施形態を、図面を参照しながら詳述する。
【0022】
この第1の実施形態では、サーバがデータをブロードキャストし、ノードが受信したブロードキャストデータに対する受信確認をサーバに返信し、サーバがノードに正しいデータが届いたことを確認できた後に、まだネットワーク内に公開していないサーバの認証鍵を公開し、ノードが、公開された鍵が確かにサーバの認証鍵であることを確かめることで、既に受信しているデータをサーバからの正しいデータであると認証することを特徴としている。
【0023】
(A−1)第1の実施形態の構成
第1の実施形態のメッセージ受信確認システムが前提とするネットワークは、図1に示すように、サーバ1に対し、多数(図1では5個)のノード2がツリー状に接続された構成を有している。なお、サーバ1、各ノード2が、通信端末装置に該当する。
【0024】
図2は、第1の実施形態におけるサーバ(ブロードキャストデータの送信装置)1の内部構成を示すブロック図である。
【0025】
図2において、サーバ1は、サーバ認証鍵管理部11、データ生成部12、ノード情報管理部13、受信確認情報検証部14、送信部15及び受信部16を有する。
【0026】
サーバ認証鍵管理部11は、サーバ1が管理下のノード2に対して、自身を証明するための認証鍵(認証鍵連鎖)を管理するものである。
【0027】
図4は、この第1の実施形態のサーバ1の認証鍵(認証鍵連鎖)の概要を示す説明図である。サーバ1は、ランダムに初期値Knを選び、システムで予め決められた一方向性を持った関数F(・)を適用し、その出力値に対して関数F(・)を適用し、この関数F(・)を複数回適用することで、認証鍵の連鎖を生成する。適用する一方向性関数は、例えば、MD5(Message Digest 5)やSHA−1(Secure Hash Algorithm 1)などのハッシュ関数である。サーバ1は、管理下のノード2に自身を証明するために、保持する認証鍵(の連鎖)を生成した順と逆順で公開する。
【0028】
ハッシュ関数の出力値から入力値を求めることは計算量的に困難なので、サーバ以外のものが、サーバの認証鍵連鎖におけるまだ公開されていない認証鍵を、サーバ1が公開する前に知ることは困難である。
【0029】
サーバ認証鍵管理部11は、受信確認情報検証部14より、検証結果一致のメッセージを受けて、ネットワーク内に認証鍵連鎖の未公開の次の鍵を送信部15へ与えて管理下のノード2に公開する。
【0030】
データ生成部12は、全てのノード2へブロードキャストするデータを生成するものである。データ生成部12は、生成したブロードキャストデータを、受信確認情報検証部14と送信部15へ与える。
【0031】
ノード情報管理部13は、管理下のノード2の情報を管理するものであり、管理するノード情報を受信確認情報検証部14へ与えるものである。ここで、ノード情報とは、図1に示すように、ノードIDと、ノード認証鍵と、そのノードへのルート情報より構成されている。ノードIDとは、ノードを識別するのに用いる情報で、例えば、64bit−IEEEアドレスなどを適用し得る。ノード認証鍵とは、サーバ1と各ノード2とが1対1で共有する鍵情報であり、任意のビット列で表される。ノードへのルート情報は、サーバ1と全てのノード2との間のルート情報が分かれば良く、特に、そのデータ形式などは限定されない。
【0032】
受信確認情報検証部14は、データ生成部12より与えられたデータと、ノード情報管理部13より与えられたノード情報と、受信部16より与えられた受信確認情報から、発信したデータが管理下の全てのノード2に届いたか、そうでないかを検証するものである。
【0033】
受信確認情報検証部14は、例えば、MAC(Message Authentication Code)生成アルゴリズムとハッシュ関数を有する。MAC生成アルゴリズムは、例えば、AES暗号等のブロック暗号を用いたCBC−MAC(Cipher Blok Chaining−Message Authentication Code)であり、ハッシュ関数は、例えば、MD5やSHA−1である。これらMAC生成アルゴリズムとハッシュ関数は、サーバ1とノード2との間で予め決定し、保持している必要がある。
【0034】
受信確認情報検証部14は、ノード情報管理部13より与えられる管理下のノード2へのルート情報に従い、隣接ノードが返信すると想定する受信確認情報を求める。例えば、図1のようなノード情報をサーバ1が保持している場合、受信確認情報検証部14での演算は、データ生成部12より与えられたデータと、ノード認証鍵を用いて、図5中の式1のように行う。すなわち、受信確認情報検証部14は、エンドノードに関しては、発信したデータXに対するMACをそのノードの認証鍵を用いて計算し、計算で得られたMACに対してハッシュ関数を施し、ルータノードに関しては、発信したデータXに対するMACをそのノードの認証鍵を用いて計算したものに、さらに、そのノードが中継している1つ又は複数のノードにおける計算結果を連結し、連結後のデータに対してハッシュ関数を施す、というように、各ノード2における計算結果を重畳して最終的な演算結果を得る。
【0035】
ここで、ルータノードとは、ツリー構造における親ノードのように、1つ又は複数のノードへの中継ノードとなるノードを指し、エンドノードとは、ツリー構造における子ノードを持たないノードのように、次ホップノードへの中継ノードとならないノードを指す。
【0036】
受信確認情報検証部14は、受信確認情報検証部14での演算結果と、受信部16より与えられた受信確認情報が一致することで、発信したデータが、管理下のノード2に正しく届けられたことが分かり、検証結果一致のメッセージをサーバ認証鍵管理部11へ与える。
【0037】
送信部15は、データ生成部12より与えられるデータを、管理下のノード2へブロードキャストするものである。また、送信部15は、サーバ認証鍵管理部11より与えられる、ネットワーク内に未公開の認証鍵連鎖の鍵を管理下のノード2へ公開するものである。
【0038】
受信部16は、隣接する管理下のノード2から受信した受信確認情報を、受信確認情報検証部14へ与えるものである。ここで、「隣接する」とは、1ホップでデータの送受信が可能な範囲を表す。
【0039】
図3は、第1の実施形態におけるノード(ブロードキャストデータの受信装置)2の内部構成を示すブロック図である。なお、図3は、各ノードがブロードキャストデータを受信したことをサーバ側に伝える構成面から構成要素を記載しており、ブロードキャストデータを、子ノード側に中継送信する構成については省略している。
【0040】
図3において、ノード2は、受信データ保持部31、自ノード認証鍵管理部32、MAC生成部33、子ノード情報管理部34、受信確認情報生成部35、サーバ認証鍵検証部36、受信部37及び送信部38を有する。
【0041】
受信データ保持部31は、受信部37より与えられるサーバ1のブロードキャストデータを保持しておくものである。また、受信データ保持部31は、受信部37より与えられたデータをMAC生成部33へ与えるものである。さらに、受信データ保持部31は、サーバ認証鍵検証部36より検証結果一致のメッセージを与えられて、保持するブロードキャストデータをサーバ1からの正しいデータであると判断する。
【0042】
自ノード認証鍵管理部32は、サーバ1と当該ノード2とが1対1で共有する鍵を管理するものであり、管理する鍵をMAC生成部33へ与える。ここで、管理する鍵は、サーバ1に当該ノード2を認証せしめる認証鍵として用いられる。
【0043】
MAC生成部33は、受信データ保持部31から与えられるブロードキャストデータに対して、自ノード認証鍵管理部32から与えられる当該ノード2の認証鍵を用いて、MACを生成するものであり、生成したMACを受信確認情報生成部35へ与えるものである。ここで、MAC生成部33は、MAC生成アルゴリズムを有する。このMAC生成アルゴリズムは、サーバ1との間で事前に決定されたものであり、サーバ1が受信確認情報検証部14に有するMAC生成アルゴリズムと同じものである。
【0044】
子ノード情報管理部34は、当該ノード2がルータノードであるか又はエンドノードであるか、ルータノードの場合は、さらに、当該ノード2が中継となっている子ノードの情報を管理するものであり、管理する情報を受信確認情報生成部35へ与えるものである。
【0045】
子ノード情報管理部34に、ノード情報を管理していないことにより、当該ノード2がエンドノードであることが分かる。また、子ノード情報管理部34に、ノード情報を管理していることで、当該ノード2がルータノードであることが分かる。当該ノード2がルータノードの場合に管理する子ノードの情報は、子ノードの識別情報と、その子ノードがルータノードであるかエンドノードであるかという情報である。
【0046】
受信確認情報生成部35は、子ノード情報管理部34より与えられる情報と、MAC生成部33より与えられるMACと、受信部37より与えられる子ノードの生成した受信確認情報より、当該ノード2の受信確認情報を生成するものであり、生成した受信確認情報を送信部38へ与える。ここで、受信確認情報生成部35は、ハッシュ関数を有する。このハッシュ関数は、サーバ1との間で事前に決定されたものであり、サーバ1が受信確認情報検証部14に有するハッシュ関数と同じものである。受信確認情報生成部35は、子ノード情報管理部34より当該ノード2がエンドノードであることを受けて、MAC生成部33より与えられるMACに対してハッシュ関数を施し、それを当該ノードの受信確認情報として送信部38へ与える。一方、受信確認情報生成部35は、子ノード情報管理部34より、当該ノード2がルータノードであることと、1又は複数の子ノードのIDを受けて、MAC生成部33より与えられるMACと、受信部37より与えられる全ての子ノードの受信確認情報を連結したものに対して、ハッシュ関数を施し、それを当該ノード2の受信確認情報として送信部38へ与える。ここで、複数の子ノードより受信確認情報を与えられた場合の受信確認情報の連結の順番は、特に限定されない。例えば、ノードIDの大小に従って連結する順番を決定しても良い。但し、サーバ1との間で事前に決定された仕様に従う必要がある。
【0047】
サーバ認証鍵検証部36は、受信部37より与えられる認証情報が、確かにサーバ1が管理する認証鍵連鎖における未公開だった鍵であるかどうかを検証するものである。また、 サーバ認証鍵検証部36は、サーバ1が一番最近に公開した認証鍵連鎖の鍵を保持する。さらに、サーバ認証鍵検証部36は、一方向性関数を有する。この一方向性関数は、サーバ1との間で事前に決定されたものであり、サーバ1がサーバ認証鍵管理部11に有する一方向性関数と同じものである。サーバ認証鍵検証部36は、受信部37より与えられた鍵情報に一方向性関数を施し、その出力値が、保持するサーバ1が一番最近に公開した鍵の値と一致することで、受信した鍵情報をサーバ1が一番最近に公開した認証鍵連鎖の鍵であると認証し、保持する鍵を更新する。さらに、サーバ認証鍵検証部36は、検証結果一致のメッセージを受信データ保持部31へ与える。
【0048】
受信部37は、サーバ1からのブロードキャストデータを受信データ保持部31へ、子ノード2からの受信確認情報を受信確認情報生成部35へ、ネットワーク内に公開されたサーバ1の認証鍵をサーバ認証鍵検証部36へ与えるものである。
【0049】
送信部38は、受信確認情報生成部35より与えられる当該ノード2の受信確認情報を自身の親ノード(親がサーバの場合はサーバ)に送信するものである。
【0050】
(A−2)第1の実施形態の動作
次に、第1の実施形態のメッセージ認証システムの動作(第1の実施形態のメッセージ認証方法)を、図6〜図9をも参照しながら説明する。ここで、第1の実施形態のメッセージ認証システムの動作は、大きくは、7段階の動作(S101〜S107)でなっている。
【0051】
「第1段階S101(図6)」
サーバ1は、データ生成部12においてデータXを生成し、送信部15を通して管理下のノード2にブロードキャストする。
【0052】
「第2段階S102(図6)」
ノード2は、受信部37によって受信したブロードキャストデータXを受信データ保持部31に保持する。なお、ノード2がルータノードであれば、ブロードキャストデータXの子ノードへの中継送信も行う。
【0053】
「第3段階S103(図7)」
ノード2は、MAC生成部33において、受信データ保持部31より与えられるブロードキャストデータXと、自ノード認証鍵管理部32により与えられる当該ノード2の認証鍵を入力して、受信データのMACを生成し、受信確認情報生成部35へ与える。
【0054】
ノード2は、受信確認情報生成部35において、子ノード情報管理部34から与えられる情報より自身がエンドノードかルータノードかを判断する。エンドノード(図1のネットワーク構成であれば、IDが「03」〜「05」のノード)である場合には、MAC生成部33より与えられるMACに対してハッシュ関数を施したハッシュ値を自身の受信確認情報として送信部38から親ノードに送信する。ルータノード(図1のネットワーク構成であれば、IDが「01」、「02」のノード)の場合には、受信部37を通して全ての子ノードの受信確認情報が与えられることで、MAC生成部33より与えられるMACと、全ての子ノードの受信確認情報とを連結させ、その連結させたものに対してハッシュ関数を施し、得られたハッシュ値を自身の受信確認情報として送信部38から親ノードに送信する。
【0055】
例えば、図7のIDが「04」のエンドノードにおいては、MAC生成部33が、サーバ1からのブロードキャストデータX(図7では誤って届いている可能性もあるので、X’で表している)と、当該ノードの認証鍵K04’を入力して、受信データのMACを生成し、受信確認情報生成部35が、そのMACに対してハッシュ関数H(・)を施したハッシュ値を、自身の受信確認情報として、送信部38から親ノード(「02」のノード)に送信する。
【0056】
また例えば、図7のIDが「02」のルータノードにおいては、受信確認情報生成部35は、MAC生成部33より与えられるMACと、全ての子ノード(「04」及び「05」)の受信確認情報h’04、h’05とを連結させたものに対してハッシュ関数H(・)を施したハッシュ値を、自身の受信確認情報として送信部38から親ノード(「01」のノード)に送信する。
【0057】
「第4段階S104(図7)」
サーバ1は、受信確認情報検証部14において、データ生成部12より与えられるブロードキャストデータXと、ノード情報管理部13より与えられるノードID、ノード認証鍵、ルート情報から、隣接ノードから返信されるであろう受信確認情報を算出する。この際の受信確認情報の算出方法は、ツリー構造の各ノードが実行すると同様な処理を、エンドノード側からトップノードへかけて順次行うものである。
【0058】
「第5段階S105(図8)」
サーバ1は、受信確認情報検証部14において、算出した受信確認情報と、受信部16より受けた隣接ノードからの受信確認情報が一致するかどうかを検証する。サーバ1は、検証結果が一致することで、サーバ認証鍵管理部11で管理するネットワーク内に認証鍵連鎖の未公開の次の鍵Kをネットワーク内に公開することを許可する。一方、サーバ1は、検証結果が一致しないことで、鍵Kを公開することを許可しない。
【0059】
「第6段階S106(図8)」
サーバ1は、ネットワーク内に認証鍵連鎖の未公開の鍵Kを、送信部15からネットワーク内に公開する。
【0060】
「第7段階S107(図9)」
ノード2は、受信部37によって受信した鍵をサーバ認証鍵検証部36に与え、受信した鍵が、確かにサーバ2がネットワーク内に未公開にしていた認証鍵連鎖の鍵であるかどうかを、受信した鍵に一方向性関数を施した結果が、既にサーバ認証鍵検証部36にて保持するサーバ1が一番最近に公開した鍵と一致するかどうかを確かめることで検証する。
【0061】
ノード2は、検証結果が一致することで、受信した鍵を、サーバ1がネットワーク内に未公開にしていた認証鍵連鎖の鍵であると認証し、受信データ保持部31に保持するデータXをサーバ1からの正しいデータであると認証する。また、認証した鍵を、サーバ1によって一番最近に公開された鍵としてサーバ認証鍵検証部36に保持する。
【0062】
(A−3)第1の実施形態の効果
第1の実施形態によれば、サーバ1がデータをブロードキャストし、ノード2が受信したデータに対する受信確認をサーバ1に返信し、サーバ1がノード2に正しいデータが届いたことを確認した後で、サーバ2がまだネットワーク内に公開していない認証鍵連鎖上の鍵(ノード2がサーバ1を認証する鍵)を公開することを許可し、ノード2が公開された鍵が確かにサーバ1の有する認証鍵連鎖上の鍵であることを確かめることで、既に保持しているデータをサーバ1からの正しいデータであると認証する。
【0063】
サーバ1が認証鍵連鎖上の次の未公開の鍵を公開するときは、管理下のノード2に正しいデータが届けられたことを確認できた状態であるため、ノード2は公開された鍵が確かに認証鍵連鎖上の次に公開される鍵(サーバの認証鍵)かどうかを検証することで、既に保持するデータがサーバ1からの正しいデータであると認証できる。
【0064】
マルチホップ通信環境のように、サーバ1の認証鍵を先に知るノードと後に知るノードが混在する状況であっても、サーバ1の認証鍵が公開されるときは、ノード2が既にサーバ1からの正しいデータを受信した後であるので、サーバ1の認証鍵を先に知るノードが後に知るノードに対して、サーバ1になりすまして不正なデータを認証させることはできない。
【0065】
(B)第2の実施形態
次に、本発明によるメッセージ認証方法、通信端末装置及びメッセージ認証システムの第2の実施形態を、図面を参照しながら説明する。
【0066】
上述した第1の実施形態は、サーバのブロードキャストデータに対して、ノードが必ず受信確認情報を返すことを前提としたものであった。しかし、例えば、ノードの故障や、ノードが本来のあるべき場所に存在しないなどの理由で、受信確認情報を応答しない場合が想定される。そういった場合に、第1の実施形態では、サーバは受信確認を得られないので、それ以降の動作が止まってしまう。
【0067】
第2の実施形態では、各ルータノードが受信確認情報に、受信確認情報を得られなかった子ノードのIDを付加することで、サーバが、データが不達の可能性があるノードを検知してから、ネットワークに認証鍵連鎖の未公開の次の鍵を公開することを特徴とする。
【0068】
(B−1)第2の実施形態の構成
図10は、第2の実施形態のサーバ(ブロードキャストデータの送信装置)1Bの構成を示すブロック図であり、第1の実施形態に係る図2との同一、対応部分には同一符号を付して示している。
【0069】
第2の実施形態のサーバ1Bは、サーバ認証鍵管理部11、データ生成部12、ノード情報管理部13、受信確認情報検証部14、不達ノードID管理部17、送信部15及び受信部16を有する。第1の実施形態に比較すると、不達ノードID管理部17が追加されており、また、受信確認情報検証部14及び受信部16の機能も多少異なっている。以下では、第1の実施形態と異なる構成要素について説明する。
【0070】
第2の実施形態の受信確認情報検証部14は、以下の点が、第1の実施形態の受信確認情報検証部14と異なっている。
【0071】
第2の実施形態の受信確認情報検証部14には、受信部16より0以上の不達ノードIDが付加された受信確認情報を与えられる。不達ノードID付き受信確認情報は、例えば、受信確認情報の後にノードIDが連結された形式をとっており、受信確認情報検証部14では、予めシステムで設定されているピット長に従い、受信確認情報と、0以上の不達ノードIDとを抽出する。例えば、不達ノードのIDが存在する場合は、図12のように、その不達ノードを含め、その不達ノードより下流のノードには届かなかったと認識し、図12中の式2のように、ブロードキャストデータが到達したノードに係る情報だけを用いた演算を実行する。受信確認情報検証部14での演算結果と、受信部16より与えられた受信確認情報とが、一致するか否かにより、サーバ1Bがブロードキャストした正しいデータが、サーバ1Bが管理するノードの中で、不達ノードとそれより下流のノード以外に届いたか否かを把握できる。受信確認情報検証部14は、検証結果が一致すると、不達ノードのIDを不達ノードID管理部17へ与え、検証結果一致のメッセージをサーバ認証鍵管理部11へ与える。
【0072】
不達ノードID管理部17は、受信確認情報検証部14より与えられる不達ノードIDを保持するものである。ここで、IDを保持することは、IDを保持する不達ノードと、それよりも下流のノードにはブロードキャストデータが正しく届いたか否かが分からないことを表している。
【0073】
受信部16は、隣接する管理下のノード2Bから受信した0以上の不達ノードID付き受信確認情報を、受信確認情報検証部14へ与えるものである。
【0074】
図11は、第2の実施形態の各ノード(ブロードキャストデータの受信装置)2Bの構成を示すブロック図であり、第1の実施形態に係る図3との同一、対応部分には同一符号を付して示している。
【0075】
第2の実施形態のノード2Bは、受信データ保持部31、自ノード認証鍵管理部32、MAC生成部33、子ノード情報管理部34、受信確認情報生成部35、サーバ認証鍵検証部36、不達ノードID管理部39、ノードID付加部40、受信部37及び送信部38を有している。
【0076】
以下では、第1の実施形態では存在しなかった不達ノードID管理部39及びノードID付加部40と、第1の実施形態における対応要素と機能が多少異なっている受信確認情報生成部35、受信部37及び送信部38について説明する。
【0077】
第2の実施形態の受信確認情報生成部35については、第1の実施形態の受信確認情報生成部と異なるところについて説明する。第2の実施形態の受信確認情報生成部35は、受信部37より与えられる子ノードの受信確認情報に不達ノードIDが付加されている場合には、全ての不達ノードIDを取り除いたものを子ノードからの受信確認情報とする。
【0078】
不達ノードIDが付加された受信確認情報は、例えば、受信確認情報の後にノードIDがビット連結された形式をとっており、受信確認情報生成部35は、予めシステムで設定されているビット長に従い、受信確認情報と、0以上の不達ノードIDとを抽出する。
【0079】
また、受信確認情報生成部35は、ある子ノードへブロードキャストデータを中継送信した時点から所定時間を経過しても、受信部37からその子ノードの受信確認情報を与えられないと、MAC生成部33より与えられたMACと、受信部37より既に与えられている0以上の受信確認情報を連結したものに対して、ハッシュ関数を施し、それを当該ノードの受信確認情報として、ノードID付加部40へ与える。ここで、上述の所定時間は、例えば、システムに共通の値としても良く、子ノードがルータノードかエンドノードか等により各々値を変えて設定しても良い。
【0080】
さらに、受信確認情報生成部35は、受信部37より与えられた受信確認情報に付加されている0以上の不達ノードIDと、受信部37より受信確認情報を与えられなかった0以上の全ての子ノードのIDを、不達ノードID管理部39へ与える。
【0081】
不達ノードID管理部39は、受信確認情報生成部35より与えられる不達ノードIDを管理するものである。また、不達ノードID管理部39は、受信確認情報生成部35より不達ノードのIDを与えられることで、必要に応じて、その不達ノードのIDをノードID付加部40へ与える。
【0082】
ノードID付加部40は、不達ノードID管理部39より0以上の不達ノードのIDを与えられることで、受信確認情報生成部35より与えられる当該ノードの受信確認情報に、不達ノードIDを付加して不達ノードID付き受信確認情報を生成するものであり、生成した不達ノードID付き受信確認情報を送信部38へ与える。不達ノードID付受信確認情報の形式は、予めシステムで設定されている。
【0083】
受信部37は、サーバ1Bからのブロードキャストデータを受信データ保持部31へ、また、子ノードからの0以上の不達ノードID付き受信確認情報を受信確認情報生成部35へ、さらに、ネットワーク内に公開されたサーバの認証鍵をサーバ認証鍵検証部36へ与えるものである。
【0084】
送信部38は、ノードID付加部39より与えられる0以上の不達ノードID付き受信確認情報を、自身の親ノード(親がサーバの場合はサーバ)に送信するものである。
【0085】
(B−2)第2の実施形態の動作
次に、第2の実施形態のメッセージ認証システムの動作(第2の実施形態のメッセージ認証方法)を、図13〜図17をも参照しながら説明する。ここで、第2の実施形態のメッセージ認証システムの動作は、大きくは、7段階の動作(S201〜S207)でなっている。
【0086】
「第1段階S201(図13)」
サーバ1Bは、データ生成部12においてデータXを生成し、送信部15を通して管理下のノード2Bにブロードキャストする。
【0087】
「第2段階S202(図13)」
ノード2Bは、受信部37によって受信したブロードキャストデータXを受信データ保持部31に保持する。
【0088】
「第3段階S203(図14)」
ノード2Bは、MAC生成部33において、受信データ保持部31より与えられるブロードキャストデータXと、自ノード認証鍵管理部32により与えられる当該ノード2Bの認証鍵を入力して、受信データのMACを生成し、受信確認情報生成部35へ与える。
【0089】
ノード2Bは、受信確認情報生成部35において、子ノード情報管理部34から与えられる情報より自身がエンドノードかルータノードかを判断する。そして、エンドノードである場合は、MAC生成部33より与えられるMACに対してハッシュ関数を施したハッシュ値を、自身の受信確認情報としてノードID付加部40へ与える。一方、ルータノードの場合は、受信部37を通して全ての子ノードの受信確認情報が与えられることで、MAC生成部33より与えられるMACと全ての子ノードの受信確認情報とを連結させたものに対してハッシュ関数を施し、得られたハッシュ値を自身の受信確認情報としてノードID付加部40へ与える。但し、所定時間だけ経過しても、いずれかの子ノードから受信確認情報が与えられない場合には、その子ノードのIDを不達ノードID管理部39へ与え、MAC生成部33より与えられるMACと既に与えられている0以上の子ノードの受信確認情報とを連結させたものに対してハッシュ関数を施し、得られたハッシュ値を自身の受信確認情報としてノードID付加部40へ与える。また、受信部37より与えられた子ノードの受信確認情報に不達ノードIDが付加されている場合には、その不達ノードIDを不達ノードID管理部39へ与え、不達ノードIDを取り除いた受信確認情報を子ノードの受信確認情報として扱う。
【0090】
ノード2Bは、ノードID付加部40において、不達ノードID管理部39より0以上の不達ノードのIDが与えられることにより、受信確認情報生成部35より与えられた当該ノード2Bの受信確認情報に不達ノードIDを付加して、不達ノードID付き受信確認情報を生成し、送信部38を通して親ノードに送信する。
【0091】
図14において、例えば、IDが「02」のノードでは、「04」の子ノードからの受信確認情報が所定時間経過しても届かないので、受信確認情報生成部35は、MAC生成部33より与えられるMACと、既に与えられている他の全ての子ノード(ここでは「05」のノードだけ)からの受信確認情報とを連結させたものに対してハッシュ関数を施したハッシュ値を、自身の受信確認情報として、ノードID付加部40へ与え、ノードID付加部40は、この受信確認情報(ハッシュ値)に、不達ノードID「04」を連結させて、受信応答情報として送信部38より親ノード(「01」のノード)に送信させる。
【0092】
また例えば、IDが「01」のノードでは、「02」の子ノードからの受信確認情報は不達ノードID「04」が付加されているので、不達ノードID「04」と受信確認情報とを分離し、他方の「03」の子ノードからの受信確認情報は所定時間だけ経過しても届かないので、受信確認情報生成部35は、所定時間の経過時に、MAC生成部33より与えられるMACと、既に与えられている他の全ての子ノード(ここでは「02」のノードだけ)からの受信確認情報とを連結させたものに対してハッシュ関数を施したハッシュ値を、自身の受信確認情報として、ノードID付加部40へ与え、ノードID付加部40は、この受信確認情報(ハッシュ値)に、不達ノードID「03」及び「04」を連結させて、受信応答情報として送信部38より親ノード(サーバ)に送信させる。
【0093】
「第4段階S204(図15)」
サーバ1Bは、受信確認情報検証部14において、受信部16より与えられる0以上の不達ノードIDが付加された受信確認情報から、受信確認情報と全ての不達ノードIDを分離する。
【0094】
サーバ1Bは、受信確認情報検証部14において、データ生成部12より与えられるブロードキャストデータXと、ノード情報管理部13より与えられるノードID、ノード認証鍵、ルート情報と、抽出した不達ノードのIDより、隣接ノードから返信されるであろう受信確認情報を算出する。この際の受信確認情報の算出方法は、ツリー構造の各ノードが実行すると同様な処理を、エンドノード側からトップノードへかけて順次行うものである。
【0095】
「第5段階S205(図16)」
サーバ1Bは、受信確認情報検証部14において、算出した受信確認情報と、受信部16が受信した隣接ノードからの受信確認情報が一致するかどうかを検証する。
【0096】
サーバ1Bは、検証結果が一致することで、不達ノードID管理部17において不達ノードのIDを管理し、サーバ認証鍵管理部11で管理するネットワーク内に認証鍵連鎖の未公開の次の鍵Kをネットワーク内に公開することを許可する。一方、検証結果が一致しないことで、鍵Kを公開することを許可しない。
【0097】
「第6段階S206(図16)」
サーバ1Bは、認証鍵連鎖の未公開の次の鍵Kiを、送信部15を介してネットワーク内に公開する。
【0098】
「第7段階S207(図17)」
ノード2Bは、受信部37を介して受信した鍵をサーバ認証鍵検証部36に与え、受信した鍵が、確かにサーバ1Bがネットワーク内に未公開にしていた認証鍵連鎖の鍵であるかどうかを、受信した鍵に一方向性関数を施した結果が、既にサーバ認証鍵検証部36にて保持するサーバ1Bが一番最近に公開した鍵と一致するかどうかを確かめることで検証する。
【0099】
ノード2Bは、検証結果が一致することで、受信した鍵を、サーバ1Bがネットワーク内に未公開にしていた認証鍵連鎖の次の鍵であると認証し、受信データ保持部31に保持するデータXをサーバ1Bからの正しいデータであると認証する。また、認証した鍵を、サーバ1Bによって一番最近に公開された鍵としてサーバ認証鍵検証部36に保持する。
【0100】
(B−3)第2の実施形態の効果
第2の実施形態によれば、上述した第1の実施形態の効果に加え、以下の効果を奏することができる。
【0101】
第2の実施形態によれば、ノードの故障や、パケットロスなどの理由で、受信確認を応答しないノード2Bが存在する場合にも、サーバはそれらノードを、データが到達していない可能性のあるノードとして把握することができる。従って、例えば、サーバがネットワークに未公開の認証鍵連鎖の次の鍵を公開する前に、それらノードになんらかのアクションを起こすことが可能であるし、また、鍵を公開するとしても、それらノードにはなんらかの異常がある可能性があることをサーバは把握できる。
【0102】
(C)第3の実施形態
次に、本発明によるメッセージ認証方法、通信端末装置及びメッセージ認証システムの第3の実施形態を、図面を参照しながら説明する。
【0103】
第1及び第2の実施形態では、サーバにおける受信確認の検証が失敗したときには、サーバは認証鍵連鎖の次の未公開鍵を不用意に公開できない(公開すると攻撃者がサーバになりすますことが可能となる)ので、それ以降の動作が止まってしまう。
【0104】
そこで、例えば、サーバにおける受信確認の検証が失敗したときに、データを複数回再送して受信確認の検証結果が一致してから、鍵を公開するといったことをセキュアに実現したい。
【0105】
第3の実施形態では、サーバがブロードキャストするデータに、そのデータに対して、まだ公開していない認証鍵連鎖の次の鍵を用いて生成したMACを付加して発信する。そして、サーバが、(複数回)発信した情報に対するノードの受信確認を得た後に、MAC生成に用いた鍵を公開し、ノードが既に受信したブロードキャストデータのうちでサーバからの正しいデータを認証することを特徴とする。
【0106】
(C−1)第3の実施形態の構成
図18は、第3の実施形態のサーバ(ブロードキャストデータの送信装置)1Cの構成を示すブロック図であり、第1、第2の実施形態に係る図2、図10との同一、対応部分には同一符号を付して示している。
【0107】
第3の実施形態のサーバ1Cは、サーバ認証鍵管理部11、データ生成・保持部18、MAC生成・付加部19、ノード情報管理部13、受信確認情報検証部14、不達ノードID管理部17、送信部15及び受信部16を有する。第2の実施形態に比較すると、データ生成・保持部18及びMAC生成・付加部19が追加され、データ生成部12が削除されており、サーバ認証鍵管理部11、受信確認情報検証部14、送信部15の機能も多少異なっている。以下では、第2の実施形態と異なる構成要素について説明する。
【0108】
第3の実施形態のサーバ認証鍵管理部11は、第2の実施形態のものと以下の点が異なっている。サーバ認証鍵管理部11は、受信確認情報検証部14より、検証結果一致のメッセージを受けて、ネットワーク内に未公開の次の認証鍵連鎖の鍵を送信部15へ与え、管理下のノード2Cに公開する。そして、認証鍵連鎖の次の未公開の鍵をMAC生成・付加部19へ与える。
【0109】
データ生成・保持部18は、ブロードキャストするデータを生成・保持するものである。また、データ生成・保持部18は、生成したブロードキャストデータを、MAC生成・付加部19へ与える。さらに、データ生成・保持部18は、受信確認情報検証部14より検証結果不一致のメッセージを受けて、保持するデータをMAC生成・付加部19へ与える(データの再送)。但し、保持するデータの出力にあたり、データにはnonce(意味のないデータ)の付加などで以前に再送したデータと比べて新規性が確保されているものとする。
【0110】
MAC生成・付加部19は、サーバ認証鍵管理部11より与えられる、認証鍵連鎖のネットワーク内に未公開の鍵を用いて、データ生成・保持部18より与えられるブロードキャストデータに対するMACを生成・付加するものであり、MACを付加したブロードキャストデータを、送信部15と受信確認情報検証部14へ与える。MAC生成・付加部19は、MAC生成アルゴリズムを有し、例えば、AES暗号等のブロック暗号を用いたCBC−MACである。
【0111】
第3の実施形態の受信確認情報検証部14は、第2の実施形態に比較すると、MAC生成・付加部19よりMACを付加したブロードキャストデータを与えられ、そのデータに対する受信確認を行う点、受信確認の検証結果が一致しないことで、検証結果不一致のメッセージをデータ生成・保持部18へ与える点などが異なっている。
【0112】
送信部15は、MAC生成・付加部19より与えられるブロードキャストデータとMACを、管理下のノード2Cへブロードキャストするものである。また、送信部15は、サーバ認証鍵管理部11より与えられる、ネットワーク内に未公開の認証鍵連鎖の鍵を管理下のノード2Cへブロードキャストして公開するものである。
【0113】
図19は、第3の実施形態のノード(ブロードキャストデータの受信装置)2Cの構成を示すブロック図であり、第1、第2の実施形態に係る図3、図11との同一、対応部分には同一符号を付して示している。
【0114】
第3の実施形態のノード2Cは、受信データ保持部31、自ノード認証鍵管理部32、MAC生成部33、子ノード情報管理部34、受信確認情報生成部35、不達ノードID管理部39、ノードID付加部40、サーバ認証鍵検証部36、受信データ認証部41、受信部37及び送信部38を有する。
【0115】
第2の実施形態における構成(図11)と異なる、受信データ保持部31、MAC生成部33、サーバ認証鍵検証部36、受信データ認証部41、受信部37についてのみ説明する。
【0116】
受信データ保持部31は、受信部37より与えられるサーバ1CのブロードキャストデータとMACを受信した順に保持しておくものである。また、受信データ保持部31は、受信部37より与えられたデータとMACをMAC生成部33へ与える。さらに、受信データ保持部31は、サーバ認証鍵検証部36より検証成功メッセージを与えられて、保持するブロードキャストデータとそのMACを受信した順に受信データ認証部41へ与える。
【0117】
MAC生成部33は、第2の実施形態のMAC生成部と異なる点は、受信データ保持部31から、データとMACを与えられ、それらに対するMACを計算する点である。
【0118】
サーバ認証鍵検証部36は、第2の実施形態のサーバ認証鍵検証部の機能に加え、受信した鍵をサーバ1Cが一番最近に公開した鍵であると認証することで、認証した鍵を受信データ認証部41へ与える機能を有する。
【0119】
受信データ認証部41は、受信したブロードキャストデータがサーバからの正しいデータであるかどうかを認証するものである。受信データ認証部41は、MAC生成アルゴリズムを有する。このMAC生成アルゴリズムは、サーバ1Cとの間で事前に決定されたものであり、サーバ1CがMAC生成・付加部19に有するMAC生成アルゴリズムと同じものである。受信データ認証部41は、受信データ保持部31よりデータとそのMACを与えられ、そのデータに対して、サーバ認証鍵検証部36より与えられたサーバの認証鍵を用いて生成したMACが、受信データ保持部31より与えられたMACと等しいかどうかを検証する。また、受信データ認証部41は、受信データ保持部31より順番に与えられるデータのうち、一番初めにMACの検証結果が一致したデータを、サーバ1Cからの正しいデータであると認証し、それ以降のデータは破棄する。
【0120】
受信部37は、サーバ1CからのブロードキャストデータとMACを受信データ保持部31へ、子ノードからの0以上の不達ノードID付き受信確認情報を受信確認情報生成部35へ、ネットワーク内に公開されたサーバ1Cの認証鍵をサーバ認証鍵検証部36へ与えるものである。
【0121】
(C−2)第3の実施形態の動作
次に、第3の実施形態のメッセージ認証システムの動作(第3の実施形態のメッセージ認証方法)を、図20〜図23をも参照しながら説明する。ここで、第3の実施形態のメッセージ認証システムの動作は、大きくは、10段階の動作(S301〜S310)でなっている。
【0122】
なお、以下では、説明の簡単化のために、ノードの故障やパケットロスなどによる受信確認を応答しないノード(不達ノード)が存在しない場合で説明する。そのような不達ノードが存在する場合は、下記の動作に、第2の実施形態の動作の項で示したような動作が追加される。
【0123】
「第1段階S301(図20)」
サーバ1Cは、データ生成・保持部18において、送信しようとするデータDを生成・保持し、MAC生成・付加部19へ与える。MAC生成・付加部19において、サーバ認証鍵管理部11より与えられるネットワーク内に未公開の認証鍵連鎖の鍵K(サーバ1Cの認証鍵)を用いて、データDに対するMAC(MACKi(D))を生成し、データDに付加する。データDにMACKi(D)が付加されたものがブロードキャストデータXとなる。
【0124】
「第2段階S302(図20)」
サーバ1Cは、ブロードキャストデータXを、送信部15を介して管理下のノード2Cにブロードキャストする。
【0125】
「第3段階S303(図20)」
ノード2Cは、受信部37によって受信したブロードキャストデータXを受信データ保持部31に保持する。
【0126】
「第4段階S304(図21)」
ノード2Cは、MAC生成部33において、受信データ保持部31より与えられるブロードキャストデータXと、自ノード認証鍵管理部32により与えられる当該ノード2Cの認証鍵を入力して、受信データのMACを生成し、受信確認情報生成部35へ与える。
【0127】
ノード2Cは、受信確認情報生成部35において、子ノード情報管理部34から与えられる情報より自身がエンドノードかルータノードかを判断する。エンドノードである場合には、MAC生成部33より与えられるMACに対してハッシュ関数を施し、得られたハッシュ値を自身の受信確認情報として送信部38から親ノードに送信する。一方、ルータノードの場合には、受信部37を通して全ての子ノードの受信確認情報が与えられることで、MAC生成部33より与えられるMACと全ての子ノードの受信確認情報とを連結させたものに対してハッシュ関数を施し、得られたハッシュ値を自身の受信確認情報として送信部38から親ノードに送信する。
【0128】
「第5段階S305(図21)」
サーバ1Cは、受信確認情報検証部14において、MAC生成・付加部19より与えられるブロードキャストデータXと、ノード情報管理部13より与えられるノードID、ノード認証鍵、ルート情報から、隣接ノードから返信されるであろう受信確認情報を算出する。
【0129】
「第6段階S306(図22)」
サーバ1Cは、受信確認情報検証部14において、算出した受信確認情報と、受信部16より受けた隣接ノードからの受信確認情報が一致するかどうかを検証する。サーバ1Cは、検証結果が一致することで、サーバ認証鍵管理部11で管理するネットワーク内に未公開の認証鍵連鎖の鍵Kiをネットワーク内に公開することを許可する。一方、サーバ1Cは、検証結果が一致しないことで、第1段階の処理S301に戻り、データ生成・保持部18において、保持するデータDをMAC生成・付加部19へ与える。但し、データDの再送にあたり、データにはnonce(意味のないデータ)の付加などで新規性が確保されているものとする。
【0130】
「第7段階S307(図22)」
サーバ1Cは、ネットワーク内に未公開の認証鍵連鎖の鍵Kを、送信部15を通してネットワーク内に公開する。サーバ1Cは、鍵Kを公開することで、ネットワーク内に未公開の認証鍵連鎖の次の鍵Ki+1をMAC生成・付加部19に与える。
【0131】
「第8段階S308(図23)」
ノード2Cは、受信部37で受信した鍵Kをサーバ認証鍵検証部36に与え、受信した鍵が、確かにサーバ1Cがネットワーク内に未公開にしていた認証鍵連鎖の鍵であるかどうかを、受信した鍵に一方向性関数を施した結果が、既にサーバ認証鍵検証部36にて保持するサーバが一番最近に公開した鍵Ki−1と一致するかどうかを確かめることで検証する。ノード2Cは、検証結果が一致することで、受信した鍵Kを、サーバがネットワーク内に未公開にしていた認証鍵連鎖の鍵であると認証し、その鍵をサーバによって一番最近に公開された鍵としてサーバ認証鍵検証部36に保持する。
【0132】
「第9段階S309(図23)」
ノード2Cは、受信データ認証部41において、受信データ保持部31から与えられたデータDとMACKi(D)を、サーバ認証鍵検証部36より与えられた鍵Kを用いて、与えられた順に検証する。
【0133】
すなわち、受信データ保持部31から与えられたデータDに対し、今回受信した公開鍵Kを利用してMACを生成し、生成されたMACが、受信データ保持部31から与えられたMACKi(D)と一致するかを検証する。
【0134】
「第10段階S310(図23)」
ノード1Cは、最初に検証結果が一致したデータDをサーバからの正しいデータであると認証する。それ以降のデータは破棄する。
【0135】
(C−3)第3の実施形態の効果
第3の実施形態によれば、既述した各実施形態の効果に加え、以下の効果を奏することができる。
【0136】
第3の実施形態によれば、サーバが受信確認の検証結果が一致するまでデータを複数回再送した場合でも、ノードが既に受信したデータのうちでサーバからの正しいデータを認証できる。
【0137】
ここで、第3の実施形態は、サーバが受信確認の検証に失敗した場合にだけブロードキャストデータを再送する場合に限定されず、受信確認の検証結果が一致した場合でも、サーバが、データが届いていない可能性があると把握しているノードに対して、データの再送を試みるときにも適用できる。
【0138】
(D)第4の実施形態
次に、本発明によるメッセージ認証方法、通信端末装置及びメッセージ認証システムの第4の実施形態を、図面を参照しながら説明する。
【0139】
第1〜第3の実施形態では、サーバによるブロードキャストデータの発信と、鍵の公開とを別に行うものであった。
【0140】
この第4の実施形態は、サーバからのブロードキャストデータの発信と、既に発信したデータをノードが認証するための認証鍵連鎖の鍵の公開を同時に行うことを特徴としている。
【0141】
(D−1)第4の実施形態の構成
図24は、第4の実施形態のサーバ(ブロードキャストデータの送信装置)1Dの構成を示すブロック図であり、既述した実施形態に係る図面との同一、対応部分には同一符号を付して示している。
【0142】
第4の実施形態のサーバ1Dは、サーバ認証鍵管理部11、データ生成・保持部18、MAC生成・付加部19、鍵情報付加部20、ノード情報管理部13、受信確認情報検証部14、サーバ認証鍵管理部11、不達ノードID管理部17、送信部15及び受信部16を有する。
【0143】
以下では、第3の実施形態における構成(図18)と機能などが異なる、サーバ認証鍵管理部11、MAC生成・付加部19、鍵情報付加部20、受信確認情報検証部14及び送信部15について説明する。
【0144】
サーバ認証鍵管理部11は、受信確認情報検証部14より、検証結果一致のメッセージを受けて、ネットワーク内に未公開の次の認証鍵連鎖の鍵を公開することを決定し、その鍵を鍵情報付加部20へ与え、この時点で公開することを決定していない認証鍵連鎖の次の未公開の鍵をMAC生成・付加部19へ与える点が、第3の実施形態のものと異なっている。
【0145】
MAC生成・付加部19は、サーバ認証鍵管理部11より与えられる、認証鍵連鎖のネットワーク内に未公開の鍵を用いて、データ生成・保持部18より与えられるブロードキャストデータに対するMACを生成・付加するものであり、MACを付加したブロードキャストデータを、鍵情報付加部20へ与える点が、第3の実施形態のものと異なっている。
【0146】
鍵情報付加部20は、MAC生成・付加部19より与えられる、MACを付加したブロードキャストデータに、サーバ認証鍵管理部11より与えられる管理下のノード2Dに公開することが決定した鍵情報を付加したものを、受信確認情報検証部14と送信部15へ与えるものである。
【0147】
受信確認情報検証部14は、鍵情報付加部20よりブロードキャストデータとそのMACと鍵情報を与えられ、そのデータに対する受信確認を行う点が、第3の実施形態のものと異なっている。
【0148】
送信部15は、鍵情報付加部20より与えられるブロードキャストデータとMACと鍵情報を、管理下のノード2Dへブロードキャストするものである。
【0149】
図25は、第4の実施形態のノード2Dの詳細構成を示すブロック図を示しており、第3の実施形態に係る図19との同一、対応部分には同一符号を付して示している。
【0150】
第4の実施形態のノード2Dも、構成要素は第3の実施形態のノード2Cと同様であるが、受信データ保持部31、MAC生成部33、サーバ認証鍵検証部36、受信部37などの機能が第3の実施形態のものと異なっており、以下、これら要素について説明する。
【0151】
受信データ保持部31は、以下の点が、第3の実施形態のものと異なっている。受信データ保持部31は、サーバ認証鍵検証部36よりブロードキャストデータとMACと鍵情報を与えられ、ブロードキャストデータとMACと鍵情報をMAC生成部33へ与え、ブロードキャストデータとそのMACを与えられた順に保持しておくものである。また、受信データ保持部31は、サーバ認証鍵検証部36より検証結果一致のメッセージと、ブロードキャストデータとMACと鍵情報を与えられることで、それまでに保持していたブロードキャストデータとそのMACを受信した順に受信データ認証部41へ与えて保持していたデータを消去し、サーバ認証鍵検証部36より与えられたブロードキャストデータとMACと鍵情報をMAC生成部33へ与え、ブロードキャストデータとそのMACを新規に保持しておくものである。
【0152】
MAC生成部33が、第3の実施形態のものと異なる点は、受信データ保持部31から、データとMACと鍵情報を与えられ、それらに対するMACを計算する点である。
【0153】
サーバ認証鍵検証部36は、以下の点が、第3の実施形態のものと異なっている。サーバ認証鍵検証部36は、受信部37よりブロードキャストデータとそのMACと鍵情報を与えられ、鍵情報を以下のように検証する。サーバ1Dが一番最近に公開した保持している鍵と、受信した鍵が同じであることをうけて、受信部37より与えられたブロードキャストデータとそのMACと鍵情報を受信データ保持部31へ与える。また、サーバ1Dが一番最近に公開した保持している鍵を用いて受信した鍵を検証し、受信した鍵が、サーバ1Dが一番最近に公開した鍵であると認証することで、検証結果一致のメッセージと、受信部37より与えられたブロードキャストデータとそのMACと鍵情報を受信データ保持部31へ与え、認証した鍵を受信データ認証部41へ与える。受信した鍵が、上述した2つの場合に当てはまらないことで、受信部37より与えられたブロードキャストデータとそのMACと鍵情報を破棄する。
【0154】
受信部37は、サーバ1DからのブロードキャストデータとMACと鍵情報をサーバ認証鍵検証部36へ、子ノードからの0以上の不達ノードID付き受信確認情報を受信確認情報生成部35へ与えるものである。
【0155】
(D−2)第4の実施形態の動作
次に、第4の実施形態のメッセージ認証システムの動作(第4の実施形態のメッセージ認証方法)を、図26〜図30をも参照しながら説明する。ここで、第4の実施形態のメッセージ認証システムの動作は、大きくは、10段階の動作(S401〜S410)でなっている。
【0156】
なお、以下では、説明の簡単化のために、ノードの故障やパケットロスなどによる受信確認を応答しないノード(不達ノード)が存在しない場合で説明する。そのような不達ノードが存在する場合は、下記の動作に、第2の実施形態の動作の項で示したような動作が追加される。
【0157】
「第1段階S401(図26)」
サーバ1Dは、サーバ認証鍵管理部11において認証鍵連鎖の次の未公開鍵Kを公開することを許可する。サーバ1Dは、データ生成・保持部18においてデータDi+1を生成・保持し、MAC生成・付加部19へ与える。MAC生成・付加部19においては、サーバ認証鍵管理部11より与えられるネットワーク内に未公開の認証鍵連鎖の鍵Ki+1(サーバの認証鍵)を用いて、データDi+1に対するMAC、すなわち、MACKi+1(Di+1)を生成して付加し、鍵情報付加部20へ与える。鍵情報付加部20において、サーバ認証鍵管理部11より与えられるネットワーク内に公開することが決定した認証鍵連鎖の鍵Kiを付加する。
【0158】
以上のような処理により、ブロードキャストデータX=Di+1‖MACKi+1(Di+1)‖Kが生成されたことになる。
【0159】
「第2段階S402(図26)」
サーバ1Dは、ブロードキャストデータXを、送信部38を通して管理下のノード2Dにブロードキャストする。
【0160】
「第3段階S403(図27)
ノード2Dは、受信部37によって受信したデータXをサーバ認証鍵検証部36に与え、データXに含まれる公開鍵を抽出して検証する。
【0161】
ここで、サーバ認証鍵検証部36で既に保持するサーバ1Dが一番最近に公開していた鍵Ki−1と、受信した鍵が同じである場合には、受信部37より与えられたブロードキャストデータとそのMACと鍵情報を受信データ保持部31へ与え、第6段階の処理S406へ進む。それ以外の場合には、第4段階の処理S404へ進む。
【0162】
「第4段階S404(図27)」
ノード2Dは、受信した鍵が、確かにサーバ1Dがネットワーク内に未公開にしていた認証鍵連鎖の鍵であるかどうかを、受信した鍵(正しい場合であればK)に一方向性関数F(・)を施した結果が、既にサーバ認証鍵検証部36にて保持するサーバが一番最近に公開した鍵Ki−1と一致するかどうかを確かめることで検証する。
【0163】
受信した鍵が、サーバ1Dが一番最近に公開した鍵であると認証したことで、受信した鍵を、サーバ1Dがネットワーク内に未公開にしていた認証鍵連鎖の鍵であると認証できれば、その鍵をサーバによって一番最近に公開された鍵としてサーバ認証鍵検証部36に更新保持する。また、検証結果一致のメッセージと、受信部37より与えられたブロードキャストデータとそのMACと鍵情報を受信データ保持部31へ与え、認証した鍵を受信データ認証部41へ与える。
【0164】
受信した鍵が、サーバ1Dが一番最近に公開した鍵であると認証されないことで、受信部37より与えられた、ブロードキャストデータとそのMACと鍵情報を破棄する。
【0165】
「第5段階S405(図27)」
ノード2Dは、サーバ認証鍵検証部36より検証結果一致のメッセージを受けることにより、受信データ保持部31において、保持するデータを与えられた順に受信データ認証部41に与え、受信データ認証部41において、受信データ保持部31から与えられたデータとMACを、サーバ認証鍵検証部36より与えられた鍵Kを用いて、与えられた順に検証する。
【0166】
ノード2Dは、受信データ保持部31において保持するデータを受信データ認証部41に与えることで消去する。また、ノード2Dは、受信データ保持部31から与えられたMACと、受信データ保持部31から与えられたデータに対してサーバ認証鍵検証部36より与えられた鍵を用いて生成したMACが一番初めに一致したデータをサーバからの正しいデータであると認証する。それ以降のデータは破棄する。
【0167】
「第6段階S406(図27)」
ノード2Dは、サーバ認証鍵検証部36より与えられたブロードキャストデータとそのMACと鍵情報とを新規に保持する。
【0168】
「第7段階S407(図28)」
ノード2Dは、MAC生成部33において、受信データ保持部31より与えられるブロードキャストデータXと、自ノード認証鍵管理部32により与えられる当該ノード2Dの認証鍵を入力して、受信データのMACを生成し、受信確認情報生成部35へ与える。
【0169】
ノード2Dは、受信確認情報生成部35において、子ノード情報管理部34から与えられる情報より自身がエンドノードかルータノードかを判断する。エンドノードである場合には、MAC生成部33より与えられるMACに対してハッシュ関数を施し、得られたハッシュ値を自身の受信確認情報として送信部38を通して親ノードに送信する。一方、ルータノードの場合には、受信部37を通して全ての子ノードの受信確認情報が与えられることで、MAC生成部33より与えられるMACと全ての子ノードの受信確認情報とを連結させたものに対してハッシュ関数を施し、得られたハッシュ値を自身の受信確認情報として送信部38を通して親ノードに送信する。
【0170】
「第8段階S408(図28)」
サーバ1Dは、受信確認情報検証部14において、MAC生成・付加部19より与えられるブロードキャストデータXと、ノード情報管理部13より与えられるノードID、ノード認証鍵、ルート情報から、隣接ノードから返信されるであろう受信確認情報を算出する。
【0171】
「第9段階S409(図29)」
サーバ1Dは、受信確認情報検証部14において、算出した受信確認情報と、受信部16より受けた隣接ノードからの受信確認情報が一致するかどうかを検証する。
【0172】
サーバ1Dは、検証結果が一致することで、サーバ認証鍵管理部11で管理するネットワーク内に未公開の認証鍵連鎖の鍵Kiをネットワーク内に公開することを許可する。この場合には、認証鍵連鎖の鍵Kiを規定するパラメータiを1インクリメントして、第1段階の処理S401へ戻る。
【0173】
サーバ1Dは、検証結果が一致しないことで、第10段階の処理S410へ進む。
【0174】
「第10段階S410(図30)」
サーバ1Dは、データ生成・保持部18において、保持するデータDをMAC生成・付加部19へ与える。但し、データDの再送にあたり、データにはnonce(意味のないデータ)の付加などで新規性が確保されているものとする。
【0175】
MAC生成・付加部19において、サーバ認証鍵管理部11より与えられるネットワーク内に未公開の認証鍵連鎖の鍵Ki+1(サーバの認証鍵)を用いて、データに対するMAC(=MACKi+1(Di+1))を生成して付加し、鍵情報付加部20へ与える。
【0176】
鍵情報付加部20において、サーバ認証鍵管理部11より与えられるネットワーク内に一番最近に公開した認証鍵連鎖の鍵Kiを付加する。そして、第2段階の処理S402へ戻る。
【0177】
(D−3)第4の実施形態の効果
第4の実施形態によれば、既述した各実施形態と同様な効果に加え、以下の効果を奏することができる。
【0178】
第4の実施形態によれば、サーバからのブロードキャストデータの発信と、既に発信したデータをノードが認証するための認証鍵連鎖の鍵の公開を同時に行うため、サーバからのデータ発信が連続しているような場合には、データ発信と鍵の公開を別々に行うよりも効率が良く実行できる。
【0179】
また、データと鍵の公開を同時に行い、それらに対する受信をサーバが確認することによって、サーバは現在自身が発信したデータが正しく届けられたことだけでなく、以前に届けた正しいデータを、ノードがサーバからの正しいデータであると認証したことも把握することができる。
【0180】
(E)第5の実施形態
次に、本発明によるメッセージ認証方法、通信端末装置及びメッセージ認証システムの第5の実施形態を、図面を参照しながら説明する。
【0181】
上述した第1〜第4の実施形態は、サーバが認証鍵連鎖の鍵を生成した順と逆順に1つずつ公開するのに対して、第5の実施形態は任意数おきに公開することを特徴とする。
【0182】
説明を簡単にするため、データのブロードキャストと鍵の公開は同時に行わない例(第3の実施形態に対して第5の実施形態の技術思想を追加適用した例)で説明する。また、サーバが認証鍵連鎖の鍵を一つおきに公開する例で説明する。
【0183】
(E−1)第5の実施形態の構成
第5の実施形態のサーバ1Eも、その内部構成を、第3の実施形態で説明した図18で表すことができる。
【0184】
しかし、第5の実施形態のサーバ1Eは、サーバ認証鍵管理部11、データ生成・保持部18、MAC生成・付加部19、受信確認情報検証部14、送信部15及び受信部16等の機能が第3の実施形態のものと多少異なっており、以下、これらの構成要素について説明する。
【0185】
サーバ認証鍵管理部11は、以下の点が、第3の実施形態のものと異なっている。第5の実施形態のサーバ認証鍵管理部11は、管理下のノード2Eに自身を証明するために、保持する認証鍵連鎖を生成した順と逆順で1つおきに公開する。サーバ認証鍵管理部11は、受信確認情報検証部14より、検証結果一致のメッセージを受けて、次に公開する認証鍵連鎖の鍵を送信部16へ与え、管理下のノード2Eに公開する。そして、認証鍵連鎖上で次の未公開の鍵をMAC生成・付加部19へ与える。
【0186】
データ生成・保持部18は、以下の点が、第3の実施形態のものと異なっている。第5の実施形態のデータ生成・保持部18は、ブロードキャストするデータと共にそのデータIDを生成・保持するものである。データIDはブロードキャストするデータの識別子であり、例えば、シーケンス番号などで表す。データ生成・保持部18は、生成したブロードキャストデータとデータIDを、MAC生成・付加部19へ与える。また、データ生成・保持部18は、受信確認情報検証部14よりデータIDを受けて、保持するデータの中でそのデータIDに対応するデータとデータIDをMAC生成・付加部19へ与える。
【0187】
MAC生成・付加部19には、以下の点が、第3の実施形態のものと異なっている。第5の実施形態のMAC生成・付加部19は、サーバ認証鍵管理部11より、認証鍵連鎖のネットワーク内に未公開の鍵を2つ与えられる。また、MAC生成・付加部19には、データ生成・保持部18よりブロードキャストデータとデータIDを与えられる。さらに、MAC生成・付加部19は、送信部15と受信確認情報検証部14へ、MACを付加したブロードキャストデータとデータIDを与える。さらにまた、MAC生成・付加部19は、サーバ認証鍵管理部11より2個の鍵を与えられることで、データ生成・保持部18より与えられる2つのブロードキャストデータに対して、それぞれMACを生成して付加する。
【0188】
受信確認情報検証部14は、以下の点が、第3の実施形態のものと異なっている。第5の実施形態の受信確認情報検証部14には、MAC生成・付加部19よりMACを付加したブロードキャストデータとデータIDを2組与えられ、受信部16よりデータIDが付加された受信確認情報を与えられて、そのデータIDに対応するブロードキャストデータ(データID、データ、MAC)に対する受信確認を行う。
【0189】
受信確認情報検証部14は、受信確認情報に付加されているデータIDより、どのブロードキャストデータに対する受信確認情報であるかを判断する。受信確認の検証結果が一致しないことで、検証結果不一致のデータに対応するデータIDをデータ生成・保持部18へ与える。
【0190】
送信部15は、MAC生成・付加部19より与えられるデータIDとブロードキャストデータとMACを、管理下のノード2Eへブロードキャストする点が、第3の実施形態のものと異なっている。
【0191】
受信部16は、受信確認情報と共にデータIDを受信確認情報検証部14へ与える点が、 第3の実施形態のものと異なっている。
【0192】
第5の実施形態のノード2Eも、その内部構成を、第3の実施形態で説明した図19で表すことができる。
【0193】
しかし、第5の実施形態のノード2Eは、受信データ保持部31、MAC生成部33、受信確認情報生成部35、ノードID付加部40、サーバ認証鍵検証部36、受信データ認証部41、受信部37及び送信部38等の機能が第3の実施形態のものと多少異なっており、以下、これらの構成要素について説明する。
【0194】
受信データ保持部31は、受信部37より与えられたデータIDとデータとMACをMAC生成部33へ与える点が、第3の実施形態のものと異なっている。
【0195】
MAC生成部33は、受信データ保持部31から、データIDとデータとMACを与えられ、それらに対するMACを計算する点、データIDと生成したMACを受信確認情報生成部35へ与える点が、第3の実施形態のものと異なっている。
【0196】
受信確認情報生成部35は、以下の点が、第3の実施形態のものと異なっている。受信確認情報生成部35は、MAC生成部33よりデータIDとMACの組を与えられ、それら情報を一時的に保持する。また、受信確認情報生成部35は、受信確認情報に付加されているデータIDより、サーバ1Eから受信したどのデータに対する受信確認を生成する必要があるかを判断する。さらに、受信確認情報生成部35は、受信部37より与えられる子ノードの受信確認情報に付加されたデータIDに対応するMACを受信確認情報の生成に用いる。さらにまた、受信確認情報生成部35は、データIDと生成した受信確認情報をノードID付加部40へ与える。
【0197】
ノードID付加部40は、以下の点が、第3の実施形態のものから異なっている。ノードID付加部40には、受信確認情報生成部35よりデータIDも与えられる。ノードID付加部40は、与えられたデータIDを、0以上のノードIDを付加した受信確認情報に付加し、送信部38へ与える。ノードID付加部40によるデータIDの付加の仕方は、予めシステムによって決定されている。例えば、受信確認情報の先頭に任意長のデータIDビット配列を付加する形をとる。
【0198】
サーバ認証鍵検証部36は、受信した鍵に対して2回一方向性関数を施し、その結果が既に保持する情報と等しいかどうかを確かめ、検証結果が一致することで、受信した鍵と、受信した鍵に対して1回一方向性関数を施した出力値を、受信データ認証部41へ与える点が、第3の実施形態のものと異なっている。
【0199】
受信データ認証部41は、サーバ認証鍵検証部36より2つのサーバの認証鍵を与えられる点、受信データ保持部31より順番に与えられるデータのうち、2つのサーバの認証鍵それぞれに対して、一番初めにMACの検証結果が一致したデータ2つを、サーバからの正しいデータであると認証し、それ以降のデータは破棄する点が、第3の実施形態のものと異なっている。
【0200】
受信部37は、サーバ1EからのデータIDとブロードキャストデータとMACを受信データ保持部31へ、子ノードからのデータIDと0以上の不達ノードID付きの受信確認情報を受信確認情報生成部35へ、ネットワーク内に公開されたサーバの認証鍵をサーバ認証鍵検証部36へ与えるものである。
【0201】
送信部38は、ノードID付加部40より与えられるデータIDと0以上の不達ノードID付き受信確認情報を自身の親ノードに送信するものである。
【0202】
(E−2)第5の実施形態の動作
次に、第5の実施形態のメッセージ認証システムの動作(第5の実施形態のメッセージ認証方法)を、図31〜図34をも参照しながら説明する。ここで、第5の実施形態のメッセージ認証システムの動作は、大きくは、10段階の動作(S501〜S510)でなっている。
【0203】
なお、以下では、説明の簡単化のために、ノードの故障やパケットロスなどによる受信確認を応答しないノード(不達ノード)が存在しない場合で説明する。そのような不達ノードが存在する場合は、下記の動作に、第2の実施形態の動作の項で示したような動作が追加される。また、以下の説明において、第3の実施形態と動作が同じところの説明をほぼ省略し、新しい動作の部分について重点的に説明する。
【0204】
「第1段階S501(図31)」
サーバ1Eは、データ生成・保持部18において、データDi−1とデータ識別子ID(Di−1)を生成・保持し、MAC生成・付加部19へ与える。MAC生成・付加部19において、サーバ認証鍵管理部11より与えられるネットワーク内に未公開の認証鍵連鎖の鍵Ki−1(サーバの認証鍵)を用いて、MACKi−1(Di−1)を生成し、データDi−1とデータ識別子ID(Di−1)の組に付加する。これにより、ブロードキャストデータXi−1=ID(Di−1)‖Di−1‖MACKi−1(Di−1)が生成されたことになる。
【0205】
同様にして、データDとデータ識別子ID(D)についても、ネットワーク内に未公開の認証鍵連鎖の鍵Kを用いてMACKi(D)が生成され、データDとデータ識別子ID(D)の組に付加されて、ブロードキャストデータX=ID(D)‖D‖MACKi(D)が生成される。
【0206】
「第2段階S502(図31)」
サーバ1Eは、ブロードキャストデータXi−1とブロードキャストデータXとを、送信部15を通して管理下のノード2Eにブロードキャストする。
【0207】
「第3段階S503(図31)」
ノード2Eは、受信部37によって受信したブロードキャストデータXi−1とブロードキャストデータXとを受信データ保持部31に保持する。
【0208】
「第4段階S504(図32)」
ノード2Eは、受信確認情報に、どのデータに対する受信確認情報であるかを示すためのデータID(ID(Di−1)若しくはID(D))を付加する。ノード2Eは、付加されているデータIDに対応するMACを受信確認情報の生成に用いる。
【0209】
「第5段階S505(図32)」
サーバ1Eは、返信された受信確認情報に付加されているデータIDより、どのデータに対する受信確認情報であるかを判断する。
【0210】
サーバ1Eは、発信した各データ(Di−1、D)について返信されると想定される受信確認情報をそれぞれ算出する。
【0211】
「第6段階S506(図33)」
発信した各データ(Di−1、D)ともに検証結果が一致することで、サーバ認証鍵管理部11で管理するネットワーク内に未公開の認証鍵連鎖の鍵Kを公開することを許可する。なお、検証結果が一致しないデータに関しては、第5段階の処理S501に戻り、再送を行う。
【0212】
「第7段階S507(図33)」
サーバ1Eは、ネットワーク内に未公開の認証鍵連鎖の鍵Kを、送信部15を通してネットワーク内に公開する。サーバ1Eは、鍵Kを公開することで、ネットワーク内に未公開の認証鍵連鎖の次の鍵Ki+1とさらにその次の鍵Ki+2をMAC生成・付加部19に与える。
【0213】
「第8段階S508(図34)」
ノード2Eは、受信した鍵をサーバ認証鍵検証部36に与え、受信した鍵が、確かにサーバ1Eがネットワーク内に未公開にしていた認証鍵連鎖の鍵であるかどうかを、受信した鍵に一方向性関数2回を施した結果が、既にサーバ認証鍵検証部36にて保持するサーバ1Eが一番最近に公開した鍵Ki−2と一致するかどうかを確かめることで検証する。
【0214】
ノード2Eは、検証結果が一致することで、受信した鍵Kと受信した鍵に一方向性関数を1回施した出力値Ki−1を、サーバ1Eがネットワーク内に未公開にしていた認証鍵連鎖の鍵であると認証し、Kをサーバ1Eによって一番最近に公開された鍵としてサーバ認証鍵検証部36に保持する。
【0215】
「第9段階S509(図34)」
ノード2Eは、受信データ認証部41において、受信データ保持部31から与えられたデータとMACを、サーバ認証鍵検証部36より与えられた鍵KとKi−1を用いて、与えられた順に検証する。
【0216】
「第10段階S510(図34)」
ノード2Eは、鍵KとKi−1それぞれに対して、一番最初に検証結果が一致したデータDとDi−1をサーバ1Eからの正しいデータであると認証する。それ以降のデータは破棄する。
【0217】
(E−3)第5の実施形態の効果
第5の実施形態によれば、既述した各実施形態と同様な効果に加え、以下の効果を奏することができる。
【0218】
第5の実施形態によれば、サーバは保持する認証鍵連鎖の鍵を生成した順と逆順に一つずつ公開するのではなく、予めシステムで決定した任意数ごとに公開し、ノードは鍵の公開を受けることで、複数のデータを認証する。その結果、サーバが1つの受信確認の検証が成功する毎に鍵を公開する場合に比べて、鍵を公開することで発生するネットワークの通信オーバヘッドを減少させることができる。
【0219】
また、第5の実施形態では、サーバが発信するデータと、ノードが返信する受信確認情報には、データIDが付加される。その結果、サーバが複数のデータを発信した場合でも、ノードはどのデータに対する受信確認を生成するかを判断でき、また、サーバが受信確認情報の返信を受けたときに、どのデータに対する受信確認を検証すれば良いかを把握できる。
【0220】
(F)第6の実施形態
次に、本発明によるメッセージ認証方法、通信端末装置及びメッセージ認証システムの第6の実施形態を、図面を参照しながら説明する。
【0221】
上述した第1〜第5の実施形態は、認証鍵連鎖の1つの鍵で1つのデータを認証するのに対して、第6の実施形態では認証鍵連鎖の1つの鍵で複数のデータを認証することを特徴とする。
【0222】
説明を簡単にするため、データのブロードキャストと鍵の公開は同時に行わない例で説明する。また、サーバが認証鍵連鎖の鍵を生成した順と逆順に一つずつ公開する例で説明する。
【0223】
(F−1)第6の実施形態の構成
図35は、第6の実施形態のサーバ(ブロ一ドキャストデータの送信装置)1Gの構成を示すブロック図であり、既述した実施形態に係る図面との同一、対応部分には同一符号を付して示している。
【0224】
第6の実施形態のサーバ1Gは、サーバ認証健管理部11、データ生成部12、MAC生成・付加部19、送信済データ保持部21、ノード情報管理部13、受信確認情報検証部14、不達ノードID管理部17、送信部15及び受信部16を有する。
【0225】
以下では、第3の実施形態における構成(図18)と機能などが異なる、サーバ認証鍵管理部11、データ生成部12、MAC生成・付加部19、送信済データ保持部21、受信確認情報検証部14、送信部15及び受信部16について説明する。
【0226】
サーバ認証鍵管理部11は、第3の実施形態のものと比べて以下の点が異なっている。送信済データ保持部21より、検証終了のメッセージを受けて、ネットワーク内に未公開の認証鍵連鎖の鍵を送信部15へ与え、管理下のノード2Fに公開する。そして、この時点でネットワークに未公開の認証鍵連鎖の次の鍵をMAC生成・付加部19へ与える。
【0227】
データ生成部12は、ノード2Fに認証させたいデータを生成するものである。また、データ生成部12は、認証鍵管理部11で管理する認証鍵連鎖の各鍵で認証するデータの個数Zを決定するものである。データ生成部12は、送信済データ保持部21よりデータ検証終了のメッセージを受けることにより、次の認証鍵連鎖の鍵で認証するデータの個数Zを決定し、MAC生成・付加部19へ与える。また、データ生成部12は、認証させたいデータをZ個生成し、生成した各データとそのデータIDをMAC生成・付加部19へ与える。データIDはデータを識別するものであり、例えばシーケンス番号を用いる。認証鍵連鎖の各鍵で認証するデータの個数Zは、認証鍵連鎖の各鍵ごとに決定して良く、システムによって予め決定しても良い。この第6の実施形態では、認証鍵連鎖の各鍵で認証するデータの個数Zを、認証鍵連鎖の各鍵ごとに決定する例で説明する。
【0228】
MAC生成・付加部19は、第3の実施形態のものと比べて以下の点が異なっている。第6の実施形態のMAC生成・付加部19には、データ生成部12より認証鍵連鎖の鍵を適用するデータの個数Zを与えられる。さらに、MAC生成・付加部19は、データ生成部12より、データとそのデータIDを与えられることで、認証するデータの個数ZとデータIDとデータに対してMACを生成・付加し、送信部15と送信済みデータ保持部21へ与える。
【0229】
送信済データ保持部21は、MAC生成・付加部19より与えられた送信済データを保持するものである。送信済データは、認証するデータの個数ZとデータIDとデータとMACから構成される。送信済データ保持部21は、受信確認情報検証部14よりデータIDを与えられることで、保持するデータの中でそのデータIDを含む送信済データを受信確認情報検証部14へ返す。また、送信済データ保持部21は、受信確認情報検証部14より検証終了メッセージとデータIDを受けて、そのデータIDを含む送信済データを検証終了とする。さらに、送信済データ保持部21は、受信確認情報検証部14より再送要求メッセージとデータIDを受けて、そのデータIDを含む送信済データを送信部15へ与える(再送)。さらに、送信済データ保持部21は、MAC生成・付加部19より与えられたZ個すべての送信済データに対して、検証終了メッセージを受けることで、検証終了のメッセージをデータ生成部12とサーバ認証鍵管理部11へ与える。
【0230】
受信確認情報検証部14は、第3の実施形態のものと比べて以下の点が異なっている。第6の受信確認情報検証部14は、受信部16よりデータIDが付加された受信確認情報を与えられて、そのデータIDを送信済データ保持部21へ与え、送信済データ保持部21よりそのデータIDに対応する送信済データを得る。受信確認情報検証部14は、送信済データ保持部21より与えられた送信済データ(認証データ個数Z、データID、データ)に対する受信確認を行う。受信確認情報検証部14は、受信を確認できたノード2Fと受信を確認できなかったノード2Fを把握することにより、検証終了メッセージとデータID、又は、再送要求メッセージとデータIDを送信済データ保持部21へ与える。検証終了メッセージを与えるか、再送要求メッセージを与えるかは、例えば、受信を確認できなかったノード2Fの個数(不達ノードの個数)に閾値を設けて判断する。また、受信確認の検証結果が不一致であることを受けて、再送要求メッセージとデータIDを送信済データ保持部21へ与える。
【0231】
送信部15は、MAC生成・付加部19若しくは送信済データ保持部21より与えられる認証データ個数ZとデータIDとデータとMACを管理下のノード2Fへ送信する点が、第3の実施形態のものと異なっている。
【0232】
受信部16は、受信確認情報と共にデータIDを受信確認検証部14へ与える点が、第3の実施形態のものと異なっている。
【0233】
第6の実施形態のノード2Fは、その内部構成を、第3の実施形態及び第5の実施形態で説明した図19で表すことができる。
【0234】
しかし、第6の実施形態のノード2Fは、受信データ保持部31、MAC生成部33、サーバ認証鍵検証部36、受信データ認証部41及び受信部37等の機能が第5の実施形態のものと多少異なっており、以下、これらの構成要素について説明する。
【0235】
受信データ保持部31は、以下の点が、第5の実施形態のものと異なっている。受信データ保持部31は、受信部37より与えられた認証データ個数ZとデータIDとデータとMACを受信した順に保持し、MAC生成部33へ与える。また、受信データ保持部31は、サーバ認証鍵検証部36より検証成功メッセージを与えられて、保持する認証データ個数ZとデータとMACを受信した順に受信データ認証部41へ与える。
【0236】
MAC生成部33は、受信データ保持部31から、認証データ個数ZとデータIDとデータとMACを与えられ、それらに対するMACを計算する点が、第5の実施形態のものと異なっている。
【0237】
サーバ認証鍵検証部36は、第3の実施形態のものと等しく、受信した鍵をサーバ1Fが一番最近に公開した鍵であると認証することで、認証した鍵を受信データ認証部41へ与える。
【0238】
受信データ認証部41は、以下の点が、第5の実施形態のものと異なっている。受信データ認証部41には、受信データ保持部31よりさらに認証するデータの個数Zが与えられる。受信データ認証部41は、受信データ保持部31より順番に与えられるデータのMACを検証し、検証結果が一致した最初のZ個のデータを、サーバからの正しいデータであると認証し、それ以降のデータを破棄する。
【0239】
受信部37は、サーバ1Fからの認証データ個数ZとデータIDとデータとMACを受信データ保持部31へ与える点が、第5の実施形態のものと異なっている。
【0240】
(F−2)第6の実施形態の動作
次に、第6の実施形態のメッセージ認証システムの動作(第6の実施形態のメッセージ認証方法)を、図36〜図39を参照しながら説明する。ここで、第6の実施形態のメッセージ認証システムの動作は、大きくは、10段階の動作(S601〜S610)でなっている。
【0241】
なお、以下では、説明の簡単化のために、受信確認を応答しないノード(不達ノード)が存在しない場合で説明する。そのような不達ノードが存在する場合は、下記の動作に、第2の実施形態の動作の項で示したような動作が追加される。また、以下の説明において、第3の実施形態と動作が同じところの説明をほぼ省略し、新しい動作の部分について重点的に説明する。
【0242】
『第1段階S601(図36)」
サーバ1Fは、データ生成部12において、認証鍵連鎖の鍵Kを用いてノード2Fに認証させるデータの個数Zを決定する。また、データ生成部12において、ノード2Fに認証させるZ個のデータDim(m=0,1,…,Z−1)とそのデータ識別子ID(Dim)を生成し、決定した認証データの個数Zと共にMAC生成・付加部19へ与える。MAC生成・付加部19において、サーバ認証鍵管理部11より与えられるネットワーク内に未公開の認証鍵連鎖の鍵K(サーバの認証鍵)を用いて、MACKi(Dim)を生成し、認証データの個数ZとデータDimとデータ識別子ID(Dim)の組に付加する。これにより、ブロードキャストデータXim=Z‖ID(Dim)‖Dim‖ MACKi(Dim)が生成されたことになる。サーバ1Gは、生成したブロードキャストデータXimを送信部15へ与えると共に、送信済データ保持部21にて保持する。
【0243】
「第2段階S602(図36)」
サーバ1Fは、ブロードキャストデータXimを送信部15を通して管理下のノード2Fにブロードキャストする。
【0244】
「第3段階S603(図36)」
ノード2Fは、受信部37によって受信したブロードキャストデータXimを受信データ保持部31に保持する。
【0245】
「第4段階S604(図37)」
ノード2Fは、ブロードキャストデータXimに対する受信確認情報に、どのデータに対する受信確認情報であるかを示すためのデータ識別子ID(Dim)を付加する。また、ルータノード2Fは、子ノードから受信した受信確認情報に付加されているデータ識別子ID(Dim)に対応するMACを受信確認情報の生成に用いる。
【0246】
「第5段階S605(図37)」
サーバ1Fは、返信された受信確認情報に付加されているデータ識別子ID(Dim)より、どのデータに対する受信確認情報であるかを判断し、送信済データ保持部21より、そのデータ識別子ID(Dim)を含む送信済データを受けとる。サーバ1Fは、送信済データ保持部21より受けたデータXimについて、返信されると想定する受信確認情報を算出する。
【0247】
「第6段階S606(図38)」
サーバ1Fは、送信済データXim(m=0,1,…,Z−1)について受信を確認できたノードと受信を確認できなかったノードを把握することで、そのデータ識別子ID(Dim)と検証終了メッセージを送信済データ保持部21へ与え、送信済データ保持部21に保持するデータのうち与えられたデータ識別子ID(Dim)を含む送信済データXimを受信確認完了とする。サーバ1Fは、全ての送信済データXimについて受信を確認できたノードと受信を確認できなかったノードを把握することで、サーバ認証鍵管理部11で管理するネットワーク内に未公開の認証鍵連鎖の鍵Kを公開することを許可し、また、データ生成部12においてネットワーク内に未公開の認証鍵連鎖の次の鍵Ki+1を用いて認証するデータの個数Zi+1を決定することを許可する。なお、検証結果が一致しないデータと再送が必要と判断したデータに関しては、そのデータ識別子ID(Dim)と再送要求を送信済データ保持部21に与え、再送を行う(第6段階の処理S602に戻る)。
【0248】
「第7段階S607(図38)」
サーバ1Fは、ネットワーク内に未公開の認証鍵連鎖の鍵Kを、送信部15を通してネットワーク内に公開する。サーバ1Fは、鍵Kを公開することで、ネットワーク内に未公開の認証鍵連鎖の次の鍵Ki+1をMAC生成・付加部19に与える。
【0249】
「第8段階S608(図39)」
ノード2Fは、サーバ認証鍵検証部36において、受信部37で受信した鍵Kが確かにサーバ1Fがネットワーク内に未公開にしていた認証鍵連鎖の鍵であるかどうかを確かめる(第3の実施形態の動作例「第8段階S308」と等しいため省略する)。
【0250】
「第9段階S609(図39)」
ノード2Fは、受信データ保持部31に保持する認証データ個数ZとデータDimとMACKi(Dim)の組を、受信した順番に受信データ認証部41に与え、受信データ認証部41において、与えられたデータDimとMACKi(Dim)を、サーバ認証鍵検証部36に保持する鍵Kを用いて、与えられた順に検証する。
【0251】
「第10段階S610(図39)」
ノード2Fは、検証結果が一致したZ個のデータをサーバ1Fからの正しいデータであると認証する。
【0252】
(F−3)第6の実施形態の効果
第6の実施形態によれば、既述した各実施形態と同様な効果に加え、以下の効果を奏することができる。
【0253】
第6の実施形態によれば、サーバ、又は、システムが認証鍵連鎖の各鍵で認証するデータの個数を規定し、ノードは認証鍵連鎖の1つの鍵で規定された複数のデータを認証する。その結果、サーバが認証鍵連鎖の1つの鍵で1つのデータを認証させる場合に比べて、認証鍵連鎖の使用効率が向上し、1つの認証鍵連鎖の使用期限をのばすことができる。
【0254】
(G)他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに以下に例示するような変形実施形態を挙げることができる。
【0255】
上記各実施形態では、説明の簡単化のため、サーバに隣接するノードが1つの場合で説明したが、この構成に限定されるものではない。サーバに複数のノードが隣接している場合でも、本発明を適用することができる。
【0256】
また、上記各実施形態では、説明の簡単化のため、サーバとノード間には直接のリンクがある例で説明したが、この構成に限定するものではない。センサネットワークの形態としては、図40のようにサーバとノード間にゲートウェイとなるノードが存在するのが一般的である。図40中のゲートウェイノードを、上記各実施形態でのサーバのように機能させても良く、図40中のサーバがゲートウェイノードを経由してノードにデータを送信し、ゲートウェイノードを経由して受信確認情報を取り込むようにしても良い。
【0257】
データ発信者と受信確認情報検証者が互いに信頼できる関係であり、それらの間にセキュアなルートが構築されていれば、データ発信者と受信確認情報検証者は同じ端末でなくても良い。例えば、図40中のゲートウェイノードがデータを送信し、受信した受信確認情報をサーバで検証してもらい結果の報告を受けるようにしても良い。
【0258】
上記各実施形態では、データをブロードキャストする場合を説明したが、マルチキャストする場合にも本発明を適用でき、この場合、第2の実施形態におけるような不達ノード情報が、送信先ノードでないものだけを含んでいることを妥当と捉えるようにすることもできる。また例えば、第3〜第5の実施形態で、サーバが、データが届いていないノードを把握できているときに、それらノードに対してデータを再送するときはマルチキャストするようにしても良い。
【0259】
また、上記各実施形態では、ノードが、受信した1データに対して受信確認を返信する場合で説明したが、複数のパケットに分割されたデータを全て受信した後で、受信確認を返信するようにしても良い。
【0260】
本発明におけるサーバでの受信確認方式は、上記実施形態のものに限定されるものではない。本発明は、データの受信確認方式(この方式は限定されない)と、認証鍵連鎖を用いたデータ認証を組み合わせて、サーバが発信したデータの受信を確認し、ノードが受信したデータをサーバからの正しいデータであると認証することを特徴の一つとしている。
【0261】
第3〜第5の実施形態では、認証鍵連鎖の鍵を用いてブロードキャストデータに対するMACを生成するものを示したが、認証鍵連鎖の鍵から派生した情報を用いてブロードキャストデータに対するMACを生成しても構わない。例えば、認証鍵連鎖の値に任意の暗号ハッシュ関数を施した出力値をMAC生成の鍵として用いることをシステムで予め決定していても良い。
【0262】
一般的に、one−way key chainの概念を利用したワンタイムパスワード方式では鍵切れの問題が存在するが、one−way key chainの概念をデータ認証に使用する上記各実施形態では、そのような問題は生じない。新たに別のone−way key chain(サーバの認証鍵連鎖)を生成し、ノードが、そのone−way key chainを認証するのに用いる最初の鍵情報を、上記各実施形態で示したデータ認証方式でノードに認証させることで、上記鍵切れの問題を防止することができる。
【0263】
第5及び第6の実施形態では、ノードが受信した複数のデータそれぞれに対して受信確認を返信したが、この構成に限定するものではない。ノードは受信した複数のデータに対して受信確認をまとめて返す構成にしても良い。例えば、受信確認をまとめたデータの識別子全てを受信確認情報に付加することで容易に実現可能である。
【0264】
第5の実施形態では、サーバは保持する認証鍵連鎖の鍵を生成した順と逆順に、予めシステムで決定した任意数ごとに公開したが、この任意数はシステムによって予め決定されるものでなくても良い。例えば、認証鍵連鎖の各鍵に鍵連鎖番号を割り当て、ブロードキャストデータ送信時にはそのデータのMAC生成鍵の鍵連鎖番号を付加し、鍵の公開時には鍵と共にその鍵連鎖番号を付加することで、ノードは受信したデータが認証鍵連鎖の何番目の鍵でMACを付けられているか、また、公開された鍵は認証鍵連鎖の何番目の鍵かを容易に把握することができる。
【図面の簡単な説明】
【0265】
【図1】第1の実施形態のメッセージ認証システムに係るネットワークの構成例を示すと共に、サーバが管理するノード情報の説明図である。
【図2】第1の実施形態のサーバの詳細構成を示すブロック図である。
【図3】第1の実施形態のノードの詳細構成を示すブロック図である。
【図4】第1の実施形態のサーバの認証鍵(認証鍵連鎖)の概要を示す説明図である。
【図5】第1の実施形態のサーバの受信確認情報検証部での演算式の説明図である。
【図6】第1の実施形態のメッセージ認証システムの第1、第2段階の動作の説明図である。
【図7】第1の実施形態のメッセー認証システムの第3、第4段階の動作の説明図である。
【図8】第1の実施形態のメッセージ認証システムの第5、第6段階の動作の説明図である。
【図9】第1の実施形態のメッセージ認証システムの第7段階の動作の説明図である。
【図10】第2の実施形態のサーバの詳細構成を示すブロック図である。
【図11】第2の実施形態のノードの詳細構成を示すブロック図である。
【図12】第2の実施形態のサーバの受信確認情報検証部での演算式の説明図である。
【図13】第2の実施形態のメッセージ認証システムの第1、第2段階の動作の説明図である。
【図14】第2の実施形態のメッセー認証システムの第3段階の動作の説明図である。
【図15】第2の実施形態のメッセージ認証システムの第4段階の動作の説明図である。
【図16】第2の実施形態のメッセージ認証システムの第5、第6段階の動作の説明図である。
【図17】第2の実施形態のメッセージ認証システムの第7段階の動作の説明図である。
【図18】第3の実施形態のサーバの詳細構成を示すブロック図である。
【図19】第3の実施形態のノードの詳細構成を示すブロック図である。
【図20】第3の実施形態のメッセージ認証システムの第1〜第3段階の動作の説明図である。
【図21】第3の実施形態のメッセージ認証システムの第4、第5段階の動作の説明図である。
【図22】第3の実施形態のメッセージ認証システムの第6、第7段階の動作の説明図である。
【図23】第3の実施形態のメッセージ認証システムの第8〜第10段階の動作の説明図である。
【図24】第4の実施形態のサーバの詳細構成を示すブロック図である。
【図25】第4の実施形態のノードの詳細構成を示すブロック図である。
【図26】第4の実施形態のメッセージ認証システムの第1、第2段階の動作の説明図である。
【図27】第4の実施形態のメッセージ認証システムの第3〜第6段階の動作の説明図である。
【図28】第4の実施形態のメッセージ認証システムの第7、第8段階の動作の説明図である。
【図29】第4の実施形態のメッセージ認証システムの第9段階の動作の説明図である。
【図30】第4の実施形態のメッセージ認証システムの第10段階の動作の説明図である。
【図31】第5の実施形態のメッセージ認証システムの第1〜第3段階の動作の説明図である。
【図32】第5の実施形態のメッセージ認証システムの第4、第5段階の動作の説明図である。
【図33】第5の実施形態のメッセージ認証システムの第6、第7段階の動作の説明図である。
【図34】第5の実施形態のメッセージ認証システムの第8〜第10段階の動作の説明図である。
【図35】第6の実施形態のサーバの詳細構成を示すブロック図である。
【図36】第6の実施形態のメッセージ認証システムの第1〜第3段階の動作の説明図である。
【図37】第6の実施形態のメッセージ認証システムの第4、第5段階の動作の説明図である。
【図38】第6の実施形態のメッセージ認証システムの第6、第7段階の動作の説明図である。
【図39】第6の実施形態のメッセージ認証システムの第8〜第10段階の動作の説明図である。
【図40】本発明のメッセージ認証システムを適用可能なネットワークの他の構成例を示す説明図である。
【符号の説明】
【0266】
1、1B、1C、1F…サーバ、2、2B、2C…ノード、11…サーバ認証鍵管理部、12…データ生成部、13…ノード情報管理部、14…受信確認情報検証部、15…送信部、16…受信部、17…不達ノード管理部、18…データ生成・保持部、19…MAC生成・付加部、20…鍵情報付加部、21…送信済データ保持部、31…受信データ保持部、32…自ノード認証鍵管理部、33…MAC生成部、34…子ノード情報管理部、35…受信確認情報生成部、36…サーバ認証鍵検証部、37…受信部、38…送信部、39…不達ノード管理部、40…ノードID付加部、41…受信データ認証部。


【特許請求の範囲】
【請求項1】
マルチホップ通信環境下で、メッセージ送信装置がメッセージ受信装置に対してメッセージの受信を確認し、メッセージ受信装置が、受信したメッセージがメッセージ送信装置からの正しいメッセージであることを認証するメッセージ認証方法であって、
メッセージ送信装置がメッセージ受信装置に対してメッセージの受信を確認する第1の工程と、
メッセージ送信装置が上記メッセージをメッセージ受信装置に認証させるための情報を公開する第2の工程と、
メッセージ受信装置が上記認証させるための情報を検証する第3の工程と、
メッセージ受信装置が上記メッセージを認証する第4の工程と
を含むことを特徴とするメッセージ認証方法。
【請求項2】
上記第1の工程は、
メッセージ送信装置がメッセージを送信する第1のサブ工程と、
メッセージ受信装置がメッセージの受信証明情報を生成する第2のサブ工程と、
メッセージ受信装置が、メッセージの受信証明情報を利用してメッセージの受信確認情報を生成する第3のサブ工程と、
メッセージ受信装置がメッセージの受信確認情報を受信確認情報検証装置に送る第4のサブ工程と、
受信確認情報検証装置が受信した受信確認情報を検証する第5のサブ工程と、
メッセージ送信装置が、上記第5の工程による検証結果に基づいて、メッセージ受信装置に対するメッセージの受信確認を得る第6のサブ工程とを含む
ことを特徴とする請求項1に記載のメッセージ認証方法。
【請求項3】
メッセージ送信装置がメッセージをメッセージ受信装置に認証させるための情報は、任意の値に一方向性関数を複数回施して生成した認証鍵連鎖の値であることを特徴とする請求項1又は2に記載のメッセージ認証方法。
【請求項4】
上記第2の工程は、上記認証鍵連鎖の値を生成した順と逆順に公開することを特徴とする請求項3に記載のメッセージ認証方法。
【請求項5】
上記第1の工程において、メッセージの受信が確認できたメッセージ受信装置と、メッセージの受信が確認できなかったメッセージ受信装置を把握してから、上記第2の工程を実行することを特徴とする請求項1〜4のいずれかに記載のメッセージ認証方法。
【請求項6】
上記第3の工程は、メッセージ受信装置が一つ前に受信した上記認証させるための情報を保持しておくサブ工程を含み、現在受信した認証させるための情報に所定の関数変換を施した結果が、保持する情報と一致したときに、現在受信した認証させるための情報に対し、検証成功とみなすことを特徴とする請求項1〜5のいずれかに記載のメッセージ認証方法。
【請求項7】
上記第4の工程は、上記第3の工程の検証結果が成功により上記メッセージを認証することを特徴とする請求項1〜6のいずれかに記載のメッセージ認証方法。
【請求項8】
メッセージ送信装置がメッセージの送信証明情報を生成してメッセージに付加する第5の工程をさらに有することを特徴とする請求項1〜6のいずれかに記載のメッセージ認証方法。
【請求項9】
上記第5の工程は、ネットワーク内に未公開の上記認証させるための情報、若しくは、上記認証させるための情報から派生した情報を、メッセージ送信装置の認証鍵として、メッセージの送信証明情報を生成することを特徴とする請求項8に記載のメッセージ認証方法。
【請求項10】
上記認証させるための情報から派生した情報は、上記認証させるための情報に対して、所定の一方向性関数を1回以上施した出力値であることを特徴とする請求項9に記載のメッセージ認証方法。
【請求項11】
上記メッセージの送信証明情報は、メッセージ送信装置の認証鍵を使用した、メッセージに対するMACであることを特徴とする請求項8〜10のいずれかに記載のメッセージ認証方法。
【請求項12】
上記第4の工程は、上記メッセージ送信装置の認証鍵を用いてメッセージに対するMACを生成し、上記メッセージと共に受信したMACと一致することで認証することを特徴とする請求項11に記載のメッセージ認証方法。
【請求項13】
上記第4の工程は、上記第3の工程にて検証が成功することにより、上記認証させるための情報、若しくは、その情報から派生する情報をメッセージ送信装置の認証鍵とみなすことを特徴とする請求項9〜12のいずれかに記載のメッセージ認証方法。
【請求項14】
上記第5の工程と、上記第1の工程とを複数回繰り返すことを特徴とする請求項6〜13のいずれかに記載のメッセージ認証方法。
【請求項15】
上記第4の工程で認証する上記メッセージは、メッセージ送信装置が過去に送信したメッセージであるが、上記第5の工程で生成するメッセージの送信証明情報は、上記過去に送信したメッセージとは異なることを特徴とする請求項14に記載のメッセージ認証方法。
【請求項16】
上記第4の工程は、複数のメッセージを受信したとき、受信した順番に検証し、いずれかのメッセージの認証が成功すると、それ以降のメッセージを認証しないことを特徴とする請求項14又は15に記載のメッセージ認証方法。
【請求項17】
上記第4の工程は、複数のメッセージを受信したとき、受信した順番に検証し、所定数のメッセージのみ認証することを特徴とする請求項14又は15に記載のメッセージ認証方法。
【請求項18】
上記第5の工程と、上記第1の工程とを複数のメッセージに対して並行して実行することを特徴とする請求項14〜17のいずれかに記載のメッセージ認証方法。
【請求項19】
上記第5の工程は、1つ又は複数のメッセージに対して1つの上記メッセージ送信装置の認証鍵を用いることを特徴とする請求項18に記載のメッセージ認証方法。
【請求項20】
上記複数のメッセージは、メッセージ毎にメッセージの識別情報を含むことを特徴とする請求項17〜19のいずれかに記載のメッセージ認証方法。
【請求項21】
上記第1の工程内の上記第3のサブ工程は、上記受信確認情報に、さらに受信確認情報を生成したメッセージの識別情報を付加することを特徴とする請求項17〜20のいずれかに記載のメッセージ認証方法。
【請求項22】
上記第1の工程内の上記第3のサブ工程は、他のメッセージ受信装置から与えられた受信確認情報に付加されている上記メッセージの識別情報に対応するメッセージに対して、受信確認情報を生成することを特徴とする方請求項20又は21に記載のメッセージ認証法。
【請求項23】
上記第1の工程内の上記第5のサブ工程は、与えられた受信確認情報に付加されている上記メッセージの識別情報に対応するメッセージに対して受信確認情報の検証を実行することを特徴とする請求項21又は22に記載のメッセージ認証方法。
【請求項24】
上記第2の工程は、複数の全メッセージに対して、メッセージの受信が確認できたメッセージ受信装置と、メッセージの受信が確認できなかったメッセージ受信装置を把握してから実行することを特徴とする方請求項18〜23のいずれかに記載のメッセージ認証法。
【請求項25】
メッセージ送信装置がメッセージをメッセージ受信装置に認証させるための情報は、任意の値に一方向性関数を複数回施して生成した認証鍵連鎖の値であり、上記第2の工程は、上記認証鍵連鎖の値を生成した順と逆順に所定数毎に公開することを特徴とする請求項18〜24のいずれかに記載のメッセージ認証方法。
【請求項26】
上記第3の工程は、メッセージ受信装置が一つ前に受信した上記認証させるための情報を保持しており、現在受信した認証させるための情報に一方向性関数を所定回数施した結果が、保持する情報と一致することで成功とみなすことを特徴とする請求項25に記載のメッセージ認証方法。
【請求項27】
上記第4の工程は、上記第3の工程にて検証が成功することにより、上記認証させるための情報、及び、認証鍵連鎖において上記認証させるための情報と上記保持する情報との間に存在する全ての認証鍵連鎖の鍵、又は、それら情報から派生する情報をメッセージ送信装置の認証鍵とみなすことを特徴とする請求項25又は26に記載のメッセージ認証方法。
【請求項28】
上記第4の工程は、複数の上記認証鍵が存在する場合に、1つの認証鍵につき、1つ又は複数のメッセージを認証することを特徴とする請求項19に記載のメッセージ認証方法。
【請求項29】
メッセージを送信する上記第1の工程内の上記第1のサブ工程と、認証させるための情報を公開する上記第2の工程とを同時に行うことを特徴とする請求項3〜28のいずれかに記載のメッセージ認証方法。
【請求項30】
上記第3の工程は、認証させるための情報の検証が成功しないときに、受信した認証させるための情報を含め受信した全ての情報を破棄することを特徴とする請求項1〜29のいずれかに記載のメッセージ認証方法。
【請求項31】
マルチホップ通信環境において、メッセージ送信装置がメッセージ受信装置に対して送信したメッセージの受信を確認し、メッセージ受信装置が受信したメッセージをメッセージ送信装置からの正しいメッセージであることを認証するメッセージ認証システムにおける、メッセージ送信装置が該当する通信端末装置であって、
メッセージを生成するメッセージ生成手段と、
メッセージを送信するメッセージ送信手段と、
メッセージ受信装置がメッセージを受信したことを確認する受信確認手段と、
自身の認証情報を管理する認証情報管理手段と、
自身の認証情報を公開する認証情報公開手段と
を有することを特徴とする通信端末装置。
【請求項32】
上記受信確認手段は、
メッセージ受信装置の情報を管理する第1のサブ手段と、
受信確認情報を受信する第2のサブ手段と、
受信した受信確認情報を検証する第3のサブ手段とを有する
ことを特徴とする請求項31に記載の通信端末装置。
【請求項33】
上記受信確認手段は、メッセージ受信装置の情報を管理する手段と、受信確認情報を受信する手段と、受信した受信確認情報を検証する手段とを有する外部装置から、メッセージ受信装置がメッセージを受信したことの情報を得ることを特徴とする請求項31に記載の通信端末装置。
【請求項34】
上記認証情報管理手段は、初期値に一方向性関数を複数回施した全演算結果を、生成した順番と共に管理することを特徴とする請求項31〜33のいずれかに記載の通信端末装置。
【請求項35】
上記認証情報管理手段は、上記演算結果を得る算出構成を有することを特徴とする請求項34に記載の通信端末装置。
【請求項36】
上記認証情報公開手段は、上記認証情報管理手段が管理する一方向性関数の出力値を、生成した順と逆順でメッセージ受信装置に公開することを特徴とする請求項34又は35に記載の通信端末装置。
【請求項37】
上記認証情報公開手段は、上記認証情報管理手段が管理する一方向性関数の出力値を、生成した順と逆順で所定数おきにメッセージ受信装置に公開することを特徴とする請求項36に記載の通信端末装置。
【請求項38】
メッセージの送信証明情報を生成してメッセージに付加する送信証明情報生成・付加手段をさらに有することを特徴とする請求項31〜37のいずれかに記載の通信端末装置。
【請求項39】
上記送信証明情報生成・付加手段は、上記認証情報公開手段によって、未公開で、次に公開することが決定している上記認証情報管理手段で管理する認証情報、若しくは、その認証情報から派生する情報を自身の認証鍵として用いることを特徴とする請求項38に記載の通信端末装置。
【請求項40】
上記送信証明情報生成・付加手段は、上記自身の認証鍵を用いて、メッセージのMACを生成し、そのMACをメッセージに付加することを特徴とする請求項38又は39に記載の通信端末装置。
【請求項41】
上記送信証明情報生成・付加手段は、1つ又は複数のメッセージに対して、1つの上記自身の認証鍵を用いることを特徴とする請求項38〜40のいずれかに記載の通信端末装置。
【請求項42】
送信したメッセージを再送する再送手段をさらに有することを特徴とする請求項31〜41のいずれかに記載の通信端末装置。
【請求項43】
上記再送手段は、メッセージの再送にあたり、過去に送信したメッセージの送信証明情報と、上記送信証明情報生成・付加手段にて生成するメッセージの送信証明情報が同じにならないように、再送するメッセージに処理を加えることを特徴とする請求項42に記載の通信端末装置。
【請求項44】
上記メッセージ生成手段は、メッセージと共にメッセージの識別情報を生成することを特徴とする請求項31〜43のいずれかに記載の通信端末装置。
【請求項45】
上記再送手段は、メッセージの識別情報で指定されるメッセージに対して実行することを特徴とする請求項44に記載の通信端末装置。
【請求項46】
上記受信確認手段は、受信した受信確認情報の検証を、メッセージの識別情報で指定されるメッセージに対して実行することを特徴とする請求項44又は45に記載の通信端末装置。
【請求項47】
上記認証情報公開手段は、上記メッセージ送信手段と同時に処理を実行することを特徴とする請求項31〜46のいずれかに記載の通信端末装置。
【請求項48】
マルチホップ通信環境において、メッセージ送信装置がメッセージ受信装置に対して送信したメッセージの受信を確認し、メッセージ受信装置が受信したメッセージをメッセージ送信装置からの正しいメッセージであることを認証するメッセージ認証システムにおける、メッセージ受信装置が該当する通信端末装置であって、
メッセージを保持するメッセージ保持手段と、
メッセージの受信確認を返す受信確認返信手段と、
メッセージ送信装置の認証情報を検証する認証情報検証手段と、
メッセージを認証するメッセージ認証手段と
を有することを特徴とする通信端末装置。
【請求項49】
上記受信確認返信手段は、
メッセージを受信する第1のサブ手段と、
メッセージの受信証明情報を生成する第2のサブ手段と、
隣接する通信端末装置の情報を管理する第3のサブ手段と、
メッセージの受信確認情報を生成する第4のサブ手段と、
受信確認情報を送信する第5のサブ信手段とを有する
ことを特徴とする請求項48に記載の通信端末装置。
【請求項50】
上記認証情報検証手段は、メッセージ送信装置が公開した認証情報を保持することを特徴とする請求項48又は49に記載の通信端末装置。
【請求項51】
上記認証情報検証手段は、与えられた情報に一方向性関数を施した出力値が、保持する情報と一致することで、与えられた情報をメッセージ送信装置の認証情報であると判断することを特徴とする請求項50に記載の通信端末装置。
【請求項52】
上記メッセージ認証手段は、上記認証情報検証手段が、メッセージ送信装置が公開した認証情報を検証できたことにより、上記メッセージ保持手段にて保持するメッセージをメッセージ送信装置からの正しいメッセージであると認証することを特徴とする請求項48〜51のいずれかに記載の通信端末装置。
【請求項53】
上記メッセージ保持手段は、1つ又は複数のメッセージを受信した順に管理・保持することを特徴とする請求項48〜52のいずれかに記載の通信端末装置。
【請求項54】
上記メッセージ保持手段は、メッセージと共にメッセージの送信証明情報を保持することを特徴とする請求項48〜53のいずれかに記載の通信端末装置。
【請求項55】
上記受信確認返信手段は、メッセージとそのメッセージに付加されている全ての情報に対して受信確認を実行することを特徴とする請求項48〜54のいずれかに記載の通信端末装置。
【請求項56】
上記認証情報検証手段は、与えられた情報に一方向性関数を施した出力値が、保持する情報と一致することで、与えられた情報をメッセージ送信装置の認証情報であると判断した認証情報、若しくは、その情報から派生する情報をメッセージ送信装置の認証鍵であると判断することを特徴とする請求項50〜55のいずれかに記載の通信端末装置。
【請求項57】
上記メッセージ認証手段は、上記メッセージ保持手段が複数のメッセージを管理・保持する場合に、管理する順番で最初に認証したメッセージをメッセージ送信装置からの正しいメッセージであると認証することを特徴とする請求項53に記載の通信端末装置。
【請求項58】
上記メッセージ認証手段は、上記メッセージ保持手段が複数のメッセージを管理・保持する場合に、管理する順番に検証し、所定数のメッセージのみをメッセージ送信装置からの正しいメッセージであると認証することを特徴とする請求項53に記載の通信端末装置。
【請求項59】
上記メッセージ認証手段は、上記メッセージ送信装置の認証鍵を用いて、上記メッセージ保持手段にて管理・保持するメッセージに対して生成した送信証明情報と、そのメッセージと共に保持する送信証明情報とが一致することでそのメッセージを認証することを特徴とする請求項57又は58に記載の通信端末装置。
【請求項60】
上記受信確認返信手段の、メッセージの受信確認情報を生成する第4のサブ手段は、メッセージの識別子と受信証明情報の組を管理することを特徴とする請求項49に記載の通信端末装置。
【請求項61】
上記受信確認返信手段は、受信確認情報にその受信確認情報がどのメッセージに対して生成したものかを示すために、メッセージの識別子を付加することを特徴とする請求項60に記載の通信端末装置。
【請求項62】
上記受信確認返信手段の、メッセージの受信確認情報を生成する第4のサブ手段は、マルチホップのツリー構造上で自己が接続するエンド側の通信端末装置が該当する子ノードから与えられた受信確認情報に付加されているメッセージの識別子に応じ、その識別子に対応する受信証明情報を用いて受信確認情報を生成することを特徴とする請求項60又は61に記載の通信端末装置。
【請求項63】
上記認証情報検証手段は、与えられた情報に一方向性関数を任意回数施した出力値が、保持する情報と一致することで、与えられた情報をメッセージ送信装置の認証情報であると判断し、上記メッセージ送信装置の認証情報と、上記保持する情報を出力するまでに存在した全ての中間値、若しくは、それら情報から派生する情報をメッセージ送信装置の認証鍵であると判断することを特徴とする請求項50〜55のいずれかに記載の通信端末装置。
【請求項64】
上記メッセージ認証手段は、上記メッセージ保持手段にて管理・保持するメッセージに対して、認証鍵を用いて生成した送信証明情報と、そのメッセージと共に保持する送信証明情報とが一致することでそのメッセージを認証することを、メッセージ送信装置の複数の認証鍵のそれぞれで、対応する1つ又は複数のメッセージに対して行うことを特徴とする請求項63に記載の通信端末装置。
【請求項65】
上記認証情報検証手段は、与えられた情報から検証し得ないときに、与えられた情報を含むメッセージ全体を破棄することを特徴とする請求項48〜64のいずれかに記載の通信端末装置。
【請求項66】
マルチホップ通信環境において、メッセージ送信装置がメッセージ受信装置に対して送信したメッセージの受信を確認し、メッセージ受信装置が受信したメッセージをメッセージ送信装置からの正しいメッセージであることを認証するメッセージ認証システムであって、
メッセージ送信装置として請求項31の通信端末装置を適用し、
メッセージ受信装置として請求項48の通信端末装置を適用した
ことを特徴とするメッセージ認証システム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate


【公開番号】特開2006−157856(P2006−157856A)
【公開日】平成18年6月15日(2006.6.15)
【国際特許分類】
【出願番号】特願2005−74495(P2005−74495)
【出願日】平成17年3月16日(2005.3.16)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】