(57)【特許請求の範囲】
【請求項１】
メッセージを送信するメッセージ送信側の通信装置と、１又は複数の通信装置を中継して上記メッセージ送信側の通信装置から受信したメッセージを認証する１又は複数のメッセージ受信側の通信装置とを備える通信システムにおいて、
上記メッセージ送信側の通信装置は、
上記メッセージ受信側の通信装置が未取得のメッセージ認証鍵情報を用いて、送信用のメッセージに対する認証符号付きメッセージを生成する認証符号付きメッセージ生成手段と、
上記認証符号付きメッセージ生成手段が生成した認証符号付メッセージを、それぞれの上記メッセージ受信側の通信装置に送信するメッセージ送信手段と、
上記メッセージ送信手段によりそれぞれの上記メッセージ受信側の通信装置に送信されたデータに対する応答データとして、上記送信用のメッセージと当該送信用のメッセージに対する認証符号とを連結した連結データを、当該メッセージ送信側の通信装置とそれぞれの上記メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化されたデータを受信した場合、当該メッセージ受信側の通信装置に、上記メッセージ送信手段が送信したデータが到達したと確認する受信確認手段と、
上記受信確認手段で当該データの到達が確認できた上記メッセージ受信側の通信装置のそれぞれに対して、上記メッセージ認証鍵情報を通知するための情報であって、上記メッセージ受信側の通信装置に当該メッセージ送信側の通信装置からの情報であることを一意に特定させることができる認証鍵通知情報を、生成する認証鍵通知情報生成手段と、
上記認証鍵通知情報生成手段が生成した認証鍵通知情報を、それぞれの上記メッセージ受信側の通信装置に送信する認証鍵通知情報送信手段とを有し、
それぞれの上記メッセージ受信側の通信装置は、
認証符号付きメッセージを受信して保持するメッセージ保持手段と、
受信した認証符号付メッセージの認証符号とメッセージを連結した連結データを、上記メッセージ送信側の通信装置と、当該メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化した応答データを生成し、当該応答データを上記メッセージ送信側の通信装置に送信することにより、認証符号付きメッセージの受信をしたことを、上記メッセージ送信側の通信装置に対して証明する受信証明手段と、
上記受信証明手段による受信証明処理の後に受信した認証鍵通知情報であって、上記メッセージ送信側の通信装置からの情報であることを一意に特定できたものから、メッセージ認証鍵情報を抽出して取得する認証鍵取得手段と、
上記認証鍵取得手段が取得したメッセージ認証鍵情報を用いて、上記メッセージ保持手段で保持している認証符号付きメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証する認証符号付きメッセージ認証手段と、
上記認証符号付きメッセージ認証手段が認証した認証符号付きメッセージを用いて、受信したメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証するメッセージ認証手段とを有する
ことを特徴とする通信システム。
【請求項２】
上記メッセージ送信手段は、送信用のメッセージを、第１のメッセージとして上記メッセージ受信側の通信装置に送信し、さらに、上記第１のメッセージと共に、上記認証符号付きメッセージ生成手段が生成した認証符号付メッセージを第２のメッセージとして上記メッセージ受信側の通信装置に送信し、
上記メッセージ認証手段は、受信した上記第１のメッセージに対する認証符号を生成し、生成した認証符号が、受信した上記第２のメッセージと一致することで、上記第１のメッセージを認証する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
それぞれの上記メッセージ受信側の通信装置は、受信した認証符号付きメッセージを、他の上記メッセージ受信側の通信装置へ与えるメッセージ転送手段をさらに有することを特徴とする請求項１に記載の通信システム。
【請求項４】
それぞれの上記メッセージ受信側の通信装置は、受信した認証符号付きメッセージ及び上記第１のメッセージを、他の上記メッセージ受信側の通信装置へ与えるメッセージ転送手段をさらに有することを特徴とする請求項２に記載の通信システム。
【請求項５】
上記認証鍵通知情報生成手段は、当該メッセージ送信側の通信装置と、それぞれの上記メッセージ受信側の通信装置とが、対で共有する鍵情報を利用して上記認証鍵通知情報を生成し、
上記認証鍵取得手段は、受信した認証鍵通知情報が、上記メッセージ送信側の通信装置と当該メッセージ受信側の通信装置とが一対で共有する鍵情報を利用して認証される場合に、当該認証鍵通知情報を、上記メッセージ送信側の通信装置からの情報であることを一意に特定することを特徴とする請求項１〜４のいずれかに記載の通信システム。
【請求項６】
上記メッセージ認証手段は、上記認証鍵取得手段が取得したメッセージ認証鍵情報を入力として、一方向性関数を施した出力値が、予め保持する値と一致する場合に限り、そのメッセージ認証鍵情報を認証することを特徴とする請求項１〜５のいずれかに記載の通信システム。
【請求項７】
当該通信システムは、上記メッセージ送信側の通信装置が送信する送信用のメッセージを生成するメッセージ生成装置をさらに備え、
上記メッセージ生成装置は、
送信用のメッセージを生成するメッセージ生成手段と、
上記メッセージ生成手段が生成した送信用のメッセージを、上記メッセージ送信側の通信装置に与える生成メッセージ送信手段とを備え、
上記メッセージ送信側の通信装置は、
上記メッセージ生成装置から送信用のメッセージを受信する生成メッセージ受信手段をさらに備え、
上記認証符号付きメッセージ生成手段は、上記生成メッセージ受信手段が受信した送信用のメッセージに対する認証符号付きメッセージを生成する
ことを特徴とする請求項１〜６のいずれかに記載の通信システム。
【請求項８】
上記メッセージ生成装置は、
メッセージの生成元証明鍵情報を管理する生成元鍵管理手段をさらに備え、
上記メッセージ生成手段は、生成した送信用のメッセージに対して、さらに、上記生成元鍵管理手段が管理する生成元証明鍵情報を利用して生成した認証符号を付加したものを、送信用のメッセージとして出力し、
それぞれの上記メッセージ受信側の通信装置は、
メッセージの生成元証明鍵情報を管理する受信側鍵管理手段をさらに備え、
上記メッセージ認証手段は、認証に成功したメッセージに対して、さらに、上記受信側鍵管理手段が管理する生成元証明鍵情報を利用して、当該メッセージが上記メッセージ生成装置からのデータであるかを認証する
ことを特徴とする請求項７に記載の通信システム。
【請求項９】
上記メッセージ認証手段は、上記認証鍵取得手段が取得したメッセージ認証鍵情報を入力として、一方向性関数を施した出力値が、上記受信側鍵管理手段において管理する生成元証明鍵情報と一致する場合に、そのメッセージ認証鍵情報を用いて認証に成功したメッセージを、上記メッセージ生成装置からのデータであると認証することを特徴とする請求項８に記載の通信システム。
【請求項１０】
受信したメッセージを認証する１又は複数のメッセージ受信側の通信装置に対して、１又は複数の通信装置を中継してメッセージを送信するメッセージ送信側の通信装置において、
上記メッセージ受信側の通信装置が未取得のメッセージ認証鍵情報を用いて、送信用のメッセージに対する認証符号付きメッセージを生成する認証符号付きメッセージ生成手段と、
上記認証符号付きメッセージ生成手段が生成した認証符号付メッセージを、それぞれの上記メッセージ受信側の通信装置に送信するメッセージ送信手段と、
上記メッセージ送信手段によりそれぞれの上記メッセージ受信側の通信装置に送信されたデータに対する応答データとして、上記送信用のメッセージと当該送信用のメッセージに対する認証符号とを連結した連結データを、当該メッセージ送信側の通信装置とそれぞれの上記メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化されたデータを受信した場合、当該メッセージ受信側の通信装置に、上記メッセージ送信手段が送信したデータが到達したと確認する受信確認手段と、
上記受信確認手段で当該データの到達が確認できた上記メッセージ受信側の通信装置のそれぞれに対して、上記メッセージ認証鍵情報を通知するための情報であって、上記メッセージ受信側の通信装置に当該メッセージ送信側の通信装置からの情報であることを一意に特定させることができる認証鍵通知情報を、生成する認証鍵通知情報生成手段と、
上記認証鍵通知情報生成手段が生成した認証鍵通知情報を、それぞれの上記メッセージ受信側の通信装置に送信する認証鍵通知情報送信手段と
を有することを特徴とする通信装置。
【請求項１１】
上記認証鍵通知情報生成手段は、当該メッセージ送信側の通信装置と、それぞれの上記メッセージ受信側の通信装置とが、対で共有する鍵情報を利用して上記認証鍵通知情報を生成することを特徴とする請求項１０に記載の通信装置。
【請求項１２】
メッセージ送信側の通信装置から送信されたメッセージを、１又は複数の通信装置を中継して受信し、認証するメッセージ受信側の通信装置において、
認証符号付きメッセージを受信して保持するメッセージ保持手段と、
受信した認証符号付メッセージの認証符号とメッセージを連結した連結データを、上記メッセージ送信側の通信装置と、当該メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化した応答データを生成し、当該応答データを上記メッセージ送信側の通信装置に送信することにより、認証符号付きメッセージを受信したことを、上記メッセージ送信側の通信装置に対して証明する受信証明手段と、
上記受信証明手段による受信証明処理の後に受信した認証鍵通知情報であって、上記メッセージ送信側の通信装置からの情報であることを一意に特定できたものから、メッセージ認証鍵情報を抽出して取得する認証鍵取得手段と、
上記認証鍵取得手段が取得したメッセージ認証鍵情報を用いて、上記メッセージ保持手段で保持している認証符号付きメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証する認証符号付きメッセージ認証手段と、
上記認証符号付きメッセージ認証手段が認証した認証符号付きメッセージを用いて、受信したメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証するメッセージ認証手段と
を有することを特徴とする通信装置。
【請求項１３】
上記認証鍵取得手段は、受信した認証鍵通知情報が、上記メッセージ送信側の通信装置と当該メッセージ受信側の通信装置とが一対で共有する鍵情報を利用して認証される場合に、当該認証鍵通知情報を、上記メッセージ送信側の通信装置からの情報であることを一意に特定することを特徴とする請求項１２に記載の通信装置。
【請求項１４】
受信したメッセージを認証する１又は複数のメッセージ受信側の通信装置に対して、１又は複数の通信装置を中継してメッセージを送信するメッセージ送信側の通信装置に搭載されたコンピュータを、
上記メッセージ受信側の通信装置が未取得のメッセージ認証鍵情報を用いて、送信用のメッセージに対する認証符号付きメッセージを生成する認証符号付きメッセージ生成手段と、
上記認証符号付きメッセージ生成手段が生成した認証符号付メッセージを、それぞれの上記メッセージ受信側の通信装置に送信するメッセージ送信手段と、
上記メッセージ送信手段により送信されたそれぞれの上記メッセージ受信側の通信装置に送信されたデータに対する応答データとして、上記送信用のメッセージと当該送信用のメッセージに対する認証符号とを連結した連結データを、当該メッセージ送信側の通信装置とそれぞれの上記メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化されたデータを受信した場合、当該メッセージ受信側の通信装置に、上記メッセージ送信手段が送信したデータが到達したと確認する受信確認手段と、
上記受信確認手段で当該データの到達が確認できた上記メッセージ受信側の通信装置のそれぞれに対して、上記メッセージ認証鍵情報を通知するための情報であって、上記メッセージ受信側の通信装置に当該メッセージ送信側の通信装置からの情報であることを一意に特定させることができる認証鍵通知情報を、生成する認証鍵通知情報生成手段と、
上記認証鍵通知情報生成手段が生成した認証鍵通知情報を、それぞれの上記メッセージ受信側の通信装置に送信する認証鍵通知情報送信手段と
して機能させることを特徴とする通信プログラム。
【請求項１５】
メッセージ送信側の通信装置から送信されたメッセージを、１又は複数の通信装置を中継して受信し、認証するメッセージ受信側の通信装置に搭載されたコンピュータを、
認証符号付きメッセージを受信して保持するメッセージ保持手段と、
受信した認証符号付メッセージの認証符号とメッセージを連結した連結データを、上記メッセージ送信側の通信装置と、当該メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化した応答データを生成し、当該応答データを上記メッセージ送信側の通信装置に送信することにより、認証符号付きメッセージの受信をしたことを、上記メッセージ送信側の通信装置に対して証明する受信証明手段と、
上記受信証明手段による受信証明処理の後に受信した認証鍵通知情報であって、上記メッセージ送信側の通信装置からの情報であることを一意に特定できたものから、メッセージ認証鍵情報を抽出して取得する認証鍵取得手段と、
上記認証鍵取得手段が取得したメッセージ認証鍵情報を用いて、上記メッセージ保持手段で保持している認証符号付きメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証する認証符号付きメッセージ認証手段と、
上記認証符号付きメッセージ認証手段が認証した認証符号付きメッセージを用いて、受信したメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証するメッセージ認証手段と
して機能させることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信システム、並びに、通信装置及びプログラムに閲し、例えば、システムを管理・制御するサーバと、多数のセンサノードを有するセンサネットワークシステムに適用し得る。
【背景技術】
【０００２】
センサネットワークシステムにおけるノード（通信装置）は、低コスト化を重視して開発されるために、以下のような制約事項を前提とされることが多い。
【０００３】
第１の制約事項は、高い処理能力を有するＣＰＵを搭載するとは限らないことである。そして、第２の制約事項は、耐タンパ性メモリを搭載するとは限らないことである。
【０００４】
また、センサネットワークシステムでは、データのやりとりを複数のノードが中継するマルチホップ通信形態をとるのが一般的である。
【０００５】
ここで、サーバが複数のノードに、ソフトウェア更新データを送信する場合を想定する。この場合、サーバは、更新対象となるノードグループに対して、マルチキャストで更新データを送信し、当該更新データがサーバからの正しいデータであることをノードに認証させるものとする。このようなマルチキャストデータの認証を実現する技術として、従来、公開鍵暗号を用いたデジタル署名技術がある。
【０００６】
しかし、上述の第１の制約事項の状況においては、公開鍵暗号系の適用は処理負荷が大きくなる可能性があり、処理負荷の小さい共通鍵暗号系の適用がより好ましい。例えば、サーバとノードグループにグループ共通鍵を持たせてサーバからのデータを認証させる手法がそれに該当するが、上述の第２の制約事項の状況の下では、ノードが持つグループ共通鍵が漏洩しないことやノードが不正な動作を行うノードに変更されていないことを保証しにくい。そのため、各ノードが認証処理に成功した更新データでさえも、攻撃者（悪意者）が投入した攻撃用のソフトウェアかもしれないことや、マルチホップ通信の中継途中で不正ルータノードにより改竄されているかもしれないことを考慮する必要がある。
【０００７】
前述の状況下でノードがサーバからのソフトウェア更新データを認証するにあたり、攻撃者のサーバへのなりすまし攻撃に耐性を持たせる従来技術として、非特許文献１、及び特許文献１〜３の記載技術がある。
【０００８】
非特許文献１では、サーバとノードとが時刻同期し、サーバは、メッセージの認証符号を生成するのに利用するメッセージ認証鍵を時間区間ごとに変更することについて記載されている。非特許文献１の記載技術では、ノードは、各メッセージ認証鍵を、各鍵が割り当てられた各時間区間においてのみ有効であるとみなされる。そして、サーバは、メッセージ送信時には、その時間区間で有効とみなされるメッセージ認証鍵をノードに対して秘密にしたまま認証符号を生成し、生成した認証符号をメッセージに付加し送信する。そして、当該メッセージ認証鍵が有効とみなされる時間区間が終了した後に、前記メッセージ認証鍵をノードに公開する。ノードは、公開されたメッセージ認証鍵が、サーバが公開した鍵であることを認証し、さらに、当該認証に成功したメッセージ認証鍵を利用して、当該メッセージ認証鍵が有効とみなされる時間区間に受信したメッセージの認証符号を検証することで、攻撃者のサーバへのなりすまし攻撃に耐性を持たせることができる。
【０００９】
また、非特許文献１では、時刻同期の代わりに、特許文献１の記載技術を用いて、サーバがノードに対して送信確認（認証回数同期）を行うことで、攻撃者のサーバヘのなりすまし攻撃に耐性を持たせる手法が提案されている。この場合、サーバは、ノードグループに認証させたいメッセージがグループ内のすべてのノードに確かに到達したか否かを確認した後に、メッセージ認証鍵を公開する。サーバがメッセージ認証鍵を公開するということは、メッセージの送信対象となるノードのすべてに正しいメッセージが到達していることを意味する。したがって、もし攻撃者が、メッセージ認証鍵が公開された後に、サーバへのなりすましメッセージを投入するとしても、各ノードにおいて受信順序が後のメッセージであるとして排除することができる。
【００１０】
さらに、特許文献２、３では、ソフトウェア更新データのようなデータサイズが大きいメッセージを認証させたい時には、非特許文献１の手法では、メッセージ認証鍵が公開されるまでメッセージ認証処理を開始することができず、保持のためのメモリ負担が大きくなるという問題を顧みて、メッセージよりも先に認証符号のみを送信し、後にメッセージを送信する手法が記載されている。
【００１１】
上述の従来技術でポイントなっている送信確認（認証回数同期）は、メッセージ認証鍵を先行して知ったノードが、後に知ることになるノードに対して、サーバへのなりすましメッセージを投入できるという課題を解決するためになされるものである。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００６−１５７８５６号公報
【特許文献２】特開２００６−３４５４０８号公報
【特許文献３】特開２００８−１４１３６０号公報
【非特許文献】
【００１３】
【非特許文献１】Ａｄｒｉａｎ  Ｐｅｒｒｉｇ， Ｊ．Ｄ．Ｔｙｇｅｒ  著，溝口文雄  監訳、「ワイヤード／ワイヤレスネットワークにおけるブロードキャスト通信のセキュリティ」、共立出版、２００４年１０月出版、ｐｐ．１７２−１７７
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら、ソフトウェア更新データ送信時の様々なシナリオを考慮した場合には、従来技術（特許文献１〜３、非特許文献１の記載技術等）における上述の送信確認（認証回数同期）を崩したい状況も存在する。
【００１５】
例えば、センサネットワークの省電力制御等で、通信不能状態にあるノードが存在する場合に、通信可能状態にあるノードに先に更新データを認証させたい場合や、マルチホップ通信のホップごとに段階的に更新データを送信／認証させる場合など、更新データの送信を、既に更新データの認証に成功した隣接ノードから実施させたい場合である。
【００１６】
しかし、このようにノードグループにおいて認証の同期を崩すということは、メッセージ認証鍵を先行して教えるノードが存在することであり、メッセージ認証鍵を先行して知ったノードが、後に知ることになるノードに対して、サーバヘのなりすましメッセージを投入できるという課題が、従来技術（特許文献１〜３、非特許文献１の記載技術等）にはあった。
【００１７】
そのため、メッセージ配信の順序によって、セキュリティ性を低下させない通信システム、並びに、通信装置及びプログラムが望まれている。
【課題を解決するための手段】
【００１８】
第１の本発明は、メッセージを送信するメッセージ送信側の通信装置と、１又は複数の通信装置を中継して上記メッセージ送信側の通信装置から受信したメッセージを認証する１又は複数のメッセージ受信側の通信装置とを備える通信システムにおいて、（１）上記メッセージ送信側の通信装置は、（１−１）上記メッセージ受信側の通信装置が未取得のメッセージ認証鍵情報を用いて、送信用のメッセージに対する認証符号付きメッセージを生成する認証符号付きメッセージ生成手段と、（１−２）上記認証符号付きメッセージ生成手段が生成した認証符号付メッセージを、それぞれの上記メッセージ受信側の通信装置に送信するメッセージ送信手段と、（１−３）上記メッセージ送信手段により送信されたそれぞれの上記メッセージ受信側の通信装置に送信されたデータに対する応答データとして、上記送信用のメッセージと当該送信用のメッセージに対する認証符号とを連結した連結データを、当該メッセージ送信側の通信装置とそれぞれの上記メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化されたデータを受信した場合、当該メッセージ受信側の通信装置に、上記メッセージ送信手段が送信したデータが到達したと確認する受信確認手段と、（１−４）上記受信確認手段で当該データの到達が確認できた上記メッセージ受信側の通信装置のそれぞれに対して、上記メッセージ認証鍵情報を通知するための情報であって、上記メッセージ受信側の通信装置に当該メッセージ送信側の通信装置からの情報であることを一意に特定させることができる認証鍵通知情報を、生成する認証鍵通知情報生成手段と、（１−５）上記認証鍵通知情報生成手段が生成した認証鍵通知情報を、それぞれの上記メッセージ受信側の通信装置に送信する認証鍵通知情報送信手段とを有し、（２）それぞれの上記メッセージ受信側の通信装置は、（２−１）認証符号付きメッセージを受信して保持するメッセージ保持手段と、（２−２）受信した認証符号付メッセージの認証符号とメッセージを連結した連結データを、上記メッセージ送信側の通信装置と、当該メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化した応答データを生成し、当該応答データを上記メッセージ送信側の通信装置に送信することにより、認証符号付きメッセージの受信をしたことを、上記メッセージ送信側の通信装置に対して証明する受信証明手段と、（２−３）上記受信証明手段による受信証明処理の後に受信した認証鍵通知情報であって、上記メッセージ送信側の通信装置からの情報であることを一意に特定できたものから、メッセージ認証鍵情報を抽出して取得する認証鍵取得手段と、（２−４）上記認証鍵取得手段が取得したメッセージ認証鍵情報を用いて、上記メッセージ保持手段で保持している認証符号付きメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証する認証符号付きメッセージ認証手段と、（２−５）上記認証符号付きメッセージ認証手段が認証した認証符号付きメッセージを用いて、受信したメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証するメッセージ認証手段とを有することを特徴とする。
【００１９】
第２の本発明は、受信したメッセージを認証する１又は複数のメッセージ受信側の通信装置に対して、１又は複数の通信装置を中継してメッセージを送信するメッセージ送信側の通信装置において、（１）上記メッセージ受信側の通信装置が未取得のメッセージ認証鍵情報を用いて、送信用のメッセージに対する認証符号付きメッセージを生成する認証符号付きメッセージ生成手段と、（２）上記認証符号付きメッセージ生成手段が生成した認証符号付メッセージを、それぞれの上記メッセージ受信側の通信装置に送信するメッセージ送信手段と、（３）上記メッセージ送信手段により送信されたそれぞれの上記メッセージ受信側の通信装置に送信されたデータに対する応答データとして、上記送信用のメッセージと当該送信用のメッセージに対する認証符号とを連結した連結データを、当該メッセージ送信側の通信装置とそれぞれの上記メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化されたデータを受信した場合、当該メッセージ受信側の通信装置に、上記メッセージ送信手段が送信したデータが到達したと確認する受信確認手段と、（４）上記受信確認手段で当該データの到達が確認できた上記メッセージ受信側の通信装置のそれぞれに対して、上記メッセージ認証鍵情報を通知するための情報であって、上記メッセージ受信側の通信装置に当該メッセージ送信側の通信装置からの情報であることを一意に特定させることができる認証鍵通知情報を、生成する認証鍵通知情報生成手段と、（５）上記認証鍵通知情報生成手段が生成した認証鍵通知情報を、それぞれの上記メッセージ受信側の通信装置に送信する認証鍵通知情報送信手段とを有することを特徴とする。
【００２０】
第３の本発明は、メッセージ送信側の通信装置から送信されたメッセージを、１又は複数の通信装置を中継して受信し、認証するメッセージ受信側の通信装置において、（１）認証符号付きメッセージを受信して保持するメッセージ保持手段と、（２）受信した認証符号付メッセージの認証符号とメッセージを連結した連結データを、上記メッセージ送信側の通信装置と、当該メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化した応答データを生成し、当該応答データを上記メッセージ送信側の通信装置に送信することにより、認証符号付きメッセージを受信したことを、上記メッセージ送信側の通信装置に対して証明する受信証明手段と、（３）上記受信証明手段による受信証明処理の後に受信した認証鍵通知情報であって、上記メッセージ送信側の通信装置からの情報であることを一意に特定できたものから、メッセージ認証鍵情報を抽出して取得する認証鍵取得手段と、（４）上記認証鍵取得手段が取得したメッセージ認証鍵情報を用いて、上記メッセージ保持手段で保持している認証符号付きメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証する認証符号付きメッセージ認証手段と、（５）上記認証符号付きメッセージ認証手段が認証した認証符号付きメッセージを用いて、受信したメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証するメッセージ認証手段とを有することを特徴とする。
【００２１】
第４の本発明の通信プログラムは、受信したメッセージを認証する１又は複数のメッセージ受信側の通信装置に対して、１又は複数の通信装置を中継してメッセージを送信するメッセージ送信側の通信装置に搭載されたコンピュータを、（１）上記メッセージ受信側の通信装置が未取得のメッセージ認証鍵情報を用いて、送信用のメッセージに対する認証符号付きメッセージを生成する認証符号付きメッセージ生成手段と、（２）上記認証符号付きメッセージ生成手段が生成した認証符号付メッセージを、それぞれの上記メッセージ受信側の通信装置に送信するメッセージ送信手段と、（３）上記メッセージ送信手段により送信されたそれぞれの上記メッセージ受信側の通信装置に送信されたデータに対する応答データとして、上記送信用のメッセージと当該送信用のメッセージに対する認証符号とを連結した連結データを、当該メッセージ送信側の通信装置とそれぞれの上記メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化されたデータを受信した場合、当該メッセージ受信側の通信装置に、上記メッセージ送信手段が送信したデータが到達したと確認する受信確認手段と、（４）上記受信確認手段で当該データの到達が確認できた上記メッセージ受信側の通信装置のそれぞれに対して、上記メッセージ認証鍵情報を通知するための情報であって、上記メッセージ受信側の通信装置に当該メッセージ送信側の通信装置からの情報であることを一意に特定させることができる認証鍵通知情報を、生成する認証鍵通知情報生成手段と、（５）上記認証鍵通知情報生成手段が生成した認証鍵通知情報を、それぞれの上記メッセージ受信側の通信装置に送信する認証鍵通知情報送信手段として機能させることを特徴とする。
【００２２】
第５の本発明の通信プログラムは、メッセージ送信側の通信装置から送信されたメッセージを、１又は複数の通信装置を中継して受信し、認証するメッセージ受信側の通信装置に搭載されたコンピュータを、（１）認証符号付きメッセージを受信して保持するメッセージ保持手段と、（２）受信した認証符号付メッセージの認証符号とメッセージを連結した連結データを、上記メッセージ送信側の通信装置と、当該メッセージ受信側の通信装置とが、対で共有する鍵情報を用いて符号化した応答データを生成し、当該応答データを上記メッセージ送信側の通信装置に送信することにより、認証符号付きメッセージの受信をしたことを、上記メッセージ送信側の通信装置に対して証明する受信証明手段と、（３）上記受信証明手段による受信証明処理の後に受信した認証鍵通知情報であって、上記メッセージ送信側の通信装置からの情報であることを一意に特定できたものから、メッセージ認証鍵情報を抽出して取得する認証鍵取得手段と、（４）上記認証鍵取得手段が取得したメッセージ認証鍵情報を用いて、上記メッセージ保持手段で保持している認証符号付きメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証する認証符号付きメッセージ認証手段と、（５）上記認証符号付きメッセージ認証手段が認証した認証符号付きメッセージを用いて、受信したメッセージが、上記メッセージ送信側の通信装置からのデータであることを認証するメッセージ認証手段として機能させることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、メッセージ配信の順序によって、セキュリティ性を低下させない通信システムを提供することができる。
【図面の簡単な説明】
【００２４】
【図１】第１の実施形態に係るメッセージ送信装置及びメッセージ受信装置の機能的構成について示したブロック図である。
【図２】第１の実施形態に係る通信システムの全体構成について示したブロック図である。
【図３】第１の実施形態に係るメッセージ送信装置が保持する、グループ管理テーブルの内容例について示した説明図である。
【図４】第１の実施形態に係る通信システムの第１のフェーズの動作について示した説明図である。
【図５】第１の実施形態に係る通信システムの第２のフェーズの動作について示した説明図である。
【図６】第１の実施形態に係る通信システムの第３のフェーズの動作について示した説明図である。
【図７】第１の実施形態に係る通信システムにおいて一部のメッセージ受信装置を悪意者が使用した場合の動作について示した説明図（１）である。
【図８】第１の実施形態に係る通信システムにおいて一部のメッセージ受信装置を悪意者が使用した場合の動作について示した説明図（２）である。
【図９】第２の実施形態に係る通信システムの全体構成について示したブロック図である。
【図１０】第２の実施形態に係るメッセージ送信装置及びメッセージ受信装置の機能的構成について示したブロック図である。
【図１１】第２の実施形態に係る通信システムの第１のフェーズの動作について示した説明図である。
【図１２】第２の実施形態に係る通信システムの第２のフェーズの動作について示した説明図である。
【図１３】第２の実施形態に係る通信システムの第３のフェーズの動作について示した説明図である。
【図１４】第２の実施形態に係る通信システムの第４のフェーズの動作について示した説明図である。
【図１５】第３の実施形態に係る通信システムの全体構成について示したブロック図である。
【図１６】第３の実施形態に係るメッセージ生成装置の機能的構成について示したブロック図である。
【図１７】第３の実施形態に係るメッセージ送信装置及びメッセージ受信装置の機能的構成について示したブロック図である。
【図１８】第３の実施形態に係る通信システムの動作について示した説明図である。
【発明を実施するための形態】
【００２５】
（Ａ）第１の実施形態
以下、本発明による通信システム、並びに、通信装置及びプログラムの第１の実施形態を、図面を参照しながら詳述する。なお、第１の実施形態のメッセージ送信側の通信装置、及び、メッセージ受信側の通信装置は、メッセージ送信装置及びメッセージ受信装置である。
【００２６】
（Ａ−１）第１の実施形態の構成
図２は、この実施形態の通信システム１の全体構成を示すブロック図である。
【００２７】
通信システム１には、メッセージ送信装置１０、複数のメッセージ受信装置２０、及び複数のメッセージ受信装置３０が配置されている。
【００２８】
通信システム１では、メッセージ受信装置２０（ノード）がメッセージ送信装置１０（サーバ）よりメッセージ認証鍵を通知された場合に、当該メッセージ認証鍵が、メッセージ送信装置１０が通知した正しい情報であることを一意に特定できる場合に限り、メッセージ受信装置２０が、前記通知されたメッセージ認証鍵を取得する。なお、メッセージ送信装置１０が送信するメッセージの内容や形式は限定されないものであり、テキストデータ（文字データ）であっても良いし、バイナリデータ（例えば、実行プログラムデータ、プログラム更新用パッチデータ、画像データ等）であっても良い。
【００２９】
また、通信システム１では、メッセージ送信装置１０が、メッセージの到達を確認できたメッセージ受信装置２０に対して、自身からの通知であることを一意に特定できる形でメッセージ認証鍵を通知する。なお、通信システム１において配置されるメッセージ受信装置の数は限定されないものである。
【００３０】
通信システム１は、例えば、センサネットワークシステムに適用することができる。その場合、メッセージ送信装置１０が、例えば、センサネットワークシステムにおいて、各センサノードにメッセージを送信するシステムを管理・制御するサーバに該当する。また、メッセージ受信装置２０は、例えば、センサネットワークにおいて、サーバからメッセージを受信して認証するセンサノードに該当する。
【００３１】
通信システム１では、図２に示すように、メッセージ送信装置１０の周辺に、８台のメッセージ受信装置２０−００１〜２０−００８、及び８台のメッセージ受信装置３０−１〜３０−８が配置されているものとして説明する。
【００３２】
通信システム１において、メッセージ受信装置２０−００１〜２０−００８は、同じネットワークノードのグループ（以下「グループＧ１０１」という）に所属しているものとする。メッセージ送信装置１０では、このグループＧ１０１に所属しているメッセージ受信装置２０−００１〜２０−００８が、メッセージの送信対象となっているものとする。
【００３３】
そして、メッセージ受信装置３０−１〜３０−８は、グループＧ１０１には所属していないものとする。すなわち、メッセージ受信装置３０−１〜３０−８は、グループＧ１０１には所属していないため、メッセージ送信装置１０では、メッセージ受信装置３０−１〜３０−８はメッセージの送信対象となっていない。
【００３４】
なお、メッセージ受信装置２０とメッセージ受信装置３０とは、同様の構成としても良いし、異なる構成としても良い。
【００３５】
また、メッセージ送信装置１０は、直接無線通信可能なメッセージ受信装置２０とは直接アクセスしても良いし、直接無線通信不可能なメッセージ受信装置２０については、直接無線通信可能な他のメッセージ受信装置２０を経由したマルチホップ無線通信によりアクセスしても良い。また、メッセージ送信装置１０が、各メッセージ受信装置２０と通信する際に用いるルートは限定されないものであり、例えば、公知のルーティングプロトコル等を用いることができる。また、通信システム１において、メッセージ送信装置１０と各メッセージ受信装置２０を流れるパケットについては、同じグループＧ１０１に所属するノードだけを中継するように、ルーティングするようにしても良い。
【００３６】
図１は、メッセージ送信装置１０及びメッセージ受信装置２０の機能的構成について示したブロック図である。
【００３７】
図１（ａ）は、メッセージ送信装置１０の機能的構成を示すブロック図である。
【００３８】
メッセージ送信装置１０は、認証符号付きメッセージ生成部１１、受信確認部１２、認証鍵通知情報生成部１３、送信部１４及び受信部１５を有している。
【００３９】
メッセージ送信装置１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、ハードディスクなどのプログラムの実行構成、及び、他の通信装置と通信をするためのインターフェースを有する装置（１台に限定されず、複数台を分散処理し得るようにしたものであっても良い。）に、実施形態の通信プログラム（メッセージ送信側の通信装置用の通信プログラム）等をインストールすることにより構築しても良く、その場合でも機能的には上述の図１のように示すことができる。
【００４０】
認証符号付きメッセージ生成部１１は、メッセージ受信装置２０に認証させたいメッセージに対する認証符号を生成し、認証符号付きメッセージを生成するものである。認証符号付きメッセージ生成部１１は、まず、メッセージに対する認証符号を生成するのに利用するメッセージ認証鍵を生成する。ここで、メッセージ認証鍵の生成方法は特に限定しないが、例えば、擬似乱数生成器を利用しても良い。
【００４１】
認証符号付きメッセージ生成部１１は、生成したメッセージ認証鍵を利用して、メッセージ受信装置２０に認証させたいメッセージに対する認証符号を生成する。ここで、メッセージ認証符号の生成方法については特に限定しないが、例えば、鍵付きハッシュ関数や、その他ＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）関数を利用しても良い。また、認証符号付きメッセージ生成部１１で生成する認証符号付きメッセージは暗号化されていても良い。認証符号付きメッセージ生成部１１は、生成した認証符号付きメッセージを受信確認部１２及び送信部１４へ与え、生成したメッセージ認証鍵を認証鍵通知情報生成部１３へ与える。
【００４２】
また、認証符号付きメッセージ生成部１１は、メッセージ受信装置２０に認証させたいメッセージ（第１のメッセージ）に対する認証符号付きメッセージを生成する代わりに、前記第１のメッセージの送信予告情報（第２のメッセージ）をメッセージとみなした認証符号付きメッセージを生成しても良い。
【００４３】
第２のメッセージとは、前記第１のメッセージを認証するために利用される情報である。例えば、第２のメッセージは、メッセージ認証鍵を利用して生成した第１のメッセージに対する認証符号を含んでも良いし、認証符号付きメッセージ生成部１１が、メッセージ認証鍵とは別途で鍵を生成し、前記生成した鍵を利用して第１のメッセージに対して生成した認証符号、及び、前記生成した鍵の二つを含んでも良いし、メッセージ送信装置１０が別途メッセージ受信装置２０と共有する鍵を利用して第１のメッセージに対して生成した認証符号を含んでも良い。このように、メッセージの代わりに当該メッセージの送信予告情報を認証の対象とする構成にすることにより、本発明が提供するメッセージ認証処理と、メッセージの送信処理とを切り離すことができる。この場合、認証符号付きメッセージ生成部１１は、さらに、第１のメッセージを送信部１４へ与える。
【００４４】
受信確認部１２は、送信された認証符号付きメッセージが、対象となるメッセージ受信装置２０へ偽りなく届いたかどうかを検証するものである。受信確認部１２は、認証符号付きメッセージ生成部１１より認証符号付きメッセージを与えられ、受信部より受信証明情報を与えられ、前記認証符号付きメッセージが対象となるメッセージ受信装置２０へ偽りなく届いたかどうかを確認する。偽りなく届いたかどうかを確認する方法としては、例えば、受信確認部１２がメッセージ受信装置２０の各々と１対の鍵を共有しており、前記受信部より与えられた受信証明情報が、前記共有鍵と前記認証符号付きメッセージとを利用して生成されていることを検証する方法があるが、これに限定するものではない。受信確認部１２は、認証符号付きメッセージが、対象となるメッセージ受信装置２０へ偽りなく届いたことを確認できたことを受けて、前記メッセージ受信装置２０の識別情報を認証鍵通知情報生成部１３へ与える。
【００４５】
認証鍵通知情報生成部１３は、メッセージの認証符号を生成するのに利用したメッセージ認証鍵をメッセージ受信装置２０へ通知するものである。認証鍵通知情報生成部１３は、認証符号付きメッセージ生成部１１より、メッセージ認証鍵を与えられる。
【００４６】
認証鍵通知情報生成部１３は、受信確認部１２より、認証符号付きメッセージの到達が確認されたメッセージ受信装置２０の識別情報を与えられることにより、当該識別情報を持つメッセージ受信装置２０へメッセージ認証鍵を通知するために、認証鍵通知情報を生成する。
【００４７】
認証鍵通知情報は、メッセージ認証鍵を含んでおり、メッセージ受信装置２０が、メッセージ送信装置１０からの正しい惰報であることを一意に特定できる情報であるのが好ましい。例えば、認証鍵通知情報生成部１３が、メッセージ受信装置２０各々と一対の鍵を共有しており、当該共有鍵を用いて、メッセージ認証鍵に対する認証符号を生成、付加した情報であっても良い。またさらに、認証鍵通知情報は暗号化されていても良い。また、認証鍵通知情報はさらに、受信確認部１２において検証に成功した受信証明情報を含んでも良い。認証鍵通知情報に受信証明情報を含むことによって、メッセージ受信装置２０は、複数の認証符号付きメッセージを受信している場合に、どの認証符号付きメッセージに対する認証鍵の通知なのかを把握することができる。認証鍵通知情報生成部１３は、生成した認証鍵通知情報を送信部１４へ与える。
【００４８】
送信部１４及び受信部１５は、当該メッセージ送信装置１０が他の通信装置と通信するためのネットワークインタフェースの機能を担っており、採用される通信方式は限定されないものである。
【００４９】
送信部１４は、認証符号付きメッセージ生成部１１より与えられた認証符号付きメッセージを送信対象となるメッセージ受信装置２０へ送信するものである。また、送信部１４は、さらに、認証符号付きメッセージ生成部１１より第１のメッセージを与えられる場合には、当該第１のメッセージを送信対象となるメッセージ受信装置２０へ送信するものである。ここで、送信対象となるメッセージ受信装置２０は複数存在する場合には、ブロードキャスト送信やマルチキャスト送信を利用しても良い。また、送信データのサイズが、１回で送信できるデータサイズよりも大きい場合には、複数のパケットに分けて送信しても良い。また、各パケットは、別途で認証符号を付加されたり、暗号化されたりしても良い。また、送信部は、認証鍵通知情報生成部１３より与えられた認証鍵通知情報を、送信対象となるメッセージ受信装置２０へ送信するものである。
【００５０】
受信部２５は、メッセージ受信装置２０より与えられた受信証明情報を、受信確認部１２へ与える。
【００５１】
図１（ｂ）は、第１の実施形態におけるメッセージ受信装置２０の内部構成を示すブロック図である。
【００５２】
メッセージ受信装置２０は、メッセージ保持部２１、受信証明情報生成部２２、認証鍵取得部２３、メッセージ認証部２４、受信部２５及び送信部２６を有している。
【００５３】
メッセージ受信装置２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、ハードディスクなどのプログラムの実行構成、及び、他の通信装置と通信するためのインターフェースを有する装置（１台に限定されず、複数台を分散処理し得るようにしたものであっても良い。）に、実施形態の通信プログラム（メッセージ受信側の通信装置用の通信プログラム）等をインストールすることにより構築しても良く、その場合でも機能的には上述の図１のように示すことができる。
【００５４】
メッセージ保持部２１は、受信部より与えられた認証符号付きメッセージをメッセージ認証鍵が通知されるまで保持するものである。メッセージ保持部２１は、与えられた認証符号付きメッセージを受信証明情報生成部２２、及び、メッセージ認証部２４へ与える。また、受信部２５よりさらに、第１のメッセージを与えられる場合には、与えられた第１のメッセージをメッセージ認証部２４へ与える。
【００５５】
受信証明情報生成部２２は、メッセージ保持部２１より与えられた認証符号付きメッセージを確かに受信したことをメッセージ送信装置１０に証明するために受信証明情報を生成するものである。認証符号付きメッセージを確かに受信したことをメッセージ送信装置１０に証明する方法としては、例えば、受信証明情報生成部２２がメッセージ送信装置１０と１対の鍵情報を共有しており、前記共有鍵と前記認証符号付きメッセージとから受信証明情報を生成する方法があるが、これに限定するものではない。受信証明情報生成部２２は、生成した受信証明情報を送信部２６へ与える。
【００５６】
認証鍵取得部２３は、受信部２５より認証鍵通知情報を与えられ、当該認証鍵通知情報に含まれるメッセージ認証鍵が、メッセージ送信装置１０からの正しい情報であるか否かを検証し、正しい情報であることを確認できた場合に限り、前記メッセージ認証鍵を取得するものである。ここで、認証鍵通知情報は、メッセージ送信装置１０が生成した情報であることを一意に特定できることが好ましい。例えば、認証鍵取得部２３は、メッセージ送信装置１０と一対の鍵を共有しており、前記認証鍵通知情報はメッセージ認証鍵を含み、前記認証鍵通知情報には、前記共有鍵を利用して生成した認証符号が付加されているかどうかを検証することによって確認しても良い。認証鍵取得部２３は、取得したメッセージ認証鍵をメッセージ認証部２４へ与える。
【００５７】
メッセージ認証部２４は、メッセージ保持部２１より与えられた認証符号付きメッセージの認証符号を、認証鍵取得部２３より与えられたメッセージ認証鍵を利用して検証し、前記メッセージが、メッセージ送信装置１０が送信した正しい情報であることを認証するものである。さらに、メッセージ認証部２４は、メッセージ保持部２１より第１のメッセージを与えられる場合に、前記認証に成功したメッセージ（第２のメッセージ）を利用して、前記第１のメッセージが、送信装置が送信した正しい情報であることを認証しても良い。
【００５８】
受信部２５及び送信部２６は、当該メッセージ受信装置２０が他の通信装置と通信するためのネットワークインタフェースの機能を担っており、採用される通信方式は限定されないものである。
【００５９】
受信部２５は、他の装置から与えられた認証符号付きメッセージをメッセージ保持部２１へ与え、また、認証鍵通知情報を認証鍵取得部２３へ与えるものである。受信部は、さらに、他の装置から第１のメッセージを与えられる場合に、前記与えられた第１のメッセージをメッセージ保持部２１へ与えても良い。受信部は、また、与えられた情報の宛先に自身以外の装置を含む場合には、与えられた情報を送信部へ与えても良い。
【００６０】
送信部２６は、受信証明情報生成部２２より与えられた受信証明情報を、メッセージ送信装置１０へ向けて送信するものである。また、受信部２５より、宛先に自身以外の装置を含む情報を与えられる場合には、与えられた情報を他の装置へ送信向けて送信するようにしても良い。
【００６１】
（Ａ−２）第１の実施形態の動作
次に、以上のような構成を有する第１の実施形態の通信システム１の動作を説明する。
【００６２】
メッセージ送信装置１０におけるメッセージ認証の動作は大きく、後述する第１〜第３のフェーズの動作に分かれる。
【００６３】
ここでは、メッセージ送信装置１０がメッセージ送信対象となるメッセージ受信装置２０のグループＧ１０１に対して所定のメッセージ（以下、「メッセージＭ」という）を認証させるものとして説明する。また、メッセージ送信装置１０では、グループＧ１０１に係る情報を管理するテーブル（以下、「グループ管理テーブル」という）が保持されているものとする。
【００６４】
図３は、メッセージ送信装置１０において保持されている、グループ管理テーブルの内容例について示した説明図である。
【００６５】
グループ管理テーブルには、図３に示すように、グループごと（グループ識別情報ごと）に当該グループに所属するメッセージ受信装置２０の識別情報及び共有鍵の情報が格納されている。
【００６６】
ここでは、グループＧ１０１のグループ識別情報は１０１であるものとする。また、メッセージ受信装置２０−００１〜２０−００８の識別情報はそれぞれ００１〜００８であるものとする。また、メッセージ受信装置２０−００１〜２０−００８の共有鍵は、それぞれＫ＿００１〜Ｋ＿００８と表わすものとする。また、ここでは、メッセージ送信装置１０の識別情報は０００であるものとする。
【００６７】
そして、図３に示すグループ管理テーブルにより、グループＧ１０１が、メッセージ受信装置２０−００１〜２０−００１−００８から構成され、メッセージ送信装置１０は、メッセージ受信装置２０−００１〜００８のそれぞれと一対の鍵Ｋ＿００１〜Ｋ＿００８を共有することになる。
【００６８】
［第１のフェーズ（認証符号付きメッセージの送信）］
図４は、通信システム１における上述の第１のフェーズの動作について示した説明図である。
【００６９】
まず、メッセージ送信装置１０の認証符号付きメッセージ生成部１１において、メッセージ認証鍵Ｋを生成し、メッセージＭに対する認証符号ＭＡＣ（Ｋ、Ｍ）を生成する。
【００７０】
ここで、ＭＡＣ（Ｘ、Ｙ）は、データ列Ｙに対して鍵Ｘを利用して生成した認証符号を示すものとする。
【００７１】
メッセージ送信装置１０は、送信部１４を介して、認証符号付きメッセージをグループＧ１０１に所属するメッセージ受信装置２０−００１〜２０−００８に送信する。
【００７２】
［第２のフェーズ（受信証明情報の送信とメッセージの受信確認）］
図５は、通信システム１における上述の第２のフェーズの動作について示した説明図である。
【００７３】
なお、ここでは、メッセージ受信装置２０−００２の処理を例として説明する。
【００７４】
メッセージ受信装置２０−００２の受信部２５において認証符号付きメッセージを受信し、メッセージ保持部２１で保持する。
【００７５】
メッセージ受信装置２０−００２の受信証明情報生成部２２において、メッセージ送信装置１０と１対で共有する鍵Ｋ＿００２を利用して、メッセージ保持部２１より与えられた認証符号付きメッセージに対する認証符号ＭＡＣ（Ｋ＿００２、Ｍ||ＭＡＣ（Ｋ、Ｍ））を生成する。ここで。Ｘ||Ｙは、データ列Ｘとデータ列Ｙとを連結したデータ列を示すものとする。
【００７６】
メッセージ受信装置２０−００２の送信部２６を介して、受信証明情報をメッセージ送信装置１０へ向けて送信する。
【００７７】
メッセージ送信装置１０の受信部１５においてメッセージ受信装置２０−００２からの受信証明情報を受信し、受信した受信証明情報を受信確認部１２へ与える。
【００７８】
メッセージ送信装置１０の受信確認部１２において、認証符号付きメッセージ生成部１１より与えられた認証符号付きメッセージＭ||ＭＡＣ（Ｋ、Ｍ）に対して、メッセージ受信装置２０−００２と一対で共有する鍵Ｋ＿００２を利用して生成した認証符号ＭＡＣ（Ｋ＿００２、ＭＡＣ（Ｍ||ＭＡＣ（Ｋ、Ｍ）））が、受信部１５より与えられた受信証明情報に含まれる認証符号と一致するか否かを確認する。一致することにより、認証符号付きメッセージＭ||ＭＡＣ（Ｋ、Ｍ）が確かにメッセージ受信装置２０−００２に到達したと判断し、識別情報００２を認証鍵通知情報生成部１３へ与える。
【００７９】
なお、メッセージ受信装置２０−００１、２０−００３、２０−００４についても同様の動作が行われるため説明を省略する。
【００８０】
また、ここでは、メッセージ受信装置２０−００５〜２０−００８については、受信証明情報を得られなかったため、メッセージ送信装置１０では、認証符号付きメッセージが到達しなかったと判断されたものとする。
【００８１】
［第３のフェーズ（メッセージ認証鍵の通知とメッセージの認証）］
図６は、通信システム１における上述の第３のフェーズの動作について示した説明図である。
【００８２】
メッセージ送信装置１０の認証鍵通知情報生成部１３において、受信確認部１２より、メッセージ受信装置２０の識別情報を与えられることにより、メッセージ受信装置２０−００２と一対で共有する鍵Ｋ＿００２を利用して、認証符号付きメッセージ生成部１１より与えられたメッセージ認証鍵Ｋに対する認証符号ＭＡＣ（Ｋ＿００２、Ｋ）を生成する。
【００８３】
そして、メッセージ送信装置１０の送信部１４を介して、認証鍵通知情報がメッセージ受信装置２０−００２へ向けて送信される。
【００８４】
そして、メッセージ受信装置２０−００２の受信部２５において認証鍵通知情報が受信され、受信された認証鍵通知情報が認証鍵取得部２３へ与えられる。
【００８５】
メッセージ受信装置２０−００２の認証鍵取得部２３において、受信部２５より与えられた認証鍵通知情報に含まれるメッセージ認証鍵Ｋが、メッセージ送信装置１０と一対で共有する鍵Ｋ＿００２を利用して認証できるか否かが検証される。そして、認証鍵取得部２３において、認証に成功することによって、前記メッセージ認証鍵Ｋが、メッセージ送信装置１０が送信した正しい情報であると判断される。認証鍵取得部２３において、メッセージ認証鍵Ｋが、メッセージ送信装置１０からの正しい情報であると一意に特定できることによって、当該メッセージ認証鍵Ｋが取得され、取得されたメッセージ認証鍵Ｋがメッセージ認証部２４へ与えられる。
【００８６】
次に、メッセージ受信装置２０−００２のメッセージ認証部２４において、メッセージＭに対して、認証鍵取得部２３より与えられたメッセージ認証鍵Ｋを利用して生成した認証符号ＭＡＣ（Ｋ、Ｍ）が、メッセージ保持部２１よりメッセージＭと共に与えられる認証符号と一致するか否かが検証される。一致することにより、メッセージ認証部２４において、メッセージＭがメッセージ送信装置１０からの正しい情報であると認証される。
【００８７】
なお、メッセージ受信装置２０−００１、２０−００３、２０−００４についても同様の動作が行われるため詳しい説明を省略する。
【００８８】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、以下のような効果を奏することができる。
【００８９】
第１の実施形態によれば、メッセージ送信装置１０が、メッセージの到達を確認できたメッセージ受信装置２０に対して、自身からの通知であることを一意に特定できる形でメッセージ認証鍵を通知する。そして、メッセージ受信装置２０において、前記通知されたメッセージ認証鍵が、メッセージ送信装置１０からの正しい情報であることを一意に特定できる場合に限り、前記メッセージ認証鍵が取得される。このように、メッセージ認証鍵を、メッセージ送信装置１０から通知される場合のみ取得するように限定することの効果を以下に説明する。
【００９０】
図７、図８は、通信システム１において、一部のメッセージ受信装置２０のユーザが悪意者である場合の例について示した説明図である。
【００９１】
図７では、通信システム１において、メッセージ認証鍵Ｋを先行して知ったメッセージ受信装置２０−００４（悪意者が使用中であるものとする）が、メッセージ認証鍵Ｋをまだ知らないメッセージ受信装置２０−００５〜２０−００８に対して、メッセージ送信装置１０になりすまして不正なメッセージ（以下、「メッセージＭ’」という）を投入しようと試みる場合の例について示している。
【００９２】
この場合、図８に示すように、メッセージ受信装置２０−００５〜２０−００８は、偽造された認証符号付きメッセージを受信し、当該偽造された認証符号付きメッセージに対する受信証明情報をメッセージ送信装置１０へ向けて送信する。
【００９３】
ここで、仮に、メッセージ受信装置２０−００５〜２０−００８が、メッセージ認証鍵Ｋを取得する場合、メッセージ受信装置２０−００５〜２０−００８は、不正なメッセージＭ’をメッセージ送信装置１０からの正しいメッセージと認証してしまうことになる。しかし、メッセージ受信装置２０−００４（悪意者が使用中）は、メッセージ受信装置２０−００５〜２０−００８の各々とメッセージ送信装置１０とが１対で共有する鍵情報（Ｋ＿００５〜Ｋ＿００８）を知らないため、メッセージ受信装置２０−００５〜２０−００８に認証鍵通知情報を認証させることができない（メッセージ認証鍵Ｋを取得させることができない）。
【００９４】
また、メッセージ受信装置２０−００５及び２０−００７が送信する受信証明情報のように、不正なメッセージＭ’の受信証明情報がメッセージ送信装置１０に到達した場合には、メッセージ送信装置１０は、自身が送信した認証符号付きメッセージと、各メッセージ受信装置２０から返信された受信証明情報との不整合より攻撃を検出することができる。
【００９５】
以上により、第１の実施形態では、メッセージ送信対象となるメッセージ受信装置２０のグループにおいて、メッセージ認証鍵を先行して教えるメッセージ受信装置２０と、後で教えるメッセージ受信装置２０が存在しても（認証の同期を崩しても）、前記メッセージ認証鍵を先行して知った装置のメッセージ送信装置１０へのなりすまし攻撃に耐性を持たせることができる。すなわち、通信システム１では、メッセージ送信装置１０から、各メッセージ受信装置２０へのメッセージ配信の順序によって、セキュリティ性を低下させないという効果を奏する。
【００９６】
（Ｂ）第２の実施形態
以下、本発明による通信システム、並びに、通信装置及びプログラムの第２の実施形態を、図面を参照しながら詳述する。なお、第２の実施形態のメッセージ送信側の通信装置、及び、メッセージ受信側の通信装置は、メッセージ送信装置及びメッセージ受信装置である。
【００９７】
（Ｂ−１）第２の実施形態の構成
図９は、この実施形態の通信システム１Ａの全体構成を示すブロック図である。
【００９８】
通信システム１Ａでは、メッセージ送信装置１０及びメッセージ受信装置２０が、メッセージ送信装置１０Ａ及びメッセージ受信装置２０Ａに置き換わっている点で、第１の実施形態と異なっている。
【００９９】
第２の実施形態では、メッセージ送信対象となるメッセージ受信装置２０Ａのグループ（グループＧ１０１）において、先行してメッセージを認証したメッセージ受信装置２０Ａが、メッセージ送信装置１０Ａに代わって、他のメッセージ受信装置２０Ａに対して、メッセージを送信（転送）する。
【０１００】
第２の実施形態におけるメッセージ送信装置１０Ａおよびメッセージ受信装置２０Ａの内部構成要素は、図１（ａ）および図１（ｂ）で示した第１の実施形態におけるメッセージ送信装置１０およびメッセージ受信装置２０の内部構成要素とほぼ同様である。以下では、第２の実施形態について、第１の実施形態と異なる構成について説明する。
【０１０１】
図１０は、メッセージ送信装置１０Ａ及びメッセージ受信装置２０Ａの機能的構成について示したブロック図である。
【０１０２】
図１０（ａ）は、メッセージ送信装置１０Ａの機能的構成を示すブロック図である。
【０１０３】
メッセージ送信装置１０Ａは、受信確認部１２及び送信部１４が、受信確認部１２Ａ及び送信部１４Ａに置き換わっている点で、第１の実施形態のメッセージ送信装置１０と異なっている。
【０１０４】
受信確認部１２Ａは、基本的に第１の実施形態における受信確認部１２の動作とほぼ同様の構成であるが、さらに、認証符号付きメッセージが偽りなく届いたかどうかを確認できなかったメッセージ受信装置２０Ａが存在する場合に、前記認証付メッセージの送信を、既に認証に成功したと思われる任意のメッセージ受信装置２０Ａに依頼するために、送信依頼情報を生成する点で異なっている。また、受信確認部１２Ａは、生成した送信依頼情報を送信部へ与える。
【０１０５】
送信部１４Ａは、に第１の実施形態における送信部１４とほぼ同様の構成であるが、受信確認部１２Ａより送信依頼情報を与えられる場合には、当該送信依頼情報を対象となるメッセージ受信装置２０Ａへ送信する点で異なっている。
【０１０６】
図１０（ｂ）は、メッセージ受信装置２０Ａの機能的構成を示すブロック図である。
【０１０７】
メッセージ受信装置２０Ａでは、メッセージ認証部２４、受信部２５及び送信部２６が、メッセージ認証部２４Ａ、受信部２５Ａ及び送信部２６Ａに置き換わっている点で、第１の実施形態のメッセージ受信装置２０と異なっている。
【０１０８】
メッセージ認証部２４は、第１の実施形態におけるメッセージ認証部２４とほぼ同様の構成であるが、認証に成功した認証符号付きメッセージをさらに送信部２６Ａへ与える点で異なっている。さらに、メッセージ認証部２４Ａは、メッセージ保持部２１より与えられた第１のメッセージの認証に成功した場合に当該認証に成功した第１のメッセージを送信部２６Ａへ与える。これらのメッセージ認証部２４Ａの処理は、受信部２５Ａより送信依頼情報を与えられることにより実施しても良い。
【０１０９】
受信部２５Ａは、第１の実施形態における受信部２５とほぼ同様の構成であるが、送信依頼情報を受信する点で異なっている。また、受信部２５Ａは受信した送信依頼情報をメッセージ認証部２４Ａへ与える。
【０１１０】
送信部２６Ａは、第１の実施形態における送信部２６とほぼ同様の構成であるが、メッセージ認証部２４Ａより、認証に成功した認証符号付きメッセージを与えられることにより、メッセージ送信装置１０Ａに代わって前記認証符号付きメッセージを他のメッセージ受信装置２０Ａへ送信する点で異なっている。さらに、送信部２６Ａは、メッセージ認証部２４Ａから、認証に成功した第１のメッセージを与えられる場合には、メッセージ送信装置１０Ａに代わって前記第１のメッセージを他のメッセージ受信装置２０Ａへ送信しても良い。
【０１１１】
（Ｂ−２）第２の実施形態の動作
次に、以上のような構成を有する第２の実施形態の通信システム１Ａの動作を説明する。
【０１１２】
ここでは、通信システム１Ａにおいて、上述の図３〜図６を用いて説明した第１の実施形態の動作が完了した状態を前提にして説明する。ここで、第２の実施形態の通信システム１Ａの動作は、大きくは、後述する第１〜第４のフェーズの動作で成っている。
【０１１３】
［第１のフェーズ（送信依頼情報の送信）］
図１１は、通信システム１Ａにおける上述の第１のフェーズの動作について示した説明図である。
【０１１４】
まず、メッセージ送信装置１０Ａでは、受信確認部１２により、受信証明情報が得られなかったメッセージ受信装置２０Ａ−００５〜２０Ａ−００８の存在が検知されたものとする。そして、メッセージ認証部２４Ａでは、認証符号付きメッセージの送信を再度行うために、既にメッセージ認証鍵Ｋを公開しているメッセージ受信装置２０Ａの中から任意のものが選択され、選択されたメッセージ受信装置２０Ａに対して送信依頼情報が生成される。メッセージ送信装置１０Ａによる、メッセージ受信装置２０Ａの選択方法は限定されないものであるが、ここでは、メッセージ受信装置２０Ａ−００４が選択されたものとする。
【０１１５】
そして、メッセージ送信装置１０Ａは、送信部１４Ａを介し、送信依頼情報をメッセージ受信装置２０Ａ−００４へ向けて送信する。
【０１１６】
［第２のフェーズ（認証符号付きメッセージの送信）］
図１２は、通信システム１Ａにおける上述の第２のフェーズの動作について示した説明図である。
【０１１７】
次に、メッセージ受信装置２０Ａ−００４の受信部２５Ａにおいて、送信依頼情報が受信され、メッセージ認証部２４Ａへ与えられる。
【０１１８】
次に、メッセージ受信装置２０Ａ−００４のメッセージ認証部２４Ａにおいて、メッセージ送信装置１０Ａより与えられた、既に認証に成功した認証付メッセージＭ||ＭＡＣ（Ｋ、Ｍ）が、送信部２６Ａへ与えられる。
【０１１９】
次に、メッセージ受信装置２０Ａ−００４では、送信部２６Ａを介して、認証符号付きメッセージがグループＧ１０１のメッセージ受信装置２０Ａ−００５〜２０Ａ−００８へ向けて送信される。
【０１２０】
［第３のフェーズ（受信証明情報の送信とメッセージの受信確認）］
図１３は、通信システム１Ａにおける上述の第３のフェーズの動作について示した説明図である。
【０１２１】
次に、上述の第１の実施形態の第２のフェーズ（上述の図５参照）と同様に、メッセージ受信装置２０Ａ−００５〜２０Ａ−００８が、受信証明情報をメッセージ送信装置１０Ａへ向けて送信し、メッセージ送信装置１０Ａにおいて、到達が確認される。
【０１２２】
［第４のフェーズ（メッセージ認証鍵の通知とメッセージの認証）］
図１４は、通信システム１Ａにおける上述の第１のフェーズの動作について示した説明図である。
【０１２３】
次に、上述の第１の実施形態の第３のフェーズ（上述の図６参照）と同様に、メッセージ送信装置１０Ａが、メッセージ受信装置２０Ａ−００５へ２０−００８のそれぞれに対して認証鍵通知情報を送信し、メッセージ受信装置２０Ａ−００５〜２０Ａ−００８のそれぞれが、メッセージＭを認証する。
【０１２４】
（Ｂ−３）第２の実施形態の効果
第２の実施形態によれば、以下のような効果を奏することができる。
【０１２５】
第２の実施形態によれば、メッセージ送信対象となるメッセージ受信装置２０Ａのグループにおいて、先行してメッセージを認証したメッセージ受信装置２０Ａが、メッセージ送信装置１０Ａに代わって、他のメッセージ受信装置２０Ａに対して、メッセージを送信する。
【０１２６】
例えば、マルチホップネットワークにおいて、メッセージ送信装置１０Ａからのホップ数が少ないメッセージ受信装置２０Ａから順番に段階的にメッセージを認証させたい場合や、任意のメッセージ受信装置２０Ａに対して認証符号付きメッセージの到達が確認できなかった場合に、メッセージ送信装置１０Ａがマルチホップ通信を利用して遠隔のメッセージ受信装置２０Ａに再度メッセージを送信することなく、（当該メッセージ受信装置２０Ａの近隣に存在する）既にメッセージの認証に成功したメッセージ受信装置２０Ａにメッセージの送信を依頼することができる。
【０１２７】
（Ｃ）第３の実施形態
以下、本発明による通信システム、並びに、通信装置及びプログラムの第３の実施形態を、図面を参照しながら詳述する。なお、第３の実施形態のメッセージ送信側の通信装置、及び、メッセージ受信側の通信装置は、メッセージ送信装置及びメッセージ受信装置である。
【０１２８】
（Ｃ−１）第３の実施形態の構成
図１５は、第３の実施形態の通信システム１Ｂの全体構成を示すブロック図である。
【０１２９】
通信システム１Ｂでは、メッセージ送信装置１０及びメッセージ受信装置２０が、メッセージ送信装置１０Ｂ及びメッセージ受信装置２０Ｂに置き換わっており、さらに、メッセージ生成装置４０が追加されている点で、第１の実施形態と異なっている。
【０１３０】
図１５に示す通り、通信システム１Ｂでは、メッセージ送信装置１０Ｂとは別にメッセージ生成装置４０が存在しており、メッセージ受信装置２０Ｂが、メッセージの送信元が確かにメッセージ送信装置１０Ｂであることだけでなく、メッセージの生成元が確かにメッセージ生成装置４０であることをも認証する。以下、第３の実施形態について、第１の実施形態との差異を説明する。
【０１３１】
図１６は、メッセージ生成装置４０の内部構成を示すブロック図である。
【０１３２】
メッセージ生成装置４０は、鍵管理部４１、メッセージ生成部４２及び送信部４３を有している。
【０１３３】
メッセージ生成装置４０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、ハードディスクなどのプログラムの実行構成、及び、他の通信装置と通信をするためのインターフェースを有する装置（１台に限定されず、複数台を分散処理し得るようにしたものであっても良い。）に、メッセージ生成プログラム等をインストールすることにより構築しても良く、その場合でも機能的には上述の図１のように示すことができる。
【０１３４】
鍵管理部４１は、メッセージの生成元となる装置が自身であることを、メッセージ受信装置２０Ｂに証明するために利用する生成元証明鍵を管理するものである。
【０１３５】
生成元証明鍵は、例えば、メッセージ生成装置４０がメッセージ受信装置２０Ｂと事前に共有した共通鍵であっても良く、メッセージ生成装置４０が生成する一つのメッセージの送信対象となる複数のメッセージ受信装置２０Ｂで共有されていても良い。例えば、メッセージ受信装置２０Ｂの製造業者が、ソフトウェア更新データ（認証させたいメッセージ）が同一のメッセージ受信装置２０Ｂ（同一機種）に事前に割り当てる共通鍵であっても良い。また、生成元証明鍵は、更新されても良い。例えば、鍵管理部４１は、ランダムな値Ｋｍと、Ｋｍに一方向性関数Ｆを複数回適用した時の各出力値Ｋｍ−１、Ｋｍ−２、・・・、Ｋ１、Ｋ０＜Ｆ（Ｋｉ）＝Ｋｉ−1＞で構成される鍵鎖列Ｋｉ（０≦ｉ≦ｍ、ｍ≧１）を管理しており、前記鍵鎖列の各鍵を生成元証明鍵として利用しても良い。ここで、一方向性関数Ｆ（・）はシステムで既知の関数であるものとする。この場合、メッセージ生成装置４０は、初期の準備として、メッセージ受信装置２０Ｂと鍵Ｋ０を安全に共有しておき、前記鍵鎖列の各鍵を、生成した順と逆順（Ｋ１→Ｋ２→…）で生成元証明鍵として利用する。鍵管理部４１は、生成元証明鍵をメッセージ生成部４２へ与える。
【０１３６】
メッセージ生成部４２は、メッセージ受信装置２０Ｂに認証させたいメッセージを生成するものである。メッセージ生成部４２は、鍵管理部４１より与えられた生成元証明鍵を利用して、メッセージに対する認証符号を生成し、前記メッセージに前記生成した認証符号を付加したものをメッセージと見なしても良い。また、メッセージは暗号化されていても良い。メッセージ生成部４２は生成したメッセージを送信部４３へ与える。また、メッセージ生成部４２は、鍵管理部４１より与えられた生成元証明鍵が鍵鎖列の鍵である場合には、生成したメッセージと共に、前記与えられた生成元証明鍵を送信部４３へ与えても良い。
【０１３７】
送信部４３は、メッセージ生成装置４０が他の通信装置と通信するためのネットワークインタフェースの機能を担っており、採用される通信方式は限定されないものである。
【０１３８】
送信部４３は、メッセージ生成部４２より与えられたメッセージをメッセージ送信装置１０Ｂへ向けて送信する。また、送信部４３は、メッセージ生成部４２より、メッセージと共に生成元証明鍵が与えられると、当該生成元証明鍵もメッセージ送信装置１０Ｂへ向けて送信する。
【０１３９】
図１７は、メッセージ送信装置１０Ｂ及びメッセージ受信装置２０Ｂの機能的構成について示したブロック図である。
【０１４０】
図１７（ａ）は、メッセージ送信装置１０Ｂの機能的構成を示すブロック図である。
【０１４１】
メッセージ送信装置１０Ｂは、認証符号付きメッセージ生成部１１及び受信部１５が、認証符号付きメッセージ生成部１１Ｂ及び受信部１５Ｂに置き換わっている点で、第１の実施形態と異なっている。
【０１４２】
受信部１５Ｂは、第１の実施形態における受信部１５とほぼ同様の構成であるが、メッセージ生成装置４０から受信したメッセージを、認証符号付きメッセージ生成部１１Ｂへ与える点で異なっている。さらに、受信部１５Ｂは、メッセージと共に生成元証明鍵を与えられる場合には、与えられた生成元証明鍵を認証符号付きメッセージ生成部１１Ｂへ与えるようにしても良い。
【０１４３】
認証符号付きメッセージ生成部１１Ｂは、第１の実施形態における認証符号付きメッセージ生成部１１と、ほぼ同様の構成であるが、認証符号を生成するメッセージが受信部１５Ｂから与えられる点で異なっている。また、認証符号付きメッセージ生成部１１Ｂは、受信部１５Ｂより生成元証明鍵を与えられた場合には、メッセージ認証鍵を生成する代わりに、与えられた生成元証明鍵をメッセージ認証鍵として利用しても良い。
【０１４４】
図１７（ｂ）は、メッセージ受信装置２０Ｂの機能的構成を示すブロック図である。
【０１４５】
メッセージ受信装置２０Ｂでは、メッセージ認証部２４がメッセージ認証部２４Ｂに置き換わっており、さらに、鍵管理部２７が追加されている点で、第１の実施形態のメッセージ受信装置２０と異なっている。
【０１４６】
鍵管理部２７は、メッセージの生成元がメッセージ生成装置４０であることを確認するために利用する生成元証明鍵を管理するものである。生成元証明鍵は、例えば、メッセージ受信装置２０Ｂがメッセージ生成装置４０と事前に共有した共通鍵であっても良い。また、メッセージ認証部２４Ｂより新しい生成元証明鍵を与えられることにより、鍵管理部２７は自身が管理する生成元証明鍵を更新しても良い。鍵管理部２７は、生成元証明鍵をメッセージ認証部２４Ｂへ与える。
【０１４７】
メッセージ認証部２４Ｂは、第１の実施形態におけるメッセージ認証部２４とほぼ同様の構成であるが、メッセージの生成元の認証も行う点で異なっている。
【０１４８】
メッセージ認証部２４Ｂは、例えば、認証に成功したメッセージには、別途生成元証明鍵を利用して付加された認証符号が含まれている場合、鍵管理部２７より与えられた生成元証明鍵を利用してメッセージの生成元を認証しても良い。また、メッセージ認証部２４Ｂは、認証鍵取得部２３で取得したメッセージ認証鍵、及び、鍵管理部２７より与えられた生成元証明鍵が、メッセージ生成装置４０が管理する鍵鎖列の鍵Ｋｉ（０≦ｉ≦ｍ、ｍ≧１）である場合には、メッセージ認証鍵を入力値として一方向性関数Ｆを適用した出力値が、鍵管理部２７より与えられた生成元証明鍵と一致するかどうかを検証するようにしても良い。そして、メッセージ認証部２４Ｂでは、これにより、前記メッセージ認証鍵をメッセージ生成装置４０からの情報であることを認証し、前記認証されたメッセージ認証鍵を利用してメッセージを認証しても良い。また、ここで、メッセージ認証部２４Ｂは、前記認証されたメッセージ認証鍵を、新しい生成元証明鍵として鍵管理部２７へ与えても良い。
【０１４９】
（Ｃ−２）第３の実施形態の動作
次に、以上のような構成を有する第３の実施形態の通信システム１Ｂの動作を説明する。以下では、第３の実施形態の通信システム１Ｂの動作について、第１の実施形態と異なる動作について説明する。
【０１５０】
第３の実施形態の通信システム１Ｂの動作は、大きくは、後述する第１〜第４のフェーズの動作で成っている。
【０１５１】
第３の実施形態の通信システム１Ｂでは、第１のフェーズの動作として、メッセージ生成装置４０がメッセージ送信装置１０Ｂへメッセージを送信する動作が挿入されている点が、第１の実施形態の動作と異なっている。第３の実施形態の通信システム１Ｂにおける以降の第２〜第４のフェーズの動作は、第１の実施形態の第１〜第３のフェーズの動作（上述の図３〜図６参照）とほぼ同様であるので、以下では、第１の実施形態との差異だけを説明する。
【０１５２】
図１８は、通信システム１Ｂの動作について示した説明図である。
【０１５３】
ここでは、通信システム１Ｂの動作について、生成元証明鍵として、メッセージ生成装置４０とメッセージ受信装置２０Ｂとが事前に共有した鍵Ｋ＿ＰＲＥを利用する場合（第１のケース）と、鍵鎖列の鍵Ｋｉ（０≦ｉ≦ｍ、ｍ≧１）を利用する場合（第２のケース）の二通りのケースに分けて説明する。
【０１５４】
まず、上述の第１のケースの場合の、第１〜第４のフェーズ動作について説明する。
【０１５５】
［第１のフェーズ（メッセージの生成）］
まず、メッセージ生成装置４０のメッセージ生成部４２において、メッセージ受信装置２０Ｂに認証させたいデータＤが生成され、鍵管理部４１より与えられた生成元証明鍵Ｋ＿ＰＲＥを利用して、メッセージＭ（＝Ｄ||ＭＡＣ（Ｋ＿ＰＲＥ、Ｄ））が生成される。
【０１５６】
そして、メッセージ生成装置４０では、の送信部４３を介して、メッセージＭがメッセージ送信装置１０Ｂへ向けて送信される。
【０１５７】
［第２のフェーズ（認証符号付きメッセージの送信）］
次に、メッセージ送信装置１０Ｂでは、受信部１５Ｂを介して受信したメッセージＭ（＝Ｄ||ＭＡＣ（Ｋ＿ＰＲＥ、Ｄ））が、認証符号付きメッセージ生成部１１Ｂへ与えられる。
【０１５８】
その後の通信システム１Ｂにおける第２のフェーズの動作は、第１の実施形態の通信システム１における第１のフェーズの動作と同様であるので説明を省略する。
【０１５９】
［第３のフェーズ（受信証明情報の送信とメッセージの受信確認）］
通信システム１Ｂにおける第３のフェーズの動作は、第１の実施形態の通信システム１における第２のフェーズの動作と同様であるので説明を省略する。
【０１６０】
［第４のフェーズ（メッセージ認証鍵の通知とメッセージの認証）］
まず、通信システム１Ｂにおいて、第１の実施形態の通信システム１における第３のフェーズの動作と同様の動作が行われる。
【０１６１】
そして、さらに、各メッセージ受信装置２０Ｂのメッセージ認証部２４Ｂにおいて、認証に成功したメッセージＭ（＝Ｄ||ＭＡＣ（Ｋ＿ＰＲＥ、Ｄ））に含まれる認証符号を、鍵管理部２７より与えられた生成元証明鍵Ｋ＿ＰＲＥを利用して検証する。検証に成功することにより、各メッセージ受信装置２０Ｂでは、メッセージＭの生成元がメッセージ生成装置４０であることが認証される。
【０１６２】
次に、上述の第２のケースの場合の、第１〜第４のフェーズ動作について説明する。
【０１６３】
［第１のフェーズ（メッセージの生成）］
ここでは、まず、メッセージ生成装置４０の鍵管理部４１において、鍵鎖列Ｋｉ（０≦ｉ≦ｍ、ｍ≧１）の未使用の鍵Ｋ１がメッセージ生成部４２へ与えられたものとする。
【０１６４】
そして、メッセージ生成装置４０のメッセージ生成部４２において、メッセージ受信装置２０Ｂに認証させたいメッセージＭが生成され、メッセージ鍵管理部４１より与えられた生成元証明鍵Ｋ１と共に送信部４３へ与えられる。
【０１６５】
そして、メッセージ生成装置４０の送信部４３を介して、メッセージＭ及び生成元証明鍵Ｋｉがメッセージ送信装置１０Ｂへ向けて送信される。
【０１６６】
［第２のフェーズ（認証符号付きメッセージの送信）］
次に、メッセージ送信装置１０Ｂでは、受信部１５Ｂを介して受信したメッセージＭ及び生成元証明鍵Ｋ１が、認証符号付きメッセージ生成部１１Ｂへ与えられる。
【０１６７】
そして、メッセージ送信装置１０Ｂの認証符号付きメッセージ生成部１１Ｂにおいて、メッセージ認証鍵を生成する代わりに、受信部１５Ｂより与えられた生成元証明鍵Ｋ１がメッセージ認証鍵として利用される。
【０１６８】
その後の通信システム１Ｂにおける第２のフェーズの動作は、第１の実施形態の通信システム１における第１のフェーズの動作と同様であるので説明を省略する。
【０１６９】
［第３のフェーズ（受信証明情報の送信とメッセージの受信確認）］
通信システム１Ｂにおける第３のフェーズの動作は、第１の実施形態の通信システム１における第２のフェーズの動作と同様であるので説明を省略する。
【０１７０】
［第４のフェーズ（メッセージ認証鍵の通知とメッセージの認証）］
まず、通信システム１Ｂにおいて、第１の実施形態の通信システム１における第３のフェーズの動作と同様の動作が行われる。
【０１７１】
そして、さらに、各メッセージ受信装置２０Ｂのメッセージ認証部２４Ｂにおいて、鍵管理部２７より生成元証明鍵Ｋ０と、認証鍵取得部２３よりメッセージ認証鍵Ｋ（＝生成元証明鍵Ｋ１）が与えられる。そして、各メッセージ受信装置２０Ｂのメッセージ認証部２４Ｂにおいて、Ｋ１を入力として一方向性関数Ｆを適用した出力値が、生成元証明鍵Ｋ０と一致するか否かが検証される。
【０１７２】
そして、各メッセージ受信装置２０Ｂのメッセージ認証部２４Ｂにおいて、メッセージ保持部２１より与えられた認証符号付きメッセージに含まれるメッセージＭに対して、前記検証に成功したメッセージ認証鍵（生成元証明鍵Ｋ１）を利用して生成した認証符号ＭＡＣ（Ｋ、Ｍ）が、メッセージ保持部２１よりメッセージＭと共に与えられる認証符号と一致するか否かが検証される。一致することにより、各メッセージ受信装置２０Ｂのメッセージ認証部２４Ｂにおいて、メッセージＭをメッセージ送信装置１０Ｂが送信した正しい情報であると認証する。
【０１７３】
また，各メッセージ受信装置２０Ｂのメッセージ認証部２４Ｂにおいて、同時にＫ１生成元証明鍵Ｋ１の検証に成功していることにより、当該Ｋ１を利用して認証できたメッセージＭが、メッセージ生成装置４０が生成した正しい情報であると認証される。
【０１７４】
そして、各メッセージ受信装置２０Ｂの鍵管理部２７において、メッセージ認証部２４Ｂより与えられた新しい生成元証明鍵Ｋ１が管理される。
【０１７５】
（Ｃ−３）第３の実施形態の効果
第３の実施形態によれば、以下のような効果を奏することができる。
【０１７６】
第３の実施形態によれば、メッセージを送信するメッセージ送信装置１０Ｂとは別にメッセージを生成するメッセージ生成装置４０が存在する場合に、メッセージ受信装置２０Ｂが、メッセージの送信元が確かにメッセージ送信装置１０Ｂであることだけでなく、メッセージの生成元が確かにメッセージ生成装置４０であることをも認証する。
【０１７７】
これにより、例えば、第３の実施形態におけるメッセージをソフトウェア更新データと考え、メッセージ生成装置４０をメッセージ受信装置２０Ｂの製造業者のソフトウェア更新データ管理装置と考える場合に、メッセージ受信装置２０Ｂは、受信した更新データが、自身が参加するネットワークの無線基地局（メッセージ送信装置１０Ｂ）から確かに送信されていることを認証できるだけでなく、自身の製造元からの正しいデータであることをも認証することができる。
【０１７８】
（Ｄ）他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【０１７９】
（Ｄ−１）  上記の各実施形態では、「鍵Ｋを利用して認証符号を生成する」動作について説明したが、これは認証符号生成関数への鍵の入力値として鍵Ｋをそのまま入力することに限定されない。例えば、認証符号生成関数へ入力する鍵として、前記鍵Ｋを、認証符号生成装置と検証装置の両者で規定の関数への入力した出力値を利用しても良い。
【０１８０】
（Ｄ−２）第２の実施形態では、メッセージ送信装置１０Ａが、メッセージ受信装置２０Ａに対して、メッセージ送信装置１０Ａに代わってのメッセージ送信を依頼したが、これに限定するものではない。例えば、メッセージ受信装置２０Ａが、他のメッセージ受信装置２０よりメッセージの送信を要求されることにより送信を実施しても良い。
【０１８１】
（Ｄ−３）第３の実施形態では、生成元証明鍵として鍵鎖列を利用する場合に、メッセージに対する認証符号をメッセージ送信装置１０Ｂで生成する例で説明したが、これに限定するものではない。メッセージ生成装置４０において認証符号を生成し、認証符号付きメッセージ及び生成元証明鍵をメッセージ送信装置１０Ｂへ与えても良い。
【０１８２】
（Ｄ−４）第３の実施形態では、メッセージ受信装置２０Ｂの鍵管理部３１において、メッセージ生成元装置が生成したメッセージであることを認証するための鍵が事前に設定されている例について説明したが、これに限定するものではない。例えば、メッセージ受信装置２０Ｂがネットワーク参加後に、配布され管理するようにしても良い。
【０１８３】
（Ｄ−５）第３の実施形態では、生成元証明鍵として鍵鎖列を利用する例を説明したが、第１又は第２の実施形態におけるメッセージ送信装置１０（又は１０Ａ）が鍵鎖列を管理し、メッセージ受信装置２０（又は２０Ｂ）が前記鍵鎖列の使用された鍵を管理し、メッセージ認証鍵として、前記鍵鎖列の各鍵を利用しても良い。
【０１８４】
（Ｄ−６）第３の実施形態では、メッセージ生成装置４０とメッセージ送信装置１０Ｂ間は、別途セキュアな通信路を構築していても良い。
【０１８５】
（Ｄ−７）上記の各実施形態では、通信システム内の各通信装置間では無線通信を行うものとして説明したが、一部又は全部の通信装置について有線のインターフェースを用いて通信システム内のネットワークに接続させるようにしても良い。
【符号の説明】
【０１８６】
１…通信システム、１０…メッセージ送信装置、１１…認証符号付きメッセージ生成部、１２…受信確認部、１３…認証鍵通知情報生成部、１４…送信部、１５…受信部、２０…メッセージ受信装置、２１…メッセージ保持部、２２…受信証明情報生成部、２３…認証鍵取得部、２４…メッセージ認証部、２５…受信部、２６…送信部、３０…メッセージ生成装置、３１…鍵管理部、３２…メッセージ生成部、３３…送信部、２０、２０−００１〜２０−００３…メッセージ受信装置、３０、３０−１〜３０−８…メッセージ受信装置。
【図１】
0005664104.tif 000002
【図２】
0005664104.tif 000003
【図３】
0005664104.tif 000004
【図４】
0005664104.tif 000005
【図５】
0005664104.tif 000006
【図６】
0005664104.tif 000007
【図７】
0005664104.tif 000008
【図８】
0005664104.tif 000009
【図９】
0005664104.tif 000010
【図１０】
0005664104.tif 000011
【図１１】
0005664104.tif 000012
【図１２】
0005664104.tif 000013
【図１３】
0005664104.tif 000014
【図１４】
0005664104.tif 000015
【図１５】
0005664104.tif 000016
【図１６】
0005664104.tif 000017
【図１７】
0005664104.tif 000018
【図１８】
0005664104.tif 000019