(57)【要約】【課題】  相手先ノードに対する信頼度を他ノードから取得することができない場合であっても、相手先ノードが信頼できるノードであるか否かについて判定することができる認証システム、認証方法、及び、これらに用いて好適なノードを提供する。【解決手段】  ノード１０ｂ及びノード１０ｃとネットワークを介して通信可能なノード１０ａが、ノード１０ｂとノード１０ｃとの間で通信が行われた際に、ノード１０ｃによって算出されたノード１０ｂに対する信頼度を、ノード１０ｂに対して要求する通信部１１と、ノード１０ｂから受信したノード１０ｂに対する信頼度に基づいて、ノード１０ｂが信頼できるノードであるか否かについて判定する制御部１３とを具備する。【選択図】  図２
2005260595.tif 000002
【特許請求の範囲】
【請求項１】
第１のノードと第２のノードと第３のノードとが通信可能なネットワークで、前記第１のノードが信頼できるノードであるか否かについて前記第２のノードが判定する認証システムであって、
前記第１のノードは、
前記第３のノードとの間で通信を行った際に、該第３のノードによって算出された前記第１のノードに対する信頼度を、該第３のノードから受信する信頼度受信部と、
前記第２のノードからの要求に応じて、前記第３のノードによって算出された前記第１のノードに対する信頼度を該第２のノードに送信する信頼度送信部とを具備し、
前記第２のノードは、
前記第３のノードによって算出された前記第１のノードに対する信頼度を該第１のノードに要求する信頼度要求部と、
前記第１のノードから受信した該第１のノードに対する信頼度に基づいて、該第１のノードが信頼できるノードであるか否かについて判定する判定部とを具備することを特徴とする認証システム。
【請求項２】
第１のノード及び第２のノードとネットワークを介して通信可能なノードであって、
前記第１のノードとの間で通信を行った際に、該第１のノードによって算出された前記ノードに対する信頼度を、該第１のノードから受信する信頼度受信部と、
前記第２のノードからの要求に応じて、前記第１のノードによって算出された前記ノードに対する信頼度を該第２のノードに送信する信頼度送信部とを具備することを特徴とするノード。
【請求項３】
第１のノード及び第２のノードとネットワークを介して通信可能なノードであって、
前記第１のノードと前記第２のノードとの間で通信が行われた際に、該第１のノードによって算出された該第２のノードに対する信頼度を、該第２のノードに対して要求する信頼度要求部と、
前記第２のノードから受信した該第２のノードに対する信頼度に基づいて、該第２のノードが信頼できるノードであるか否かについて判定する判定部とを具備することを特徴とするノード。
【請求項４】
前記判定部は、前記第１のノードによって前記第２のノードに対する信頼度が算出されてから経過した時間に応じて、該第２のノードに対する信頼度を減少させることを特徴とする請求項３に記載のノード。
【請求項５】
第１のノードと第２のノードと第３のノードとが通信可能なネットワークで、第１のノードが信頼できるノードであるか否かについて第２のノードが判定する認証方法であって、
前記第１のノードが、前記第３のノードとの間で通信を行った際に、該第３のノードによって算出された該第１のノードに対する信頼度を、該第３のノードから受信するステップと、
前記第２のノードが、前記第３のノードによって算出された前記第１のノードに対する信頼度を該第１のノードに対して要求するステップと、
前記第２のノードが、前記第１のノードから受信した該第１のノードに対する信頼度に基づいて、該第１のノードが信頼できるノードであるか否かについて判定するステップとを具備することを特徴とする認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
複数のノードが通信可能なネットワークで、相手先ノードが信頼できるノードであるか否かについて所定のノードが判定する認証システム、認証方法、及び、これらに用いて好適なノードに関する。
【背景技術】
【０００２】
複数のノードが互いに接続されているネットワークにおいて、第１のノードが信頼できるノードであるか否かについて第２のノードが判定する認証方法として、第２のノードが、第３のノードによって算出された第１のノードに対する信頼度を取得し、取得した第１のノードに対する信頼度に基づいて、第１のノードが信頼できるノードであるか否かについて判定する認証方法が知られている（例えば、非特許文献１及び非特許文献２）。
【０００３】
図８は、上述の方法について説明するための図である。図８に示すように、複数のノード（ノード１００ａ〜ノード１００ｆ）は、ネットワーク２００を介して互いに接続されている。
【０００４】
また、各ノードは、相手先ノードとの通信を終了する際に、該通信の内容から該相手先ノードに対する信頼度（実績値）を算出し、算出した相手先ノードに対する信頼度（実績値）を記憶している。すなわち、各ノードは、過去に通信を行ったことがある相手先ノードに対する信頼度（実績値）を記憶している。
【０００５】
例えば、ノード１００ａは、過去に通信を行ったことがあるノード１００ｄ及びノード１００ｆに対する信頼度（実績値）を記憶し、ノード１００ｂは、過去に通信を行ったことがあるノード１００ｃ、ノード１００ｄ及びノード１００ｆに対する信頼度（実績値）を記憶している。同様に、ノード１００ｃ〜ノード１００ｆも、過去に通信を行ったことがある相手先ノードに対する信頼度（実績値）をそれぞれ記憶している。
【０００６】
ここで、ノード１００ａは、ノード１００ｂに対する信頼度（実績値）を記憶していないため、ノード１００ｂが信頼できるノードであるか否かについて判定することができない。従って、ノード１００ａは、ノード１００ｂが信頼できるノードであるか否かについて判定するためには、ノード１００ｂに対する信頼度（推測値）を算出する必要がある。
【０００７】
以下において、ノード１００ａが、ノード１００ｂに対する信頼度（推測値）を算出する方法について説明する。
【０００８】
ノード１００ａは、ノード１００ｃ〜ノード１００ｆに対して、ノード１００ｂに対する信頼度（実績値）を要求する。これに対し、ノード１００ｃ〜ノード１００ｆは、ノード１００ｂに対する信頼度（実績値）を記憶している場合には、ノード１００ｂに対する信頼度（実績値）を、電子署名された証明書に含めてノード１００ａに送信する。図８においては、ノード１００ｃ、ノード１００ｄ及びノード１００ｆは、ノード１００ｂに対する信頼度（実績値）を記憶しているため、ノード１００ｂに対する信頼度（実績値）を、電子署名された証明書に含めてノード１００ａに送信する。
【０００９】
ノード１００ａは、他ノード（ノード１００ｃ、ノード１００ｄ及びノード１００ｆ）のノード１００ｂに対する信頼度（実績値）を含む電子署名された証明書を受信すると、受信した各証明書に含まれる他ノードのノード１００ｂに対する信頼度（ノード１００ｃのノード１００ｂに対する信頼度（実績値）：０．７、ノード１００ｄのノード１００ｂに対する信頼度（実績値）：０．９及びノード１００ｆのノード１００ｂに対する信頼度（実績値）：０．８）と、ノード１００ａの他ノードに対する信頼度（ノード１００ｃに対する信頼度（実績値）：なし、ノード１００ｄに対する信頼度（実績値）：０．８及びノード１００ｆに対する信頼度（実績値）：０．８）とに基づいて、ノード１００ａのノード１００ｂに対する信頼度（推測値）を算出する。なお、ノード１００ａは、ノード１００ａの他ノードに対する信頼度（実績値）が記憶されていない場合には、該他ノードのノード１００ｂに対する信頼度（実績値）を参照しないものとする（すなわち、同図においては、ノード１００ｃのノード１００ｂに対する信頼度（実績値）：０．７は参照されない）。
【００１０】
具体的には、ノード１００ａは、以下に示す計算式によって、ノード１００ａのノード１００ｂに対する信頼度（推測値）を算出する。
【数１】
2005260595.tif 000003
【００１１】
なお、Ｖｔは、自ノード（ノード１００ａ）の相手先ノード（ノード１００ｂ）に対する信頼度（推測値）、Ｖｓは、自ノード（ノード１００ａ）の他ノード（ノード１００ｄ及びノード１００ｆ）に対する信頼度（実績値）、Ｖｎは、他ノード（ノード１００ｄ及びノード１００ｆ）の相手先ノード（ノード１００ｂ）に対する信頼度（実績値）を示している。また、ｎは、相手先ノード（ノード１００ｂ）の信頼度（実績値）を含む電子署名された証明書を送信した他ノード（ノード１００ｃ、ノード１００ｄ及びノード１００ｆ）のうち、自ノードが信頼度（実績値）を記憶している他ノード（ノード１００ｄ及びノード１００ｆ）の数を示している。
【００１２】
従って、ノード１００ａのノード１００ｂに対する信頼度（Ｖｔ）は、１／２×｛（０．８×０．９）＋（０．８×０．７）｝＝０．６４となる。
【００１３】
また、ノード１００ａは、算出されたノード１００ｂに対する信頼度（推測値）が所定の値（例えば、０．５）以上である場合には、ノード１００ｂが信頼できるノードであると判定（認証）する。
【００１４】
上述したように、所定のノードは、信頼度（実績値）が記憶されていない相手先ノードと通信を行う際に、該相手先ノードに対する信頼度（実績値）を他ノード（相手先以外のノード）から取得することによって、相手先ノードの信頼度（推測値）を算出し、算出された信頼度（推測値）に基づいて相手先ノードが信頼できるノードであるか否かについて判定することができる。
【非特許文献１】Rita  Chen,  William  Yeager、“Poblano-A  Distributed  Trust  Model  for  Peer-to-Peer  Networks”、[on  line]、平成14年1月、Project  JXTA、[平成16年3月1日検索]、インターネット<Url: http://www.jxta.org/project/www/white_papers.html>
【非特許文献２】S.  Kamvar,  M.  Schlosser,  H. Garcia-Molina、“The Eigen-Trust Algorithm for Reputation Management in P2P Networks”、World  Wide  Web  Conference  2003、平成15年3月20日
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、上述の方法においては、所定のノードが、信頼度（実績値）が記憶されていない相手先ノードと通信を行う際に、該相手先ノードに対する信頼度（実績値）を他ノードから取得することによって、相手先ノードの信頼度（推測値）を算出しているため、該相手先ノードに対する信頼度（実績値）を他ノードから取得することができない場合（例えば、所定のノードと相手先ノードとの間で１対１の通信を行う場合）に、該相手先ノードが信頼できるノードであるか否かについて判定することができないという問題があった。
【００１６】
そこで、本発明は、上述の問題を解決するためになされたものであり、相手先ノードに対する信頼度を他ノードから取得することができない場合であっても、相手先ノードが信頼できるノードであるか否かについて判定することができる認証システム、認証方法、及び、これらに用いて好適なノードを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の第１の特徴は、第１のノードと第２のノードと第３のノードとが通信可能なネットワークで、第１のノードが信頼できるノードであるか否かについて第２のノードが判定する認証システムにおいて、第１のノードが、第３のノードとの間で通信を行った際に、該第３のノードによって算出された第１のノードに対する信頼度を、該第３のノードから受信する信頼度受信部と、第２のノードからの要求に応じて、第３のノードによって算出された第１のノードに対する信頼度を該第２のノードに送信する信頼度送信部とを具備し、第２のノードが、第３のノードによって算出された第１のノードに対する信頼度を第１のノードに要求する信頼度要求部と、第１のノードから受信した該第１のノードに対する信頼度に基づいて、該第１のノードが信頼できるノードであるか否かについて判定する判定部とを具備することを要旨とする。
【００１８】
かかる特徴によれば、第２のノードが、第３のノードによって算出された第１のノードに対する信頼度を該第１のノードから受信することにより、第１のノード（相手先ノード）に対する信頼度を第３のノード（他ノード）から取得することができない場合であっても、第２のノードは、第１のノードが信頼できるノードであるか否かについて判定することができる。
【００１９】
本発明の第２の特徴は、第１のノード及び第２のノードとネットワークを介して通信可能なノードが、第１のノードとの間で通信を行った際に、該第１のノードによって算出されたノードに対する信頼度を、該第１のノードから受信する信頼度受信部と、第２のノードからの要求に応じて、第１のノードによって算出されたノードに対する信頼度を該第２のノードに送信する信頼度送信部とを具備することを要旨とする。
【００２０】
本発明の第３の特徴は、第１のノード及び第２のノードとネットワークを介して通信可能なノードが、第１のノードと第２のノードとの間で通信が行われた際に、該第１のノードによって算出された該第２のノードに対する信頼度を、該第２のノードに対して要求する信頼度要求部と、第２のノードから受信した該第２のノードに対する信頼度に基づいて、該第２のノードが信頼できるノードであるか否かについて判定する判定部とを具備することを要旨とする。
【００２１】
本発明の第３の特徴において、判定部が、第１のノードによって第２のノードに対する信頼度が算出されてから経過した時間に応じて、該第２のノードに対する信頼度を減少させることが好ましい。
【００２２】
本発明の第４の特徴は、第１のノードと第２のノードと第３のノードとが通信可能なネットワークで、第１のノードが信頼できるノードであるか否かについて第２のノードが判定する認証方法が、第１のノードが、第３のノードとの間で通信を行った際に、該第３のノードによって算出された該第１のノードに対する信頼度を、該第３のノードから受信するステップと、第２のノードが、第３のノードによって算出された第１のノードに対する信頼度を第１のノードに対して要求するステップと、第２のノードが、第１のノードから受信した該第１のノードに対する信頼度に基づいて、該第１のノードが信頼できるノードであるか否かについて判定するステップとを具備することを要旨とする。
【発明の効果】
【００２３】
本発明によれば、相手先ノードに対する信頼度を他ノードから取得することができない場合であっても、相手先ノードが信頼できるノードであるか否かについて判定することができる認証システム、認証方法、及び、これらに用いて好適なノードを提供する
【発明を実施するための最良の形態】
【００２４】
（本発明の一実施形態に係るノードの構成）
以下、本発明の一実施形態に係るノードについて、図面を参照しながら説明する。図１は、本発明の一実施形態に係るノードが適用される環境について示す図である。
【００２５】
図１に示すように、複数のノード（ノード１０ａ〜ノード１０ｆ）は、ネットワーク２０を介して互いに接続されている。なお、ノードとは、パーソナルコンピュータや携帯電話等の端末、ルータやブリッジ等のネットワーク機器などである。また、ネットワーク２０とは、パケット通信網、交換回線網、近距離無線通信網（ブルートゥース網等）などである。
【００２６】
ここで、ノード１０ａ〜ノード１０ｆは、いずれも同様の構成を有するため、以下、ノード１０ａを例に説明する。また、ノード１０ａ及びノード１０ｂは、ノード１０ｃ〜ノード１０ｆとの間で過去に通信を行ったことがあり、ノード１０ａは、ノード１０ｂとの間で通信を行ったことがない（初めて通信を行う）ものとして説明する。
【００２７】
図２は、本発明の一実施形態に係るノード１０ａの構成について示す図である。図２に示すように、ノード１０ａは、通信部１１と、信頼度算出部１２と、制御部１３と、信頼度記憶部１４とによって構成されている。
【００２８】
通信部１１は、ネットワーク２０を介して接続された相手先ノード（ノード１０ｂ〜ノード１０ｆ）との間で行われる通信のインターフェースである。
【００２９】
なお、本実施形態において、通信部１１は、ノード１０ｃ〜ノード１０ｆとの間で通信を行った際に、該ノード１０ｃ〜ノード１０ｆによって算出されたノード１０ａに対する信頼度（該信頼度を含む証明書）を、ノード１０ｃ〜ノード１０ｆから受信する信頼度受信部と、ノード１０ｂからの要求に応じて、ノード１０ｃ〜ノード１０ｆによって算出されたノード１０ａに対する信頼度（該信頼度を含む証明書）をノード１０ｂに送信する信頼度送信部とを構成する。
【００３０】
また、本実施形態において、通信部１１は、ノード１０ｃ〜ノード１０ｆによって算出されたノード１０ｂに対する信頼度（該信頼度を含む証明書）をノード１０ｂに要求する信頼度要求部を構成する。
【００３１】
信頼度算出部１２は、相手先ノードとの間で行われる通信を開始する際、及び、相手先ノードとの間で行われる通信を終了する際に、該相手先ノードに対する信頼度を算出する。
【００３２】
具体的には、信頼度算出部１２は、ノード１０ｂとの間で初めて行われる通信を開始する場合には、他ノード（ノード１０ｃ〜ノード１０ｆ）によって算出されたノード１０ｂに対する信頼度（実績値）をそれぞれ含む複数の証明書を、ノード１０ｂに対して要求する（証明書要求をノード１０ｂに送信する）。また、信頼度算出部１２は、ネットワーク２０を介してノード１０ｂから受信した各証明書を参照して、以下の計算式に従って、ノード１０ｂに対する信頼度（推測値）を算出する。
【数２】
2005260595.tif 000004
【００３３】
ここで、Ｖｓ→ｔは、自ノード（ノード１０ａ）の相手先ノード（ノード１０ｂ）に対する信頼度（推測値）、Ｖｓ→ｎは、自ノード（ノード１０ａ）の他ノード（ノード１０ｃ〜ノード１０ｆ）に対する信頼度（実績値）、Ｖｎ→ｔは、他ノード（ノード１０ｃ〜ノード１０ｆ）の相手先ノード（ノード１０ｂ）に対する信頼度（実績値）を示している。
【００３４】
また、ｎは、相手先ノード（ノード１０ｂ）に対する信頼度（実績値）が含まれた証明書を生成した他ノードのうち、自ノード（ノード１０ａ）が信頼度（実績値）を有する他ノードの数を示している。すなわち、本実施例において、相手先ノード（ノード１０ｂ）に対する信頼度が含まれた証明書を生成した他ノードは、相手先ノード（ノード１０ｂ）との間で通信を過去に行ったことがあるノード１０ｃ〜ノード１０ｆであり、自ノード（ノード１０ａ）が信頼度を有する他ノードは、自ノード（ノード１０ａ）との間で通信を過去に行ったことがあるノード１０ｃ〜ノード１０ｆであるため、ｎ＝４となる。
【００３５】
さらに、ｔｎは、相手先ノード（ノード１０ｂ）に対する信頼度（実績値）を含む証明書を他ノードが生成してから経過した時間を示し、Ｆ（ｔｎ）は、ｔｎの値に対する減少関数を示している。
【００３６】
なお、Ｆ（ｔｎ）としては、ｔｎの値に比例してＦ（ｔｎ）の値が減少する関数や生存時間解析で用いられるワイブル分布を用いた関数など、様々な関数を挙げることができる。また、ノード１０ｂに対する信頼度（推測値）を算出するための計算式は、上述した計算式に限定されるものではない。
【００３７】
ここで、Ｖｓ→ｎ、Ｖｎ→ｔ、ｔｎ及びＦ（ｔｎ）の値（又は、式）として、以下に示す値（又は、式）が与えられている場合に、ノード１０ｂに対する信頼度（Ｖｓ→ｔ）を算出する方法について示す。
【００３８】
Ｖｓ→ｎの値としては、ノード１０ａのノード１０ｃに対する信頼度（実績値）＝０．６、ノード１０ａのノード１０ｄに対する信頼度（実績値）＝０．７、ノード１０ａのノード１０ｅに対する信頼度（実績値）＝０．８、ノード１０ａのノード１０ｆに対する信頼度（実績値）＝０．７が与えられている。また、Ｖｎ→ｔの値としては、ノード１０ｃのノード１０ｂに対する信頼度（実績値）＝０．８、ノード１０ｄのノード１０ｂに対する信頼度（実績値）＝０．９、ノード１０ｅのノード１０ｂに対する信頼度（実績値）＝０．８、ノード１０ｆのノード１０ｂに対する信頼度（実績値）＝０．８が与えられている。
【００３９】
ｔｎの値としては、証明書をノード１０ｃが生成してから経過した時間＝１０ｈ、証明書をノード１０ｄが生成してから経過した時間＝２０ｈ、証明書をノード１０ｅが生成してから経過した時間＝１０ｈ、証明書をノード１０ｆが生成してから経過した時間＝２０ｈが与えられている。また、Ｆ（ｔｎ）としては、Ｆ（ｔｎ）＝１−（ｔｎ／５００）が与えられている。
【００４０】
このとき、ノード１０ｂに対する信頼度（Ｖｓ→ｔ）は、１／４×｛（０．６×０．８×０．９８）＋（０．７×０．９×０．９６）＋（０．８×０．８×０．９８）＋（０．７×０．８×０．９６）＝０．５６となる。
【００４１】
信頼度算出部１２は、ノード１０ｂとの間で行われる通信を終了する際に、制御部１３によって通知された評価ルールを参照し、ノード１０ｂとの間で行われた通信の内容に基づいて、ノード１０ｂに対する信頼度（実績値）を算出する。
【００４２】
なお、評価ルールとは、相手先ノード（ノード１０ｂ）から受信したデータに対するユーザの評価、自ノード（ノード１０ａ）と相手先ノード（ノード１０ｂ）との間における伝送速度、自ノード（ノード１０ｂ）と相手先ノード（ノード１０ｂ）との間における通信距離（ホップ数等）などを評価するためのルールである。
【００４３】
制御部１３は、ノード１０ｂとの間で行われる通信を開始する際に、信頼度算出部１２によって算出されたノード１０ｂに対する信頼度（推測値）に基づいて、ノード１０ｂが信頼できるノードであるか否かについて判定する。
【００４４】
具体的には、制御部１３は、ノード１０ｂに対する信頼度（推測値）が所定の値（例えば、０．５）以上であれば、ノード１０ｂが信頼できるノードであるものと判定（認証）する。例えば、上述の例では、信頼度算出部１２によって算出されたノード１０ｂに対する信頼度（推測値）が０．５６であるため、制御部１３は、ノード１０ｂが信頼できるノードであるものと判定（認証）する。
【００４５】
なお、本実施形態において、信頼度算出部１２及び制御部１３は、ノード１０ｂから受信したノード１０ｂに対する信頼度（該信頼度を含む証明書）に基づいて、ノード１０ｂが信頼できるノードであるか否かについて判定する判定部を構成する。
【００４６】
また、制御部１３は、ノード１０ｂとの間で行われる通信を終了する際に、該通信の内容に基づいて、ノード１０ｂに対する信頼度（実績値）を算出するための評価ルールを信頼度算出部１２に通知する。
【００４７】
制御部１３は、信頼度算出部１２によって算出されたノード１０ｂに対する信頼度（実績値）を信頼度算出部１２から取得する。また、制御部１３は、取得したノード１０ｂに対する信頼度（実績値）を信頼度記憶部１４に記憶するとともに、取得したノード１０ｂに対する信頼度（実績値）を含む証明書を生成する。
【００４８】
具体的には、以下に示す通りである。図３は、本発明の一実施形態に係る証明書の一例を示す図である。
【００４９】
図３に示すように、制御部１３は、証明書を生成したノード（ノード１０ａ）のＩＤと、証明書を生成した日時と、相手先ノード（ノード１０ｂ）のＩＤと、相手先ノード（ノード１０ｂ）用の公開鍵と、相手先ノード（ノード１０ｂ）に対する信頼度（実績値）とに、電子署名を付して証明書を生成する。
【００５０】
なお、電子署名の方法は、ＭＤ（Message  Digest）や公開鍵暗号方式等を用いた既存の方法であり、証明書の内容が改ざんされることを防止するための方法である。また、証明書には、上述した情報以外の情報が含まれていてもよい。
【００５１】
信頼度記憶部１４は、他ノードとの間で通信を行った際に、自ノードによって算出された他ノードに対する信頼度（実績値）と、該他ノードによって算出された自ノードに対する信頼度（実績値）を含む証明書とを記憶している。
【００５２】
具体的には、以下に示す通りである。図４は、本発明の一実施形態に係る信頼度記憶部１４に記憶された内容を示す図である。
【００５３】
図４に示すように、信頼度記憶部１４は、他ノードの名称（又は、ＩＤ）と、自ノード（ノード１０ａ）の他ノード（ノード１０ｃ〜ノード１０ｆ）に対する信頼度（実績値）と、他ノード（ノード１０ｃ〜ノード１０ｆ）の自ノード（ノード１０ａ）に対する信頼度（実績値）を含む証明書とを関連付けて記憶している。
【００５４】
ここで、自ノード（ノード１０ａ）の他ノード（ノード１０ｃ〜ノード１０ｆ）に対する信頼度（実績値）は、他ノード（ノード１０ｃ〜ノード１０ｆ）との間でそれぞれ行われた通信を終了する際に、該通信の内容に基づいて、自ノード（ノード１０ａ）によって算出された信頼度（実績値）である。
【００５５】
また、他ノード（ノード１０ｃ〜ノード１０ｆ）の自ノード（ノード１０ａ）に対する信頼度（実績値）は、他ノード（ノード１０ｃ〜ノード１０ｆ）との間でそれぞれ行われた通信を終了する際に、該通信の内容に基づいて、他ノード（ノード１０ｃ〜ノード１０ｆ）によって算出された信頼度（実績値）である。
【００５６】
また、証明書には、上述したように、証明書を生成したノード（例えば、ノード１０ｃ）のＩＤと、証明書を生成した日時と、（該ノードにとっての）相手先ノード（ノード１０ａ）のＩＤと、（該ノードにとっての）相手先ノード（ノード１０ａ）用の公開鍵と、（該ノードにとっての）相手先ノード（ノード１０ａ）に対する信頼度（実績値）とが含まれている。
【００５７】
（本発明の一実施形態に係るノードの動作）
以下、本発明の一実施形態に係るノードの動作について、図面を参照しながら説明する。図５は、本発明の一実施形態に係るノードの動作（自ノードと相手先ノードとの間で行われる通信を開始するまでの動作）を示すシーケンス図である。
【００５８】
なお、以下においては、自ノード（ノード１０ａ）及び相手先ノード（ノード１０ｂ）は、他ノード（ノード１０ｃ〜ノード１０ｆ）との間で過去に通信を行ったことがあり、自ノード（ノード１０ａ）は、相手先ノード（ノード１０ｂ）との間で初めて通信を行うものとして説明する。
【００５９】
図５に示すように、ステップ１００において、ノード１０ａは、他ノード（ノード１０ｃ〜ノード１０ｆ）によって算出されたノード１０ｂに対する信頼度（実績値）をそれぞれ含む複数の証明書を要求するための証明書要求をノード１０ｂに送信し、ステップ１０１において、ノード１０ｂは、該証明書要求を受信する。
【００６０】
ステップ１０２において、ノード１０ｂは、ノード１０ｂに記憶されている複数の証明書をノード１０ａに送信するとともに、他ノード（ノード１０ｃ〜ノード１０ｆ）によって算出されたノード１０ａに対する信頼度（実績値）をそれぞれ含む複数の証明書を要求するための証明書要求をノード１０ａに送信する。
【００６１】
ステップ１０３において、ノード１０ａは、ノード１０ｂに対する信頼度（実績値）を含む複数の証明書及び証明書要求をノード１０ｂから受信するとともに、ノード１０ａに記憶されている複数の証明書をノード１０ｂに送信する。
【００６２】
ステップ１０４において、ノード１０ｂは、ノード１０ａから複数の証明書を受信する。
【００６３】
ステップ１０５において、ノード１０ａは、受信した複数の証明書を参照して、上述した計算式に従って、ノード１０ｂに対する信頼度（推測値）を算出する。
【００６４】
ステップ１０６において、ノード１０ａは、算出したノード１０ｂに対する信頼度（推測値）に基づいて、ノード１０ｂが信頼できるノードであるか否かについて判定する。具体的には、ノード１０ａは、算出したノード１０ｂに対する信頼度（推測値）が所定の値以上である場合に、ノード１０ｂが信頼できるノードであると判定（認証）する。また、ノード１０ａは、ノード１０ｂが信頼できるノードであるか否かを示す判定結果をノード１０ｂに送信する。
【００６５】
スタップ１０７において、ノード１０ｂは、ノード１０ａから判定結果を受信する。
【００６６】
スタップ１０８において、ノード１０ｂは、受信した各証明書を参照して、上述した計算式に従って、ノード１０ａに対する信頼度（推測値）を算出する。
【００６７】
スタップ１０９において、ノード１０ｂは、算出したノード１０ａに対する信頼度（推測値）に基づいて、ノード１０ａが信頼できるノードであるか否かについて判定する。具体的には、ノード１０ｂは、算出したノード１０ａに対する信頼度（推測値）が所定の値以上である場合に、ノード１０ａが信頼できるノードであると判定（認証）する。また、ノード１０ｂは、ノード１０ａが信頼できるノードであるか否かを示す判定結果をノード１０ａに送信する。
【００６８】
スタップ１１０において、ノード１０ａは、ノード１０ｂから判定結果を受信する。
【００６９】
スタップ１１１ａにおいて、ノード１０ａは、ステップ１０６での判定結果が、ノード１０ｂが信頼できるノードであると判定（認証）するものであり、ステップ１１０で受信した判定結果が、ノード１０ａが信頼できるノードであると判定（認証）するものである場合には、ノード１０ｂとの通信を開始する。また、同様に、ステップ１１１ｂにおいて、ノード１０ｂは、ステップ１０７で受信した判定結果が、ノード１０ｂが信頼できるノードであると判定（認証）するものであり、ステップ１０８での判定結果が、ノード１０ａが信頼できるノードであると判定（認証）するものである場合には、ノード１０ａとの通信を開始する。
【００７０】
上述したように、ノード１０ａ及びノード１０ｂは、相手先ノードに対する信頼度（実績値）を含む証明書を交換するとともに、該証明書を参照して、相手先ノードに対する信頼度（推測値）を算出し、該相手先ノードが信頼できるノードであるか否かについて判定する。
【００７１】
図６及び図７は、本発明の一実施形態に係るノードの動作（自ノードと相手先ノードとの間で行われた通信を終了する際の動作）を示すシーケンス図である。
【００７２】
図６に示すように、ステップ１２０において、ノード１０ａは、ノード１０ｂによって算出されたノード１０ａに対する信頼度（実績値）を含む証明書を要求するための証明書要求を、ノード１０ｂに送信する。ステップ１２１において、ノード１０ｂは、ノード１０ａから証明書要求を受信する。
【００７３】
ステップ１２２において、ノード１０ｂは、ノード１０ａとノード１０ｂとの間で行われた通信の内容に基づいて、ノード１０ａに対する信頼度（実績値）を算出する。また、ノード１０ｂは、算出したノード１０ａに対する信頼度（実績値）を記憶するとともに、算出したノード１０ａに対する信頼度（実績値）を含む証明書を生成する（証明書生成処理）。なお、証明書生成処理の詳細については後述する（図７参照）。
【００７４】
ステップ１２３において、ノード１０ｂは、ノード１０ａに対する信頼度（実績値）を含む証明書をノード１０ａに送信するとともに、ノード１０ａによって算出されたノード１０ｂに対する信頼度（実績値）を含む証明書を要求するための証明書要求をノード１０ａに送信する。
【００７５】
ステップ１２４において、ノード１０ａは、証明書要求及びノード１０ｂによって生成された証明書をノード１０ｂから受信する。
【００７６】
ステップ１２５において、ノード１０ａは、ノード１０ｂから受信した証明書を記憶する。
【００７７】
ステップ１２６において、ノード１０ａは、ノード１０ａとノード１０ｂとの間で行われた通信の内容に基づいて、ノード１０ｂに対する信頼度（実績値）を算出する。また、ノード１０ａは、算出したノード１０ｂに対する信頼度（実績値）を記憶するとともに、算出したノード１０ｂに対する信頼度（実績値）を含む証明書を生成する（証明書生成処理）。なお、証明書生成処理の詳細については後述する（図７参照）。
【００７８】
ステップ１２７において、ノード１０ａは、ノード１０ｂに対する信頼度（実績値）を含む証明書をノード１０ｂに送信する。
【００７９】
ステップ１２８において、ノード１０ｂは、ノード１０ａによって生成された証明書をノード１０ａから受信する。また、ステップ１２９において、ノード１０ｂは、ノード１０ａから受信した証明書を記憶する。
【００８０】
上述したように、ノード１０ａ及びノード１０ｂは、ノード１０ａとノード１０ｂとの間で行われる通信が終了する際に、相手先ノードに対する信頼度（実績値）を記憶するとともに、該相手先ノードに対する信頼度（実績値）を含む証明書を交換する。
【００８１】
なお、本実施形態において、ノード１０ａ及びノード１０ｂは、相手先ノードから受信した証明書要求に応じて、相手先ノードに対する信頼度（実績値）を含む証明書を送信するように構成されているが、これに限定されるものではなく、自ノードと相手先ノードとの間で行われる通信を終了する際に、相手先ノードに対する信頼度（実績値）を含む証明書を自動的に送信するように構成されていてもよい。
【００８２】
以下において、上述した証明書生成処理（ステップ１２２及びステップ１２６）について説明する。なお、ステップ１２２及びステップ１２６における処理は、同様の処理であるため、以下においては、ノード１０ｂに対する信頼度を含む証明書をノード１０ａが生成する場合（ステップ１２６における処理）を例に説明する。
【００８３】
図７に示すように、ステップ２００において、ノード１０ａの制御部１３は、信頼度算出部１２に対して、評価ルールを通知する。なお、評価ルールとは、ノード１０ｂから受信したデータに対するユーザの評価、ノード１０ａとノード１０ｂとの間における伝送速度、ノード１０ａとノード１０ｂとの間における通信距離（ホップ数等）などを評価するためのルールである。
【００８４】
ステップ２０１において、ノード１０ａの信頼度算出部１２は、通知された評価ルールを参照し、ノード１０ｂとの間で行われた通信の内容に基づいて、ノード１０ｂに対する信頼度（実績値）を算出する。
【００８５】
ステップ２０２において、ノード１０ａの信頼度算出部１２は、算出したノード１０ｂに対する信頼度（実績値）を信頼度記憶部１４に記憶する。
【００８６】
ステップ２０３において、ノード１０ａの制御部１３は、ノード１０ｂに対する信頼度（実績値）を含む証明書を生成する。具体的には、ノード１０ａの制御部１３は、ノード１０ａのＩＤと、証明書を生成した日時と、ノード１０ｂのＩＤと、ノード１０ｂ用の公開鍵と、ノード１０ｂに対する信頼度（実績値）とに、電子署名を付して証明書を生成する。
【００８７】
（本発明の一実施形態に係るノードの作用及び効果）
ノード１０ａが、ノード１０ｃ〜ノード１０ｆによって算出されたノード１０ｂに対する信頼度（実績値）をそれぞれ含む複数の証明書をノード１０ｂから受信し、受信した複数の証明書（ノード１０ｂに対する信頼度（実績値）や証明書が生成されてから経過した時間）に基づいて、ノード１０ｂに対する信頼度（推測値）を算出することにより、ノード１０ｂに対する信頼度（実績値）をノード１０ｃ〜ノード１０ｆから取得することができない場合（例えば、ノード１０ａとノード１０ｂとの間で１対１の通信が行われる場合）であっても、ノード１０ａは、ノード１０ｂが信頼できるノードであるか否かについて判定することができる。
【００８８】
また、ノード１０ａは、各証明書に含まれるノード１０ｂに対する信頼度（実績値）を、該証明書が生成されてから経過した時間に応じて減少させることにより、ノード１０ｂに対する信頼度（推測値）を算出する際に、ノード１０ｂに対する新しい信頼度（実績値）を、ノード１０ｂに対する古い信頼度（実績値）に優先して用いることができる。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施形態に係るノードが適用される環境について示す図である。
【図２】本発明の一実施形態に係るノードの構成を示すブロック図である。
【図３】本発明の一実施形態に係る証明書の一例を示す図である。
【図４】本発明の一実施形態に係る信頼度記憶部１４に記憶されている内容を示す図である。
【図５】本発明の一実施形態に係るノードの動作を示す図である（その１）。
【図６】本発明の一実施形態に係るノードの動作を示す図である（その２）。
【図７】本発明の一実施形態に係るノードの動作を示す図である（その３）。
【図８】相手先ノードが信頼できるノードであるか否かについて所定のノードが判定する従来技術について説明するための図である。
【符号の説明】
【００９０】
１０ａ〜１０ｆ・・・ノード、１１・・・通信部、１２・・・信頼度算出部、１３・・・制御部、１４・・・信頼度記憶部、２０・・・ネットワーク、１００ａ〜１００ｆ・・・ノード、２００・・・ネットワーク
【図１】
2005260595.tif 000005
【図２】
2005260595.tif 000006
【図３】
2005260595.tif 000007
【図４】
2005260595.tif 000008
【図５】
2005260595.tif 000009
【図６】
2005260595.tif 000010
【図７】
2005260595.tif 000011
【図８】
2005260595.tif 000012