(57)【特許請求の範囲】
【請求項１】
第１の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータとを含むパケットを受信する受信部と、
前記最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスと対応付けて記憶する経路情報記憶部と、
自己と他の装置との間で共有される鍵である第１共有鍵を記憶する鍵情報記憶部と、
受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが前記経路情報記憶部に有るか否かを確認する第１処理部と、
前記第２の次宛先アドレスが前記経路情報記憶部に有る場合に、受信されたパケットである受信パケットと前記第２の次宛先アドレスに基づいて、前記受信パケットに前記第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、
前記受信パケットに前記第２の次宛先アドレスに対応する認証子が含まれる場合、前記受信パケットと前記第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、
前記受信パケットに前記第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と自己との間で共有される第１の共有鍵である第２の共有鍵が前記鍵情報記憶部に有るか否かを確認する第３処理部と、
前記第２の共有鍵がある場合は、前記データと前記第２の共有鍵に基づいて第１の認証子を生成する認証子生成部と、
前記最終宛先アドレスと前記データと前記第１の認証子を含む第２のパケットを生成する第２パケット生成部と、
前記第２の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部と、
前記第１のパケットを前記第２の次宛先アドレスに対応する装置に送信または前記第２のパケットを前記第２の次宛先アドレスに対応する装置に送信または前記第３のパケットを前記第１の装置に送信する送信部と
を有する情報処理装置。
【請求項２】
前記受信部は、さらに第２の装置から、前記第２の装置が次に送信する宛先のアドレス情報を示す第２の次宛先アドレスと認証子を生成することが不可能である旨を含む第４のパケットを受信し、
前記第３処理部は、さらに第２の次宛先アドレスに対応する装置と自己との間で共有される鍵である第２の共有鍵が前記鍵情報記憶部に有るか否かを確認し、
前記認証子生成部は、前記第２の共有鍵がある場合は、前記データと前記第２の共有鍵に基づいて第２の認証子を生成し、前記最終宛先アドレスと前記データと前記第１の認証子と前記第２の認証子を含む第５のパケットを生成し、
前記送信部は、前記第２の共有鍵がある場合は、前記第５のパケットを前記第２の装置に送信することを特徴とする請求項１記載の情報処理装置。
【請求項３】
第１の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータと認証子を含むパケットを受信する受信部と、
受信されたパケットに正しい認証子が含まれているかを検証する認証子検証部と、
前記最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスとを対応付けて記憶する経路情報記憶部と、
検証の結果、正しい認証子が含まれていた場合は、転送制御情報の値を所定の方法によって変更する転送制御情報処理部と、
受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが前記経路情報記憶部に有るか否かを確認する第１処理部と、
前記第２の次宛先アドレスが前記経路情報記憶部に有る場合に、受信したパケットである受信パケットと前記第２の次宛先アドレスに基づいて、前記受信パケットに前記第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、
自己と他の装置との間で共有される鍵である第１共有鍵を記憶する鍵情報記憶部と、
前記受信パケットに前記第２の次宛先アドレスに対応する認証子が含まれる場合、前記受信パケットと前記第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、
前記第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と自己との間で共有される第１の共有鍵である第２の共有鍵が前記鍵情報記憶部に有るか否かを確認する第３処理部と、
前記第２の共有鍵がある場合は、前記データと前記第１の共有鍵に基づいて第１の認証子を生成する認証子生成部と、
前記最終宛先アドレスと前記データと前記第１の認証子を含む第２のパケットを生成する第２パケット生成部と、
前記第１の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部と、
前記第１のパケットを前記第２の次宛先アドレスに対応する装置に送信または前記第２のパケットを前記第２の次宛先アドレスに対応する装置に送信または前記第３のパケットを前記第１の装置に送信する送信部と
を有する情報処理装置。
【請求項４】
第１の装置から送信され、第２の装置で受信されたパケットは、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータとを含み、
経路情報記憶装置は、前記最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスと対応付けて記憶し、
鍵情報記憶装置は、前記第２の装置と他の装置との間で共有される鍵である第１共有鍵を記憶し、
前記第２の装置に含まれる情報処理装置であって、
受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが前記経路情報記憶装置に有るか否かを確認する第１処理部と、
前記第２の次宛先アドレスが前記経路情報記憶装置に有る場合に、受信されたパケットである受信パケットと前記第２の次宛先アドレスに基づいて、前記受信パケットに前記第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、
前記受信パケットに前記第２の次宛先アドレスに対応する認証子が含まれる場合、前記受信パケットと前記第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、
前記受信パケットに前記第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と前記第２の装置との間で共有される第１の共有鍵である第２の共有鍵が前記鍵情報記憶装置に有るか否かを確認する第３処理部と、
前記第２の共有鍵がある場合は、前記データと前記第２の共有鍵に基づいて第１の認証子を生成する認証子生成部と、
前記最終宛先アドレスと前記データと前記第１の認証子を含む第２のパケットを生成する第２パケット生成部と、
前記第２の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部とを有し、
前記第１のパケットは、前記第２の次宛先アドレスに対応する装置に送信されるパケットであり、前記第２のパケットは、前記第２の次宛先アドレスに対応する装置に送信されるパケットであり、前記第３のパケットは、前記第１の装置に送信されるパケットである情報処理装置。
【請求項５】
第１の装置から送信され、第２の装置で受信されたパケットは、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータと認証子を含み、
経路情報記憶装置は、前記最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスと対応付けて記憶し、
鍵情報記憶装置は、前記第２の装置と他の装置との間で共有される鍵である第１共有鍵を記憶し、
前記第２の装置に含まれる情報処理装置であって、
受信されたパケットに正しい認証子が含まれているかを検証する認証子検証部と、
検証の結果、正しい認証子が含まれていた場合は、転送制御情報の値を所定の方法によって変更する転送制御情報処理部と、
受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが前記経路情報記憶装置に有るか否かを確認する第１処理部と、
前記第２の次宛先アドレスが前記経路情報記憶装置に有る場合に、受信したパケットである受信パケットと前記第２の次宛先アドレスに基づいて、前記受信パケットに前記第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、
前記受信パケットに前記第２の次宛先アドレスに対応する認証子が含まれる場合、前記受信パケットと前記第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、
前記第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と前記第２の装置との間で共有される第１の共有鍵である第２の共有鍵が前記鍵情報記憶装置に有るか否かを確認する第３処理部と、
前記第２の共有鍵がある場合は、前記データと前記第１の共有鍵に基づいて第１の認証子を生成する認証子生成部と、
前記最終宛先アドレスと前記データと前記第１の認証子を含む第２のパケットを生成する第２パケット生成部と、
前記第１の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部とを有し、
前記第１のパケットは、前記第２の次宛先アドレスに対応する装置に送信されるパケットであり、前記第２のパケットは、前記第２の次宛先アドレスに対応する装置に送信されるパケットであり、前記第３のパケットは、前記第１の装置に送信されるパケットである情報処理装置。
【請求項６】
第１の装置から送信され、第２の装置で受信されたパケットは、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータとを含み、
経路情報記憶装置は、前記最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスと対応付けて記憶し、
鍵情報記憶装置は、前記第２の装置と他の装置との間で共有される鍵である第１共有鍵を記憶し、
前記第２の装置に含まれるコンピュータに、
受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが前記経路情報記憶装置に有るか否かを確認する第１処理部と、
前記第２の次宛先アドレスが前記経路情報記憶装置に有る場合に、受信されたパケットである受信パケットと前記第２の次宛先アドレスに基づいて、前記受信パケットに前記第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、
前記受信パケットに前記第２の次宛先アドレスに対応する認証子が含まれる場合、前記受信パケットと前記第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、
前記受信パケットに前記第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と前記第２の装置との間で共有される第１の共有鍵である第２の共有鍵が前記鍵情報記憶装置に有るか否かを確認する第３処理部と、
前記第２の共有鍵がある場合は、前記データと前記第２の共有鍵に基づいて第１の認証子を生成する認証子生成部と、
前記最終宛先アドレスと前記データと前記第１の認証子を含む第２のパケットを生成する第２パケット生成部と、
前記第２の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部とを
実現させるためのプログラムであって、
前記第１のパケットは、前記第２の次宛先アドレスに対応する装置に送信されるパケットであり、前記第２のパケットは、前記第２の次宛先アドレスに対応する装置に送信されるパケットであり、前記第３のパケットは、前記第１の装置に送信されるパケットであるプログラム。
【請求項７】
第１の装置から送信され、第２の装置で受信されたパケットは、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータと認証子を含み、
経路情報記憶装置は、前記最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスと対応付けて記憶し、
鍵情報記憶装置は、前記第２の装置と他の装置との間で共有される鍵である第１共有鍵を記憶し、
前記第２の装置に含まれるコンピュータに、
受信されたパケットに正しい認証子が含まれているかを検証する認証子検証部と、
検証の結果、正しい認証子が含まれていた場合は、転送制御情報の値を所定の方法によって変更する転送制御情報処理部と、
受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが前記経路情報記憶装置に有るか否かを確認する第１処理部と、
前記第２の次宛先アドレスが前記経路情報記憶装置に有る場合に、受信したパケットである受信パケットと前記第２の次宛先アドレスに基づいて、前記受信パケットに前記第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、
前記受信パケットに前記第２の次宛先アドレスに対応する認証子が含まれる場合、前記受信パケットと前記第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、
前記第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と前記第２の装置との間で共有される第１の共有鍵である第２の共有鍵が前記鍵情報記憶装置に有るか否かを確認する第３処理部と、
前記第２の共有鍵がある場合は、前記データと前記第１の共有鍵に基づいて第１の認証子を生成する認証子生成部と、
前記最終宛先アドレスと前記データと前記第１の認証子を含む第２のパケットを生成する第２パケット生成部と、
前記第１の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部とを
実現させるためのプログラムであって、
前記第１のパケットは、前記第２の次宛先アドレスに対応する装置に送信されるパケットであり、前記第２のパケットは、前記第２の次宛先アドレスに対応する装置に送信されるパケットであり、前記第３のパケットは、前記第１の装置に送信されるパケットであるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データを中継する技術に関する。
【背景技術】
【０００２】
ネットワークを介した端末機器間のパケット認証には一般にメッセージ認証コード（Message Authentication Code：ＭＡＣ）と呼ばれる認証情報（認証子）が用いられる。パケット転送経路上の複数の中継装置を経由して、送信元機器から送信先機器にパケットが転送される場合は、送信元機器が経路上の複数の中継装置に対する複数のＭＡＣ（認証子）をパケットに付けて送信する。そのため、パケットを各中継装置で順次検証することができる。
【０００３】
ＭＡＣ認証技術を使うことにより、悪意を持つ攻撃者が通信経路上にある複数の中継装置を経由して、端末機器に不正アクセスすることを排除することができる。また、ＭＡＣ認証技術を使うことにより、転送されたパケットが不正に改ざんされたことも検出できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２１４５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ネットワークの接続状況が悪いなどの原因で、複数のＭＡＣ（認証子）を付けられたパケットを通信経路上にある中継装置で転送が失敗する場合がある。
【０００６】
また、送信先までに経由した中継装置の数が多い場合、パケットに付加されたＭＡＣ（認証子）の数も多くなり、通信効率化の観点からネットワークや中継装置に対する影響が大きい。
【０００７】
そこで、本発明の一観点は、上述のような従来の問題点に鑑みてなされたもので、ＭＡＣ（認証子）の付加されたパケットが中継装置間で転送失敗した場合、パケットに付加するＭＡＣ（認証子）の量を削減することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の一態様は、第１の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータとを含むパケットを受信する受信部と、最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスと対応付けて記憶する経路情報記憶部と、自己と他の装置との間で共有される鍵である第１共有鍵を記憶する鍵情報記憶部と、受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが経路情報記憶部に有るか否かを確認する第１処理部と、第２の次宛先アドレスが経路情報記憶部に有る場合に、受信されたパケットである受信パケットと第２の次宛先アドレスに基づいて、受信パケットに第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、受信パケットに第２の次宛先アドレスに対応する認証子が含まれる場合、受信パケットと第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、受信パケットに第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と自己との間で共有される第１の共有鍵である第２の共有鍵が鍵情報記憶部に有るか否かを確認する第３処理部と、第２の共有鍵がある場合は、データと第２の共有鍵に基づいて第１の認証子を生成する認証子生成部と、最終宛先アドレスとデータと第１の認証子を含む第２のパケットを生成する第２パケット生成部と、第２の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部と、第１のパケットを第２の次宛先アドレスに対応する装置に送信または第２のパケットを第２の次宛先アドレスに対応する装置に送信または第３のパケットを第１の装置に送信する送信部とを有する情報処理装置である。
また、本発明の一態様は、第１の装置から送信された、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータと認証子を含む第１のパケットを受信する受信部と、受信されたパケットに正しい認証子が含まれているかを検証する認証子検証部と、最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスとを対応付けて記憶する経路情報記憶部と、検証の結果、正しい認証子が含まれていた場合は、転送制御情報の値を所定の方法によって変更する転送制御情報処理部と、受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが経路情報記憶部に有るか否かを確認する第１処理部と、第２の次宛先アドレスが経路情報記憶部に有る場合に、受信したパケットである受信パケットと第２の次宛先アドレスに基づいて、受信パケットに第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、自己と他の装置との間で共有される鍵である第１共有鍵を記憶する鍵情報記憶部と、受信パケットに第２の次宛先アドレスに対応する認証子が含まれる場合、受信パケットと第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と自己との間で共有される第１の共有鍵である第２の共有鍵が鍵情報記憶部に有るか否かを確認する第３処理部と、第２の共有鍵がある場合は、データと第１の共有鍵に基づいて第１の認証子を生成する認証子生成部と、最終宛先アドレスとデータと第１の認証子を含む第２のパケットを生成する第２パケット生成部と、第１の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部と、第１のパケットを第２の次宛先アドレスに対応する装置に送信または第２のパケットを第２の次宛先アドレスに対応する装置に送信または第３のパケットを第１の装置に送信する送信部とを有する情報処理装置である。
また、本発明の一態様は、第１の装置から送信され、第２の装置で受信されたパケットは、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータとを含み、経路情報記憶装置は、最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスと対応付けて記憶し、鍵情報記憶装置は、第２の装置と他の装置との間で共有される鍵である第１共有鍵を記憶し、第２の装置に含まれる情報処理装置であって、受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが経路情報記憶装置に有るか否かを確認する第１処理部と、第２の次宛先アドレスが経路情報記憶装置に有る場合に、受信されたパケットである受信パケットと第２の次宛先アドレスに基づいて、受信パケットに第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、受信パケットに第２の次宛先アドレスに対応する認証子が含まれる場合、受信パケットと第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、受信パケットに第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と第２の装置との間で共有される第１の共有鍵である第２の共有鍵が鍵情報記憶装置に有るか否かを確認する第３処理部と、第２の共有鍵がある場合は、データと第２の共有鍵に基づいて第１の認証子を生成する認証子生成部と、最終宛先アドレスとデータと第１の認証子を含む第２のパケットを生成する第２パケット生成部と、第２の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部とを有し、第１のパケットは、第２の次宛先アドレスに対応する装置に送信されるパケットであり、第２のパケットは、第２の次宛先アドレスに対応する装置に送信されるパケットであり、第３のパケットは、第１の装置に送信されるパケットである情報処理装置である。
本発明の一態様は、第１の装置から送信され、第２の装置で受信されたパケットは、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータと認証子を含み、経路情報記憶装置は、最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスと対応付けて記憶し、鍵情報記憶装置は、第２の装置と他の装置との間で共有される鍵である第１共有鍵を記憶し、第２の装置に含まれる情報処理装置であって、受信されたパケットに正しい認証子が含まれているかを検証する認証子検証部と、検証の結果、正しい認証子が含まれていた場合は、転送制御情報の値を所定の方法によって変更する転送制御情報処理部と、受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが経路情報記憶装置に有るか否かを確認する第１処理部と、第２の次宛先アドレスが経路情報記憶装置に有る場合に、受信したパケットである受信パケットと第２の次宛先アドレスに基づいて、受信パケットに第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、受信パケットに第２の次宛先アドレスに対応する認証子が含まれる場合、受信パケットと第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と第２の装置との間で共有される第１の共有鍵である第２の共有鍵が鍵情報記憶装置に有るか否かを確認する第３処理部と、第２の共有鍵がある場合は、データと第１の共有鍵に基づいて第１の認証子を生成する認証子生成部と、最終宛先アドレスとデータと第１の認証子を含む第２のパケットを生成する第２パケット生成部と、第１の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部とを有し、第１のパケットは、第２の次宛先アドレスに対応する装置に送信されるパケットであり、第２のパケットは、第２の次宛先アドレスに対応する装置に送信されるパケットであり、第３のパケットは、第１の装置に送信されるパケットである情報処理装置である。
本発明の一態様は、第１の装置から送信され、第２の装置で受信されたパケットは、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータとを含み、経路情報記憶装置は、最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスと対応付けて記憶し、鍵情報記憶装置は、第２の装置と他の装置との間で共有される鍵である第１共有鍵を記憶し、第２の装置に含まれるコンピュータに、受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが経路情報記憶装置に有るか否かを確認する第１処理部と、第２の次宛先アドレスが経路情報記憶装置に有る場合に、受信されたパケットである受信パケットと第２の次宛先アドレスに基づいて、受信パケットに第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、受信パケットに第２の次宛先アドレスに対応する認証子が含まれる場合、受信パケットと第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、受信パケットに第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と第２の装置との間で共有される第１の共有鍵である第２の共有鍵が鍵情報記憶装置に有るか否かを確認する第３処理部と、第２の共有鍵がある場合は、データと第２の共有鍵に基づいて第１の認証子を生成する認証子生成部と、最終宛先アドレスとデータと第１の認証子を含む第２のパケットを生成する第２パケット生成部と、第２の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部とを実現させるためのプログラムであって、第１のパケットは、第２の次宛先アドレスに対応する装置に送信されるパケットであり、第２のパケットは、第２の次宛先アドレスに対応する装置に送信されるパケットであり、第３のパケットは、第１の装置に送信されるパケットであるプログラムである。
本発明の一態様は、第１の装置から送信され、第２の装置で受信されたパケットは、最終的な宛先のアドレス情報を示す最終宛先アドレスとデータと認証子を含み、経路情報記憶装置は、最終宛先アドレスと次に送信する宛先のアドレス情報を示す第１の次宛先アドレスと対応付けて記憶し、鍵情報記憶装置は、第２の装置と他の装置との間で共有される鍵である第１共有鍵を記憶し、第２の装置に含まれるコンピュータに、受信されたパケットに正しい認証子が含まれているかを検証する認証子検証部と、検証の結果、正しい認証子が含まれていた場合は、転送制御情報の値を所定の方法によって変更する転送制御情報処理部と、受信した最終宛先アドレスに基づいて、送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスが経路情報記憶装置に有るか否かを確認する第１処理部と、第２の次宛先アドレスが経路情報記憶装置に有る場合に、受信したパケットである受信パケットと第２の次宛先アドレスに基づいて、受信パケットに第２の次宛先アドレスに対応する認証子が更に含まれるか否かを確認する第２処理部と、受信パケットに第２の次宛先アドレスに対応する認証子が含まれる場合、受信パケットと第２の次宛先アドレスに基づいて、第１のパケットを生成する第１パケット生成部と、第２の次宛先アドレスに対応する認証子が無い場合、第２の次宛先アドレスに対応する装置と第２の装置との間で共有される第１の共有鍵である第２の共有鍵が鍵情報記憶装置に有るか否かを確認する第３処理部と、第２の共有鍵がある場合は、データと第１の共有鍵に基づいて第１の認証子を生成する認証子生成部と、最終宛先アドレスとデータと第１の認証子を含む第２のパケットを生成する第２パケット生成部と、第１の共有鍵が無い場合は、次宛先と認証子生成が不可である旨を含む第３のパケットを生成する第３パケット生成部とを実現させるためのプログラムであって、第１のパケットは、第２の次宛先アドレスに対応する装置に送信されるパケットであり、第２のパケットは、第２の次宛先アドレスに対応する装置に送信されるパケットであり、第３のパケットは、前記第１の装置に送信されるパケットであるプログラムである。
【図面の簡単な説明】
【００１０】
【図１】実施形態にかかる情報処理装置が用いられるシステムの一例を示す図。
【図２】第１の実施形態にかかる構成図を示す図。
【図３】第１の実施形態にかかる経路情報の例を示す図。
【図４】第１の実施形態にかかる鍵情報の例を示す図。
【図５】第１の実施形態にかかる動作のフローチャートを示す図。
【図６】第１の実施形態にかかる動作のフローチャートを示す図。
【図７】第１の実施形態の一実施例を示す図。
【図８】第２の実施形態にかかる構成図を示す図。
【図９】第２の実施形態にかかる動作のフローチャートを示す図。
【図１０】第２の実施形態にかかる動作のフローチャートを示す図。
【図１１】第２の実施形態にかかる動作例を示す図。
【図１２】第２の実施形態にかかる動作の変形例を示す図。
【発明を実施するための形態】
【００１１】
（第１の実施形態）
以下、  以下に図面を参照して、この発明にかかる第１の実施形態を詳細に説明する。
【００１２】
図１は、本発明の一実施形態に係る情報処理装置が用いられる通信網の一構成例を示す図である。本情報処理装置は、本実施形態では中継装置を例として説明する。
【００１３】
本通信網は、送信装置（１１ａ、・・・）、複数の中継装置（１０ａ〜１０ｆ）、受信装置（１２ａ、１２ｂ、・・・）とを有する。送信装置１１ａは、中継装置（１０ａ〜１０ｆ）と接続されている。送信装置１１ａは、中継装置（１０ａ〜１０ｆ）に受信装置１２ａを宛先としてパケットを送信する。
【００１４】
中継装置（１０ａ〜１０ｆ）は、１以上の送信装置と１以上の中継装置と接続されるかまたは、１以上の他の中継装置と接続されるかまたは、１以上の中継装置と１以上の受信装置と接続されている。本通信網に含まれる中継装置の１つは複数の他の中継装置と接続されている。中継装置は、パケットを受信し、受信したパケットを他の中継装置または受信装置に送信する。受信装置は、パケットを受信する。
【００１５】
図２は、本発明の一実施形態に係る情報処理装置（本例では中継装置）の一構成例を示す図である。
【００１６】
中継装置１０は、受信部１０１、認証子検証部１０４、経路情報記憶部１０２、第１処理部１０５（経路情報抽出部）、第２処理部１０６、鍵情報記憶部１０３、第３処理部１０７、認証子生成部１０９、第１パケット生成部１０８、第２パケット生成部１１０、第３パケット生成部１１１、送信部１１２を有する。
【００１７】
受信部１０１は、送信装置または他の中継装置から送信されたパケット（Ｓ１パケット）を受信する。ここで、自己の中継装置にパケット（Ｓ１パケット）を送信してきた送信装置または他の中継装置を前送信元機器という。受信部１０１は、受信したパケット（Ｓ１パケット）を認証子検証部１０４に渡す。パケット（Ｓ１パケット）は、データ、データと送信装置が有する鍵から生成された認証子、前送信元機器のアドレス情報、パケット（Ｓ１パケット）の最終的な宛先のアドレス情報（最終送信先アドレス）を有する。
【００１８】
経路情報記憶部１０２は、経路情報を記憶する。経路情報は、最終送信先アドレスとパケットを次に送信する宛先のアドレス情報（第１の次送信先アドレス）とを対応付けた情報を含む。また、更に送信対象の候補となるアドレスか否かを示す情報（送信対象候補情報）を対応付けても良い。最終送信先アドレスは、本実施形態では受信装置の宛先情報である。経路情報は、受信したパケットをどこへ送信すれば良いかを判断されるために利用される。また、次に送信する宛先である他の中継装置または受信装置を次送信先機器という。
【００１９】
図３は、経路情報記憶部１０２に記憶される経路情報の例を示す図である。図３では、目的送付先（最終送信先アドレス）と転送先（次送信先アドレス）と送信不可（送信対象の候補となるアドレスか否かを示す情報）とを対応付けて記憶している。
【００２０】
鍵情報記憶部１０３は、中継装置と送信装置との共有鍵、または中継装置と他の中継装置との共有鍵、または中継装置と受信装置との共有鍵を記憶する。
【００２１】
図４は、鍵情報記憶部１０３に記憶される鍵情報の例を示す図である。「Ｋ」は鍵を意味し、「Ｋ」にかっこ書きが付された表記が、「−」で繋がれた機器の間で共有される鍵を意味する。例えば、Ｋ（Ｂ−Ｃ）は機器Ｂ、Ｃの間で共有される共有鍵を意味する。Ｋ（Ａ−Ｂ−Ｄ）は機器Ａ、Ｂ、Ｄの間で共有される共有鍵を意味する。図１１、図１２では、Ｋに下付のＡ−Ｂ−Ｄが同じ意味を表す。
【００２２】
認証子検証部１０４は、受信部１０１が受信したパケットを受け付ける。受信したパケットに認証子が含まれるか否かを確認する。認証子が含まれている場合は、パケットに含まれるメッセージと鍵情報記憶部１０３に記憶されている共有鍵を用いて認証子を生成する。生成した認証子と受信した認証子と同一か否かによって検証する。同一の認証子が生成できたことは、受信したパケットの送信元の装置と受信した装置とが同一の共有鍵を有していることを示している。生成した認証子と受信した認証子と同一であることが検証されると、パケットを受信できることになる。
【００２３】
そのため、生成した認証子と受信した認証子と同一であることが検証されると、後述する第１処理部１０５に受信したパケットを渡す。
【００２４】
一方、生成した認証子と受信した認証子と同一ではないことが検証されると、送信部１１２に受信不可との情報を渡す。
【００２５】
第１処理部１０５（経路情報抽出部）は、受信部１０１が受信したパケット（受信パケット）の最終送信先アドレスに基づいて、経路情報記憶部１０２に受信パケットの最終送信先アドレスを含む経路情報があるか否かを判定する。
【００２６】
第１処理部１０５（経路情報抽出部）は、経路情報があると判定した場合、最終送信先アドレスと対応付けられている第１の次送信先アドレスを1つ以上抽出する。さらに、抽出された1つ以上の第１の送信先アドレスから送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスを抽出する。ここで、第２の次送信先アドレスが複数ある場合は、その中から１つを抽出する。そして、抽出された第２の次送信先アドレスを後述の第２処理部１０６に出力する。なお、複数の第２の次送信先アドレスから１つの第２の次送信先アドレスを抽出する方法は、特に限定されないが、経路情報記憶部１０２に記憶されている順番などでも良い。
【００２７】
図３の例では、最終送信先アドレスが「ＭＤＭＳ12sa」である場合、次送信先アドレスとして中継装置１０sa、中継装置１０seの２つが記憶されており、この２つの次送信先アドレスが抽出される。さらに、送信可否（送信対象の候補となるアドレスか否かを示す情報）は、「中継装置１０sa」が「否」、「中継装置１０se」が「可」となっており、送信対象の候補となり得るアドレスは「中継装置１０se」のみであるため、「中継装置１０se」が抽出される。
【００２８】
第１処理部１０５（経路情報抽出部）は、経路情報がないと判定した場合、受信パケットが送信できない旨を送信部１１２に出力する。
【００２９】
第２処理部１０６は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むか否かを判定する。ここで、次送信先機器と前送信元機器との組み合わせの具体例としては、第２の次送信先アドレスに対応する中継装置と送信装置、または第２の次送信先アドレスに対応する中継装置と他の中継装置、または第２の次送信先アドレスに対応する受信装置と他の中継装置などがある。
【００３０】
第２処理部１０６は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むと判定した場合は、受信パケットと、第２の次送信先アドレスとを第１パケット生成部１０８に出力する。
【００３１】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【００３２】
第２処理部１０６は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含まないと判定した場合は、第３処理部１０７（鍵確認部）に受信パケットと第２の次送信先アドレスと出力する。
【００３３】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【００３４】
第３処理部１０７（鍵確認部）は、受信パケットと第２の次送信先アドレスを受け付け、自己の中継装置と次送信先機器（第２の次送信先アドレスに対応する機器）との共有鍵が鍵情報記憶部１０３に有るか否かを判定する。自己の中継装置と次送信先機器との共有鍵の具体例としては、自己の中継装置と次の送信先の中継装置との共有鍵、または自己の中継装置と受信装置との共有鍵の有無などがある。
【００３５】
第３処理部１０７（鍵確認部）は、自己の中継装置と次送信先機器との共有鍵が有ると判定した場合は、見つかった共有鍵を鍵情報記憶部１０３から読み出す。そして、受信パケット、第２の次送信先アドレス、読み出した共有鍵を認証子生成部１０９に出力する。
【００３６】
第３処理部１０７（鍵確認部）は、自己の中継装置と次送信先機器との共有鍵が無いと判定した場合は、第２の次送信先アドレスを第３パケット生成部１１１に出力する。
【００３７】
第１パケット生成部１０８は、受信した受信パケットと第２の次送信先アドレスに基づいて、受信パケットに含まれるデータと第２の次送信先アドレスを含むパケットである第１のパケットを生成し、送信部１１２に出力する。
【００３８】
認証子生成部１０９は、受信パケット、第２の次送信先アドレス、読み出された共有鍵（Ａ１共通鍵）を受け付ける。受信パケットに含まれるデータとＡ１共有鍵とに基づいて認証子（Ａ１認証子）を生成する。そして、受信パケット、第２の次送信先アドレス、Ａ１認証子を第２パケット生成部１１０に出力する。
【００３９】
第２パケット生成部１１０は、受信パケットに含まれるデータ、第２の次送信先アドレス、Ａ１認証子を含むパケットであるＡ２パケットを生成し、送信部１１２に出力する。
【００４０】
第３パケット生成部１１１は、第２の次送信先アドレスを受け付け、受信パケットに含まれるデータ、次送信先機器と前送信元機器との共有鍵（Ａ２共通鍵）によって生成される認証子の生成依頼と第２の次送信先アドレスを含むパケットであるＡ３パケットを生成する。
【００４１】
なお、第３パケット生成部１１１は、Ａ３パケットには、Ａ２共有鍵の生成依頼は含めずにＡ３パケットを生成しても良い。その場合、第２の次送信先アドレスを後述する送信部１１２から受けた前送信元機器が、第２の次送信先アドレスに基づいてＡ２共有鍵を生成しても良い。
【００４２】
送信部１１２は、第１処理部１０５（経路情報確認部）から受信パケットが送信できない旨を受け付けると、前送信元機器に受信パケットが送信できない旨を送信する。
【００４３】
送信部１１２は、第１パケット生成部１０８からＡ１パケットを受け付けると、第２の次送信先アドレスの次送信先機器にＡ１パケットを送信する。
【００４４】
送信部１１２は、第２パケット生成部１１０からＡ２パケットを受け付けると、第２の次送信先アドレスの次送信先機器にＡ２パケットを送信する。
【００４５】
送信部１１２は、第３パケット生成部１１１からＡ３パケットを受け付けると、前送信先機器にＡ３パケットを送信する。
【００４６】
また、中継装置が前送信元機器（送信装置）である場合について述べる。
【００４７】
受信部１０１は、Ａ３パケットを受信する。そして、Ａ３パケットを第３処理部１０７に送信する。
【００４８】
第３処理部１０７は、Ａ３パケットを受信すると、自己と第２の次送信元アドレスが示す装置との共有鍵（Ａ２共有鍵）が鍵情報記憶部１０３に有るか否かを判定する。
【００４９】
第３処理部１０７は、自己と第２の次送信元アドレスが示す装置との共有鍵が鍵情報記憶部１０３に有る場合、共有鍵（Ａ２共有鍵）を鍵情報記憶部１０３から抽出する。
【００５０】
第３処理部１０７は、Ａ３パケットと共有鍵（Ａ２共有鍵）を認証子生成部１０９に出力する。
【００５１】
認証子生成部１０９は、Ａ３パケットに含まれるデータと共有鍵（Ａ２共有鍵）に基づいて認証子（Ｂ１認証子）を生成する。そして、認証子生成部１０９は、Ａ３パケットに含まれるデータと共有鍵（Ａ２共有鍵）と認証子（Ａ２認証子）を第２パケット生成部１１０に出力する。
【００５２】
第２パケット生成部１１０は、認証子生成部１０９は、Ａ３パケットに含まれるデータと共有鍵（Ａ２共有鍵）と認証子（Ａ２認証子）を含むパケットである第４パケットを生成し、第４パケットを送信部１１２に出力する。
【００５３】
次に、図２の中継装置の動作について説明する。図５は、中継装置の動作のフローチャートである。
【００５４】
受信部１０１にて、送信装置または他の中継装置から送信されたパケットを受信する（Ｓ１０１）。受信されたパケットは認証子検証部１０４に渡される。
【００５５】
認証子検証部１０４は、受信したパケットに認証子が含まれるか否かを確認する（Ｓ１０２）。
【００５６】
認証子検証部１０４は、受信したパケットに認証子が含まれなかった場合（ＮＯ）、送信元の前送信元機器に受信できない旨を返信する（Ｓ１０３）。
【００５７】
認証子検証部１０４は、受信したパケットに認証子が含まれる場合（ＹＥＳ）、認証子検証部１０４は受信パケットを第１処理部１０５に送信する。第１処理部１０５は、パケットの最終送信先アドレスに基づいて、経路情報が有るか否かを判定する（Ｓ１０４）。
【００５８】
そして、経路情報が無い場合は、第１処理部１０５は受信パケットが送信できない旨を送信部１１２に出力する（Ｓ１０５）。
【００５９】
経路情報がある場合は、第１処理部１０５は経路情報記憶部１０２から第２の次送信先アドレスを抽出し、抽出された第２の次送信先アドレスを第２処理部１０６に出力する（Ｓ１０６）。
【００６０】
第２処理部１０６は、第２のアドレスに対応する次送信先機器と前送信元機器との共有鍵（Ａ１共有鍵）を用いて生成されたＡ１認証子を受信パケットが含むか否かを判定する（Ｓ１０７）。
【００６１】
受信パケットが認証子を含むと判定した場合（ＹＥＳ）は、受信パケットと第２の次送信先アドレスとが第１パケット生成部１０８に出力される。
【００６２】
第１パケット生成部１０８では、受信パケットに含まれるデータと第２の次送信先アドレスとを含むＡ１パケットを生成し（Ｓ１０８）、送信部１１２に送信する（Ｓ１０９）。
【００６３】
受信パケットがＡ１認証子を含まないと判定した場合（ＮＯ）は、第３処理部１０７は、鍵情報記憶部１０３に自己と第２の次送信先アドレスに対応する機器との共有鍵（Ａ１共有鍵）が有るか否か判定する（Ｓ１１０）。
【００６４】
Ａ１共有鍵がある場合（ＹＥＳ）は、鍵情報記憶部１０３からＡ１共有鍵を読み出し（Ｓ１１１）、認証子生成部１０９は、受信パケット、第２の次送信先アドレス、Ａ１共有鍵とに基づいてＡ１認証子を生成する（Ｓ１１２）。そして、第２パケット生成部１１０は、受信パケットに含まれるデータ、第２の送信先アドレス情報、Ａ１認証子を含むＡ２パケットを生成し（Ｓ１１３）、送信部１１２にＡ２パケットを出力する（Ｓ１１４）。
【００６５】
Ａ１共有鍵が無い場合（ＮＯ）は、第３パケット生成部１１１は、次送信先機器と前送信元機器との共有鍵（Ａ２共有鍵）の生成依頼と第２の次送信先アドレスを含むＡ３パケットを生成し（Ｓ１１５）、Ａ３パケットを送信部１１２に出力する（Ｓ１１６）。
【００６６】
なお、Ｓ１１７とＳ１１８については後述する。
【００６７】
図６は、Ａ３パケットを受信した場合の、前送信元機器（中継装置）の動作を示すフローチャートである。
【００６８】
受信部１０１は、Ａ３パケットを受信する（Ｓ２０１）。Ａ３パケットは受信部１０１から第３処理部１０７に出力される。
【００６９】
第３処理部１０７は、Ａ３パケットを受信すると、自己と第２の次送信元アドレスが示す装置との共有鍵（Ａ２共有鍵）が鍵情報記憶部１０３に有るか否かを判定する（Ｓ２０２）。
【００７０】
Ａ２共有鍵が鍵情報記憶部１０３に有る場合、認証子生成部１０９は、Ａ３パケットに含まれるデータと共有鍵（Ａ２共有鍵）に基づいて認証子（Ａ２認証子）を生成する（Ｓ２０３）。そして、認証子生成部１０９は、Ａ３パケットに含まれるデータと共有鍵（Ａ２共有鍵）と認証子（Ａ２認証子）を第２パケット生成部１１０に出力する。
【００７１】
第２パケット生成部１１０は、Ａ３パケットに含まれるデータと共有鍵（Ａ２共有鍵）と認証子（Ａ２認証子）を含むパケットである第４パケットを生成し（Ｓ２０４）、第４パケットを送信部１１２に出力する（Ｓ２０５）。
【００７２】
Ａ２共有鍵が鍵情報記憶部１０３に無い場合は、第３処理部１０７は、第１処理部１０５に経路情報記憶部１０２のうち対象のアドレスを送信不可に変更する旨を出力して、第１処理部１０５は第１処理部１０５に経路情報記憶部１０２のうち対象のアドレスを送信不可に変更する（Ｓ１１７）。そして、第１処理部１０５はＳ１０４以降の処理を更に行う。
【００７３】
中継装置は、送信先から送信不可の返信を受け付ける（Ｓ１１８）。その後は、経路情報の確認を行う（Ｓ１０４）フローとなる。
【００７４】
図７は、上記実施形態に係る中継装置が用いられる実施例として、スマートグリッド通信網の一構成例を示す。図７において、電力使用量を集計するスマートメータ１１sａ〜１１sｃは、中継装置１０sａ〜１０sｈによって数台ごとにまとめられ、通信網を介してメータデータ管理システムであるMDMS(Meter Data Management System)１２sa〜１２scと通信する。MDMSは、各家庭のスマートメータから一定の間隔で電力使用量を受信して記憶する。
【００７５】
本実施例のスマートグリッド通信網では、パケットが送信元の端末から最終的な宛先端末に到達するまでに幾つかの中継装置を通過する。上記のスマートメータ、中継装置やMDMSは、DoS（Denial of Service attack）攻撃を防ぐため、そこから外部へのパケット送出あるいは外部からのパケット流入にあたり、パケットの認証処理を実行する。
【００７６】
上記の中継装置１０sａがパケットの送信先スマートメータ１１sａからパケットの中継依頼を受けた時、パケットの転送先に向け、次の中継装置１０sｂとの共有鍵を持っているかどうかに基づいて、パケットを中継するかを判断する。共有鍵とは、送信者と受信者が共有している秘密鍵である。この共有鍵を使って、ＭＡＣ認証子を生成や検証することができる。共有鍵を事前に持ってない原因で送信者と受信者のＭＡＣ認証子を作れないため、パケットの中継が出来ない場合は、中継装置１０sａはスマートメータ１１sａに転送先である中継装置１０sｂとの共有鍵があるかことを問い合わせる機能を有している。スマートメータ１１sａが中継装置１０sｂとの共有鍵を持つ場合、中継装置１０sａと１０sｂの2つのＭＡＣ認証子を生成し、中継装置１０sａにパケットを転送する。中継装置１０sａは、パケットに付加されたＭＡＣ認証子を検証できたら、中継装置１０sｂへパケットとスマートメータ１１sａが付加したＭＡＣ認証子と一緒に転送する。
【００７７】
（第２の実施形態）
次に、第２の実施形態について説明する。
【００７８】
本実施形態では、パケットはデータ、認証子の他に、検証または転送を続ける回数を示す情報（転送制御情報）を含む。この転送制御情報は認証子に対応付けられている。
【００７９】
図８は第２の実施形態に係る情報処理装置（本例では中継装置）２０の構成を示す図である。
【００８０】
受信部２０１は、送信装置または他の中継装置から送信されたパケットを受信する。ここで、自己の中継装置にパケットを送信してきた送信装置または他の中継装置を前送信元機器という。受信部２０１は、受信したパケットを認証子検証部２０４に渡す。パケットは、データ、データと送信装置が有する共有鍵から生成された認証子、前送信元機器のアドレス情報、パケットの最終的な宛先のアドレス情報（最終送信先アドレス）を有する。
【００８１】
経路情報記憶部２０２は、経路情報を記憶する。経路情報は、最終送信先アドレスとパケットを次に送信する宛先のアドレス情報（第１の次送信先アドレス）とを対応付けた情報を含む。最終送信先アドレスは、本実施形態では受信装置の宛先情報である。経路情報は、受信したパケットをどこへ送信すれば良いかを判断されるために利用される。また、次に送信する宛先である他の中継装置または受信装置を次送信先機器という。
【００８２】
鍵情報記憶部２０３は、中継装置と送信装置との共有鍵、または中継装置と他の中継装置との共有鍵、または中継装置と受信装置との共有鍵を記憶する。
【００８３】
認証子検証部２０４は、認証子の検証の結果、正しい認証子が受信パケットに含まれていると判定した場合、受信パケットを転送制御情報処理部２０５に出力する。
【００８４】
転送制御情報処理部２０５は、受信パケットを受け付けると、転送制御情報の値を所定の方法によって変更する。変更した結果、所定の条件となった場合は、転送制御情報を受信パケットから削除する。ここで、所定の方法としては、例えば、前送信元機器と自己との共有鍵で生成された認証子に対応する転送制御情報の値を１減らす。もし、転送制御情報の値が０となった場合は、転送制御情報を受信パケットから削除する。所定の方法としては、上記１減らす方法に限定されず、それ以外に転送制御情報に所定の演算を行ってもよく、所定数減らしたり、所定数増やしたりしても良い。そして、転送制御情報処理部２０５は、処理後の受信パケットを第１処理部２０６に出力する。
【００８５】
第１処理部２０６（経路情報抽出部）は、受信部２０１が受信したパケット（受信パケット）の最終送信先アドレスに基づいて、経路情報記憶部２０２に受信パケットの最終送信先アドレスを含む経路情報があるか否かを判定する。
【００８６】
第１処理部２０６（経路情報抽出部）は、経路情報があると判定した場合、最終送信先アドレスと対応付けられている第１の次送信先アドレスを1つ以上抽出する。さらに、抽出された1つ以上の第１の送信先アドレスから送信対象の候補となる第１の次宛先アドレスである第２の次宛先アドレスを抽出する。ここで、第２の次送信先アドレスが複数ある場合は、その中から１つを抽出する。そして、抽出された第２の次送信先アドレスを後述の第２処理部２０７に出力する。なお、複数の第２の次送信先アドレスから１つの第２の次送信先アドレスを抽出する方法は、特に限定されないが、経路情報記憶部２０２に記憶されている順番などでも良い。
【００８７】
第１処理部２０６（経路情報抽出部）は、経路情報がないと判定した場合、受信パケットが送信できない旨を送信部２１３に出力する。
【００８８】
第２処理部２０７は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むか否かを判定する。ここで、次送信先機器と前送信元機器との組み合わせの具体例としては、第２の次送信先アドレスに対応する中継装置と送信装置、または第２の次送信先アドレスに対応する中継装置と他の中継装置、または第２の次送信先アドレスに対応する受信装置と他の中継装置などがある。
【００８９】
第２処理部２０７は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むと判定した場合は、受信パケットと、第２の次送信先アドレスとを第１パケット生成部２０９に出力する。
【００９０】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【００９１】
第２処理部２０７は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含まないと判定した場合は、第３処理部２０８（鍵確認部）に受信パケットと第２の次送信先アドレスと出力する。
【００９２】
前送信元機器と次送信先機器との共通鍵を用いて生成された認証子の具体例としては、前送信元の送信装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の中継装置との認証子、または前送信元の中継装置と次送信先の受信装置との認証子などがある。
【００９３】
第３処理部２０８は、受信パケットと第２の次送信先アドレスを受け付け、自己の中継装置と次送信先機器との共有鍵が鍵情報記憶部２０３に有るか否かを判定する。
【００９４】
第３処理部２０８は、自己の中継装置と次送信先機器との共有鍵が鍵情報記憶部２０３に有ると判定した場合は、見つかった共有鍵、回数情報を鍵情報記憶部２０３から読み出す。受信パケット、第２の次送信先アドレス、読み出した共有鍵、回数情報を認証子／転送制御情報生成部２１０に出力する。
【００９５】
第１パケット生成部２０９は、受信した受信パケットと第２の次送信先アドレスに基づいて、受信パケットに含まれるデータと第２の次送信先アドレスを含むパケットである第１のパケットを生成し、送信部２１３に出力する。
【００９６】
認証子／転送制御情報生成部２１０は、受信パケット、第２の次送信先アドレス、読み出した共有鍵、回数情報を受け付ける。受信パケットに含まれるデータと共有鍵とに基づいて認証子（Ｂ１認証子）を生成し、回数情報に基づいて転送制御情報を生成する。そして、受信パケット、第２の次送信先アドレス、生成した認証子、転送制御情報を第２パケット生成部２１１に出力する。
【００９７】
第２パケット生成部２１１は、受信パケット、第２の次送信先アドレス、生成した認証子（Ｂ１認証子）、転送制御情報を第２パケット生成部２１１を受け付け、受信パケットに含まれるデータ、第２の送信先アドレス、Ｂ１認証子を含むパケット（Ｂ２パケット）を生成し、送信部２１３に出力する。
【００９８】
第３パケット生成部２１２は、第２の次送信先アドレスを受け付け、受信パケットに含まれるデータ、次送信先機器と前送信元機器との共有鍵（Ｂ２共通鍵）によって生成される認証子の生成依頼と第２の次送信先アドレスを含むパケットであるＡ３パケットを生成する。
【００９９】
なお、第３パケット生成部２１２は、Ａ３パケットには、Ｂ２共有鍵の生成依頼は含めずにＡ３パケットを生成しても良い。その場合、第２の次送信先アドレスを後述する送信部２１３から受けた前送信元機器が、第２の次送信先アドレスに基づいてＢ２共有鍵を生成しても良い。
【０１００】
送信部２１３は、第１処理部１０５（経路情報確認部）から受信パケットが送信できない旨を受け付けると、前送信元機器に受信パケットが送信できない旨を送信する。
【０１０１】
送信部２１３は、第１パケット生成部１０８から第１パケットを受け付けると、第２の次送信先アドレスの次送信先機器に第１パケットを送信する。
【０１０２】
送信部２１３は、第２パケット生成部１１０からＡ２パケットを受け付けると、第２の次送信先アドレスの次送信先機器にＡ２パケットを送信する。
【０１０３】
送信部２１３は、第３パケット生成部１１１からＡ３パケットを受け付けると、前送信先機器にＡ３パケットを送信する。
【０１０４】
次に、図８の中継装置の動作について説明する。図９は、図８の中継装置の動作概要のフローチャートである。
【０１０５】
受信部２０１にて、送信装置または他の中継装置から送信されたパケットを受信する（Ｓ３０１）。受信されたパケットは認証子検証部２０４に渡される。
【０１０６】
認証子検証部２０４は、受信したパケットに認証子が含まれるか否かを確認する（Ｓ３０２）。
【０１０７】
認証子検証部２０４は、受信したパケットに認証子が含まれなかった場合（ＮＯ）、送信元の前送信元機器に受信できない旨を返信する（Ｓ３０３）。
【０１０８】
認証子検証部２０４は、認証子の検証の結果、正しい認証子が受信パケットに含まれていると判定した場合、受信パケットを転送制御情報処理部２０５に出力する（ＹＥＳ）。
【０１０９】
転送制御処理部は、受信パケットを受け付けると、前送信元機器と自己との共有鍵で生成された認証子に対応する転送制御情報の値を１減らす。もし、転送制御情報の値が０となった場合は、転送制御情報を受信パケットから削除する（Ｓ３０４）。そして、処理後の受信パケットを第１処理部２０６に出力する
第１処理部２０６は、パケットの最終送信先アドレスに基づいて、経路情報が有るか否かを判定する（Ｓ３０５）。
【０１１０】
そして、経路情報が無い場合は、第１処理部２０６は受信パケットが送信できない旨を送信部２１３に出力する（Ｓ３０６）。
【０１１１】
経路情報がある場合は、第１処理部２０６は経路情報記憶部２０２から第２の次送信先アドレスを抽出し、受信パケットと第２の次送信先アドレスを第２処理部２０７に出力する（Ｓ３０７）。
【０１１２】
第２処理部２０７は、次送信先機器と前送信元機器との共有鍵を用いて生成された認証子を受信パケットが含むか否かを判定する（Ｓ３０８）。
【０１１３】
受信パケットが認証子を含むと判定した場合（ＹＥＳ）は、受信パケットと第２の次送信先アドレスとが第１パケット生成部２０９に出力される。
【０１１４】
第１パケット生成部２０９では、受信パケットに含まれるデータと第２の次送信先アドレスとを含む第１パケットを生成し（Ｓ３０９）、送信部２１３に送信する（Ｓ３１０）。
【０１１５】
受信パケットが認証子を含まないと判定した場合（ＮＯ）は、第３処理部２０８は、受信パケットと第２の次送信先アドレスを受け付け、自己の中継装置と次送信先機器との共有鍵（Ｂ１共有鍵）が鍵情報記憶部２０３に有るか否かを判定する（Ｓ３１１）。
【０１１６】
第３処理部２０８は、自己の中継装置と次送信先機器との共有鍵（Ｂ１共有鍵）が鍵情報記憶部２０３に有ると判定した場合は、見つかったＢ１共有鍵、回数情報を鍵情報記憶部２０３から読み出す（Ｓ３１２）。受信パケット、第２の次送信先アドレス、読み出したＢ１共有鍵、回数情報を認証子／転送制御情報生成部２１０に出力する。
【０１１７】
認証子／転送制御情報生成部２１０は、受信パケット、第２の次送信先アドレス、読み出したＢ１共有鍵、回数情報を受け付ける。受信パケットに含まれるデータとＢ１共有鍵とに基づいて認証子（Ｂ１認証子）を生成し、回数情報に基づいて転送制御情報を生成する（Ｓ３１３）。そして、受信パケット、第２の次送信先アドレス、生成した認証子、転送制御情報を第２パケット生成部２１１に出力する。
【０１１８】
第２パケット生成部２１１は、受信パケット、第２の次送信先アドレス、生成した認証子（Ｂ１認証子）、転送制御情報を受け付け、受信パケットに含まれるデータ、第２の送信先アドレス、Ｂ１認証子を含むパケット（Ｂ２パケット）を生成し（Ｓ３１４）、送信部２１３に出力する（Ｓ３１５）。
【０１１９】
Ｂ１共有鍵が無い場合（ＮＯ）は、第３パケット生成部２１２は、次送信先機器と前送信元機器との共有鍵（Ｂ２共有鍵）の生成依頼と第２の次送信先アドレスを含むＢ３パケットを生成し（Ｓ３１６）、Ｂ３パケットを送信部２１３に出力する（Ｓ３１７）。
【０１２０】
なお、Ｓ３１８とＳ３１９については後述する。
【０１２１】
図１０は、Ｂ３パケットを受信した場合の、前送信元機器（中継装置）の動作を示すフローチャートである。
【０１２２】
受信部２０１は、Ｂ３パケットを受信する（Ｓ４０１）。Ｂ３パケットは受信部２０１から第３処理部２０８に出力される。
【０１２３】
第３処理部２０８は、Ｂ３パケットを受信すると、自己と第２の次送信元アドレスが示す装置との共有鍵（Ｂ２共有鍵）が鍵情報記憶部２０３に有るか否かを判定する（Ｓ４０２）。
【０１２４】
Ｂ２共有鍵が鍵情報記憶部２０３に有る場合、認証子生成部は、受信パケット、第２の次送信先アドレス、読み出したＢ２共有鍵、回数情報を受け付ける（Ｓ４０３）。
【０１２５】
受信パケットに含まれるデータとＢ２共有鍵とに基づいて認証子（Ｂ３認証子）を生成し、回数情報に基づいて転送制御情報を生成する（Ｓ４０４）。そして、受信パケット、第２の次送信先アドレス、生成した認証子（Ｂ３認証子）、転送制御情報をＢ２パケット生成部に出力する。
【０１２６】
第２パケット生成部２１１は、受信パケット、第２の次送信先アドレス、生成した認証子（Ｂ１認証子）、転送制御情報を第２パケット生成部２１１を受け付ける。第２パケット送信部２１３は、受信パケットに含まれるデータ、第２の送信先アドレス、Ｂ１認証子を含むパケット（Ｂ４パケット）を生成し（Ｓ４０５）、送信部２１３に出力する。そして、送信部２１３はＢ４パケットをする（Ｓ４０６）。
【０１２７】
中継装置は、送信先の他の中継装置から送信不可の返信を受ける（（１））と、経路情報のうち対象のアドレスを送信不可に変更する（Ｓ３１８）。また、認証子が無いと判定された場合（Ｓ３０２でＮＯの場合（２））、経路情報が無いと判定された場合（Ｓ３０５で無いの場合（２））も、経路情報のうち対象のアドレスを送信不可に変更する（Ｓ３１９）。
【０１２８】
第２の実施形態の動作例を説明する。図１１は具体的な動作例を示す図である。
【０１２９】
上記のスマートメータと中継装置は通信先との共有鍵でパケットのＭＡＣ認証子を生成する際に、ＭＡＣ認証制御情報をそのＭＡＣ認証子と一緒に設定する手段（認証子／転送制御情報生成部２１０）を有している。ＭＡＣ認証制御情報には、そのＭＡＣ認証子を検証してから、削除するか、もしくは転送を続けるかの情報を記載する。
【０１３０】
具体的には、n人の共有鍵でＭＡＣ認証子を生成した場合、そのＭＡＣ認証子を他の(n-1)人の共有者に検証することが必要ため、ＭＡＣ転送制御情報に（ｎ−１）をマークしておく(例：3人の共有鍵でＭＡＣ認証子を生成した場合、ほか2人共有者に2回の検証が必要ため、ＭＡＣ転送制御情報に2をマークしておく)。次の端末がパケットを受信して、ＭＡＣ認証子を検証できた時にそのＭＡＣ転送制御情報部分を‘１’減した新しい回数を更新する。減した新しい回数は‘=0’になったら、そのＭＡＣとＭＡＣ転送制御情報部分を削除する。‘>0’の場合は、次の中継装置へ転送を続ける。
【０１３１】
以下の説明では、「Ｋ」は鍵を意味し、「Ｋ」にかっこ書きが付された表記が、「−」で繋がれた機器の間で共有される鍵を意味する。図Ｑ，Ｒの表現では、「Ｋ」に下付で表された表記が、「−」で繋がれた機器の間で共有される鍵を意味する。例えば、Ｋ（Ａ−Ｂ−Ｄ）は機器Ａ、Ｂ、Ｄの共有鍵を意味する。図Ｑ、Ｒでは、Ｋに下付のＡ−Ｂ−Ｄが同じ意味を表す。また、Ｋ（Ａ−Ｂ−Ｄ）により生成した認証子はＭＡＣ認証子（Ａ−Ｂ−Ｄ）と表す。図Ｑ，Ｒでは、ＭＡＣに下付のＡ−Ｂ−Ｄが同じ意味を表す。
【０１３２】
例として、図Ｑでは、K（Ａ−Ｂ−Ｄ）は機器A、B、Dの共有鍵、Ｋ（Ｂ−Ｃ）は機器B、Cの共有鍵、Ｋ（Ｄ−Ｅ）は機器D、Eの共有鍵である。
【０１３３】
初めに、機器ＡがＫ（Ａ−Ｂ−Ｄ）で機器B、DとのＭＡＣ認証子であるＭＡＣ（Ａ−Ｂ−Ｄ）を生成し、ＭＡＣ制御認証情報には2と設定して、Bにデータのパケットを転送する。
【０１３４】
機器Bは、Ｋ（Ａ−Ｂ−Ｄ）でＭＡＣ認証子を検証できたら、ＭＡＣ制御認証情報部分を1を減らし、機器Cとの共有鍵Ｋ（Ｂ−Ｃ）でＭＡＣ認証子ＭＡＣ（Ａ−Ｂ−Ｄ）とＭＡＣ制御認証情報を生成して、機器Cにパケットを転送する。
【０１３５】
機器CはＫ（Ｂ−Ｃ）でＭＡＣ認証子ＭＡＣ（Ｂ−Ｃ）を検証できたら、ＭＡＣ制御認証情報に1を減らしたら、０となったので、ＭＡＣ認証子ＭＡＣ（Ｂ−Ｃ）の部分を外して、機器Dに転送する。
【０１３６】
機器DはＫ（Ａ−Ｂ−Ｃ）でＭＡＣ認証子ＭＡＣ（Ａ−Ｂ−Ｄ）を検証できたら、ＭＡＣ制御認証制御に1を減らしたら、０となったので、ＭＡＣ認証子ＭＡＣ（Ａ−Ｂ−Ｄ）の部分を外して、鍵Ｋ（Ｄ−Ｅ）でＭＡＣ認証子ＭＡＣ（Ｄ−Ｅ）とＭＡＣ制御認証情報を生成して、Ｅにパケットを転送する.Ｅは、鍵Ｋ（Ｄ−Ｅ）でＭＡＣ認証子ＭＡＣ（Ｄ−Ｅ）を検証することができる。
【０１３７】
図１２では、上記のＭＡＣ認証制御情報には、別の方法として、各ＭＡＣ認証子を検証する装置を識別できる名前やＩＤを記載する。そのＭＡＣ認証子を検証できた装置は、自分の名前を削除し、記載された名前が無くなったら、このＭＡＣ認証子を次の装置に転送せず、削除する。例として、図Ｒに示すように、Ｋ（Ａ−Ｂ−Ｄ）は機器Ａ、Ｂ、Ｄの共有鍵、Ｋ（Ｂ−Ｃ）は機器Ｂ、Ｃの共有鍵、Ｋ（Ｄ−Ｅ）は機器Ｄと機器Ｅの共有鍵である。
【０１３８】
初めに、機器ＡがＫ（Ａ−Ｂ−Ｄ）で機器Ｂ、ＤとのＭＡＣ認証子ＭＡＣ（Ａ−Ｂ−Ｄ）を生成し、ＭＡＣ制御認証情報には機器Ｂ、Ｄの識別子（名称など）を記載し、機器Ｂにデータのパケットを転送する。機器Ｂは、Ｋ（Ａ−Ｂ−Ｄ）でＭＡＣ認証子を検証できたら、ＭＡＣ制御認証情報に自分の識別子（名称）を外し、機器Ｃとの共有鍵Ｋ（Ｂ−Ｃ）でＭＡＣ認証子ＭＡＣ（Ａ−Ｂ−Ｄ）とＭＡＣ制御認証情報を生成して、機器Ｃにパケットを転送する。
【０１３９】
機器ＣはＫ（Ｂ−Ｃ）でＭＡＣ認証子ＭＡＣ（Ｂ−Ｃ）を検証できたら、ＭＡＣ制御認証情報に自分の識別子（名称）を外し、空白となったので、ＭＡＣ認証子ＭＡＣ（Ｂ−Ｃ）の部分を外して、機器Dに転送する。
【０１４０】
機器ＤはＫ（Ａ−Ｂ−Ｄ）でＭＡＣ認証子ＭＡＣ（Ａ−Ｂ−Ｄ）を検証できたら、ＭＡＣ制御認証情報に自分の識別子（名称）を外して、空白となったので、ＭＡＣ認証子ＭＡＣ（Ａ−Ｂ−Ｄ）の部分を外して、鍵Ｋ（Ｄ−Ｅ）でＭＡＣ認証子ＭＡＣ（Ｄ−Ｅ）とＭＡＣ制御認証情報を生成して、機器Ｅにパケットを転送する.そして、機器Ｅは、鍵Ｋ（Ｄ−Ｅ）でＭＡＣ認証子ＭＡＣ（Ｄ−Ｅ）を検証することができる。
【０１４１】
こういうＭＡＣ認証制御情報を設けることによって、複数（3つ以上）の中継装置に係るＭＡＣ認証子を転送・制御することができる。
【０１４２】
本実施の形態に係る発明によって、ＭＡＣ（認証子）の付加されたパケットが中継装置間で転送失敗した場合、パケットに付加するＭＡＣ（認証子）の量を削減することができる。
【０１４３】
また、これにより通信のオーバヘッドを削減、認証処理の負荷を削減した上で、DoS攻撃を抑制することが出来る。
【０１４４】
なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１４５】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１４６】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行しても良い。
【０１４７】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１４８】
また、記憶媒体は１つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１４９】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１５０】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１５１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１５２】
１０１・・・受信部
１０２・・・経路情報記憶部
１０３・・・鍵情報記憶部
１０４・・・認証子検証部
１０５・・・第１処理部
１０６・・・第２処理部
１０７・・・第３処理部
１０８・・・第１パケット生成部
１０９・・・認証子生成部
１１０・・・第２パケット生成部
１１１・・・第３パケット生成部
１１２・・・送信部
【図１】
0005763943.tif 000002
【図２】
0005763943.tif 000003
【図３】
0005763943.tif 000004
【図４】
0005763943.tif 000005
【図５】
0005763943.tif 000006
【図６】
0005763943.tif 000007
【図７】
0005763943.tif 000008
【図８】
0005763943.tif 000009
【図９】
0005763943.tif 000010
【図１０】
0005763943.tif 000011
【図１１】
0005763943.tif 000012
【図１２】
0005763943.tif 000013