(57)【要約】【課題】  ノード間でデータなどを安全に授受するアドホックネットワーク通信方式を提供する。【解決手段】  各ノードは、自ノードが直接通信できるノードの一覧（リスト）を作成し、直接通信可能なノードにリストを配布する。リストを比較した結果、ノードｃ３０が代表ノードとなる。ノードａ１０，ノードｂ２０，ノードｄ４０およびノードｅ５０は、ノードｃ３０との信頼確立のために、自ノードの公開鍵およびそれを証明する公開鍵証明書をノードｃ３０に送信する。ノードｃ３０は、自ノードの公開鍵およびそれを証明する公開鍵証明書を各ノードの公開鍵で暗号化して各ノードに送信する。このようにして、各ノード間で相互の信頼関係を結んで信頼空間Ａを確立し、ノード間でデータの授受を行う。【選択図】      図１
2006033399.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードがアドホックネットワークを形成して通信を行うアドホックネットワーク通信方式であって、
前記複数のノードの間で代表ノードを選出する手段と、
前記代表ノードと他のノード（委任ノード）との間で信頼情報を交換して信頼空間を確立する手段と、
送信元委任ノードと送信先委任ノードとの間のデータ送受信を前記代表ノードを中継し前記信頼情報に基づく秘匿通信を行う手段とを備える、
ことを特徴とするアドホックネットワーク通信方式。
【請求項２】
前記信頼情報は、
公開鍵証明書を含んで成る、
ことを特徴とする請求項１記載のアドホックネットワーク通信方式。
【請求項３】
自ノードが直接通信可能なノードを羅列するリストを作成する手段と、
前記作成したリスト（自リスト）を直接通信可能なノードに送信する手段と、
前記自リストと他ノードから受信したリスト（他リスト）とを比較する手段と、
自リストに羅列するノード数が多い場合に自ノードを代表ノードとして制御する手段と、
自リストに羅列するノード数が少ない場合には自ノードを委任ノードとして制御する手段とを備える、
ことを特徴とする請求項１または２記載のアドホックネットワーク通信方式。
【請求項４】
送信元委任ノードが送信先委任ノードにデータを送信する場合に送信データを前記代表ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して前記代表ノードに送信する手段と、
前記代表ノードが前記送信元委任ノードからデータを受信した場合に受信データを前記送信元委任ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出し前記取り出したデータを前記送信先委任ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して前記送信先委任ノードに送信する手段と、
前記送信先委任ノードが前記代表ノードからデータを受信した場合に受信データを前記代表ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出す手段とを備える、
ことを特徴とする請求項２または３記載のアドホックネットワーク通信方式。
【請求項５】
前記代表ノードが前記ネットワークからの離脱を前記委任ノードに通知して前記委任ノードの中から次期代表ノードを選出する手段と、
前記選出された次期代表ノードが前記委任ノードとの間で信頼情報を交換して新たな信頼空間を確立する手段とを備える、
ことを特徴とする請求項１記載のアドホックネットワーク通信方式。
【請求項６】
複数のノードがアドホックネットワークを形成して通信を行うアドホックネットワーク通信方法であって、
前記複数のノードの間で代表ノードを選出し、
前記代表ノードと他のノード（委任ノード）との間で信頼情報を交換して信頼空間を確立し、
送信元委任ノードと送信先委任ノードとの間のデータ送受信を前記代表ノードを中継し前記信頼情報に基づく秘匿通信を行う、
ことを特徴とするアドホックネットワーク通信方法。
【請求項７】
前記信頼情報は、
公開鍵証明書を含んでいる、
ことを特徴とする請求項６記載のアドホックネットワーク通信方法。
【請求項８】
自ノードが直接通信可能なノードを羅列するリストを作成し、
前記作成したリスト（自リスト）を直接通信可能なノードに送信し、
前記自リストと他ノードから受信したリスト（他リスト）とを比較し、
自リストに羅列するノード数が多い場合に自ノードを代表ノードとして制御し、
自リストに羅列するノード数が少ない場合には自ノードを委任ノードとして制御する、
ことを特徴とする請求項６または７記載のアドホックネットワーク通信方法。
【請求項９】
送信元委任ノードが送信先委任ノードにデータを送信する場合に送信データを前記代表ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して前記代表ノードに送信し、
前記代表ノードが前記送信元委任ノードからデータを受信した場合に受信データを前記送信元委任ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出し前記取り出したデータを前記送信先委任ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して前記送信先委任ノードに送信し、
前記送信先委任ノードが前記代表ノードからデータを受信した場合に受信データを前記代表ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出す、
ことを特徴とする請求項７または８記載のアドホックネットワーク通信方法。
【請求項１０】
前記代表ノードが前記ネットワークからの離脱を前記委任ノードに通知して前記委任ノードの中から次期代表ノードを選出し、
前記選出された次期代表ノードが前記委任ノードとの間で信頼情報を交換して新たな信頼空間を確立する、
ことを特徴とする請求項６記載のアドホックネットワーク通信方法。
【請求項１１】
アドホックネットワークを形成して通信を行うノード装置であって、
直接通信可能な他のノードを羅列するリストを作成する手段と、
前記作成したリスト（自リスト）を直接通信可能な他のノードに送信する手段と、
前記自リストと他ノードから受信したリスト（他リスト）とを比較する手段と、
自リストに羅列するノード数が多い場合に自ノードを代表ノードとして制御する手段と、
自リストに羅列するノード数が少ない場合には自ノードを委任ノードとして制御する手段と、
前記委任ノードの場合に代表ノードに信頼情報を送信する手段と、
前記代表ノードの場合に委任ノードとの間で信頼情報を交換して信頼空間を確立する手段と、
前記委任ノードの場合に前記信頼情報に基づく秘匿通信を行い代表ノードを中継して他の委任ノードにデータを送信する手段とを備える、
ことを特徴とするノード装置。
【請求項１２】
前記委任ノードの場合に送信する信頼情報は、
自ノードの公開鍵証明書を含んで成り、
前記代表ノードの場合に送信する信頼情報は、
自ノードの公開鍵証明書を委任ノードの公開鍵で暗号化したものを含んで成る、
ことを特徴とする請求項１１記載のノード装置。
【請求項１３】
送信元委任ノードの場合に送信先委任ノードに送信するデータを代表ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して代表ノードに送信する手段と、
代表ノードの場合に送信元委任ノードから受信したデータを送信元委任ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出し前記取り出したデータを送信先委任ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して送信先委任ノードに送信する手段と、
送信先委任ノードの場合に代表ノードから受信したデータを代表ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出す手段とを備える、
ことを特徴とする請求項１２記載のノード装置。
【請求項１４】
前記代表ノードの場合に前記ネットワークからの離脱を委任ノードに通知して委任ノードの中から次期代表ノードを選出する手段と、
前記委任ノードの場合に次期代表ノードに選出されると自ノードを代表ノードとして制御し委任ノードとの間で信頼情報を交換して新たな信頼空間を確立する手段とを備える、
ことを特徴とする請求項１１記載のノード装置。
【請求項１５】
アドホックネットワークを形成して通信を行うノード装置のプログラムであって、
ノード装置に、
直接通信可能な他のノードを羅列するリストを作成する機能、
前記作成したリスト（自リスト）を直接通信可能な他のノードに送信する機能、
前記自リストと他ノードから受信したリスト（他リスト）とを比較する機能、
自リストに羅列するノード数が多い場合に自ノードを代表ノードとして制御する機能、
自リストに羅列するノード数が少ない場合には自ノードを委任ノードとして制御する機能、
前記委任ノードの場合に代表ノードに信頼情報を送信する機能、
前記代表ノードの場合に委任ノードとの間で信頼情報を交換して信頼空間を確立する機能、
前記委任ノードの場合に前記信頼情報に基づく秘匿通信を行い代表ノードを中継して他の委任ノードにデータを送信する機能、
を実現させるためのプログラム。
【請求項１６】
前記委任ノードの場合に送信する信頼情報が自ノードの公開鍵証明書を含んで成る機能、
前記代表ノードの場合に送信する信頼情報が自ノードの公開鍵証明書を委任ノードの公開鍵で暗号化したものを含んで成る機能、
を実現させるための請求項１５記載のプログラム。
【請求項１７】
送信元委任ノードの場合に送信先委任ノードに送信するデータを代表ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して代表ノードに送信する機能、
代表ノードの場合に送信元委任ノードから受信したデータを送信元委任ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出し前記取り出したデータを送信先委任ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して送信先委任ノードに送信する機能、
送信先委任ノードの場合に代表ノードから受信したデータを代表ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出す機能、
を実現させるための請求項１６記載のプログラム。
【請求項１８】
前記代表ノードの場合に前記ネットワークからの離脱を委任ノードに通知して委任ノードの中から次期代表ノードを選出する機能、
前記委任ノードの場合に次期代表ノードに選出されると自ノードを代表ノードとして制御し委任ノードとの間で信頼情報を交換して新たな信頼空間を確立する機能、
を実現させるための請求項１５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドホックネットワーク通信方式および方法ならびにノード装置およびそのプログラムに関し、特にノード間でデータを安全に授受するアドホックネットワーク通信方式および方法ならびにノード装置およびそのプログラムに関する。
【背景技術】
【０００２】
従来のアドホックネットワークシステムの一例を以下に示す。
【０００３】
特許文献１では、既存のネットワークマスターが離脱したか否かを検査し、既存のネットワークマスターが離脱されたことと確認されれば、新たなネットワークマスターを選択するのに使用され既存のネットワークマスター離脱前に受信された順位を確認する。そして、順位が多数のスレーブの順位より最優先順位ならば自分の役割を新たなネットワークマスターに変更している。
【０００４】
また、特許文献２では、スター型接続のアドホック無線ＬＡＮシステムにおいて、親機は定期的に自機のバッテリー切れ時間を予測するとともに全子機に自機のバッテリー切れ時間を予測させている。そして、全端末のバッテリー切れ予測時間情報を収集し、最もバッテリー切れ予測時間の長い端末を親機として選定している。
【０００５】
また、特許文献３では、移動端末ネットワーク（アドホックネットワーク）において、送信端末から送信されたデータは中継端末および代表端末を経由して受信端末に転送されている。
【０００６】
【特許文献１】特開２００２−１１１６８９号公報
【特許文献２】特開２００３−３２２６３号公報
【特許文献３】特開２００４−８０６４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した背景技術では、以下のような問題点がある。
【０００８】
すなわち、非固定的な端末の集合によって構成されるアドホックネットワークにおいて、ノード間で安全にデータ等を授受する秘匿通信ができないということである。
【０００９】
本発明の目的は、上記の問題点を解決し、ノード間で安全にデータ等を授受できるアドホックネットワーク通信方式および方法ならびにノード装置およびそのプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本願第１の発明のアドホックネットワーク通信方式は、複数のノードがアドホックネットワークを形成して通信を行うアドホックネットワーク通信方式であって、前記複数のノードの間で代表ノードを選出する手段と、前記代表ノードと他のノード（委任ノード）との間で信頼情報を交換して信頼空間を確立する手段と、送信元委任ノードと送信先委任ノードとの間のデータ送受信を前記代表ノードを中継し前記信頼情報に基づく秘匿通信を行う手段とを備える。
【００１１】
本願第２の発明のアドホックネットワーク通信方式は、第１の発明において前記信頼情報は、公開鍵証明書を含んで成る、ことを特徴とする。
【００１２】
本願第３の発明のアドホックネットワーク通信方式は、第１または第２の発明において自ノードが直接通信可能なノードを羅列するリストを作成する手段と、前記作成したリスト（自リスト）を直接通信可能なノードに送信する手段と、前記自リストと他ノードから受信したリスト（他リスト）とを比較する手段と、自リストに羅列するノード数が多い場合に自ノードを代表ノードとして制御する手段と、自リストに羅列するノード数が少ない場合には自ノードを委任ノードとして制御する手段とを備える。
【００１３】
本願第４の発明のアドホックネットワーク通信方式は、第２または第３の発明において送信元委任ノードが送信先委任ノードにデータを送信する場合に送信データを前記代表ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して前記代表ノードに送信する手段と、前記代表ノードが前記送信元委任ノードからデータを受信した場合に受信データを前記送信元委任ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出し前記取り出したデータを前記送信先委任ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して前記送信先委任ノードに送信する手段と、前記送信先委任ノードが前記代表ノードからデータを受信した場合に受信データを前記代表ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出す手段とを備える。
【００１４】
本願第５の発明のアドホックネットワーク通信方式は、第１の発明において前記代表ノードが前記ネットワークからの離脱を前記委任ノードに通知して前記委任ノードの中から次期代表ノードを選出する手段と、前記選出された次期代表ノードが前記委任ノードとの間で信頼情報を交換して新たな信頼空間を確立する手段とを備える。
【００１５】
本願第６の発明のアドホックネットワーク通信方法は、複数のノードがアドホックネットワークを形成して通信を行うアドホックネットワーク通信方法であって、前記複数のノードの間で代表ノードを選出し、前記代表ノードと他のノード（委任ノード）との間で信頼情報を交換して信頼空間を確立し、送信元委任ノードと送信先委任ノードとの間のデータ送受信を前記代表ノードを中継し前記信頼情報に基づく秘匿通信を行う、ことを特徴とする。
【００１６】
本願第７の発明のアドホックネットワーク通信方法は、第６の発明において前記信頼情報は、公開鍵証明書を含んでいる、ことを特徴とする。
【００１７】
本願第８の発明のアドホックネットワーク通信方法は、第６または第７の発明において自ノードが直接通信可能なノードを羅列するリストを作成し、前記作成したリスト（自リスト）を直接通信可能なノードに送信し、前記自リストと他ノードから受信したリスト（他リスト）とを比較し、自リストに羅列するノード数が多い場合に自ノードを代表ノードとして制御し、自リストに羅列するノード数が少ない場合には自ノードを委任ノードとして制御する、ことを特徴とする。
【００１８】
本願第９の発明のアドホックネットワーク通信方法は、第７または第８の発明において送信元委任ノードが送信先委任ノードにデータを送信する場合に送信データを前記代表ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して前記代表ノードに送信し、前記代表ノードが前記送信元委任ノードからデータを受信した場合に受信データを前記送信元委任ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出し前記取り出したデータを前記送信先委任ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して前記送信先委任ノードに送信し、前記送信先委任ノードが前記代表ノードからデータを受信した場合に受信データを前記代表ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出す、ことを特徴とする。
【００１９】
本願第１０の発明のアドホックネットワーク通信方法は、第６の発明において前記代表ノードが前記ネットワークからの離脱を前記委任ノードに通知して前記委任ノードの中から次期代表ノードを選出し、前記選出された次期代表ノードが前記委任ノードとの間で信頼情報を交換して新たな信頼空間を確立する、ことを特徴とする。
【００２０】
本願第１１の発明のノード装置は、アドホックネットワークを形成して通信を行うノード装置であって、直接通信可能な他のノードを羅列するリストを作成する手段と、前記作成したリスト（自リスト）を直接通信可能な他のノードに送信する手段と、前記自リストと他ノードから受信したリスト（他リスト）とを比較する手段と、自リストに羅列するノード数が多い場合に自ノードを代表ノードとして制御する手段と、自リストに羅列するノード数が少ない場合には自ノードを委任ノードとして制御する手段と、前記委任ノードの場合に代表ノードに信頼情報を送信する手段と、前記代表ノードの場合に委任ノードとの間で信頼情報を交換して信頼空間を確立する手段と、前記委任ノードの場合に前記信頼情報に基づく秘匿通信を行い代表ノードを中継して他の委任ノードにデータを送信する手段とを備える。
【００２１】
本願第１２の発明のノード装置は、第１１の発明において前記委任ノードの場合に送信する信頼情報は、自ノードの公開鍵証明書を含んで成り、前記代表ノードの場合に送信する信頼情報は、自ノードの公開鍵証明書を委任ノードの公開鍵で暗号化したものを含んで成る、ことを特徴とする。
【００２２】
本願第１３の発明のノード装置は、第１２の発明において送信元委任ノードの場合に送信先委任ノードに送信するデータを代表ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して代表ノードに送信する手段と、代表ノードの場合に送信元委任ノードから受信したデータを送信元委任ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出し前記取り出したデータを送信先委任ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して送信先委任ノードに送信する手段と、送信先委任ノードの場合に代表ノードから受信したデータを代表ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出す手段とを備える。
【００２３】
本願第１４の発明のノード装置は、第１１の発明において前記代表ノードの場合に前記ネットワークからの離脱を委任ノードに通知して委任ノードの中から次期代表ノードを選出する手段と、前記委任ノードの場合に次期代表ノードに選出されると自ノードを代表ノードとして制御し委任ノードとの間で信頼情報を交換して新たな信頼空間を確立する手段とを備える。
【００２４】
本願第１５の発明のプログラムは、アドホックネットワークを形成して通信を行うノード装置のプログラムであって、ノード装置に、直接通信可能な他のノードを羅列するリストを作成する機能、前記作成したリスト（自リスト）を直接通信可能な他のノードに送信する機能、前記自リストと他ノードから受信したリスト（他リスト）とを比較する機能、自リストに羅列するノード数が多い場合に自ノードを代表ノードとして制御する機能、自リストに羅列するノード数が少ない場合には自ノードを委任ノードとして制御する機能、前記委任ノードの場合に代表ノードに信頼情報を送信する機能、前記代表ノードの場合に委任ノードとの間で信頼情報を交換して信頼空間を確立する機能、前記委任ノードの場合に前記信頼情報に基づく秘匿通信を行い代表ノードを中継して他の委任ノードにデータを送信する機能、を実現させる。
【００２５】
本願第１６の発明のプログラムは、第１５の発明において前記委任ノードの場合に送信する信頼情報が自ノードの公開鍵証明書を含んで成る機能、前記代表ノードの場合に送信する信頼情報が自ノードの公開鍵証明書を委任ノードの公開鍵で暗号化したものを含んで成る機能、を実現させる。
【００２６】
本願第１７の発明のプログラムは、第１６の発明において送信元委任ノードの場合に送信先委任ノードに送信するデータを代表ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して代表ノードに送信する機能、代表ノードの場合に送信元委任ノードから受信したデータを送信元委任ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出し前記取り出したデータを送信先委任ノードの公開鍵で暗号化し自ノードの秘密鍵で署名を施して送信先委任ノードに送信する機能、送信先委任ノードの場合に代表ノードから受信したデータを代表ノードの公開鍵で署名を検証し自ノードの秘密鍵で復号化して前記受信データを可読な状態にして取り出す機能、を実現させる。
【００２７】
本願第１８の発明のプログラムは、第１５の発明において前記代表ノードの場合に前記ネットワークからの離脱を委任ノードに通知して委任ノードの中から次期代表ノードを選出する機能、前記委任ノードの場合に次期代表ノードに選出されると自ノードを代表ノードとして制御し委任ノードとの間で信頼情報を交換して新たな信頼空間を確立する機能、を実現させる。
【発明の効果】
【００２８】
本発明の効果は、アドホックネットワークにおいて安全なデータ交換が行なえることである。
【００２９】
その理由は、アドホックネットワーク内で代表ノードを選抜し、代表ノードと他のノードとの間で信頼情報を交換して信頼空間を確立し、信頼情報に基づく秘匿通信を行うからである。
【発明を実施するための最良の形態】
【００３０】
本発明は、アドホックネットワークというノードを固定的に設置しないネットワークにおいて、そのネットワーク上で作成された文書およびメッセージ等をノード間で安全に授受することを特徴としている。
【００３１】
より詳細には、無線ＬＡＮ等のネットワークにより構成されるアドホックネットワークにおいて、各ノードの間で代表ノードを設定する。代表ノードを信頼情報の中継点として、信頼情報の生成、データをバイパスする機能を持たせる。これによって、直接的な通信路を持たないノード間で秘匿通信を行うことができる。
【００３２】
次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。
図２は本発明の実施例の構成を示す図である。
【００３３】
図２を参照すると、本実施例は、アドホックネットワークに参加を所望するノードａ１０と、ノードｂ２０と、ノードｃ３０と、ノードｄ４０と、ノードｅ５０とを含む。各ノード間は無線ＬＡＮ等のネットワークで接続されている。本実施例で示すアドホックネットワークにおいて、その物理的特性から（通信エリア等の関係から）、ノードａ１０はノードｃ３０のみ、ノードｂ２０はノードｃ３０のみ、ノードｃ３０はノードａ１０，ノードｂ２０，ノードｄ４０およびノードｅ５０、ノードｄ４０はノードｃ３０のみ、ノードｅ５０はノードｃ３０のみ、に直接的な通信路を確保できることとする。すなわち、スター型ネットワークであり、上記以外のノード間では直接２ノード間での通信データの授受を行えないものとする。また、アドホックネットワークに参加する各ノードは、あらかじめお互いを信頼しあっているものとする。
【００３４】
各ノードは、データ等を記憶する記憶部と全体を制御するＣＰＵ（中央処理装置）とを含みプログラム制御で動作する装置で、例えばノート型パソコン等の携帯端末等である。記憶部は、主記憶装置としてのＲＡＭ（ランダムアクセスメモリ），プログラム等を格納するＲＯＭ（リードオンリーメモリ）および主記憶装置を補助する補助記憶装置などを含む。また、各ノードは、ネットワークにアクセスするためのアドレスを有している。例えば、ネットワークが無線ＬＡＮネットワークであれば、ＬＡＮアドレスを有する。
【００３５】
また、各ノードは以下の手段を含んでいる。
（１）送信手段は、他のノードに対してデータを送信する機能を有する。
（２）受信手段は、他のノードからデータを受信する機能を有する。
（３）鍵生成手段は、秘密鍵と公開鍵とを公知の方法により生成して記憶部に保存する。また、鍵生成手段は、生成した公開鍵を証明する公開鍵証明書を公知の方法により生成して記憶部に保存する。なお、以降の説明では、ノードａ１０の秘密鍵，公開鍵，公開鍵証明書を秘密鍵ａ，公開鍵ａ，公開鍵証明書ａと表すものとする。他のノードの秘密鍵，公開鍵，公開鍵証明書についても同様に表す。
（４）暗号化手段は、他のノードに送信するデータを、そのノードの公開鍵で暗号化する機能を有する。
（５）復号化手段は、他のノードからのデータを、自ノードの秘密鍵で復号化して記憶部に格納する機能を有する。
（６）署名手段は、データに対して秘密鍵で署名を行う機能を有する。なお、署名は公知の方法に依る。
（７）ノード認識手段は、公知の方法により、自ノードと直接に通信できるネットワーク内の他のノードの存在を認識する機能を有する。また、ノード認識手段は、認識したノードを基に直接通信可能なノードの一覧を示すリストを作成する。リストは、リスト名に続いてノード名を羅列する形式である。このリストには自ノードも含まれる。なお、以降の説明では、ノードａ１０が作成するリストをリストａと表すものとする。他のノードが作成するリストについても同様に表す。図２の例では、ノードａ１０の場合、リストａ（ノードａ，ノードｃ）のようになる。
（８）委任／代表選択手段は、自リストと他ノードのリストとを比較し、自リストに羅列するノード数が多い場合には自ノードを代表ノードとし、自リストに羅列するノード数が少ない場合には自ノードを委任ノードとする。代表ノードはアドホックネットワークを代表するノードのことであり、委任ノードは他のノードとの通信におけるデータの交換を代表ノードに委任するノードことである。図１の例では、ノードｃ３０が代表ノードであり、ノードａ１０，ノードｂ２０，ノードｄ４０およびノードｅ５０が委任ノードである。
（９）代表ノード手段は、委任／代表選択手段で自ノードを代表ノードとした場合に動作する。代表ノード手段は、委任ノードとの間で信頼関係を形成するために、自身の公開鍵および公開鍵証明書などを委任ノードに送信する機能を有する。また、委任ノードからのデータを受信して宛先である他の委任ノードにデータを転送する機能を有する。なお、代表ノード手段が動作すると、委任ノード手段は停止する。
（１０）委任ノード手段は、委任／代表選択手段で自ノードを委任ノードとした場合に動作する。委任ノード手段は、代表ノードとの間で信頼関係を形成するために、信頼情報（公開鍵および公開鍵証明書など）を代表ノードに送信する機能を有する。また、委任ノード手段は、他のノードにデータを送信する場合、代表ノードにデータを送信する機能を有する。他のノードからデータを受信する場合、代表ノードからデータを受信する。
【００３６】
次に、本発明を実施するための最良の形態の動作について、図面を参照して詳細に説明する。
【００３７】
最初に、図２で示す各ノード間が信頼情報で結ばれ信頼空間を形成するまでの動作について、図１，図３および図４を用いて説明する。
図１は各ノード間の信頼空間を説明する図である。
図３はノードａの動作を説明する図である。
図４はノードｃの動作を説明する図である。
【００３８】
アドホックネットワークを構成する候補としてノードａ１０、ノードｂ２０、ノードｃ３０、ノードｄ４０及びノードｅ５０が対象となるものとする。
【００３９】
先ず、各ノードは、ノード認識手段により、アドホックネットワーク内の他のノードの存在を認識する。
【００４０】
各ノードは、自ノードが直接通信できるノードの一覧（リスト）を作成し、直接通信可能なノードにリストを配布する。図２の構成では、ノードａ１０はリストａ（ノードａ，ノードｃ）、ノードｂ２０はリストｂ（ノードｂ，ノードｃ）、ノードｃ３０はリストｃ（ノードａ，ノードｂ，ノードｃ，ノードｄ，ノードｅ）、ノードｄ４０はリストｄ（ノードｃ，ノードｄ）、ノードｅ５０はリストｅ（ノードｃ，ノードｅ）というリストを、それぞれリストに記述したノードに配布する（ノード間でリストを交換する）。
【００４１】
上記のリスト交換時のノードａ１０の動作について説明する。
【００４２】
ノードａ１０は、直接通信可能なノードがノードｃ３０であるため、ノードｃ３０にリストａ（ノードａ，ノードｃ）を送信する。
【００４３】
ノードｃ３０は、ノードａ１０と直接通信が可能であるため、同様に、リストｃ（ノードａ，ノードｂ，ノードｃ，ノードｄ，ノードｅ）というリストをノードａ１０に送信する。
【００４４】
その後、ノードａ１０は、自ノードが送信したリストａ（ノードａ，ノードｃ）とノードｃ３０から受信したリストｃ（ノードａ，ノードｂ，ノードｃ，ノードｄ，ノードｅ）とを比較する。ノードａ１０は、これら２つのリストの比較結果から、リストａに記述されたノードはリストｃに全て含まれることを確認する。
【００４５】
このとき、ノードａ１０は、リストａに記述されたノードとの通信におけるデータの交換を、ノードｃ３０に委任することを決定する。そこで、ノードａ１０は、ノードｃ３０との信頼確立のために、自ノードの公開鍵証明書ａ１１１をノードｃ３０に送信する（図３を参照）。
【００４６】
以上の動作は、同様の構成にあるノードｂ２０，ノードｄ４０およびノードｅ５０にも適用される。
【００４７】
次に、リスト交換時のノードｃ３０の動作を説明する。
【００４８】
ノードｃ３０は、直接通信可能なノードがノードａ１０，ノードｂ２０，ノードｄ４０およびノードｅ５０であるため、 それらのノードにリストｃ（ノードａ，ノードｂ，ノードｃ，ノードｄ，ノードｅ）を送信する。
【００４９】
また、ノードａ１０，ノードｂ２０，ノードｄ４０およびノードｅ５０は、ノードｃ３０と直接通信が可能であるため、前述の説明に従って、それぞれリストａ（ノードａ，ノードｃ）、リストｂ（ノードｂ，ノードｃ）、リストｄ（ノードｃ，ノードｄ）、リストｅ（ノードｃ，ノードｅ）をノードｃ３０に送信する。
【００５０】
その後、ノードｃ３０は、自ノードが送信したリストｃ（ノードａ，ノードｂ，ノードｃ，ノードｄ，ノードｅ）とノードａ１０、ノードｂ２０、ノードｄ４０及びノードｅ５０から受信したリストａ，リストｂ，リストｄおよびリストｅを比較する。これらリストの比較結果から、リストｃが他のノードから受信したリストに記述されたノードを全て含んでいることを確認する。また、ノードｃ３０は、リストｃに羅列されたノード数が他のリストに比べて最多であることから、自ノードが代表ノードであることを認識する。
【００５１】
このとき、ノードｃ３０は、自ノードが発行したリストｃに羅列されたノードから、それぞれのノードの公開鍵およびそれを証明する公開鍵証明書を取得し、各ノードの信頼情報を獲得する。
【００５２】
その後、ノードｃ３０は、リストｃに羅列されたノードのグループでのみ信頼される公開鍵証明書ｃ３１１と公開鍵ｃと秘密鍵ｃとを生成する。生成した公開鍵証明書ｃ３１１および公開鍵ｃをリストｃに羅列された各ノードに配布する。すなわち、公開鍵証明書ｃ３１１をノードａの公開鍵ａで暗号化してノードａに送信する。同様に、公開鍵証明書ｃ３１１を、ノードｂの公開鍵ｂで暗号化してノードｂに、ノードｄの公開鍵ｄで暗号化してノードｄに、ノードｅの公開鍵ｅで暗号化してノードｅに送信する。このようにして、各ノード間で相互の信頼空間Ａを確立する（図４を参照）。
【００５３】
上記で説明した処理が完了することによって、ノードの間はノードｃ３０を中心とする信頼空間Ａで結ばれることになる（図１を参照）。
【００５４】
続いて、信頼空間が形成された後に、あるノードが他のノードにメッセージを送信する場合の動作について、図５および図６を用いて説明する。
図５はノードａの動作を説明する図である。
図６はノードｃの動作を説明する図である。
【００５５】
本例では、ノードａ１０が自身の参加しているアドホックネットワークの全てのノード（すなわち、ノードｂ２０，ノードｃ３０，ノードｄ４０およびノードｅ５０）に同じ内容のメッセージを送信する場合の動作について説明する。
【００５６】
先ず、ノードａ１０は、この信頼空間に参入していないノード（図示せず）から送信されたデータａを秘匿するため、ノードｃ３０により発行された公開鍵ｃで暗号化を施す。また、このデータａがノードａ１０から送信されたことを証明するため、このデータａにノードａ１０の秘密鍵ａで署名を施す（図５のデータａ１２１）。ノードａ１０は、送信先ノードで構成される信頼空間Ａの代表ノードであるノードｃ３０に暗号化したデータａ１２１を送信する（図５を参照）。
【００５７】
ノードｃ３０は、秘密鍵ａで暗号化されたデータを復号化できる公開鍵ａおよび公開鍵ｃで暗号化されたデータを復号できる秘密鍵ｃを保持している。ノードｃ３０は、ノードａ１０が送信したデータａ１２１を公開鍵ａで署名を検証し、データａ１２１が確かにノードａ１０より送信されたものであることを確認する。また、秘密鍵ｃでデータａ１２１の暗号化を復号し、ノードａ１０が送信したデータａを可読な状態にする。この時点で、ノードｃ３０はノードａ１０からのデータａを取得したことになる。
【００５８】
次に、ノードｃ３０は、自身を代表ノードとして構成される信頼空間Ａの各ノードにデータａを送信する。 
このとき、ノードｃ３０は、信頼確立の処理の中で取得した各ノードの公開鍵でデータａの暗号化を行う。つまり、ノードｂ２０にはノードｂ２０から取得した公開鍵ｂで暗号化したデータを、ノードｄ４０にはノードｄ４０から取得した公開鍵ｄで暗号化したデータを、ノードｅ５０にはノードｅ５０から取得した公開鍵ｅで暗号化したデータを送信する。また、このとき、それぞれ暗号化したデータには、ノードｃ３０から送られたことを保障するため、ノードｃ３０のみが所有する秘密鍵ｃで署名をおこなう。
【００５９】
次に、上記ノードａ１０から各ノードに送信された暗号データをノードｂ２０，ノードｄ４０およびノードｅ５０が取得する動作を説明する。ここでは、例として、ノードｂ２０へデータａを送信する場合について説明する。
【００６０】
前述のように、ノードｃ３０からノードｂ２０へのデータａは、ノードｃ３０が所有するノードｂ２０の公開鍵ｂで暗号化を施す。このようにすることによって、ノードｂ２０以外のノードはデータａを読み取ることができなくなる。さらに、データａがノードｂ２０が信頼するノードｃ３０から確かに送信されたことを証明するため、データａを秘密鍵ｃで署名する。
【００６１】
上記の処理を実施後、ノードｃ３０は、ノードｂ２０にデータａ３２１を送信する。
【００６２】
ノードｃ３０からデータａ３２１を受け取ったノードｂ２０は、ノードｃ３０から配布された公開鍵ｃを所有するため、それを使用してデータａ３２１の署名を検証する。検証に成功した後、ノードｂ２０は自身の秘密鍵ｂでデータａ３２１を復号化し、データａを可読な状態にして取得する。
【００６３】
同様に、ノードｃ３０は、ノードｄ４０に対してデータａ３２２を、ノードｅ５０に対してデータａ３２３を送信する。ノードｄ４０とノードｅ５０も、同様に上記動作を行い、全てのノードはノードａ１０が送信したデータａを取得する（図６を参照）。
【００６４】
上記実施例により説明される効果は、定常的なノード構成を持たないアドホックネットワークにおいて、定常的なノード構成を持つネットワークと同等の安全なデータ交換が行なえることである。その理由は、アドホックネットワーク内のノード接続状態を表すリストを交換処理することにより代表ノードを選抜し、その代表ノードを中心とする信頼空間Ａを確立し、代表ノードが信頼空間Ａ内でのみ通用する信頼情報を生成することによって、信頼空間Ａでのみ処理可能な暗号化を施すことができるためである。
【００６５】
次に、本発明の他の実施例について図面を参照して詳細に説明する。
【００６６】
先ず、本発明の他の実施例の構成について図面を用いて説明する。
図７は本発明の他の実施例の構成をに示す図である。
【００６７】
図７を参照すると、本発明の他の実施例は、ノードａ６０と、ノードｂ７０と、ノードｃ８０と、ノードｄ９０と、ノードｅ１００とを含み、各ノード間は無線等のネットワークで接続されている。そして、ノードｃ８０を代表ノードとして、上述した第１の実施例で説明した信頼空間を確立しているものとする。
【００６８】
各ノードは、上述した第１の実施例のノードと同等の機能を有し、更に以下の機能を有している。
（１）代表ノード手段は、代表ノード離脱通知を委任ノードに送信する機能を有する。また、次期代表ノードを決定して各ノードに通知する機能を有する。次期代表ノードを決定する方法として、例えば、代表ノード取得要求通知を最初に代表ノードに送信してきたノードを次期代表ノードとして決定するようにしてもよい。
（２）委任ノード手段は、代表ノードから代表ノード離脱通知を受信して代表ノード取得要求通知を代表ノードに送信する機能を有する。
（３）委任／代表選択手段は、代表ノードから受信した次期代表ノードの決定通知で自ノードが次期代表ノードの場合、自ノードを代表ノードとする。代表ノード手段が動作し、委任ノード手段が停止する。
【００６９】
次に、本発明の他の実施例の動作について、図７〜図１１を用いて説明する。
図８はノードａの動作を説明する図である。
図９はノードｃの動作を説明する図である。
図１０はノードｂの動作を説明する図である。
図１１はノードａの動作を説明する図である。
【００７０】
本実施例では、ノードｃ８０を代表ノードとして上述した第１の実施例で説明した信頼空間Ａを確立しているアドホックネットワークから、代表ノードｃ８０が離脱し、新たな信頼空間Ｂが再構成される場合について説明する。
【００７１】
まず、ノードｃ８０は、アドホックネットワークから離脱することを表明する離脱通知メッセージ８３１を作成し、ノードｃ８０のみが所有する秘密鍵ｃで署名をおこなう。そして、ノードｃ８０自身が所属する信頼空間Ａ内の全ノードに向けて、この離脱通知メッセージ８３１を送信する（図７を参照）。
【００７２】
信頼空間Ａ内の各ノードは、ノードｃ８０からの離脱通知メッセージ８３１を受信する。そして、ノードｃ８０により配布された公開鍵ｃを使用して離脱通知メッセージ８３１の署名を検証し、離脱通知メッセージ８３１が確かにノードｃ８０から送信されたものであることを確認する。
【００７３】
次に、ノードｃ８０から離脱通知メッセージ８３１を受け取ったノードａ６０，ノードｂ７０，ノードｄ９０およびノードｅ１００は、ノードｃ８０に対して新しい信頼空間Ｂの代表ノード権の取得を要求する取得要求メッセージを送る。
【００７４】
その動作を、ノードａ６０を例に以下に説明する。
【００７５】
ノードｃ８０から離脱通知メッセージ８３１を受け取ったノードａ６０は、ノードｃ８０に対する取得要求メッセージ６３１を作成する。そして、ノードｃ８０のみが取得要求メッセージ６３１を読み取れるようにするため、取得要求メッセージ６３１をノードｃ８０のみが所有する秘密鍵ｃでのみ解読できる公開鍵ｃで暗号化する。さらに、ノードａ６０が作成したメッセージであることを証明するため、秘密鍵ａで署名をおこなう。上記の処理を実施した後、ノードａ６０は取得要求メッセージ６３１をノードｃ８０に送信する（図８を参照）。
【００７６】
同様に、ノードｂ７０，ノードｄ９０およびノードｅ１００も、ノードｃ８０から離脱通知メッセージ８３１を受け取ると、上記の処理を直ちに実施する。
【００７７】
上記の処理が各ノードで実施されると、ノードｃ８０は、ノードａ６０，ノードｂ７０，ノードｄ９０およびノードｅ１００から取得要求メッセージを受け取ることになる。このとき、ノードｃ８０は、最も早く代表ノード権の取得要求メッセージを送信してきたノードのメッセージを以下に説明する処理対象とする。例として、上述の説明で作成されたノードａ６０の代表ノード権の取得要求メッセージ６３１を最初に受信した場合について説明する。
【００７８】
ノードｃ８０は、ノードａ６０から受信した代表ノード権の取得要求メッセージ６３１を、ノードａ６０の公開鍵ａで検証し、該当メッセージが確かにノードａ６０から送信されたものであることを確認する。次に、ノードｃ８０のみが所有する秘密鍵ｃを使用して代表ノード権の取得要求メッセージ６３１を復号化する。
【００７９】
ノードｃ８０は、取得要求メッセージ６３１が、代表ノード権の取得要求メッセージであることを確認すると、ノードａ６０が信頼空間Ｂの新たな代表ノードであることを表明する通知メッセージ８３２を作成する。そして、各ノードのみが通知メッセージ８３２を読み取れるように、各ノードの公開鍵を用いて通知メッセージ８３２を暗号化する。次に、この通知メッセージ８３２が確かにノードｃ８０により送信されたことを証明するために、秘密鍵ｃを用いて署名をおこなう。以上の処理を実行後、ノードｃ８０は、信頼空間Ａ内の全てのノードに通知メッセージ８３２を送信する（図９を参照）。
【００８０】
次に、ノードｃ３０がアドホックネットワークから離脱した直後の動作について説明する。
【００８１】
ノードｂ７０，ノードｄ９０およびノードｅ１００は、ノードｃ８０から通知された新たな代表ノードであるノードａ６０に対して、新たな信頼空間Ｂを確立するために、自身の公開鍵証明書を送付する（図１０を参照）。図１０では、ノードｂ７０が公開鍵証明書ｂ７１１をノードａ６０に対して送信している。
【００８２】
各ノードから送付された公開鍵証明書を受信したノードａ６０は、第１の実施例のノードｃ３０と同様に、信頼空間Ｂを確立するための公開鍵証明書ａ６１１および秘密鍵ａを生成する。
【００８３】
その後、ノードａ６０は、自身が生成した公開鍵証明書ａ６１１をノードｂ７０，ノードｄ９０およびノードｅ１００に送付し、新たな信頼空間Ｂを確立する（図１１を参照）。
【００８４】
上記説明したように、代表ノードが離脱しても、次期代表ノードを選出して新たな信頼空間を確立するので、継続してノード間で安全なデータ交換が行なえという効果がある。また、新たな信頼情報を基に信頼空間を再構築するので、離脱したノードが離脱後にアドホックネットワークにアクセスして情報を盗み見ることができないという効果もある。
【００８５】
上記では、代表ノードが離脱する場合について説明した。次に、委任ノードが離脱する場合について説明する。
【００８６】
委任ノードは、ネットワークから離脱する場合、代表ノードに離脱通知を送信する。代表ノードは、委任ノードから離脱通知を受信すると、保有する直接通信可能なノードのリストから、その委任ノードを削除する。また、代表ノードは、データを送信した委託ノードから応答がなかった場合、その委託ノードがネットワークから離脱したものと判断し、保有する直接通信可能なノードのリストから、その委任ノードを削除するようにしてもよい。そして、削除された委任ノードは信頼空間から排除される。
【００８７】
本発明による上述した実施の形態において、ノード装置の処理動作を実行するためのプログラム等を、データとしてノード装置の磁気ディスクやＲＯＭ等の記録媒体（図示せず）に記録するようにし、記録されたデータを読み出してノード装置を動作させるために用いる。このように、本発明によるノード装置を動作させるデータを記録媒体に記録させ、この記録媒体をインストールすることによりノード装置の機能が実現できるようになる。
【図面の簡単な説明】
【００８８】
【図１】各ノード間の信頼空間を説明する図
【図２】本発明の実施例の構成を示す図
【図３】ノードａの動作を説明する図
【図４】ノードｃの動作を説明する図
【図５】ノードａの動作を説明する図
【図６】ノードｃの動作を説明する図
【図７】本発明の他の実施例の構成を示す図
【図８】ノードａの動作を説明する図
【図９】ノードｃの動作を説明する図
【図１０】ノードｂの動作を説明する図
【図１１】ノードａの動作を説明する図
【符号の説明】
【００８９】
１０    ノードａ
２０    ノードｂ
３０    ノードｃ
４０    ノードｄ
５０    ノードｅ
６０    ノードａ
７０    ノードｂ
８０    ノードｃ
９０    ノードｄ
１００    ノードｅ
１１１    公開鍵証明書ａ
１２１    データａ
３１１    公開鍵証明書ｃ
３２１    データａ
３２２    データａ
３２３    データａ
６１１    公開鍵証明書ａ
６３１    取得要求メッセージ
７１１    公開鍵証明書ｂ
８３１    離脱通知メッセージ
８３２    通知メッセージ
【図１】
2006033399.tif 000003
【図２】
2006033399.tif 000004
【図３】
2006033399.tif 000005
【図４】
2006033399.tif 000006
【図５】
2006033399.tif 000007
【図６】
2006033399.tif 000008
【図７】
2006033399.tif 000009
【図８】
2006033399.tif 000010
【図９】
2006033399.tif 000011
【図１０】
2006033399.tif 000012
【図１１】
2006033399.tif 000013