分散認証アクセス制御システム
【課題】 サービス要求ノードがサービス提供ノードからサービスを受ける際に、効率的に認可証明書の収受を可能とするシステムを提供する。
【解決手段】 同一のサービスを提供する、複数のサービス提供ノード15〜17と、証明書発行サーバ10の認可証明書発行部11間で、共通の秘密鍵を共有し、サービス要求ノード14から送信された認可証明書を受信した、サービス提供ノード15〜17が、受信した認可証明書を自身のノードに保持を行う。サービス要求ノード14が、認証子をサービス提供ノードに通知すると、認証子に含まれるサービス要求ノード14の通信識別子を用いて周囲のノードに、該当する旨を送信してきたノードに対して、該当の認可証明書を送信することで、サービス要求ノード14の認可を行う。
【解決手段】 同一のサービスを提供する、複数のサービス提供ノード15〜17と、証明書発行サーバ10の認可証明書発行部11間で、共通の秘密鍵を共有し、サービス要求ノード14から送信された認可証明書を受信した、サービス提供ノード15〜17が、受信した認可証明書を自身のノードに保持を行う。サービス要求ノード14が、認証子をサービス提供ノードに通知すると、認証子に含まれるサービス要求ノード14の通信識別子を用いて周囲のノードに、該当する旨を送信してきたノードに対して、該当の認可証明書を送信することで、サービス要求ノード14の認可を行う。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数のノードが互いに隣接するノードとの間に確立する接続に基づいて構成されるネットワークにおいて、認可証明書を探索し、取得して、利用する分散認証アクセス制御システムに関するものである。
【背景技術】
【0002】
従来の分散認証方式、分散アクセス制御方式として、非特許文献1に開示された分散認証方式、分散アクセス制御方式がある。この方式では、サービスを利用するノード、証明書発行サーバに認証許可書を要求し、ノードは、取得した認証許可書と利用したいサービスを証明書発行サーバに提示することで、任意のサービス利用のための認可許可書が発行される。すなわち、取得した認可許可書をサービスを提供するノードに提示することで、目的のサービスを受ける方式である。また、暗号通信を行う装置間で通信回数と処理時間で、相互認証を行う方法(特許文献1参照)や、単一のサーバに設定された複数のサービス提供者の正当性をクライアント端末において認証可能なサービス認証方法(特許文献2参照)が提案されている。
【0003】
上述した従来の分散認証方式の一例について、図12を参照して説明する。
同図において、証明書発行サーバ100は、認証証明書発行部101、認可証明書発行部102、共有秘密鍵保持部103を持つ。サービスを利用するノードをノードA104とし、サービスを提供するノードをノードB105〜ノードD107とする。なお、以下の説明において、ノードA104のIDを「Ca」、認可証明書発行部IDを「tgs」、ノードの認証子を「Ac」、ノードと認可証明書発行部との一時利用鍵を「Kc:tgs」、ノードが許可証明書発行部の利用許可を明記した認証証明書を[Tc:tgs]、認可証明書発行部の共有秘密鍵を[Ktgs]、ノードAの共有秘密鍵を[Kc]、サービス名を[s]、ノードとサービスを提供するノードとの一時利用鍵を[Kc:s]、ノードが他のノードのサービス利用許可を明記した認可証明書を[Tc:s]、サービスを提供するノードの共有秘密鍵を[Ks]とする。
【0004】
まず、ステップS1201において、ノードA104は、認証証明書発行部101、自身の名称(Ca)及び利用する認可証明書発行部の名称(tgs)を提示する。
この時、同時にパスワード認証等、既存の認証方式を利用し、認証証明書発行部101は、ノードA104を認証し、共有秘密鍵保持部からノードA104と認証証明書発行部101間で利用する共有秘密鍵(Kc)、及び認証証明書発行部101と認可証明書発行部102との間で利用する共有秘密鍵(Ktgs)を取得する。
【0005】
次に、ステップS1202において、認証証明書発行部101は、ノードA104と認可証明書発行部の名称(tgs)により指定された認可証明書発行部101との間で利用する共有秘密鍵(Kc:tgs)を共有秘密鍵Kcで暗号化したものと、認証証明書発行部101により明記された、ノードA104が認可証明書発行部102への利用認可情報(Tc:tgs)を、共有秘密鍵(Ktgs)で暗号化した認証証明書({Tc:tgs}Ktgs)を、ノードA104に送信する。
【0006】
次に、ステップS1203において、ノードA104は、認可証明書発行部102へ、新たな送信情報であることを保障するためのノード名と、現在時刻から作成されたノードの認証子(Ac)とを、共有秘密鍵(Kc:tgs)で暗号化したものと、認証証明書発行部101により発行された自身の認証証明書({Tc:tgs}Ktgs)と、利用したいサービス名(s)とを送信する。
【0007】
次に、ステップS1204において、認可証明書発行部102は、認証証明書発行部101により発行されたノードA104の認証証明書({Tc:tgs}Ktgs)から、ノードA104が正しく認証されていると判断し、ノードA104とサービスを提供するノードB105〜ノードD107間で利用する共有秘密鍵(Kc:s)とを、共有秘密鍵(Kc:tgs)で暗号化したものと、ノードA104のサービス(s)に対する利用認可情報(Tc:s)を、認可証明書発行部102とサービスを提供するノードB105〜ノードD107間で利用する共有秘密鍵(Ks)で暗号化した認可証明書({Tc:s}Ks)とを、ノードA104へ送信する。
【0008】
次に、ステップS1205において、ノードA104は、サービスを提供するノードB105へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子(Ac)を、共有秘密鍵(Kc:s)で暗号化したものと、認可証明書発行部102により発行された自身の認可証明書({Tc:s}Ks)を送信する。
そして、ステップS1206において、最終的に、ノードB105は、認可証明書発行部102により発行されたノードA104の認可証明書({Tc:s}Ks)から、ノードA104が正しく認可されていると判断し、ノードA104に対して、許可内容に応じたサービスを提供する。
【0009】
【特許文献1】特開2002−330125号公報
【特許文献2】特開2003−150049号公報
【非特許文献1】Kerberos:The Network Authentication Protocol「http://web.mit.edu/kerberos/www/」
【発明の開示】
【発明が解決しようとする課題】
【0010】
上述した従来例では、各サービス提供ノードに対して、サービス要求ノードがサービスを要求する場合、その都度,認証子及び認可証明書を提示する必要があるため、通信コストがかかるという問題があった。
また、サービス要求ノードは、サービスを受ける際、各サービスに対応した認可証明書を保持しておかなければならず、多くのサービスを要求する必要がある場合に、その全ての認可証明書を保持することは困難である。
【0011】
また、サービス要求ノードが、各サービスを受ける直前に、証明書発行サーバから、認可証明書を発行してもらい、サービスを要求することもできるが、その場合、何度も証明書を取得しなければならず、通信コスト、証明書発行の処理コストがかかるという問題があった。
さらに、サービス提供ノードは、通信効率化のために各サービス要求ノードに対応した認可証明書を保持するようにすることもできるが、多くのサービス要求ノードが存在する場合は、その全ての認可証明書を保持することは困難であるという問題があった。
この発明は、上記事情を鑑みてなされたもので、サービス要求ノードが、サービス提供ノードからサービスを受ける際に、効率的良く認可証明書を収受できる分散認証アクセス制御システムを提供することを目的としている。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明の請求項1記載の分散認証アクセス制御システムは、複数のノードがそれぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク上で、前記ノードを認証し認証証明書を発行し当該ノードが要求するサービスの認可証明書を発行する認可証明書発行部とを有する証明書発行サーバと、当該認可証明書により認可されたサービスを提供するサービス提供ノードと、前記証明書発行サーバから認可証明書を取得し、前記サービス提供ノードにサービスを要求するサービス要求ノードとからなる分散認証アクセス制御システムにおいて、前記証明書発行サーバと同一サービスを提供する複数の前記サービス提供ノードは、互いに秘密鍵を共有するための秘密鍵保持手段を備え、当該秘密鍵を共有する際に、公開鍵暗号方式を用いて秘密鍵を暗号化することによって当該秘密鍵を共有する。
【0013】
この構成によれば、同一のサービスを提供する複数のサービス提供ノードと、証明書発行サーバの認可証明書発行部間で、共通の秘密鍵を共有するので、同一のサービスを提供する複数のサービス提供ノードに対して、同一の認可証明書を発行することが可能となり、従って、ノード毎に認可証明書を用意し、提示する必要がなくなる。また、同一のサービスを提供する複数のサービス提供ノードと、証明書発行サーバの認可証明書発行部間で、公開鍵暗号方式を用いてセキュアに共通の秘密鍵を共有するので、同一のサービスを提供する複数のサービス提供ノードに対して、同一の秘密鍵を分配することが容易になる。従って、ノード毎に秘密鍵を配る手間がなくなる。
【0014】
また、請求項2記載の発明は、請求項1に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス要求ノードより受信した一つまたは複数の認可証明書を保持する。
この構成によれば、サービス要求ノードから送信された認可証明書を受信したサービス提供ノードが、受信した認可証明書を自身のノードに保持できるので、再度、サービス要求ノードからの送信の必要なく、必要に応じて保持している認可証明書を利用することが可能となる。従って、認可証明書の取得のコストを引き下げることができる。
【0015】
また、請求項3記載の発明は、請求項1又は2に記載の分散認証アクセス制御システムにおいて、前記サービス要求ノードは、前記証明書発行サーバから当該認可証明書を受け取ると、前記サービス提供ノードに、自身のノード識別子および現在時刻情報を含む認証子と、前記認可証明書とを通知するか、あるいは、前記認証子のみを通知する。
この構成によれば、サービス要求ノードがサービスを要求する際、サービス提供ノードに対して、認証子のみを通知することを可能にするので、サービス要求ノードがサービスを要求する際の通信コストを削減することが可能となる。ここで、認証子のみを通知することで通信コストを削減できる理由は、認証子は認可証明書よりも情報量が著しく少なく(約1/10程度)、認証子は認可証明書のチェックサム(ハッシュ)となり得るからである。従って、同一のコスト量であれば、より多くのサービス要求を行うことができる。
【0016】
また、請求項4記載の発明は、請求項3に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス要求ノードから認証子のみを受信した場合には、認証子に含まれるノード識別子から、該当するサービス要求ノードの認可証明書を周囲のノードに探索する旨を通知する。
この構成によれば、サービス要求ノードから認証子のみを受信したサービス提供ノードが、認証子に含まれるサービス要求ノードの通信識別子を用いて、周囲のノードに、該当するサービス要求ノードの認可証明書を探索する旨を通知するので、自身が該当する認可証明書を保持していなくても、周囲のノードに問い合わせて要求することが可能となる。従って、周囲のノードが該当の認可証明書を保持しているかを知ることができる。
【0017】
また、請求項5記載の発明は、請求項4に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記認可証明書を探索する旨の通知を受信すると、自身のノードが該当する認可証明書を保持しているかを確認し、有効な認可証明書を保持している場合には前記探索する旨を通知してきたノードに対して、該当する認可証明書を送信する。
【0018】
この構成によれば、他のサービス提供ノードから、特定のサービス要求ノードに対応する認可証明書を探索する旨を受信すると、自身のノードが、該当する認可証明書を保持しているか確認し、保持している場合は、探索する旨を送信してきたノードに対して、該当の認可証明書を送信するので、該当する認可証明書を保持していなくても、周囲のノードから取得することが可能となる。従って、全ての認可証明書を保持する必要がなくなる。
【0019】
また、請求項6記載の発明は、請求項5に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、該当する有効な認可証明書を保持していない場合には、他のノードに探索する旨の通知を転送する。
この構成によれば、他のサービス提供ノードから、特定のサービス要求ノードに対応する認可証明書を探索する旨を受信したノードが、該当する認可証明書を保持していなかった場合、必要であれば他のノードに探索の旨を転送できるので、全ての通信可能な周囲のノードから、該当の認可証明書を取得することが可能となる。従って、認可証明書を広範囲で分散して保持を行うことにより、各サービス提供ノードの認可証明書保持のコスト(メモリ使用量)を引き下げることができる。
【0020】
また、請求項7記載の発明は、請求項1に記載の分散認証アクセス制御システムにおいて、前記サービス要求ノードは、前記証明書発行サーバから当該認可証明書を受け取ると、前記サービス提供ノードに、自身の通信識別子および現在時刻情報を含む認証子と、前記認可証明書とを通知するか、あるいは、前記認証子および以前に前記認可証明書を送信したことのあるサービス提供ノードの通信識別子を通知する。
【0021】
この構成によれば、サービス要求ノードがサービスを要求する際、サービス提供ノードに対して、認証子及び以前に該当の認可証明書を通知したことのあるサービス提供ノードの通信識別子のみを通知するので、サービス要求ノードがサービスを要求する際の通信コストを削減することが可能となり、かつ該当の認可証明書の存在位置を通知することが可能となる。従って、サービス要求ノードだけでなく、サービス提供ノードの認可証明書取得のコストを引き下げ、より多くのサービス要求ノードのサービス要求を受けることが出来るようになる。
【0022】
また、請求項8記載の発明は、請求項7に記載の分散認証アクセス制御システムにおいて、自身のノード識別子又は現在時刻情報、あるいは複数のサービス要求ノードから送信された認証子、又は以前に前記認可証明書を送信したことのあるサービス提供ノードの通信識別子を受信した、前記サービス提供ノードは、認証子に含まれる通信識別子、及び認可証明書を送信した記録のあるサービス提供ノードの通信識別子により、該当するサービス要求ノードの認可証明書を、前記サービス提供ノードに要求する旨を通知する。
【0023】
この構成によれば、サービス要求ノードから認証子及び、該当する認可証明書を送信した記録のあるサービス提供ノードの通信識別子を受信したサービス提供ノードが、認証子に含まれるサービス要求ノードの通信識別子及び、該当する認可証明書を送信した記録のあるサービス提供ノードの通信識別子を用いて、該当するサービス提供ノードに、該当するサービス要求ノードの認可証明書を要求する旨を通知するので、自身が該当する認可証明書を保持していなくても、該当する認可証明書を保持している他のサービス提供ノードに要求することが可能となる。従って、特定のノードが該当の認可証明書を保持しているかを知ることができる。
【0024】
また、請求項9記載の発明は、請求項8に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス提供ノードから送信された、特定のサービス要求ノードの認可証明書を要求する旨を受信すると、自身のノードが、該当する認証証明書を保持しているか確認し、有効な認証証明書を保持している場合、前記要求する旨を送信してきたノードに対して、該当する認可証明書を送信する。
【0025】
この構成によれば、他のサービス提供ノードから、特定のサービス要求ノードに対応する認可証明書を要求する旨を受信すると、自身のノードが、該当する認可証明書を保持しているか確認し、保持している場合は、要求する旨を送信してきたノードに対して、該当の認可証明書を送信するので、該当する認可証明書を保持していなくても、該当する認可証明書を保持している他のサービス提供ノードから取得することが可能となる。従って、全ての認可証明書を保持する必要がなくなる。
【0026】
また、請求項10記載の発明は、請求項9に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードが、有効な認可証明書を受信した場合、前記サービス要求ノードに該当する認可証明書に応じたサービスを提供する。
第11の発明にかかる分散認証、分散アクセス制御システムは、第6及び第9の発明により得られた認可証明書により、該当するサービス要求ノードに対して、該当する認可証明書に応じたサービスを提供することを特徴とする。
【0027】
この構成によれば、サービス要求ノードが、直接、認可証明書を提示しないサービス提供ノードから、該当する認可証明書に応じたサービスを受けることが可能となる。従って、サービス要求ノードは、一度、認可証明書を一つ、あるいは複数のサービス提供ノードに送信しておけば、それ以降は認可証明書を保持しない状態でもサービスを受けることが可能となる。
【発明の効果】
【0028】
以上説明したように、本発明の構成によれば、サービス要求ノードが、サービス提供ノードからサービスを受ける際に、効率的良く認可証明書を収受できる分散認証アクセス制御システムを提供することができる。
【発明を実施するための最良の形態】
【0029】
以下、図面を参照して、この発明に係る分散認証アクセス制御システムの最良の実施形態について詳細に説明する。
[第1実施形態]
図1は、この発明の第1実施形態に係る分散認証アクセス制御システムの全体構成を示す概略図である。
このシステムは、証明書発行サーバ10と、ネットワーク内の各ノードA14〜ノードD17とで構成される。証明書発行サーバ10は、既存の方式のサーバを用いる。ノードA14〜ノードD17は、この発明の第1実施形態に係る分散認証アクセス制御システムが適用される複数のノードによって構成されるネットワーク内における各ノードを示す。ネットワークは、それぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク(P2Pネットワーク)である。
【0030】
次に、このシステムの動作手順について説明する。
なお、以下の説明において、ノードA104のIDを「Ca」、認可証明書発行部IDを「tgs」、ノードの認証子を「Ac」、ノードと認可証明書発行部との一時利用鍵を「Kc:tgs」、ノードが許可証明書発行部の利用許可を明記した認証証明書を[Tc:tgs]、認可証明書発行部の共有秘密鍵を[Ktgs]、ノードAの共有秘密鍵を[Kc]、サービス名を[s]、ノードとサービスを提供するノードとの一時利用鍵を[Kc:s]、ノードが他のノードのサービス利用許可を明記した認可証明書を[Tc:s]、サービスを提供するノードの共有秘密鍵を[Ks]とする。
【0031】
まず、ステップS101において、ノードA14は、認証証明書発行部11、自身の名称(Ca)及び利用する認可証明書発行部12の名称(tgs)を提示する。
この時、同時にパスワード認証等、既存の認証方式を利用し、認証証明書発行部11は、ノードA14を認証し、共有秘密鍵保持部13からノードA14と認証証明書発行部11との間で利用する共有秘密鍵(Kc)、及び認証証明書発行部11と認可証明書発行部12との間で利用する共有秘密鍵(Ktgs)を取得する。
【0032】
次に、ステップS102において、認証証明書発行部11は、ノードA14と認可証明書発行部12の名称(tgs)により指定された認可証明書発行部12との間で利用する共有秘密鍵(Kc:tgs)を共有秘密鍵Kcで暗号化したものと、認証証明書発行部11により明記された、ノードA14が認可証明書発行部12への利用認可情報(Tc:tgs)を、共有秘密鍵(Ktgs)で暗号化した認証証明書({Tc:tgs}Ktgs)を、ノードA14に送信する。
【0033】
次に、ステップS103において、ノードA14は、認可証明書発行部12へ、新たな送信情報であることを保障するためのノード名と、現在時刻から作成されたノードの認証子(Ac)とを、共有秘密鍵(Kc:tgs)で暗号化したものと、認証証明書発行部11により発行された自身の認証証明書({Tc:tgs}Ktgs)と、利用したいサービス名(s)とを送信する。
【0034】
次に、ステップS104において、認可証明書発行部12は、認証証明書発行部11により発行されたノードA14の認証証明書({Tc:tgs}Ktgs)から、ノードA14が正しく認証されていると判断し、ノードA14とサービスを提供するノードB15〜ノードD17間で利用する共有秘密鍵(Kc:s)を、共有秘密鍵(Kc:tgs)で暗号化したものと、ノードA14のサービス(s)に対する利用認可情報(Tc:s)を、認可証明書発行部12とサービスを提供するノードB15〜ノードD17間で利用する共有秘密鍵(Ks)で暗号化した認可証明書({Tc:s}Ks)とを、ノードA14へ送信する。
【0035】
次に、ステップS105において、ノードA14は、ノードB15に対して、初回は認可証明書を提示する。すなわち、サービスを提供するノードB15へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子(Ac)を、共有秘密鍵(Kc:s)で暗号化したものと、認可証明書発行部12により発行された自身の認可証明書({Tc:s}Ks)とを送信する。
【0036】
そして、ステップS106において、ノードB15は、認可証明書発行部12により発行されたノードA14の認可証明書({Tc:s}Ks)から、ノードA14が正しく認可されていると判断し、ノードA14に対して、許可内容に応じたサービスを提供する。
次に、ステップS107において、ノードA14は、二回目以降は認証子のみを通知する。すなわち、サービスを提供するノードD17へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子(Ac)を、共有秘密鍵(Kc:s)で暗号化したものを送信する。
【0037】
次に、ステップS108において、ノードD17は、認可証明書を探索するために、ノードB15やノードC16等、他のノードに問い合わせる。
次に、ステップS109において、認可証明書を持つノード、この例の場合はノードB15が、ノードD17の認可証明書探索に対して応答する。
そして最後に、ステップS110において、ノードD17は、ノードAに対して許可内容に応じたサービスを提供する。
【0038】
図2は、この発明の第1実施形態に係る分散認証アクセス制御システムが適用されるネットワーク内の各ノードの構成を示すブロック図である。
ノード140は、図示しない複数のノードを有するネットワーク内の1つのノードであり、他のノードもすべて同じ構成を有している。すなわち、ノード140は、図1のノードA14〜ノードD17の代表的なノードとして示し、通信部141、認可証明書保持部142、証明書検証部143、及び秘密鍵保持部144から構成される。
【0039】
通信部141は、他のノードと通信を行う。認可証明書保持部142は、サービスを要求するクライアントノードの認可証明書を保持する。証明書検証部143は、認可証明書が正しいかどうかの検証、及びクライアントノードの認可情報の取得を行う。秘密鍵保持部144は、証明書発行サーバ10と自身のノード間、またクライアントノードと自身のノード間、及び同一サービスを提供するノード間で用いる秘密鍵を保持する。
【0040】
次に、この発明の第1実施形態に係る分散認証アクセス制御システムにおける分散認証方法について説明する。
図3〜図6は、この発明の第1実施形態に係る分散認証アクセス制御システムの動作を示すフローチャートである。図3はサービス要求・利用動作、図4は初回サービス提供動作、図5はサービス提供動作、図6は、認証証明書探索動作を示す。
【0041】
まず、図3に示すフローチャートを参照して、ノード140がサービス要求ノードとしての動作手順について説明する。
まず、ステップS301において、ノード140は、既存の方式を用いて、通信部141を介して証明書発行サーバ10から要求したいサービスの利用認可証明書を取得する。
次に、ステップS302において、ノード140は、サービスを提供するノードヘサービス要求を行うが、その要求が初回か否かを判断する。
【0042】
次に、ステップS302で判断した結果、初回のサービス要求の場合、ステップS303において、サービス提供ノードに、サービス要求、認証子、及び認可許可証を通知して、サービス要求を行う。
また、ステップS302で判断した結果、二回目以降のサービス要求の場合、ステップS304において、認可証明書を送信せず認証子のみを通知して、他のサービス提供ノードヘサービス要求を行う。
【0043】
次に、ステップS303又はステップS304によって初回又は2回目以降のサービス要求を行った後、ステップS305において、さらに別のサービス提供ノードへサービスを要求するか否かを判断する。
次に、ステップS305で判断した結果、別のサービス提供ノードヘサービスを要求する場合は、ステップS302に戻り、再度、初回のサービス要求か、2回目以降のサービス用要求かを判断し、同様の動作を繰り返す。
【0044】
そして、ステップS305で判断した結果、サービスを要求しない場合は、終了する。
次に、図4に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、初回のサービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップS401において、ノード140は、サービス要求ノードから、サービス要求、認証子、及び認可証明書の通知を受ける。
次に、ステップS402において、証明書検証部143にて、受け取った認可証明書を検証する。
【0045】
次に、ステップS402における検証の結果、受け取った認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップS403において、受け取った認可証明書を認可証明書保持部142に保存し、要求されたサービスを提供する。
また、ステップS402における検証の結果、受け取った認可証明書が正しくない、あるいは該当のサービスが許可されていない場合、ステップS404において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップS403,S404の動作後、終了する。
【0046】
次に、図5に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、サービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップS501において、ノード140は、サービス要求ノードから、サービス要求及び認証子の通知を受ける。
次に、ステップS502において、該当のノード認可証明書が自身の認可証明書保持部142に登録されているかどうか確認する。
次に、ステップS502における確認の結果、自身の認可証明書保持部142に該当の認可証明書が登録されていない場合、ステップS503において、周囲のノードへ該当の認可証明書探索通知を行う。
【0047】
次に、ステップS503における探索の結果、該当の証明書が見つらなかった場合、ステップS504において、サービス要求ノードに認可証明書を要求し取得する。
次に、ステップS503における探索の結果、証明書が見つかった場合、あるいはステップS504において該当の証明書を入手した場合、もしくはステップS502より該当の証明書が登録されていた場合、ステップS505において、その認可証明書の検証を行う。
【0048】
次に、ステップS505における検証の結果、該当の認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップS506において、該当の認可証明書を認可証明書保持部142に登録、又は再登録し、要求されたサービスを提供する。
また、ステップS505において、該当の認可証明書が正しくない、あるいは該当のサービスが許可されていない場合、ステップS507において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップS506又はステップS507における動作終了後、終了する。
【0049】
次に、図6に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、ノードの認可証明書の要求を受けて該当する認可証明書を提供する動作手順について説明する。
まず、ステップS601において、ノード140は、周囲のサービス提供ノードから、特定のノードの認可証明書探索通知を受ける。
次に、ステップS602において、該当ノードの認可証明書が自身の認可証明書保持部142に登録されているかどうか確認する。
【0050】
次に、ステップS602において、該当ノードの認可証明書が登録されていた場合、ステップS603において、ステップS601で認可証明書の探索通知を送信してきたノードに、該当の認可証明書を送信する。
また、ステップS602において、該当ノードの認可証明書が登録されていなかった場合、ステップS604において、必要であればさらに周囲のノードへ認可証明書探索通知を転送する。
そして、ステップS603又はステップS604の動作終了後、終了する。
【0051】
[第2実施形態]
次に、図7〜図11を参照して、本発明の第2実施形態に係る分散認証アクセス制御システムについて説明する。
図7は、この発明の第2実施形態に係る分散認証アクセス制御システムの全体構成を示す概略図である。
証明書発行サーバ10は、既存の方式のサーバを用いる。ノードA14〜ノードD17は、この発明の第2実施形態である分散認証アクセス制御システムが適用される複数のノードによって構成される各ノードを示す。ネットワーク内は、それぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク(P2P ネットワーク)である。なお、証明書発行サーバ10は、図1に示した証明書発行サーバ10と同様であり、各ノードの構成は、図2に示したノードA14〜ノードD17と同様である。
【0052】
次に、このシステムの動作手順について説明する。
まず、ステップS701において、ノードA14は、認証証明書発行部11、自身の名称(Ca)及び利用する認可証明書発行部12の名称(tgs)を提示する。
この時、同時にパスワード認証等、既存の認証方式を利用し、認証証明書発行部11は、ノードA14を認証し、共有秘密鍵保持部からノードA14と認証証明書発行部11との間で利用する共有秘密鍵(Kc)、及び認証証明書発行部11と認可証明書発行部12との間で利用する共有秘密鍵(Ktgs)を取得する。
【0053】
次に、ステップS702において、認証証明書発行部11は、ノードA14と認可証明書発行部12の名称(tgs)により指定された認可証明書発行部12との間で利用する共有秘密鍵(Kc:tgs)を共有秘密鍵Kcで暗号化したものと、認証証明書発行部11により明記された、ノードA14が認可証明書発行部12への利用認可情報(Tc:tgs)を、共有秘密鍵(Ktgs)で暗号化した認証証明書({Tc:tgs}Ktgs)とを、ノードA14に送信する。
【0054】
次に、ステップS703において、ノードA14は、認可証明書発行部12へ、新たな送信情報であることを保障するためのノード名と、現在時刻から作成されたノードの認証子(Ac)とを、共有秘密鍵(Kc:tgs)で暗号化したものと、認証証明書発行部11により発行された自身の認証証明書({Tc:tgs}Ktgs)と、利用したいサービス名(s)とを送信する。
【0055】
次に、ステップS704において、認可証明書発行部12は、認証証明書発行部11により発行されたノードA14の認証証明書({Tc:tgs}Ktgs)から、ノードA14が正しく認証されていると判断し、ノードA14とサービスを提供するノードB15〜ノードD17間で利用する共有秘密鍵(Kc:s)とを、共有秘密鍵(Kc:tgs)で暗号化したものと、ノードA14のサービス(s)に対する利用認可情報(Tc:s)を、認可証明書発行部12とサービスを提供するノードB15〜ノードD17間で利用する共有秘密鍵(Ks)で暗号化した認可証明書({Tc:s}Ks)とを、ノードA14へ送信する。
【0056】
次に、ステップS705において、ノードA14は、ノードB15に対して、初回は認可証明書を提示する。すなわち、サービスを提供するノードB15へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子(Ac)を、共有秘密鍵(Kc:s)で暗号化したものと、認可証明書発行部12により発行された自身の認可証明書({Tc:s}Ks)を送信する。
【0057】
そして、ステップS706において、ノードB15は、認可証明書発行部12により発行されたノードA14の認可証明書({Tc:s}Ks)から、ノードA14が正しく認可されていると判断し、ノードA14に対して、許可内容に応じたサービスを提供する。
次に、ステップS707において、ノードA14は、二回目以降は認証子のみを通知する。すなわち、サービスを提供するノードD17へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子(Ac)を、共有秘密鍵(Kc:s)で暗号化したものを送信する。
【0058】
次に、ステップS708において、ノードD17は、認可証明書を探索するために、ノードB15に問い合わせる。
そして、ステップS709において、認可証明書を持つノード、この例の場合はノードB15が、ノードD17の認可証明書探索に対して応答する。
そして、ステップS710において、ノードD17は、ノードA14に対して許可内容に応じたサービスを提供する。
【0059】
次に、この発明の第2実施形態に係る分散認証アクセス制御システムにおける分散認証方法について説明する。
図8〜図11は、この発明の第2実施形態に係る分散認証アクセス制御システムの動作を示すフローチャートである。図8はサービス要求・利用動作、図9は初回サービス提供動作、図10はサービス提供動作、図11は、認証証明書探索動作を示す。
【0060】
まず、図8に示すフローチャートを参照して、ノード140がサービス要求ノードとしての動作手順について説明する。
図8〜図11は、この発明の第2実施形態にかかる分散認証アクセス制御システムの動作を示すフローチャートである。図8は、サービス要求・利用動作、図9は初回サービス提供動作、図10はサービス提供動作、図11は認証証明書索動作を示す。これらの図を参照して、図2に示すノード140による、分散認証、分散アクセス制御の手順について説明する。
【0061】
まず、図8に示すフローチャートを参照して、ノード140がサービス要求ノードとして動作する手順について説明する。
まず、ステップS501において、ノード140は、サービス要求ノードから、サービス要求及び認証子の通知を受ける。まず、ステップS801において、ノード140は既存の方式を用いて、通信部141より証明書発行サーバ10から、要求したいサービスの利用認可証明書を取得する。
【0062】
次に、ステップS802において、ノード140はサービスを提供するノードヘサービス要求を行うが、その要求が初回かどうか判断する。
ステップS802の判断の結果、初回のサービス要求の場合、ステップS803において、サービス提供ノードへサービス要求、認証子及び認可証明書を通知し、通知先のサービス提供ノードの通信識別子を記録する。
【0063】
ステップS802の判断の結果、二回目以降のサービス要求の場合、ステップS804において、認可証明書を送信せず、他のサービス提供ノードへ以前に認可証明書を通知したサービス提供ノードの通信識別子及び認証子を送信し、サービス要求を行う。
そして、ステップS805において、別のサービス提供ノードヘサービスを要求する場合は、ステップS802に戻り、同様の動作を繰り返す。
【0064】
次に、図9に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、初回のサービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップS901において、ノード140は、サービス要求ノードから、サービス要求、認証子、及び認可証明書の通知を受ける。
次に、ステップS902において、証明書検証部143にて受け取った認可証明書を検証する。
【0065】
次に、ステップS902において、受け取った認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップS903において、受け取った認可証明書を認可証明書保持部142に保存し、要求されたサービスを提供する。
また、ステップS902において、受け取った認可証明書が正しくない、あういは該当のサービスが許可されていない場合、ステップS904において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップS903又はステップS904の動作が終了すると終了する。
【0066】
次に、図10に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、サービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップS1001において、ノード140は、サービス要求ノードから、サービス要求、認証子、及び以前に認可証明書を通知したサービス提供ノードの通信識別子の通知を受ける。
次に、ステップS1002において、該当のノード認可証明書が自身の認可証明書保持部142に登録されているかどうか確認する。
【0067】
次に、ステップS1002において、自身の認可証明書保持部142に該当の認可証明書が登録されていない場合、ステップS1003において、認可証明書の通知を受けたこのとあるサービス提供ノードへ、認可証明書を要求する。
次に、ステップS1003において、該当の証明書が見つからなかった場合、ステップS1004において、サービス要求ノードに認可証明書を要求して取得する。
【0068】
次に、ステップS1003において、該当の証明書が見つかった場合、もしくはステップS1004により該当の証明書を入手した場合、又はステップS1002より該当の証明書が登録されていた場合、ステップS1005において、その認可証明書の検証を行う。
次に、ステップS1005において、該当の認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップS1006において、該当の認可証明書を認可証明書保持部142に登録、もしくは再登録し、要求されたサービスを提供する。
【0069】
また、ステップS1005において、該当の認可証明書が正しくない、あるいは該当のサービスが許可されていない場合、ステップS1007において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップS1006又はステップS1007の動作が終了すると、一連の動作を終了する。
【0070】
次に、図11に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、ノードの認可証明書の要求を受けて該当する認可証明書を提供する動作手順について説明する。
まず、ステップS1101において、ノード140は、サービス提供ノードから、特定のノードの認可証明書の取得要求を受ける。
次に、ステップS1102において、該当ノードの認可証明書が自身の認可証明書保持部に登録されているかどうか確認する。
【0071】
次に、ステップS1102において、該当ノードの認可証明書が登録されていた場合、ステップS1103において、認可証明書の取得要求を送信してきたノードに、該当の認可証明書を送信する。
また、ステップS1102において、該当ノードの認可証明書が登録されていなかった場合、ステップS1104において、認可証明書の取得要求を送信してきたノードに認可証明書提供不可という通知を転送する。
そして、ステップS1103、又はステップS1104の動作が終了すると、一連の動作を終了する。
【0072】
以上説明したように、この発明によれば、同一のサービスを提供する、複数のサービス提供ノードに対して、同一の認可証明書を発行することが可能となる。従って、同一のサービスを提供する複数のサービス提供ノードが、同一の認可証明書により認可の判断を行うことが可能となる。従って、ノード毎に認可証明書を用意し、提示する必要がなくなる。
【0073】
以上、本発明の実施形態について詳細に説明したが、本発明はこれら実施形態に限定されず、本発明の趣旨を逸脱することなく種々の変更が可能である。
例えば、既存の証明書発行サーバ10が各ノード14〜17内に存在しても良い。その場合、各ノード14〜17が認証証明書及び認可証明書を発行できる。
また、認可証明書の送信、認可証明書の探索通知の送信の際の、送信データの暗号化や改ざん防止に利用する秘密鍵の交換方法は、公開鍵を利用して秘密鍵を交換する方法をとっても良い。その場合、ノード内に公開鍵保持部が必要であり、また、公開鍵暗号、公開鍵署名には既存の公開鍵暗号基盤が利用できる。
【図面の簡単な説明】
【0074】
【図1】この発明の第1の実施形態である分散認証アクセス制御システムの全体構成を示す概略図である。
【図2】この発明の第1の実施形態である分散認証アクセス制御システムにおけるノードの構成を示すブロック図である。
【図3】第1実施形態によりサービスを利用するための動作手順を示すフローチャートである。
【図4】第1実施形態により初回サービスを提供する動作手順を示すフローチャートである。
【図5】第1実施形態によりサービスを提供する動作手順を示すフローチャートである。
【図6】第1実施形態により認可証明書を探索する動作手順を説明したフローチャートである。
【図7】この発明の第2実施形態である分散認証アクセス制御システムの全体構成を示す概略図である。
【図8】第2実施形態によりサービスを利用するための動作手順を示すフローチャートである。
【図9】第2実施形態により初回サービスを提供する動作手順を示すフローチャートである。
【図10】第2実施形態によりサービスを提供する動作手順を説明したフローチャートである。
【図11】第2実施形態により認可証明書を探索する動作手順を示すフローチャートである。
【図12】従来の分散認証方式、分散アクセス制御方式を示す概略図である。
【符号の説明】
【0075】
10…証明書発行サーバ、11…認証証明書発行部、12…認可証明書発行部、13…共有秘密鍵保持部、14…ノードA、15…ノードB、16…ノードC、17…ノードD、140…ノード、141…通信部、142…認可証明書保持部、143…証明書検証部、144…秘密鍵保持部
【技術分野】
【0001】
この発明は、複数のノードが互いに隣接するノードとの間に確立する接続に基づいて構成されるネットワークにおいて、認可証明書を探索し、取得して、利用する分散認証アクセス制御システムに関するものである。
【背景技術】
【0002】
従来の分散認証方式、分散アクセス制御方式として、非特許文献1に開示された分散認証方式、分散アクセス制御方式がある。この方式では、サービスを利用するノード、証明書発行サーバに認証許可書を要求し、ノードは、取得した認証許可書と利用したいサービスを証明書発行サーバに提示することで、任意のサービス利用のための認可許可書が発行される。すなわち、取得した認可許可書をサービスを提供するノードに提示することで、目的のサービスを受ける方式である。また、暗号通信を行う装置間で通信回数と処理時間で、相互認証を行う方法(特許文献1参照)や、単一のサーバに設定された複数のサービス提供者の正当性をクライアント端末において認証可能なサービス認証方法(特許文献2参照)が提案されている。
【0003】
上述した従来の分散認証方式の一例について、図12を参照して説明する。
同図において、証明書発行サーバ100は、認証証明書発行部101、認可証明書発行部102、共有秘密鍵保持部103を持つ。サービスを利用するノードをノードA104とし、サービスを提供するノードをノードB105〜ノードD107とする。なお、以下の説明において、ノードA104のIDを「Ca」、認可証明書発行部IDを「tgs」、ノードの認証子を「Ac」、ノードと認可証明書発行部との一時利用鍵を「Kc:tgs」、ノードが許可証明書発行部の利用許可を明記した認証証明書を[Tc:tgs]、認可証明書発行部の共有秘密鍵を[Ktgs]、ノードAの共有秘密鍵を[Kc]、サービス名を[s]、ノードとサービスを提供するノードとの一時利用鍵を[Kc:s]、ノードが他のノードのサービス利用許可を明記した認可証明書を[Tc:s]、サービスを提供するノードの共有秘密鍵を[Ks]とする。
【0004】
まず、ステップS1201において、ノードA104は、認証証明書発行部101、自身の名称(Ca)及び利用する認可証明書発行部の名称(tgs)を提示する。
この時、同時にパスワード認証等、既存の認証方式を利用し、認証証明書発行部101は、ノードA104を認証し、共有秘密鍵保持部からノードA104と認証証明書発行部101間で利用する共有秘密鍵(Kc)、及び認証証明書発行部101と認可証明書発行部102との間で利用する共有秘密鍵(Ktgs)を取得する。
【0005】
次に、ステップS1202において、認証証明書発行部101は、ノードA104と認可証明書発行部の名称(tgs)により指定された認可証明書発行部101との間で利用する共有秘密鍵(Kc:tgs)を共有秘密鍵Kcで暗号化したものと、認証証明書発行部101により明記された、ノードA104が認可証明書発行部102への利用認可情報(Tc:tgs)を、共有秘密鍵(Ktgs)で暗号化した認証証明書({Tc:tgs}Ktgs)を、ノードA104に送信する。
【0006】
次に、ステップS1203において、ノードA104は、認可証明書発行部102へ、新たな送信情報であることを保障するためのノード名と、現在時刻から作成されたノードの認証子(Ac)とを、共有秘密鍵(Kc:tgs)で暗号化したものと、認証証明書発行部101により発行された自身の認証証明書({Tc:tgs}Ktgs)と、利用したいサービス名(s)とを送信する。
【0007】
次に、ステップS1204において、認可証明書発行部102は、認証証明書発行部101により発行されたノードA104の認証証明書({Tc:tgs}Ktgs)から、ノードA104が正しく認証されていると判断し、ノードA104とサービスを提供するノードB105〜ノードD107間で利用する共有秘密鍵(Kc:s)とを、共有秘密鍵(Kc:tgs)で暗号化したものと、ノードA104のサービス(s)に対する利用認可情報(Tc:s)を、認可証明書発行部102とサービスを提供するノードB105〜ノードD107間で利用する共有秘密鍵(Ks)で暗号化した認可証明書({Tc:s}Ks)とを、ノードA104へ送信する。
【0008】
次に、ステップS1205において、ノードA104は、サービスを提供するノードB105へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子(Ac)を、共有秘密鍵(Kc:s)で暗号化したものと、認可証明書発行部102により発行された自身の認可証明書({Tc:s}Ks)を送信する。
そして、ステップS1206において、最終的に、ノードB105は、認可証明書発行部102により発行されたノードA104の認可証明書({Tc:s}Ks)から、ノードA104が正しく認可されていると判断し、ノードA104に対して、許可内容に応じたサービスを提供する。
【0009】
【特許文献1】特開2002−330125号公報
【特許文献2】特開2003−150049号公報
【非特許文献1】Kerberos:The Network Authentication Protocol「http://web.mit.edu/kerberos/www/」
【発明の開示】
【発明が解決しようとする課題】
【0010】
上述した従来例では、各サービス提供ノードに対して、サービス要求ノードがサービスを要求する場合、その都度,認証子及び認可証明書を提示する必要があるため、通信コストがかかるという問題があった。
また、サービス要求ノードは、サービスを受ける際、各サービスに対応した認可証明書を保持しておかなければならず、多くのサービスを要求する必要がある場合に、その全ての認可証明書を保持することは困難である。
【0011】
また、サービス要求ノードが、各サービスを受ける直前に、証明書発行サーバから、認可証明書を発行してもらい、サービスを要求することもできるが、その場合、何度も証明書を取得しなければならず、通信コスト、証明書発行の処理コストがかかるという問題があった。
さらに、サービス提供ノードは、通信効率化のために各サービス要求ノードに対応した認可証明書を保持するようにすることもできるが、多くのサービス要求ノードが存在する場合は、その全ての認可証明書を保持することは困難であるという問題があった。
この発明は、上記事情を鑑みてなされたもので、サービス要求ノードが、サービス提供ノードからサービスを受ける際に、効率的良く認可証明書を収受できる分散認証アクセス制御システムを提供することを目的としている。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明の請求項1記載の分散認証アクセス制御システムは、複数のノードがそれぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク上で、前記ノードを認証し認証証明書を発行し当該ノードが要求するサービスの認可証明書を発行する認可証明書発行部とを有する証明書発行サーバと、当該認可証明書により認可されたサービスを提供するサービス提供ノードと、前記証明書発行サーバから認可証明書を取得し、前記サービス提供ノードにサービスを要求するサービス要求ノードとからなる分散認証アクセス制御システムにおいて、前記証明書発行サーバと同一サービスを提供する複数の前記サービス提供ノードは、互いに秘密鍵を共有するための秘密鍵保持手段を備え、当該秘密鍵を共有する際に、公開鍵暗号方式を用いて秘密鍵を暗号化することによって当該秘密鍵を共有する。
【0013】
この構成によれば、同一のサービスを提供する複数のサービス提供ノードと、証明書発行サーバの認可証明書発行部間で、共通の秘密鍵を共有するので、同一のサービスを提供する複数のサービス提供ノードに対して、同一の認可証明書を発行することが可能となり、従って、ノード毎に認可証明書を用意し、提示する必要がなくなる。また、同一のサービスを提供する複数のサービス提供ノードと、証明書発行サーバの認可証明書発行部間で、公開鍵暗号方式を用いてセキュアに共通の秘密鍵を共有するので、同一のサービスを提供する複数のサービス提供ノードに対して、同一の秘密鍵を分配することが容易になる。従って、ノード毎に秘密鍵を配る手間がなくなる。
【0014】
また、請求項2記載の発明は、請求項1に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス要求ノードより受信した一つまたは複数の認可証明書を保持する。
この構成によれば、サービス要求ノードから送信された認可証明書を受信したサービス提供ノードが、受信した認可証明書を自身のノードに保持できるので、再度、サービス要求ノードからの送信の必要なく、必要に応じて保持している認可証明書を利用することが可能となる。従って、認可証明書の取得のコストを引き下げることができる。
【0015】
また、請求項3記載の発明は、請求項1又は2に記載の分散認証アクセス制御システムにおいて、前記サービス要求ノードは、前記証明書発行サーバから当該認可証明書を受け取ると、前記サービス提供ノードに、自身のノード識別子および現在時刻情報を含む認証子と、前記認可証明書とを通知するか、あるいは、前記認証子のみを通知する。
この構成によれば、サービス要求ノードがサービスを要求する際、サービス提供ノードに対して、認証子のみを通知することを可能にするので、サービス要求ノードがサービスを要求する際の通信コストを削減することが可能となる。ここで、認証子のみを通知することで通信コストを削減できる理由は、認証子は認可証明書よりも情報量が著しく少なく(約1/10程度)、認証子は認可証明書のチェックサム(ハッシュ)となり得るからである。従って、同一のコスト量であれば、より多くのサービス要求を行うことができる。
【0016】
また、請求項4記載の発明は、請求項3に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス要求ノードから認証子のみを受信した場合には、認証子に含まれるノード識別子から、該当するサービス要求ノードの認可証明書を周囲のノードに探索する旨を通知する。
この構成によれば、サービス要求ノードから認証子のみを受信したサービス提供ノードが、認証子に含まれるサービス要求ノードの通信識別子を用いて、周囲のノードに、該当するサービス要求ノードの認可証明書を探索する旨を通知するので、自身が該当する認可証明書を保持していなくても、周囲のノードに問い合わせて要求することが可能となる。従って、周囲のノードが該当の認可証明書を保持しているかを知ることができる。
【0017】
また、請求項5記載の発明は、請求項4に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記認可証明書を探索する旨の通知を受信すると、自身のノードが該当する認可証明書を保持しているかを確認し、有効な認可証明書を保持している場合には前記探索する旨を通知してきたノードに対して、該当する認可証明書を送信する。
【0018】
この構成によれば、他のサービス提供ノードから、特定のサービス要求ノードに対応する認可証明書を探索する旨を受信すると、自身のノードが、該当する認可証明書を保持しているか確認し、保持している場合は、探索する旨を送信してきたノードに対して、該当の認可証明書を送信するので、該当する認可証明書を保持していなくても、周囲のノードから取得することが可能となる。従って、全ての認可証明書を保持する必要がなくなる。
【0019】
また、請求項6記載の発明は、請求項5に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、該当する有効な認可証明書を保持していない場合には、他のノードに探索する旨の通知を転送する。
この構成によれば、他のサービス提供ノードから、特定のサービス要求ノードに対応する認可証明書を探索する旨を受信したノードが、該当する認可証明書を保持していなかった場合、必要であれば他のノードに探索の旨を転送できるので、全ての通信可能な周囲のノードから、該当の認可証明書を取得することが可能となる。従って、認可証明書を広範囲で分散して保持を行うことにより、各サービス提供ノードの認可証明書保持のコスト(メモリ使用量)を引き下げることができる。
【0020】
また、請求項7記載の発明は、請求項1に記載の分散認証アクセス制御システムにおいて、前記サービス要求ノードは、前記証明書発行サーバから当該認可証明書を受け取ると、前記サービス提供ノードに、自身の通信識別子および現在時刻情報を含む認証子と、前記認可証明書とを通知するか、あるいは、前記認証子および以前に前記認可証明書を送信したことのあるサービス提供ノードの通信識別子を通知する。
【0021】
この構成によれば、サービス要求ノードがサービスを要求する際、サービス提供ノードに対して、認証子及び以前に該当の認可証明書を通知したことのあるサービス提供ノードの通信識別子のみを通知するので、サービス要求ノードがサービスを要求する際の通信コストを削減することが可能となり、かつ該当の認可証明書の存在位置を通知することが可能となる。従って、サービス要求ノードだけでなく、サービス提供ノードの認可証明書取得のコストを引き下げ、より多くのサービス要求ノードのサービス要求を受けることが出来るようになる。
【0022】
また、請求項8記載の発明は、請求項7に記載の分散認証アクセス制御システムにおいて、自身のノード識別子又は現在時刻情報、あるいは複数のサービス要求ノードから送信された認証子、又は以前に前記認可証明書を送信したことのあるサービス提供ノードの通信識別子を受信した、前記サービス提供ノードは、認証子に含まれる通信識別子、及び認可証明書を送信した記録のあるサービス提供ノードの通信識別子により、該当するサービス要求ノードの認可証明書を、前記サービス提供ノードに要求する旨を通知する。
【0023】
この構成によれば、サービス要求ノードから認証子及び、該当する認可証明書を送信した記録のあるサービス提供ノードの通信識別子を受信したサービス提供ノードが、認証子に含まれるサービス要求ノードの通信識別子及び、該当する認可証明書を送信した記録のあるサービス提供ノードの通信識別子を用いて、該当するサービス提供ノードに、該当するサービス要求ノードの認可証明書を要求する旨を通知するので、自身が該当する認可証明書を保持していなくても、該当する認可証明書を保持している他のサービス提供ノードに要求することが可能となる。従って、特定のノードが該当の認可証明書を保持しているかを知ることができる。
【0024】
また、請求項9記載の発明は、請求項8に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス提供ノードから送信された、特定のサービス要求ノードの認可証明書を要求する旨を受信すると、自身のノードが、該当する認証証明書を保持しているか確認し、有効な認証証明書を保持している場合、前記要求する旨を送信してきたノードに対して、該当する認可証明書を送信する。
【0025】
この構成によれば、他のサービス提供ノードから、特定のサービス要求ノードに対応する認可証明書を要求する旨を受信すると、自身のノードが、該当する認可証明書を保持しているか確認し、保持している場合は、要求する旨を送信してきたノードに対して、該当の認可証明書を送信するので、該当する認可証明書を保持していなくても、該当する認可証明書を保持している他のサービス提供ノードから取得することが可能となる。従って、全ての認可証明書を保持する必要がなくなる。
【0026】
また、請求項10記載の発明は、請求項9に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードが、有効な認可証明書を受信した場合、前記サービス要求ノードに該当する認可証明書に応じたサービスを提供する。
第11の発明にかかる分散認証、分散アクセス制御システムは、第6及び第9の発明により得られた認可証明書により、該当するサービス要求ノードに対して、該当する認可証明書に応じたサービスを提供することを特徴とする。
【0027】
この構成によれば、サービス要求ノードが、直接、認可証明書を提示しないサービス提供ノードから、該当する認可証明書に応じたサービスを受けることが可能となる。従って、サービス要求ノードは、一度、認可証明書を一つ、あるいは複数のサービス提供ノードに送信しておけば、それ以降は認可証明書を保持しない状態でもサービスを受けることが可能となる。
【発明の効果】
【0028】
以上説明したように、本発明の構成によれば、サービス要求ノードが、サービス提供ノードからサービスを受ける際に、効率的良く認可証明書を収受できる分散認証アクセス制御システムを提供することができる。
【発明を実施するための最良の形態】
【0029】
以下、図面を参照して、この発明に係る分散認証アクセス制御システムの最良の実施形態について詳細に説明する。
[第1実施形態]
図1は、この発明の第1実施形態に係る分散認証アクセス制御システムの全体構成を示す概略図である。
このシステムは、証明書発行サーバ10と、ネットワーク内の各ノードA14〜ノードD17とで構成される。証明書発行サーバ10は、既存の方式のサーバを用いる。ノードA14〜ノードD17は、この発明の第1実施形態に係る分散認証アクセス制御システムが適用される複数のノードによって構成されるネットワーク内における各ノードを示す。ネットワークは、それぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク(P2Pネットワーク)である。
【0030】
次に、このシステムの動作手順について説明する。
なお、以下の説明において、ノードA104のIDを「Ca」、認可証明書発行部IDを「tgs」、ノードの認証子を「Ac」、ノードと認可証明書発行部との一時利用鍵を「Kc:tgs」、ノードが許可証明書発行部の利用許可を明記した認証証明書を[Tc:tgs]、認可証明書発行部の共有秘密鍵を[Ktgs]、ノードAの共有秘密鍵を[Kc]、サービス名を[s]、ノードとサービスを提供するノードとの一時利用鍵を[Kc:s]、ノードが他のノードのサービス利用許可を明記した認可証明書を[Tc:s]、サービスを提供するノードの共有秘密鍵を[Ks]とする。
【0031】
まず、ステップS101において、ノードA14は、認証証明書発行部11、自身の名称(Ca)及び利用する認可証明書発行部12の名称(tgs)を提示する。
この時、同時にパスワード認証等、既存の認証方式を利用し、認証証明書発行部11は、ノードA14を認証し、共有秘密鍵保持部13からノードA14と認証証明書発行部11との間で利用する共有秘密鍵(Kc)、及び認証証明書発行部11と認可証明書発行部12との間で利用する共有秘密鍵(Ktgs)を取得する。
【0032】
次に、ステップS102において、認証証明書発行部11は、ノードA14と認可証明書発行部12の名称(tgs)により指定された認可証明書発行部12との間で利用する共有秘密鍵(Kc:tgs)を共有秘密鍵Kcで暗号化したものと、認証証明書発行部11により明記された、ノードA14が認可証明書発行部12への利用認可情報(Tc:tgs)を、共有秘密鍵(Ktgs)で暗号化した認証証明書({Tc:tgs}Ktgs)を、ノードA14に送信する。
【0033】
次に、ステップS103において、ノードA14は、認可証明書発行部12へ、新たな送信情報であることを保障するためのノード名と、現在時刻から作成されたノードの認証子(Ac)とを、共有秘密鍵(Kc:tgs)で暗号化したものと、認証証明書発行部11により発行された自身の認証証明書({Tc:tgs}Ktgs)と、利用したいサービス名(s)とを送信する。
【0034】
次に、ステップS104において、認可証明書発行部12は、認証証明書発行部11により発行されたノードA14の認証証明書({Tc:tgs}Ktgs)から、ノードA14が正しく認証されていると判断し、ノードA14とサービスを提供するノードB15〜ノードD17間で利用する共有秘密鍵(Kc:s)を、共有秘密鍵(Kc:tgs)で暗号化したものと、ノードA14のサービス(s)に対する利用認可情報(Tc:s)を、認可証明書発行部12とサービスを提供するノードB15〜ノードD17間で利用する共有秘密鍵(Ks)で暗号化した認可証明書({Tc:s}Ks)とを、ノードA14へ送信する。
【0035】
次に、ステップS105において、ノードA14は、ノードB15に対して、初回は認可証明書を提示する。すなわち、サービスを提供するノードB15へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子(Ac)を、共有秘密鍵(Kc:s)で暗号化したものと、認可証明書発行部12により発行された自身の認可証明書({Tc:s}Ks)とを送信する。
【0036】
そして、ステップS106において、ノードB15は、認可証明書発行部12により発行されたノードA14の認可証明書({Tc:s}Ks)から、ノードA14が正しく認可されていると判断し、ノードA14に対して、許可内容に応じたサービスを提供する。
次に、ステップS107において、ノードA14は、二回目以降は認証子のみを通知する。すなわち、サービスを提供するノードD17へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子(Ac)を、共有秘密鍵(Kc:s)で暗号化したものを送信する。
【0037】
次に、ステップS108において、ノードD17は、認可証明書を探索するために、ノードB15やノードC16等、他のノードに問い合わせる。
次に、ステップS109において、認可証明書を持つノード、この例の場合はノードB15が、ノードD17の認可証明書探索に対して応答する。
そして最後に、ステップS110において、ノードD17は、ノードAに対して許可内容に応じたサービスを提供する。
【0038】
図2は、この発明の第1実施形態に係る分散認証アクセス制御システムが適用されるネットワーク内の各ノードの構成を示すブロック図である。
ノード140は、図示しない複数のノードを有するネットワーク内の1つのノードであり、他のノードもすべて同じ構成を有している。すなわち、ノード140は、図1のノードA14〜ノードD17の代表的なノードとして示し、通信部141、認可証明書保持部142、証明書検証部143、及び秘密鍵保持部144から構成される。
【0039】
通信部141は、他のノードと通信を行う。認可証明書保持部142は、サービスを要求するクライアントノードの認可証明書を保持する。証明書検証部143は、認可証明書が正しいかどうかの検証、及びクライアントノードの認可情報の取得を行う。秘密鍵保持部144は、証明書発行サーバ10と自身のノード間、またクライアントノードと自身のノード間、及び同一サービスを提供するノード間で用いる秘密鍵を保持する。
【0040】
次に、この発明の第1実施形態に係る分散認証アクセス制御システムにおける分散認証方法について説明する。
図3〜図6は、この発明の第1実施形態に係る分散認証アクセス制御システムの動作を示すフローチャートである。図3はサービス要求・利用動作、図4は初回サービス提供動作、図5はサービス提供動作、図6は、認証証明書探索動作を示す。
【0041】
まず、図3に示すフローチャートを参照して、ノード140がサービス要求ノードとしての動作手順について説明する。
まず、ステップS301において、ノード140は、既存の方式を用いて、通信部141を介して証明書発行サーバ10から要求したいサービスの利用認可証明書を取得する。
次に、ステップS302において、ノード140は、サービスを提供するノードヘサービス要求を行うが、その要求が初回か否かを判断する。
【0042】
次に、ステップS302で判断した結果、初回のサービス要求の場合、ステップS303において、サービス提供ノードに、サービス要求、認証子、及び認可許可証を通知して、サービス要求を行う。
また、ステップS302で判断した結果、二回目以降のサービス要求の場合、ステップS304において、認可証明書を送信せず認証子のみを通知して、他のサービス提供ノードヘサービス要求を行う。
【0043】
次に、ステップS303又はステップS304によって初回又は2回目以降のサービス要求を行った後、ステップS305において、さらに別のサービス提供ノードへサービスを要求するか否かを判断する。
次に、ステップS305で判断した結果、別のサービス提供ノードヘサービスを要求する場合は、ステップS302に戻り、再度、初回のサービス要求か、2回目以降のサービス用要求かを判断し、同様の動作を繰り返す。
【0044】
そして、ステップS305で判断した結果、サービスを要求しない場合は、終了する。
次に、図4に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、初回のサービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップS401において、ノード140は、サービス要求ノードから、サービス要求、認証子、及び認可証明書の通知を受ける。
次に、ステップS402において、証明書検証部143にて、受け取った認可証明書を検証する。
【0045】
次に、ステップS402における検証の結果、受け取った認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップS403において、受け取った認可証明書を認可証明書保持部142に保存し、要求されたサービスを提供する。
また、ステップS402における検証の結果、受け取った認可証明書が正しくない、あるいは該当のサービスが許可されていない場合、ステップS404において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップS403,S404の動作後、終了する。
【0046】
次に、図5に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、サービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップS501において、ノード140は、サービス要求ノードから、サービス要求及び認証子の通知を受ける。
次に、ステップS502において、該当のノード認可証明書が自身の認可証明書保持部142に登録されているかどうか確認する。
次に、ステップS502における確認の結果、自身の認可証明書保持部142に該当の認可証明書が登録されていない場合、ステップS503において、周囲のノードへ該当の認可証明書探索通知を行う。
【0047】
次に、ステップS503における探索の結果、該当の証明書が見つらなかった場合、ステップS504において、サービス要求ノードに認可証明書を要求し取得する。
次に、ステップS503における探索の結果、証明書が見つかった場合、あるいはステップS504において該当の証明書を入手した場合、もしくはステップS502より該当の証明書が登録されていた場合、ステップS505において、その認可証明書の検証を行う。
【0048】
次に、ステップS505における検証の結果、該当の認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップS506において、該当の認可証明書を認可証明書保持部142に登録、又は再登録し、要求されたサービスを提供する。
また、ステップS505において、該当の認可証明書が正しくない、あるいは該当のサービスが許可されていない場合、ステップS507において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップS506又はステップS507における動作終了後、終了する。
【0049】
次に、図6に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、ノードの認可証明書の要求を受けて該当する認可証明書を提供する動作手順について説明する。
まず、ステップS601において、ノード140は、周囲のサービス提供ノードから、特定のノードの認可証明書探索通知を受ける。
次に、ステップS602において、該当ノードの認可証明書が自身の認可証明書保持部142に登録されているかどうか確認する。
【0050】
次に、ステップS602において、該当ノードの認可証明書が登録されていた場合、ステップS603において、ステップS601で認可証明書の探索通知を送信してきたノードに、該当の認可証明書を送信する。
また、ステップS602において、該当ノードの認可証明書が登録されていなかった場合、ステップS604において、必要であればさらに周囲のノードへ認可証明書探索通知を転送する。
そして、ステップS603又はステップS604の動作終了後、終了する。
【0051】
[第2実施形態]
次に、図7〜図11を参照して、本発明の第2実施形態に係る分散認証アクセス制御システムについて説明する。
図7は、この発明の第2実施形態に係る分散認証アクセス制御システムの全体構成を示す概略図である。
証明書発行サーバ10は、既存の方式のサーバを用いる。ノードA14〜ノードD17は、この発明の第2実施形態である分散認証アクセス制御システムが適用される複数のノードによって構成される各ノードを示す。ネットワーク内は、それぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク(P2P ネットワーク)である。なお、証明書発行サーバ10は、図1に示した証明書発行サーバ10と同様であり、各ノードの構成は、図2に示したノードA14〜ノードD17と同様である。
【0052】
次に、このシステムの動作手順について説明する。
まず、ステップS701において、ノードA14は、認証証明書発行部11、自身の名称(Ca)及び利用する認可証明書発行部12の名称(tgs)を提示する。
この時、同時にパスワード認証等、既存の認証方式を利用し、認証証明書発行部11は、ノードA14を認証し、共有秘密鍵保持部からノードA14と認証証明書発行部11との間で利用する共有秘密鍵(Kc)、及び認証証明書発行部11と認可証明書発行部12との間で利用する共有秘密鍵(Ktgs)を取得する。
【0053】
次に、ステップS702において、認証証明書発行部11は、ノードA14と認可証明書発行部12の名称(tgs)により指定された認可証明書発行部12との間で利用する共有秘密鍵(Kc:tgs)を共有秘密鍵Kcで暗号化したものと、認証証明書発行部11により明記された、ノードA14が認可証明書発行部12への利用認可情報(Tc:tgs)を、共有秘密鍵(Ktgs)で暗号化した認証証明書({Tc:tgs}Ktgs)とを、ノードA14に送信する。
【0054】
次に、ステップS703において、ノードA14は、認可証明書発行部12へ、新たな送信情報であることを保障するためのノード名と、現在時刻から作成されたノードの認証子(Ac)とを、共有秘密鍵(Kc:tgs)で暗号化したものと、認証証明書発行部11により発行された自身の認証証明書({Tc:tgs}Ktgs)と、利用したいサービス名(s)とを送信する。
【0055】
次に、ステップS704において、認可証明書発行部12は、認証証明書発行部11により発行されたノードA14の認証証明書({Tc:tgs}Ktgs)から、ノードA14が正しく認証されていると判断し、ノードA14とサービスを提供するノードB15〜ノードD17間で利用する共有秘密鍵(Kc:s)とを、共有秘密鍵(Kc:tgs)で暗号化したものと、ノードA14のサービス(s)に対する利用認可情報(Tc:s)を、認可証明書発行部12とサービスを提供するノードB15〜ノードD17間で利用する共有秘密鍵(Ks)で暗号化した認可証明書({Tc:s}Ks)とを、ノードA14へ送信する。
【0056】
次に、ステップS705において、ノードA14は、ノードB15に対して、初回は認可証明書を提示する。すなわち、サービスを提供するノードB15へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子(Ac)を、共有秘密鍵(Kc:s)で暗号化したものと、認可証明書発行部12により発行された自身の認可証明書({Tc:s}Ks)を送信する。
【0057】
そして、ステップS706において、ノードB15は、認可証明書発行部12により発行されたノードA14の認可証明書({Tc:s}Ks)から、ノードA14が正しく認可されていると判断し、ノードA14に対して、許可内容に応じたサービスを提供する。
次に、ステップS707において、ノードA14は、二回目以降は認証子のみを通知する。すなわち、サービスを提供するノードD17へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子(Ac)を、共有秘密鍵(Kc:s)で暗号化したものを送信する。
【0058】
次に、ステップS708において、ノードD17は、認可証明書を探索するために、ノードB15に問い合わせる。
そして、ステップS709において、認可証明書を持つノード、この例の場合はノードB15が、ノードD17の認可証明書探索に対して応答する。
そして、ステップS710において、ノードD17は、ノードA14に対して許可内容に応じたサービスを提供する。
【0059】
次に、この発明の第2実施形態に係る分散認証アクセス制御システムにおける分散認証方法について説明する。
図8〜図11は、この発明の第2実施形態に係る分散認証アクセス制御システムの動作を示すフローチャートである。図8はサービス要求・利用動作、図9は初回サービス提供動作、図10はサービス提供動作、図11は、認証証明書探索動作を示す。
【0060】
まず、図8に示すフローチャートを参照して、ノード140がサービス要求ノードとしての動作手順について説明する。
図8〜図11は、この発明の第2実施形態にかかる分散認証アクセス制御システムの動作を示すフローチャートである。図8は、サービス要求・利用動作、図9は初回サービス提供動作、図10はサービス提供動作、図11は認証証明書索動作を示す。これらの図を参照して、図2に示すノード140による、分散認証、分散アクセス制御の手順について説明する。
【0061】
まず、図8に示すフローチャートを参照して、ノード140がサービス要求ノードとして動作する手順について説明する。
まず、ステップS501において、ノード140は、サービス要求ノードから、サービス要求及び認証子の通知を受ける。まず、ステップS801において、ノード140は既存の方式を用いて、通信部141より証明書発行サーバ10から、要求したいサービスの利用認可証明書を取得する。
【0062】
次に、ステップS802において、ノード140はサービスを提供するノードヘサービス要求を行うが、その要求が初回かどうか判断する。
ステップS802の判断の結果、初回のサービス要求の場合、ステップS803において、サービス提供ノードへサービス要求、認証子及び認可証明書を通知し、通知先のサービス提供ノードの通信識別子を記録する。
【0063】
ステップS802の判断の結果、二回目以降のサービス要求の場合、ステップS804において、認可証明書を送信せず、他のサービス提供ノードへ以前に認可証明書を通知したサービス提供ノードの通信識別子及び認証子を送信し、サービス要求を行う。
そして、ステップS805において、別のサービス提供ノードヘサービスを要求する場合は、ステップS802に戻り、同様の動作を繰り返す。
【0064】
次に、図9に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、初回のサービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップS901において、ノード140は、サービス要求ノードから、サービス要求、認証子、及び認可証明書の通知を受ける。
次に、ステップS902において、証明書検証部143にて受け取った認可証明書を検証する。
【0065】
次に、ステップS902において、受け取った認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップS903において、受け取った認可証明書を認可証明書保持部142に保存し、要求されたサービスを提供する。
また、ステップS902において、受け取った認可証明書が正しくない、あういは該当のサービスが許可されていない場合、ステップS904において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップS903又はステップS904の動作が終了すると終了する。
【0066】
次に、図10に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、サービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップS1001において、ノード140は、サービス要求ノードから、サービス要求、認証子、及び以前に認可証明書を通知したサービス提供ノードの通信識別子の通知を受ける。
次に、ステップS1002において、該当のノード認可証明書が自身の認可証明書保持部142に登録されているかどうか確認する。
【0067】
次に、ステップS1002において、自身の認可証明書保持部142に該当の認可証明書が登録されていない場合、ステップS1003において、認可証明書の通知を受けたこのとあるサービス提供ノードへ、認可証明書を要求する。
次に、ステップS1003において、該当の証明書が見つからなかった場合、ステップS1004において、サービス要求ノードに認可証明書を要求して取得する。
【0068】
次に、ステップS1003において、該当の証明書が見つかった場合、もしくはステップS1004により該当の証明書を入手した場合、又はステップS1002より該当の証明書が登録されていた場合、ステップS1005において、その認可証明書の検証を行う。
次に、ステップS1005において、該当の認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップS1006において、該当の認可証明書を認可証明書保持部142に登録、もしくは再登録し、要求されたサービスを提供する。
【0069】
また、ステップS1005において、該当の認可証明書が正しくない、あるいは該当のサービスが許可されていない場合、ステップS1007において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップS1006又はステップS1007の動作が終了すると、一連の動作を終了する。
【0070】
次に、図11に示すフローチャートを参照して、ノード140がサービス提供ノードとして動作する場合の、ノードの認可証明書の要求を受けて該当する認可証明書を提供する動作手順について説明する。
まず、ステップS1101において、ノード140は、サービス提供ノードから、特定のノードの認可証明書の取得要求を受ける。
次に、ステップS1102において、該当ノードの認可証明書が自身の認可証明書保持部に登録されているかどうか確認する。
【0071】
次に、ステップS1102において、該当ノードの認可証明書が登録されていた場合、ステップS1103において、認可証明書の取得要求を送信してきたノードに、該当の認可証明書を送信する。
また、ステップS1102において、該当ノードの認可証明書が登録されていなかった場合、ステップS1104において、認可証明書の取得要求を送信してきたノードに認可証明書提供不可という通知を転送する。
そして、ステップS1103、又はステップS1104の動作が終了すると、一連の動作を終了する。
【0072】
以上説明したように、この発明によれば、同一のサービスを提供する、複数のサービス提供ノードに対して、同一の認可証明書を発行することが可能となる。従って、同一のサービスを提供する複数のサービス提供ノードが、同一の認可証明書により認可の判断を行うことが可能となる。従って、ノード毎に認可証明書を用意し、提示する必要がなくなる。
【0073】
以上、本発明の実施形態について詳細に説明したが、本発明はこれら実施形態に限定されず、本発明の趣旨を逸脱することなく種々の変更が可能である。
例えば、既存の証明書発行サーバ10が各ノード14〜17内に存在しても良い。その場合、各ノード14〜17が認証証明書及び認可証明書を発行できる。
また、認可証明書の送信、認可証明書の探索通知の送信の際の、送信データの暗号化や改ざん防止に利用する秘密鍵の交換方法は、公開鍵を利用して秘密鍵を交換する方法をとっても良い。その場合、ノード内に公開鍵保持部が必要であり、また、公開鍵暗号、公開鍵署名には既存の公開鍵暗号基盤が利用できる。
【図面の簡単な説明】
【0074】
【図1】この発明の第1の実施形態である分散認証アクセス制御システムの全体構成を示す概略図である。
【図2】この発明の第1の実施形態である分散認証アクセス制御システムにおけるノードの構成を示すブロック図である。
【図3】第1実施形態によりサービスを利用するための動作手順を示すフローチャートである。
【図4】第1実施形態により初回サービスを提供する動作手順を示すフローチャートである。
【図5】第1実施形態によりサービスを提供する動作手順を示すフローチャートである。
【図6】第1実施形態により認可証明書を探索する動作手順を説明したフローチャートである。
【図7】この発明の第2実施形態である分散認証アクセス制御システムの全体構成を示す概略図である。
【図8】第2実施形態によりサービスを利用するための動作手順を示すフローチャートである。
【図9】第2実施形態により初回サービスを提供する動作手順を示すフローチャートである。
【図10】第2実施形態によりサービスを提供する動作手順を説明したフローチャートである。
【図11】第2実施形態により認可証明書を探索する動作手順を示すフローチャートである。
【図12】従来の分散認証方式、分散アクセス制御方式を示す概略図である。
【符号の説明】
【0075】
10…証明書発行サーバ、11…認証証明書発行部、12…認可証明書発行部、13…共有秘密鍵保持部、14…ノードA、15…ノードB、16…ノードC、17…ノードD、140…ノード、141…通信部、142…認可証明書保持部、143…証明書検証部、144…秘密鍵保持部
【特許請求の範囲】
【請求項1】
複数のノードがそれぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク上で、前記ノードを認証し認証証明書を発行し当該ノードが要求するサービスの認可証明書を発行する認可証明書発行部とを有する証明書発行サーバと、当該認可証明書により認可されたサービスを提供するサービス提供ノードと、前記証明書発行サーバから認可証明書を取得し、前記サービス提供ノードにサービスを要求するサービス要求ノードとからなる分散認証アクセス制御システムにおいて、
前記証明書発行サーバと同一サービスを提供する複数の前記サービス提供ノードは、互いに秘密鍵を共有するための秘密鍵保持手段を備え、当該秘密鍵を共有する際に、公開鍵暗号方式を用いて秘密鍵を暗号化することによって当該秘密鍵を共有する分散認証アクセス制御システム。
【請求項2】
請求項1に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス要求ノードより受信した一つまたは複数の認可証明書を保持するようにした分散認証アクセス制御システム。
【請求項3】
請求項1又は2に記載の分散認証アクセス制御システムにおいて、前記サービス要求ノードは、前記証明書発行サーバから当該認可証明書を受け取ると、前記サービス提供ノードに、自身のノード識別子および現在時刻情報を含む認証子と、前記認可証明書とを通知するか、あるいは、前記認証子のみを通知するようにした分散認証アクセス制御システム。
【請求項4】
請求項3に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス要求ノードから認証子のみを受信した場合には、認証子に含まれるノード識別子から、該当するサービス要求ノードの認可証明書を周囲のノードに探索する旨を通知するようにした分散認証アクセス制御システム。
【請求項5】
請求項4に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記認可証明書を探索する旨の通知を受信すると、自身のノードが該当する認可証明書を保持しているかを確認し、有効な認可証明書を保持している場合には前記探索する旨を通知してきたノードに対して、該当する認可証明書を送信するようにした分散認証アクセス制御システム。
【請求項6】
請求項5に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、該当する有効な認可証明書を保持していない場合には、他のノードに探索する旨の通知を転送するようにした分散認証アクセス制御システム。
【請求項7】
請求項1に記載の分散認証アクセス制御システムにおいて、前記サービス要求ノードは、前記証明書発行サーバから当該認可証明書を受け取ると、前記サービス提供ノードに、自身の通信識別子および現在時刻情報を含む認証子と、前記認可証明書とを通知するか、あるいは、前記認証子および以前に前記認可証明書を送信したことのあるサービス提供ノードの通信識別子を通知するようにした分散認証アクセス制御システム。
【請求項8】
請求項7に記載の分散認証アクセス制御システムにおいて、自身のノード識別子又は現在時刻情報、あるいは複数のサービス要求ノードから送信された認証子、又は以前に前記認可証明書を送信したことのあるサービス提供ノードの通信識別子を受信した、前記サービス提供ノードは、認証子に含まれる通信識別子、及び認可証明書を送信した記録のあるサービス提供ノードの通信識別子により、該当するサービス要求ノードの認可証明書を、前記サービス提供ノードに要求する旨を通知するようにした分散認証アクセス制御システム。
【請求項9】
請求項8に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス提供ノードから送信された、特定のサービス要求ノードの認可証明書を要求する旨を受信すると、自身のノードが、該当する認証証明書を保持しているか確認し、有効な認証証明書を保持している場合、前記要求する旨を送信してきたノードに対して、該当する認可証明書を送信するようにした分散認証アクセス制御システム。
【請求項10】
請求項9に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードが、有効な認可証明書を受信した場合、前記サービス要求ノードに該当する認可証明書に応じたサービスを提供するようにした分散認証アクセス制御システム。
【請求項1】
複数のノードがそれぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク上で、前記ノードを認証し認証証明書を発行し当該ノードが要求するサービスの認可証明書を発行する認可証明書発行部とを有する証明書発行サーバと、当該認可証明書により認可されたサービスを提供するサービス提供ノードと、前記証明書発行サーバから認可証明書を取得し、前記サービス提供ノードにサービスを要求するサービス要求ノードとからなる分散認証アクセス制御システムにおいて、
前記証明書発行サーバと同一サービスを提供する複数の前記サービス提供ノードは、互いに秘密鍵を共有するための秘密鍵保持手段を備え、当該秘密鍵を共有する際に、公開鍵暗号方式を用いて秘密鍵を暗号化することによって当該秘密鍵を共有する分散認証アクセス制御システム。
【請求項2】
請求項1に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス要求ノードより受信した一つまたは複数の認可証明書を保持するようにした分散認証アクセス制御システム。
【請求項3】
請求項1又は2に記載の分散認証アクセス制御システムにおいて、前記サービス要求ノードは、前記証明書発行サーバから当該認可証明書を受け取ると、前記サービス提供ノードに、自身のノード識別子および現在時刻情報を含む認証子と、前記認可証明書とを通知するか、あるいは、前記認証子のみを通知するようにした分散認証アクセス制御システム。
【請求項4】
請求項3に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス要求ノードから認証子のみを受信した場合には、認証子に含まれるノード識別子から、該当するサービス要求ノードの認可証明書を周囲のノードに探索する旨を通知するようにした分散認証アクセス制御システム。
【請求項5】
請求項4に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記認可証明書を探索する旨の通知を受信すると、自身のノードが該当する認可証明書を保持しているかを確認し、有効な認可証明書を保持している場合には前記探索する旨を通知してきたノードに対して、該当する認可証明書を送信するようにした分散認証アクセス制御システム。
【請求項6】
請求項5に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、該当する有効な認可証明書を保持していない場合には、他のノードに探索する旨の通知を転送するようにした分散認証アクセス制御システム。
【請求項7】
請求項1に記載の分散認証アクセス制御システムにおいて、前記サービス要求ノードは、前記証明書発行サーバから当該認可証明書を受け取ると、前記サービス提供ノードに、自身の通信識別子および現在時刻情報を含む認証子と、前記認可証明書とを通知するか、あるいは、前記認証子および以前に前記認可証明書を送信したことのあるサービス提供ノードの通信識別子を通知するようにした分散認証アクセス制御システム。
【請求項8】
請求項7に記載の分散認証アクセス制御システムにおいて、自身のノード識別子又は現在時刻情報、あるいは複数のサービス要求ノードから送信された認証子、又は以前に前記認可証明書を送信したことのあるサービス提供ノードの通信識別子を受信した、前記サービス提供ノードは、認証子に含まれる通信識別子、及び認可証明書を送信した記録のあるサービス提供ノードの通信識別子により、該当するサービス要求ノードの認可証明書を、前記サービス提供ノードに要求する旨を通知するようにした分散認証アクセス制御システム。
【請求項9】
請求項8に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記サービス提供ノードから送信された、特定のサービス要求ノードの認可証明書を要求する旨を受信すると、自身のノードが、該当する認証証明書を保持しているか確認し、有効な認証証明書を保持している場合、前記要求する旨を送信してきたノードに対して、該当する認可証明書を送信するようにした分散認証アクセス制御システム。
【請求項10】
請求項9に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードが、有効な認可証明書を受信した場合、前記サービス要求ノードに該当する認可証明書に応じたサービスを提供するようにした分散認証アクセス制御システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−19755(P2007−19755A)
【公開日】平成19年1月25日(2007.1.25)
【国際特許分類】
【出願番号】特願2005−197955(P2005−197955)
【出願日】平成17年7月6日(2005.7.6)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】
【公開日】平成19年1月25日(2007.1.25)
【国際特許分類】
【出願日】平成17年7月6日(2005.7.6)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】
[ Back to top ]