情報処理装置
【課題】認証子の付加されたパケットが中継装置間で転送失敗した場合、パケットに付加する認証子の量を削減する。
【解決手段】中継装置10は経路情報記憶部102、鍵情報記憶部103、第2処理部106、認証子生成部109、送信部112などを有する。経路情報記憶部102は最終送信先アドレスと次に送信する宛先アドレスを対応づけて記憶する。認証子を含まないパケットを受信した場合に鍵情報記憶部103において次送信先アドレスを基に抽出した共有鍵を用いて認証子生成部109で認証子を生成してパケットを生成して送信部112が送信する。
【解決手段】中継装置10は経路情報記憶部102、鍵情報記憶部103、第2処理部106、認証子生成部109、送信部112などを有する。経路情報記憶部102は最終送信先アドレスと次に送信する宛先アドレスを対応づけて記憶する。認証子を含まないパケットを受信した場合に鍵情報記憶部103において次送信先アドレスを基に抽出した共有鍵を用いて認証子生成部109で認証子を生成してパケットを生成して送信部112が送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、データを中継する技術に関する。
【背景技術】
【0002】
ネットワークを介した端末機器間のパケット認証には一般にメッセージ認証コード(Message Authentication Code:MAC)と呼ばれる認証情報(認証子)が用いられる。パケット転送経路上の複数の中継装置を経由して、送信元機器から送信先機器にパケットが転送される場合は、送信元機器が経路上の複数の中継装置に対する複数のMAC(認証子)をパケットに付けて送信する。そのため、パケットを各中継装置で順次検証することができる。
【0003】
MAC認証技術を使うことにより、悪意を持つ攻撃者が通信経路上にある複数の中継装置を経由して、端末機器に不正アクセスすることを排除することができる。また、MAC認証技術を使うことにより、転送されたパケットが不正に改ざんされたことも検出できる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平9−214556号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、ネットワークの接続状況が悪いなどの原因で、複数のMAC(認証子)を付けられたパケットを通信経路上にある中継装置で転送が失敗する場合がある。
【0006】
また、送信先までに経由した中継装置の数が多い場合、パケットに付加されたMAC(認証子)の数も多くなり、通信効率化の観点からネットワークや中継装置に対する影響が大きい。
【0007】
そこで、本発明の一観点は、上述のような従来の問題点に鑑みてなされたもので、MAC(認証子)の付加されたパケットが中継装置間で転送失敗した場合、パケットに付加するMAC(認証子)の量を削減することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、請求項1に係る情報処理装置は、第1の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータとを含む第1のパケットを受信する受信部と、最終宛先アドレスと次に送信する宛先のアドレス情報を示す第1の次宛先アドレスと対応付けて記憶する経路情報記憶部と、受信した最終宛先アドレスに基づいて、未送信の第1の次宛先アドレスである第2の次宛先アドレスが経路情報記憶部に有るか否かを確認する経路情報確認部と、第2の次宛先アドレスが経路情報記憶部に有る場合に、第1のパケットと第2の次宛先アドレスに基づいて、第1のパケットに第2の次アドレスに対応する認証子が更に含まれるか否かを確認する第2処理部と、自己と他の装置との間で共有される鍵である第1共有鍵を記憶する鍵情報記憶部と、第1のパケットに第2の次アドレスに対応する認証子含まれる場合、第1のパケットと第2の次宛先アドレスに基づいて、第1のパケットを生成する第1パケット生成部と、第2の次アドレスに対応する認証子が無い場合、第2の次宛先アドレスに対応する装置と自己との間で共有される第1の共有鍵である第2の共有鍵が鍵情報記憶部に有るか否かを確認する第3処理部と、第2の共有鍵がある場合は、データと前記第2の共有鍵に基づいて第1の認証子を生成する認証子生成部と、最終宛先アドレスとデータと第1の認証子を含む第2のパケットを生成する第2パケット生成部と、第2の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第3のパケットを生成する第3パケット生成部と、第1パケットまたは第2パケットまたは第3パケットを送信する送信部とを有することを特徴とする。
【0009】
請求項3に係る発明は、第1の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータと認証子を含む第1のパケットを受信する受信部と、受信されたパケットに正しい認証子が含まれているかを検証する認証子検証部と、検証の結果、正しい認証子が含まれていた場合は、転送制御情報の値を所定の方法によって変更する転送制御情報処理部と、最終宛先アドレスと次に送信する宛先のアドレス情報を示す第1の次宛先アドレスとを対応付けて記憶する経路情報記憶部と、受信した最終宛先アドレスに基づいて、送信可能な第1の次宛先アドレスである第2の次宛先アドレスが経路情報記憶部に有るか否かを確認する第1処理部と、第2の次宛先アドレスが経路情報記憶部に有る場合に、第1のパケットと第2の次宛先アドレスに基づいて、第1のパケットに第2の次アドレスに対応する認証子が更に含まれるか否かを確認する第2処理部と、自己と他の装置との間で共有される鍵である第1共有鍵を記憶する鍵情報記憶部と、第1のパケットに第2の次アドレスに対応する認証子含まれる場合、第1のパケットと第2の次宛先アドレスに基づいて、第1のパケットを生成する第1パケット生成部と、第2の次アドレスに対応する認証子が無い場合、第2の次宛先アドレスに対応する装置と自己との間で共有される第1の共有鍵である第2の共有鍵が鍵情報記憶部に有るか否かを確認する第3処理部と、第2の共有鍵がある場合は、データと第1の共有鍵に基づいて第1の認証子を生成する認証子生成部と、最終宛先アドレスとデータと第1の認証子を含む第2のパケットを生成する第2パケット生成部と、第1の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第3のパケットを生成する第3パケット生成部と、第1パケットまたは第2パケットまたは第3パケットを送信する送信部とを有することを特徴とする。
【図面の簡単な説明】
【0010】
【図1】実施形態にかかる情報処理装置が用いられるシステムの一例を示す図。
【図2】第1の実施形態にかかる構成図を示す図。
【図3】第1の実施形態にかかる経路情報の例を示す図。
【図4】第1の実施形態にかかる鍵情報の例を示す図。
【図5】第1の実施形態にかかる動作のフローチャートを示す図。
【図6】第1の実施形態にかかる動作のフローチャートを示す図。
【図7】第1の実施形態の一実施例を示す図。
【図8】第2の実施形態にかかる構成図を示す図。
【図9】第2の実施形態にかかる動作のフローチャートを示す図。
【図10】第2の実施形態にかかる動作のフローチャートを示す図。
【図11】第2の実施形態にかかる動作例を示す図。
【図12】第2の実施形態にかかる動作の変形例を示す図。
【発明を実施するための形態】
【0011】
(第1の実施形態)
以下、 以下に図面を参照して、この発明にかかる第1の実施形態を詳細に説明する。
【0012】
図1は、本発明の一実施形態に係る情報処理装置が用いられる通信網の一構成例を示す図である。本情報処理装置は、本実施形態では中継装置を例として説明する。
【0013】
本通信網は、送信装置(11a、・・・)、複数の中継装置(10a〜10f)、受信装置(12a、12b、・・・)とを有する。送信装置11aは、中継装置(10a〜10f)と接続されている。送信装置11aは、中継装置(10a〜10f)に受信装置12aを宛先としてパケットを送信する。
【0014】
中継装置(10a〜10f)は、1以上の送信装置と1以上の中継装置と接続されるかまたは、1以上の他の中継装置と接続されるかまたは、1以上の中継装置と1以上の受信装置と接続されている。本通信網に含まれる中継装置の1つは複数の他の中継装置と接続されている。中継装置は、パケットを受信し、受信したパケットを他の中継装置または受信装置に送信する。受信装置は、パケットを受信する。
【0015】
図2は、本発明の一実施形態に係る情報処理装置(本例では中継装置)の一構成例を示す図である。
【0016】
中継装置10は、受信部101、認証子検証部104、経路情報記憶部102、第1処理部105(経路情報抽出部)、第2処理部106、鍵情報記憶部103、第3処理部107、認証子生成部109、第1パケット生成部108、第2パケット生成部110、第3パケット生成部111、送信部112を有する。
【0017】
受信部101は、送信装置または他の中継装置から送信されたパケット(S1パケット)を受信する。ここで、自己の中継装置にパケット(S1パケット)を送信してきた送信装置または他の中継装置を前送信元機器という。受信部101は、受信したパケット(S1パケット)を認証子検証部104に渡す。パケット(S1パケット)は、データ、データと送信装置が有する鍵から生成された認証子、前送信元機器のアドレス情報、パケット(S1パケット)の最終的な宛先のアドレス情報(最終送信先アドレス)を有する。
【0018】
経路情報記憶部102は、経路情報を記憶する。経路情報は、最終送信先アドレスとパケットを次に送信する宛先のアドレス情報(第1の次送信先アドレス)とを対応付けた情報を含む。また、更に送信対象の候補となるアドレスか否かを示す情報(送信対象候補情報)を対応付けても良い。最終送信先アドレスは、本実施形態では受信装置の宛先情報である。経路情報は、受信したパケットをどこへ送信すれば良いかを判断されるために利用される。また、次に送信する宛先である他の中継装置または受信装置を次送信先機器という。
【0019】
図3は、経路情報記憶部102に記憶される経路情報の例を示す図である。図3では、目的送付先(最終送信先アドレス)と転送先(次送信先アドレス)と送信不可(送信対象の候補となるアドレスか否かを示す情報)とを対応付けて記憶している。
【0020】
鍵情報記憶部103は、中継装置と送信装置との共有鍵、または中継装置と他の中継装置との共有鍵、または中継装置と受信装置との共有鍵を記憶する。
【0021】
図4は、鍵情報記憶部103に記憶される鍵情報の例を示す図である。「K」は鍵を意味し、「K」にかっこ書きが付された表記が、「−」で繋がれた機器の間で共有される鍵を意味する。例えば、K(B−C)は機器B、Cの間で共有される共有鍵を意味する。K(A−B−D)は機器A、B、Dの間で共有される共有鍵を意味する。図11、図12では、Kに下付のA−B−Dが同じ意味を表す。
【0022】
認証子検証部104は、受信部101が受信したパケットを受け付ける。受信したパケットに認証子が含まれるか否かを確認する。認証子が含まれている場合は、パケットに含まれるメッセージと鍵情報記憶部103に記憶されている共有鍵を用いて認証子を生成する。生成した認証子と受信した認証子と同一か否かによって検証する。同一の認証子が生成できたことは、受信したパケットの送信元の装置と受信した装置とが同一の共有鍵を有していることを示している。生成した認証子と受信した認証子と同一であることが検証されると、パケットを受信できることになる。
【0023】
そのため、生成した認証子と受信した認証子と同一であることが検証されると、後述する第1処理部105に受信したパケットを渡す。
【0024】
一方、生成した認証子と受信した認証子と同一ではないことが検証されると、送信部112に受信不可との情報を渡す。
【0025】
第1処理部105(経路情報抽出部)は、受信部101が受信したパケット(受信パケット)の最終送信先アドレスに基づいて、経路情報記憶部102に受信パケットの最終送信先アドレスを含む経路情報があるか否かを判定する。
【0026】
第1処理部105(経路情報抽出部)は、経路情報があると判定した場合、最終送信先アドレスと対応付けられている第1の次送信先アドレスを1つ以上抽出する。さらに、抽出された1つ以上の第1の送信先アドレスから送信対象の候補となる第1の次宛先アドレスである第2の次宛先アドレスを抽出する。ここで、第2の次送信先アドレスが複数ある場合は、その中から1つを抽出する。そして、抽出された第2の次送信先アドレスを後述の第2処理部106に出力する。なお、複数の第2の次送信先アドレスから1つの第2の次送信先アドレスを抽出する方法は、特に限定されないが、経路情報記憶部102に記憶されている順番などでも良い。
【0027】
図3の例では、最終送信先アドレスが「MDMS12sa」である場合、次送信先アドレスとして中継装置10sa、中継装置10seの2つが記憶されており、この2つの次送信先アドレスが抽出される。さらに、送信可否(送信対象の候補となるアドレスか否かを示す情報)は、「中継装置10sa」が「否」、「中継装置10se」が「可」となっており、送信対象の候補となり得るアドレスは「中継装置10se」のみであるため、「中継装置10se」が抽出される。
【0028】
第1処理部105(経路情報抽出部)は、経路情報がないと判定した場合、受信パケットが送信できない旨を送信部112に出力する。
【0029】
第2処理部106は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むか否かを判定する。ここで、次送信先機器と前送信元機器との組み合わせの具体例としては、第2の次送信先アドレスに対応する中継装置と送信装置、または第2の次送信先アドレスに対応する中継装置と他の中継装置、または第2の次送信先アドレスに対応する受信装置と他の中継装置などがある。
【0030】
第2処理部106は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むと判定した場合は、受信パケットと、第2の次送信先アドレスとを第1パケット生成部108に出力する。
【0031】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【0032】
第2処理部106は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含まないと判定した場合は、第3処理部107(鍵確認部)に受信パケットと第2の次送信先アドレスと出力する。
【0033】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【0034】
第3処理部107(鍵確認部)は、受信パケットと第2の次送信先アドレスを受け付け、自己の中継装置と次送信先機器(第2の次送信先アドレスに対応する機器)との共有鍵が鍵情報記憶部103に有るか否かを判定する。自己の中継装置と次送信先機器との共有鍵の具体例としては、自己の中継装置と次の送信先の中継装置との共有鍵、または自己の中継装置と受信装置との共有鍵の有無などがある。
【0035】
第3処理部107(鍵確認部)は、自己の中継装置と次送信先機器との共有鍵が有ると判定した場合は、見つかった共有鍵を鍵情報記憶部103から読み出す。そして、受信パケット、第2の次送信先アドレス、読み出した共有鍵を認証子生成部109に出力する。
【0036】
第3処理部107(鍵確認部)は、自己の中継装置と次送信先機器との共有鍵が無いと判定した場合は、第2の次送信先アドレスを第3パケット生成部111に出力する。
【0037】
第1パケット生成部108は、受信した受信パケットと第2の次送信先アドレスに基づいて、受信パケットに含まれるデータと第2の次送信先アドレスを含むパケットである第1のパケットを生成し、送信部112に出力する。
【0038】
認証子生成部109は、受信パケット、第2の次送信先アドレス、読み出された共有鍵(A1共通鍵)を受け付ける。受信パケットに含まれるデータとA1共有鍵とに基づいて認証子(A1認証子)を生成する。そして、受信パケット、第2の次送信先アドレス、A1認証子を第2パケット生成部110に出力する。
【0039】
第2パケット生成部110は、受信パケットに含まれるデータ、第2の次送信先アドレス、A1認証子を含むパケットであるA2パケットを生成し、送信部112に出力する。
【0040】
第3パケット生成部111は、第2の次送信先アドレスを受け付け、受信パケットに含まれるデータ、次送信先機器と前送信元機器との共有鍵(A2共通鍵)によって生成される認証子の生成依頼と第2の次送信先アドレスを含むパケットであるA3パケットを生成する。
【0041】
なお、第3パケット生成部111は、A3パケットには、A2共有鍵の生成依頼は含めずにA3パケットを生成しても良い。その場合、第2の次送信先アドレスを後述する送信部112から受けた前送信元機器が、第2の次送信先アドレスに基づいてA2共有鍵を生成しても良い。
【0042】
送信部112は、第1処理部105(経路情報確認部)から受信パケットが送信できない旨を受け付けると、前送信元機器に受信パケットが送信できない旨を送信する。
【0043】
送信部112は、第1パケット生成部108からA1パケットを受け付けると、第2の次送信先アドレスの次送信先機器にA1パケットを送信する。
【0044】
送信部112は、第2パケット生成部110からA2パケットを受け付けると、第2の次送信先アドレスの次送信先機器にA2パケットを送信する。
【0045】
送信部112は、第3パケット生成部111からA3パケットを受け付けると、前送信先機器にA3パケットを送信する。
【0046】
また、中継装置が前送信元機器(送信装置)である場合について述べる。
【0047】
受信部101は、A3パケットを受信する。そして、A3パケットを第3処理部107に送信する。
【0048】
第3処理部107は、A3パケットを受信すると、自己と第2の次送信元アドレスが示す装置との共有鍵(A2共有鍵)が鍵情報記憶部103に有るか否かを判定する。
【0049】
第3処理部107は、自己と第2の次送信元アドレスが示す装置との共有鍵が鍵情報記憶部103に有る場合、共有鍵(A2共有鍵)を鍵情報記憶部103から抽出する。
【0050】
第3処理部107は、A3パケットと共有鍵(A2共有鍵)を認証子生成部109に出力する。
【0051】
認証子生成部109は、A3パケットに含まれるデータと共有鍵(A2共有鍵)に基づいて認証子(B1認証子)を生成する。そして、認証子生成部109は、A3パケットに含まれるデータと共有鍵(A2共有鍵)と認証子(A2認証子)を第2パケット生成部110に出力する。
【0052】
第2パケット生成部110は、認証子生成部109は、A3パケットに含まれるデータと共有鍵(A2共有鍵)と認証子(A2認証子)を含むパケットである第4パケットを生成し、第4パケットを送信部112に出力する。
【0053】
次に、図2の中継装置の動作について説明する。図5は、中継装置の動作のフローチャートである。
【0054】
受信部101にて、送信装置または他の中継装置から送信されたパケットを受信する(S101)。受信されたパケットは認証子検証部104に渡される。
【0055】
認証子検証部104は、受信したパケットに認証子が含まれるか否かを確認する(S102)。
【0056】
認証子検証部104は、受信したパケットに認証子が含まれなかった場合(NO)、送信元の前送信元機器に受信できない旨を返信する(S103)。
【0057】
認証子検証部104は、受信したパケットに認証子が含まれる場合(YES)、認証子検証部104は受信パケットを第1処理部105に送信する。第1処理部105は、パケットの最終送信先アドレスに基づいて、経路情報が有るか否かを判定する(S104)。
【0058】
そして、経路情報が無い場合は、第1処理部105は受信パケットが送信できない旨を送信部112に出力する(S105)。
【0059】
経路情報がある場合は、第1処理部105は経路情報記憶部102から第2の次送信先アドレスを抽出し、抽出された第2の次送信先アドレスを第2処理部106に出力する(S106)。
【0060】
第2処理部106は、第2のアドレスに対応する次送信先機器と前送信元機器との共有鍵(A1共有鍵)を用いて生成されたA1認証子を受信パケットが含むか否かを判定する(S107)。
【0061】
受信パケットが認証子を含むと判定した場合(YES)は、受信パケットと第2の次送信先アドレスとが第1パケット生成部108に出力される。
【0062】
第1パケット生成部108では、受信パケットに含まれるデータと第2の次送信先アドレスとを含むA1パケットを生成し(S108)、送信部112に送信する(S109)。
【0063】
受信パケットがA1認証子を含まないと判定した場合(NO)は、第3処理部107は、鍵情報記憶部103に自己と第2の次送信先アドレスに対応する機器との共有鍵(A1共有鍵)が有るか否か判定する(S110)。
【0064】
A1共有鍵がある場合(YES)は、鍵情報記憶部103からA1共有鍵を読み出し(S111)、認証子生成部109は、受信パケット、第2の次送信先アドレス、A1共有鍵とに基づいてA1認証子を生成する(S112)。そして、第2パケット生成部110は、受信パケットに含まれるデータ、第2の送信先アドレス情報、A1認証子を含むA2パケットを生成し(S113)、送信部112にA2パケットを出力する(S114)。
【0065】
A1共有鍵が無い場合(NO)は、第3パケット生成部111は、次送信先機器と前送信元機器との共有鍵(A2共有鍵)の生成依頼と第2の次送信先アドレスを含むA3パケットを生成し(S115)、A3パケットを送信部112に出力する(S116)。
【0066】
なお、S117とS118については後述する。
【0067】
図6は、A3パケットを受信した場合の、前送信元機器(中継装置)の動作を示すフローチャートである。
【0068】
受信部101は、A3パケットを受信する(S201)。A3パケットは受信部101から第3処理部107に出力される。
【0069】
第3処理部107は、A3パケットを受信すると、自己と第2の次送信元アドレスが示す装置との共有鍵(A2共有鍵)が鍵情報記憶部103に有るか否かを判定する(S202)。
【0070】
A2共有鍵が鍵情報記憶部103に有る場合、認証子生成部109は、A3パケットに含まれるデータと共有鍵(A2共有鍵)に基づいて認証子(A2認証子)を生成する(S203)。そして、認証子生成部109は、A3パケットに含まれるデータと共有鍵(A2共有鍵)と認証子(A2認証子)を第2パケット生成部110に出力する。
【0071】
第2パケット生成部110は、A3パケットに含まれるデータと共有鍵(A2共有鍵)と認証子(A2認証子)を含むパケットである第4パケットを生成し(S204)、第4パケットを送信部112に出力する(S205)。
【0072】
A2共有鍵が鍵情報記憶部103に無い場合は、第3処理部107は、第1処理部105に経路情報記憶部102のうち対象のアドレスを送信不可に変更する旨を出力して、第1処理部105は第1処理部105に経路情報記憶部102のうち対象のアドレスを送信不可に変更する(S117)。そして、第1処理部105はS104以降の処理を更に行う。
【0073】
中継装置は、送信先から送信不可の返信を受け付ける(S118)。その後は、経路情報の確認を行う(S104)フローとなる。
【0074】
図7は、上記実施形態に係る中継装置が用いられる実施例として、スマートグリッド通信網の一構成例を示す。図7において、電力使用量を集計するスマートメータ11sa〜11scは、中継装置10sa〜10shによって数台ごとにまとめられ、通信網を介してメータデータ管理システムであるMDMS(Meter Data Management System)12sa〜12scと通信する。MDMSは、各家庭のスマートメータから一定の間隔で電力使用量を受信して記憶する。
【0075】
本実施例のスマートグリッド通信網では、パケットが送信元の端末から最終的な宛先端末に到達するまでに幾つかの中継装置を通過する。上記のスマートメータ、中継装置やMDMSは、DoS(Denial of Service attack)攻撃を防ぐため、そこから外部へのパケット送出あるいは外部からのパケット流入にあたり、パケットの認証処理を実行する。
【0076】
上記の中継装置10saがパケットの送信先スマートメータ11saからパケットの中継依頼を受けた時、パケットの転送先に向け、次の中継装置10sbとの共有鍵を持っているかどうかに基づいて、パケットを中継するかを判断する。共有鍵とは、送信者と受信者が共有している秘密鍵である。この共有鍵を使って、MAC認証子を生成や検証することができる。共有鍵を事前に持ってない原因で送信者と受信者のMAC認証子を作れないため、パケットの中継が出来ない場合は、中継装置10saはスマートメータ11saに転送先である中継装置10sbとの共有鍵があるかことを問い合わせる機能を有している。スマートメータ11saが中継装置10sbとの共有鍵を持つ場合、中継装置10saと10sbの2つのMAC認証子を生成し、中継装置10saにパケットを転送する。中継装置10saは、パケットに付加されたMAC認証子を検証できたら、中継装置10sbへパケットとスマートメータ11saが付加したMAC認証子と一緒に転送する。
【0077】
(第2の実施形態)
次に、第2の実施形態について説明する。
【0078】
本実施形態では、パケットはデータ、認証子の他に、検証または転送を続ける回数を示す情報(転送制御情報)を含む。この転送制御情報は認証子に対応付けられている。
【0079】
図8は第2の実施形態に係る情報処理装置(本例では中継装置)20の構成を示す図である。
【0080】
受信部201は、送信装置または他の中継装置から送信されたパケットを受信する。ここで、自己の中継装置にパケットを送信してきた送信装置または他の中継装置を前送信元機器という。受信部201は、受信したパケットを認証子検証部204に渡す。パケットは、データ、データと送信装置が有する共有鍵から生成された認証子、前送信元機器のアドレス情報、パケットの最終的な宛先のアドレス情報(最終送信先アドレス)を有する。
【0081】
経路情報記憶部202は、経路情報を記憶する。経路情報は、最終送信先アドレスとパケットを次に送信する宛先のアドレス情報(第1の次送信先アドレス)とを対応付けた情報を含む。最終送信先アドレスは、本実施形態では受信装置の宛先情報である。経路情報は、受信したパケットをどこへ送信すれば良いかを判断されるために利用される。また、次に送信する宛先である他の中継装置または受信装置を次送信先機器という。
【0082】
鍵情報記憶部203は、中継装置と送信装置との共有鍵、または中継装置と他の中継装置との共有鍵、または中継装置と受信装置との共有鍵を記憶する。
【0083】
認証子検証部204は、認証子の検証の結果、正しい認証子が受信パケットに含まれていると判定した場合、受信パケットを転送制御情報処理部205に出力する。
【0084】
転送制御情報処理部205は、受信パケットを受け付けると、転送制御情報の値を所定の方法によって変更する。変更した結果、所定の条件となった場合は、転送制御情報を受信パケットから削除する。ここで、所定の方法としては、例えば、前送信元機器と自己との共有鍵で生成された認証子に対応する転送制御情報の値を1減らす。もし、転送制御情報の値が0となった場合は、転送制御情報を受信パケットから削除する。所定の方法としては、上記1減らす方法に限定されず、それ以外に転送制御情報に所定の演算を行ってもよく、所定数減らしたり、所定数増やしたりしても良い。そして、転送制御情報処理部205は、処理後の受信パケットを第1処理部206に出力する。
【0085】
第1処理部206(経路情報抽出部)は、受信部201が受信したパケット(受信パケット)の最終送信先アドレスに基づいて、経路情報記憶部202に受信パケットの最終送信先アドレスを含む経路情報があるか否かを判定する。
【0086】
第1処理部206(経路情報抽出部)は、経路情報があると判定した場合、最終送信先アドレスと対応付けられている第1の次送信先アドレスを1つ以上抽出する。さらに、抽出された1つ以上の第1の送信先アドレスから送信対象の候補となる第1の次宛先アドレスである第2の次宛先アドレスを抽出する。ここで、第2の次送信先アドレスが複数ある場合は、その中から1つを抽出する。そして、抽出された第2の次送信先アドレスを後述の第2処理部207に出力する。なお、複数の第2の次送信先アドレスから1つの第2の次送信先アドレスを抽出する方法は、特に限定されないが、経路情報記憶部202に記憶されている順番などでも良い。
【0087】
第1処理部206(経路情報抽出部)は、経路情報がないと判定した場合、受信パケットが送信できない旨を送信部213に出力する。
【0088】
第2処理部207は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むか否かを判定する。ここで、次送信先機器と前送信元機器との組み合わせの具体例としては、第2の次送信先アドレスに対応する中継装置と送信装置、または第2の次送信先アドレスに対応する中継装置と他の中継装置、または第2の次送信先アドレスに対応する受信装置と他の中継装置などがある。
【0089】
第2処理部207は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むと判定した場合は、受信パケットと、第2の次送信先アドレスとを第1パケット生成部209に出力する。
【0090】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【0091】
第2処理部207は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含まないと判定した場合は、第3処理部208(鍵確認部)に受信パケットと第2の次送信先アドレスと出力する。
【0092】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【0093】
第3処理部208は、受信パケットと第2の次送信先アドレスを受け付け、自己の中継装置と次送信先機器との共有鍵が鍵情報記憶部203に有るか否かを判定する。
【0094】
第3処理部208は、自己の中継装置と次送信先機器との共有鍵が鍵情報記憶部203に有ると判定した場合は、見つかった共有鍵、回数情報を鍵情報記憶部203から読み出す。受信パケット、第2の次送信先アドレス、読み出した共有鍵、回数情報を認証子/転送制御情報生成部210に出力する。
【0095】
第1パケット生成部209は、受信した受信パケットと第2の次送信先アドレスに基づいて、受信パケットに含まれるデータと第2の次送信先アドレスを含むパケットである第1のパケットを生成し、送信部213に出力する。
【0096】
認証子/転送制御情報生成部210は、受信パケット、第2の次送信先アドレス、読み出した共有鍵、回数情報を受け付ける。受信パケットに含まれるデータと共有鍵とに基づいて認証子(B1認証子)を生成し、回数情報に基づいて転送制御情報を生成する。そして、受信パケット、第2の次送信先アドレス、生成した認証子、転送制御情報を第2パケット生成部211に出力する。
【0097】
第2パケット生成部211は、受信パケット、第2の次送信先アドレス、生成した認証子(B1認証子)、転送制御情報を第2パケット生成部211を受け付け、受信パケットに含まれるデータ、第2の送信先アドレス、B1認証子を含むパケット(B2パケット)を生成し、送信部213に出力する。
【0098】
第3パケット生成部212は、第2の次送信先アドレスを受け付け、受信パケットに含まれるデータ、次送信先機器と前送信元機器との共有鍵(B2共通鍵)によって生成される認証子の生成依頼と第2の次送信先アドレスを含むパケットであるA3パケットを生成する。
【0099】
なお、第3パケット生成部212は、A3パケットには、B2共有鍵の生成依頼は含めずにA3パケットを生成しても良い。その場合、第2の次送信先アドレスを後述する送信部213から受けた前送信元機器が、第2の次送信先アドレスに基づいてB2共有鍵を生成しても良い。
【0100】
送信部213は、第1処理部105(経路情報確認部)から受信パケットが送信できない旨を受け付けると、前送信元機器に受信パケットが送信できない旨を送信する。
【0101】
送信部213は、第1パケット生成部108から第1パケットを受け付けると、第2の次送信先アドレスの次送信先機器に第1パケットを送信する。
【0102】
送信部213は、第2パケット生成部110からA2パケットを受け付けると、第2の次送信先アドレスの次送信先機器にA2パケットを送信する。
【0103】
送信部213は、第3パケット生成部111からA3パケットを受け付けると、前送信先機器にA3パケットを送信する。
【0104】
次に、図8の中継装置の動作について説明する。図9は、図8の中継装置の動作概要のフローチャートである。
【0105】
受信部201にて、送信装置または他の中継装置から送信されたパケットを受信する(S301)。受信されたパケットは認証子検証部204に渡される。
【0106】
認証子検証部204は、受信したパケットに認証子が含まれるか否かを確認する(S302)。
【0107】
認証子検証部204は、受信したパケットに認証子が含まれなかった場合(NO)、送信元の前送信元機器に受信できない旨を返信する(S303)。
【0108】
認証子検証部204は、認証子の検証の結果、正しい認証子が受信パケットに含まれていると判定した場合、受信パケットを転送制御情報処理部205に出力する(YES)。
【0109】
転送制御処理部は、受信パケットを受け付けると、前送信元機器と自己との共有鍵で生成された認証子に対応する転送制御情報の値を1減らす。もし、転送制御情報の値が0となった場合は、転送制御情報を受信パケットから削除する(S304)。そして、処理後の受信パケットを第1処理部206に出力する
第1処理部206は、パケットの最終送信先アドレスに基づいて、経路情報が有るか否かを判定する(S305)。
【0110】
そして、経路情報が無い場合は、第1処理部206は受信パケットが送信できない旨を送信部213に出力する(S306)。
【0111】
経路情報がある場合は、第1処理部206は経路情報記憶部202から第2の次送信先アドレスを抽出し、受信パケットと第2の次送信先アドレスを第2処理部207に出力する(S307)。
【0112】
第2処理部207は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むか否かを判定する(S308)。
【0113】
受信パケットが認証子を含むと判定した場合(YES)は、受信パケットと第2の次送信先アドレスとが第1パケット生成部209に出力される。
【0114】
第1パケット生成部209では、受信パケットに含まれるデータと第2の次送信先アドレスとを含む第1パケットを生成し(S309)、送信部213に送信する(S310)。
【0115】
受信パケットが認証子を含まないと判定した場合(NO)は、第3処理部208は、受信パケットと第2の次送信先アドレスを受け付け、自己の中継装置と次送信先機器との共有鍵(B1共有鍵)が鍵情報記憶部203に有るか否かを判定する(S311)。
【0116】
第3処理部208は、自己の中継装置と次送信先機器との共有鍵(B1共有鍵)が鍵情報記憶部203に有ると判定した場合は、見つかったB1共有鍵、回数情報を鍵情報記憶部203から読み出す(S312)。受信パケット、第2の次送信先アドレス、読み出したB1共有鍵、回数情報を認証子/転送制御情報生成部210に出力する。
【0117】
認証子/転送制御情報生成部210は、受信パケット、第2の次送信先アドレス、読み出したB1共有鍵、回数情報を受け付ける。受信パケットに含まれるデータとB1共有鍵とに基づいて認証子(B1認証子)を生成し、回数情報に基づいて転送制御情報を生成する(S313)。そして、受信パケット、第2の次送信先アドレス、生成した認証子、転送制御情報を第2パケット生成部211に出力する。
【0118】
第2パケット生成部211は、受信パケット、第2の次送信先アドレス、生成した認証子(B1認証子)、転送制御情報を受け付け、受信パケットに含まれるデータ、第2の送信先アドレス、B1認証子を含むパケット(B2パケット)を生成し(S314)、送信部213に出力する(S315)。
【0119】
B1共有鍵が無い場合(NO)は、第3パケット生成部212は、次送信先機器と前送信元機器との共有鍵(B2共有鍵)の生成依頼と第2の次送信先アドレスを含むB3パケットを生成し(S316)、B3パケットを送信部213に出力する(S317)。
【0120】
なお、S318とS319については後述する。
【0121】
図10は、B3パケットを受信した場合の、前送信元機器(中継装置)の動作を示すフローチャートである。
【0122】
受信部201は、B3パケットを受信する(S401)。B3パケットは受信部201から第3処理部208に出力される。
【0123】
第3処理部208は、B3パケットを受信すると、自己と第2の次送信元アドレスが示す装置との共有鍵(B2共有鍵)が鍵情報記憶部203に有るか否かを判定する(S402)。
【0124】
B2共有鍵が鍵情報記憶部203に有る場合、認証子生成部は、受信パケット、第2の次送信先アドレス、読み出したB2共有鍵、回数情報を受け付ける(S403)。
【0125】
受信パケットに含まれるデータとB2共有鍵とに基づいて認証子(B3認証子)を生成し、回数情報に基づいて転送制御情報を生成する(S404)。そして、受信パケット、第2の次送信先アドレス、生成した認証子(B3認証子)、転送制御情報をB2パケット生成部に出力する。
【0126】
第2パケット生成部211は、受信パケット、第2の次送信先アドレス、生成した認証子(B1認証子)、転送制御情報を第2パケット生成部211を受け付ける。第2パケット送信部213は、受信パケットに含まれるデータ、第2の送信先アドレス、B1認証子を含むパケット(B4パケット)を生成し(S405)、送信部213に出力する。そして、送信部213はB4パケットをする(S406)。
【0127】
中継装置は、送信先の他の中継装置から送信不可の返信を受ける((1))と、経路情報のうち対象のアドレスを送信不可に変更する(S318)。また、認証子が無いと判定された場合(S302でNOの場合(2))、経路情報が無いと判定された場合(S305で無いの場合(2))も、経路情報のうち対象のアドレスを送信不可に変更する(S319)。
【0128】
第2の実施形態の動作例を説明する。図11は具体的な動作例を示す図である。
【0129】
上記のスマートメータと中継装置は通信先との共有鍵でパケットのMAC認証子を生成する際に、MAC認証制御情報をそのMAC認証子と一緒に設定する手段(認証子/転送制御情報生成部210)を有している。MAC認証制御情報には、そのMAC認証子を検証してから、削除するか、もしくは転送を続けるかの情報を記載する。
【0130】
具体的には、n人の共有鍵でMAC認証子を生成した場合、そのMAC認証子を他の(n-1)人の共有者に検証することが必要ため、MAC転送制御情報に(n−1)をマークしておく(例:3人の共有鍵でMAC認証子を生成した場合、ほか2人共有者に2回の検証が必要ため、MAC転送制御情報に2をマークしておく)。次の端末がパケットを受信して、MAC認証子を検証できた時にそのMAC転送制御情報部分を‘1’減した新しい回数を更新する。減した新しい回数は‘=0’になったら、そのMACとMAC転送制御情報部分を削除する。‘>0’の場合は、次の中継装置へ転送を続ける。
【0131】
以下の説明では、「K」は鍵を意味し、「K」にかっこ書きが付された表記が、「−」で繋がれた機器の間で共有される鍵を意味する。図Q,Rの表現では、「K」に下付で表された表記が、「−」で繋がれた機器の間で共有される鍵を意味する。例えば、K(A−B−D)は機器A、B、Dの共有鍵を意味する。図Q、Rでは、Kに下付のA−B−Dが同じ意味を表す。また、K(A−B−D)により生成した認証子はMAC認証子(A−B−D)と表す。図Q,Rでは、MACに下付のA−B−Dが同じ意味を表す。
【0132】
例として、図Qでは、K(A−B−D)は機器A、B、Dの共有鍵、K(B−C)は機器B、Cの共有鍵、K(D−E)は機器D、Eの共有鍵である。
【0133】
初めに、機器AがK(A−B−D)で機器B、DとのMAC認証子であるMAC(A−B−D)を生成し、MAC制御認証情報には2と設定して、Bにデータのパケットを転送する。
【0134】
機器Bは、K(A−B−D)でMAC認証子を検証できたら、MAC制御認証情報部分を1を減らし、機器Cとの共有鍵K(B−C)でMAC認証子MAC(A−B−D)とMAC制御認証情報を生成して、機器Cにパケットを転送する。
【0135】
機器CはK(B−C)でMAC認証子MAC(B−C)を検証できたら、MAC制御認証情報に1を減らしたら、0となったので、MAC認証子MAC(B−C)の部分を外して、機器Dに転送する。
【0136】
機器DはK(A−B−C)でMAC認証子MAC(A−B−D)を検証できたら、MAC制御認証制御に1を減らしたら、0となったので、MAC認証子MAC(A−B−D)の部分を外して、鍵K(D−E)でMAC認証子MAC(D−E)とMAC制御認証情報を生成して、Eにパケットを転送する.Eは、鍵K(D−E)でMAC認証子MAC(D−E)を検証することができる。
【0137】
図12では、上記のMAC認証制御情報には、別の方法として、各MAC認証子を検証する装置を識別できる名前やIDを記載する。そのMAC認証子を検証できた装置は、自分の名前を削除し、記載された名前が無くなったら、このMAC認証子を次の装置に転送せず、削除する。例として、図Rに示すように、K(A−B−D)は機器A、B、Dの共有鍵、K(B−C)は機器B、Cの共有鍵、K(D−E)は機器Dと機器Eの共有鍵である。
【0138】
初めに、機器AがK(A−B−D)で機器B、DとのMAC認証子MAC(A−B−D)を生成し、MAC制御認証情報には機器B、Dの識別子(名称など)を記載し、機器Bにデータのパケットを転送する。機器Bは、K(A−B−D)でMAC認証子を検証できたら、MAC制御認証情報に自分の識別子(名称)を外し、機器Cとの共有鍵K(B−C)でMAC認証子MAC(A−B−D)とMAC制御認証情報を生成して、機器Cにパケットを転送する。
【0139】
機器CはK(B−C)でMAC認証子MAC(B−C)を検証できたら、MAC制御認証情報に自分の識別子(名称)を外し、空白となったので、MAC認証子MAC(B−C)の部分を外して、機器Dに転送する。
【0140】
機器DはK(A−B−D)でMAC認証子MAC(A−B−D)を検証できたら、MAC制御認証情報に自分の識別子(名称)を外して、空白となったので、MAC認証子MAC(A−B−D)の部分を外して、鍵K(D−E)でMAC認証子MAC(D−E)とMAC制御認証情報を生成して、機器Eにパケットを転送する.そして、機器Eは、鍵K(D−E)でMAC認証子MAC(D−E)を検証することができる。
【0141】
こういうMAC認証制御情報を設けることによって、複数(3つ以上)の中継装置に係るMAC認証子を転送・制御することができる。
【0142】
本実施の形態に係る発明によって、MAC(認証子)の付加されたパケットが中継装置間で転送失敗した場合、パケットに付加するMAC(認証子)の量を削減することができる。
【0143】
また、これにより通信のオーバヘッドを削減、認証処理の負荷を削減した上で、DoS攻撃を抑制することが出来る。
【0144】
なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0145】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0146】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行しても良い。
【0147】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0148】
また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0149】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0150】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0151】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0152】
101・・・受信部
102・・・経路情報記憶部
103・・・鍵情報記憶部
104・・・認証子検証部
105・・・第1処理部
106・・・第2処理部
107・・・第3処理部
108・・・第1パケット生成部
109・・・認証子生成部
110・・・第2パケット生成部
111・・・第3パケット生成部
112・・・送信部
【技術分野】
【0001】
本発明の実施形態は、データを中継する技術に関する。
【背景技術】
【0002】
ネットワークを介した端末機器間のパケット認証には一般にメッセージ認証コード(Message Authentication Code:MAC)と呼ばれる認証情報(認証子)が用いられる。パケット転送経路上の複数の中継装置を経由して、送信元機器から送信先機器にパケットが転送される場合は、送信元機器が経路上の複数の中継装置に対する複数のMAC(認証子)をパケットに付けて送信する。そのため、パケットを各中継装置で順次検証することができる。
【0003】
MAC認証技術を使うことにより、悪意を持つ攻撃者が通信経路上にある複数の中継装置を経由して、端末機器に不正アクセスすることを排除することができる。また、MAC認証技術を使うことにより、転送されたパケットが不正に改ざんされたことも検出できる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平9−214556号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、ネットワークの接続状況が悪いなどの原因で、複数のMAC(認証子)を付けられたパケットを通信経路上にある中継装置で転送が失敗する場合がある。
【0006】
また、送信先までに経由した中継装置の数が多い場合、パケットに付加されたMAC(認証子)の数も多くなり、通信効率化の観点からネットワークや中継装置に対する影響が大きい。
【0007】
そこで、本発明の一観点は、上述のような従来の問題点に鑑みてなされたもので、MAC(認証子)の付加されたパケットが中継装置間で転送失敗した場合、パケットに付加するMAC(認証子)の量を削減することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、請求項1に係る情報処理装置は、第1の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータとを含む第1のパケットを受信する受信部と、最終宛先アドレスと次に送信する宛先のアドレス情報を示す第1の次宛先アドレスと対応付けて記憶する経路情報記憶部と、受信した最終宛先アドレスに基づいて、未送信の第1の次宛先アドレスである第2の次宛先アドレスが経路情報記憶部に有るか否かを確認する経路情報確認部と、第2の次宛先アドレスが経路情報記憶部に有る場合に、第1のパケットと第2の次宛先アドレスに基づいて、第1のパケットに第2の次アドレスに対応する認証子が更に含まれるか否かを確認する第2処理部と、自己と他の装置との間で共有される鍵である第1共有鍵を記憶する鍵情報記憶部と、第1のパケットに第2の次アドレスに対応する認証子含まれる場合、第1のパケットと第2の次宛先アドレスに基づいて、第1のパケットを生成する第1パケット生成部と、第2の次アドレスに対応する認証子が無い場合、第2の次宛先アドレスに対応する装置と自己との間で共有される第1の共有鍵である第2の共有鍵が鍵情報記憶部に有るか否かを確認する第3処理部と、第2の共有鍵がある場合は、データと前記第2の共有鍵に基づいて第1の認証子を生成する認証子生成部と、最終宛先アドレスとデータと第1の認証子を含む第2のパケットを生成する第2パケット生成部と、第2の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第3のパケットを生成する第3パケット生成部と、第1パケットまたは第2パケットまたは第3パケットを送信する送信部とを有することを特徴とする。
【0009】
請求項3に係る発明は、第1の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータと認証子を含む第1のパケットを受信する受信部と、受信されたパケットに正しい認証子が含まれているかを検証する認証子検証部と、検証の結果、正しい認証子が含まれていた場合は、転送制御情報の値を所定の方法によって変更する転送制御情報処理部と、最終宛先アドレスと次に送信する宛先のアドレス情報を示す第1の次宛先アドレスとを対応付けて記憶する経路情報記憶部と、受信した最終宛先アドレスに基づいて、送信可能な第1の次宛先アドレスである第2の次宛先アドレスが経路情報記憶部に有るか否かを確認する第1処理部と、第2の次宛先アドレスが経路情報記憶部に有る場合に、第1のパケットと第2の次宛先アドレスに基づいて、第1のパケットに第2の次アドレスに対応する認証子が更に含まれるか否かを確認する第2処理部と、自己と他の装置との間で共有される鍵である第1共有鍵を記憶する鍵情報記憶部と、第1のパケットに第2の次アドレスに対応する認証子含まれる場合、第1のパケットと第2の次宛先アドレスに基づいて、第1のパケットを生成する第1パケット生成部と、第2の次アドレスに対応する認証子が無い場合、第2の次宛先アドレスに対応する装置と自己との間で共有される第1の共有鍵である第2の共有鍵が鍵情報記憶部に有るか否かを確認する第3処理部と、第2の共有鍵がある場合は、データと第1の共有鍵に基づいて第1の認証子を生成する認証子生成部と、最終宛先アドレスとデータと第1の認証子を含む第2のパケットを生成する第2パケット生成部と、第1の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第3のパケットを生成する第3パケット生成部と、第1パケットまたは第2パケットまたは第3パケットを送信する送信部とを有することを特徴とする。
【図面の簡単な説明】
【0010】
【図1】実施形態にかかる情報処理装置が用いられるシステムの一例を示す図。
【図2】第1の実施形態にかかる構成図を示す図。
【図3】第1の実施形態にかかる経路情報の例を示す図。
【図4】第1の実施形態にかかる鍵情報の例を示す図。
【図5】第1の実施形態にかかる動作のフローチャートを示す図。
【図6】第1の実施形態にかかる動作のフローチャートを示す図。
【図7】第1の実施形態の一実施例を示す図。
【図8】第2の実施形態にかかる構成図を示す図。
【図9】第2の実施形態にかかる動作のフローチャートを示す図。
【図10】第2の実施形態にかかる動作のフローチャートを示す図。
【図11】第2の実施形態にかかる動作例を示す図。
【図12】第2の実施形態にかかる動作の変形例を示す図。
【発明を実施するための形態】
【0011】
(第1の実施形態)
以下、 以下に図面を参照して、この発明にかかる第1の実施形態を詳細に説明する。
【0012】
図1は、本発明の一実施形態に係る情報処理装置が用いられる通信網の一構成例を示す図である。本情報処理装置は、本実施形態では中継装置を例として説明する。
【0013】
本通信網は、送信装置(11a、・・・)、複数の中継装置(10a〜10f)、受信装置(12a、12b、・・・)とを有する。送信装置11aは、中継装置(10a〜10f)と接続されている。送信装置11aは、中継装置(10a〜10f)に受信装置12aを宛先としてパケットを送信する。
【0014】
中継装置(10a〜10f)は、1以上の送信装置と1以上の中継装置と接続されるかまたは、1以上の他の中継装置と接続されるかまたは、1以上の中継装置と1以上の受信装置と接続されている。本通信網に含まれる中継装置の1つは複数の他の中継装置と接続されている。中継装置は、パケットを受信し、受信したパケットを他の中継装置または受信装置に送信する。受信装置は、パケットを受信する。
【0015】
図2は、本発明の一実施形態に係る情報処理装置(本例では中継装置)の一構成例を示す図である。
【0016】
中継装置10は、受信部101、認証子検証部104、経路情報記憶部102、第1処理部105(経路情報抽出部)、第2処理部106、鍵情報記憶部103、第3処理部107、認証子生成部109、第1パケット生成部108、第2パケット生成部110、第3パケット生成部111、送信部112を有する。
【0017】
受信部101は、送信装置または他の中継装置から送信されたパケット(S1パケット)を受信する。ここで、自己の中継装置にパケット(S1パケット)を送信してきた送信装置または他の中継装置を前送信元機器という。受信部101は、受信したパケット(S1パケット)を認証子検証部104に渡す。パケット(S1パケット)は、データ、データと送信装置が有する鍵から生成された認証子、前送信元機器のアドレス情報、パケット(S1パケット)の最終的な宛先のアドレス情報(最終送信先アドレス)を有する。
【0018】
経路情報記憶部102は、経路情報を記憶する。経路情報は、最終送信先アドレスとパケットを次に送信する宛先のアドレス情報(第1の次送信先アドレス)とを対応付けた情報を含む。また、更に送信対象の候補となるアドレスか否かを示す情報(送信対象候補情報)を対応付けても良い。最終送信先アドレスは、本実施形態では受信装置の宛先情報である。経路情報は、受信したパケットをどこへ送信すれば良いかを判断されるために利用される。また、次に送信する宛先である他の中継装置または受信装置を次送信先機器という。
【0019】
図3は、経路情報記憶部102に記憶される経路情報の例を示す図である。図3では、目的送付先(最終送信先アドレス)と転送先(次送信先アドレス)と送信不可(送信対象の候補となるアドレスか否かを示す情報)とを対応付けて記憶している。
【0020】
鍵情報記憶部103は、中継装置と送信装置との共有鍵、または中継装置と他の中継装置との共有鍵、または中継装置と受信装置との共有鍵を記憶する。
【0021】
図4は、鍵情報記憶部103に記憶される鍵情報の例を示す図である。「K」は鍵を意味し、「K」にかっこ書きが付された表記が、「−」で繋がれた機器の間で共有される鍵を意味する。例えば、K(B−C)は機器B、Cの間で共有される共有鍵を意味する。K(A−B−D)は機器A、B、Dの間で共有される共有鍵を意味する。図11、図12では、Kに下付のA−B−Dが同じ意味を表す。
【0022】
認証子検証部104は、受信部101が受信したパケットを受け付ける。受信したパケットに認証子が含まれるか否かを確認する。認証子が含まれている場合は、パケットに含まれるメッセージと鍵情報記憶部103に記憶されている共有鍵を用いて認証子を生成する。生成した認証子と受信した認証子と同一か否かによって検証する。同一の認証子が生成できたことは、受信したパケットの送信元の装置と受信した装置とが同一の共有鍵を有していることを示している。生成した認証子と受信した認証子と同一であることが検証されると、パケットを受信できることになる。
【0023】
そのため、生成した認証子と受信した認証子と同一であることが検証されると、後述する第1処理部105に受信したパケットを渡す。
【0024】
一方、生成した認証子と受信した認証子と同一ではないことが検証されると、送信部112に受信不可との情報を渡す。
【0025】
第1処理部105(経路情報抽出部)は、受信部101が受信したパケット(受信パケット)の最終送信先アドレスに基づいて、経路情報記憶部102に受信パケットの最終送信先アドレスを含む経路情報があるか否かを判定する。
【0026】
第1処理部105(経路情報抽出部)は、経路情報があると判定した場合、最終送信先アドレスと対応付けられている第1の次送信先アドレスを1つ以上抽出する。さらに、抽出された1つ以上の第1の送信先アドレスから送信対象の候補となる第1の次宛先アドレスである第2の次宛先アドレスを抽出する。ここで、第2の次送信先アドレスが複数ある場合は、その中から1つを抽出する。そして、抽出された第2の次送信先アドレスを後述の第2処理部106に出力する。なお、複数の第2の次送信先アドレスから1つの第2の次送信先アドレスを抽出する方法は、特に限定されないが、経路情報記憶部102に記憶されている順番などでも良い。
【0027】
図3の例では、最終送信先アドレスが「MDMS12sa」である場合、次送信先アドレスとして中継装置10sa、中継装置10seの2つが記憶されており、この2つの次送信先アドレスが抽出される。さらに、送信可否(送信対象の候補となるアドレスか否かを示す情報)は、「中継装置10sa」が「否」、「中継装置10se」が「可」となっており、送信対象の候補となり得るアドレスは「中継装置10se」のみであるため、「中継装置10se」が抽出される。
【0028】
第1処理部105(経路情報抽出部)は、経路情報がないと判定した場合、受信パケットが送信できない旨を送信部112に出力する。
【0029】
第2処理部106は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むか否かを判定する。ここで、次送信先機器と前送信元機器との組み合わせの具体例としては、第2の次送信先アドレスに対応する中継装置と送信装置、または第2の次送信先アドレスに対応する中継装置と他の中継装置、または第2の次送信先アドレスに対応する受信装置と他の中継装置などがある。
【0030】
第2処理部106は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むと判定した場合は、受信パケットと、第2の次送信先アドレスとを第1パケット生成部108に出力する。
【0031】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【0032】
第2処理部106は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含まないと判定した場合は、第3処理部107(鍵確認部)に受信パケットと第2の次送信先アドレスと出力する。
【0033】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【0034】
第3処理部107(鍵確認部)は、受信パケットと第2の次送信先アドレスを受け付け、自己の中継装置と次送信先機器(第2の次送信先アドレスに対応する機器)との共有鍵が鍵情報記憶部103に有るか否かを判定する。自己の中継装置と次送信先機器との共有鍵の具体例としては、自己の中継装置と次の送信先の中継装置との共有鍵、または自己の中継装置と受信装置との共有鍵の有無などがある。
【0035】
第3処理部107(鍵確認部)は、自己の中継装置と次送信先機器との共有鍵が有ると判定した場合は、見つかった共有鍵を鍵情報記憶部103から読み出す。そして、受信パケット、第2の次送信先アドレス、読み出した共有鍵を認証子生成部109に出力する。
【0036】
第3処理部107(鍵確認部)は、自己の中継装置と次送信先機器との共有鍵が無いと判定した場合は、第2の次送信先アドレスを第3パケット生成部111に出力する。
【0037】
第1パケット生成部108は、受信した受信パケットと第2の次送信先アドレスに基づいて、受信パケットに含まれるデータと第2の次送信先アドレスを含むパケットである第1のパケットを生成し、送信部112に出力する。
【0038】
認証子生成部109は、受信パケット、第2の次送信先アドレス、読み出された共有鍵(A1共通鍵)を受け付ける。受信パケットに含まれるデータとA1共有鍵とに基づいて認証子(A1認証子)を生成する。そして、受信パケット、第2の次送信先アドレス、A1認証子を第2パケット生成部110に出力する。
【0039】
第2パケット生成部110は、受信パケットに含まれるデータ、第2の次送信先アドレス、A1認証子を含むパケットであるA2パケットを生成し、送信部112に出力する。
【0040】
第3パケット生成部111は、第2の次送信先アドレスを受け付け、受信パケットに含まれるデータ、次送信先機器と前送信元機器との共有鍵(A2共通鍵)によって生成される認証子の生成依頼と第2の次送信先アドレスを含むパケットであるA3パケットを生成する。
【0041】
なお、第3パケット生成部111は、A3パケットには、A2共有鍵の生成依頼は含めずにA3パケットを生成しても良い。その場合、第2の次送信先アドレスを後述する送信部112から受けた前送信元機器が、第2の次送信先アドレスに基づいてA2共有鍵を生成しても良い。
【0042】
送信部112は、第1処理部105(経路情報確認部)から受信パケットが送信できない旨を受け付けると、前送信元機器に受信パケットが送信できない旨を送信する。
【0043】
送信部112は、第1パケット生成部108からA1パケットを受け付けると、第2の次送信先アドレスの次送信先機器にA1パケットを送信する。
【0044】
送信部112は、第2パケット生成部110からA2パケットを受け付けると、第2の次送信先アドレスの次送信先機器にA2パケットを送信する。
【0045】
送信部112は、第3パケット生成部111からA3パケットを受け付けると、前送信先機器にA3パケットを送信する。
【0046】
また、中継装置が前送信元機器(送信装置)である場合について述べる。
【0047】
受信部101は、A3パケットを受信する。そして、A3パケットを第3処理部107に送信する。
【0048】
第3処理部107は、A3パケットを受信すると、自己と第2の次送信元アドレスが示す装置との共有鍵(A2共有鍵)が鍵情報記憶部103に有るか否かを判定する。
【0049】
第3処理部107は、自己と第2の次送信元アドレスが示す装置との共有鍵が鍵情報記憶部103に有る場合、共有鍵(A2共有鍵)を鍵情報記憶部103から抽出する。
【0050】
第3処理部107は、A3パケットと共有鍵(A2共有鍵)を認証子生成部109に出力する。
【0051】
認証子生成部109は、A3パケットに含まれるデータと共有鍵(A2共有鍵)に基づいて認証子(B1認証子)を生成する。そして、認証子生成部109は、A3パケットに含まれるデータと共有鍵(A2共有鍵)と認証子(A2認証子)を第2パケット生成部110に出力する。
【0052】
第2パケット生成部110は、認証子生成部109は、A3パケットに含まれるデータと共有鍵(A2共有鍵)と認証子(A2認証子)を含むパケットである第4パケットを生成し、第4パケットを送信部112に出力する。
【0053】
次に、図2の中継装置の動作について説明する。図5は、中継装置の動作のフローチャートである。
【0054】
受信部101にて、送信装置または他の中継装置から送信されたパケットを受信する(S101)。受信されたパケットは認証子検証部104に渡される。
【0055】
認証子検証部104は、受信したパケットに認証子が含まれるか否かを確認する(S102)。
【0056】
認証子検証部104は、受信したパケットに認証子が含まれなかった場合(NO)、送信元の前送信元機器に受信できない旨を返信する(S103)。
【0057】
認証子検証部104は、受信したパケットに認証子が含まれる場合(YES)、認証子検証部104は受信パケットを第1処理部105に送信する。第1処理部105は、パケットの最終送信先アドレスに基づいて、経路情報が有るか否かを判定する(S104)。
【0058】
そして、経路情報が無い場合は、第1処理部105は受信パケットが送信できない旨を送信部112に出力する(S105)。
【0059】
経路情報がある場合は、第1処理部105は経路情報記憶部102から第2の次送信先アドレスを抽出し、抽出された第2の次送信先アドレスを第2処理部106に出力する(S106)。
【0060】
第2処理部106は、第2のアドレスに対応する次送信先機器と前送信元機器との共有鍵(A1共有鍵)を用いて生成されたA1認証子を受信パケットが含むか否かを判定する(S107)。
【0061】
受信パケットが認証子を含むと判定した場合(YES)は、受信パケットと第2の次送信先アドレスとが第1パケット生成部108に出力される。
【0062】
第1パケット生成部108では、受信パケットに含まれるデータと第2の次送信先アドレスとを含むA1パケットを生成し(S108)、送信部112に送信する(S109)。
【0063】
受信パケットがA1認証子を含まないと判定した場合(NO)は、第3処理部107は、鍵情報記憶部103に自己と第2の次送信先アドレスに対応する機器との共有鍵(A1共有鍵)が有るか否か判定する(S110)。
【0064】
A1共有鍵がある場合(YES)は、鍵情報記憶部103からA1共有鍵を読み出し(S111)、認証子生成部109は、受信パケット、第2の次送信先アドレス、A1共有鍵とに基づいてA1認証子を生成する(S112)。そして、第2パケット生成部110は、受信パケットに含まれるデータ、第2の送信先アドレス情報、A1認証子を含むA2パケットを生成し(S113)、送信部112にA2パケットを出力する(S114)。
【0065】
A1共有鍵が無い場合(NO)は、第3パケット生成部111は、次送信先機器と前送信元機器との共有鍵(A2共有鍵)の生成依頼と第2の次送信先アドレスを含むA3パケットを生成し(S115)、A3パケットを送信部112に出力する(S116)。
【0066】
なお、S117とS118については後述する。
【0067】
図6は、A3パケットを受信した場合の、前送信元機器(中継装置)の動作を示すフローチャートである。
【0068】
受信部101は、A3パケットを受信する(S201)。A3パケットは受信部101から第3処理部107に出力される。
【0069】
第3処理部107は、A3パケットを受信すると、自己と第2の次送信元アドレスが示す装置との共有鍵(A2共有鍵)が鍵情報記憶部103に有るか否かを判定する(S202)。
【0070】
A2共有鍵が鍵情報記憶部103に有る場合、認証子生成部109は、A3パケットに含まれるデータと共有鍵(A2共有鍵)に基づいて認証子(A2認証子)を生成する(S203)。そして、認証子生成部109は、A3パケットに含まれるデータと共有鍵(A2共有鍵)と認証子(A2認証子)を第2パケット生成部110に出力する。
【0071】
第2パケット生成部110は、A3パケットに含まれるデータと共有鍵(A2共有鍵)と認証子(A2認証子)を含むパケットである第4パケットを生成し(S204)、第4パケットを送信部112に出力する(S205)。
【0072】
A2共有鍵が鍵情報記憶部103に無い場合は、第3処理部107は、第1処理部105に経路情報記憶部102のうち対象のアドレスを送信不可に変更する旨を出力して、第1処理部105は第1処理部105に経路情報記憶部102のうち対象のアドレスを送信不可に変更する(S117)。そして、第1処理部105はS104以降の処理を更に行う。
【0073】
中継装置は、送信先から送信不可の返信を受け付ける(S118)。その後は、経路情報の確認を行う(S104)フローとなる。
【0074】
図7は、上記実施形態に係る中継装置が用いられる実施例として、スマートグリッド通信網の一構成例を示す。図7において、電力使用量を集計するスマートメータ11sa〜11scは、中継装置10sa〜10shによって数台ごとにまとめられ、通信網を介してメータデータ管理システムであるMDMS(Meter Data Management System)12sa〜12scと通信する。MDMSは、各家庭のスマートメータから一定の間隔で電力使用量を受信して記憶する。
【0075】
本実施例のスマートグリッド通信網では、パケットが送信元の端末から最終的な宛先端末に到達するまでに幾つかの中継装置を通過する。上記のスマートメータ、中継装置やMDMSは、DoS(Denial of Service attack)攻撃を防ぐため、そこから外部へのパケット送出あるいは外部からのパケット流入にあたり、パケットの認証処理を実行する。
【0076】
上記の中継装置10saがパケットの送信先スマートメータ11saからパケットの中継依頼を受けた時、パケットの転送先に向け、次の中継装置10sbとの共有鍵を持っているかどうかに基づいて、パケットを中継するかを判断する。共有鍵とは、送信者と受信者が共有している秘密鍵である。この共有鍵を使って、MAC認証子を生成や検証することができる。共有鍵を事前に持ってない原因で送信者と受信者のMAC認証子を作れないため、パケットの中継が出来ない場合は、中継装置10saはスマートメータ11saに転送先である中継装置10sbとの共有鍵があるかことを問い合わせる機能を有している。スマートメータ11saが中継装置10sbとの共有鍵を持つ場合、中継装置10saと10sbの2つのMAC認証子を生成し、中継装置10saにパケットを転送する。中継装置10saは、パケットに付加されたMAC認証子を検証できたら、中継装置10sbへパケットとスマートメータ11saが付加したMAC認証子と一緒に転送する。
【0077】
(第2の実施形態)
次に、第2の実施形態について説明する。
【0078】
本実施形態では、パケットはデータ、認証子の他に、検証または転送を続ける回数を示す情報(転送制御情報)を含む。この転送制御情報は認証子に対応付けられている。
【0079】
図8は第2の実施形態に係る情報処理装置(本例では中継装置)20の構成を示す図である。
【0080】
受信部201は、送信装置または他の中継装置から送信されたパケットを受信する。ここで、自己の中継装置にパケットを送信してきた送信装置または他の中継装置を前送信元機器という。受信部201は、受信したパケットを認証子検証部204に渡す。パケットは、データ、データと送信装置が有する共有鍵から生成された認証子、前送信元機器のアドレス情報、パケットの最終的な宛先のアドレス情報(最終送信先アドレス)を有する。
【0081】
経路情報記憶部202は、経路情報を記憶する。経路情報は、最終送信先アドレスとパケットを次に送信する宛先のアドレス情報(第1の次送信先アドレス)とを対応付けた情報を含む。最終送信先アドレスは、本実施形態では受信装置の宛先情報である。経路情報は、受信したパケットをどこへ送信すれば良いかを判断されるために利用される。また、次に送信する宛先である他の中継装置または受信装置を次送信先機器という。
【0082】
鍵情報記憶部203は、中継装置と送信装置との共有鍵、または中継装置と他の中継装置との共有鍵、または中継装置と受信装置との共有鍵を記憶する。
【0083】
認証子検証部204は、認証子の検証の結果、正しい認証子が受信パケットに含まれていると判定した場合、受信パケットを転送制御情報処理部205に出力する。
【0084】
転送制御情報処理部205は、受信パケットを受け付けると、転送制御情報の値を所定の方法によって変更する。変更した結果、所定の条件となった場合は、転送制御情報を受信パケットから削除する。ここで、所定の方法としては、例えば、前送信元機器と自己との共有鍵で生成された認証子に対応する転送制御情報の値を1減らす。もし、転送制御情報の値が0となった場合は、転送制御情報を受信パケットから削除する。所定の方法としては、上記1減らす方法に限定されず、それ以外に転送制御情報に所定の演算を行ってもよく、所定数減らしたり、所定数増やしたりしても良い。そして、転送制御情報処理部205は、処理後の受信パケットを第1処理部206に出力する。
【0085】
第1処理部206(経路情報抽出部)は、受信部201が受信したパケット(受信パケット)の最終送信先アドレスに基づいて、経路情報記憶部202に受信パケットの最終送信先アドレスを含む経路情報があるか否かを判定する。
【0086】
第1処理部206(経路情報抽出部)は、経路情報があると判定した場合、最終送信先アドレスと対応付けられている第1の次送信先アドレスを1つ以上抽出する。さらに、抽出された1つ以上の第1の送信先アドレスから送信対象の候補となる第1の次宛先アドレスである第2の次宛先アドレスを抽出する。ここで、第2の次送信先アドレスが複数ある場合は、その中から1つを抽出する。そして、抽出された第2の次送信先アドレスを後述の第2処理部207に出力する。なお、複数の第2の次送信先アドレスから1つの第2の次送信先アドレスを抽出する方法は、特に限定されないが、経路情報記憶部202に記憶されている順番などでも良い。
【0087】
第1処理部206(経路情報抽出部)は、経路情報がないと判定した場合、受信パケットが送信できない旨を送信部213に出力する。
【0088】
第2処理部207は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むか否かを判定する。ここで、次送信先機器と前送信元機器との組み合わせの具体例としては、第2の次送信先アドレスに対応する中継装置と送信装置、または第2の次送信先アドレスに対応する中継装置と他の中継装置、または第2の次送信先アドレスに対応する受信装置と他の中継装置などがある。
【0089】
第2処理部207は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むと判定した場合は、受信パケットと、第2の次送信先アドレスとを第1パケット生成部209に出力する。
【0090】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【0091】
第2処理部207は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含まないと判定した場合は、第3処理部208(鍵確認部)に受信パケットと第2の次送信先アドレスと出力する。
【0092】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【0093】
第3処理部208は、受信パケットと第2の次送信先アドレスを受け付け、自己の中継装置と次送信先機器との共有鍵が鍵情報記憶部203に有るか否かを判定する。
【0094】
第3処理部208は、自己の中継装置と次送信先機器との共有鍵が鍵情報記憶部203に有ると判定した場合は、見つかった共有鍵、回数情報を鍵情報記憶部203から読み出す。受信パケット、第2の次送信先アドレス、読み出した共有鍵、回数情報を認証子/転送制御情報生成部210に出力する。
【0095】
第1パケット生成部209は、受信した受信パケットと第2の次送信先アドレスに基づいて、受信パケットに含まれるデータと第2の次送信先アドレスを含むパケットである第1のパケットを生成し、送信部213に出力する。
【0096】
認証子/転送制御情報生成部210は、受信パケット、第2の次送信先アドレス、読み出した共有鍵、回数情報を受け付ける。受信パケットに含まれるデータと共有鍵とに基づいて認証子(B1認証子)を生成し、回数情報に基づいて転送制御情報を生成する。そして、受信パケット、第2の次送信先アドレス、生成した認証子、転送制御情報を第2パケット生成部211に出力する。
【0097】
第2パケット生成部211は、受信パケット、第2の次送信先アドレス、生成した認証子(B1認証子)、転送制御情報を第2パケット生成部211を受け付け、受信パケットに含まれるデータ、第2の送信先アドレス、B1認証子を含むパケット(B2パケット)を生成し、送信部213に出力する。
【0098】
第3パケット生成部212は、第2の次送信先アドレスを受け付け、受信パケットに含まれるデータ、次送信先機器と前送信元機器との共有鍵(B2共通鍵)によって生成される認証子の生成依頼と第2の次送信先アドレスを含むパケットであるA3パケットを生成する。
【0099】
なお、第3パケット生成部212は、A3パケットには、B2共有鍵の生成依頼は含めずにA3パケットを生成しても良い。その場合、第2の次送信先アドレスを後述する送信部213から受けた前送信元機器が、第2の次送信先アドレスに基づいてB2共有鍵を生成しても良い。
【0100】
送信部213は、第1処理部105(経路情報確認部)から受信パケットが送信できない旨を受け付けると、前送信元機器に受信パケットが送信できない旨を送信する。
【0101】
送信部213は、第1パケット生成部108から第1パケットを受け付けると、第2の次送信先アドレスの次送信先機器に第1パケットを送信する。
【0102】
送信部213は、第2パケット生成部110からA2パケットを受け付けると、第2の次送信先アドレスの次送信先機器にA2パケットを送信する。
【0103】
送信部213は、第3パケット生成部111からA3パケットを受け付けると、前送信先機器にA3パケットを送信する。
【0104】
次に、図8の中継装置の動作について説明する。図9は、図8の中継装置の動作概要のフローチャートである。
【0105】
受信部201にて、送信装置または他の中継装置から送信されたパケットを受信する(S301)。受信されたパケットは認証子検証部204に渡される。
【0106】
認証子検証部204は、受信したパケットに認証子が含まれるか否かを確認する(S302)。
【0107】
認証子検証部204は、受信したパケットに認証子が含まれなかった場合(NO)、送信元の前送信元機器に受信できない旨を返信する(S303)。
【0108】
認証子検証部204は、認証子の検証の結果、正しい認証子が受信パケットに含まれていると判定した場合、受信パケットを転送制御情報処理部205に出力する(YES)。
【0109】
転送制御処理部は、受信パケットを受け付けると、前送信元機器と自己との共有鍵で生成された認証子に対応する転送制御情報の値を1減らす。もし、転送制御情報の値が0となった場合は、転送制御情報を受信パケットから削除する(S304)。そして、処理後の受信パケットを第1処理部206に出力する
第1処理部206は、パケットの最終送信先アドレスに基づいて、経路情報が有るか否かを判定する(S305)。
【0110】
そして、経路情報が無い場合は、第1処理部206は受信パケットが送信できない旨を送信部213に出力する(S306)。
【0111】
経路情報がある場合は、第1処理部206は経路情報記憶部202から第2の次送信先アドレスを抽出し、受信パケットと第2の次送信先アドレスを第2処理部207に出力する(S307)。
【0112】
第2処理部207は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むか否かを判定する(S308)。
【0113】
受信パケットが認証子を含むと判定した場合(YES)は、受信パケットと第2の次送信先アドレスとが第1パケット生成部209に出力される。
【0114】
第1パケット生成部209では、受信パケットに含まれるデータと第2の次送信先アドレスとを含む第1パケットを生成し(S309)、送信部213に送信する(S310)。
【0115】
受信パケットが認証子を含まないと判定した場合(NO)は、第3処理部208は、受信パケットと第2の次送信先アドレスを受け付け、自己の中継装置と次送信先機器との共有鍵(B1共有鍵)が鍵情報記憶部203に有るか否かを判定する(S311)。
【0116】
第3処理部208は、自己の中継装置と次送信先機器との共有鍵(B1共有鍵)が鍵情報記憶部203に有ると判定した場合は、見つかったB1共有鍵、回数情報を鍵情報記憶部203から読み出す(S312)。受信パケット、第2の次送信先アドレス、読み出したB1共有鍵、回数情報を認証子/転送制御情報生成部210に出力する。
【0117】
認証子/転送制御情報生成部210は、受信パケット、第2の次送信先アドレス、読み出したB1共有鍵、回数情報を受け付ける。受信パケットに含まれるデータとB1共有鍵とに基づいて認証子(B1認証子)を生成し、回数情報に基づいて転送制御情報を生成する(S313)。そして、受信パケット、第2の次送信先アドレス、生成した認証子、転送制御情報を第2パケット生成部211に出力する。
【0118】
第2パケット生成部211は、受信パケット、第2の次送信先アドレス、生成した認証子(B1認証子)、転送制御情報を受け付け、受信パケットに含まれるデータ、第2の送信先アドレス、B1認証子を含むパケット(B2パケット)を生成し(S314)、送信部213に出力する(S315)。
【0119】
B1共有鍵が無い場合(NO)は、第3パケット生成部212は、次送信先機器と前送信元機器との共有鍵(B2共有鍵)の生成依頼と第2の次送信先アドレスを含むB3パケットを生成し(S316)、B3パケットを送信部213に出力する(S317)。
【0120】
なお、S318とS319については後述する。
【0121】
図10は、B3パケットを受信した場合の、前送信元機器(中継装置)の動作を示すフローチャートである。
【0122】
受信部201は、B3パケットを受信する(S401)。B3パケットは受信部201から第3処理部208に出力される。
【0123】
第3処理部208は、B3パケットを受信すると、自己と第2の次送信元アドレスが示す装置との共有鍵(B2共有鍵)が鍵情報記憶部203に有るか否かを判定する(S402)。
【0124】
B2共有鍵が鍵情報記憶部203に有る場合、認証子生成部は、受信パケット、第2の次送信先アドレス、読み出したB2共有鍵、回数情報を受け付ける(S403)。
【0125】
受信パケットに含まれるデータとB2共有鍵とに基づいて認証子(B3認証子)を生成し、回数情報に基づいて転送制御情報を生成する(S404)。そして、受信パケット、第2の次送信先アドレス、生成した認証子(B3認証子)、転送制御情報をB2パケット生成部に出力する。
【0126】
第2パケット生成部211は、受信パケット、第2の次送信先アドレス、生成した認証子(B1認証子)、転送制御情報を第2パケット生成部211を受け付ける。第2パケット送信部213は、受信パケットに含まれるデータ、第2の送信先アドレス、B1認証子を含むパケット(B4パケット)を生成し(S405)、送信部213に出力する。そして、送信部213はB4パケットをする(S406)。
【0127】
中継装置は、送信先の他の中継装置から送信不可の返信を受ける((1))と、経路情報のうち対象のアドレスを送信不可に変更する(S318)。また、認証子が無いと判定された場合(S302でNOの場合(2))、経路情報が無いと判定された場合(S305で無いの場合(2))も、経路情報のうち対象のアドレスを送信不可に変更する(S319)。
【0128】
第2の実施形態の動作例を説明する。図11は具体的な動作例を示す図である。
【0129】
上記のスマートメータと中継装置は通信先との共有鍵でパケットのMAC認証子を生成する際に、MAC認証制御情報をそのMAC認証子と一緒に設定する手段(認証子/転送制御情報生成部210)を有している。MAC認証制御情報には、そのMAC認証子を検証してから、削除するか、もしくは転送を続けるかの情報を記載する。
【0130】
具体的には、n人の共有鍵でMAC認証子を生成した場合、そのMAC認証子を他の(n-1)人の共有者に検証することが必要ため、MAC転送制御情報に(n−1)をマークしておく(例:3人の共有鍵でMAC認証子を生成した場合、ほか2人共有者に2回の検証が必要ため、MAC転送制御情報に2をマークしておく)。次の端末がパケットを受信して、MAC認証子を検証できた時にそのMAC転送制御情報部分を‘1’減した新しい回数を更新する。減した新しい回数は‘=0’になったら、そのMACとMAC転送制御情報部分を削除する。‘>0’の場合は、次の中継装置へ転送を続ける。
【0131】
以下の説明では、「K」は鍵を意味し、「K」にかっこ書きが付された表記が、「−」で繋がれた機器の間で共有される鍵を意味する。図Q,Rの表現では、「K」に下付で表された表記が、「−」で繋がれた機器の間で共有される鍵を意味する。例えば、K(A−B−D)は機器A、B、Dの共有鍵を意味する。図Q、Rでは、Kに下付のA−B−Dが同じ意味を表す。また、K(A−B−D)により生成した認証子はMAC認証子(A−B−D)と表す。図Q,Rでは、MACに下付のA−B−Dが同じ意味を表す。
【0132】
例として、図Qでは、K(A−B−D)は機器A、B、Dの共有鍵、K(B−C)は機器B、Cの共有鍵、K(D−E)は機器D、Eの共有鍵である。
【0133】
初めに、機器AがK(A−B−D)で機器B、DとのMAC認証子であるMAC(A−B−D)を生成し、MAC制御認証情報には2と設定して、Bにデータのパケットを転送する。
【0134】
機器Bは、K(A−B−D)でMAC認証子を検証できたら、MAC制御認証情報部分を1を減らし、機器Cとの共有鍵K(B−C)でMAC認証子MAC(A−B−D)とMAC制御認証情報を生成して、機器Cにパケットを転送する。
【0135】
機器CはK(B−C)でMAC認証子MAC(B−C)を検証できたら、MAC制御認証情報に1を減らしたら、0となったので、MAC認証子MAC(B−C)の部分を外して、機器Dに転送する。
【0136】
機器DはK(A−B−C)でMAC認証子MAC(A−B−D)を検証できたら、MAC制御認証制御に1を減らしたら、0となったので、MAC認証子MAC(A−B−D)の部分を外して、鍵K(D−E)でMAC認証子MAC(D−E)とMAC制御認証情報を生成して、Eにパケットを転送する.Eは、鍵K(D−E)でMAC認証子MAC(D−E)を検証することができる。
【0137】
図12では、上記のMAC認証制御情報には、別の方法として、各MAC認証子を検証する装置を識別できる名前やIDを記載する。そのMAC認証子を検証できた装置は、自分の名前を削除し、記載された名前が無くなったら、このMAC認証子を次の装置に転送せず、削除する。例として、図Rに示すように、K(A−B−D)は機器A、B、Dの共有鍵、K(B−C)は機器B、Cの共有鍵、K(D−E)は機器Dと機器Eの共有鍵である。
【0138】
初めに、機器AがK(A−B−D)で機器B、DとのMAC認証子MAC(A−B−D)を生成し、MAC制御認証情報には機器B、Dの識別子(名称など)を記載し、機器Bにデータのパケットを転送する。機器Bは、K(A−B−D)でMAC認証子を検証できたら、MAC制御認証情報に自分の識別子(名称)を外し、機器Cとの共有鍵K(B−C)でMAC認証子MAC(A−B−D)とMAC制御認証情報を生成して、機器Cにパケットを転送する。
【0139】
機器CはK(B−C)でMAC認証子MAC(B−C)を検証できたら、MAC制御認証情報に自分の識別子(名称)を外し、空白となったので、MAC認証子MAC(B−C)の部分を外して、機器Dに転送する。
【0140】
機器DはK(A−B−D)でMAC認証子MAC(A−B−D)を検証できたら、MAC制御認証情報に自分の識別子(名称)を外して、空白となったので、MAC認証子MAC(A−B−D)の部分を外して、鍵K(D−E)でMAC認証子MAC(D−E)とMAC制御認証情報を生成して、機器Eにパケットを転送する.そして、機器Eは、鍵K(D−E)でMAC認証子MAC(D−E)を検証することができる。
【0141】
こういうMAC認証制御情報を設けることによって、複数(3つ以上)の中継装置に係るMAC認証子を転送・制御することができる。
【0142】
本実施の形態に係る発明によって、MAC(認証子)の付加されたパケットが中継装置間で転送失敗した場合、パケットに付加するMAC(認証子)の量を削減することができる。
【0143】
また、これにより通信のオーバヘッドを削減、認証処理の負荷を削減した上で、DoS攻撃を抑制することが出来る。
【0144】
なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0145】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0146】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行しても良い。
【0147】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0148】
また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0149】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0150】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0151】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0152】
101・・・受信部
102・・・経路情報記憶部
103・・・鍵情報記憶部
104・・・認証子検証部
105・・・第1処理部
106・・・第2処理部
107・・・第3処理部
108・・・第1パケット生成部
109・・・認証子生成部
110・・・第2パケット生成部
111・・・第3パケット生成部
112・・・送信部
【特許請求の範囲】
【請求項1】
第1の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータとを含むパケットを受信する受信部と、
前記最終宛先アドレスと次に送信する宛先のアドレス情報を示す第1の次宛先アドレスと対応付けて記憶する経路情報記憶部と、
自己と他の装置との間で共有される鍵である第1共有鍵を記憶する鍵情報記憶部と、
受信した最終宛先アドレスに基づいて、送信対象の候補となる第1の次宛先アドレスである第2の次宛先アドレスが前記経路情報記憶部に有るか否かを確認する第1処理部と、
前記第2の次宛先アドレスが前記経路情報記憶部に有る場合に、受信されたパケットである受信パケットと前記第2の次宛先アドレスに基づいて、前記受信パケットに前記第2の次アドレスに対応する認証子が更に含まれるか否かを確認する第2処理部と、
前記受信パケットに前記第2の次アドレスに対応する認証子が含まれる場合、前記受信パケットと前記第2の次宛先アドレスに基づいて、第1のパケットを生成する第1パケット生成部と、
前記受信パケットに前記第2の次アドレスに対応する認証子が無い場合、第2の次宛先アドレスに対応する装置と自己との間で共有される第1の共有鍵である第2の共有鍵が前記鍵情報記憶部に有るか否かを確認する第3処理部と、
前記第2の共有鍵がある場合は、前記データと前記第2の共有鍵に基づいて第1の認証子を生成する認証子生成部と、
前記最終宛先アドレスと前記データと前記第1の認証子を含む第2のパケットを生成する第2パケット生成部と、
前記第2の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第3のパケットを生成する第3パケット生成部と、
第1パケットまたは第2パケットまたは第3パケットを送信する送信部と
を有することを特徴とする情報処理装置。
【請求項2】
前記受信部は、さらに前記第2の装置から、前記第2の装置が次に送信する宛先のアドレス情報を示す第2の次宛先アドレスと認証子を生成することが不可能である旨を含む第4のパケットを受信し、
前記鍵情報判定部は、さらに第2の次宛先アドレスに対応する装置と自己との間で共有される鍵である第2の共有鍵が前記鍵情報記憶部に有るか否かを確認し、
前記認証子生成部は、前記第2の共通鍵がある場合は、前記データと前記第2の共有鍵に基づいて第2の認証子を生成し、前記最終宛先アドレスと前記データと前記第1の認証子と前記第2の認証子を含む第5のパケットを生成し、
前記送信部は、前記第2の共有鍵がある場合は、前記第5のパケットを前記第2の装置に送信することを特徴とする請求項1記載の情報処理装置。
【請求項3】
第1の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータと認証子を含む第1のパケットを受信する受信部と、
受信されたパケットに正しい認証子が含まれているかを検証する認証子検証部と、
前記最終宛先アドレスと次に送信する宛先のアドレス情報を示す第1の次宛先アドレスとを対応付けて記憶する経路情報記憶部と、
検証の結果、正しい認証子が含まれていた場合は、転送制御情報の値を所定の方法によって変更する転送制御情報処理部と、
受信した最終宛先アドレスに基づいて、送信対象の候補となる第1の次宛先アドレスである第2の次宛先アドレスが前記経路情報記憶部に有るか否かを確認する第1処理部と、
前記第2の次宛先アドレスが前記経路情報記憶部に有る場合に、受信したパケットである受信パケットと前記第2の次宛先アドレスに基づいて、前記受信パケットに前記第2の次アドレスに対応する認証子が更に含まれるか否かを確認する第2処理部と、
自己と他の装置との間で共有される鍵である第1共有鍵を記憶する鍵情報記憶部と、
前記受信パケットに前記第2の次アドレスに対応する認証子が含まれる場合、前記受信パケットと前記第2の次宛先アドレスに基づいて、第1のパケットを生成する第1パケット生成部と、
前記第2の次アドレスに対応する認証子が無い場合、第2の次宛先アドレスに対応する装置と自己との間で共有される第1の共有鍵である第2の共有鍵が前記鍵情報記憶部に有るか否かを確認する第3処理部と、
前記第2の共有鍵がある場合は、前記データと前記第1の共有鍵に基づいて第1の認証子を生成する認証子生成部と、
前記最終宛先アドレスと前記データと前記第1の認証子を含む第2のパケットを生成する第2パケット生成部と、
前記第1の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第3のパケットを生成する第3パケット生成部と、
第1パケットまたは第2パケットまたは第3パケットを送信する送信部と
を有することを特徴とする情報処理装置。
【請求項1】
第1の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータとを含むパケットを受信する受信部と、
前記最終宛先アドレスと次に送信する宛先のアドレス情報を示す第1の次宛先アドレスと対応付けて記憶する経路情報記憶部と、
自己と他の装置との間で共有される鍵である第1共有鍵を記憶する鍵情報記憶部と、
受信した最終宛先アドレスに基づいて、送信対象の候補となる第1の次宛先アドレスである第2の次宛先アドレスが前記経路情報記憶部に有るか否かを確認する第1処理部と、
前記第2の次宛先アドレスが前記経路情報記憶部に有る場合に、受信されたパケットである受信パケットと前記第2の次宛先アドレスに基づいて、前記受信パケットに前記第2の次アドレスに対応する認証子が更に含まれるか否かを確認する第2処理部と、
前記受信パケットに前記第2の次アドレスに対応する認証子が含まれる場合、前記受信パケットと前記第2の次宛先アドレスに基づいて、第1のパケットを生成する第1パケット生成部と、
前記受信パケットに前記第2の次アドレスに対応する認証子が無い場合、第2の次宛先アドレスに対応する装置と自己との間で共有される第1の共有鍵である第2の共有鍵が前記鍵情報記憶部に有るか否かを確認する第3処理部と、
前記第2の共有鍵がある場合は、前記データと前記第2の共有鍵に基づいて第1の認証子を生成する認証子生成部と、
前記最終宛先アドレスと前記データと前記第1の認証子を含む第2のパケットを生成する第2パケット生成部と、
前記第2の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第3のパケットを生成する第3パケット生成部と、
第1パケットまたは第2パケットまたは第3パケットを送信する送信部と
を有することを特徴とする情報処理装置。
【請求項2】
前記受信部は、さらに前記第2の装置から、前記第2の装置が次に送信する宛先のアドレス情報を示す第2の次宛先アドレスと認証子を生成することが不可能である旨を含む第4のパケットを受信し、
前記鍵情報判定部は、さらに第2の次宛先アドレスに対応する装置と自己との間で共有される鍵である第2の共有鍵が前記鍵情報記憶部に有るか否かを確認し、
前記認証子生成部は、前記第2の共通鍵がある場合は、前記データと前記第2の共有鍵に基づいて第2の認証子を生成し、前記最終宛先アドレスと前記データと前記第1の認証子と前記第2の認証子を含む第5のパケットを生成し、
前記送信部は、前記第2の共有鍵がある場合は、前記第5のパケットを前記第2の装置に送信することを特徴とする請求項1記載の情報処理装置。
【請求項3】
第1の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータと認証子を含む第1のパケットを受信する受信部と、
受信されたパケットに正しい認証子が含まれているかを検証する認証子検証部と、
前記最終宛先アドレスと次に送信する宛先のアドレス情報を示す第1の次宛先アドレスとを対応付けて記憶する経路情報記憶部と、
検証の結果、正しい認証子が含まれていた場合は、転送制御情報の値を所定の方法によって変更する転送制御情報処理部と、
受信した最終宛先アドレスに基づいて、送信対象の候補となる第1の次宛先アドレスである第2の次宛先アドレスが前記経路情報記憶部に有るか否かを確認する第1処理部と、
前記第2の次宛先アドレスが前記経路情報記憶部に有る場合に、受信したパケットである受信パケットと前記第2の次宛先アドレスに基づいて、前記受信パケットに前記第2の次アドレスに対応する認証子が更に含まれるか否かを確認する第2処理部と、
自己と他の装置との間で共有される鍵である第1共有鍵を記憶する鍵情報記憶部と、
前記受信パケットに前記第2の次アドレスに対応する認証子が含まれる場合、前記受信パケットと前記第2の次宛先アドレスに基づいて、第1のパケットを生成する第1パケット生成部と、
前記第2の次アドレスに対応する認証子が無い場合、第2の次宛先アドレスに対応する装置と自己との間で共有される第1の共有鍵である第2の共有鍵が前記鍵情報記憶部に有るか否かを確認する第3処理部と、
前記第2の共有鍵がある場合は、前記データと前記第1の共有鍵に基づいて第1の認証子を生成する認証子生成部と、
前記最終宛先アドレスと前記データと前記第1の認証子を含む第2のパケットを生成する第2パケット生成部と、
前記第1の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第3のパケットを生成する第3パケット生成部と、
第1パケットまたは第2パケットまたは第3パケットを送信する送信部と
を有することを特徴とする情報処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−204895(P2012−204895A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−65267(P2011−65267)
【出願日】平成23年3月24日(2011.3.24)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願日】平成23年3月24日(2011.3.24)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]