説明

メッセージ認証システム、通信装置及び通信プログラム

【課題】メッセージ認証鍵を先行して伝えるメッセージ受信装置と、後で伝えるメッセージ受信装置とが存在する場合、メッセージ認証鍵を先行して知った装置がメッセージ送信装置に成りすまして攻撃することに対する耐性を持たせる。
【解決手段】メッセージ送信装置1のメッセージ生成部11はメッセージを生成し、メッセージ認証鍵生成部12はメッセージ認証鍵を生成し、認証符号生成部13は上記メッセージに対する認証符号を、上記メッセージ認証鍵を利用して生成し、そのメッセージ認証鍵及び認証符号を上記メッセージとは別にメッセージ受信装置に通知する。また、各メッセージ受信装置は、通知されたメッセージ認証鍵及び認証符号を用いて、送信されたメッセージの認証を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッセージ認証システム、通信装置及び通信プログラムに関し、例えば、センサネットワークシステムにおいて、システムを管理・制御するサーバがセンサノードにメッセージを送信し、そのメッセージが当該サーバから送信されたものであることをノードが確認するメッセージ認証システム、通信装置及び通信プログラムに適用し得るものである。
【背景技術】
【0002】
例えば、センサネットワークシステムにおいて、ノード(通信装置)は、低コスト化を重視して開発されるために、以下のような制約事項を前提とされることが多い。
【0003】
第1の制約事項は、高い処理能力を有するCPUを搭載するとは限らないことである。そして、第2の制約事項は、耐タンパ性メモリを搭載するとは限らないことである。
【0004】
また、例えばセンサネットワークシステムでは、データのやりとりを複数のノードが中継するマルチホップ通信形態をとるのが一般的である。
【0005】
ここで、サーバがソフトウェア更新データを複数のノードに送信する場合を想定する。この場合、サーバは、更新対象となるノードグループに対して、マルチキャストで更新データを送信し、当該更新データがサーバからの正しいデータであることを、ノードが認証するものとする。
【0006】
このようなマルチキャストデータの認証を実現する技術として、従来、公開鍵暗号を用いたデジタル署名技術がある。
【0007】
しかし、上述の第1の制約事項の状況においては、公開鍵暗号系の適用は処理負荷が大きくなる可能性があり、処理負荷の小さい共通鍵暗号系の適用がより好ましい。例えば、サーバとノードグループとはグループ共通鍵を持ち、ノードがグループ共通鍵を用いてサーバからのデータを認証させる手法がそれに該当する。しかし、上述の第2の制約事項の状況の下では、ノードの持つグループ共通鍵が漏洩しないことを保証しにくく、さらにノードが不正な動作を行うノードに変更されないことを保証しにくい。
【0008】
そのため、各ノードが認証処理に成功した更新データでさえも、攻撃者(悪意者)が投入した攻撃用のソフトウェアかもしれないことや、マルチホップ通信の中継途中で不正ルータノードにより改竄されているかもしれないことを考慮する必要がある。
【0009】
前述の状況下で、ノードがサーバからのソフトウェア更新データを認証するにあたり、攻撃者のサーバヘのなりすまし攻撃に耐性を持たせる従来技術として、非特許文献1、及び特許文献1〜3の記載技術がある。
【0010】
非特許文献1では、サーバとノードとが時刻同期し、サーバは、メッセージの認証符号を生成するために利用するメッセージ認証鍵を、時間区間ごとに変更することについて記載されている。
【0011】
非特許文献1の記載技術では、ノードは、各メッセージ認証鍵を、各鍵が割り当てられた各時間区間においてのみ有効であるとみなされる。そして、サーバは、メッセージ送信時には、その時間区間で有効とみなされるメッセージ認証鍵をノードに対して秘密にしたまま認証符号を生成し、生成した認証符号をメッセージに付加し送信する。そして、当該メッセージ認証鍵が有効とみなされる時間区間が終了した後に、前記メッセージ認証鍵をノードに公開する。ノードは、公開されたメッセージ認証鍵が、サーバが公開した鍵であることを認証し、さらに、当該認証に成功したメッセージ認証鍵を利用して、当該メッセージ認証鍵される時間区間に受信したメッセージの認証符号を検証することで、攻撃者のサーバヘのなりすまし攻撃に耐性を持たせることができる。
【0012】
また、非特許文献1では、時刻同期の代わりに、特許文献1の記載技術を用いて、サーバがノードに対して送信確認(認証回数同期)を行うことで、攻撃者のサーバへのなりすまし攻撃に耐性を持たせる手法が提案されている。
【0013】
この場合、サーバは、ノードグループに認証させたいメッセージがグループ内のすべてのノードに確かに到達したか否かを確認した後に、メッセージ認証鍵を公開する。サーバがメッセージ認証鍵を公開するということは、メッセージの送信対象となるノードのすべてに正しいメッセージが到達していることを意味する。したがって、もし攻撃者が、メッセージ認証鍵が公開された後に、サーバヘのなりすましメッセージを投入するとしても、各ノードにおいて受信順序が後のメッセージであるとして排除することができる。
【0014】
さらに、ソフトウェア更新データのようなデータサイズが大きいメッセージを認証させたいときには、非特許文献1の手法は、メッセージ認証鍵が公開されるまでメッセージ認証処理を開始することができず、保持のためのメモリ負担が大きくなるという問題がある。そこで、特許文献2及び3では、上記問題に鑑みて、メッセージよりも先に認証符号のみを送信し、後にメッセージを送信する手法が記載されている。
【0015】
上述の従来技術でポイントとなっている送信確認(認証回数同期)は、メッセージ認証鍵を先行して知ったノードが、後に知ることになるノードに対して、サーバヘのなりすましメッセージを投入できるという課題を解決するためになされるものである。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】特開2006−157856号公報
【特許文献2】特開2006−345408号公報
【特許文献3】特開2008−141360号公報
【非特許文献】
【0017】
【非特許文献1】Adrian Perrig, J.D. Tyger著,溝口文雄 監訳「ワイヤード/ワイヤレスネットワークにおけるブロードキャスト通信のセキュリティ」,共立出版,pp.172−177
【発明の概要】
【発明が解決しようとする課題】
【0018】
しかしながら、ソフトウェア更新データ送信時の様々なシナリオを考慮した場合には、従来技術(特許文献1〜3、非特許文献1の記載技術等)における上述の送信確認(認証回数同期)を崩したい状況も存在する。
【0019】
例えば、センサネットワークの省電力制御等で、通信不能状態にあるノードが存在する場合に、通信可能状態にあるノードに先に更新データを認証させたいときや、また例えば、マルチホップ通信のホップごとに段階的に更新データを送信/認証させる場合など、更新データの送信を、既に更新データの認証に成功した隣接ノードから実施させたいときなどである。
【0020】
しかし、このようにノードグループにおいて認証の同期を崩すということは、メッセージ認証鍵を先行して教えるノードが存在することであり、メッセージ認証鍵を先行して知ったノードが、後に知ることになるノードに対してサーバへのなりすましメッセージを投入してしまうおそれがある。
【0021】
そのため、メッセージ送信対象となるメッセージ受信装置のグループにおいて、メッセージ認証鍵を先行して伝えるメッセージ受信装置と、後で伝えるメッセージ受信装置とが存在する場合(認証の同期を崩しても)、メッセージ認証鍵を先行して知った装置が、メッセージ送信装置に成りすまして攻撃することに対する耐性を持たせることができるメッセージ認証システム、通信装置及び通信プログラムが求められている。
【課題を解決するための手段】
【0022】
かかる課題を解決するために、本発明は、メッセージ送信装置が、送信用のメッセージに対する認証符号を、メッセージ認証鍵を利用して生成し、そのメッセージ認証鍵及び認証符号を、メッセージとは別にメッセージ受信装置に通知することを特徴とする。
【0023】
第1の本発明は、1又は複数のメッセージ受信装置が、メッセージ送信装置からのメッセージを認証するメッセージ認証システムにおいて、(A)メッセージ送信装置が、(A−1)各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段と、(A−2)メッセージ認証鍵及び認証符号を含む情報であって、当該情報が当該メッセージ送信装置からの正しい情報であることを各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、(A−3)各メッセージ受信装置に対して送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段と、(A−4)認証情報通知手段が生成した認証情報通知情報と、メッセージ配布手段が生成したメッセージ配布情報とを、メッセージ受信装置に送信する送信手段とを有し、(B)各メッセージ受信装置が、(B−1)認証情報通知情報と、メッセージ配布情報とを受信する受信手段と、(B−2)メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、メッセージ認証鍵及び認証符号を取得する認証情報取得手段と、(B−3)認証情報取得手段で取得されたメッセージ認証鍵及び認証符号を用いて、メッセージ配布情報で配布されたメッセージを認証するメッセージ認証手段とを有することを特徴とするメッセージ認証システムである。
【0024】
第2の本発明は、1又は複数のメッセージ受信装置に対してメッセージを送信する通信装置において、(1)各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段と、(2)メッセージ認証鍵及び認証符号を含む情報であって、当該情報が当該通信装置からの正しい情報であることを各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、(3)各メッセージ受信装置に対して送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段と、(4)認証情報通知手段が生成した認証情報通知情報と、メッセージ配布手段が生成したメッセージ配布情報とを、メッセージ受信装置に送信する送信手段とを備えることを特徴とする通信装置である。
【0025】
第3の本発明は、メッセージ送信装置からのメッセージを受信する通信装置において、(1)メッセージ送信装置から、メッセージ認証鍵及びメッセージに対する認証符号を含む認証情報通知情報と、送信用のメッセージを含むメッセージ配布情報とを受信する受信手段と、(2)メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、メッセージ認証鍵及び認証符号を取得する認証情報取得手段と、(3)認証情報取得手段で取得されたメッセージ認証鍵及び認証符号を用いて、メッセージ配布情報で配布されたメッセージを認証するメッセージ認証手段とを備えることを特徴とする通信装置である。
【0026】
第4の本発明は、1又は複数のメッセージ受信装置に対してメッセージを送信する通信プログラムにおいて、コンピュータを、(1)各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段、(2)メッセージ認証鍵及び認証符号を含む情報であって、当該情報が当該通信装置からの正しい情報であることを各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、(3)各メッセージ受信装置に対して送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段、(4)認証情報通知手段が生成した認証情報通知情報と、メッセージ配布手段が生成したメッセージ配布情報とを、メッセージ受信装置に送信する送信手段として機能させることを特徴とする通信プログラムである。
【0027】
第5の本発明は、メッセージ送信装置からのメッセージを受信する通信プログラムにおいて、コンピュータを、(1)メッセージ送信装置から、メッセージ認証鍵及びメッセージに対する認証符号を含む認証情報通知情報と、送信用のメッセージを含むメッセージ配布情報とを受信する受信手段、(2)メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、メッセージ認証鍵及び認証符号を取得する認証情報取得手段、(3)認証情報取得手段で取得されたメッセージ認証鍵及び認証符号を用いて、メッセージ配布情報で配布されたメッセージを認証するメッセージ認証手段として機能させることを特徴とする通信プログラムである。
【発明の効果】
【0028】
本発明によれば、メッセージ認証鍵を先行して伝えるメッセージ受信装置と、後で伝えるメッセージ受信装置とが存在する場合、メッセージ認証鍵を先行して知った装置がメッセージ送信装置に成りすまして攻撃することに対する耐性を持たせることができる。
【図面の簡単な説明】
【0029】
【図1】第1の実施形態におけるノード(通信装置)のメッセージ送信装置の内部構成を示すブロック図である。
【図2】第1の実施形態におけるノード(通信装置)のメッセージ受信装置の内部構成を示すブロック図である。
【図3】第1の実施形態のメッセージ認証システムを行う通信システムの構成例及び前提条件を説明する説明図である。
【図4】第1の実施形態の第1段階の認証情報の通知及び取得の処理を説明する説明図である。
【図5】第1の実施形態の第2段階のメッセージの配布と認証処理を説明する説明図である。
【図6】第1の実施形態のメッセージ認証鍵と認証符号を同時に通知することによる効果を説明する説明図である。
【図7】第2の実施形態におけるノード(通信装置)のメッセージ送信装置の内部構成を示す図である。
【図8】第2の実施形態におけるノード(通信装置)のメッセージ受信装置の内部構成を示す図である。
【図9】第2の実施形態の第1段階のメッセージ通知処理の動作を説明する説明図である。
【図10】第2の実施形態の第2段階の認証情報の要求処理の動作を説明する説明図である。
【図11】第2の実施形態の第3段階の認証情報の通知と取得処理の動作を説明する説明図である。
【図12】第2の実施形態の第4段階のメッセージ配送依頼処理の動作を説明する説明図である。
【図13】第2の実施形態の第5段階のメッセージの配布と認証処理の動作を説明する説明図である。
【発明を実施するための形態】
【0030】
(A)第1の実施形態
以下、本発明のメッセージ認証システム、通信装置及び通信プログラムの第1の実施形態を、図面を参照しながら詳細に説明する。
【0031】
第1の実施形態は、例えば、マルチホップ通信を採用したセンサネットワークを構成する各ノード(通信装置)に、本発明を適用する実施形態を例示して説明する。
【0032】
第1の実施形態では、メッセージ送信装置が、メッセージ認証鍵と認証符号とを、メッセージ受信装置に対して、自身からの通知であることを一意に特定できる形で通知することを特徴とする。
【0033】
(A−1)第1の実施形態の構成
図1は、第1の実施形態におけるノード(通信装置)のメッセージ送信装置の内部構成を示すブロック図である。
【0034】
図1に示すメッセージ送信装置1は、例えば、CPU、ROM、RAM、EEPROM、ハードディスク等のプログラム実行構成、及び、他の通信装置と通信するためのインタフェースを有する。メッセージ送信装置1は、実施形態に係る処理プログラムをインストールすることにより、機能を実現できるようしてもよく、その場合でも、機能的には図1に示す構成を有する。
【0035】
図1において、メッセージ送信装置1は、メッセージ生成部11、メッセージ認証鍵生成部12、認証符号生成部13、認証情報通知部14、メッセージ配布部15、送信部16を有する。
【0036】
メッセージ生成部11は、メッセージ受信装置2に認証させたいメッセージを生成するものである。ここで、メッセージは、生成されたそれぞれメッセージを識別するために利用するメッセージ識別情報を含んでも良い。メッセージ生成部11は、生成したメッセージを認証符号生成部13およびメッセージ配布部15へ与える。
【0037】
メッセージ認証鍵生成部12は、メッセージに対する認証符号を生成するために利用するメッセージ認証鍵を生成するものである。ここで、メッセージ認証鍵生成部12は、メッセージ生成部11が生成するメッセージごとにメッセージ認証鍵を変更して生成するようにしても良い。メッセージ認証鍵の生成方法については特に限定しないが、例えば、乱数生成器を利用して生成した乱数ビット列を利用することを想定する。メッセージ認証鍵生成部12は、生成したメッセージ認証鍵を認証符号生成部13へ与える。
【0038】
認証符号生成部13は、メッセージ生成部11より与えられたメッセージに対して、メッセージ認証鍵生成部12より与えられたメッセージ認証鍵を利用して認証符号を生成するものである。認証符号生成部13は、生成した認証符号およびメッセージ認証鍵生成部12から与えられたメッセージ認証鍵を認証情報通知部14へ与える。また、認証符号生成部13は、メッセージ認証鍵生成部12からのメッセージ認証鍵を利用して生成した認証符号が、どのメッセージを対象に生成したものかを識別させるために、メッセージ識別情報を認証情報通知部14へ与えても良い。
【0039】
ここで、認証符号の生成方法は、特に限定されないが、認証符号生成部13は、認証符号生成関数を用いて、認証符号を生成する方法を適用することができる。例えば、認証符号生成関数としては、ハッシュ関数やMAC(Message Authentication Code)生成アルゴリズム等を利用する方法を適用することができる。また、MAC生成アルゴリズムとしては、例えば、AES暗号等のブロック暗号を用いたCBC−MAC(Cipher Block Chaining−MAC)を適用することができ、ハッシュ関数としては、例えば、MD5(Message Digest5)や、SHA−1(Secure Hash Algorithm−1)を適用することができる。これらの認証符号生成関数は、通信を行なう装置間で予め決定しておき、相互に保持することが必要である。
【0040】
認証情報通知部14は、認証符号生成部13より与えられたメッセージ認証鍵、認証符号およびメッセージ識別情報を含む認証情報通知情報を生成するものである。
【0041】
ここで、認証情報通知情報は、メッセージ送信装置1からの正しい情報であることをメッセージ受信装置2に一意に特定されるのが好ましい。
【0042】
そこで、認証情報通知部14は、認証情報通知情報が正しい情報であることを一意に特定させる一意特定処理を行うものである。
【0043】
メッセージ受信装置2に対して当該認証情報通知情報を一意に特定させる方法としては、種々の方法を広く適用することができるが、例えば、認証情報通知部14は、メッセージ送信装置1がメッセージ受信装置2と一対で共有する固有鍵(共有鍵)を用いて認証符号を生成し、この生成された認証符号を、認証情報通知情報に付加する方法を適用することができる。これにより、メッセージ受信装置2が固定鍵を用いて認証し、認証が成功することで、当該認証情報通知情報がメッセージ送信装置1の正しい情報であることを確認することができる。
【0044】
また別の方法としては、例えば、認証情報通知部14が、メッセージ受信装置2との間で一意に認証情報通知情報を特定するために、認証情報通知情報に対して、暗号化処理を行うようにしてもよい。
【0045】
また、認証情報通知部14は、生成した認証情報通知情報を送信部15へ与える。
【0046】
メッセージ配布部15は、メッセージ生成部11より与えられたメッセージをメッセージ受信装置へ配布するためのメッセージ配布情報を生成するものである。
【0047】
ここで、メッセージのデータサイズが1つのデータフレームで配送可能なサイズに対して大きい場合、メッセージ配布部15は、メッセージを複数のメッセージ配布情報に分割して、複数のメッセージ配布情報を生成しても良い。また、それぞれのメッセージ配布情報は、別途、暗号化されたり、認証符号が付加されたりしても良い。例えば、メッセージ送信装置1と、メッセージの送信対象となるすべてのメッセージ受信装置2とが共有する共通鍵を利用して認証符号が付加されることによって、前記共通鍵を知らない第3者による不正なメッセージ配布情報の投入を防ぐことができる。メッセージ配布部15は、生成したメッセージ配布情報を送信部16へ与える。
【0048】
送信部16は、認証情報通知部14からの認証情報通知情報を、メッセージ送信対象となるメッセージ受信装置2へ送信するものである。また、送信部16は、メッセージ配布部15からのメッセージ配布情報を、メッセージ送信対象となるメッセージ受信装置2へ送信するものである。ここで、宛先となるメッセージ受信装置2が複数存在する場合には、ユニキャスト送信だけでなく、マルチキャスト送信やブロードキャスト送信を利用しても良い。
【0049】
図2は、第1の実施形態におけるノード(通信装置)のメッセージ受信装置の内部構成を示すブロック図である。
【0050】
図2に示すメッセージ受信装置2は、例えば、CPU、ROM、RAM、EEPROM、ハードディスク等のプログラム実行構成、及び、他の通信装置と通信するためのインタフェースを有する。メッセージ受信装置2は、実施形態に係る処理プログラムをインストールすることにより、機能を実現できるようしてもよく、その場合でも、機能的には図2に示す構成を有する。
【0051】
図2において、メッセージ受信装置2は、受信部21、認証情報取得部22、メッセージ認証部23、ルーティング部24、送信部25を有する。
【0052】
受信部21は、他の装置から与えられた、自身宛の認証情報通知情報、または、メッセージ配布情報をそれぞれ、認証情報取得部22、メッセージ認証部23へ与えるものである。また、受信部21は、各情報の最終的な宛先に自身以外の宛先が含まれる場合には、与えられた各情報をルーティング部24へも与えるものである。例えば、ブロードキャストアドレスが宛先に設定されている場合や、自身がマルチホップ通信の中継装置である場合に、受信部21は
与えられた各情報をルーティング部24へ与える。
【0053】
認証情報取得部22は、受信部21より与えられた認証情報通知情報がメッセージ送信装置1からの正しい情報であるか否かを検証し、検証に成功した場合に、当該情報に含まれるメッセージ認証鍵及び認証符号をメッセージ認証情報として取得するものである。
【0054】
ここで、認証情報取得部22は、受信した認証情報通知情報にメッセージの識別情報が含まれている場合には、取得したメッセージの認証情報を当該識別情報で示されたメッセージを認証するための情報であると判断しても良い。また、認証情報通知情報の正当性を検証する方法は、特に限定しないが、例えば、認証情報通知情報に付加される認証符号が、メッセージ受信装置2とメッセージ送信装置1との間で共有する1対の固有鍵を利用して生成されているか否かを検証する方法を適用することができる。認証情報取得部22は、取得したメッセージ識別情報、メッセージ認証鍵情報、および、認証符号をメッセージ認証部23へ与える。
【0055】
メッセージ認証部23は、受信部21より与えられた1以上のメッセージ配布情報よりメッセージを復元し、復元したメッセージを、認証情報取得部22より与えられたメッセージ認証鍵及び認証符号を利用して、認証するものである。メッセージ認証部22は、復元したメッセージから当該メッセージの識別情報を取得し、認証情報取得部22より与えられたメッセージ認証鍵及び認証符号の組の中で、上記識別情報で示されたメッセージを認証するために利用するメッセージ認証鍵及び認証符号を利用してメッセージの認証処理を行っても良い。
【0056】
ルーティング部24は、受信部21より与えられた認証情報通知情報、または、メッセージ配布情報の最終的な宛先を参照し、その宛先装置へ配送するための経路を指定した認証情報通知情報、または、メッセージ配布情報を生成するものである。ルーティング部24は、生成した認証情報通知情報、または、メッセージ配布情報を送信部25へ与える。
【0057】
送信部25は、ルーティング部24より与えられた認証情報通知情報、または、メッセージ配布情報を他の通信装置へ送信するものである。
【0058】
(A−2)第1の実施形態の動作
次に、第1の実施形態のメッセージ認証システムの動作を、図3〜図6を参照しながら説明する。ここで、第1の実施形態のメッセージ認証システムの動作は、大きくは、3段階の動作(S101〜S103)からなる。
【0059】
図3は、第1の実施形態のメッセージ認証システムを行う通信システム9の構成例及び前提条件を説明する説明図である。図3は、例えば、マルチホップ通信を採用するセンサネットワークを構成する複数のノード間の通信システムを例示する。
【0060】
図3に示すメッセージ送信装置000と図3に示す丸とは、いずれもノード(通信装置)である。説明便宜上、メッセージを送信するものをメッセージ送信装置000と表記し、それ以外の丸をメッセージ受信装置とする。
【0061】
第1の実施形態では、メッセージ送信装置000は、メッセージ受信装置のうち、メッセージ送信対象とするグループ101に属するもの(図3では丸の中に「A」を記載したもの)に、メッセージMを認証させるものとする。
【0062】
ここで、グループ101は、図3に示すように、メッセージ受信装置001〜008から構成されるものとする。
【0063】
メッセージ送信装置000とメッセージ受信装置001〜008とは、それぞれ一対の固有鍵K_001〜K_008を共有している。
【0064】
図3(A)は、例えば、メッセージ送信装置000が記憶部に記憶している各メッセージ受信装置の固有鍵の保持状態を示す。図3(A)に示すように、メッセージ送信装置000は、メッセージ送信対象の「グループ識別情報」毎に、当該グループを構成する装置を識別する「識別情報」と、対応装置との間で共有する「固有鍵」とを対応付けて保持する。例えば、図3(A)では、「グループ識別情報:101」は、「識別情報:001」〜「識別情報:008」が属しており、例えば「識別情報:001」の装置の固有鍵は「固有鍵:K_001」であることを示す。
【0065】
以下では、メッセージ送信装置000が、グループ101に属する装置のうち、メッセージ受信装置001〜004に先行してメッセージを認証させる場合の動作例を説明する。
【0066】
「第1段階:認証情報の通知と取得(S101)」
図4は、第1段階の認証情報の通知及び取得の処理を説明する説明図である。
【0067】
まず、メッセージ送信装置000のメッセージ生成部11は、メッセージ(I_M0||M0)を生成する。ここで、||はデータ列の連結を示す。また、「I_M0」はメッセージM0の識別情報であり、メッセージは識別情報I_M0を含むとする。
【0068】
メッセージ送信装置000のメッセージ認証鍵生成部12は、メッセージ(I_M0||M0)のメッセージ認証鍵AK_M0を生成する。
【0069】
メッセージ送信装置000の認証符号生成部13は、生成されたメッセージ認証鍵AK_M0を利用して、メッセージ(I_M0||M0)に対する認証符号MAC(AK_M0,“I_M0||M0”)を生成する。
【0070】
ここで、MAC(X、Y)は鍵Xを利用して生成したデータ列Yに対する認証符号を示す。
【0071】
メッセージ送信装置000において、認証情報通知部14は、メッセージの識別情報I_M0、メッセージ認証鍵AK_M0、および、認証符号MAC(AK_M0、“I_M0||M0”)を含む認証情報通知情報を生成する。
【0072】
例えば、メッセージ受信装置002宛の認証情報通知情報を生成する場合、当該認証情報通知情報はメッセージ送信装置000が送信した正しい情報であることを、メッセージ受信装置002に一意に確認させるために、認証情報通知部14は、メッセージ送信装置000とメッセージ受信装置002が一対で共有する固定鍵(共有鍵)「K_002」を利用した認証符号を生成し、認証情報通知情報に付加する。
【0073】
図4(A)には、認証情報通知情報の構成を説明する構成図を示す。図4(A)は、メッセージ受信装置002宛の認証情報通知情報の構成例を示す。例えば、認証情報通知情報は、「宛先識別情報:002」、「送信元識別情報:000」、「メッセージ識別情報:I_MO」、「メッセージ認証鍵AK_M0」、「認証符号MAC(AK_M0、“I_M0||M0”)」を含むものである。
【0074】
認証情報通知部14は、メッセージ送信装置000とメッセージ受信装置002との間の一対の固有鍵「K_002」を用いて認証符号を生成し、その認証符号を認証情報通知情報に付加する。
【0075】
ここで、認証情報通知部14による認証符号の生成方法は、特に限定されないが、例えば、ハッシュ関数やMAC(Message Authentication Code)生成アルゴリズム等の認証符号生成関数を利用する方法を適用することができる。
【0076】
認証情報通知部14により認証符号が付加された認証情報通知情報は、送信部16を介して、メッセージ送信対象とするグループ101に属するメッセージ受信装置001〜008に送信される。
【0077】
メッセージ受信装置001〜008において、認証情報通知情報が受信部21に受信されると、その受信された認証情報通知情報が、認証情報取得部22に与えられる。
【0078】
例えば、メッセージ受信装置002の場合、認証情報取得部22は、受信された認証情報通知情報に含まれる認証符号をメッセージ送信装置000と一対で共有する固有鍵「K_002」を利用して検証し、与えられた認証情報通知情報がメッセージ送信装置000からの正しい情報であるか否かを検証する。検証が成功することにより、認証情報通知情報に含まれるメッセージ認証鍵AK_M0、および、認証符号MAC(AK_M0、“I_M0||M0”)を、識別情報I_M0で示されるメッセージの認証情報として取得する。
【0079】
その他のメッセージ受信装置001、003、004についても同様に、メッセージ送信装置000から認証情報通知情報を送信し、各メッセージ受信装置がメッセージ送信装置000から与えられた認証情報を取得する。
【0080】
「第2段階:メッセージの配布と認証(S102)」
図5は、第2段階のメッセージの配布と認証処理を説明する説明図である。
【0081】
メッセージ送信装置100において、メッセージ配布部15は、メッセージ生成部11により生成されたメッセージ(I_M0||M0)を受け取り、1以上のメッセージ配布情報を生成する。
【0082】
図5(A)は、メッセージ配布情報の構成を説明する説明図である。図5(A)は、「グループ:101」のブロードキャストアドレスとする場合を例示する。メッセージ配布情報は、「宛先識別情報:101」、「送信元識別情報:000」、「メッセージ:I_M0||M0」を含むものである。
【0083】
メッセージ配布情報は、送信部16を介して、メッセージ送信対象のメッセージ受信装置に送信される。ここで、メッセージ送信対象となるメッセージ受信装置のグループ101の中で、メッセージ受信装置001〜004に対してメッセージが受信されると仮定する。
【0084】
メッセージ受信装置001〜004のそれぞれにおいて、メッセージ配布情報が受信部21に受信されると、受信されたメッセージ配布情報は、メッセージ認証部23に与えられる。
【0085】
メッセージ受信装置001〜004のそれぞれにおいて、メッセージ認証部23は、受信されたメッセージ配布情報から、メッセージの識別情報I_M0およびメッセージM0を復元する。
【0086】
このとき、メッセージ認証部23は、復元されたメッセージ(I_M0||M0)に対して、認証情報取得部23からの識別情報I_M0で示されるメッセージ認証鍵AK_M0を用いて生成した認証符号が、同じく認証情報取得部23からの認証符号MAC(AK_M0、“I_M0||M0”)と一致するか否かを検証する。
【0087】
そして、一致する場合、検証が成功し、検証に成功することで、復元したメッセージM0が、メッセージ送信装置000が送信した正しいメッセージであると認証する。
【0088】
上記の動作では、メッセージ送信装置000が、メッセージ送信対象であるメッセージ受信装置001〜004に対して、メッセージとは別に、メッセージを認証するためのメッセージ認証鍵及び認証符号を通知する。
【0089】
メッセージが配信されたときに、メッセージ受信装置001〜004が、通知されたメッセージ認証鍵及び認証符号を用いて、メッセージがメッセージ送信装置からの正しい情報であることを一意に特定できる場合に限り、メッセージの認証情報として取得することを特徴とする。
【0090】
このように、第1の実施形態では、メッセージ送信装置000が、メッセージ認証鍵だけでなく、メッセージ認証符号も同時に通知するものである。このメッセージ認証鍵と認証符号を同時に通知ことによる効果を以下に説明する。
【0091】
図6は、メッセージ認証鍵と認証符号を同時に通知することによる効果を説明する説明図である。
【0092】
図6は、メッセージ送信対象となる複数のメッセージ受信装置001〜008のうち、メッセージ受信装置001〜004のみが、メッセージM0を認証した状態を示している。すなわち、各メッセージ受信装置001〜004は、メッセージ認証鍵AK_M0を既に取得している。
【0093】
ここで、メッセージ認証鍵AK_M0を先行して知った悪意を持ったメッセージ受信装置004が、メッセージ認証鍵AK_M0をまだ知らないメッセージ受信装置005〜008に対して、メッセージ送信装置000になりすまして「不正メッセージM1」を投入しようと試みる場合を考える。
【0094】
まず、メッセージ送信装置000が、メッセージ認証鍵だけをメッセージ受信装置に通知した場合を説明する。
【0095】
もし、メッセージの認証情報として、メッセージ送信装置000がメッセージ認証鍵AK_M0のみしか通知しない場合には、悪意を持ったメッセージ受信装置004は、既に取得したメッセージ認証鍵AK_M0を利用して、「不正メッセージM1」に対する認証をすり抜ける不正な認証符号MAC(AK_M0,“I_M0||M1”)を生成できる。従って、メッセージ受信装置004が当該不正な認証符号を、「不正メッセージM1」と共に、メッセージ受信装置005〜008に投入すれば、メッセージ受信装置005〜008は「不正メッセージM1」をメッセージ送信装置000からの正しい情報であると不正に認証してしまうことになる。
【0096】
一方、第1の実施形態のように、メッセージ送信装置000が、メッセージ認証鍵及び認証符号を同時にメッセージ認証情報として通知する場合、悪意を持ったメッセージ受信装置004は、以下の2つの攻撃のうちのどちらかを成功させなければならない。
【0097】
1つ目の攻撃は、悪意を持ったメッセージ受信装置004が、メッセージ送信装置000とメッセージ受信装置005〜008とのそれぞれが一対で共有する固有鍵K005〜K_008を不正に取得する場合に成り立つ。
【0098】
この場合、悪意を持ったメッセージ受信装置004は、上記固有鍵を取得することによって、「不正メッセージM1」を認証させるために利用する偽のメッセージ認証鍵AK_M1と偽の認証符号MAC(AK_M1,I_M0||M1)を偽の認証情報通知情報として、メッセージ送信装置000になりすまして通知する。これにより、悪意を持ったメッセージ受信装置004は、偽の認証情報を通知したメッセージ受信装置に対して、「不正メッセージM1」をメッセージ送信装置000が送信した正しいメッセージとして認証させることができる。
【0099】
この攻撃は、メッセージ送信装置000とメッセージ受信装置とが共有する固有鍵が安全という前提の下では成り立たない。また、例え、任意のメッセージ受信装置の固有鍵が不正に漏洩しても、上記攻撃が成り立つのは当該メッセージ受信装置に対してのみであり、他のメッセージ受信装置へは影響しない。
【0100】
2つ目の攻撃は、悪意を持ったメッセージ受信装置004が、メッセージ送信装置000が通知した正しい認証情報を利用して、認証チェックをすり抜ける不正メッセージM0’を見つけ出せた場合に成り立つ。
【0101】
すなわち、悪意を持ったメッセージ受信装置004が、MAC(AK_M0,I_M0||M0)=MAC(AK_M0,I_M0||M1)となる「不正メッセージM1」を見つけ出す。
【0102】
しかし、この攻撃は、認証符号長や鍵長などの適切なパラメータ設定により、計算量的に非常に困難であると考えてよい。
【0103】
(A−3)第1の実施形態の効果
以上より、第1の実施形態では、メッセージ送信対象となるメッセージ受信装置のグループにおいて、メッセージ認証鍵を先行して教えるメッセージ受信装置と後で教えるメッセージ受信装置が存在しても(認証の同期を崩しても)、前記メッセージ認証鍵を先行して知った装置のメッセージ送信装置へのなりすまし攻撃に耐性を持たせることができる。
【0104】
(B)第2の実施形態
次に、本発明のメッセージ認証システム、通信装置及び通信プログラムの第2の実施形態を、図面を参照しながら説明する。
【0105】
第2の実施形態では、メッセージ送信対象となるメッセージ受信装置のグループにおいて、先行してメッセージを認証したメッセージ受信装置が、メッセージ送信装置に代わって、他のメッセージ受信装置に対して、メッセージを配送することを特徴とする。
【0106】
(B−1)第2の実施形態の構成
図7は、第2の実施形態におけるノード(通信装置)のメッセージ送信装置の内部構成を示す図である。
【0107】
図7において、メッセージ送信装置3は、メッセージ生成部11、メッセージ認証鍵生成部12、認証符号生成部13、認証情報通知部31、メッセージ配布部15、送信部16、受信部32を有する。
【0108】
図7において、第1の実施形態と同じ構成要素については同じ番号を付して示している。以下では、第2の実施形態と動作が異なる、認証情報通知部31及び受信部32を中心に詳細に説明する。
【0109】
認証情報通知部31は、基本的に、第1の実施形態で説明した認証情報通知部14と同じ動作をするものである。
【0110】
さらに、認証情報通知部31は、第1の実施形態で説明した動作に加えて、受信部32から認証情報要求情報を受け取り、該当するメッセージの認証情報を含む認証情報通知情報を生成して応答するものである。
【0111】
認証情報通知部31は、過去に生成したメッセージ認証情報を管理するものである。例えば、認証情報通知部31は、メッセージ識別情報、当該メッセージ識別情報で示されるメッセージ認証鍵及び認証符号を対応付けて管理する方法を適用することができる。
【0112】
そして、認証情報通知部31は、受け取った認証情報要求情報に含まれるメッセージ識別情報に対応するメッセージ認証情報を参照し、当該認証情報要求情報の要求元の前記メッセージ受信装置宛に、前記メッセージ識別情報に対応するメッセージ認証鍵及び認証符号を含む認証情報通知情報を生成し、送信部16へ与える。
【0113】
受信部32は、メッセージ受信装置2より受信した認証情報要求情報を、認証情報通知部31へ与えるものである。
【0114】
図8は、第2の実施形態におけるノード(通信装置)のメッセージ受信装置の内部構成を示す図である。
【0115】
図8において、メッセージ受信装置4は、受信部41、認証情報取得部22、メッセージ認証部42、メッセージ管理部43、メッセージ配布部44、認証情報要求部45、ルーティング部24、送信部46を有する。
【0116】
図8において、第1の実施形態で説明した構成要素には同じ符号を付している。以下では、第1の実施形態と動作が異なる、受信部41、メッセージ認証部42、メッセージ管理部43、メッセージ配布部44、認証情報要求部45、送信部46の動作を中心に詳細に説明する。
【0117】
受信部41は、基本的には、第1の実施形態の受信部21の動作と同じであるが、さらに、他の装置から与えられた自身宛のメッセージ通知情報、および、メッセージ配布要求情報をメッセージ管理部43に与えるものである。
【0118】
メッセージ認証部42は、基本的には、第1の実施形態のメッセージ認証部23の動作と同じであるが、さらに、認証に成功したメッセージをメッセージ管理部43へ与えるものである。
【0119】
メッセージ管理部43は、認証に成功したメッセージを管理するものであり、他のメッセージ受信装置への管理メッセージの通知、自身が未取得のメッセージの識別、他のメッセージ受信装置へのメッセージ配送の要求、他のメッセージ受信装置へのメッセージ配送の指示を行うものである。
【0120】
すなわち、メッセージ管理部43は、メッセージ認証部42から与えられた、認証に成功したメッセージを管理するものである。例えば、メッセージ管理部43は、認証成功したメッセージのメッセージ識別情報を保持する。
【0121】
メッセージ管理部43は、自身が既に認証に成功して管理しているメッセージの存在を他のメッセージ受信装置に通知するために、メッセージ通知情報を生成し、生成したメッセージ通知情報を送信部46に与えるようにしても良い。
【0122】
ここで、メッセージ通知情報としては、例えば、メッセージの識別情報を含めることを想定するがこれに限定しない。また、メッセージ通知情報は、暗号化されたり、認証符号が付加されたりしても良い。
【0123】
次に、メッセージ管理部43は、自身が管理するメッセージをメッセージ送信装置に代わって他のメッセージ受信装置へ配布するために、メッセージ配布部に与える。例えば、受信部41よりメッセージ配布要求情報を与えられることにより、要求されたメッセージをメッセージ配布部44に与えても良い。
【0124】
次に、メッセージ管理部43は、自身が未取得のメッセージを他のメッセージ受信装置から取得するために、メッセージ配布要求情報を生成し、送信部46に与える。例えば、受信部41よりメッセージ通知情報を与えられ、当該メッセージ通知情報で通知されるメッセージを自身がまだ取得していないことを識別することにより、メッセージ配布要求情報を送信部46に与えても良い。
【0125】
次に、メッセージ管理部43は、自身が未取得のメッセージの認証情報をメッセージ送信装置1に対して要求するために、未取得のメッセージの識別情報を認証情報要求部45に与える。
【0126】
メッセージ配布部44は、メッセージ管理部43から与えられたメッセージを他のメッセージ受信装置へ配布するためのメッセージ配布情報を生成するものである。
【0127】
ここで、メッセージのデータサイズが、1つのデータフレームで配送可能なサイズに対して大きい場合には、メッセージを複数のメッセージ配布情報に分割して、複数のメッセージ配布情報を生成しても良い。また、それぞれのメッセージ配布情報は、別途、暗号化されたり、認証符号が付加されたりしても良い。例えば、他のメッセージ受信装置と共有する共通鍵を利用して認証符号が付加されることによって、前記共通鍵を知らない第3者による不正なメッセージ配布情報の投入を防ぐことができる。メッセージ配布部は、生成したメッセージ配布情報を送信部46に与える。
【0128】
認証情報要求部45は、メッセージ管理部43より未取得のメッセージの識別情報を与えられることにより、当該識別情報で示されるメッセージの認証情報をメッセージ送信装置1に対して要求するために、認証情報要求情報を生成する。
【0129】
ここで、認証情報要求部45は、認証情報要求情報に、例えば、認証情報(メッセージ認証鍵及び認証符号)を取得したいメッセージの識別情報を含むものを生成する。また、認証情報要求部45は、生成した認証情報要求情報を送信部46に与える。
【0130】
送信部46は、基本的には、第1の実施形態の送信部25の動作と同じであるが、さらに、メッセージ管理部43から与えられたメッセージ通知情報およびメッセージ配送要求情報を他の通信装置へ送信するものである。また、送信部46は、認証情報要求部45から与えられた認証情報要求情報をメッセージ送信装置1に送信するものである。さらに、送信部46は、メッセージ配布部44から与えられたメッセージ配布情報を対象となるメッセージ受信装置へ送信するものである。
【0131】
(B−2)第2の実施形態の動作
次に、第2の実施形態のメッセージ認証システムの動作を、図9〜図13を参照しながら説明する。
【0132】
なお、第2の実施形態の動作は、図3〜図6を用いて説明した第1の実施形態の動作が完了した状態を前提にして説明する。
【0133】
ここで、第2の実施形態のメッセージ認証システムの動作は、大きくは、5段階の動作(S201〜S205)からなる。
【0134】
「第1段階:メッセージの通知(S201)」
図9は、第2の実施形態の第1段階のメッセージ通知処理の動作を説明する説明図である。
【0135】
まず、メッセージ受信装置004において、メッセージ管理部43は、認証に成功したメッセージ(I_M0||M0)を管理する。メッセージ管理部43は、新しいメッセージの取得を他のメッセージ受信装置に通知するために、取得したメッセージの識別情報I_M0を含むメッセージ通知情報を生成する。そして、このメッセージ通知情報は、送信部46を介して、他のメッセージ受信装置2に送信される。
【0136】
例えば、図9(A)の場合、メッセージ受信装置004は、グループ1を示す「宛先識別情報:101」、「送信元識別情報:」、「メッセージ識別情報:I_M0」を含むメッセージ通知情報を送信する。メッセージ通知情報は、マルチホップ通信により他のメッセージ受信装置に転送される。
【0137】
「第2段階:認証情報の要求(S202)」
図10は、第2の実施形態の第2段階の認証情報の要求処理の動作を説明する説明図である。
【0138】
メッセージ受信装置004からのメッセージ通知情報が、メッセージ受信装置005及び006に受信される。
【0139】
メッセージ受信装置005、006において、メッセージ管理部43は、受信部41により受信されたメッセージ通知情報に含まれるメッセージ識別情報I_M0に基づいて、自身が既に取得したメッセージのメッセージ識別情報であるか否かを識別する。
【0140】
すなわち、メッセージ管理部43は、認証に成功したメッセージのメッセージ識別情報を保持しており、今回受信したメッセージ通知情報に含まれるメッセージ識別情報が、自身が保持しているメッセージ識別情報に存在するか否かを判断する。メッセージ管理部43は、メッセージ識別情報が存在するときには当該メッセージを取得済みと識別し、存在しないときに当該メッセージを未取得と識別する。
【0141】
そして、メッセージ管理部43は、当該メッセージを未取得と判断すると、メッセージ管理部43は、当該メッセージの認証情報(メッセージ認証鍵及び認証符号)をメッセージ送信装置000に要求するため、認証情報要求部45にメッセージ識別情報I_M0を与える。
【0142】
認証情報要求部45は、受け取ったメッセージ識別情報I_M0を含む認証情報要求情報を生成して、その生成された認証情報要求情報を送信部46に与える。送信部46は、メッセージ送信装置000に対して認証情報要求情報を送信する。
【0143】
ここで、図10(A)は、メッセージ受信装置005が送信する認証情報要求情報の構成例であり、図10(B)が、メッセージ受信装置006が送信する認証情報要求情報の構成例を示す。図10(A)及び図10(B)に示すように、認証情報要求情報は、「宛先識別情報:000」としてメッセージ送信装置000とし、認証情報を求めるメッセージの「メッセージ識別情報:I_M0」を含める。
【0144】
「第3段階:認証情報の通知と取得(S203)」
図11は、第2の実施形態の第3段階の認証情報の通知と取得処理の動作を説明する説明図である。
【0145】
メッセージ受信装置005及び006からの認証情報要求情報は、メッセージ送信装置000に受信される。メッセージ送信装置000において、認証情報通知部31は、受信部32から認証情報要求情報を受け取る。
【0146】
認証情報通知部31は、過去のメッセージ認証情報を管理しているので、今回受信した認証情報要求情報に含まれているメッセージ識別情報I_M0に対応するメッセージ認証鍵AK_M0、及び、認証符号MAC(AK_M0,“I_M0||M0”)を取得する。
【0147】
そして、認証情報通知部31は、メッセージ識別情報I_M0、メッセージ認証鍵AK_M0、及び、認証符号MAC(AK_M0,“I_M0||M0”)を用いて、認証情報通知情報を生成する。
【0148】
図11(A)は、メッセージ受信装置005宛の認証情報通知情報の構成例を示す構成図である。
【0149】
図11(A)に示すように、認証情報通知部31は、「宛先識別情報:005」、「送信元識別情報:000」とし、「メッセージ識別情報I_M0」、「メッセージ認証鍵AK_M0」、及び、「認証符号MAC(AK_M0,“I_M0||M0”)」を含む情報を生成する。
【0150】
さらに、認証情報通知部31は、メッセージ送信装置000とメッセージ受信装置005との間で一対の固有鍵「K_005」を用いて認証符号を生成し、その認証符号を上記情報を付与して、認証情報通知情報を生成する。
【0151】
上記のようにして生成された認証情報通知情報は、送信部16を介して、メッセージ受信装置005及び006に送信される。
【0152】
メッセージ受信装置005において、受信部32により受信された認証情報通知情報は、認証情報取得部22に与えられる。
【0153】
メッセージ受信装置005の認証情報取得部32は、与えられた認証情報通知情報に含まれる認証符号をメッセージ送信装置000と一対で共有する共有鍵(固有鍵)K_005を利用して検証し、与えられた認証情報通知情報がメッセージ送信装置000から送信された正しい情報であるか否かを検証する。
【0154】
そして、認証情報取得部32は、検証が成功することにより、認証情報通知情報に含まれるメッセージ認証鍵AK_M0、および、認証符号MAC(AK_M0,“I_M0||M0”)を、識別情報I_M0で示されるメッセージの認証情報として取得する。
【0155】
メッセージ受信装置006についても同様に、メッセージ送信装置000から認証情報通知情報を送信し、メッセージM0の認証情報を取得する。
【0156】
「第4段階:メッセージの配送依頼(S204)」
図12は、第2の実施形態の第4段階のメッセージ配送依頼処理の動作を説明する説明図である。
【0157】
メッセージ受信装置005及び006において、認証情報が取得されると、メッセージ管理部43は、自身が見取得であるメッセージM0を配送してもらうために、メッセージ配送要求情報を生成し、送信部46を介して、メッセージ受信装置004に送信する。
【0158】
ここで、図12(A)は、メッセージ受信装置005が送信するメッセージ配送要求情報の構成例を示す構成図であり、図12(B)は、メッセージ受信装置006が送信するメッセージ配送要求情報の構成例を示す構成図である。メッセージ配送要求情報は、「宛先識別情報」、「送信元識別情報」、「メッセージ識別情報」を有する。
【0159】
図12(A)及び(B)に示すように、メッセージ配送要求情報の送信先は、「宛先識別情報:004」である。すなわち、メッセージ受信装置005及び006は、メッセージ通知情報の送信元であるメッセージ受信装置004に対してメッセージ配送要求情報を送信する。
【0160】
メッセージ受信装置004において、メッセージ管理部43は、受信部41からメッセージ配送要求情報を受け取ると、自身が管理するメッセージの中で、前記メッセージ配送要求情報に含まれる識別情報I_M0で示されるメッセージ(I_M0||M0)をメッセージ配布部44に与える。
【0161】
「第5段階:メッセージの配布と認証(S205)」
図13は、第2の実施形態の第5段階のメッセージの配布と認証処理の動作を説明する説明図である。
【0162】
メッセージ受信装置004において、メッセージ配布部44は、メッセージ管理部43からメッセージ(I_M0||M0)を受け取り、1以上のメッセージ配布情報を生成する。そして、メッセージ配布部44は、生成された1以上のメッセージ配布情報を、送信部46を介して、メッセージ受信装置005及び006に送信する。
【0163】
メッセージ受信装置005及び006のそれぞれにおいて、受信部41により受信されたメッセージ配布情報は、メッセージ認証部42に与えられる。
【0164】
メッセージ受信装置005、006のそれぞれにおいて、メッセージ認証部41は、メッセージ識別情報I_M0およびメッセージM0を復元する。
【0165】
そして、メッセージ認証部41は、復元されたメッセージ(I_M0||M0)に対して、認証情報取得部22からの識別情報I_M0で示されるメッセージの認証鍵AK_M0を用いて生成した認証符号が、同じく認証情報取得部22からの認証符号MAC(AK_M0,“I_M0||M0”)と一致するか否かを検証する。そして、一致する場合、メッセージ認証部41は、検証が成功したと判断し、復元されたメッセージM0が、メッセージ送信装置000から送信された正しいメッセージであると認証する。
【0166】
(B−3)効果
第2の実施形態によれば、メッセージの送信対象となるメッセージ受信装置のグループにおいて、先行してメッセージを認証、取得したメッセージ受信装置が、メッセージ送信装置に代わって、他のメッセージ受信装置にメッセージを配布することを特徴とする。
【0167】
データサイズが大きい同一のメッセージを複数のメッセージ受信装置に配布したい場合には、マルチキャスト配送等を利用してメッセージを効率的に配布できることが好ましい。ここで、メッセージの送信対象となる複数のメッセージ受信装置のうち、任意数のメッセージ受信装置に関しては、まだメッセージが取得されていない状態を考える。
【0168】
このとき、メッセージ送信装置は、各メッセージ受信装置に対してメッセージを再送する必要があるが、マルチホップネットワークの場合では、メッセージ送信装置から各メッセージ受信装置へのメッセージ配送を、複数のメッセージ受信装置が中継する可能性があるため、中継装置における配送コストが大きくなるという問題がある。
【0169】
第2の実施形態では、メッセージをまだ取得していないメッセージ受信装置に対するメッセージの配送を、既にメッセージを取得したメッセージ受信装置がメッセージ送信装置に代わって実行してやることで、メッセージの配送効率を向上できる。また、各メッセージ受信装置は、配布されるメッセージの認証情報に関しては、メッセージ送信装置から安全に取得するため、第1の実施形態と同様に、悪意をもったメッセージ受信装置が不正メッセージを投入した場合でも、認証チェックにより排除することができる。
【0170】
(C)第3の実施形態
次に、本発明のメッセージ認証システム、通信装置及び通信プログラムの第3の実施形態を、図面を参照しながら説明する。
【0171】
第1及び第2の実施形態は、メッセージ送信装置が、メッセージ毎に共通のメッセージ認証鍵及び認証符号を各メッセージ受信装置に通知する場合を説明した。
【0172】
これに対して、第3の実施形態は、メッセージ送信装置が、メッセージ及びメッセージ受信装置毎に異なるメッセージ認証鍵及び認証符号を、各メッセージ受信装置に対して通知する実施形態である。
【0173】
(C−1)第3の実施形態の構成及び動作
第3の実施形態は、メッセージ送信装置の内部構成が第1及び第2の実施形態と異なる。具体的には、図1及び図7に示した第1及び第2の実施形態のメッセージ送信装置が備えるメッセージ認証鍵生成部12の処理が異なり、それ以外の構成要素は第1及び第2の実施形態と同じである。
【0174】
そこで、第3の実施形態では、図1及び図7を用いて、メッセージ送信装置1及び3のメッセージ認証鍵生成部12の処理を中心に説明する。
【0175】
第3の実施形態のメッセージ認証鍵生成部12は、基本的には、第1及び第2の実施形態と同じである。
【0176】
第3の実施形態のメッセージ認証鍵生成部12は、メッセージ生成部11により生成されたメッセージ毎に異なるメッセージ認証鍵を生成するものである。さらに、第3の実施形態のメッセージ認証鍵生成部12は、メッセージ送信対象のメッセージ受信装置2及び4毎に異なるメッセージ認証鍵を生成するようにしても良い。
【0177】
例えば、図3において、メッセージ送信装置1及び3がメッセージ受信装置001に「メッセージM0」を送信する場合、第3の実施形態のメッセージ認証鍵生成部12は、乱数生成器を用いて、メッセージ及びメッセージ受信装置001毎に異なるメッセージ認証鍵AK_MO_001を生成する。
【0178】
従って、メッセージ送信装置1及び3が、メッセージ受信装置001〜008に「メッセージM0」を送信する場合、第3の実施形態のメッセージ認証鍵生成部12は、メッセージ及びメッセージ受信装置001〜008毎に異なるメッセージ認証鍵AK_M0_001〜AK_M0_008を生成する。
【0179】
認証符号生成部13は、対応するメッセージについて、各メッセージ受信装置001〜008毎のメッセージ認証鍵AK_M0_001〜AK_M0_008を用いて認証符号を生成する。これにより、メッセージ及びメッセージ受信装置毎に異なる認証符号を生成することができる。なお、認証符号の生成方法は、第1及び第2の実施形態で説明した方法を適用することができる。
【0180】
例えば、認証符号生成部13は、メッセージ受信装置001に送信する「メッセージMO」の認証符号として、認証符号生成関数への鍵の入力値に、メッセージ認証鍵AK_M0_001を用いて、MAC(AK_M0_001,“I_M0||M0”)を生成する。
【0181】
同様に、認証符号生成部13は、メッセージ受信装置002〜008に送信する「メッセージMO」の認証符号として、認証符号MAC(AK_M0_002,“I_M0||M0”)〜MAC(AK_M0_008,“I_M0||M0”)を生成する。
【0182】
認証情報通知部14及び31は、各メッセージについて、各メッセージ受信装置2及び4毎に生成したメッセージ認証鍵及び認証符号を含む認証情報通知情報を、対応する各メッセージ受信装置に通知する。
【0183】
なお、メッセージ受信装置2及び4は、第1及び第2の実施形態で説明した図2及び図8に記載の内部構成と同一の構成要素を備えるものである。
【0184】
また、メッセージ受信装置2及び4における動作は、メッセージがメッセージ送信装置から正しく送信されたものであるか否かの認証に用いるメッセージ認証鍵及び認証符号が異なるだけであり、基本的動作は、第1及び第2の実施形態と同じである。
【0185】
(C−2)第3の実施形態の効果
以上のように、第3の実施形態によれば、メッセージ送信装置が、各メッセージについて、メッセージ受信装置毎に異なるメッセージ認証鍵及び認証符号を通知することができる。
【0186】
第1の実施形態では、悪意を持ったメッセージ受信装置が、メッセージ送信装置が通知した正しい認証情報(メッセージ認証鍵AK_M0、および、認証符号MAC(AK_M0,“I_M0||M0”))を利用した認証チェックをすり抜ける「不正メッセージM1」を見つけ出せた場合に攻撃が成り立つと説明した。
【0187】
これに対して、第3の実施形態によれば、同一メッセージM0の認証するために利用するメッセージ認証鍵及び認証符号が、メッセージ受信装置毎に異なる。
【0188】
すなわち、例え攻撃者が認証チェックをすり抜ける「不正メッセージM1」を見つけ出せたとしても、メッセージ認証鍵及び認証符号が異なるため、当該「不正メッセージM1」は、他のメッセージ受信装置に対しては認証チェックが通らない。
【0189】
またさらに、メッセージ送信装置とメッセージ受信装置とが共有する固有鍵で暗号化して認証情報通知情報を通知する場合、悪意を持ったメッセージ受信装置は、他のメッセージ受信装置がメッセージを認証するのに利用するメッセージ認証情報でさえも特定できないため、メッセージ送信装置へのなりすまし攻撃をより困難にすることができる。
【0190】
(D)他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに以下に例示するような変形実施形態を挙げることができる。
【0191】
(D−1)本発明では、メッセージ認証鍵を利用して認証符号を生成する動作が度々登場するが、これは認証符号生成関数への鍵の入力値として上記メッセージ認証鍵をそのまま入力するとは限らない。例えば、前記メッセージ認証鍵を、規定の関数へ入力した出力値を認証符号生成関数への鍵の入力として利用しても良い。また、認証符号は、リプレイ攻撃を防ぐためにカウンタ情報、時刻情報、および通信装置の識別情報等の情報を含めて生成しても良い。
【0192】
(D−2)本発明では、1つのメッセージのみを認証する例を説明したが、これに限定するものではない。例えば、複数のメッセージまたはその認証情報を平行して配布することも可能である。この場合、メッセージとその認証情報との対応付けは、各メッセージまたは各認証情報にメッセージの識別情報を付加することによって識別可能である。
【0193】
(D−3)本発明では、メッセージ認証鍵や認証符号を通知してから、メッセージを配信する例を説明したが、これに限定されるものではない。例えば、メッセージを配信した後に、メッセージ認証鍵や認証符号を通知するようにしてもよい。
【符号の説明】
【0194】
1及び3…メッセージ送信装置、
11…メッセージ生成部、12…メッセージ認証鍵生成部、
13…認証符号生成部、14…認証情報通知部、15…メッセージ配布部、
16…送信部、31…認証情報通知部、32…受信部、
2及び4…メッセージ受信部、
21及び41…受信部、22…認証情報取得部、
23及び42…メッセージ認証部、24…ルーティング部、25…送信部、
43…メッセージ管理部、44…メッセージ配布部、45…認証情報要求部。

【特許請求の範囲】
【請求項1】
1又は複数のメッセージ受信装置が、メッセージ送信装置からのメッセージを認証するメッセージ認証システムにおいて、
上記メッセージ送信装置が、
上記各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段と、
上記メッセージ認証鍵及び上記認証符号を含む情報であって、当該情報が当該メッセージ送信装置からの正しい情報であることを上記各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、
上記各メッセージ受信装置に対して上記送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段と、
上記認証情報通知手段が生成した上記認証情報通知情報と、上記メッセージ配布手段が生成したメッセージ配布情報とを、上記メッセージ受信装置に送信する送信手段と
を有し、
上記各メッセージ受信装置が、
上記認証情報通知情報と、上記メッセージ配布情報とを受信する受信手段と、
上記メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、上記メッセージ認証鍵及び上記認証符号を取得する認証情報取得手段と、
上記認証情報取得手段で取得された上記メッセージ認証鍵及び上記認証符号を用いて、上記メッセージ配布情報で配布された上記メッセージを認証するメッセージ認証手段と
を有する
ことを特徴とするメッセージ認証システム。
【請求項2】
上記各メッセージ受信装置が、さらに、
上記メッセージ認証手段により認証された上記メッセージを管理するメッセージ管理手段と、
他の上記メッセージ受信装置に対して、上記メッセージ管理手段で管理される上記メッセージを配布するメッセージ配布情報を生成するメッセージ配布手段と、
上記メッセージ配布手段により生成された上記メッセージ配布情報を、他の上記メッセージ受信装置に送信する送信手段と
を有することを特徴とする請求項1に記載のメッセージ認証システム。
【請求項3】
上記メッセージ送信装置が、さらに、
上記メッセージ受信装置から、上記配布したメッセージに対する認証情報要求情報を受信する受信手段を有し、
上記メッセージ受信装置が、さらに、
上記メッセージ送信装置に対して、上記メッセージを認証するために利用するメッセージ認証鍵及び認証符号を要求する認証情報要求情報を生成する認証情報要求手段と、
上記認証情報要求手段により生成された上記認証情報要求情報を、上記メッセージ送信装置に送信する送信手段と
を有することを特徴とする請求項1又は2に記載のメッセージ認証システム。
【請求項4】
上記メッセージ送信装置及び上記各メッセージ受信装置が、それぞれ一対の固有鍵を有し、
上記メッセージ送信装置の上記認証情報通知手段が、上記各メッセージ受信装置との間の上記固有鍵を用いて、上記認証情報通知情報を生成するものであり、
上記各メッセージ受信装置の上記認証情報取得手段が、上記固有鍵を用いて受信された上記認証情報通知情報が、上記メッセージ送信装置からの正しい情報であることを特定するものである
ことを特徴とする請求項1〜3のいずれかに記載のメッセージ認証システム。
【請求項5】
上記認証符号生成手段が、上記メッセージ毎に異なるメッセージ認証鍵を用いて上記認証符号を生成するものであることを特徴とする請求項1〜4のいずれかに記載のメッセージ認証システム。
【請求項6】
上記認証符号生成手段が、上記メッセージ及び上記メッセージ受信装置毎に異なるメッセージ認証鍵を用いて上記認証符号を生成するものであることを特徴とする請求項1〜4のいずれかに記載のメッセージ認証システム。
【請求項7】
1又は複数のメッセージ受信装置に対してメッセージを送信する通信装置において、
上記各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段と、
上記メッセージ認証鍵及び上記認証符号を含む情報であって、当該情報が当該通信装置からの正しい情報であることを上記各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、
上記各メッセージ受信装置に対して上記送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段と、
上記認証情報通知手段が生成した上記認証情報通知情報と、上記メッセージ配布手段が生成したメッセージ配布情報とを、上記メッセージ受信装置に送信する送信手段と
を備えることを特徴とする通信装置。
【請求項8】
メッセージ送信装置からのメッセージを受信する通信装置において、
上記メッセージ送信装置から、メッセージ認証鍵及びメッセージに対する認証符号を含む認証情報通知情報と、送信用のメッセージを含むメッセージ配布情報とを受信する受信手段と、
上記メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、上記メッセージ認証鍵及び上記認証符号を取得する認証情報取得手段と、
上記認証情報取得手段で取得された上記メッセージ認証鍵及び上記認証符号を用いて、上記メッセージ配布情報で配布された上記メッセージを認証するメッセージ認証手段と
を備えることを特徴とする通信装置。
【請求項9】
1又は複数のメッセージ受信装置に対してメッセージを送信する通信プログラムにおいて、
コンピュータを、
上記各メッセージ受信装置が未取得のメッセージ認証鍵を用いて、送信用のメッセージに対する認証符号を生成する認証符号生成手段、
上記メッセージ認証鍵及び上記認証符号を含む情報であって、当該情報が当該通信装置からの正しい情報であることを上記各メッセージ受信装置に特定させることができる認証情報通知情報を生成する認証情報通知手段と、
上記各メッセージ受信装置に対して上記送信用のメッセージを配布するメッセージ配布情報を生成するメッセージ配布手段、
上記認証情報通知手段が生成した上記認証情報通知情報と、上記メッセージ配布手段が生成したメッセージ配布情報とを、上記メッセージ受信装置に送信する送信手段
として機能させることを特徴とする通信プログラム。
【請求項10】
メッセージ送信装置からのメッセージを受信する通信プログラムにおいて、
コンピュータを、
上記メッセージ送信装置から、メッセージ認証鍵及びメッセージに対する認証符号を含む認証情報通知情報と、送信用のメッセージを含むメッセージ配布情報とを受信する受信手段、
上記メッセージ送信装置からの正しい情報であることを特定できた認証情報通知情報に含まれている、上記メッセージ認証鍵及び上記認証符号を取得する認証情報取得手段、
上記認証情報取得手段で取得された上記メッセージ認証鍵及び上記認証符号を用いて、上記メッセージ配布情報で配布された上記メッセージを認証するメッセージ認証手段
として機能させることを特徴とする通信プログラム。

【図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


【公開番号】特開2013−74322(P2013−74322A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−209662(P2011−209662)
【出願日】平成23年9月26日(2011.9.26)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】