(57)【特許請求の範囲】
【請求項１】
１又は複数のメッセージ受信装置が、メッセージ送信装置からのメッセージを認証するメッセージ認証システムにおいて、
上記メッセージ送信装置が、
上記各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段と、
上記メッセージ認証鍵及び上記認証符号を含む情報であって、当該情報が当該メッセージ送信装置からの正しい情報であることを上記各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、
上記各メッセージ受信装置に対して上記送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段と、
上記認証情報通知手段が生成した上記認証情報通知情報と、上記メッセージ配布手段が生成したメッセージ配布情報とを、上記メッセージ受信装置に送信する送信手段と
を有し、
上記各メッセージ受信装置が、
上記認証情報通知情報と、上記メッセージ配布情報とを受信する受信手段と、
上記メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、上記メッセージ認証鍵及び上記認証符号を取得する認証情報取得手段と、
上記認証情報取得手段で取得された上記メッセージ認証鍵及び上記認証符号を用いて、上記メッセージ配布情報で配布された上記メッセージを認証するメッセージ認証手段と
を有し、
上記メッセージ送信装置が、さらに、
上記メッセージ受信装置から、上記配布したメッセージに対する認証情報要求情報を受信する受信手段を有し、
上記メッセージ受信装置が、さらに、
上記メッセージ送信装置に対して、上記メッセージを認証するために利用するメッセージ認証鍵及び認証符号を要求する認証情報要求情報を生成する認証情報要求手段と、
上記認証情報要求手段により生成された上記認証情報要求情報を、上記メッセージ送信装置に送信する送信手段と
を有する
ことを特徴とするメッセージ認証システム。
【請求項２】
上記各メッセージ受信装置が、さらに、
上記メッセージ認証手段により認証された上記メッセージを管理するメッセージ管理手段と、
他の上記メッセージ受信装置に対して、上記メッセージ管理手段で管理される上記メッセージを配布するメッセージ配布情報を生成するメッセージ配布手段と、
上記メッセージ配布手段により生成された上記メッセージ配布情報を、他の上記メッセージ受信装置に送信する送信手段と
を有することを特徴とする請求項１に記載のメッセージ認証システム。
【請求項３】
上記メッセージ送信装置及び上記各メッセージ受信装置が、それぞれ一対の固有鍵を有し、
上記メッセージ送信装置の上記認証情報通知手段が、上記各メッセージ受信装置との間の上記固有鍵を用いて、上記認証情報通知情報を生成するものであり、
上記各メッセージ受信装置の上記認証情報取得手段が、上記固有鍵を用いて受信された上記認証情報通知情報が、上記メッセージ送信装置からの正しい情報であることを特定するものである
ことを特徴とする請求項１又は２に記載のメッセージ認証システム。
【請求項４】
上記認証符号生成手段が、上記メッセージ毎に異なるメッセージ認証鍵を用いて上記認証符号を生成するものであることを特徴とする請求項１〜３のいずれかに記載のメッセージ認証システム。
【請求項５】
上記認証符号生成手段が、上記メッセージ及び上記メッセージ受信装置毎に異なるメッセージ認証鍵を用いて上記認証符号を生成するものであることを特徴とする請求項１〜３のいずれかに記載のメッセージ認証システム。
【請求項６】
１又は複数のメッセージ受信装置に対してメッセージを送信する通信装置において、
上記各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段と、
上記メッセージ認証鍵及び上記認証符号を含む情報であって、当該情報が当該通信装置からの正しい情報であることを上記各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、
上記各メッセージ受信装置に対して上記送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段と、
上記認証情報通知手段が生成した上記認証情報通知情報と、上記メッセージ配布手段が生成したメッセージ配布情報とを、上記メッセージ受信装置に送信する送信手段と、
上記メッセージ受信装置から、上記配布したメッセージに対する認証情報要求情報を受信する受信手段と
を備えることを特徴とする通信装置。
【請求項７】
メッセージ送信装置からのメッセージを受信する通信装置において、
上記メッセージ送信装置から、メッセージ認証鍵及びメッセージに対する認証符号を含む認証情報通知情報と、送信用のメッセージを含むメッセージ配布情報とを受信する受信手段と、
上記メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、上記メッセージ認証鍵及び上記認証符号を取得する認証情報取得手段と、
上記認証情報取得手段で取得された上記メッセージ認証鍵及び上記認証符号を用いて、上記メッセージ配布情報で配布された上記メッセージを認証するメッセージ認証手段と、
上記メッセージ送信装置に対して、上記メッセージを認証するために利用するメッセージ認証鍵及び認証符号を要求する認証情報要求情報を生成する認証情報要求手段と、
上記認証情報要求手段により生成された上記認証情報要求情報を、上記メッセージ送信装置に送信する送信手段と
を備えることを特徴とする通信装置。
【請求項８】
１又は複数のメッセージ受信装置に対してメッセージを送信する通信プログラムにおいて、
コンピュータを、
上記各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段、
上記メッセージ認証鍵及び上記認証符号を含む情報であって、当該情報が当該通信装置からの正しい情報であることを上記各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、
上記各メッセージ受信装置に対して上記送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段、
上記認証情報通知手段が生成した上記認証情報通知情報と、上記メッセージ配布手段が生成したメッセージ配布情報とを、上記メッセージ受信装置に送信する送信手段
上記メッセージ受信装置から、上記配布したメッセージに対する認証情報要求情報を受信する受信手段
として機能させることを特徴とする通信プログラム。
【請求項９】
メッセージ送信装置からのメッセージを受信する通信プログラムにおいて、
コンピュータを、
上記メッセージ送信装置から、メッセージ認証鍵及びメッセージに対する認証符号を含む認証情報通知情報と、送信用のメッセージを含むメッセージ配布情報とを受信する受信手段、
上記メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、上記メッセージ認証鍵及び上記認証符号を取得する認証情報取得手段、
上記認証情報取得手段で取得された上記メッセージ認証鍵及び上記認証符号を用いて、上記メッセージ配布情報で配布された上記メッセージを認証するメッセージ認証手段、
上記メッセージ送信装置に対して、上記メッセージを認証するために利用するメッセージ認証鍵及び認証符号を要求する認証情報要求情報を生成する認証情報要求手段、
上記認証情報要求手段により生成された上記認証情報要求情報を、上記メッセージ送信装置に送信する送信手段
として機能させることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッセージ認証システム、通信装置及び通信プログラムに関し、例えば、センサネットワークシステムにおいて、システムを管理・制御するサーバがセンサノードにメッセージを送信し、そのメッセージが当該サーバから送信されたものであることをノードが確認するメッセージ認証システム、通信装置及び通信プログラムに適用し得るものである。
【背景技術】
【０００２】
例えば、センサネットワークシステムにおいて、ノード（通信装置）は、低コスト化を重視して開発されるために、以下のような制約事項を前提とされることが多い。
【０００３】
第１の制約事項は、高い処理能力を有するＣＰＵを搭載するとは限らないことである。そして、第２の制約事項は、耐タンパ性メモリを搭載するとは限らないことである。
【０００４】
また、例えばセンサネットワークシステムでは、データのやりとりを複数のノードが中継するマルチホップ通信形態をとるのが一般的である。
【０００５】
ここで、サーバがソフトウェア更新データを複数のノードに送信する場合を想定する。この場合、サーバは、更新対象となるノードグループに対して、マルチキャストで更新データを送信し、当該更新データがサーバからの正しいデータであることを、ノードが認証するものとする。
【０００６】
このようなマルチキャストデータの認証を実現する技術として、従来、公開鍵暗号を用いたデジタル署名技術がある。
【０００７】
しかし、上述の第１の制約事項の状況においては、公開鍵暗号系の適用は処理負荷が大きくなる可能性があり、処理負荷の小さい共通鍵暗号系の適用がより好ましい。例えば、サーバとノードグループとはグループ共通鍵を持ち、ノードがグループ共通鍵を用いてサーバからのデータを認証させる手法がそれに該当する。しかし、上述の第２の制約事項の状況の下では、ノードの持つグループ共通鍵が漏洩しないことを保証しにくく、さらにノードが不正な動作を行うノードに変更されないことを保証しにくい。
【０００８】
そのため、各ノードが認証処理に成功した更新データでさえも、攻撃者（悪意者）が投入した攻撃用のソフトウェアかもしれないことや、マルチホップ通信の中継途中で不正ルータノードにより改竄されているかもしれないことを考慮する必要がある。
【０００９】
前述の状況下で、ノードがサーバからのソフトウェア更新データを認証するにあたり、攻撃者のサーバヘのなりすまし攻撃に耐性を持たせる従来技術として、非特許文献１、及び特許文献１〜３の記載技術がある。
【００１０】
非特許文献１では、サーバとノードとが時刻同期し、サーバは、メッセージの認証符号を生成するために利用するメッセージ認証鍵を、時間区間ごとに変更することについて記載されている。
【００１１】
非特許文献１の記載技術では、ノードは、各メッセージ認証鍵を、各鍵が割り当てられた各時間区間においてのみ有効であるとみなされる。そして、サーバは、メッセージ送信時には、その時間区間で有効とみなされるメッセージ認証鍵をノードに対して秘密にしたまま認証符号を生成し、生成した認証符号をメッセージに付加し送信する。そして、当該メッセージ認証鍵が有効とみなされる時間区間が終了した後に、前記メッセージ認証鍵をノードに公開する。ノードは、公開されたメッセージ認証鍵が、サーバが公開した鍵であることを認証し、さらに、当該認証に成功したメッセージ認証鍵を利用して、当該メッセージ認証鍵される時間区間に受信したメッセージの認証符号を検証することで、攻撃者のサーバヘのなりすまし攻撃に耐性を持たせることができる。
【００１２】
また、非特許文献１では、時刻同期の代わりに、特許文献１の記載技術を用いて、サーバがノードに対して送信確認（認証回数同期）を行うことで、攻撃者のサーバへのなりすまし攻撃に耐性を持たせる手法が提案されている。
【００１３】
この場合、サーバは、ノードグループに認証させたいメッセージがグループ内のすべてのノードに確かに到達したか否かを確認した後に、メッセージ認証鍵を公開する。サーバがメッセージ認証鍵を公開するということは、メッセージの送信対象となるノードのすべてに正しいメッセージが到達していることを意味する。したがって、もし攻撃者が、メッセージ認証鍵が公開された後に、サーバヘのなりすましメッセージを投入するとしても、各ノードにおいて受信順序が後のメッセージであるとして排除することができる。
【００１４】
さらに、ソフトウェア更新データのようなデータサイズが大きいメッセージを認証させたいときには、非特許文献１の手法は、メッセージ認証鍵が公開されるまでメッセージ認証処理を開始することができず、保持のためのメモリ負担が大きくなるという問題がある。そこで、特許文献２及び３では、上記問題に鑑みて、メッセージよりも先に認証符号のみを送信し、後にメッセージを送信する手法が記載されている。
【００１５】
上述の従来技術でポイントとなっている送信確認（認証回数同期）は、メッセージ認証鍵を先行して知ったノードが、後に知ることになるノードに対して、サーバヘのなりすましメッセージを投入できるという課題を解決するためになされるものである。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００６−１５７８５６号公報
【特許文献２】特開２００６−３４５４０８号公報
【特許文献３】特開２００８−１４１３６０号公報
【非特許文献】
【００１７】
【非特許文献１】Ａｄｒｉａｎ  Ｐｅｒｒｉｇ，  Ｊ．Ｄ．  Ｔｙｇｅｒ著，溝口文雄  監訳「ワイヤード／ワイヤレスネットワークにおけるブロードキャスト通信のセキュリティ」，共立出版，ｐｐ．１７２−１７７
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、ソフトウェア更新データ送信時の様々なシナリオを考慮した場合には、従来技術（特許文献１〜３、非特許文献１の記載技術等）における上述の送信確認（認証回数同期）を崩したい状況も存在する。
【００１９】
例えば、センサネットワークの省電力制御等で、通信不能状態にあるノードが存在する場合に、通信可能状態にあるノードに先に更新データを認証させたいときや、また例えば、マルチホップ通信のホップごとに段階的に更新データを送信／認証させる場合など、更新データの送信を、既に更新データの認証に成功した隣接ノードから実施させたいときなどである。
【００２０】
しかし、このようにノードグループにおいて認証の同期を崩すということは、メッセージ認証鍵を先行して教えるノードが存在することであり、メッセージ認証鍵を先行して知ったノードが、後に知ることになるノードに対してサーバへのなりすましメッセージを投入してしまうおそれがある。
【００２１】
そのため、メッセージ送信対象となるメッセージ受信装置のグループにおいて、メッセージ認証鍵を先行して伝えるメッセージ受信装置と、後で伝えるメッセージ受信装置とが存在する場合（認証の同期を崩しても）、メッセージ認証鍵を先行して知った装置が、メッセージ送信装置に成りすまして攻撃することに対する耐性を持たせることができるメッセージ認証システム、通信装置及び通信プログラムが求められている。
【課題を解決するための手段】
【００２２】
かかる課題を解決するために、本発明は、メッセージ送信装置が、送信用のメッセージに対する認証符号を、メッセージ認証鍵を利用して生成し、そのメッセージ認証鍵及び認証符号を、メッセージとは別にメッセージ受信装置に通知することを特徴とする。
【００２３】
第１の本発明は、１又は複数のメッセージ受信装置が、メッセージ送信装置からのメッセージを認証するメッセージ認証システムにおいて、（Ａ）メッセージ送信装置が、（Ａ−１）各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段と、（Ａ−２）メッセージ認証鍵及び認証符号を含む情報であって、当該情報が当該メッセージ送信装置からの正しい情報であることを各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、（Ａ−３）各メッセージ受信装置に対して送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段と、（Ａ−４）認証情報通知手段が生成した認証情報通知情報と、メッセージ配布手段が生成したメッセージ配布情報とを、メッセージ受信装置に送信する送信手段とを有し、（Ｂ）各メッセージ受信装置が、（Ｂ−１）認証情報通知情報と、メッセージ配布情報とを受信する受信手段と、（Ｂ−２）メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、メッセージ認証鍵及び認証符号を取得する認証情報取得手段と、（Ｂ−３）認証情報取得手段で取得されたメッセージ認証鍵及び認証符号を用いて、メッセージ配布情報で配布されたメッセージを認証するメッセージ認証手段とを有し、メッセージ送信装置が、さらに、メッセージ受信装置から、配布したメッセージに対する認証情報要求情報を受信する受信手段を有し、メッセージ受信装置が、さらに、メッセージ送信装置に対して、メッセージを認証するために利用するメッセージ認証鍵及び認証符号を要求する認証情報要求情報を生成する認証情報要求手段と、認証情報要求手段により生成された認証情報要求情報を、メッセージ送信装置に送信する送信手段とを有することを特徴とするメッセージ認証システムである。
【００２４】
第２の本発明は、１又は複数のメッセージ受信装置に対してメッセージを送信する通信装置において、（１）各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段と、（２）メッセージ認証鍵及び認証符号を含む情報であって、当該情報が当該通信装置からの正しい情報であることを各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、（３）各メッセージ受信装置に対して送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段と、（４）認証情報通知手段が生成した認証情報通知情報と、メッセージ配布手段が生成したメッセージ配布情報とを、メッセージ受信装置に送信する送信手段と、メッセージ受信装置から、配布したメッセージに対する認証情報要求情報を受信する受信手段とを備えることを特徴とする通信装置である。
【００２５】
第３の本発明は、メッセージ送信装置からのメッセージを受信する通信装置において、（１）メッセージ送信装置から、メッセージ認証鍵及びメッセージに対する認証符号を含む認証情報通知情報と、送信用のメッセージを含むメッセージ配布情報とを受信する受信手段と、（２）メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、メッセージ認証鍵及び認証符号を取得する認証情報取得手段と、（３）認証情報取得手段で取得されたメッセージ認証鍵及び認証符号を用いて、メッセージ配布情報で配布されたメッセージを認証するメッセージ認証手段と、メッセージ送信装置に対して、メッセージを認証するために利用するメッセージ認証鍵及び認証符号を要求する認証情報要求情報を生成する認証情報要求手段と、認証情報要求手段により生成された認証情報要求情報を、メッセージ送信装置に送信する送信手段とを備えることを特徴とする通信装置である。
【００２６】
第４の本発明は、１又は複数のメッセージ受信装置に対してメッセージを送信する通信プログラムにおいて、コンピュータを、（１）各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段、（２）メッセージ認証鍵及び認証符号を含む情報であって、当該情報が当該通信装置からの正しい情報であることを各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、（３）各メッセージ受信装置に対して送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段、（４）認証情報通知手段が生成した認証情報通知情報と、メッセージ配布手段が生成したメッセージ配布情報とを、メッセージ受信装置に送信する送信手段、メッセージ受信装置から、配布したメッセージに対する認証情報要求情報を受信する受信手段として機能させることを特徴とする通信プログラムである。
【００２７】
第５の本発明は、メッセージ送信装置からのメッセージを受信する通信プログラムにおいて、コンピュータを、（１）メッセージ送信装置から、メッセージ認証鍵及びメッセージに対する認証符号を含む認証情報通知情報と、送信用のメッセージを含むメッセージ配布情報とを受信する受信手段、（２）メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、メッセージ認証鍵及び認証符号を取得する認証情報取得手段、（３）認証情報取得手段で取得されたメッセージ認証鍵及び認証符号を用いて、メッセージ配布情報で配布されたメッセージを認証するメッセージ認証手段、メッセージ送信装置に対して、メッセージを認証するために利用するメッセージ認証鍵及び認証符号を要求する認証情報要求情報を生成する認証情報要求手段、認証情報要求手段により生成された認証情報要求情報を、メッセージ送信装置に送信する送信手段として機能させることを特徴とする通信プログラムである。
【発明の効果】
【００２８】
本発明によれば、メッセージ認証鍵を先行して伝えるメッセージ受信装置と、後で伝えるメッセージ受信装置とが存在する場合、メッセージ認証鍵を先行して知った装置がメッセージ送信装置に成りすまして攻撃することに対する耐性を持たせることができる。
【図面の簡単な説明】
【００２９】
【図１】第１の実施形態におけるノード（通信装置）のメッセージ送信装置の内部構成を示すブロック図である。
【図２】第１の実施形態におけるノード（通信装置）のメッセージ受信装置の内部構成を示すブロック図である。
【図３】第１の実施形態のメッセージ認証システムを行う通信システムの構成例及び前提条件を説明する説明図である。
【図４】第１の実施形態の第１段階の認証情報の通知及び取得の処理を説明する説明図である。
【図５】第１の実施形態の第２段階のメッセージの配布と認証処理を説明する説明図である。
【図６】第１の実施形態のメッセージ認証鍵と認証符号を同時に通知することによる効果を説明する説明図である。
【図７】第２の実施形態におけるノード（通信装置）のメッセージ送信装置の内部構成を示す図である。
【図８】第２の実施形態におけるノード（通信装置）のメッセージ受信装置の内部構成を示す図である。
【図９】第２の実施形態の第１段階のメッセージ通知処理の動作を説明する説明図である。
【図１０】第２の実施形態の第２段階の認証情報の要求処理の動作を説明する説明図である。
【図１１】第２の実施形態の第３段階の認証情報の通知と取得処理の動作を説明する説明図である。
【図１２】第２の実施形態の第４段階のメッセージ配送依頼処理の動作を説明する説明図である。
【図１３】第２の実施形態の第５段階のメッセージの配布と認証処理の動作を説明する説明図である。
【発明を実施するための形態】
【００３０】
（Ａ）第１の実施形態
以下、本発明のメッセージ認証システム、通信装置及び通信プログラムの第１の実施形態を、図面を参照しながら詳細に説明する。
【００３１】
第１の実施形態は、例えば、マルチホップ通信を採用したセンサネットワークを構成する各ノード（通信装置）に、本発明を適用する実施形態を例示して説明する。
【００３２】
第１の実施形態では、メッセージ送信装置が、メッセージ認証鍵と認証符号とを、メッセージ受信装置に対して、自身からの通知であることを一意に特定できる形で通知することを特徴とする。
【００３３】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態におけるノード（通信装置）のメッセージ送信装置の内部構成を示すブロック図である。
【００３４】
図１に示すメッセージ送信装置１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、ハードディスク等のプログラム実行構成、及び、他の通信装置と通信するためのインタフェースを有する。メッセージ送信装置１は、実施形態に係る処理プログラムをインストールすることにより、機能を実現できるようしてもよく、その場合でも、機能的には図１に示す構成を有する。
【００３５】
図１において、メッセージ送信装置１は、メッセージ生成部１１、メッセージ認証鍵生成部１２、認証符号生成部１３、認証情報通知部１４、メッセージ配布部１５、送信部１６を有する。
【００３６】
メッセージ生成部１１は、メッセージ受信装置２に認証させたいメッセージを生成するものである。ここで、メッセージは、生成されたそれぞれメッセージを識別するために利用するメッセージ識別情報を含んでも良い。メッセージ生成部１１は、生成したメッセージを認証符号生成部１３およびメッセージ配布部１５へ与える。
【００３７】
メッセージ認証鍵生成部１２は、メッセージに対する認証符号を生成するために利用するメッセージ認証鍵を生成するものである。ここで、メッセージ認証鍵生成部１２は、メッセージ生成部１１が生成するメッセージごとにメッセージ認証鍵を変更して生成するようにしても良い。メッセージ認証鍵の生成方法については特に限定しないが、例えば、乱数生成器を利用して生成した乱数ビット列を利用することを想定する。メッセージ認証鍵生成部１２は、生成したメッセージ認証鍵を認証符号生成部１３へ与える。
【００３８】
認証符号生成部１３は、メッセージ生成部１１より与えられたメッセージに対して、メッセージ認証鍵生成部１２より与えられたメッセージ認証鍵を利用して認証符号を生成するものである。認証符号生成部１３は、生成した認証符号およびメッセージ認証鍵生成部１２から与えられたメッセージ認証鍵を認証情報通知部１４へ与える。また、認証符号生成部１３は、メッセージ認証鍵生成部１２からのメッセージ認証鍵を利用して生成した認証符号が、どのメッセージを対象に生成したものかを識別させるために、メッセージ識別情報を認証情報通知部１４へ与えても良い。
【００３９】
ここで、認証符号の生成方法は、特に限定されないが、認証符号生成部１３は、認証符号生成関数を用いて、認証符号を生成する方法を適用することができる。例えば、認証符号生成関数としては、ハッシュ関数やＭＡＣ（Message  Authentication  Code）生成アルゴリズム等を利用する方法を適用することができる。また、ＭＡＣ生成アルゴリズムとしては、例えば、ＡＥＳ暗号等のブロック暗号を用いたＣＢＣ−ＭＡＣ（Cipher  Block  Chaining−MAC）を適用することができ、ハッシュ関数としては、例えば、ＭＤ５（Message  Digest５）や、ＳＨＡ−１（Secure  Hash  Algorithm−１）を適用することができる。これらの認証符号生成関数は、通信を行なう装置間で予め決定しておき、相互に保持することが必要である。
【００４０】
認証情報通知部１４は、認証符号生成部１３より与えられたメッセージ認証鍵、認証符号およびメッセージ識別情報を含む認証情報通知情報を生成するものである。
【００４１】
ここで、認証情報通知情報は、メッセージ送信装置１からの正しい情報であることをメッセージ受信装置２に一意に特定されるのが好ましい。
【００４２】
そこで、認証情報通知部１４は、認証情報通知情報が正しい情報であることを一意に特定させる一意特定処理を行うものである。
【００４３】
メッセージ受信装置２に対して当該認証情報通知情報を一意に特定させる方法としては、種々の方法を広く適用することができるが、例えば、認証情報通知部１４は、メッセージ送信装置１がメッセージ受信装置２と一対で共有する固有鍵（共有鍵）を用いて認証符号を生成し、この生成された認証符号を、認証情報通知情報に付加する方法を適用することができる。これにより、メッセージ受信装置２が固定鍵を用いて認証し、認証が成功することで、当該認証情報通知情報がメッセージ送信装置１の正しい情報であることを確認することができる。
【００４４】
また別の方法としては、例えば、認証情報通知部１４が、メッセージ受信装置２との間で一意に認証情報通知情報を特定するために、認証情報通知情報に対して、暗号化処理を行うようにしてもよい。
【００４５】
また、認証情報通知部１４は、生成した認証情報通知情報を送信部１５へ与える。
【００４６】
メッセージ配布部１５は、メッセージ生成部１１より与えられたメッセージをメッセージ受信装置へ配布するためのメッセージ配布情報を生成するものである。
【００４７】
ここで、メッセージのデータサイズが１つのデータフレームで配送可能なサイズに対して大きい場合、メッセージ配布部１５は、メッセージを複数のメッセージ配布情報に分割して、複数のメッセージ配布情報を生成しても良い。また、それぞれのメッセージ配布情報は、別途、暗号化されたり、認証符号が付加されたりしても良い。例えば、メッセージ送信装置１と、メッセージの送信対象となるすべてのメッセージ受信装置２とが共有する共通鍵を利用して認証符号が付加されることによって、前記共通鍵を知らない第３者による不正なメッセージ配布情報の投入を防ぐことができる。メッセージ配布部１５は、生成したメッセージ配布情報を送信部１６へ与える。
【００４８】
送信部１６は、認証情報通知部１４からの認証情報通知情報を、メッセージ送信対象となるメッセージ受信装置２へ送信するものである。また、送信部１６は、メッセージ配布部１５からのメッセージ配布情報を、メッセージ送信対象となるメッセージ受信装置２へ送信するものである。ここで、宛先となるメッセージ受信装置２が複数存在する場合には、ユニキャスト送信だけでなく、マルチキャスト送信やブロードキャスト送信を利用しても良い。
【００４９】
図２は、第１の実施形態におけるノード（通信装置）のメッセージ受信装置の内部構成を示すブロック図である。
【００５０】
図２に示すメッセージ受信装置２は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、ハードディスク等のプログラム実行構成、及び、他の通信装置と通信するためのインタフェースを有する。メッセージ受信装置２は、実施形態に係る処理プログラムをインストールすることにより、機能を実現できるようしてもよく、その場合でも、機能的には図２に示す構成を有する。
【００５１】
図２において、メッセージ受信装置２は、受信部２１、認証情報取得部２２、メッセージ認証部２３、ルーティング部２４、送信部２５を有する。
【００５２】
受信部２１は、他の装置から与えられた、自身宛の認証情報通知情報、または、メッセージ配布情報をそれぞれ、認証情報取得部２２、メッセージ認証部２３へ与えるものである。また、受信部２１は、各情報の最終的な宛先に自身以外の宛先が含まれる場合には、与えられた各情報をルーティング部２４へも与えるものである。例えば、ブロードキャストアドレスが宛先に設定されている場合や、自身がマルチホップ通信の中継装置である場合に、受信部２１は与えられた各情報をルーティング部２４へ与える。
【００５３】
認証情報取得部２２は、受信部２１より与えられた認証情報通知情報がメッセージ送信装置１からの正しい情報であるか否かを検証し、検証に成功した場合に、当該情報に含まれるメッセージ認証鍵及び認証符号をメッセージ認証情報として取得するものである。
【００５４】
ここで、認証情報取得部２２は、受信した認証情報通知情報にメッセージの識別情報が含まれている場合には、取得したメッセージの認証情報を当該識別情報で示されたメッセージを認証するための情報であると判断しても良い。また、認証情報通知情報の正当性を検証する方法は、特に限定しないが、例えば、認証情報通知情報に付加される認証符号が、メッセージ受信装置２とメッセージ送信装置１との間で共有する１対の固有鍵を利用して生成されているか否かを検証する方法を適用することができる。認証情報取得部２２は、取得したメッセージ識別情報、メッセージ認証鍵情報、および、認証符号をメッセージ認証部２３へ与える。
【００５５】
メッセージ認証部２３は、受信部２１より与えられた１以上のメッセージ配布情報よりメッセージを復元し、復元したメッセージを、認証情報取得部２２より与えられたメッセージ認証鍵及び認証符号を利用して、認証するものである。メッセージ認証部２２は、復元したメッセージから当該メッセージの識別情報を取得し、認証情報取得部２２より与えられたメッセージ認証鍵及び認証符号の組の中で、上記識別情報で示されたメッセージを認証するために利用するメッセージ認証鍵及び認証符号を利用してメッセージの認証処理を行っても良い。
【００５６】
ルーティング部２４は、受信部２１より与えられた認証情報通知情報、または、メッセージ配布情報の最終的な宛先を参照し、その宛先装置へ配送するための経路を指定した認証情報通知情報、または、メッセージ配布情報を生成するものである。ルーティング部２４は、生成した認証情報通知情報、または、メッセージ配布情報を送信部２５へ与える。
【００５７】
送信部２５は、ルーティング部２４より与えられた認証情報通知情報、または、メッセージ配布情報を他の通信装置へ送信するものである。
【００５８】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態のメッセージ認証システムの動作を、図３〜図６を参照しながら説明する。ここで、第１の実施形態のメッセージ認証システムの動作は、大きくは、３段階の動作（Ｓ１０１〜Ｓ１０３）からなる。
【００５９】
図３は、第１の実施形態のメッセージ認証システムを行う通信システム９の構成例及び前提条件を説明する説明図である。図３は、例えば、マルチホップ通信を採用するセンサネットワークを構成する複数のノード間の通信システムを例示する。
【００６０】
図３に示すメッセージ送信装置０００と図３に示す丸とは、いずれもノード（通信装置）である。説明便宜上、メッセージを送信するものをメッセージ送信装置０００と表記し、それ以外の丸をメッセージ受信装置とする。
【００６１】
第１の実施形態では、メッセージ送信装置０００は、メッセージ受信装置のうち、メッセージ送信対象とするグループ１０１に属するもの（図３では丸の中に「Ａ」を記載したもの）に、メッセージＭを認証させるものとする。
【００６２】
ここで、グループ１０１は、図３に示すように、メッセージ受信装置００１〜００８から構成されるものとする。
【００６３】
メッセージ送信装置０００とメッセージ受信装置００１〜００８とは、それぞれ一対の固有鍵Ｋ＿００１〜Ｋ＿００８を共有している。
【００６４】
図３（Ａ）は、例えば、メッセージ送信装置０００が記憶部に記憶している各メッセージ受信装置の固有鍵の保持状態を示す。図３（Ａ）に示すように、メッセージ送信装置０００は、メッセージ送信対象の「グループ識別情報」毎に、当該グループを構成する装置を識別する「識別情報」と、対応装置との間で共有する「固有鍵」とを対応付けて保持する。例えば、図３（Ａ）では、「グループ識別情報：１０１」は、「識別情報：００１」〜「識別情報：００８」が属しており、例えば「識別情報：００１」の装置の固有鍵は「固有鍵：Ｋ＿００１」であることを示す。
【００６５】
以下では、メッセージ送信装置０００が、グループ１０１に属する装置のうち、メッセージ受信装置００１〜００４に先行してメッセージを認証させる場合の動作例を説明する。
【００６６】
「第１段階：認証情報の通知と取得（Ｓ１０１）」
図４は、第１段階の認証情報の通知及び取得の処理を説明する説明図である。
【００６７】
まず、メッセージ送信装置０００のメッセージ生成部１１は、メッセージ（Ｉ＿Ｍ０｜｜Ｍ０）を生成する。ここで、｜｜はデータ列の連結を示す。また、「Ｉ＿Ｍ０」はメッセージＭ０の識別情報であり、メッセージは識別情報Ｉ＿Ｍ０を含むとする。
【００６８】
メッセージ送信装置０００のメッセージ認証鍵生成部１２は、メッセージ（Ｉ＿Ｍ０｜｜Ｍ０）のメッセージ認証鍵ＡＫ＿Ｍ０を生成する。
【００６９】
メッセージ送信装置０００の認証符号生成部１３は、生成されたメッセージ認証鍵ＡＫ＿Ｍ０を利用して、メッセージ（Ｉ＿Ｍ０｜｜Ｍ０）に対する認証符号ＭＡＣ（ＡＫ＿Ｍ０，“Ｉ＿Ｍ０｜｜Ｍ０”）を生成する。
【００７０】
ここで、ＭＡＣ（Ｘ、Ｙ）は鍵Ｘを利用して生成したデータ列Ｙに対する認証符号を示す。
【００７１】
メッセージ送信装置０００において、認証情報通知部１４は、メッセージの識別情報Ｉ＿Ｍ０、メッセージ認証鍵ＡＫ＿Ｍ０、および、認証符号ＭＡＣ（ＡＫ＿Ｍ０、“Ｉ＿Ｍ０｜｜Ｍ０”）を含む認証情報通知情報を生成する。
【００７２】
例えば、メッセージ受信装置００２宛の認証情報通知情報を生成する場合、当該認証情報通知情報はメッセージ送信装置０００が送信した正しい情報であることを、メッセージ受信装置００２に一意に確認させるために、認証情報通知部１４は、メッセージ送信装置０００とメッセージ受信装置００２が一対で共有する固定鍵（共有鍵）「Ｋ＿００２」を利用した認証符号を生成し、認証情報通知情報に付加する。
【００７３】
図４（Ａ）には、認証情報通知情報の構成を説明する構成図を示す。図４（Ａ）は、メッセージ受信装置００２宛の認証情報通知情報の構成例を示す。例えば、認証情報通知情報は、「宛先識別情報：００２」、「送信元識別情報：０００」、「メッセージ識別情報：Ｉ＿ＭＯ」、「メッセージ認証鍵ＡＫ＿Ｍ０」、「認証符号ＭＡＣ（ＡＫ＿Ｍ０、“Ｉ＿Ｍ０｜｜Ｍ０”）」を含むものである。
【００７４】
認証情報通知部１４は、メッセージ送信装置０００とメッセージ受信装置００２との間の一対の固有鍵「Ｋ＿００２」を用いて認証符号を生成し、その認証符号を認証情報通知情報に付加する。
【００７５】
ここで、認証情報通知部１４による認証符号の生成方法は、特に限定されないが、例えば、ハッシュ関数やＭＡＣ（Message  Authentication  Code）生成アルゴリズム等の認証符号生成関数を利用する方法を適用することができる。
【００７６】
認証情報通知部１４により認証符号が付加された認証情報通知情報は、送信部１６を介して、メッセージ送信対象とするグループ１０１に属するメッセージ受信装置００１〜００８に送信される。
【００７７】
メッセージ受信装置００１〜００８において、認証情報通知情報が受信部２１に受信されると、その受信された認証情報通知情報が、認証情報取得部２２に与えられる。
【００７８】
例えば、メッセージ受信装置００２の場合、認証情報取得部２２は、受信された認証情報通知情報に含まれる認証符号をメッセージ送信装置０００と一対で共有する固有鍵「Ｋ＿００２」を利用して検証し、与えられた認証情報通知情報がメッセージ送信装置０００からの正しい情報であるか否かを検証する。検証が成功することにより、認証情報通知情報に含まれるメッセージ認証鍵ＡＫ＿Ｍ０、および、認証符号ＭＡＣ（ＡＫ＿Ｍ０、“Ｉ＿Ｍ０｜｜Ｍ０”）を、識別情報Ｉ＿Ｍ０で示されるメッセージの認証情報として取得する。
【００７９】
その他のメッセージ受信装置００１、００３、００４についても同様に、メッセージ送信装置０００から認証情報通知情報を送信し、各メッセージ受信装置がメッセージ送信装置０００から与えられた認証情報を取得する。
【００８０】
「第２段階：メッセージの配布と認証（Ｓ１０２）」
図５は、第２段階のメッセージの配布と認証処理を説明する説明図である。
【００８１】
メッセージ送信装置１００において、メッセージ配布部１５は、メッセージ生成部１１により生成されたメッセージ（Ｉ＿Ｍ０｜｜Ｍ０）を受け取り、１以上のメッセージ配布情報を生成する。
【００８２】
図５（Ａ）は、メッセージ配布情報の構成を説明する説明図である。図５（Ａ）は、「グループ：１０１」のブロードキャストアドレスとする場合を例示する。メッセージ配布情報は、「宛先識別情報：１０１」、「送信元識別情報：０００」、「メッセージ：Ｉ＿Ｍ０｜｜Ｍ０」を含むものである。
【００８３】
メッセージ配布情報は、送信部１６を介して、メッセージ送信対象のメッセージ受信装置に送信される。ここで、メッセージ送信対象となるメッセージ受信装置のグループ１０１の中で、メッセージ受信装置００１〜００４に対してメッセージが受信されると仮定する。
【００８４】
メッセージ受信装置００１〜００４のそれぞれにおいて、メッセージ配布情報が受信部２１に受信されると、受信されたメッセージ配布情報は、メッセージ認証部２３に与えられる。
【００８５】
メッセージ受信装置００１〜００４のそれぞれにおいて、メッセージ認証部２３は、受信されたメッセージ配布情報から、メッセージの識別情報Ｉ＿Ｍ０およびメッセージＭ０を復元する。
【００８６】
このとき、メッセージ認証部２３は、復元されたメッセージ（Ｉ＿Ｍ０｜｜Ｍ０）に対して、認証情報取得部２３からの識別情報Ｉ＿Ｍ０で示されるメッセージ認証鍵ＡＫ＿Ｍ０を用いて生成した認証符号が、同じく認証情報取得部２３からの認証符号ＭＡＣ（ＡＫ＿Ｍ０、“Ｉ＿Ｍ０｜｜Ｍ０”）と一致するか否かを検証する。
【００８７】
そして、一致する場合、検証が成功し、検証に成功することで、復元したメッセージＭ０が、メッセージ送信装置０００が送信した正しいメッセージであると認証する。
【００８８】
上記の動作では、メッセージ送信装置０００が、メッセージ送信対象であるメッセージ受信装置００１〜００４に対して、メッセージとは別に、メッセージを認証するためのメッセージ認証鍵及び認証符号を通知する。
【００８９】
メッセージが配信されたときに、メッセージ受信装置００１〜００４が、通知されたメッセージ認証鍵及び認証符号を用いて、メッセージがメッセージ送信装置からの正しい情報であることを一意に特定できる場合に限り、メッセージの認証情報として取得することを特徴とする。
【００９０】
このように、第１の実施形態では、メッセージ送信装置０００が、メッセージ認証鍵だけでなく、メッセージ認証符号も同時に通知するものである。このメッセージ認証鍵と認証符号を同時に通知ことによる効果を以下に説明する。
【００９１】
図６は、メッセージ認証鍵と認証符号を同時に通知することによる効果を説明する説明図である。
【００９２】
図６は、メッセージ送信対象となる複数のメッセージ受信装置００１〜００８のうち、メッセージ受信装置００１〜００４のみが、メッセージＭ０を認証した状態を示している。すなわち、各メッセージ受信装置００１〜００４は、メッセージ認証鍵ＡＫ＿Ｍ０を既に取得している。
【００９３】
ここで、メッセージ認証鍵ＡＫ＿Ｍ０を先行して知った悪意を持ったメッセージ受信装置００４が、メッセージ認証鍵ＡＫ＿Ｍ０をまだ知らないメッセージ受信装置００５〜００８に対して、メッセージ送信装置０００になりすまして「不正メッセージＭ１」を投入しようと試みる場合を考える。
【００９４】
まず、メッセージ送信装置０００が、メッセージ認証鍵だけをメッセージ受信装置に通知した場合を説明する。
【００９５】
もし、メッセージの認証情報として、メッセージ送信装置０００がメッセージ認証鍵ＡＫ＿Ｍ０のみしか通知しない場合には、悪意を持ったメッセージ受信装置００４は、既に取得したメッセージ認証鍵ＡＫ＿Ｍ０を利用して、「不正メッセージＭ１」に対する認証をすり抜ける不正な認証符号ＭＡＣ（ＡＫ＿Ｍ０，“Ｉ＿Ｍ０｜｜Ｍ１”）を生成できる。従って、メッセージ受信装置００４が当該不正な認証符号を、「不正メッセージＭ１」と共に、メッセージ受信装置００５〜００８に投入すれば、メッセージ受信装置００５〜００８は「不正メッセージＭ１」をメッセージ送信装置０００からの正しい情報であると不正に認証してしまうことになる。
【００９６】
一方、第１の実施形態のように、メッセージ送信装置０００が、メッセージ認証鍵及び認証符号を同時にメッセージ認証情報として通知する場合、悪意を持ったメッセージ受信装置００４は、以下の２つの攻撃のうちのどちらかを成功させなければならない。
【００９７】
１つ目の攻撃は、悪意を持ったメッセージ受信装置００４が、メッセージ送信装置０００とメッセージ受信装置００５〜００８とのそれぞれが一対で共有する固有鍵Ｋ００５〜Ｋ＿００８を不正に取得する場合に成り立つ。
【００９８】
この場合、悪意を持ったメッセージ受信装置００４は、上記固有鍵を取得することによって、「不正メッセージＭ１」を認証させるために利用する偽のメッセージ認証鍵ＡＫ＿Ｍ１と偽の認証符号ＭＡＣ（ＡＫ＿Ｍ１，Ｉ＿Ｍ０｜｜Ｍ１）を偽の認証情報通知情報として、メッセージ送信装置０００になりすまして通知する。これにより、悪意を持ったメッセージ受信装置００４は、偽の認証情報を通知したメッセージ受信装置に対して、「不正メッセージＭ１」をメッセージ送信装置０００が送信した正しいメッセージとして認証させることができる。
【００９９】
この攻撃は、メッセージ送信装置０００とメッセージ受信装置とが共有する固有鍵が安全という前提の下では成り立たない。また、例え、任意のメッセージ受信装置の固有鍵が不正に漏洩しても、上記攻撃が成り立つのは当該メッセージ受信装置に対してのみであり、他のメッセージ受信装置へは影響しない。
【０１００】
２つ目の攻撃は、悪意を持ったメッセージ受信装置００４が、メッセージ送信装置０００が通知した正しい認証情報を利用して、認証チェックをすり抜ける不正メッセージＭ０’を見つけ出せた場合に成り立つ。
【０１０１】
すなわち、悪意を持ったメッセージ受信装置００４が、ＭＡＣ（ＡＫ＿Ｍ０，Ｉ＿Ｍ０｜｜Ｍ０）＝ＭＡＣ（ＡＫ＿Ｍ０，Ｉ＿Ｍ０｜｜Ｍ１）となる「不正メッセージＭ１」を見つけ出す。
【０１０２】
しかし、この攻撃は、認証符号長や鍵長などの適切なパラメータ設定により、計算量的に非常に困難であると考えてよい。
【０１０３】
（Ａ−３）第１の実施形態の効果
以上より、第１の実施形態では、メッセージ送信対象となるメッセージ受信装置のグループにおいて、メッセージ認証鍵を先行して教えるメッセージ受信装置と後で教えるメッセージ受信装置が存在しても（認証の同期を崩しても）、前記メッセージ認証鍵を先行して知った装置のメッセージ送信装置へのなりすまし攻撃に耐性を持たせることができる。
【０１０４】
（Ｂ）第２の実施形態
次に、本発明のメッセージ認証システム、通信装置及び通信プログラムの第２の実施形態を、図面を参照しながら説明する。
【０１０５】
第２の実施形態では、メッセージ送信対象となるメッセージ受信装置のグループにおいて、先行してメッセージを認証したメッセージ受信装置が、メッセージ送信装置に代わって、他のメッセージ受信装置に対して、メッセージを配送することを特徴とする。
【０１０６】
（Ｂ−１）第２の実施形態の構成
図７は、第２の実施形態におけるノード（通信装置）のメッセージ送信装置の内部構成を示す図である。
【０１０７】
図７において、メッセージ送信装置３は、メッセージ生成部１１、メッセージ認証鍵生成部１２、認証符号生成部１３、認証情報通知部３１、メッセージ配布部１５、送信部１６、受信部３２を有する。
【０１０８】
図７において、第１の実施形態と同じ構成要素については同じ番号を付して示している。以下では、第２の実施形態と動作が異なる、認証情報通知部３１及び受信部３２を中心に詳細に説明する。
【０１０９】
認証情報通知部３１は、基本的に、第１の実施形態で説明した認証情報通知部１４と同じ動作をするものである。
【０１１０】
さらに、認証情報通知部３１は、第１の実施形態で説明した動作に加えて、受信部３２から認証情報要求情報を受け取り、該当するメッセージの認証情報を含む認証情報通知情報を生成して応答するものである。
【０１１１】
認証情報通知部３１は、過去に生成したメッセージ認証情報を管理するものである。例えば、認証情報通知部３１は、メッセージ識別情報、当該メッセージ識別情報で示されるメッセージ認証鍵及び認証符号を対応付けて管理する方法を適用することができる。
【０１１２】
そして、認証情報通知部３１は、受け取った認証情報要求情報に含まれるメッセージ識別情報に対応するメッセージ認証情報を参照し、当該認証情報要求情報の要求元の前記メッセージ受信装置宛に、前記メッセージ識別情報に対応するメッセージ認証鍵及び認証符号を含む認証情報通知情報を生成し、送信部１６へ与える。
【０１１３】
受信部３２は、メッセージ受信装置２より受信した認証情報要求情報を、認証情報通知部３１へ与えるものである。
【０１１４】
図８は、第２の実施形態におけるノード（通信装置）のメッセージ受信装置の内部構成を示す図である。
【０１１５】
図８において、メッセージ受信装置４は、受信部４１、認証情報取得部２２、メッセージ認証部４２、メッセージ管理部４３、メッセージ配布部４４、認証情報要求部４５、ルーティング部２４、送信部４６を有する。
【０１１６】
図８において、第１の実施形態で説明した構成要素には同じ符号を付している。以下では、第１の実施形態と動作が異なる、受信部４１、メッセージ認証部４２、メッセージ管理部４３、メッセージ配布部４４、認証情報要求部４５、送信部４６の動作を中心に詳細に説明する。
【０１１７】
受信部４１は、基本的には、第１の実施形態の受信部２１の動作と同じであるが、さらに、他の装置から与えられた自身宛のメッセージ通知情報、および、メッセージ配布要求情報をメッセージ管理部４３に与えるものである。
【０１１８】
メッセージ認証部４２は、基本的には、第１の実施形態のメッセージ認証部２３の動作と同じであるが、さらに、認証に成功したメッセージをメッセージ管理部４３へ与えるものである。
【０１１９】
メッセージ管理部４３は、認証に成功したメッセージを管理するものであり、他のメッセージ受信装置への管理メッセージの通知、自身が未取得のメッセージの識別、他のメッセージ受信装置へのメッセージ配送の要求、他のメッセージ受信装置へのメッセージ配送の指示を行うものである。
【０１２０】
すなわち、メッセージ管理部４３は、メッセージ認証部４２から与えられた、認証に成功したメッセージを管理するものである。例えば、メッセージ管理部４３は、認証成功したメッセージのメッセージ識別情報を保持する。
【０１２１】
メッセージ管理部４３は、自身が既に認証に成功して管理しているメッセージの存在を他のメッセージ受信装置に通知するために、メッセージ通知情報を生成し、生成したメッセージ通知情報を送信部４６に与えるようにしても良い。
【０１２２】
ここで、メッセージ通知情報としては、例えば、メッセージの識別情報を含めることを想定するがこれに限定しない。また、メッセージ通知情報は、暗号化されたり、認証符号が付加されたりしても良い。
【０１２３】
次に、メッセージ管理部４３は、自身が管理するメッセージをメッセージ送信装置に代わって他のメッセージ受信装置へ配布するために、メッセージ配布部に与える。例えば、受信部４１よりメッセージ配布要求情報を与えられることにより、要求されたメッセージをメッセージ配布部４４に与えても良い。
【０１２４】
次に、メッセージ管理部４３は、自身が未取得のメッセージを他のメッセージ受信装置から取得するために、メッセージ配布要求情報を生成し、送信部４６に与える。例えば、受信部４１よりメッセージ通知情報を与えられ、当該メッセージ通知情報で通知されるメッセージを自身がまだ取得していないことを識別することにより、メッセージ配布要求情報を送信部４６に与えても良い。
【０１２５】
次に、メッセージ管理部４３は、自身が未取得のメッセージの認証情報をメッセージ送信装置１に対して要求するために、未取得のメッセージの識別情報を認証情報要求部４５に与える。
【０１２６】
メッセージ配布部４４は、メッセージ管理部４３から与えられたメッセージを他のメッセージ受信装置へ配布するためのメッセージ配布情報を生成するものである。
【０１２７】
ここで、メッセージのデータサイズが、１つのデータフレームで配送可能なサイズに対して大きい場合には、メッセージを複数のメッセージ配布情報に分割して、複数のメッセージ配布情報を生成しても良い。また、それぞれのメッセージ配布情報は、別途、暗号化されたり、認証符号が付加されたりしても良い。例えば、他のメッセージ受信装置と共有する共通鍵を利用して認証符号が付加されることによって、前記共通鍵を知らない第３者による不正なメッセージ配布情報の投入を防ぐことができる。メッセージ配布部は、生成したメッセージ配布情報を送信部４６に与える。
【０１２８】
認証情報要求部４５は、メッセージ管理部４３より未取得のメッセージの識別情報を与えられることにより、当該識別情報で示されるメッセージの認証情報をメッセージ送信装置１に対して要求するために、認証情報要求情報を生成する。
【０１２９】
ここで、認証情報要求部４５は、認証情報要求情報に、例えば、認証情報（メッセージ認証鍵及び認証符号）を取得したいメッセージの識別情報を含むものを生成する。また、認証情報要求部４５は、生成した認証情報要求情報を送信部４６に与える。
【０１３０】
送信部４６は、基本的には、第１の実施形態の送信部２５の動作と同じであるが、さらに、メッセージ管理部４３から与えられたメッセージ通知情報およびメッセージ配送要求情報を他の通信装置へ送信するものである。また、送信部４６は、認証情報要求部４５から与えられた認証情報要求情報をメッセージ送信装置１に送信するものである。さらに、送信部４６は、メッセージ配布部４４から与えられたメッセージ配布情報を対象となるメッセージ受信装置へ送信するものである。
【０１３１】
（Ｂ−２）第２の実施形態の動作
次に、第２の実施形態のメッセージ認証システムの動作を、図９〜図１３を参照しながら説明する。
【０１３２】
なお、第２の実施形態の動作は、図３〜図６を用いて説明した第１の実施形態の動作が完了した状態を前提にして説明する。
【０１３３】
ここで、第２の実施形態のメッセージ認証システムの動作は、大きくは、５段階の動作（Ｓ２０１〜Ｓ２０５）からなる。
【０１３４】
「第１段階：メッセージの通知（Ｓ２０１）」
図９は、第２の実施形態の第１段階のメッセージ通知処理の動作を説明する説明図である。
【０１３５】
まず、メッセージ受信装置００４において、メッセージ管理部４３は、認証に成功したメッセージ（Ｉ＿Ｍ０｜｜Ｍ０）を管理する。メッセージ管理部４３は、新しいメッセージの取得を他のメッセージ受信装置に通知するために、取得したメッセージの識別情報Ｉ＿Ｍ０を含むメッセージ通知情報を生成する。そして、このメッセージ通知情報は、送信部４６を介して、他のメッセージ受信装置２に送信される。
【０１３６】
例えば、図９（Ａ）の場合、メッセージ受信装置００４は、グループ１を示す「宛先識別情報：１０１」、「送信元識別情報：」、「メッセージ識別情報：Ｉ＿Ｍ０」を含むメッセージ通知情報を送信する。メッセージ通知情報は、マルチホップ通信により他のメッセージ受信装置に転送される。
【０１３７】
「第２段階：認証情報の要求（Ｓ２０２）」
図１０は、第２の実施形態の第２段階の認証情報の要求処理の動作を説明する説明図である。
【０１３８】
メッセージ受信装置００４からのメッセージ通知情報が、メッセージ受信装置００５及び００６に受信される。
【０１３９】
メッセージ受信装置００５、００６において、メッセージ管理部４３は、受信部４１により受信されたメッセージ通知情報に含まれるメッセージ識別情報Ｉ＿Ｍ０に基づいて、自身が既に取得したメッセージのメッセージ識別情報であるか否かを識別する。
【０１４０】
すなわち、メッセージ管理部４３は、認証に成功したメッセージのメッセージ識別情報を保持しており、今回受信したメッセージ通知情報に含まれるメッセージ識別情報が、自身が保持しているメッセージ識別情報に存在するか否かを判断する。メッセージ管理部４３は、メッセージ識別情報が存在するときには当該メッセージを取得済みと識別し、存在しないときに当該メッセージを未取得と識別する。
【０１４１】
そして、メッセージ管理部４３は、当該メッセージを未取得と判断すると、メッセージ管理部４３は、当該メッセージの認証情報（メッセージ認証鍵及び認証符号）をメッセージ送信装置０００に要求するため、認証情報要求部４５にメッセージ識別情報Ｉ＿Ｍ０を与える。
【０１４２】
認証情報要求部４５は、受け取ったメッセージ識別情報Ｉ＿Ｍ０を含む認証情報要求情報を生成して、その生成された認証情報要求情報を送信部４６に与える。送信部４６は、メッセージ送信装置０００に対して認証情報要求情報を送信する。
【０１４３】
ここで、図１０（Ａ）は、メッセージ受信装置００５が送信する認証情報要求情報の構成例であり、図１０（Ｂ）が、メッセージ受信装置００６が送信する認証情報要求情報の構成例を示す。図１０（Ａ）及び図１０（Ｂ）に示すように、認証情報要求情報は、「宛先識別情報：０００」としてメッセージ送信装置０００とし、認証情報を求めるメッセージの「メッセージ識別情報：Ｉ＿Ｍ０」を含める。
【０１４４】
「第３段階：認証情報の通知と取得（Ｓ２０３）」
図１１は、第２の実施形態の第３段階の認証情報の通知と取得処理の動作を説明する説明図である。
【０１４５】
メッセージ受信装置００５及び００６からの認証情報要求情報は、メッセージ送信装置０００に受信される。メッセージ送信装置０００において、認証情報通知部３１は、受信部３２から認証情報要求情報を受け取る。
【０１４６】
認証情報通知部３１は、過去のメッセージ認証情報を管理しているので、今回受信した認証情報要求情報に含まれているメッセージ識別情報Ｉ＿Ｍ０に対応するメッセージ認証鍵ＡＫ＿Ｍ０、及び、認証符号ＭＡＣ（ＡＫ＿Ｍ０，“Ｉ＿Ｍ０｜｜Ｍ０”）を取得する。
【０１４７】
そして、認証情報通知部３１は、メッセージ識別情報Ｉ＿Ｍ０、メッセージ認証鍵ＡＫ＿Ｍ０、及び、認証符号ＭＡＣ（ＡＫ＿Ｍ０，“Ｉ＿Ｍ０｜｜Ｍ０”）を用いて、認証情報通知情報を生成する。
【０１４８】
図１１（Ａ）は、メッセージ受信装置００５宛の認証情報通知情報の構成例を示す構成図である。
【０１４９】
図１１（Ａ）に示すように、認証情報通知部３１は、「宛先識別情報：００５」、「送信元識別情報：０００」とし、「メッセージ識別情報Ｉ＿Ｍ０」、「メッセージ認証鍵ＡＫ＿Ｍ０」、及び、「認証符号ＭＡＣ（ＡＫ＿Ｍ０，“Ｉ＿Ｍ０｜｜Ｍ０”）」を含む情報を生成する。
【０１５０】
さらに、認証情報通知部３１は、メッセージ送信装置０００とメッセージ受信装置００５との間で一対の固有鍵「Ｋ＿００５」を用いて認証符号を生成し、その認証符号を上記情報を付与して、認証情報通知情報を生成する。
【０１５１】
上記のようにして生成された認証情報通知情報は、送信部１６を介して、メッセージ受信装置００５及び００６に送信される。
【０１５２】
メッセージ受信装置００５において、受信部３２により受信された認証情報通知情報は、認証情報取得部２２に与えられる。
【０１５３】
メッセージ受信装置００５の認証情報取得部３２は、与えられた認証情報通知情報に含まれる認証符号をメッセージ送信装置０００と一対で共有する共有鍵（固有鍵）Ｋ＿００５を利用して検証し、与えられた認証情報通知情報がメッセージ送信装置０００から送信された正しい情報であるか否かを検証する。
【０１５４】
そして、認証情報取得部３２は、検証が成功することにより、認証情報通知情報に含まれるメッセージ認証鍵ＡＫ＿Ｍ０、および、認証符号ＭＡＣ（ＡＫ＿Ｍ０，“Ｉ＿Ｍ０｜｜Ｍ０”）を、識別情報Ｉ＿Ｍ０で示されるメッセージの認証情報として取得する。
【０１５５】
メッセージ受信装置００６についても同様に、メッセージ送信装置０００から認証情報通知情報を送信し、メッセージＭ０の認証情報を取得する。
【０１５６】
「第４段階：メッセージの配送依頼（Ｓ２０４）」
図１２は、第２の実施形態の第４段階のメッセージ配送依頼処理の動作を説明する説明図である。
【０１５７】
メッセージ受信装置００５及び００６において、認証情報が取得されると、メッセージ管理部４３は、自身が見取得であるメッセージＭ０を配送してもらうために、メッセージ配送要求情報を生成し、送信部４６を介して、メッセージ受信装置００４に送信する。
【０１５８】
ここで、図１２（Ａ）は、メッセージ受信装置００５が送信するメッセージ配送要求情報の構成例を示す構成図であり、図１２（Ｂ）は、メッセージ受信装置００６が送信するメッセージ配送要求情報の構成例を示す構成図である。メッセージ配送要求情報は、「宛先識別情報」、「送信元識別情報」、「メッセージ識別情報」を有する。
【０１５９】
図１２（Ａ）及び（Ｂ）に示すように、メッセージ配送要求情報の送信先は、「宛先識別情報：００４」である。すなわち、メッセージ受信装置００５及び００６は、メッセージ通知情報の送信元であるメッセージ受信装置００４に対してメッセージ配送要求情報を送信する。
【０１６０】
メッセージ受信装置００４において、メッセージ管理部４３は、受信部４１からメッセージ配送要求情報を受け取ると、自身が管理するメッセージの中で、前記メッセージ配送要求情報に含まれる識別情報Ｉ＿Ｍ０で示されるメッセージ（Ｉ＿Ｍ０｜｜Ｍ０）をメッセージ配布部４４に与える。
【０１６１】
「第５段階：メッセージの配布と認証（Ｓ２０５）」
図１３は、第２の実施形態の第５段階のメッセージの配布と認証処理の動作を説明する説明図である。
【０１６２】
メッセージ受信装置００４において、メッセージ配布部４４は、メッセージ管理部４３からメッセージ（Ｉ＿Ｍ０｜｜Ｍ０）を受け取り、１以上のメッセージ配布情報を生成する。そして、メッセージ配布部４４は、生成された１以上のメッセージ配布情報を、送信部４６を介して、メッセージ受信装置００５及び００６に送信する。
【０１６３】
メッセージ受信装置００５及び００６のそれぞれにおいて、受信部４１により受信されたメッセージ配布情報は、メッセージ認証部４２に与えられる。
【０１６４】
メッセージ受信装置００５、００６のそれぞれにおいて、メッセージ認証部４１は、メッセージ識別情報Ｉ＿Ｍ０およびメッセージＭ０を復元する。
【０１６５】
そして、メッセージ認証部４１は、復元されたメッセージ（Ｉ＿Ｍ０｜｜Ｍ０）に対して、認証情報取得部２２からの識別情報Ｉ＿Ｍ０で示されるメッセージの認証鍵ＡＫ＿Ｍ０を用いて生成した認証符号が、同じく認証情報取得部２２からの認証符号ＭＡＣ（ＡＫ＿Ｍ０，“Ｉ＿Ｍ０｜｜Ｍ０”）と一致するか否かを検証する。そして、一致する場合、メッセージ認証部４１は、検証が成功したと判断し、復元されたメッセージＭ０が、メッセージ送信装置０００から送信された正しいメッセージであると認証する。
【０１６６】
（Ｂ−３）効果
第２の実施形態によれば、メッセージの送信対象となるメッセージ受信装置のグループにおいて、先行してメッセージを認証、取得したメッセージ受信装置が、メッセージ送信装置に代わって、他のメッセージ受信装置にメッセージを配布することを特徴とする。
【０１６７】
データサイズが大きい同一のメッセージを複数のメッセージ受信装置に配布したい場合には、マルチキャスト配送等を利用してメッセージを効率的に配布できることが好ましい。ここで、メッセージの送信対象となる複数のメッセージ受信装置のうち、任意数のメッセージ受信装置に関しては、まだメッセージが取得されていない状態を考える。
【０１６８】
このとき、メッセージ送信装置は、各メッセージ受信装置に対してメッセージを再送する必要があるが、マルチホップネットワークの場合では、メッセージ送信装置から各メッセージ受信装置へのメッセージ配送を、複数のメッセージ受信装置が中継する可能性があるため、中継装置における配送コストが大きくなるという問題がある。
【０１６９】
第２の実施形態では、メッセージをまだ取得していないメッセージ受信装置に対するメッセージの配送を、既にメッセージを取得したメッセージ受信装置がメッセージ送信装置に代わって実行してやることで、メッセージの配送効率を向上できる。また、各メッセージ受信装置は、配布されるメッセージの認証情報に関しては、メッセージ送信装置から安全に取得するため、第１の実施形態と同様に、悪意をもったメッセージ受信装置が不正メッセージを投入した場合でも、認証チェックにより排除することができる。
【０１７０】
（Ｃ）第３の実施形態
次に、本発明のメッセージ認証システム、通信装置及び通信プログラムの第３の実施形態を、図面を参照しながら説明する。
【０１７１】
第１及び第２の実施形態は、メッセージ送信装置が、メッセージ毎に共通のメッセージ認証鍵及び認証符号を各メッセージ受信装置に通知する場合を説明した。
【０１７２】
これに対して、第３の実施形態は、メッセージ送信装置が、メッセージ及びメッセージ受信装置毎に異なるメッセージ認証鍵及び認証符号を、各メッセージ受信装置に対して通知する実施形態である。
【０１７３】
（Ｃ−１）第３の実施形態の構成及び動作
第３の実施形態は、メッセージ送信装置の内部構成が第１及び第２の実施形態と異なる。具体的には、図１及び図７に示した第１及び第２の実施形態のメッセージ送信装置が備えるメッセージ認証鍵生成部１２の処理が異なり、それ以外の構成要素は第１及び第２の実施形態と同じである。
【０１７４】
そこで、第３の実施形態では、図１及び図７を用いて、メッセージ送信装置１及び３のメッセージ認証鍵生成部１２の処理を中心に説明する。
【０１７５】
第３の実施形態のメッセージ認証鍵生成部１２は、基本的には、第１及び第２の実施形態と同じである。
【０１７６】
第３の実施形態のメッセージ認証鍵生成部１２は、メッセージ生成部１１により生成されたメッセージ毎に異なるメッセージ認証鍵を生成するものである。さらに、第３の実施形態のメッセージ認証鍵生成部１２は、メッセージ送信対象のメッセージ受信装置２及び４毎に異なるメッセージ認証鍵を生成するようにしても良い。
【０１７７】
例えば、図３において、メッセージ送信装置１及び３がメッセージ受信装置００１に「メッセージＭ０」を送信する場合、第３の実施形態のメッセージ認証鍵生成部１２は、乱数生成器を用いて、メッセージ及びメッセージ受信装置００１毎に異なるメッセージ認証鍵ＡＫ＿ＭＯ＿００１を生成する。
【０１７８】
従って、メッセージ送信装置１及び３が、メッセージ受信装置００１〜００８に「メッセージＭ０」を送信する場合、第３の実施形態のメッセージ認証鍵生成部１２は、メッセージ及びメッセージ受信装置００１〜００８毎に異なるメッセージ認証鍵ＡＫ＿Ｍ０＿００１〜ＡＫ＿Ｍ０＿００８を生成する。
【０１７９】
認証符号生成部１３は、対応するメッセージについて、各メッセージ受信装置００１〜００８毎のメッセージ認証鍵ＡＫ＿Ｍ０＿００１〜ＡＫ＿Ｍ０＿００８を用いて認証符号を生成する。これにより、メッセージ及びメッセージ受信装置毎に異なる認証符号を生成することができる。なお、認証符号の生成方法は、第１及び第２の実施形態で説明した方法を適用することができる。
【０１８０】
例えば、認証符号生成部１３は、メッセージ受信装置００１に送信する「メッセージＭＯ」の認証符号として、認証符号生成関数への鍵の入力値に、メッセージ認証鍵ＡＫ＿Ｍ０＿００１を用いて、ＭＡＣ（ＡＫ＿Ｍ０＿００１，“Ｉ＿Ｍ０｜｜Ｍ０”）を生成する。
【０１８１】
同様に、認証符号生成部１３は、メッセージ受信装置００２〜００８に送信する「メッセージＭＯ」の認証符号として、認証符号ＭＡＣ（ＡＫ＿Ｍ０＿００２，“Ｉ＿Ｍ０｜｜Ｍ０”）〜ＭＡＣ（ＡＫ＿Ｍ０＿００８，“Ｉ＿Ｍ０｜｜Ｍ０”）を生成する。
【０１８２】
認証情報通知部１４及び３１は、各メッセージについて、各メッセージ受信装置２及び４毎に生成したメッセージ認証鍵及び認証符号を含む認証情報通知情報を、対応する各メッセージ受信装置に通知する。
【０１８３】
なお、メッセージ受信装置２及び４は、第１及び第２の実施形態で説明した図２及び図８に記載の内部構成と同一の構成要素を備えるものである。
【０１８４】
また、メッセージ受信装置２及び４における動作は、メッセージがメッセージ送信装置から正しく送信されたものであるか否かの認証に用いるメッセージ認証鍵及び認証符号が異なるだけであり、基本的動作は、第１及び第２の実施形態と同じである。
【０１８５】
（Ｃ−２）第３の実施形態の効果
以上のように、第３の実施形態によれば、メッセージ送信装置が、各メッセージについて、メッセージ受信装置毎に異なるメッセージ認証鍵及び認証符号を通知することができる。
【０１８６】
第１の実施形態では、悪意を持ったメッセージ受信装置が、メッセージ送信装置が通知した正しい認証情報（メッセージ認証鍵ＡＫ＿Ｍ０、および、認証符号ＭＡＣ（ＡＫ＿Ｍ０，“Ｉ＿Ｍ０｜｜Ｍ０”））を利用した認証チェックをすり抜ける「不正メッセージＭ１」を見つけ出せた場合に攻撃が成り立つと説明した。
【０１８７】
これに対して、第３の実施形態によれば、同一メッセージＭ０の認証するために利用するメッセージ認証鍵及び認証符号が、メッセージ受信装置毎に異なる。
【０１８８】
すなわち、例え攻撃者が認証チェックをすり抜ける「不正メッセージＭ１」を見つけ出せたとしても、メッセージ認証鍵及び認証符号が異なるため、当該「不正メッセージＭ１」は、他のメッセージ受信装置に対しては認証チェックが通らない。
【０１８９】
またさらに、メッセージ送信装置とメッセージ受信装置とが共有する固有鍵で暗号化して認証情報通知情報を通知する場合、悪意を持ったメッセージ受信装置は、他のメッセージ受信装置がメッセージを認証するのに利用するメッセージ認証情報でさえも特定できないため、メッセージ送信装置へのなりすまし攻撃をより困難にすることができる。
【０１９０】
（Ｄ）他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに以下に例示するような変形実施形態を挙げることができる。
【０１９１】
（Ｄ−１）本発明では、メッセージ認証鍵を利用して認証符号を生成する動作が度々登場するが、これは認証符号生成関数への鍵の入力値として上記メッセージ認証鍵をそのまま入力するとは限らない。例えば、前記メッセージ認証鍵を、規定の関数へ入力した出力値を認証符号生成関数への鍵の入力として利用しても良い。また、認証符号は、リプレイ攻撃を防ぐためにカウンタ情報、時刻情報、および通信装置の識別情報等の情報を含めて生成しても良い。
【０１９２】
（Ｄ−２）本発明では、１つのメッセージのみを認証する例を説明したが、これに限定するものではない。例えば、複数のメッセージまたはその認証情報を平行して配布することも可能である。この場合、メッセージとその認証情報との対応付けは、各メッセージまたは各認証情報にメッセージの識別情報を付加することによって識別可能である。
【０１９３】
（Ｄ−３）本発明では、メッセージ認証鍵や認証符号を通知してから、メッセージを配信する例を説明したが、これに限定されるものではない。例えば、メッセージを配信した後に、メッセージ認証鍵や認証符号を通知するようにしてもよい。
【符号の説明】
【０１９４】
１及び３…メッセージ送信装置、
１１…メッセージ生成部、１２…メッセージ認証鍵生成部、
１３…認証符号生成部、１４…認証情報通知部、１５…メッセージ配布部、
１６…送信部、３１…認証情報通知部、３２…受信部、
２及び４…メッセージ受信部、
２１及び４１…受信部、２２…認証情報取得部、
２３及び４２…メッセージ認証部、２４…ルーティング部、２５…送信部、
４３…メッセージ管理部、４４…メッセージ配布部、４５…認証情報要求部。
【図１】
0005768622.tif 000002
【図２】
0005768622.tif 000003
【図３】
0005768622.tif 000004
【図４】
0005768622.tif 000005
【図５】
0005768622.tif 000006
【図６】
0005768622.tif 000007
【図７】
0005768622.tif 000008
【図８】
0005768622.tif 000009
【図９】
0005768622.tif 000010
【図１０】
0005768622.tif 000011
【図１１】
0005768622.tif 000012
【図１２】
0005768622.tif 000013
【図１３】
0005768622.tif 000014