(57)【要約】【課題】送信先ホストが管理する暗号鍵の数を低減するとともに、パケットのヘッダ部分のみに対して暗号化処理することによって処理負荷を低減し、これにより、送信先ホストが、より間単に、かつ、経済的に送信元ホストを認証することができるパケット通信網におけるホスト認証方法を提供する。【解決手段】認証サーバは、送信元ホストのアドレスとパケットの転送経路にあるルータまたは送信先ホストの秘密鍵を引数とする一方向関数の出力値を認証情報として、送信元ホストに提供する。送信元ホストは、その認証情報を送信パケットのパケット識別子に設定して送信する。ルータまたは送信先ホストは、パケットを受信したとき、受信パケットの送信元アドレスと、ルータまたはホスト自身の秘密鍵を引数とする一方向関数の出力値が、受信パケットのパケット識別子から抽出した認証情報と一致する場合に、送信元ホストを認証する。【選択図】　　図１
2004134855.tif 000002
【特許請求の範囲】
【請求項１】
送信元アドレスと送信先アドレスとパケット識別子を含むヘッダ部と、ペイロード部によって構成されるパケットを、相互に送受信する複数のホストと、送信元アドレスの任意性を許容して、送信先アドレスに基づいてパケットを転送する複数のルータとを具備するパケット通信網における送信元認証方法であって、
前記送信元ホストは、自身のアドレスとルータまたは送信先ホストの秘密鍵を引数とする一方向関数の出力値を認証情報として送信パケットのパケット識別子に設定して送信し、
前記パケットの転送経路にあるルータまたは送信先ホストは、パケットを受信したとき、受信パケットの送信元アドレスと、ルータまたはホスト自身の秘密鍵を引数とする一方向関数の出力値が、受信パケットのパケット識別子から抽出した認証情報と一致する場合に、送信元ホストを認証することを特徴とする送信元認証方法。
【請求項２】
送信元アドレスと送信先アドレスとパケット識別子を含むヘッダ部と、ペイロード部によって構成されるパケットを相互に送受信する複数のホストと、送信元アドレスの任意性を許容して送信先アドレスに基づいてパケットを転送する複数のルータと、ホストのアドレスを管理する認証サーバとによって構成されるパケット通信網における送信元認証方法であって、
前記認証サーバは、ホストがパケットを送信する前に、アドレスと秘密鍵を引数とする一方向関数と、ルータまたは送信先ホストの秘密鍵をルータまたは送信先ホストと共有して、送信元ホストに対して認証サーバが付与するアドレスと、パケットの転送経路にあるルータまたは送信先ホストの秘密鍵を引数とする一方向関数の出力値をルータまたは送信先ホストの認証情報として、送信元ホストに提供し、
前記送信元ホストは、パケットを送信するとき、前記認証サーバから取得したルータまたは送信先ホストの認証情報を、パケットのパケット識別子に設定して送信し、
前記パケットの転送経路にあるルータまたは送信先ホストは、パケットを受信したとき、受信パケットの送信元アドレスと、ルータまたはホスト自身の秘密鍵を引数とする一方向関数の出力値が、受信パケットのパケット識別子から抽出した認証情報と一致する場合に、受信パケットの送信元ホストが、認証サーバによって送信元アドレスに対応付けられたホストであることを認証する
ことを特徴とするパケット通信網における送信元認証方法。
【請求項３】
前記ルータまたは前記送信先ホストは、受信パケットのパケット識別子に認証情報が付与されていない場合に、受信パケットの送信元アドレスを管理する認証サーバへのリダイレクト通知を、受信パケットの送信元アドレスに対して送信することを特徴とする請求項２に記載のパケット通信網における送信元認証方法。
【請求項４】
前記認証サーバは、ホストがパケットを送信する前に、パケットの転送経路にあるルータまたは送信先ホストの認証情報と、前記のルータまたは送信先ホストが転送経路として指定した１つまたは複数の中継ルータの認証情報のビット排他論理和を、経路認証情報として送信元ホストに提供し、
前記送信元ホストは、パケットを送信するとき、認証サーバから取得した前記経路認証情報をパケットのパケット識別子に設定して送信し、
前記中継ルータは、パケットを受信したとき、受信パケットの送信元アドレスと、ルータ自身の秘密鍵を引数とする一方向関数の出力値と、受信パケットのパケット識別子から抽出した経路認証情報のビット排他論理和を、新たな経路認証情報として受信パケットのパケット識別子に設定して、パケットを転送し、
前記のルータまたは前記送信先ホストは、パケットを受信したとき、受信パケットの送信元アドレスと、ルータまたはホスト自身の秘密鍵を引数とする一方向関数の出力値が、受信パケットのパケット識別子から抽出した経路認証情報と一致する場合に、受信パケットが認証サーバによって送信元アドレスに対応付けられたホストからルータまたは送信先ホストが指定した中継ルータを経由して転送されたことを認証する
ことを特徴とする請求項２に記載のパケット通信網における送信元認証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、パケット通信網において、パケットの送信元ホストを認証する際に適用されるパケット通信網における送信元認証方法に関する。
【０００２】
【従来の技術】
インターネット等のパケット通信網は、パケットを相互に送受信するホストと、送信先アドレスに基づいてパケットを転送するルータによって構成される。パケットは、送信元アドレス、送信先アドレス、パケット識別子を含むヘッダ部と、データを含むペイロード部とで構成される。特定のホスト間に着目し、パケットを生成して送信するホストを、送信元ホストと呼び、パケットを受信して終端するホストを送信先ホストと呼ぶ。
【０００３】
このような構成において、ルータが送信元アドレスの任意性を許容してパケットを転送する場合、ホストは攻撃対象のホストに送信元アドレスが詐称されたパケットを到達させることができる。これは、ホストは、ホスト自身のアドレスと異なる詐称アドレスを送信元アドレスに設定し、攻撃対象のホストのアドレスを送信先アドレスに設定して、パケットを送信することにより可能である。
【０００４】
インターネットでは、このようにアドレスを詐称して、大量のパケットを送信することによって、攻撃対象のホストのネットワーク帯域またはＣＰＵ処理能力を占有して、サービス提供能力を著しく劣化させることが可能である。アドレスを詐称する攻撃方法は、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ　ＥｎｇｉｎｅｅｒｉｎｇＴａｓｋ　Ｆｏｒｃｅ）のＲＦＣ（Ｒｅｑｕｅｓｔ　Ｆｏｒ　Ｃｏｍｍｅｎｔｓ）２２６７に記述されている。
【０００５】
このようなアドレスの詐称および、アドレスを詐称した攻撃を検知して防止する従来の方法を４つ示す。
（１）第一の方法では、ルータは、受信パケットの送信先アドレスと出力インタフェースを対応付けるルーティングテーブルを用いて、受信パケットの送信元アドレスにルーティングテーブル内で対応付けられた出力インタフェースと、受信パケットの入力インタフェースが一致しない場合に、送信元アドレスの詐称を検知する。
【０００６】
この方法では、インターネット等のように特定のホスト間のパケットの転送経路が、転送方向によって一般に異なる場合に、ルータは、正方向の転送経路におけるパケットの出力インタフェースと、逆方向の転送経路におけるパケットの入力インタフェースが異なる時に、送信元アドレスが詐称されていないにも関わらず、送信元アドレスを詐称したパケットとして検知する。このため、ホスト間のパケットの転送経路が転送方向によって異なる場合に、送信元アドレスの詐称を防止するためには、適用できないことが問題である。
【０００７】
（２）第二の方法では、ルータは、受信パケットに対して、ルータ自身のアドレスまたはルータの識別情報を付与して転送する。この時、ホストまたはルータは、受信パケットに付与された前段のルータのアドレスまたは識別情報を解析して、受信パケットの送信元である物理ネットワークを追跡して、受信パケットの送信元アドレスが、特定された物理ネットワーク位置にあるアドレスと異なる場合に、アドレスの詐称を検知する。
【０００８】
この方法では、インターネット等の大規模かつアドレス構造が物理的な接続に応じて階層化されていないネットワークの場合、物理ネットワークとアドレス空間の組み合わせ数が大きいため、ルータが、転送経路から特定された送信元の物理ネットワークに、受信パケットの送信元アドレスが含まれているかを確認するためには多くの計算量が必要である。このため、大規模かつアドレス構造が物理的な接続に応じて階層化されていないネットワークの場合、多数の受信パケットの送信元アドレスの詐称をリアルタイムに検知するためには適用できない。
【０００９】
（３）第三の方法では、ルータは、アプリケーションフロー毎にコネクション状態を検知して、送信元アドレスの詐称に起因して、不完全なコネクション状態が生起する場合に、アドレスの詐称を検知する。
この方法では、ホストまたはルータは、受信パケットのペイロード部に含まれるデータであるコネクション状態制御情報を抽出して、アプリケーションフローのコネクション状態の完全性を確認するため、多くの計算量が必要になる。このため、多数のアプリケーションフローを収容する必要があるサーバ型ホストの場合、またはファイアウォール型ルータの場合、収容できるアプリケーションフロー数が少ないという問題がある。
【００１０】
（４）第四の方法では、パケットを送受信するホストまたはルータ間で暗号鍵を共有して、ホストまたはルータは、パケットの標準のヘッダ部とは異なる追加ヘッダ部の中に、ペイロード部を含むパケット全体の署名情報を付与して、パケットを送信して、前記パケットを受信したホストまたはルータは、追加ヘッダ部に含まれる署名情報を抽出して、送信元ホストまたはルータと共有する暗号鍵を用いて、ペイロード部を含むパケット全体の署名情報の正当性を評価して、パケットの送信元アドレスの詐称を検知する。
【００１１】
この方法では、ホストまたはルータは、パケットを送受信する特定のホストまたはルータ間に固有の暗号鍵を共有する必要があり、ホストまたはルータは、パケットの標準のヘッダ部とは異なる追加ヘッダ部の中に付与されたペイロード部を含むパケット全体の署名情報を生成または評価する必要がある。多数のホストと接続するサーバ型ホストの場合に、送信元ホスト毎に異なる暗号鍵を共有する管理負荷と、ペイロード部を含むパケット全体の署名情報の正当性を評価する処理負荷が大きい。このため、多数のホストと接続するサーバ型ホストまたはルータの場合に、接続できるホスト数が少ないという問題がある。
【００１２】
【発明が解決しようとする課題】
この発明は、このような事情を考慮してなされたもので、その目的は、送信先ホストが送信元ホスト毎に暗号鍵を管理する代わりに、ホストを集約して管理する認証サーバ毎に暗号鍵を管理して、管理する暗号鍵の数を低減するとともに、パケット全体に対して暗号化処理する代わりに、ヘッダ部分のみに対して暗号化処理することによって処理負荷を低減し、これによって、送信先ホストが、より間単に、かつ、経済的に送信元ホストを認証することができるパケット通信網におけるホスト認証方法を提供することにある。
【００１３】
【課題を解決するための手段】
この発明は上記の課題を解決するためになされたもので、請求項１に記載の発明は、送信元アドレスと送信先アドレスとパケット識別子を含むヘッダ部と、ペイロード部によって構成されるパケットを、相互に送受信する複数のホストと、送信元アドレスの任意性を許容して、送信先アドレスに基づいてパケットを転送する複数のルータとを具備するパケット通信網における送信元認証方法であって、前記送信元ホストは、自身のアドレスと送信先の秘密鍵を引数とする一方向関数の出力値を認証情報として送信パケットのパケット識別子に設定して送信し、前記パケットの転送経路にあるルータまたは送信先ホストは、パケットを受信したとき、受信パケットの送信元アドレスと、ルータまたはホスト自身の秘密鍵を引数とする一方向関数の出力値が、受信パケットのパケット識別子から抽出した認証情報と一致する場合に、送信元ホストを認証することを特徴とする送信元認証方法である。
【００１４】
また、請求項２に記載の発明は、送信元アドレスと送信先アドレスとパケット識別子を含むヘッダ部と、ペイロード部によって構成されるパケットを相互に送受信する複数のホストと、送信元アドレスの任意性を許容して送信先アドレスに基づいてパケットを転送する複数のルータと、ホストのアドレスを管理する認証サーバとによって構成されるパケット通信網における送信元認証方法であって、前記認証サーバは、ホストがパケットを送信する前に、アドレスと秘密鍵を引数とする一方向関数と、ルータまたは送信先ホストの秘密鍵をルータまたは送信先ホストと共有して、送信元ホストに対して認証サーバが付与するアドレスと、パケットの転送経路にあるルータまたは送信先ホストの秘密鍵を引数とする一方向関数の出力値をルータまたは送信先ホストの認証情報として、送信元ホストに提供し、前記送信元ホストは、パケットを送信するとき、前記認証サーバから取得したルータまたは送信先ホストの認証情報を、送信パケットのパケット識別子に設定して送信し、前記パケットの転送経路にあるルータまたは送信先ホストは、パケットを受信したとき、受信パケットの送信元アドレスと、ルータまたはホスト自身の秘密鍵を引数とする一方向関数の出力値が、受信パケットのパケット識別子から抽出した認証情報と一致する場合に、受信パケットの送信元ホストが、認証サーバによって送信元アドレスに対応付けられたホストであることを認証することを特徴とするパケット通信網における送信元認証方法である。
【００１５】
また、請求項３に記載の発明は、請求項２に記載のパケット通信網における送信元認証方法において、前記ルータまたは前記送信先ホストは、受信パケットのパケット識別子に認証情報が付与されていない場合に、受信パケットの送信元アドレスを管理する認証サーバへのリダイレクト通知を、受信パケットの送信元アドレスに対して送信することを特徴とする。
【００１６】
また、請求項４に記載の発明は、請求項２に記載のパケット通信網における送信元認証方法において、前記認証サーバは、ホストがパケットを送信する前に、パケットの転送経路にあるルータまたは送信先ホストの認証情報と、前記のルータまたは送信先ホストが転送経路として指定した複数の中継ルータの認証情報のビット排他論理和を、経路認証情報として送信元ホストに提供し、前記送信元ホストは、パケットを送信するとき、認証サーバから取得した前記経路認証情報を送信パケットのパケット識別子に設定して送信し、前記中継ルータは、パケットを受信したとき、受信パケットの送信元アドレスと、ルータ自身の秘密鍵を引数とする一方向関数の出力値と、受信パケットのパケット識別子から抽出した経路認証情報のビット排他論理和を、新たな経路認証情報として受信パケットのパケット識別子に設定して、パケットを転送し、前記のルータまたは前記送信先ホストは、パケットを受信したとき、受信パケットの送信元アドレスと、ルータまたはホスト自身の秘密鍵を引数とする一方向関数の出力値が、受信パケットのパケット識別子から抽出した経路認証情報と一致する場合に、受信パケットが認証サーバによって送信元アドレスに対応付けられたホストからルータまたは送信先ホストが指定した中継ルータを経由して転送されたことを認証することを特徴とする。
【００１７】
【発明の実施の形態】
以下、図面を参照し、この発明の実施の形態について説明する。図１は、この発明の実施形態を説明するためのネットワーク構成である。このネットワークは、ホストＨＳ１、ＨＳ２を、ルータＲ１が収容して、ホストＨＳ３を、ルータＲ２が収容している。また、認証サーバＮＳは、ルータＲ１に接続され、ルータＲ１に収容するホストのアドレスを管理するとともに、ホストを認証するサーバである。
【００１８】
図２は、図１で示されるホスト間で送受信するパケットのフォーマットの一例を示す図である。このパケットのフォーマットは、例えば、ＩＥＴＦのＲＦＣ７９１に従う。パケットは、ヘッダ部ＨＤとペイロード部ＰＬで構成される。ヘッダ部ＨＤは、パケット識別子ＨＤ１、送信元アドレスＨＤ２、送信先アドレスＨＤ３を含む。ペイロード部ＰＬは、データを含む。
【００１９】
図３は、図１で示される各ホストに割り当てられたアドレスの例であり、ホストＨＳ１にアドレスＡＤ１、ホストＨＳ２にアドレスＡＤ２、ホストＨＳ３にアドレスＡＤ３が割り当てられている。
図４は、図１で示されるホストが保持する認証情報を説明する図であり、ホストＨＳ１が、ホストＨＳ３の認証情報としてハッシュ値１１を保持し、また、ルータＲ２の認証情報としてハッシュ値２１を保持することを示している。
【００２０】
図５は、図１で示されるホストまたはルータが保持する秘密鍵を示す図であり、ホストＨＳ３が鍵Ｋ１を保持し、ルータＲ２が、鍵Ｋ２を保持することを示している。
図６は、図１で示されるホスト、ルータおよび認証サーバが用いる関数を説明する図である。一方向関数（ハッシュ関数）Ｈ（第１引数、第２引数）は、第１引数として暗号鍵、第２引数としてアドレスを持ち、出力値としてハッシュ値を出力するもので、全てのホストまたはルータに共有される。この関数は、逆算が困難であるとともに、２つの引数のいづれかが異なる場合に、出力値が一致する確率が十分に低いという特徴と、第１引数である暗号鍵を知らない場合に、第２引数に対する正しい出力値を類推することが困難であるという特徴を持つ。
【００２１】
図６のハッシュ値は、以下のように計算される値である。
Ｈ（鍵Ｋ１、アドレスＡＤ１）＝ハッシュ値１１・・・式１
Ｈ（鍵Ｋ１、アドレスＡＤ２）＝ハッシュ値１２・・・式２
Ｈ（鍵Ｋ２、アドレスＡＤ１）＝ハッシュ値２１・・・式３
Ｈ（鍵Ｋ２、アドレスＡＤ２）＝ハッシュ値２２・・・式４
【００２２】
このような構成において、第一の実施形態として、ホストＨＳ１が、パケットを送信する前に、ホストＨＳ３の認証情報であるハッシュ値１１を保持している場合に、ホストＨＳ３が、ホストＨＳ１から受信したパケットを認証する例を示す。なお、ハッシュ値１１は、ホストＨＳ１のみが保持する秘密情報であり、鍵Ｋ１は、ホストＨＳ３のみが保持する秘密情報である。
【００２３】
例えば、ホストＨＳ１がホストＨＳ３に対して、ルータＲ１とルータＲ２を経由してパケットを送信するものとする。このとき、ホストＨＳ１が送信するパケットには、ヘッダ部ＨＤについて、パケット識別子ＨＤ１にハッシュ値１１、送信元アドレスＨＤ２にアドレスＡＤ１、送信先アドレスＨＤ３にアドレスＡＤ３が設定される。
【００２４】
ホストＨＳ３は、前記のパケットを受信したとき、パケットのヘッダ部ＨＤから、パケット識別子ＨＤ１に含まれるハッシュ値１１と、送信元アドレスＨＤ２に含まれるアドレスＡＤ１を抽出する。次に、ホストＨＳ３は、一方向関数Ｈ（第１引数、第２引数）について、第１引数に自身の保持する鍵Ｋ１と、第２引数に受信パケットから抽出したアドレスＡＤ１を用いて、出力値を得て、受信パケットから柚出したハッシュ値１１と一致するか評価する。
【００２５】
このとき、前記の式１の通り、ハッシュ値１１は、鍵Ｋ１とアドレスＡＤ１を引数とした出力値と一致する。この場合、ホストＨＳ１以外のホストが、アドレスＡＤ１に対するハッシュ関数Ｈの正しい出力値であるハッシュ値１１を類推することが困難であるとともに、ホストＨＳ１が、アドレスＡＤ１以外のアドレスに対するハッシュ関数Ｈの正しい出力値を得ることが困難である。これによって、ホストＨＳ３は、受信パケットの送信元ホストを認証することができる。
【００２６】
次に、ホストＨＳ３の代わりに、ルータＲ２が受信パケットの送信元ホストを認証する場合を示す。ホストＨＳ１は、パケットを送信する前に、ルータＲ２の認証情報であるハッシュ値２１を保持している場合に、ルータＲ２が、ホストＨＳ１から受信するパケットを認証する例を示す。なお、ハッシュ値２１は、ホストＨＳ１のみが保持する秘密情報であり、鍵Ｋ２は、ルータＲ２のみが保持する秘密情報である。
【００２７】
このような構成において、上記の場合と同様に、ルータＲ２は、ホストＨＳ１が付与する認証情報であるハッシュ値２１を用いて、受信パケットの送信元ホストを認証できる。
このように、本実施形態では、送信先ホストまたはルータは、パケットのヘッダ部のみを解析することによって、パケットの送信元ホストを認証することができる。
【００２８】
次に、第二の実施形態として、ホストＨＳ１が、パケットを送信する前にホストＨＳ３の認証情報を保持していない場合に、ホストＨＳ３が、ホストＨＳ１を認証サーバＮＳにリダイレクトする例を示す。第一の実施形態との違いは、ホストＨＳ１がパケットを送信する前に、ホストＨＳ３の認証情報であるハッシュ値１１を保持していないことと、ホストＨＳ３と認証サーバＮＳは、ホストＨＳ３の暗号鍵である鍵Ｋ１を共有することである。例えば、ホストＨＳ１がホストＨＳ３に対して、パケットを送信するとき、ホストＨＳ１が送信するパケットには、ヘッダ部ＨＤについて、パケット識別子ＨＤ１に０（ＮＵＬＬ値）、送信元アドレスＨＤ２にアドレスＡＤ１、送信先アドレスＨＤ３にアドレスＡＤ３が設定される。
【００２９】
ホストＨＳ３は、前記のパケットを受信するとき、パケットのヘッダ部ＨＤから、パケット識別子ＨＤ１含まれる０（ＮＵＬＬ値）と、送信元アドレスＨＤ２に含まれるアドレスＡＤ１を抽出する。このとき、ホストＨＳ３は、受信パケットの送信元ホストＨＳ１に対して、認証情報の送付を要求するために、受信パケットから抽出したアドレスＡＤ１を送信先アドレスとして、リダイレクト通知メッセージを送付する。
【００３０】
ホストＨＳ１は、このリダイレクト通知メッセージを受信するとき、認証サーバＮＳに対して、ホストＨＳ３の認証情報を要求するメッセージを送信する。認証サーバＮＳは、ホストＨＳ１からホストＨＳ３の認証情報要求メッセージを受信するとき、ホストＨＳ３の暗号鍵である鍵Ｋ１を第１引数、ホストＨＳ１のアドレスＡＤ１を第２引数とする一方向関数Ｈの出力値であるハッシュ値１１を、ホストＨＳ１に対して送付する。
【００３１】
ホストＨＳ１は、認証サーバＮＳからホストＨＳ３の認証情報であるハッシュ値１１を受信すると、ホストＨＳ３ヘパケットを送信する際に、受信したハッシュ値１１を用いる。以降は、前述した第一の実施形態と同様である。
このように、本実施形態では、送信先ホストまたはルータが、認証情報を未取得のホストを、認証が必要なときに、認証サーバＮＳに誘導することができる。また、送信先ホストまたはルータは、ホストＨＳ２など認証サーバＮＳがアドレスを管理する他のホストについても、ホストＨＳ１の場合と同様な方法で、認証することができる。
【００３２】
なお、上記実施形態は、送信されたパケットの認証情報が０（ＮＵＬＬ値）であった場合であるが、認証情報の有効期限が過ぎていた場合に上記の処理を適用してもよい。
【００３３】
次に、第三の実施形態として、ホストＨＳ３が、ホストＨＳ２から受信するパケットが、ルータＲ２を経由していることを認証する例を示す。第１、第２の実施形態と同様に、鍵Ｋ１は、ホストＨＳ３と認証サーバＮＳのみが保持する秘密情報であり、鍵Ｋ２は、ルータＲ２と認証サーバＮＳのみが保持する秘密情報である。
【００３４】
第二の実施形態に示す方法と同様にして、認証サーバＮＳは、ホストＨＳ２からホストＨＳ３に対する認証情報の要求メッセージを受信するとき、自身の保持する鍵Ｋ１を第１引数、受信パケットから抽出したアドレスＡＤ２を第２引数に用いたハッシュ関数Ｈの出力値であるハッシュ値１２と、自身の保持する鍵Ｋ２を第１引数、受信パケットから抽出したアドレスＡＤ２を第２引数に用いたハッシュ関数Ｈの出力値であるハッシュ値２２のビット排他論理和を計算した値である
（ハッシュ値１２　ＸＯＲ　ハッシュ値２２）
を、ルータＲ２を中継ルータとするホストＨＳ３の経路認証情報として、ホストＨＳ２に対して応答する。
【００３５】
ホストＨＳ２がホストＨＳ３に対して、ルータＲ１とルータＲ２を経由してパケットを送信するものとする。このとき、ホストＨＳ２が送信するパケットには、ヘッダ部ＨＤについて、パケット識別子ＨＤ１に、
（ハッシュ値１２　ＸＯＲ　ハッシュ値２２）
送信元アドレスＨＤ２にアドレスＡＤ２、送信先アドレスＨＤ３にアドレスＡＤ３が設定される。
【００３６】
ルータＲ２は、前記のパケットを受信するとき、パケットのヘッダ部ＨＤから、パケット識別子ＨＤ１に含まれる
（ハッシュ値１２　ＸＯＲ　ハッシュ値２２）
と、送信元アドレスＨＤ２に含まれるアドレスＡＤ２を抽出する。次に、ルータＲ２は、自身の保持する鍵２を第１引数、受信パケットから抽出したアドレスＡＤ２を第２引数として用いたハッシュ関数Ｈの出力値であるハッシュ値２２と、受信バケットから抽出した
（ハッシュ値１２　ＸＯＲ　ハッシュ値２２）
のビット排他論理和を計算する。
【００３７】
一般に任意のビット列ＡとＢのビット排他論理和について、
Ａ　ＸＯＲ（Ａ　ＸＯＲ　Ｂ）＝Ｂ
となる性質を用いて、
ハッシュ値２２　ＸＯＲ　（ハッシュ値１２　ＸＯＲ　ハッシュ値２２）＝ハッシュ値１２
である。
【００３８】
ルータＲ２は、この計算値であるハッシュ値１２を、受信パケットのパケット識別子ＨＤ１に設定して、ホストＨＳ３に転送する。ホストＨＳ３は、前記パケットを受信するとき、自身の保持する鍵Ｋ１を第１引数、受信パケットから抽出したアドレスＡＤ２を第２引数に用いた一方向関数Ｈの出力値であるハッシュ値１２を得て、受信パケットのパケット識別子ＨＤ１から抽出したハッシュ値１２と一致することを確認する。
【００３９】
このとき、パケットがルータＲ２を経由しない場合では、ホストＨＳ３は、一方向関数Ｈの出力値であるハッシュ値１２と、受信パケットのパケット識別子ＨＤ１から抽出した
（ハッシュ値１２　ＸＯＲ　ハッシュ値２２）
の値が異なることを検知できる。このとき、ホストＨＳ２以外のホストが、ルータＲ２を中継ルータとするホストＨＳ３の経路認証情報である
（ハッシュ値１２　ＸＯＲ　ハッシュ値２２）
を類推することが困難であるとともに、ホストＨＳ２が、アドレスＡＤ２以外のアドレスに対する経路認証情報を得ることが困難である。これによって、ホストＨＳ３は、送信元アドレスＨＤ２がアドレスＡＤ２に設定された受信パケットが、ルータＲ２を経由して、ホストＨＳ２が送信したパケットであることを認証できる。
【００４０】
このように、本実施形態では、送信先ホストまたはルータは、パケットの転送経路を認証することができる。また、送信先ホストまたはルータは、送信元ホストから認証サーバに対して指定した転送経路でのみパケットを受信することができる。
【００４１】
【発明の効果】
以上説明したように、この発明によれば、ホストまたはルータは、パケットの転送経路にある中継ルータに依存せずに、送信元ホストがパケットのパケット識別子に付与する認証情報を用いて、送信元ホストを認証する。これによって、ホスト間のパケットの送信経路と受信経路が異なる場合においても、アドレスの詐称を検知することができる。
【００４２】
また、ルータが、受信パケットの送信元の物理ネットワークを特定する必要がなく、受信パケットのヘッダ部のみを解析することによって、送信元ホストを認証するため、処理に要する計算量が小さい。このため、大規模かつアドレス構造が物理的な接続に応じて階層化されていないネットワークの場合でも、多数の受信パケットの送信元ホストをリアルタイムに検知することができる。
【００４３】
また、送信先ホストまたはルータは、受信パケットのペイロード部を解析する必要がなく、受信パケットのヘッダ部のみを解析することによって、送信元ホストを認証するため、処理に要する計算量が小さい。このため、多数のアプリケーションフローを収容する必要があるサーバ型ホストの場合、またはファイアウォール型ルータの場合においても、多数の受信パケットの送信元アドレスの詐称を防止するために適用することができる。
【００４４】
また、送信先ホストまたはルータは、送信元ホスト毎に異なる暗号鍵を共有する必要がなく、自身の秘密鍵を送信元ホストに対して秘密にし、認証サーバ毎に一つの暗号鍵を共有するだけでよい。これにより、暗号鍵の管理負荷と暗号処理にともなう処理負荷を低減することができ、この結果、多数のホストと接続するサーバ型ホストまたはルータの場合においても、アドレスの詐称を防止するために適用することができる。
【００４５】
また、請求項４の発明によれば、パケットの転送経路を認証することができ、また、送信先ホストまたはルータが認証サーバに対して指定した転送経路でのみパケットを受信することができる。
【図面の簡単な説明】
【図１】この発明の一実施形態による送信元認証方法が適用されるパケット通信網を示すブロック図である。
【図２】同パケット通信網において送受信されるパケットを示す図である。
【図３】図１におけるホストＨＳ１〜ＨＳ３のアドレスを示す図である。
【図４】図１におけるホストＨＳ１が保持するホストＨＳ３の認証情報およびルータＲ２の認証情報を示す図である。
【図５】図１におけるホストＨＳ３およびルータＲ２がそれぞれ保持する暗号鍵を示す図である。
【図６】一方向関数の第１、第２の引数と、関数の出力値との関係を示す図である。
【符号の説明】
ＨＳ１〜ＨＳ３…ホスト
Ｒ１，Ｒ２…ルータ
ＮＳ…認証サーバ
ＨＤ…ヘッダ部
ＨＤ１…パケット識別子
ＨＤ２…送信元アドレス
ＨＤ３…送信先アドレス
ＰＬ…ペイロード部
【図１】
2004134855.tif 000003
【図２】
2004134855.tif 000004
【図３】
2004134855.tif 000005
【図４】
2004134855.tif 000006
【図５】
2004134855.tif 000007
【図６】
2004134855.tif 000008