(57)【要約】【課題】複数の装置宛のパケットが送出されることによる、配送経路上のルータまたはネットワーク帯域への妨害攻撃を効果的に防止することのできる通信制御装置を提供する。【解決手段】複数の受信装置を送信先として指定するパケットの転送を制御する通信制御装置であって、パケットを受信する受信手段２０２と、受信手段２０２が受信したパケットから、第１の情報および第２の情報を抽出する抽出手段２０４と、抽出手段２０４が抽出した第１の情報および第２の情報が予め定められた関係を有する場合にパケットの転送を許可する転送判断手段２０８と、転送判断手段２０８が転送を許可した前記パケットを送信する送信手段２０２とを備えた。【選択図】        図４
2005072724.tif 000002
【特許請求の範囲】
【請求項１】
複数の受信装置を送信先として指定するパケットの送信を制御する通信制御装置であって、
前記パケットを受信する受信手段と、
前記受信手段が受信した前記パケットから、第１の情報および第２の情報を抽出する抽出手段と、
前記抽出手段が抽出した前記第１の情報および前記第２の情報が予め定められた関係を有する場合に前記パケットの転送を許可する転送判断手段と、
前記転送判断手段が転送を許可した前記パケットを送信する送信手段と
を備えたことを特徴とする通信制御装置。
【請求項２】
前記抽出手段が抽出した前記第１の情報を、予め定められている変換規則に従って変換する変換手段をさらに備え、
前記転送判断手段は、前記変換手段が変換した後の前記第１の情報と前記第２の情報とを照合し、一致した場合に前記パケットの転送を許可することを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記変換手段は、前記第１の情報を一方向性関数で変換することを特徴とする請求項２に記載の通信制御装置。
【請求項４】
前記変換手段は、前記第１の情報をハッシュ関数で変換することを特徴とする請求項３に記載の通信制御装置。
【請求項５】
前記変換手段は、少なくとも前記受信装置それぞれが保持する同一の秘密鍵を定数として利用する前記変換規則で変換することを特徴とする請求項２から４のいずれか一項に記載の通信制御装置。
【請求項６】
前記秘密鍵を予め保持する共通鍵保持手段をさらに備えたことを特徴とする請求項５に記載の通信制御装置。
【請求項７】
前記第１の情報は、前記複数の受信装置を含むグループを識別するグループ識別情報であって、
前記変換手段は、前記グループ識別情報を前記変換規則に従って変換することを特徴とする請求項１から６のいずれか一項に記載の通信制御装置。
【請求項８】
前記抽出手段は、前記受信手段が前記送信先として指定された複数の受信装置を含むマルチキャストグループへの参加要請メッセージを前記パケットとして受信した場合に、前記受信手段が受信した前記参加要請メッセージから前記第１の情報および前記第２の情報を抽出することを特徴とする請求項１から７のいずれか一項に記載の通信制御装置。
【請求項９】
前記抽出手段は、前記受信手段が前記送信先として指定された複数の受信装置を含むマルチキャストパケットを受信した場合に、前記マルチキャストパケットから前記第１の情報および前記第２の情報を抽出することを特徴とする請求項１から８のいずれか一項に記載の通信制御装置。
【請求項１０】
送信装置と、受信装置と、前記送信装置と前記受信装置の間の通信を制御する通信制御装置とを備えた通信制御システムであって、
前記送信装置は、
複数の受信装置を送信先として指定するパケットを送信する送信手段を有し、
前記通信制御装置は、
前記前記パケットを受信する受信手段と、
前記受信手段が受信した前記パケットから第１の情報および第２の情報を抽出する抽出手段と、
前記抽出手段が抽出した前記第１の情報および前記第２の情報が予め定められた関係を有する場合に前記パケットの転送を許可する転送判断手段と、
前記転送判断手段が転送を許可した前記パケットを送信する送信手段と
を有することを特徴とする通信制御システム。
【請求項１１】
前記送信装置は、
第１の情報を予め定められている変換規則に従って第２の情報に変換する変換手段と、
前記第１の情報および前記第２の情報を含む前記パケットを生成するパケット生成手段と
をさらに有し、
前記送信手段は、前記パケット生成手段が生成した前記パケットを送信し、
前記通信制御装置は、
前記抽出手段が抽出した前記第１の情報を、前記送信装置の前記変換手段が変換するときに利用する前記変換規則と同一の変換規則で変換する変換手段をさらに備え、
前記通信制御装置の前記転送判断手段は、前記変換手段が変換した後の前記第１の情報と前記第２の情報とを照合し、一致した場合に前記パケットの転送を許可することを特徴とする請求項１０に記載の通信制御システム。
【請求項１２】
前記送信装置の変換手段および前記通信制御装置の変換手段は、前記受信装置それぞれが保持する同一の秘密鍵を定数として利用する同一の前記変換規則で前記第１の情報を変換することを特徴とする請求項１１に記載の通信制御システム。
【請求項１３】
前記送信装置および前記通信制御装置は、それぞれ前記共通の秘密鍵を予め保持する保持手段をさらに有することを特徴とする請求項１２に記載の通信制御システム。
【請求項１４】
複数の受信装置を送信先として指定するパケットの送信を制御する通信制御方法であって、
前記パケットを受信する受信ステップと、
前記受信ステップにおいて受信した前記パケットから、第１の情報および第２の情報を抽出する抽出ステップと、
前記抽出ステップにおいて抽出した前記第１の情報および前記第２の情報が予め定められた関係を有する場合に前記パケットの転送を許可する転送判断ステップと、
前記転送判断ステップにおいて転送を許可した前記パケットを送信する送信ステップと
を有することを特徴とする通信制御方法。
【請求項１５】
複数の受信装置を送信先として指定するパケットの送信を制御する通信制御処理をコンピュータに実行させる通信制御プログラムであって、
前記パケットを受信する受信ステップと、
前記受信ステップにおいて受信した前記パケットから、第１の情報および第２の情報を抽出する抽出ステップと、
前記抽出ステップにおいて抽出した前記第１の情報および前記第２の情報が予め定められた関係を有する場合に前記パケットの転送を許可する転送判断ステップと、
前記転送判断ステップにおいて転送を許可した前記パケットを送信する送信ステップと
をコンピュータに実行させることを特徴とする通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを介した通信を制御する通信制御装置、当該通信制御装置を含む通信制御システム、通信制御方法、通信制御プログラムに関する。
【背景技術】
【０００２】
近年、インターネットの爆発的な普及に伴い、放送型アプリケーションのためのマルチキャスト技術が注目されている。ネットワークを介したパケット配信技術としては、マルチキャスト以外にもユニキャストとブロードキャストが知られている。
【０００３】
ユニキャストとは、１つの始点から１つの終点にパケットを配送する方法である。また、ブロードキャストとは、１つの始点から全ての終点に非排他的にパケットを配送する方法である。
【０００４】
これに対しマルチキャストは、基本的にはデータを要求した末端の通信ノードを含むサブネットワーク宛てだけにパケットの配送を行うことを特徴としている。すなわち、マルチキャストは、ユニキャストとブロードキャストの中間に位置する方法ということができる。マルチキャスト技術は、インターネット上で複数の終点への効率よいパケット配送を実現すべく開発された。広域マルチキャストのための経路制御技術としては、大別するとｅｘｐｌｉｃｉｔ  ｊｏｉｎ型とｆｌｏｏｄ  ａｎｄ  ｐｒｕｎｅ型がある。
【０００５】
Ｅｘｐｌｉｃｉｔ  ｊｏｉｎ型のプロトコルの典型例としては、ＰＩＭ  ｓｐａｒｓｅ  ｍｏｄｅ(ＳＭ)が知られている。この型のプロトコルでは、受信者から送信者または中核ルータ(ｃｏｒｅ)ルータ、ＰＩＭ−ＳＭではランデブーポイント)方向へ、マルチキャストグループへの参加(ｊｏｉｎ)メッセージが転送さる。そして、参加メッセージを受け取ったルータは、そのグループのための情報を保持して、さらに上流方向へ参加メッセージを転送する。ここでＥｘｐｌｉｃｉｔ  ｊｏｉｎ型のプロトコルは、明示的参加型とも呼ばれる。
【０００６】
Ｆｌｏｏｄ  ａｎｄ  ｐｒｕｎｅ型のプロトコルでは、すべてのマルチキャストパケットを、まず全経路制御ドメイン内に非排他的に送信（フラッディング）する。その上で、受信者が存在しない末端ネットワークから送信者方向に向かって、刈り取り(ｐｒｕｎｅ)のメッセージを送ることで、徐々に配送経路を最適化していく。Ｆｌｏｏｄ  ａｎｄ  ｐｒｕｎｅ型のプロトコルは、データ自身を使ってマルチキャストプロトコルの配布木の構築を制御することから、データ駆動型とも呼ばれる。
【０００７】
Ｅｘｐｌｉｃｉｔ  ｊｏｉｎ型のプロトコルでは、原則的にすべての受信者がすべてのグループアドレスに対して参加要求を出すことができる。これを悪用し、悪意の受信者が、異なるグループアドレスに対する大量の参加要求を繰り返し送信することにより、対応する送信者または中核ルータ方向の経路上のルータのリソースが消費されるという問題があった。さらに、この型の攻撃は、受信者に直接接続したルータにおいては経路制御プロトコルの種類によらず成立してしまうという問題があった。
【０００８】
一方、Ｆｌｏｏｄ  ａｎｄ  ｐｒｕｎｅ型の経路制御プロトコル(たとえばＰＩＭｄｅｎｓｅ  ｍｏｄｅやＤＶＭＲＰ)を利用している場合には、また別種の妨害攻撃が問題となっていた。すなわち、悪意の送信者が任意の宛先宛のマルチキャストパケットを大量に送信する場合があった。これにより、経路制御ドメイン内の帯域が消費され、またルータの負荷が増大するという問題があった。
【０００９】
これらの攻撃に対する単純な解決策として、以下のようなフィルタ方法が考えられる。すなわち、特定のグループ(アドレスまたはプレフィクス)のリストをルータ間で共有し、このリストに該当する参加メッセージだけを通し、また該当するグループアドレス宛のパケットのみを転送する。このようなリストを共有する方法として、たとえば、ＰＩＭ−ＳＭで用いるブートストラップメッセージが利用できる。
【００１０】
【非特許文献１】IETF RFC2117 Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification June 1997
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかし、この方式では、対象とするグループアドレスが増えるのにしたがって、管理するリストのエントリ数も増加するため、この情報自体がルータのリソースを消費してしまう。あらかじめ広いアドレス範囲に対応するグループプレフィクスを利用すればこの問題は避けられるが、その場合、そのプレフィクスの範囲で妨害攻撃を受けてしまうという問題があった。
【００１２】
本発明は、上記に鑑みてなされたものであって、悪意の受信者から複数の装置宛の転送パケットが送出されることによる、配送経路上のルータ、またはネットワーク帯域への妨害攻撃を効果的に防止することが可能な通信制御装置、通信制御システム、通信制御方法、および通信制御プログラムを得ることを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明は、複数の受信装置を送信先として指定するパケットの転送を制御する通信制御装置であって、前記パケットを受信する受信手段と、前記受信手段が受信した前記パケットから、第１の情報および第２の情報を抽出する抽出手段と、前記抽出手段が抽出した前記第１の情報および前記第２の情報が予め定められた関係を有する場合に前記パケットの転送を許可する転送判断手段と、前記転送判断手段が転送を許可した前記パケットを送信する送信手段とを備えたことを特徴とする。
【００１４】
本発明によれば、転送すべきパケットに第１の情報と第２の情報とが含まれており、かつこれらが予め定められた関係を有する場合にのみ当該パケットの転送が許可される。このため、第三者が当該関係を知ることができない限り、転送が許可されるパケットを生成することができない。従って、悪意の第三者によって生成されたパケットが送出されることによる、配送経路上のルータまたはネットワーク帯域への妨害攻撃を効果的に防止することができる。
【００１５】
なお、ここで予め定められた関係とは、例えば第２の情報が第１の情報をハッシュ関数などの一方向性関数により変換した結果である場合がある。また他の例としては、第１の情報が「ＡＢＣ」という連続した３文字である場合に、第２の情報は、第２の情報に続く２文字、すなわち「ＣＤ」であるなど所定の規則が成立する関係であってもよい。
【発明の効果】
【００１６】
本発明にかかる通信制御装置は、悪意の第三者によって生成されたパケットが送出されることによる、配送経路上のルータまたはネットワーク帯域への妨害攻撃を効果的に防止することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明にかかる通信制御装置の一例としてのルータ装置およびルータ装置を含む通信制御システムの好適な実施例を詳細に説明する。なお、通信制御装置は、ブリッジルータやゲートウェイであってもよい。また、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１８】
図１は、通信制御システム１の全体構成図である。通信制御システム１は、送信装置１０と、ルータ装置２０と、第１受信装置３０ａ、第２受信装置３０ｂ、第３受信装置３０ｃ（以下、「受信装置３０ａ〜ｃ」と称す）と、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅｓ  Ｐｒｏｖｉｄｅｒ）４０とを備えている。送信装置１０、ルータ装置２０、およびＩＳＰサーバ４０は、例えばインターネットなどのネットワーク５０を介して情報を送受信する。また、受信装置３０ａ〜ｃは、ルータ装置２０に接続し、ルータ装置２０を介して他の装置と情報を送受信する。
【００１９】
本実施例に係る通信制御システム１は、受信装置３０ａ〜ｃをマルチキャストグループとするマルチキャストプロトコルを採用している。すなわち、送信装置１０がマルチキャストパケットを送出すると、１または２以上のルータ装置を介して複数の送信装置に同一のマルチキャストパケットが送信される。ここで、マルチキャストパケットとは、複数の受信装置を送信先として指定するパケットである。本実施例に係る通信制御システム１においては、PIM-SM domainの部分集合として、フィルタをかけるルータ装置２０と、受信装置３０ａ〜ｃが設定されている。なお、送信装置１０と受信装置３０ａ〜ｃの間に設置されるルータ装置の個数は、本実施例に限定されるものではない。
【００２０】
本実施例においては、受信装置３０ａ〜ｃを含むマルチキャストグループＡが形成されている。そして、送信装置１０がマルチキャストグループＡを送信先とするマルチキャストパケットを送信すると、当該マルチキャストパケットは、ルータ装置２０を介して受信装置３０ａ〜ｃに送られる。
【００２１】
また、ＩＳＰサーバ４０は、送信装置１０および受信装置３０ａ〜ｃを含む複数の装置のネットワーク接続を管理する。ＩＳＰサーバ４０はまた、管理下にある複数の装置により構成されるマルチキャストグループを管理する。
【００２２】
図２は、送信装置１０の処理部１００の構成を示す機能ブロック図である。処理部１００は、パケットの生成および送信にかかる処理を行う。処理部１００は、情報生成部１０２と、演算部１０４と、パケット編成部１０６と、通信部１０８と、共通の秘密鍵保持部１１０と、グループＩＤ保持部１１２とを有する。
【００２３】
情報生成部１０２は、マルチキャストグループに送信すべき情報を生成する。共通の秘密鍵保持部１１０は、ネットワーク５０を介してＩＳＰサーバ４０から複数の装置に共通の秘密鍵（Ｋ）を取得する。そして、共通の秘密鍵保持部１１０は、ＩＳＰサーバ４０が管理する複数の装置に共通の秘密鍵（Ｋ）を一時的に保持する。ここで、秘密鍵（Ｋ）は定数である。
【００２４】
より具体的には、ＩＳＰサーバ４０の管理下の全ての装置において、予め定められた経路制御用の共有鍵が設定されている。そして、ＩＳＰサーバ４０は、この共有鍵を用いて共通の秘密鍵を暗号化し、暗号化した共通の秘密鍵を全ての装置に送信する。すなわち、送信装置１０は、ＩＳＰサーバ４０から暗号化された秘密鍵を受信する。これにより、共通の秘密鍵保持部１１０は、ルータ装置２０と同一の秘密鍵を保持することができる。なお、ＩＳＰサーバ４０は、同一の秘密鍵をルータ装置２０に対しても送信する。
【００２５】
秘密鍵は、各送信データに対してのみ有効である。所定の送信データに対して、秘密鍵による処理が施され、処理後のデータが送信されると、共通の秘密鍵保持部１１０は、使用された秘密鍵を削除する。そして、共通の秘密鍵保持部１１０は、次に情報を送信するときに、改めてＩＳＰサーバ４０から秘密鍵を受信し、保持する。このように、データ送信毎に秘密鍵を設定するので、秘密鍵を既に保持している送信装置が、後に不正なデータ送信を行うことを避けることができる。
【００２６】
グループＩＤ保持部１１２は、情報を送信すべきマルチキャストグループを識別するグループＩＤ（ｉ）を保持する。ここで、グループＩＤ（ｉ）は、定数である。なお、グループＩＤ保持部１１２は、複数のマルチキャストグループに情報を送信する場合には、各マルチキャストグループのグループＩＤ（ｉ）を保持してもよい。なお、グループＩＤ保持部１１２が保持するグループＩＤ（ｉ）は、例えばネットワーク５０を介してＩＳＰサーバ４０から取得してもよい。また、秘密鍵（Ｋ）は、管理者により設定されてもよい。
【００２７】
ここで、共通の秘密鍵保持部１１０およびグループＩＤ保持部１１２は、例えばハードディスク（ＨＤ）やメモリであってもよい。
【００２８】
演算部１０４は、情報生成部１０２が生成した情報を送信すべきマルチキャストグループのグループＩＤ（ｉ）をグループＩＤ保持部１１２から抽出する。さらに、秘密鍵を共通の秘密鍵保持部１１０から抽出する。そして、秘密鍵の値（Ｋ）を利用して、予め設定された変換規則に従ってグループＩＤ（ｉ）の値を変換する。具体的には、秘密鍵の値（Ｋ）およびグループＩＤ（ｉ）を定数としてハッシュ関数で演算し、ハッシュ値（Ｈ（ｉ，Ｋ））を算出する。ここで利用されるハッシュ関数は、一方向性の関数であって、逆変換が非常に困難な関数である。従って悪意の第三者は、当該パケットを取得した場合であっても、パケットに含まれている情報からＫを特定することは十分に困難である。
【００２９】
パケット編成部１０６は、情報生成部１０２が生成した情報をパケットに編成する。パケット編成部１０６はさらに、演算部１０４によって演算されたハッシュ値およびグループＩＤをパケットに含める。ここで、グループＩＤおよびハッシュ値は、本発明にかかる第１の情報および第２の情報に相当する。通信部１０８は、パケット編成部１０６によって編成されたパケットをネットワーク５０を介して送信先に向けて送信する。
【００３０】
次に、送信装置１０のパケット編成部１０８により生成されたマルチキャストパケットについて説明する。本実施例において、パケット編成部１０８は、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｃｏｌ  Ｖｅｒｓｉｏｎ６）に従い、１２８ビットを１単位とするパケットを形成する。マルチキャストパケットの先頭のｍビットがマルチキャストアドレスであることを示す固定値である。また、ｍビットに続く、ｎビットがハッシュ値を示している。残りのｐビットがグループＩＤを示している。このように、アドレスとして使用していない範囲にグループＩＤとハッシュ値とを含めることができる。
【００３１】
図３は、グループＩＤ（ｉ）が「ＡＡＡＡ」で、このグループＩＤ（ｉ）に対するハッシュ値（Ｈ（ｉ，Ｋ））が、「６ＡＣＢ１８４５」である場合に、パケット編成部１０８により生成されたマルチキャストパケットを模式的に示す図である。図３に示すマルチキャストパケットは１６進数で表現されている。マルチキャストパケットの末尾の８０ビットは、グループＩＤを示している。このうち、上位の３２ビットは、ハッシュ値を示している。なお、先頭の１６ビットは、当該パケットがマルチキャストパケットであることを示している。これに続く１６ビットは、当該パケットが送信される範囲を示している。
【００３２】
このように、マルチキャストパケットを送信する場合には、マルチキャストパケット内にグループＩＤを含め、さらにグループＩＤ（ｉ）の値と秘密鍵（Ｋ）の値から算出したハッシュ値（Ｈ（ｉ，Ｋ））を含めることとした。悪意の送信者は、秘密鍵を取得することができず、また、ハッシュ値から秘密鍵の値が特定されることは非常に困難である。従って、悪意の送信者は、ハッシュ値を含むマルチキャストパケットを生成することは極めて困難である。
【００３３】
図４は、ルータ装置２０における処理部２００の構成を示す機能ブロック図である。処理部２００は、通信部２０２と、抽出部２０４と、演算部２０６と、転送判断部２０８と、共通の秘密鍵保持部２１０とを有する。
【００３４】
通信部２０２は、ネットワーク５０を介してパケットを送受信する。抽出部２０４は、通信部２０２が受信したパケットからグループＩＤおよびハッシュ値を抽出する。なお、図３を参照しつつ説明したように、パケットのうち最後の１６ビットがグループＩＤ（ｉ）を示し、その直前の１６ビットがハッシュ値（Ｈ）を示している。従って、抽出部２０４は、これらのビット位置の情報を抽出する。
【００３５】
共通の秘密鍵保持部２１０は、共通の秘密鍵（Ｋ’）を保持する。ここで、共通の秘密鍵保持部２１０は、例えばハードディスク（ＨＤ）やメモリであってもよい。
【００３６】
演算部２０６は、抽出部２０４がパケットから抽出したグループＩＤ（ｉ）の値を予め設定された変換規則に従って変換する。具体的には、共通の秘密鍵保持部２１０が保持している共通の秘密鍵（Ｋ’）とグループＩＤ（ｉ）とを定数としてハッシュ関数で演算し、ハッシュ値（Ｈ’（ｉ，Ｋ’））を算出する。なお、演算部２０６が利用するハッシュ関数は、送信装置１０の演算部１０４が利用するハッシュ関数と同一のハッシュ関数である。なお、演算部２０６は、本発明の変換手段を構成する。
【００３７】
転送判断部２０８は、演算部２０６が算出したハッシュ値（Ｈ’（ｉ，Ｋ’））と、抽出部２０４がパケットから抽出したハッシュ値（Ｈ（ｉ，Ｋ））とを照合する。そして、演算部２０６が算出したハッシュ値（Ｈ’（ｉ，Ｋ’））と抽出部２０４がパケットから抽出したハッシュ値（Ｈ（ｉ，Ｋ））とが一致した場合に、当該パケットの転送を許可する。
【００３８】
図５は、送信装備１０がマルチキャストパケットを送信した場合のマルチキャストパケット認証処理を示すフローチャートである。
【００３９】
まず、送信装置１０はマルチキャストパケットを生成する(ステップＳ１００)。ここで、マルチキャストパケットは、図３を参照しつつ説明したように、グループＩＤ（ｉ）とハッシュ値（Ｈ（ｉ，Ｋ））とを含む。次に、送信装置１０の通信部１０８は、マルチキャストパケットをネットワーク５０を介して当該マルチキャストパケットをネットワーク５０を介してマルチキャストグループとして設定されている受信装置３０ａ〜ｃに向けて送信する(ステップＳ１０２)。
【００４０】
受信装置３０ａ〜ｃに接続するルータ装置２０は、送信装置１０が送信したマルチキャストパケットを受信する。そして、ルータ装置２０の抽出部２０４は、通信部２０２が受信したマルチキャストパケットからグループＩＤ（ｉ）を抽出する(ステップＳ１１０)。
【００４１】
次に、演算部２０６は、抽出部２０４が抽出したグループＩＤ（ｉ）と、共通の秘密鍵保持部２１０に保持されている共通の秘密鍵（Ｋ’）を利用して、ハッシュ値（Ｈ’（ｉ，Ｋ’））を算出する(ステップＳ１１２)。
【００４２】
次に、転送判断部２０８は、演算部２０６が算出したハッシュ値（Ｈ’（ｉ，Ｋ’））と、抽出部２０４がパケットから抽出したハッシュ値（Ｈ（ｉ，Ｋ））とを照合する。ハッシュ値（Ｈ’（ｉ，Ｋ’））とハッシュ値（Ｈ（ｉ，Ｋ））とが一致した場合(ステップＳ１１４，Ｙｅｓ)、転送判断部２０８は、当該パケットの転送を許可する。そして、通信部２０２は、マルチキャストパケットをマルチキャストグループに向けて送信する(ステップＳ１１６)。すなわち、受信装置３０ａ〜ｃにマルチキャストパケットを送信する。
【００４３】
一方、ハッシュ値（Ｈ’（ｉ，Ｋ’））とハッシュ値（Ｈ（ｉ，Ｋ））とが一致しない場合(ステップＳ１１４，Ｎｏ)、転送判断部２０８は、マルチキャストパケットの転送を禁止し、当該マルチキャストパケットを破棄する(ステップＳ１２０)。以上で、マルチキャストパケット認証処理が完了する。
【００４４】
本実施例においては、マルチキャストグループを識別するためのグループＩＤは、パケット内に含まれているので、ルータ装置２０は、各マルチキャストグループ毎のグループＩＤを保持する必要がない。従って、ルータ装置２０に例えばマルチキャストグループを認証するためのテーブルなどを保持させる必要がなく、簡便にマルチキャストパケットの認証を行うことができる。
【００４５】
図６は、マルチキャストグループへの参加要請を示す情報である参加要請メッセージが送信された場合の参加要請メッセージ認証処理を示すフローチャートである。図１を参照しつつ説明した第１の受信装置３０ａ、第２の受信装置３０ｂ、および第３の受信装置３０ｃを含むマルチキャストグループＡに、新たな受信装置が加わる場合の処理について説明する。なお、新規受信装置は、ルータ装置２０に接続している。また、新規受信装置の機能構成は、図２を参照しつつ説明した送信装置１０の機能構成と同様である。
【００４６】
まず、新規受信装置は、ＩＳＰサーバ４０に対して、参加したいグループアドレスを問い合わせる(ステップＳ２００)。ＩＳＰサーバ４０は、ネットワーク接続を管理する範囲内において形成されたマルチキャストグループのグループＩＤを保持しており、新規受信装置からグループアドレスの問い合わせを受信すると、対応するグループアドレスを抽出する(ステップＳ２０２)。そして、抽出したグループアドレスを新規受信装置に送信する(ステップＳ２０４)。なお、具体的には、新規受信装置は、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）によりグループアドレスを取得する。
【００４７】
新規受信装置は、グループアドレスを受信すると、マルチキャストグループへの参加要請メッセージを生成する(ステップＳ２１０)。生成された参加要請メッセージは、マルチキャストグループＡのグループＩＤ（ｉ）とハッシュ値（Ｈ（ｉ，Ｋ））とを含む。次に、新規受信装置は、参加要請メッセージをルータ装置２０に送信する(ステップＳ２１２)。
【００４８】
ルータ装置２０の抽出部２０４は、通信部２０２が受信した参加要請メッセージに含まれるグループＩＤ（ｉ）を抽出する(ステップＳ２２０)。次に、演算部２０６は、抽出部２０４が抽出したグループＩＤ（ｉ）と、共通の秘密鍵保持部２１０に保持されている共通の秘密鍵（Ｋ’）を利用して、ハッシュ値（Ｈ’（ｉ，Ｋ’））を算出する(ステップＳ２２２)。
【００４９】
次に、転送判断部２０８は、演算部２０６が算出したハッシュ値（Ｈ’（ｉ，Ｋ’））と、抽出部２０４が参加要請メッセージから抽出したハッシュ値（Ｈ（ｉ，Ｋ））とを照合する。ハッシュ値（Ｈ’（ｉ，Ｋ’））とハッシュ値（Ｈ（ｉ，Ｋ））とが一致した場合(ステップＳ２２４，Ｙｅｓ)、転送判断部２０８は、参加要請メッセージの転送を許可する。そして、通信部２０２は、参加要請メッセージをマルチキャストグループＡを構成する受信装置３０ａ〜ｃ、および送信装置１０に向けて送信する(ステップＳ２２６)。
【００５０】
一方、ハッシュ値（Ｈ’（ｉ，Ｋ’））とハッシュ値（Ｈ（ｉ，Ｋ））とが一致しない場合(ステップＳ２２４，Ｎｏ)、転送判断部２０８は、参加要請メッセージの転送を禁止し、当該参加要請メッセージを破棄する(ステップＳ２３０)。以上で、参加要請メッセージ認証処理が完了する。
【００５１】
図６を参照しつつ説明したように新規受信装置は、所定のマルチキャストグループに参加したい場合には、ＩＳＰサーバ４０にアクセスすることにより、参加したいマルチキャストグループのグループＩＤを取得することができる。
【００５２】
なお、本実施例においては、送信装置１０と受信装置３０との間に１つのルータ装置２０が設置されている場合の処理について説明したが、送信装置１０と受信装置３０との間に複数のルータ装置が設置されている場合には、各ルータ装置が、それぞれマルチキャストパケットを受信する毎に図５を参照しつつ説明したマルチキャストパケット認証処理を行ってもよい。同様に、各ルータが、それぞれ参加要請メッセージを受信する毎に図６を参照しつつ説明した参加要請メッセージ認証処理を行ってもよい。
【００５３】
また、他の例としては、送信装置１０に直接接続するルータ装置が図５を参照しつつ説明したマルチキャストパケット認証処理を行ってもよい。悪意で送信されたマルチキャストパケットが大量に送信されるのを避けることを目的とするので、送信装置１０から直接パケットを受け取ったルータ装置がマルチキャストパケット認証処理を行うことが望ましい。同様に、送信装置１０に直接接続するルータ装置が図６を参照しつつ説明した参加要請メッセージ認証処理を行ってもよい。
【００５４】
図７は、新規のマルチキャストグループを生成する場合の処理を示すフローチャートである。まず、送信装置１０は、新規のマルチキャストグループの生成を要求する情報をＩＳＰサーバ４０に送信する(ステップＳ３００)。ＩＳＰサーバ４０は、新規グループ生成要求を受信すると、新規グループを識別するグループＩＤを生成する(ステップＳ３０２)。ＩＳＰサーバ４０は、生成したグループＩＤを保持する(ステップＳ３０４)。そして、グループＩＤを送信装置１０に送信する(ステップＳ３１０)。送信装置１０は、グループＩＤを受信すると、グループＩＤ保持部１１２にグループＩＤを保持する(ステップＳ３２０)。以上で、新規マルチキャスト生成処理が完了する。
【００５５】
なお、ＩＳＰサーバ４０は、送信装置１０に対してグループＩＤを送信する際に、送信装置１０の認証を行うことが望ましい。具体的には、送信者１０からユーザアカウントとパスワードを受信した場合に、ステップＳ３１０におけるグループＩＤの送信を許可することとしてもよい。また他の認証方法としては、クレジットカード番号による方法であってもよい。
【００５６】
図８は、ルータ装置２０のハードウェア構成を示す図である。ルータ装置２０は、ハードウェア構成として、マルチキャストパケット認証処理および参加要請メッセージ認証処理におけるルータ装置の処理を実行するプログラムなどが格納されているＲＯＭ５２、ＲＯＭ５２内のプログラムに従ってルータ装置２０の各部を制御し、マルチキャストパケット認証処理等を実行するＣＰＵ５１、ワークエリアが形成され、ルータ装置２０の制御に必要な種々のデータが記憶されているＲＡＭ５３、ネットワークに接続して、通信を行う通信I／Ｆ５７、および各部を接続するバス６２を備えている。
【００５７】
先に述べたルータ装置２０におけるマルチキャストパケット認証処理等を実行する通信制御プログラムはＲＯＭ５２に格納されている。また、先に述べた共通の秘密鍵保持部２１０は、ＲＯＭ５２又はＲＡＭ５３に対応する。また、通信部２０２は、通信I／Ｆ５７に対応する。
【００５８】
また、他の例としては、通信制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（Ｒ）ディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供してもよい。
【００５９】
また、本実施形態の通信制御証プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【００６０】
この場合には、通信制御プログラムは、ルータ装置２０において実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【００６１】
なお、送信装置１０のハードウェア構成は、図８を参照しつつ説明したルータ装置２０のハードウェア構成とほぼ同様である。
【００６２】
図９は、通信制御システムの他の例を説明するための図である。図９に示す通信制御システムは、Ｆｌｏｏｄ  ａｎｄ  ｐｒｕｎｅ型の経路制御プロトコルを採用する。本例においては、マルチキャストパケットを、非排他的にすべての装置にフラッディングする。そして、マルチキャストパケットを受信すべき受信装置が存在しないルータ装置等７０，７２から刈り取り（ｐｒｕｎｅ）メッセージを受信して、配送経路の最適化を行う。この場合においても、ルータ装置は、図１から図８において説明したのと同様に、マルチキャストパケット認証処理を行う。また同様に、参加要請メッセージ認証処理を行う。
【００６３】
これにより、悪意の送信者から送信されたマルチキャストパケット等を送信し、経路上のルータのリソースが消費されるのを避けることができる。
【００６４】
以上、本発明を実施例を用いて説明したが、上記実施例に多様な変更または改良を加えることができる。
【００６５】
そうした第１の変更例としては、本実施例においては、ＩＳＰサーバが管理する各装置は、データを送信する毎にＩＳＰサーバから秘密鍵を取得したが、これにかえて、予め定められた共通の秘密鍵をそれぞれ保持していてもよい。また、この場合、共通の秘密鍵は定期的に変更されてもよい。これにより、第三者が不正に共通の秘密鍵を取得するのを避けることができる。
【００６６】
また、本実施例においては、送信装置１０の演算部１０４は、共通の秘密鍵保持部１１０に保持される秘密鍵と、グループＩＤ保持部１１２に保持されるグループＩＤを利用してハッシュ値を算出したが、第１の変更例においては、送信装置１０は、各グループＩＤと、当該グループＩＤから算出されるハッシュ値とを対応付ける対応テーブルを保持してもよい。これにより、マルチキャストパケットを生成する毎にハッシュ値を算出する必要がなく、処理効率を向上させることができる。より具体的には、算出されたハッシュ値を利用者が設定してもよい。または、グループＩＤを利用してハッシュ値が算出されると、対応テーブルに算出されたハッシュ値が格納され、次回からは対応テーブルを参照してハッシュ値を抽出してもよい。さらにまた、共通の秘密鍵が定期的に変更される場合には、秘密鍵が変更される毎にハッシュ値を算出し、利用者が再度設定してもよい。
【００６７】
また、第３の変更例としては、本実施例における通信制御システムは、送信装置と、当該受信装置がマルチキャストパケットを送信する受信装置とを含んでいたが、これにかえて、通信制御システムに含まれる装置は、マルチキャストグループへのマルチキャストパケットの送信と、マルチキャストパケットの受信とを行う送受信装置であってもよい。
【００６８】
また、第４の変更例としては、本実施例における通信制御システムにおいては、共通の秘密鍵は１つであったが、各装置がそれぞれ複数の秘密鍵を保持してもよい。たとえば、各グループＩＤの値と、秘密鍵とを対応付けて保持してもよい。
【００６９】
共通の秘密鍵の設定方法の他の例としては、秘密鍵を設定すべき全ての装置間の通信経路が十分に安全である場合には、フラッディングにより平文で各装置に対して共通の秘密鍵を送信してもよい。但し、この場合には、共通の秘密鍵の情報が第三者に漏洩しないように、各ルータ装置等が適切な処理を行う必要がある。
【産業上の利用可能性】
【００７０】
以上のように、本発明にかかる通信制御装置、通信制御システム、通信制御方法および通信制御プログラムは複数の受信装置を送信先として指定するパケットの送信を制御する装置等に有用であり、特に、通信制御装置に適している。
【図面の簡単な説明】
【００７１】
【図１】通信制御システム１の全体構成図である。
【図２】送信装置１０における処理部１００の構成を示す機能ブロック図である。
【図３】送信装置１０のパケット編成部１０８が生成するパケットを模式的に示す図である。
【図４】ルータ装置２０における処理部２００の構成を示す機能ブロック図である。
【図５】送信装備１０がマルチキャストパケットを送信した場合の処理を示すフローチャートである。
【図６】マルチキャストグループへの参加要請メッセージが送信された場合の処理を示すフローチャートである。
【図７】新規グループを生成する場合の処理を示すフローチャートである。
【図８】ルータ装置２０のハードウェア構成を示す図である。
【図９】通信制御システムの他の例を説明するための図である。
【符号の説明】
【００７２】
１  通信制御システム
１０  受信装置
２０  ルータ装置
３０ａ〜ｃ  受信装置
４０  ＩＳＰサーバ
５０  ネットワーク
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５７  通信Ｉ／Ｆ
６２  バス
７０，７２  ルータ装置
１００  処理部
１０２  情報生成部
１０４  演算部
１０６  パケット編成部
１０８  通信部
１１０  共通の秘密鍵保持部
１１２  グループＩＤ保持部
２００  処理部
２０２  通信部
２０４  抽出部
２０６  演算部
２０８  転送判断部
２１０  共通の秘密鍵保持部
【図１】
2005072724.tif 000003
【図２】
2005072724.tif 000004
【図３】
2005072724.tif 000005
【図４】
2005072724.tif 000006
【図５】
2005072724.tif 000007
【図６】
2005072724.tif 000008
【図７】
2005072724.tif 000009
【図８】
2005072724.tif 000010
【図９】
2005072724.tif 000011