(57)【特許請求の範囲】
【請求項１】
複数の通信ノードから構成され、送信元ノードから送信されたデータを各通信ノードが繰り返し送信することで前記データを伝播させるデータ共有システムにおける通信方法であって、
第１の通信ノードが、繰り返し送信を停止させたいデータのハッシュ値を含む送信停止メッセージを送信する送信ステップと、
第２の通信ノードが、前記送信停止メッセージを受信する受信ステップと、
前記第２の通信ノードが、受信した前記送信停止メッセージに含まれるハッシュ値と同一のハッシュ値を有するデータの前記繰り返し送信を停止する停止ステップと、
を含む、通信方法。
【請求項２】
前記第２の通信ノードは、前記受信ステップにおいて受信した前記送信停止メッセージを繰り返し送信する、
請求項１に記載の通信方法。
【請求項３】
前記第２の通信ノードは、他の通信ノードから送信されたデータを繰り返し送信するべきデータとして記憶し、
前記停止ステップにおいて、前記送信停止メッセージに含まれるハッシュ値と同一のハッシュ値を有するデータを繰り返し送信するべきデータから除外する、
請求項１または２に記載の通信方法。
【請求項４】
前記第２の通信ノードは、他の通信ノードから送信されたデータを受信した際に、当該データのハッシュ値が受信済みの送信停止メッセージに含まれるハッシュ値と同一ではない場合に、当該データを繰り返し送信するべきデータとして記憶する、
請求項１から３のいずれか１項に記載の通信方法。
【請求項５】
前記送信ステップにおいて、前記第１の通信ノードは、繰り返し送信を停止させたいデータのハッシュ値を前記第１の通信ノードの秘密鍵を用いて暗号化した上で前記送信停止メッセージに含めて送信し、
前記停止ステップにおいて、前記第２の通信ノードは、前記送信停止メッセージに含まれる暗号化されたハッシュ値を前記第１の通信ノードの公開鍵を用いて復号することで、繰り返し送信を停止させたいデータのハッシュ値を取得する、
請求項１から４のいずれか１項に記載の通信方法。
【請求項６】
前記第１の通信ノードは、前記送信元ノードであり、
前記第１の通信ノードは、前記データを送信する際に、前記第１の通信ノードの公開鍵を含めて送信する、
請求項５に記載の通信方法。
【請求項７】
前記第１の通信ノードは、前記データの宛先ノードであり、
前記送信元ノードは、前記データを送信する際に、前記第１の通信ノードの公開鍵を含めて送信する、
請求項５に記載の通信方法。
【請求項８】
前記第１の通信ノードは、前記送信元ノードから送信された前記第１の通信ノードを宛先とする前記データを受信したタイミングで、当該データの繰り返し送信の停止を要求する送信停止メッセージを送信する、
請求項７に記載の通信方法。
【請求項９】
前記第１の通信ノードは、繰り返し送信の停止を要求する権限が与えられた管理ノードであり、
前記第１の通信ノードの公開鍵はあらかじめ他の通信ノードに配布される、
請求項５に記載の通信方法。
【請求項１０】
複数の通信ノードから構成されるデータ共有システムであって、
各通信ノードは、データを送信する送信手段と、他の通信ノードからデータを受信する受信手段と、前記受信手段によって受信されたデータを記憶する記憶手段と、を有し、前記記憶手段に記憶された前記データを前記送信手段によって繰り返し送信し、
前記複数の通信ノードのうちの少なくとも一部のノードである第１の通信ノードは、繰り返し送信を停止させたいデータのハッシュ値を含む送信停止メッセージを送信する停止メッセージ送信手段を有し、
前記複数の通信ノードのうちの少なくとも前記第１の通信ノード以外の第２の通信ノードは、前記送信停止メッセージを受信した場合に、当該送信停止メッセージに含まれるハッシュ値と同一のハッシュ値を有するデータの送信を停止する送信停止手段を有する、
データ共有システム。
【請求項１１】
前記第２の通信ノードの前記送信手段は、前記送信停止メッセージを他の通信ノードに繰り返し送信する、
請求項１０に記載のデータ共有システム。
【請求項１２】
前記第２の通信ノードは、前記受信手段によって受信された他の通信ノードからのデータを繰り返し送信するべきデータとして前記記憶手段に記憶し、
前記送信停止手段は、前記送信停止メッセージに含まれるハッシュ値と同一のハッシュ値を有するデータを繰り返し送信するべきデータから除外する、
請求項１０または１１に記載のデータ共有システム。
【請求項１３】
前記送信停止手段は、前記受信手段によって受信された他の通信ノードからのデータを受信した際に、当該データのハッシュ値が受信済みの送信停止メッセージに含まれるハッシュ値と同一ではない場合に、当該データを繰り返し送信するべきデータとして前記記憶手段に記憶する、
請求項１０から１２のいずれか１項に記載のデータ共有システム。
【請求項１４】
前記停止メッセージ送信手段は、繰り返し送信を停止させたいデータのハッシュ値を前記第１の通信ノードの秘密鍵を用いて暗号化した上で前記送信停止メッセージに含めて送信し、
前記第２の通信ノードは、前記送信停止メッセージに含まれる暗号化されたハッシュ値を前記第１の通信ノードの公開鍵を用いて復号することで、繰り返し送信を停止させたいデータのハッシュ値を取得する、
請求項１０から１３のいずれか１項に記載のデータ共有システム。
【請求項１５】
前記第１の通信ノードは、前記データの送信元ノードであり、前記データを送信する際に、前記第１の通信ノードの公開鍵を含めて送信する、
請求項１４に記載のデータ共有システム。
【請求項１６】
前記第１の通信ノードは、前記データの宛先ノードであり、
前記データの送信元ノードは、前記データを送信する際に、前記第１の通信ノードの公開鍵を含めて送信する、
請求項１４に記載のデータ共有システム。
【請求項１７】
前記第１の通信ノードは、前記送信元ノードから送信された前記第１の通信ノードを宛先とする前記データを受信したタイミングで、当該データの繰り返し送信の停止を要求する送信停止メッセージを送信する、
請求項１６に記載のデータ共有システム。
【請求項１８】
前記第１の通信ノードは、繰り返し送信の停止を要求する権限が与えられた管理ノードであり、
前記第１の通信ノードの公開鍵はあらかじめ他の通信ノードに配布される、
請求項１４に記載のデータ共有システム。
【請求項１９】
複数の通信ノードから構成され、送信元ノードから送信されたデータを各通信ノードが繰り返し送信することで前記データを伝播させるデータ共有システムを構成する通信ノードであって、
データを送信する送信手段と、
他の通信ノードからデータを受信する受信手段と、
前記受信手段によって受信されたデータを記憶する記憶手段と、
を有し、前記記憶手段に記憶された前記データを前記送信手段によって繰り返し送信するものであり、
前記データ共有システム内での繰り返し送信を停止させたいデータのハッシュ値を含む送信停止メッセージを送信する停止メッセージ送信手段を有する、
通信ノード。
【請求項２０】
前記停止メッセージ送信手段は、繰り返し送信を停止させたいデータのハッシュ値を自ノードの秘密鍵を用いて暗号化した上で前記送信停止メッセージに含めて送信する、
請求項１７に記載の通信ノード。
【請求項２１】
複数の通信ノードから構成され、送信元ノードから送信されたデータを各通信ノードが繰り返し送信することで前記データを伝播させるデータ共有システムを構成する通信ノードであって、
データを送信する送信手段と、
他の通信ノードからデータを受信する受信手段と、
前記受信手段によって受信されたデータを記憶する記憶手段と、
を有し、前記記憶手段に記憶された前記データを前記送信手段によって繰り返し送信するものであり、
前記データ共有システム内での繰り返し送信を停止させたいデータのハッシュ値を含む送信停止メッセージを他の通信ノードから受信する停止メッセージ受信手段と、
前記停止メッセージ受信手段によって受信された送信停止メッセージに含まれるハッシュ値と同一のハッシュ値を有するデータの送信を停止する送信停止手段と、
を有する、通信ノード。
【請求項２２】
前記送信停止手段は、前記送信停止メッセージに含まれるハッシュ値と同一のハッシュ値を有するデータを繰り返し送信するべきデータから除外する、
請求項２１に記載の通信ノード。
【請求項２３】
前記送信停止手段は、前記受信手段によって受信された他の通信ノードからのデータを受信した際に、当該データのハッシュ値が受信済みの受信した送信停止メッセージに含まれるハッシュ値と同一ではない場合に、当該データを繰り返し送信するべきデータとして前記記憶手段に記憶する、
請求項２１または２２に記載の通信ノード。
【請求項２４】
請求項１から９のいずれか１項に記載の通信方法の各ステップをコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ共有システムにおける通信方法に関し、特に、各通信ノードが受信したデータを繰り返し送信することでデータをシステム内に伝播させるデータ共有システムにおいて、データの送信を停止させる技術に関する。
【背景技術】
【０００２】
複数の通信ノード間でデータを拡散・共有するデータ共有システムの研究・開発が進められている（例えば、非特許文献１）。ある通信ノードから送信されたデータが周囲の通信ノードによって受信され、受信ノードは受信したデータを定期的に繰り返し送信する。このようにすることで、システム内にデータを伝播させることができる。車々間ネットワークのように通信ノード自体が移動するシステムでは、通信ノードが移動しつつ繰り返しデータ送信することで、より広い範囲にデータを伝播させることができる。
【０００３】
このようなデータ共有システムでは、不要となったデータの送信を効率的に停止できることが望まれる。特許文献１には、ピアトゥーピア（Ｐ２Ｐ）ネットワークにおいて、違法コンテンツの流通を削除するために、中枢となるサーバを利用して違法性の検査などを実施することが提案されている。また、特許文献２では、Ｐ２Ｐネットワークに情報をアップロードする時点でデータの共有範囲を制限すべくアクセス権の設定を実施しており、さらに送信後の流通停止や削除についても言及されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３０５３７１号公報
【特許文献２】特開２００６−１８４９５３号公報
【非特許文献】
【０００５】
【非特許文献１】Amin Vahdat and David Becker, "Epidemic Routing for Partially-Connected Ad-Hoc Networks", Technical Report CS-200006, Duke University, 2000
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の手法は、システム全体を把握可能な中央集権的なサーバによる管理を想定しているため、このような管理サーバが存在しないデータ共有システムには適用することができない。特許文献２はデータ送信後の流通停止やデータ削除について言及しているがその具体的な手法を開示していない。
【０００７】
本発明は、受信したデータを繰り返し送信することでデータを伝播させるデータ共有システムにおいて、中枢となるサーバが存在しない場合であっても、送信後のデータの送信（流通）を停止させるための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、複数の通信ノードから構成され、送信元ノードから送信されたデータを各通信ノードが繰り返し送信することで前記データを伝播させるデータ共有システムにおける通信方法であって、第１の通信ノードが、繰り返し送信を停止させたいデータのハッシュ値を含む送信停止メッセージを送信する送信ステップと、第２の通信ノードが、前記送信停止メッセージを受信する受信ステップと、前記第２の通信ノードが、当該送信停止メッ
セージに含まれるハッシュ値と同一のハッシュ値を有するデータの送信を停止する停止ステップと、を含むことを特徴とする。
【０００９】
このようにすれば、データ共有システム内に送信されたデータの流通を停止させることができる。
【００１０】
また、本発明において、前記第２の通信ノードは、前記受信ステップにおいて受信した前記送信停止メッセージを繰り返し送信する、ことが好ましい。この際、送信停止メッセージは、通常のデータよりも高い優先度で送信することが好ましい。
【００１１】
このようにすれば、送信停止メッセージがデータ共有システム内に伝播し、データの送信停止を迅速に行うことができる。
【００１２】
送信停止メッセージを受信した際には、それまでに受信したデータの送信を停止させる場合と、それ以降に受信するデータの送信を停止させる場合の２種類が想定される。前者を実現するためには、前記第２の通信ノードは、他の通信ノードから送信されたデータを繰り返し送信するべきデータとして記憶し、前記停止ステップにおいて、前記送信停止メッセージに含まれるハッシュ値と同一のハッシュ値を有するデータを繰り返し送信するべきデータから除外する、ようにすればよい。後者を実現するためには、前記第２の通信ノードは、他の通信ノードから送信されたデータを受信した際に、当該データのハッシュ値が以前に受信した送信停止メッセージに含まれるハッシュ値と同一ではない場合に当該データを繰り返し送信するべきデータとして記憶し、同一である場合は当該データを繰り返し送信するべきデータとしては記憶しないようにすればよい。
【００１３】
繰り返し送信するべきデータとして記憶するには、例えば、繰り返し送信の対象となるデータのみを格納するデータベース（テーブル）に格納すればよい。あるいは、受信した全てのデータを同じデータベースに格納するが、その際に繰り返し送信の対象となるデータには要送信フラグを立てて記憶するようにしてもよい。繰り返し送信するべきデータから除外するには、繰り返し送信の対象となるデータのみを格納するデータベースから削除したり、要送信フラグをオフにしたりすればよい。なお、送信停止対象のデータが繰り返し送信されないようになりさえすれば、データ自体は通信ノード内に保持するようにしても構わないし、データ自体を削除するようにしても構わない。
【００１４】
送信停止メッセージに含めるハッシュ値は、公開鍵暗号方式によって暗号化することも好ましい。すなわち、前記送信ステップにおいて、前記第１の通信ノードは、繰り返し送信を停止させたいデータのハッシュ値を前記第１の通信ノードの秘密鍵を用いて暗号化した上で前記送信停止メッセージに含めて送信し、前記停止ステップにおいて、前記第２の通信ノードは、前記送信停止メッセージに含まれる暗号化されたハッシュ値を前記第１の通信ノードの公開鍵を用いて復号することで、繰り返し送信を停止させたいデータのハッシュ値を取得する、ことも好ましい。公開鍵暗号方式の具体的な暗号アルゴリズムは任意であって構わない。また、公開鍵の配布方法を特に限定されず、公開鍵暗号基盤（ＰＫＩ）を用いて配布してもよいし、その他の方法で配布してもよい。
【００１５】
このようにすれば、権限のない通信ノードがなりすまして送信停止メッセージを送信した場合に、それを検知することができる。
【００１６】
本発明において、前記第１の通信ノードは、前記送信元ノードとすることができる。この場合、前記第１の通信ノードは、前記データを送信する際に、前記第１の通信ノードの公開鍵を含めて送信するようにしてもよい。このようにすれば、送信データが誤っていた場合や送信がそれ以上不必要になった場合に、送信元ノードがデータの流通を停止させる
ことができる。また、データとともに公開鍵を送付することで、第１の通信ノードからのデータ（送信停止対象のデータ）を受信したノードは確実に第１の通信ノードの公開鍵を取得しており送信停止メッセージの復号が行える。
【００１７】
また、本発明において、前記第１の通信ノードは、前記データの宛先ノードとすることができる。この場合、前記送信元ノードは、前記データを送信する前にあらかじめ第１の通信ノード（宛先ノード）の公開鍵を取得し、前記データを送信する際に前記第１の通信ノードの公開鍵を含めて送信する、ことが好ましい。また、前記第１の通信ノードは、前記送信元ノードからの送信された前記データを受信したタイミングで、当該データの繰り返し送信の停止を要求する送信停止メッセージを送信する、ことも好ましい。このようにすれば、送信元ノードから宛先ノードへデータを送信したい場合に、宛先ノードがデータを受信してシステム内でのデータ送信が必要なくなった場合に、当該データの流通を停止できる。また、送信元ノードが第１の通信ノードの公開鍵とともにデータを送信するので、送信元ノードからのデータ（送信停止対象のデータ）を受信したノードは確実に宛先ノードの公開鍵を受信できる。
【００１８】
また、本発明において、前記第１の通信ノードは、繰り返し送信の停止を要求する権限が与えられた管理ノードとすることができる。この場合、前記第１の通信ノードの公開鍵をあらかじめ他の通信ノードに配布されることが好ましい。なお、ここで管理ノードとは、繰り返し送信の停止を要求する権限が与えられたノードを意味し、システム内で中枢的な役割を果たす特別な通信ノードであることは意味しない。
【００１９】
上記では、送信停止メッセージを送信する通信ノードや公開鍵の配布方法の例について説明したが、本発明においては、上記以外にも任意の方法を採用することができる。特に公開鍵の配布は種々の変形が可能である。例えば、通信ノードの出荷時に記憶部に記憶しておいてもよいし、送信停止メッセージとともに送信してもよいし、データとともに送信してもよいし、これら以外とは別に送信してもよい。
【００２０】
なお、本発明は、上記処理の少なくとも一部を実行する通信方法として捉えることもできる。本発明は、上記処理の少なくとも一部を実行する手段を備えるデータ共有システムあるいは通信ノード（通信装置）として捉えることができる。また、本発明は、この方法をコンピュータに実行させるためのコンピュータプログラム、あるいはこのコンピュータプログラムを非一時的に記憶したコンピュータ可読記憶媒体として捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【００２１】
本発明によれば、受信したデータを繰り返し送信することでデータを伝播させるデータ共有システムにおいて、中枢となるサーバが存在しない場合であっても、送信後のデータの送信（流通）を停止させることが可能となる。
【図面の簡単な説明】
【００２２】
【図１】実施形態にかかる車両間無線通信システム（データ共有システム）の概要図。
【図２】データ共有システムにおけるデータの送信停止方法の概要を説明する図。
【図３】第１の実施形態にかかるデータの送信停止方法を説明する図。
【図４】車載端末（通信ノード）の機能構成を示すブロック図。
【図５】第１の実施形態における、（ａ）一般データ記憶部、（ｂ）公開鍵記憶部、（ｃ）送信停止メッセージ記憶部のテーブル構造をそれぞれ示す図。
【図６】第１の実施形態における、（ａ）一般データパケット、（ｂ）送信停止メッセージパケットのパケット構造をそれぞれ示す図。
【図７】第１の実施形態における、（ａ）一般データ生成処理、（ｂ）一般データ受信処理、（ｃ）公開鍵受信処理の流れを示すフローチャート。
【図８】第１の実施形態における、（ａ）送信停止メッセージ生成処理、（ｂ）送信停止メッセージ受信処理、（ｃ）一般データ選択処理の流れを示すフローチャート。
【図９】第２の実施形態にかかるデータの送信停止方法を説明する図。
【図１０】第２の実施形態における、（ａ）送信データ生成処理、（ｂ）一般データ受信処理の流れを示すフローチャート。
【図１１】第２の実施形態における一般データパケットの構造を示す図。
【図１２】第３の実施形態にかかるデータの送信停止方法を説明する図。
【発明を実施するための形態】
【００２３】
＜概要＞
本発明の実施形態は、図１に示すように、車載無線通信装置（車載端末）を備える車両からなり、車載端末間での無線通信によってデータの共有を行う車両間無線通信システム（データ共有システム）である。図では、車載端末１０ａ〜１０ｅを有する５台の車両１ａ〜１ｅからなるシステムを示しているが、車両の数は任意であって構わない。なお以下では、個々の車両や車載端末を区別しない場合は単に車両１や車載端末１０と称する。
【００２４】
車両１（車載端末１０）から送信されたデータは、無線通信範囲内の他の車両によって受信される。他の車両からデータを受信した車両１は、そのデータを定期的に繰り返して送信する。このようにして、ある車両１から送信されたデータはシステム内を広く拡散する。例えば、車両１ａから送信されたデータは、車両１ｂから車両１ｃへ伝播するとともに、車両１ｂから車両１ｄ、車両１ｅへと伝播する。さらに、各車両はそれ自体が移動し、移動先でデータを送信することによっても、データを地理的に広い範囲に拡散することができる。
【００２５】
ここで、システム内に送信されたデータは、周囲の車両によってその後繰り返し送信がされる。本実施形態では、必要に応じてシステム内でのデータの送信を停止させる機能を提供する。なお、繰り返し送信を行う時間的あるいは地理的な範囲を指定することによってもデータの送信を制限することは可能であるが、本実施形態では送信時には意図しなかったタイミングでデータの送信を停止可能とする。
【００２６】
図２は、データの送信停止に関する概要を説明する図である。図に示すように、ノードＮ１から送信されたデータ２１は、ノードＮ２によって受信され、ノードＮ２から更に送信がされてシステム内に拡散する。ノードＮ１は、データ２１のハッシュ値２２を算出し、このハッシュ値２２を含む送信停止メッセージ（送信停止命令）を作成して周囲のノードへ送信する。この送信停止メッセージも、受信ノードがさらに送信（中継）を行うことで、システム内に拡散される。送信停止メッセージを受信したノードは、他の通信ノードから受信したデータ２１のハッシュ値２３を算出し、このハッシュ値２３が送信停止メッセージに含まれるハッシュ値２２と同一であれば、データ２１の送信を停止する。このようにすることで、システム内でのデータの送信を停止させることができる。
【００２７】
なお、図２ではノードＮ１から直接データを受信するノードＮ２についてのみ示しているが、中継を介してノードＮ１からデータを受信するノードにおいても同様にデータの送信を停止できることは明らかであろう。また、図２では、データ２１の送信元ノードが送信停止メッセージを生成して送信しているが、送信停止メッセージを生成するノードは他のノードであっても構わない。
【００２８】
図２に示した例では、任意のノードが任意のデータを対象として送信停止メッセージを
生成・送信することができるので、悪意のあるノードがデータの流通を阻害することができてしまう。以下の実施形態の説明では、送信停止を行える権限を有するノードのみがデータの送信を停止できるようにセキュリティを確保した例を説明する。
【００２９】
＜第１の実施形態＞
（概要）
第１の実施形態は、送信停止メッセージの送信元ノードが、停止の対象となるデータの送信元ノードである例である。例えば、データを送信した後に、そのデータの送信がそれ以上不要になった場合や、送信したデータの内容が誤っていた場合などに、そのデータの流通を停止させるための送信停止メッセージを送信元ノードが送信する。なお、以下では、送信停止メッセージなどの制御用データ以外のデータを、一般データと称する。
【００３０】
本実施形態における送信停止の方法の概要を、図３を参照して説明する。送信元ノードＮＳは、一般データ３０１に、データ本文３０２と自ノードの公開鍵３０３を含めて送信する。公開鍵３０３は、自ノードの秘密鍵３０４に対応する暗号鍵である。送信元ノードＮＳが生成した一般データ３０１は、周囲のノードＮＲによって受信され、繰り返し送信される。
【００３１】
ここで、送信元ノードが一般データ３０１のシステム内での流通を停止したい場合には、送信停止メッセージ３０６を生成して送信する。送信停止メッセージ３０６には、一般データ３０１のデータ本文３０２から算出されたハッシュ値３０５を自ノードの秘密鍵３０４で暗号化した暗号化ハッシュ値３０６ａを含める。送信停止メッセージ３０６を受信したノードＮＲは、暗号化ハッシュ値３０６ａを送信元ノードＮＳの公開鍵３０３で復号して、送信停止対象の一般データのハッシュ値（平文）３０５を取得する。ノードＮＲは他のノードから受信した一般データのハッシュ値３０７を算出し、送信停止メッセージから得られるハッシュ値３０５と同一のハッシュ値を有する一般データが存在すれば、その一般データのそれ以降の送信を停止する。なお、ノードＮＲは受信した送信停止メッセージ３０６を中継するので、その他のノードにおいても送信停止が実現できる。
【００３２】
このような手法により、一般データの送信元ノードからシステム内でのデータ送信を停止させることができる。この際、公開鍵暗号方式による署名を採用しているので、送信元ノード以外のノードが一般データの送信を停止させてしまうことを防止できる。すなわち、権限のない第三者が送信停止メッセージから送信された場合には、公開鍵を用いて暗号化ハッシュ値を復号した際に正しい復号が行えずなりすましが検知可能である。
【００３３】
また、本手法では、一般データ３０１とともに公開鍵３０３を送信している。したがって、送信停止メッセージ３０６を受信したノードは、送信停止対象の一般データ３０１を既に受信していれば、この送信停止メッセージ３０６を復号するための公開鍵３０３を既に取得済みであることを担保できる。逆に、送信停止メッセージ３０６を受信時点で送信元ノードＮＳからの一般データ３０１を受信していない場合は、公開鍵がなく復号できないが、受信ノードＮＲは送信停止対象の一般データを保有していないので問題とはならない。送信停止メッセージを先に受信するケースに対応するためには、一般データの受信時に、この一般データのハッシュ値が以前に既に受信済みの送信停止メッセージに含まれるハッシュ値と同一であるか判定し、同一であればその後の繰り返し送信を行わないようにすればよい。
【００３４】
（車載端末の機能構成）
図４は、車両１に搭載される車載端末１０の機能構成を示す図である。車載端末１０は、無線通信装置を備えるコンピュータである。ＨＤＤやＳＤＤ、ＲＯＭなどの有形で非一時的な記憶装置に格納されたプログラムをＣＰＵが読み込んで実行することにより、図４
に示すような各種の機能部が実現される。すなわち、コンピュータプログラムをＣＰＵが実行することにより、車載端末１０は、大略、受信部４０１、一般データ処理部４０２、公開鍵処理部４０３、送信停止メッセージ処理部４０４、一般データ記憶部４０５、公開鍵記憶部４０６、送信停止メッセージ記憶部４０７、一般データ選択部４０８、送信データ生成部４０９、送信停止メッセージ生成部４１０、送信データ選択部４１１、送信部４１２、暗号処理部４１３として機能する。これら機能部の一部または全部は、専用のハードウェアによって実装されても構わない。また、異なる機能部が異なるコンピュータによって実現されても構わないし、１つの機能部が複数のコンピュータによって実現されても構わない。
【００３５】
受信部４０１および送信部４１２は、他の車載端末１０と無線通信を行うための機能部である。具体的な無線通信方式は特に限定されず、無線ＬＡＮ（ＩＥＥＥ  ８０２．１１ａ／ｂ／ｇ／ｎ／ａｃ）、Ｍｏｂｉｌｅ  ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ｅ）、ｉＢｕｒｓｔやＷＡＶＥ（ＩＥＥＥ  ８０２．２０）、ＤＳＲＣ（専用境域通信）など任意の方式を採用可能である。また、ホワイトスペースを用いたコグニティブ無線を採用することも好ましい。
【００３６】
一般データ処理部４０２は、他の通信ノードから一般データ（送信停止メッセージなどの制御用のメッセージ以外の通常のデータ）を受信した際に、当該一般データに対する処理を行う機能部である。具体的には、受信した一般データが、送信停止対象のメッセージであるか否かを判定する処理などを行う。また、受信した一般データに送信元ノードの公開鍵が含まれる場合には公開鍵処理部４０３へ渡す。公開鍵処理部４０３は、他の通信ノードから公開鍵を受信した際に、当該公開鍵データに対する処理を行う機能部である。送信停止メッセージ処理部４０４は、他の通信ノードから送信停止メッセージを受信した際に、当該送信停止メッセージに対する処理を行う機能部である。具体的には、送信停止メッセージにおいて送信停止が要求されている一般データをそれ以上送信しないようにするための処理を行う。これらの機能部が行う処理の詳細については以下で説明する。
【００３７】
一般データ記憶部４０５は、他の通信ノードから受信した一般データを、繰り返し送信するデータとして記憶する機能部である。一般データ記憶部４０５に記憶するデータの構造を、図５（ａ）に示す。送信元ノードＩＤ５０１は、受信した一般ノードを生成したノードのノードＩＤである。宛先ノードＩＤ５０２は、一般データの宛先ノードのＩＤである。なお、ブロードキャストメッセージのように特定の宛先を持たないデータの場合には、宛先ノードＩＤ５０２は空欄としてもよい。データのハッシュ値５０３は、受信した一般データのデータ本体のハッシュ値である。ハッシュ値の算出および記憶部への格納は、適切なタイミングで行えば良く、ハッシュ値が算出される前にはハッシュ値５０３は空欄となる。データの属性５０４には、一般データの上記以外の属性が格納される。例えば、送信を行う時間的な制約（有効期限）や地理的な制約などを含めることができる。データの本体５０５には、受信した一般データの本文部が格納される。なおここでは、一般データ記憶部４０５に繰り返し送信するデータのみを記憶する場合を例に示したが、受信した一般データの全てを一般データ記憶部４０５に記憶してもよい。この場合は、繰り返し送信する必要のある一般データかどうかを示すための要送信フラグのフィールドを付加することが好ましい。
【００３８】
公開鍵記憶部４０６は、他の通信ノードから受信した公開鍵を記憶する機能部である。公開鍵記憶部４０６に記憶するデータの構造を、図５（ｂ）に示す。ノードＩＤ５１１は、受信した公開鍵に対応するノードのノードＩＤである。公開鍵５１２は、受信した公開鍵そのものである。生成日時５１３は、受信した公開鍵が生成された日時である。展開条件５１４は、受信した公開鍵を配布する条件である。例えば、配布を行う時間的あるいは地理的な条件を含めることができる。管理ノードフラグ５１５は、受信した公開鍵に対応
するノードが管理ノードか否かを示すフラグである。管理ノードについては、後ほど説明する。
【００３９】
送信停止メッセージ記憶部４０７は、他の通信ノードから受信した送信停止メッセージを記憶する機能部である。送信停止メッセージ記憶部４０７に記憶するデータの構造を、図５（ｃ）に示す。ノードＩＤ５２１は、受信した送信停止メッセージを生成したノードのノードＩＤである。暗号化ハッシュ値５２２は、送信停止メッセージに含まれる暗号化されたハッシュ値である。後述するように、送信停止メッセージには、送信を停止させたいデータ本文のハッシュ値が、送信停止メッセージの送信元ノードの秘密鍵で暗号化されて含まれる。暗号化ハッシュ値５２２には、この暗号化された状態のハッシュ値が格納される。データのハッシュ値５２５は、送信停止メッセージに含まれる暗号化されたハッシュ値を、送信停止メッセージの送信元ノードの秘密鍵で復号したハッシュ値が格納される。暗号化ハッシュ値の復号は任意のタイミングで行われてよく、復号が行われる前にはハッシュ値５２５を空欄とすればよい。
【００４０】
一般データ選択部４０８は、所定のアルゴリズムにしたがって一般データ記憶部４０５に格納された一般データを繰り返し選択して、送信キューに格納する。ここで、データ選択のアルゴリズムは特に限定されない。データの生成日時に基づいて優先度を設定して選択してもよいし、データが生成された位置と自ノードの現在位置の比較に基づいて優先度を設定して選択してもよいし、ランダムに選択してもよい。ただし、送信停止メッセージによって送信停止が要求されたメッセージを選択しないようにする必要がある。本実施形態では、一般データ記憶部４０５に記憶されているデータは繰り返し送信を行う一般データのみであるため、一般データ記憶部４０５から選択する限りは特別な対処をする必要はない。なお、一般データ記憶部４０５に送信停止が要求された一般データも記憶されている場合には、要送信フラグがオンに設定されている一般データの中から選択を行えばよい。
【００４１】
送信データ生成部４０９は、自ノードが送信元ノードとして送信する一般データの生成を行う機能部である。送信する一般データの内容は任意であってよい。本実施形態では、送信データ生成部４０９は、送信データに自ノードの公開鍵を含める。送信データ生成部４０９が生成する一般データパケットの構造を図６（ａ）に示す。送信元ノードＩＤ６０１は、送信元ノードのノードＩＤである。送信元ノード公開鍵６０２は、自ノード（送信元ノード）の公開鍵である。生成日時６０３は、送信データ生成部４０９がデータ生成を行った日時である。展開条件６０４は、この一般データを配布する条件である。宛先ノードＩＤ６０５は、この一般データに宛先がある場合には宛先ノードのノードＩＤが格納される。データの属性６０６は、上記以外の任意の属性である。データの本体６０７は、任意の内容であってよく、例えば、車両の現在位置や速度などの情報とすることができる。送信データ生成部４０９は、生成した送信データを送信キューに格納する。
【００４２】
なお、一般データに添付した公開鍵の正当性が担保できる仕組みを導入することが好ましい。例えば、公開鍵に対して認証局の電子署名を施した電子証明書の形式で、公開鍵を送付すればよい。各車載端末にはあらかじめ認証局の電子証明書を格納しておくことで、公開鍵に付された電子証明書に基づいて、この電子証明書（公開鍵）が正当なものであるかどうかを検証可能となる。
【００４３】
送信停止メッセージ生成部４１０は、一般データがシステム内で送信されるのを停止したい場合に、送信停止対象の一般データの指定を含む送信停止メッセージを生成する機能部（停止メッセージ送信手段）である。送信停止対象の一般データを指定するために、停止対象の一般データのハッシュ値を自ノードの秘密鍵で暗号化した暗号化ハッシュ値を使用する。図６（ｂ）に、送信停止メッセージ生成部４１０が生成する送信停止メッセージ
のパケット構造を示す。生成ノードＩＤ６１１は、送信停止メッセージを生成したノードのノードＩＤであり、自ノード（送信停止メッセージ生成部４１０を有するノードのノードＩＤ）が格納される。暗号化ハッシュ値６１２は、送信停止対象の一般データのハッシュ値を自ノードの秘密鍵で暗号化したものである。生成日時６１３は、送信停止メッセージ生成部４１０が送信停止メッセージの生成を行った日時である。展開条件６１４は、この送信停止メッセージを配布する条件である。送信停止メッセージ生成部４１０は、生成した送信停止メッセージを送信キューに格納する。なお、送信停止メッセージが格納される送信キューは、一般データが格納される送信キューよりも優先度が高いキューとすることが好ましい。
【００４４】
送信データ選択部４１１は、送信キューに含まれるデータから適切なデータを選択して、送信部４１２を介して送信する機能部である。送信データ選択部４１１は、優先度の高い送信キューに含まれるデータほど優先的に選択して送信する。ここで、優先制御は既存の任意の手法を採用可能であり、最も高い優先度の送信キューに含まれるデータから順番に送信していくようにしてもよいし、優先度にしたがった割合でそれぞれの送信キューからデータを選択して送信するようにしてもよい。
【００４５】
暗号処理部４１３は、公開鍵暗号方式に基づく種々の暗号処理を提供する機能部である。暗号処理部４１３は、秘密鍵と公開鍵のペアを生成し、秘密鍵を安全に記憶するとともに、公開鍵を外部に提供する機能を有する。また、データを受け取って、このデータに対して秘密鍵による暗号処理を施す機能や、データと公開鍵（自ノード以外の公開鍵であってもよい）を受け取って、このデータに対して公開鍵を用いた暗号処理を施す機能、データを受け取って、このデータのハッシュ値を算出する機能を有する。なお、公開鍵暗号方式として、ＲＳＡ暗号、楕円曲線暗号、ＥｌＧａｍａｌ暗号などの任意のものを採用可能である。また、ハッシュ値の算出方式も、ＳＨＡ−２５６など任意のものを採用可能である。
【００４６】
（処理フロー）
以下、本実施形態における車載端末が実施する処理についてフローチャートを参照しながら説明する。なお、以下のフローチャートは各処理の一例に過ぎず、各種の変形を施しても同一の機能を実施可能である。例えば、以下の説明では特に明示していないが、各処理の実施順序を入れ替えたり複数の処理を並列に実施したりしてもよい場合があることは当業者であれば理解できるであろう。
【００４７】
［一般データ生成処理］
まず、送信データ生成部４０９が行う、送信用の一般データの生成処理について図７（ａ）のフローチャートを参照して説明する。送信データ生成部４０９は、自ノードが送信元ノードとして送信するデータの内容を取得する（Ｓ７０１）。そして、図６（ａ）に示す一般データパケットを生成する（Ｓ７０２）。この際に、送信データ生成部４０９は、自ノードの公開鍵を暗号処理部４１３から取得して一般データパケットに含ませる。送信データ生成部４０９は、生成した一般データパケットを適切な優先度クラスを有する送信キューに格納する（Ｓ７０３）。
【００４８】
［一般データ受信処理］
次に、一般データ処理部４０２が行う、受信した一般データに対する処理（一般データ受信処理）について図７（ｂ）のフローチャートを参照して説明する。一般データ処理部４０２は、受信した一般データに公開鍵が含まれるか判断し（Ｓ７１１）、含まれる場合（Ｓ７１１−ＹＥＳ）には、公開鍵処理部４０３に通知して公開鍵受信処理７１２を実施させる。公開鍵受信処理の詳細は、図７（ｃ）に示されている。公開鍵処理部４０３は、同一のノードからの公開鍵を公開鍵記憶部４０６に保有していない場合（Ｓ７２１−ＮＯ
）は、受信した公開鍵を公開鍵記憶部４０６に記憶する（Ｓ７２３）。また、保有している場合（Ｓ７２１−ＹＥＳ）であっても受信した公開鍵の生成日時が公開鍵記憶部４０６に格納されている公開鍵の生成日時よりも新しい場合（Ｓ７２２−ＹＥＳ）は、受信した公開鍵を公開鍵記憶部４０６に記憶する（Ｓ７２３）。既に同一ノードの公開鍵を保有している場合は、上書き更新すればよい。なお、同一のノードのより新しい公開鍵を既に保有している場合（Ｓ７２１−ＹＥＳかつＳ７２２−ＮＯ）は、特に処理を行わない。
【００４９】
一般データ受信処理（図７（ｂ））の説明に戻る。一般データ処理部４０２は、受信した一般データのデータ本体のハッシュ値を、暗号処理部４１３を用いて算出する（Ｓ７１３）。そして、算出したハッシュ値が、既に受信済み送信停止メッセージに含まれるハッシュ値と同一であるかどうか判断する（Ｓ７１４）。同一ではない場合（Ｓ７１４−ＮＯ）は、受信した一般データを繰り返し送信するデータと判断して、一般データ記憶部４０５に格納する。この際、算出したハッシュ値も一緒に格納する。受信した一般データのハッシュ値が受信済みの送信停止メッセージに含まれるハッシュ値と同一の場合（Ｓ７１４−ＹＥＳ）は、受信した一般データは繰り返し送信するデータではないと判断して、一般データ記憶部４０５には格納しない。最後に、一般データ処理部４０２は、受信したデータに対して、その他必要な処理を施す（Ｓ７１６）。なお、ここでは繰り返し送信しないデータは一般データ記憶部４０５に格納しないようにしているが、繰り返し送信するかしないかに応じて要送信フラグをオンまたはオフにして、受信した全ての一般データを一般データ記憶部４０５に格納するようにしてもよい。
【００５０】
［送信停止メッセージ生成処理］
次に、送信停止メッセージ生成部４１０が行う送信停止メッセージ生成処理について図８（ａ）のフローチャートを参照して説明する。送信停止メッセージ生成部４１０は、送信を停止したい一般データのハッシュ値を算出する（Ｓ８０１）。ここで、送信停止対象の一般データは、自ノードが送信元のデータであるため、送信停止メッセージ生成部４１０は自ノードが生成・送信した一般データ（もしくはそのハッシュ値）を記憶しておく必要がある。送信停止メッセージ生成部４１０は、暗号処理部４１３に依頼して算出したハッシュ値を自ノードの秘密鍵で暗号化し、暗号化ハッシュ値を取得する（Ｓ８０２）。そして、この暗号化ハッシュ値を含む送信停止メッセージパケットを生成する（Ｓ８０３）。送信停止メッセージ生成部４１０は、生成した送信停止メッセージを適切な優先度クラスを有する送信キューに格納する（Ｓ８０４）。
【００５１】
［送信停止メッセージ受信処理］
次に、送信停止メッセージ処理部４０４が行う、受信した送信停止メッセージに対する処理（送信停止メッセージ受信処理）について図８（ｂ）のフローチャートを参照して説明する。送信停止メッセージ処理部４０４は、受信した送信停止メッセージの生成ノードの公開鍵を公開鍵記憶部４０６から取得し、送信停止メッセージに含まれる暗号化ハッシュをこの公開鍵で復号する。また、受信した送信停止メッセージは、送信停止メッセージ記憶部４０７に格納され、この際復号したハッシュ値（平文）も同時に格納する（Ｓ８０２）。送信停止メッセージ処理部４０４は、受信した送信停止メッセージに含まれるハッシュ値と同一のハッシュ値を有する一般データが、一般データ記憶部４０５に存在するかどうかを判断する（Ｓ８１３）。ここで、送信停止メッセージの送信元ノードと、送信停止対象の一般データの送信元ノードが同一のノードであることを確認することが好ましい。これにより、一般データの送信元ノードが送信停止を要求していることを保証できる。ステップＳ８１３において、受信した送信停止メッセージに含まれるハッシュ値と同一のハッシュ値を有する一般データが一般データ記憶部４０５に存在すると判定された場合（Ｓ８１３−ＹＥＳ）には、当該一般データを一般データ記憶部４０５から削除する。なお、一般データ記憶部４０５において要送信フラグを採用している場合には、要送信フラグをオフにするだけでもよい。一般データ記憶部からの削除や要送信フラグをオフにする処
理が、繰り返し送信するべきデータから除外する送信停止処理に該当する。
【００５２】
なお、送信停止メッセージを受信した時点で、送信元ノードの公開鍵を受信できていない場合も想定される。この場合は、復号処理が必要であることが判別可能なように、受信した送信停止メッセージを送信停止メッセージ記憶部４０７に格納すればよい。そして、新しいノードからの公開鍵を受信する度に、復号処理が必要な送信停止メッセージをこのノードから受信済みであるか判断し、該当する場合には送信停止メッセージに含まれる暗号化ハッシュ値の算出および対応するデータの送信停止処理等を行うようにすればよい。
【００５３】
［一般データ選択処理］
次に、一般データ選択部４０８が行う一般データ選択処理について図８（ｃ）のフローチャートを参照して説明する。この処理は繰り返し行われ、選択された一般データは周囲に送信される。繰り返しの間隔は、一定であってもよいし一定でなくてもよい。すなわち、繰り返し送信は、定期的に繰り返されるものであってもよいし、非定期的に繰り返されるものであってもよい。一般データ選択部４０８は、一般データ記憶部４０５に格納されている一般データの中から所定のアルゴリズムにしたがって、１つまたは複数の一般データを選択する（Ｓ８２１）。一般データ記憶部４０５には繰り返し送信するものとして記憶された一般データが格納されているので、この処理は、繰り返し送信するべき一般データの中から所定のアルゴリズムにしたがって所定個の一般データを選択する、とも表現できる。一般データ選択のアルゴリズムは任意であって構わない。例えば、受信日時あるいは生成日時が新しい一般データを優先したり、生成場所が近い一般データを優先したり、直近に送信した時刻が古い一般データを優先したり、任意のアルゴリズムが想定される。本発明ではデータ選択アルゴリズム自体は特に限定されず、上記以外の基準にしたがって一般データを選択するようにしても構わない。なお、要送信フラグを採用している場合には、要送信フラグがオンに設定されているデータの中から一般データを選択すればよい。一般データ選択部４０８は、選択したデータを適切な優先度クラスを有する送信キューに格納する（Ｓ８２２）。
【００５４】
（本実施形態の優れた効果）
本実施形態によれば、各通信ノードが受信したデータを繰り返し送信することでシステム内にデータを拡散させるデータ共有システムにおいて、データの送信後に、システム内でのこのデータの送信を停止させることができる。さらに、公開鍵暗号方式による署名を採用しているので、適切な権限を有するノード（本実施形態では、データの送信元ノード）以外が送信停止を行うことを防止できる。また、送信元ノードが送信する一般データとともに自ノードの公開鍵を送付しているので、送信停止メッセージを受信したノードは送信停止対象の一般データを既に受信している場合には、送信元ノードの公開鍵を既に受信していることが保証される。すなわち、送信停止対象の一般データを保有している場合には、送信停止メッセージに含まれる暗号化ハッシュ値の復号が実施でき、一般データのメッセージの送信を停止できる。また、送信対象の一般データよりも先に送信停止メッセージを受信した場合には、送信対象の一般データを受信した時点で暗号化ハッシュ値の復号が可能となり、やはり停止対象の一般データを送信しないようにすることができる。
【００５５】
＜第２の実施形態＞
本発明の第２の実施形態は、送信停止メッセージの送信元ノードが、停止の対象となるデータの宛先ノードである例である。例えば、宛先ノードがデータを受信した後はシステム内でそのデータをそれ以上送信する必要がなくなる。したがって、データの宛先ノードがそのデータを受信したタイミングで、送信停止メッセージを送信することで、不要なデータの流通を防止することができる。
【００５６】
本実施形態における送信停止の方法の概要を、図９を参照して説明する。ここでは、送
信元ノードＮＳが宛先ノードＮＤを宛先としてデータを送信することを想定する。送信元ノードＮＳは、一般データ９０１に、データ本文９０２と宛先ノードＮＤの公開鍵９０３を含めて送信する。公開鍵９０３は、宛先ノードＮＤの秘密鍵９０４に対応する暗号鍵であり、送信元ノードＮＳは一般データの送信前にあらかじめ宛先ノードＮＤの公開鍵９０３を取得する。送信元ノードＮＳが送信した一般データ９０１は、周囲のノード（中継ノード）ＮＲによって受信され、繰り返し送信される。１つまたは複数の中継ノードＮＲによる中継を介して、送信元ノードＮＳから送信された一般データ９０１は宛先ノードＮＤまで到達する。
【００５７】
宛先ノードＮＤは、自ノードを宛先とする一般データ９０１を受信すると、このデータの送信を停止するための送信停止メッセージを生成・送信する。具体的には、一般データ９０１のデータ本文９０２のハッシュ値９０５を算出し、ハッシュ値９０５を自ノードの秘密鍵９０４で暗号化した暗号化ハッシュ値９０６ａを送信停止メッセージ９０６に含めて送信する。送信停止メッセージ９０６を受信したノードは、送信停止メッセージ９０６の送信元ノード（停止対象の一般データ９０１の宛先ノードＮＤ）の公開鍵９０３を用いて暗号化ハッシュ値９０６ａを復号して、送信停止対象の一般データのハッシュ値（平文）９０５を取得する。そして、受信済みの一般データに送信停止メッセージに含まれるハッシュ値９０５と同一のハッシュ値を有する一般データが存在すれば、その一般データのそれ以降の送信を停止する。なお、送信停止メッセージ３０６を受信したノードはこのメッセージを中継するので、その他のノードにおいても送信停止が実現できる。
【００５８】
なお、ここでは送信停止対象の一般データを先に受信している場合を例に説明したが、送信停止メッセージを先に受信しその後に送信停止対象の一般データを受信した場合も、第１の実施形態と同様にその一般データの送信を抑制できる。
【００５９】
このような手法により、一般データの宛先ノードからシステム内でのデータ送信を停止させることができる。したがって、一般データの宛先ノードが当該データを受信したタイミングで、このデータのシステム内での流通を停止させることができる。また、第１の実施形態で実現できたその他の効果も同様に実現可能である。
【００６０】
車載端末のハードウェア構成や機能構成は、第１の実施形態と基本的に同様であるため、ここでは相違点について主に説明する。
【００６１】
本実施形態においては、送信データ生成部４０９が行う処理が第１の実施形態と一部異なる。本実施形態における送信データ生成処理のフローチャートを図１０（ａ）に示す。送信データ生成部４０９は、自ノードが送信元ノードとして送信するデータの内容を取得する（Ｓ１００１）。送信データ生成部４０９は、送信する一般データが宛先ノードの存在するデータであるか判断する（Ｓ１００２）。ブロードキャストのような特定の宛先が存在しない場合（Ｓ１００２−ＮＯ）には、生成する一般データパケットには公開鍵を含めない。一方、宛先ノードがある場合（Ｓ１００２−ＹＥＳ）には、生成する一般データパケットに公開鍵を含めるので、宛先ノードの公開鍵を取得する（Ｓ１００３）。宛先ノードの公開鍵の取得方法は任意であって構わない。例えば、各ノードが繰り返し自ノードの公開鍵を周囲に通知するようにしてもよいし、送信元ノードから一般データを生成する際に宛先ノードに公開鍵を要求するようにしてもよい。また、ＰＫＩのように、送信元ノードがレポジトリから公開鍵を取得するようにしてもよい。なお、公開鍵を周囲に送信する場合は、送信データ生成部４０９が、自ノードの公開鍵を含む公開鍵通知パケットを生成して送信すればよい。
【００６２】
ステップＳ１００４〜Ｓ１００５の処理は、公開鍵が宛先ノードのものである点を除いて、第１の実施形態（図７（ａ）のステップＳ７０２〜Ｓ７０３）と同様である。
【００６３】
送信データ生成部４０９が生成する一般データパケットの構造を図１１に示す。一般データのパケットは、送信元ノードＩＤ６０１、宛先ノードＩＤ６０５、宛先ノードの公開鍵１１０１、その公開鍵の生成日時１１０２と展開条件１１０３、一般データのその他の属性６０６、データの本文６０７から構成される。
【００６４】
また、一般データ処理部４０２が行う一般データ受信処理も第１の実施形態と一部異なる。本実施形態における一般データ受信処理について、図１０（ｂ）のフローチャートを参照して説明する。ステップＳ１０１１〜Ｓ１０１５の処理は、第１の実施形態（図７（ｂ）のステップＳ７１１〜Ｓ７１５）と同様である。
【００６５】
一般データ処理部４０２は、受信した一般データが自ノードを宛先とするものであるか判別し（Ｓ１０１６）、そうである場合には送信停止メッセージ生成部４１０に対して送信停止メッセージ生成処理を実施するように通知する（Ｓ１０１７）。なお、送信停止メッセージ生成処理自体は第１の実施形態と同様である。
【００６６】
送信停止メッセージ処理部４０４の機能は基本的に第１の実施形態と同様である。ただし、本実施形態では送信停止メッセージの送信元ノードが停止対象データの宛先ノードであるので、ハッシュ値の比較をする際に、受信済み一般データの宛先ノードと送信停止メッセージの送信元ノードが同一であることを確認する。これにより、一般データの宛先ノードが送信停止を要求していることを保証できる。
【００６７】
本実施形態によれば、宛先ノードがデータを受信したタイミングで、システム内におけるそのデータの送信を停止させることができる。
【００６８】
＜第３の実施形態＞
本発明の第３の実施形態は、システム内でのデータの送信を停止する権限が当てられた特別なノード（以下では、管理ノードと称する）が、送信停止メッセージを生成・送信する例である。例えば、管理ノードは、システム内を流通するデータを監視し、帯域幅が逼迫した場合や、特定のノードが多量のデータを送信している場合などに、システム内でのデータの流通を停止させるための送信停止メッセージを送信する。なお、一般に、管理ノードは、停止対象データの送信元ノードや宛先ノード以外となるが、管理ノードが停止対象データの送信元ノードや宛先ノードとなってもよい。
【００６９】
本実施形態における送信停止の方法の概要を、図１２を参照して説明する。本実施形態では、管理ノードＮＡが秘密鍵１２０４を保有しており、秘密鍵１２０４に対応する公開鍵１２０３はその他のノードにあらかじめ配布される。送信元ノードＮＳから送信された一般データ１２０１は、システム内で中継されることで、管理ノードＮＡやその他の受信ノードＮＲによって受信される。
【００７０】
ここで、管理ノードＮＡが受信した一般データ１２０１の送信を停止させたい場合には、このデータの送信を停止するための送信停止メッセージを生成・送信する。具体的には、一般データ１２０１のデータ本文１２０２のハッシュ値１２０５を算出し、ハッシュ値１２０５を自ノードの秘密鍵１２０４で暗号化した暗号化ハッシュ値１２０６ａを送信停止メッセージ１２０６に含めて送信する。送信停止メッセージ１２０６を受信したノードは、管理ノードＮＡ（送信停止メッセージ１２０６の送信元ノード）の公開鍵１２０３を用いて暗号化ハッシュ値１２０６ａを復号して、送信停止対象の一般データのハッシュ値（平文）１２０５を取得する。そして、受信済みの一般データに送信停止メッセージに含まれるハッシュ値１２０５と同一のハッシュ値を有する一般データが存在すれば、その一般データのそれ以降の送信を停止する。なお、送信停止メッセージ１２０６を受信したノ
ードはこのメッセージを中継するので、その他のノードにおいても送信停止が実現できる。
【００７１】
なお、ここでは送信停止対象の一般データを先に受信している場合を例に説明したが、送信停止メッセージを先に受信しその後に送信停止対象の一般データを受信した場合も、第１の実施形態と同様にその一般データの送信を抑制できる。
【００７２】
このような手法により、管理ノードは自ノードが受信した一般データであれば任意の一般データについてシステム内での送信を停止することができる。したがって、システム内の通信量の管理を行うことができる。
【００７３】
なお、本実施形態における管理ノードは、公開鍵と秘密鍵を有しており一般データの送信停止権限を持つという点で他のノードとは区別されるが、その他の機能においては他のノードと同一であって構わない。すなわち、車両ネットワークを中央集権的に管理する管理ノードである必要はない。管理ノードが送信停止権限を持つことの保証する仕組みとして、システム内の各通信ノードが管理ノードのＩＤを別途記憶するようにしてもよい。あるいは、管理ノードが配布する公開鍵（電子証明書）を、送信停止権限を有する通信ノードのみに対して電子証明書を発行する認証局のものとしてもよい。
【００７４】
車載端末のハードウェア構成や機能構成は、第１の実施形態と基本的に同様であるため、ここでは相違点について主に説明する。
【００７５】
本実施形態では、一般データに公開鍵を含める必要がないので、送信データ生成部４０９が行う一般データ生成処理では公開鍵に関する処理が省略される。また、一般データパケットから公開鍵に関するフィールドが省略される。
【００７６】
管理ノードは、システム内での送信を停止させたい一般データを決定する処理を行う必要がある。この決定は任意の方法によって行えばよく、本発明では特に限定されない。例えば、通信ノードごとのデータ送信量を比較して、最も送信量が多いノードからの送信を停止するようにしてもよい。また、生成日時が所定時間よりも前の一般データの送信を停止するようにしてもよい。管理ノードは、送信停止対象の一般データを決定したら、その一般データの送信を停止するための送信停止メッセージを送信停止メッセージ生成部４１０によって生成して送信する。
【００７７】
管理ノードの公開鍵を他のノードに対して配布する方法は、任意であって構わない。例えば、管理ノードが繰り返し自ノードの公開鍵を周囲に送信するようにしてもよいし、全ての車載端末に管理ノードの公開鍵をあらかじめ（たとえば製品出荷時）に格納してもよい。また、ＰＫＩのように、レポジトリを利用して受信ノードが管理ノードの公開鍵を取得するようにしてもよい。
【００７８】
その他の構成は基本的に第１の実施形態と同様である。
【００７９】
本実施形態によれば、管理ノードが任意のタイミングで、システム内における一般データの送信を停止させることができる。
【００８０】
＜変形例＞
上記の説明は、本発明の実施形態を例示的に説明したものであり、本発明は上記の実施形態に限定して解釈されるべきではなく、本発明の技術的思想の範囲内で種々の変形が可能である。
【００８１】
例えば、各実施形態における公開鍵の配布方法は、種々の変形が可能である。例えば、第１および第２の実施形態では、一般データに公開鍵を含めて送信しているが、これは必ずしも必須ではない。システム内の各ノードに対して、送信停止メッセージの生成元ノードの公開鍵が送付されれば、その方法やタイミングなどは任意で構わない。例えば、送信停止メッセージの生成元ノードが、繰り返し自ノードの公開鍵を配布しても構わない。システム内の各ノードが必要に応じてＰＫＩのレポジトリから公開鍵を取得するようにしても構わない。あるいは、送信停止メッセージに公開鍵を含めて送信しても構わない。公開鍵の正当性を担保するための仕組みが導入されていれば、送信停止権限を持たないノードが送信停止メッセージを送信した場合は、受信ノード側で、公開鍵自体あるいは暗号化ハッシュ値が不正であることを判別できる。したがって、悪意のあるノードが攻撃を意図してデータを送信させることはできない。
【００８２】
また、送信停止メッセージによって送信停止が要求された一般データの繰り返し送信が停止されるのであれば、具体的な処理の方法や処理タイミングは任意であって構わない。上記の説明では、送信停止メッセージを受信する際に暗号化ハッシュ値の復号と同一のハッシュ値を有する一般データの削除を実施しているが、例えば、一般データ選択部４０８によるデータ選択処理の際にこれらの処理を行ってもよい。受信した一般データのハッシュ値算出も受信時に行っているが、この処理もデータ選択処理に行ってもよい。また、上記の実施形態の説明では、送信停止メッセージを受信した後は送信停止対象の一般データを一切送信しないような構成としているが、最終的に繰り返し送信が停止されれば、１回または数回の送信が行われても構わない。したがって、例えば、暗号化ハッシュの復号処理や停止対象データの削除処理を受信や送信と関係のないタイミングで実施しても構わない。
【００８３】
また、システム内において、データの送信停止権限を有するノードの数は任意であって構わない。例えば、第１および第２の実施形態において、全てのノードが送信停止の権限を有する必要はなく、一部のノードのみが権限を有する、すなわち、公開鍵や送信データ生成部などを有するように構成してもよい。また、第３の実施形態において、システム内の管理ノードの数は１つのみであってもよいし、全体の一部であってもよいし、全ノードが管理ノードとしての機能を有してもよい。
【００８４】
上記第１〜第３の実施形態はそれぞれ任意に組み合わせて構成可能である。例えば、第１および第２の実施形態を組み合わせる場合には、一般データパケットにそのデータの送信元ノードと宛先ノードの公開鍵を含めるようにすればよい。そして、送信元ノードや宛先ノードが所望のタイミングで送信停止メッセージを生成して送信すればよい。第１および第２の実施形態に第３の実施形態を組み合わせる方法も当業者であれば容易に理解できるであろう。
【００８５】
上記の例では、車載端末から構成される車両間無線通信システムを例に説明したが、具体的な通信システムの構成はこれに限られない。例えば、車両以外の任意の移動可能な無線通信装置からなるシステムにも本発明は適用可能である。移動可能な無線通信装置とは、車両や船舶や航空機などに備え付けられた無線通信装置や、ノート型コンピュータやスレート型コンピュータや携帯電話機などのようにユーザが持ち運び可能な無線通信機などである。もっとも、通信機が移動可能であることも必須ではなく固定の無線通信装置から構成されるシステム（センサネットワークなど）にも本発明は適用可能である。さらに、無線通信も必須ではなく、有線通信が混在したシステムや有線通信のみを用いるシステムにおいて本発明は適用可能である。
【符号の説明】
【００８６】
１  車両
１０  車載端末
４０２  一般データ処理部
４０３  公開鍵処理部
４０４  送信停止メッセージ処理部
４０５  一般データ記憶部
４０６  公開鍵記憶部
４０７  送信停止メッセージ記憶部
４０８  一般データ選択部
４０９  送信データ生成部
４１０  送信停止メッセージ生成部
４１１  送信データ選択部
４１３  暗号処理部
【図１】
0005915629.tif 000002
【図２】
0005915629.tif 000003
【図３】
0005915629.tif 000004
【図４】
0005915629.tif 000005
【図５】
0005915629.tif 000006
【図６】
0005915629.tif 000007
【図７】
0005915629.tif 000008
【図８】
0005915629.tif 000009
【図９】
0005915629.tif 000010
【図１０】
0005915629.tif 000011
【図１１】
0005915629.tif 000012
【図１２】
0005915629.tif 000013