(57)【特許請求の範囲】
【請求項１】
複数のノードがそれぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク上で、前記ノードを認証し認証証明書を発行し当該ノードが要求するサービスの認可証明書を発行する認可証明書発行部を有する証明書発行サーバと、当該認可証明書により認可されたサービスを提供するサービス提供ノードと、前記証明書発行サーバから認可証明書を取得し、前記サービス提供ノードにサービスを要求するサービス要求ノードとからなり、
前記証明書発行サーバと同一サービスを提供する複数の前記サービス提供ノードは互いに秘密鍵を共有し、当該秘密鍵を用いて送受信データを暗号化するようにした分散認証アクセス制御システムにおいて、
前記サービス要求ノードは、前記サービス提供ノードに対するサービス要求を初めて行うときには自身のノード識別子および現在時刻情報を含む認証子と前記認可証明書とを前記サービス要求のための情報として通知し、２回目以後は前記認可証明書を除く前記情報を通知し、
前記サービス提供ノードは、前記サービス要求ノードからのサービス要求により前記認可証明書を受信したときには当該認可証明書を保持し、
前記認可証明書を受信しない場合、前記認証子に含まれるノード識別子に基づき当該ノード識別子に該当するサービス要求ノードの認可証明書を自身のノードで保持しているときには当該保持している認可証明書を利用して前記サービス提供を行い、自身のノードで保持していないときには前記ノード識別子に該当する前記サービス要求ノードの認可証明書を、周囲のノードに問い合わせるための、前記認可証明書を探索する旨の通知を行い、当該通知に対する応答として前記認可証明書を受信したとき、当該認可証明書を利用して前記サービス提供を行うことを特徴とする分散認証アクセス制御システム。
【請求項２】
請求項１に記載の分散認証アクセス制御システムにおいて、
前記サービス提供ノードは、前記認可証明書を探索する旨の通知を受信すると、自身のノードが該当する認可証明書を保持しているかを確認し、有効な認可証明書を保持している場合には前記探索する旨を通知してきたノードに対して、該当する認可証明書を送信するようにしたことを特徴とする分散認証アクセス制御システム。
【請求項３】
請求項２に記載の分散認証アクセス制御システムにおいて、
前記サービス提供ノードは、該当する有効な認可証明書を保持していない場合には、他のノードに、前記探索する旨の通知を転送するようにしたことを特徴とする分散認証アクセス制御システム。
【請求項４】
請求項１又は請求項２記載の分散認証アクセス制御システムにおいて、
前記サービス要求ノードは、前記認可証明書を以前に送信したことのあるサービス提供ノードの通信識別子を保持しておき、
前記サービス要求を行うときには、前記認証子とともに、前記認可証明書を以前に送信したことのあるサービス提供ノードの通信識別子も通知し、
前記認証子とともに、前記認可証明書を以前に送信したことのあるサービス提供ノードの通信識別子を受信した前記サービス提供ノードは、前記通信識別子に該当するサービス提供ノードに対して、前記サービス要求ノードの認可証明書を要求する旨の通知を行うようにしたことを特徴とする分散認証アクセス制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のノードが互いに隣接するノードとの間に確立する接続に基づいて構成されるネットワークにおいて、認可証明書を探索し、取得して、利用する分散認証アクセス制御システムに関するものである。
【背景技術】
【０００２】
従来の分散認証方式、分散アクセス制御方式として、非特許文献１に開示された分散認証方式、分散アクセス制御方式がある。この方式では、サービスを利用するノード、証明書発行サーバに認証許可書を要求し、ノードは、取得した認証許可書と利用したいサービスを証明書発行サーバに提示することで、任意のサービス利用のための認可許可書が発行される。すなわち、取得した認可許可書をサービスを提供するノードに提示することで、目的のサービスを受ける方式である。また、暗号通信を行う装置間で通信回数と処理時間で、相互認証を行う方法（特許文献１参照）や、単一のサーバに設定された複数のサービス提供者の正当性をクライアント端末において認証可能なサービス認証方法（特許文献２参照）が提案されている。
【０００３】
上述した従来の分散認証方式の一例について、図１２を参照して説明する。
同図において、証明書発行サーバ１００は、認証証明書発行部１０１、認可証明書発行部１０２、共有秘密鍵保持部１０３を持つ。サービスを利用するノードをノードＡ１０４とし、サービスを提供するノードをノードＢ１０５〜ノードＤ１０７とする。なお、以下の説明において、ノードＡ１０４のＩＤを「Ｃａ」、認可証明書発行部ＩＤを「ｔｇｓ」、ノードの認証子を「Ａｃ」、ノードと認可証明書発行部との一時利用鍵を「Ｋｃ：ｔｇｓ」、ノードが許可証明書発行部の利用許可を明記した認証証明書を［Ｔｃ：ｔｇｓ］、認可証明書発行部の共有秘密鍵を［Ｋｔｇｓ］、ノードＡの共有秘密鍵を［Ｋｃ］、サービス名を［ｓ］、ノードとサービスを提供するノードとの一時利用鍵を［Ｋｃ：ｓ］、ノードが他のノードのサービス利用許可を明記した認可証明書を［Ｔｃ：ｓ］、サービスを提供するノードの共有秘密鍵を［Ｋｓ］とする。
【０００４】
まず、ステップＳ１２０１において、ノードＡ１０４は、認証証明書発行部１０１、自身の名称（Ｃａ）及び利用する認可証明書発行部の名称（ｔｇｓ）を提示する。
この時、同時にパスワード認証等、既存の認証方式を利用し、認証証明書発行部１０１は、ノードＡ１０４を認証し、共有秘密鍵保持部からノードＡ１０４と認証証明書発行部１０１間で利用する共有秘密鍵（Ｋｃ）、及び認証証明書発行部１０１と認可証明書発行部１０２との間で利用する共有秘密鍵（Ｋｔｇｓ）を取得する。
【０００５】
次に、ステップＳ１２０２において、認証証明書発行部１０１は、ノードＡ１０４と認可証明書発行部の名称（ｔｇｓ）により指定された認可証明書発行部１０１との間で利用する共有秘密鍵（Ｋｃ：ｔｇｓ）を共有秘密鍵Ｋｃで暗号化したものと、認証証明書発行部１０１により明記された、ノードＡ１０４が認可証明書発行部１０２への利用認可情報（Ｔｃ：ｔｇｓ）を、共有秘密鍵（Ｋｔｇｓ）で暗号化した認証証明書（｛Ｔｃ：ｔｇｓ｝Ｋｔｇｓ）を、ノードＡ１０４に送信する。
【０００６】
次に、ステップＳ１２０３において、ノードＡ１０４は、認可証明書発行部１０２へ、新たな送信情報であることを保障するためのノード名と、現在時刻から作成されたノードの認証子（Ａｃ）とを、共有秘密鍵（Ｋｃ：ｔｇｓ）で暗号化したものと、認証証明書発行部１０１により発行された自身の認証証明書（｛Ｔｃ：ｔｇｓ｝Ｋｔｇｓ）と、利用したいサービス名（ｓ）とを送信する。
【０００７】
次に、ステップＳ１２０４において、認可証明書発行部１０２は、認証証明書発行部１０１により発行されたノードＡ１０４の認証証明書（｛Ｔｃ：ｔｇｓ｝Ｋｔｇｓ）から、ノードＡ１０４が正しく認証されていると判断し、ノードＡ１０４とサービスを提供するノードＢ１０５〜ノードＤ１０７間で利用する共有秘密鍵（Ｋｃ：ｓ）とを、共有秘密鍵（Ｋｃ：ｔｇｓ）で暗号化したものと、ノードＡ１０４のサービス（ｓ）に対する利用認可情報（Ｔｃ：ｓ）を、認可証明書発行部１０２とサービスを提供するノードＢ１０５〜ノードＤ１０７間で利用する共有秘密鍵（Ｋｓ）で暗号化した認可証明書（｛Ｔｃ：ｓ｝Ｋｓ）とを、ノードＡ１０４へ送信する。
【０００８】
次に、ステップＳ１２０５において、ノードＡ１０４は、サービスを提供するノードＢ１０５へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子（Ａｃ）を、共有秘密鍵（Ｋｃ：ｓ）で暗号化したものと、認可証明書発行部１０２により発行された自身の認可証明書（｛Ｔｃ：ｓ｝Ｋｓ）を送信する。
そして、ステップＳ１２０６において、最終的に、ノードＢ１０５は、認可証明書発行部１０２により発行されたノードＡ１０４の認可証明書（｛Ｔｃ：ｓ｝Ｋｓ）から、ノードＡ１０４が正しく認可されていると判断し、ノードＡ１０４に対して、許可内容に応じたサービスを提供する。
【０００９】
【特許文献１】特開２００２−３３０１２５号公報
【特許文献２】特開２００３−１５００４９号公報
【非特許文献１】Ｋｅｒｂｅｒｏｓ：Ｔｈｅ  Ｎｅｔｗｏｒｋ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ「ｈｔｔｐ：／／ｗｅｂ．ｍｉｔ．ｅｄｕ／ｋｅｒｂｅｒｏｓ／ｗｗｗ／」
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述した従来例では、各サービス提供ノードに対して、サービス要求ノードがサービスを要求する場合、その都度，認証子及び認可証明書を提示する必要があるため、通信コストがかかるという問題があった。
また、サービス要求ノードは、サービスを受ける際、各サービスに対応した認可証明書を保持しておかなければならず、多くのサービスを要求する必要がある場合に、その全ての認可証明書を保持することは困難である。
【００１１】
また、サービス要求ノードが、各サービスを受ける直前に、証明書発行サーバから、認可証明書を発行してもらい、サービスを要求することもできるが、その場合、何度も証明書を取得しなければならず、通信コスト、証明書発行の処理コストがかかるという問題があった。
さらに、サービス提供ノードは、通信効率化のために各サービス要求ノードに対応した認可証明書を保持するようにすることもできるが、多くのサービス要求ノードが存在する場合は、その全ての認可証明書を保持することは困難であるという問題があった。
この発明は、上記事情を鑑みてなされたもので、サービス要求ノードが、サービス提供ノードからサービスを受ける際に、効率的良く認可証明書を収受できる分散認証アクセス制御システムを提供することを目的としている。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の請求項１記載の分散認証アクセス制御システムは、複数のノードがそれぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク上で、前記ノードを認証し認証証明書を発行し当該ノードが要求するサービスの認可証明書を発行する認可証明書発行部を有する証明書発行サーバと、当該認可証明書により認可されたサービスを提供するサービス提供ノードと、前記証明書発行サーバから認可証明書を取得し、前記サービス提供ノードにサービスを要求するサービス要求ノードとからなり、前記証明書発行サーバと同一サービスを提供する複数の前記サービス提供ノードは互いに秘密鍵を共有し、当該秘密鍵を用いて送受信データを暗号化するようにした分散認証アクセス制御システムにおいて、前記サービス要求ノードは、前記サービス提供ノードに対するサービス要求を初めて行うときには自身のノード識別子および現在時刻情報を含む認証子と前記認可証明書とを前記サービス要求のための情報として通知し、２回目以後は前記認可証明書を除く前記情報を通知し、前記サービス提供ノードは、前記サービス要求ノードからのサービス要求により前記認可証明書を受信したときには当該認可証明書を保持し、前記認可証明書を受信しない場合、前記認証子に含まれるノード識別子に基づき当該ノード識別子に該当するサービス要求ノードの認可証明書を自身のノードで保持しているときには当該保持している認可証明書を利用して前記サービス提供を行い、自身のノードで保持していないときには前記ノード識別子に該当する前記サービス要求ノードの認可証明書を、周囲のノードに問い合わせるための、前記認可証明書を探索する旨の通知を行い、当該通知に対する応答として前記認可証明書を受信したとき、当該認可証明書を利用して前記サービス提供を行うことを特徴としている。
【００１３】
この構成によれば、同一のサービスを提供する複数のサービス提供ノードと、証明書発行サーバの認可証明書発行部間で、共通の秘密鍵を共有するので、同一のサービスを提供する複数のサービス提供ノードに対して、同一の認可証明書を発行することが可能となり、従って、ノード毎に認可証明書を用意し、提示する必要がなくなる。
【００１４】
また、サービス要求ノードから送信された認可証明書を受信したサービス提供ノードが、受信した認可証明書を自身のノードに保持できるので、再度、サービス要求ノードからの送信の必要はなく、必要に応じて保持している認可証明書を利用することが可能となる。従って、認可証明書の取得のコストを引き下げることができる。
【００１５】
また、サービス要求ノードがサービスを要求する際、サービス提供ノードに対するサービス要求を初めて行うときには、認証子と認可証明書などを含むサービス要求のための情報を送信するが、２回目以降は、認可証明書を除く情報を通知すればよいため、サービス要求ノードがサービスを要求する際の通信コストを削減することが可能となる。ここで、認可証明書を除く情報のみを通知することで通信コストを削減できる理由は、認証子は認可証明書よりも情報量が著しく少なく（約１／１０程度）、認証子は認可証明書のチェックサム（ハッシュ）となり得るからである。従って、同一のコスト量であれば、より多くのサービス要求を行うことができる。
【００１６】
また、サービス要求ノードから認可証明書を除くサービス要求のための情報を受信したサービス提供ノードが、認証子に含まれるサービス要求ノードの通信識別子を用いて、周囲のノードに、該当するサービス要求ノードの認可証明書を探索する旨を通知するので、自身が該当する認可証明書を保持していなくても、周囲のノードに問い合わせて要求することが可能となる。従って、周囲のノードが該当の認可証明書を保持しているかを知ることができる。
【００１７】
また、請求項２記載の発明は、請求項１に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、前記認可証明書を探索する旨の通知を受信すると、自身のノードが該当する認可証明書を保持しているかを確認し、有効な認可証明書を保持している場合には前記探索する旨を通知してきたノードに対して、該当する認可証明書を送信する。
【００１８】
この構成によれば、他のサービス提供ノードから、特定のサービス要求ノードに対応する認可証明書を探索する旨を受信すると、自身のノードが、該当する認可証明書を保持しているか確認し、保持している場合は、探索する旨を送信してきたノードに対して、該当の認可証明書を送信するので、該当する認可証明書を保持していなくても、周囲のノードから取得することが可能となる。従って、全ての認可証明書を保持する必要がなくなる。
【００１９】
また、請求項３記載の発明は、請求項２に記載の分散認証アクセス制御システムにおいて、前記サービス提供ノードは、該当する有効な認可証明書を保持していない場合には、他のノードに探索する旨の通知を転送する。
この構成によれば、他のサービス提供ノードから、特定のサービス要求ノードに対応する認可証明書を探索する旨を受信したノードが、該当する認可証明書を保持していなかった場合、必要であれば他のノードに探索の旨を転送できるので、全ての通信可能な周囲のノードから、該当の認可証明書を取得することが可能となる。従って、認可証明書を広範囲で分散して保持を行うことにより、各サービス提供ノードの認可証明書保持のコスト（メモリ使用量）を引き下げることができる。
【００２０】
また、請求項４記載の発明は、請求項１または請求項２記載の分散認証アクセス制御システムにおいて、前記サービス要求ノードは、前記認可証明書を以前に送信したことのあるサービス提供ノードの通信識別子を保持しておき、前記サービス要求を行うときには、前記認証子とともに、前記認可証明書を以前に送信したことのあるサービス提供ノードの通信識別子も通知し、前記認証子とともに、前記認可証明書を以前に送信したことのあるサービス提供ノードの通信識別子を受信した前記サービス提供ノードは、前記通信識別子に該当するサービス提供ノードに対して、前記サービス要求ノードの認可証明書を要求する旨の通知を行う。
【００２１】
この構成によれば、サービス要求ノードがサービスを要求する際、サービス提供ノードに対して、認証子とともに、以前に該当の認可証明書を通知したことのあるサービス提供ノードの通信識別子を通知するので、サービス要求ノードがサービスを要求する際の通信コストを削減することが可能となり、かつ該当の認可証明書の存在位置を通知することが可能となる。従って、サービス要求ノードだけでなく、サービス提供ノードの認可証明書取得のコストを引き下げ、より多くのサービス要求ノードのサービス要求を受けることが出来るようになる。
【発明の効果】
【００２８】
以上説明したように、本発明の構成によれば、サービス要求ノードが、サービス提供ノードからサービスを受ける際に、効率良く認可証明書を収受できる分散認証アクセス制御システムを提供することができる。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照して、この発明に係る分散認証アクセス制御システムの最良の実施形態について詳細に説明する。
［第１実施形態］
図１は、この発明の第１実施形態に係る分散認証アクセス制御システムの全体構成を示す概略図である。
このシステムは、証明書発行サーバ１０と、ネットワーク内の各ノードＡ１４〜ノードＤ１７とで構成される。証明書発行サーバ１０は、既存の方式のサーバを用いる。ノードＡ１４〜ノードＤ１７は、この発明の第１実施形態に係る分散認証アクセス制御システムが適用される複数のノードによって構成されるネットワーク内における各ノードを示す。ネットワークは、それぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク（Ｐ２Ｐネットワーク）である。
【００３０】
次に、このシステムの動作手順について説明する。
なお、以下の説明において、ノードＡ１０４のＩＤを「Ｃａ」、認可証明書発行部ＩＤを「ｔｇｓ」、ノードの認証子を「Ａｃ」、ノードと認可証明書発行部との一時利用鍵を「Ｋｃ：ｔｇｓ」、ノードが許可証明書発行部の利用許可を明記した認証証明書を［Ｔｃ：ｔｇｓ］、認可証明書発行部の共有秘密鍵を［Ｋｔｇｓ］、ノードＡの共有秘密鍵を［Ｋｃ］、サービス名を［ｓ］、ノードとサービスを提供するノードとの一時利用鍵を［Ｋｃ：ｓ］、ノードが他のノードのサービス利用許可を明記した認可証明書を［Ｔｃ：ｓ］、サービスを提供するノードの共有秘密鍵を［Ｋｓ］とする。
【００３１】
まず、ステップＳ１０１において、ノードＡ１４は、認証証明書発行部１１、自身の名称（Ｃａ）及び利用する認可証明書発行部１２の名称（ｔｇｓ）を提示する。
この時、同時にパスワード認証等、既存の認証方式を利用し、認証証明書発行部１１は、ノードＡ１４を認証し、共有秘密鍵保持部１３からノードＡ１４と認証証明書発行部１１との間で利用する共有秘密鍵（Ｋｃ）、及び認証証明書発行部１１と認可証明書発行部１２との間で利用する共有秘密鍵（Ｋｔｇｓ）を取得する。
【００３２】
次に、ステップＳ１０２において、認証証明書発行部１１は、ノードＡ１４と認可証明書発行部１２の名称（ｔｇｓ）により指定された認可証明書発行部１２との間で利用する共有秘密鍵（Ｋｃ：ｔｇｓ）を共有秘密鍵Ｋｃで暗号化したものと、認証証明書発行部１１により明記された、ノードＡ１４が認可証明書発行部１２への利用認可情報（Ｔｃ：ｔｇｓ）を、共有秘密鍵（Ｋｔｇｓ）で暗号化した認証証明書（｛Ｔｃ：ｔｇｓ｝Ｋｔｇｓ）を、ノードＡ１４に送信する。
【００３３】
次に、ステップＳ１０３において、ノードＡ１４は、認可証明書発行部１２へ、新たな送信情報であることを保障するためのノード名と、現在時刻から作成されたノードの認証子（Ａｃ）とを、共有秘密鍵（Ｋｃ：ｔｇｓ）で暗号化したものと、認証証明書発行部１１により発行された自身の認証証明書（｛Ｔｃ：ｔｇｓ｝Ｋｔｇｓ）と、利用したいサービス名（ｓ）とを送信する。
【００３４】
次に、ステップＳ１０４において、認可証明書発行部１２は、認証証明書発行部１１により発行されたノードＡ１４の認証証明書（｛Ｔｃ：ｔｇｓ｝Ｋｔｇｓ）から、ノードＡ１４が正しく認証されていると判断し、ノードＡ１４とサービスを提供するノードＢ１５〜ノードＤ１７間で利用する共有秘密鍵（Ｋｃ：ｓ）を、共有秘密鍵（Ｋｃ：ｔｇｓ）で暗号化したものと、ノードＡ１４のサービス（ｓ）に対する利用認可情報（Ｔｃ：ｓ）を、認可証明書発行部１２とサービスを提供するノードＢ１５〜ノードＤ１７間で利用する共有秘密鍵（Ｋｓ）で暗号化した認可証明書（｛Ｔｃ：ｓ｝Ｋｓ）とを、ノードＡ１４へ送信する。
【００３５】
次に、ステップＳ１０５において、ノードＡ１４は、ノードＢ１５に対して、初回は認可証明書を提示する。すなわち、サービスを提供するノードＢ１５へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子（Ａｃ）を、共有秘密鍵（Ｋｃ：ｓ）で暗号化したものと、認可証明書発行部１２により発行された自身の認可証明書（｛Ｔｃ：ｓ｝Ｋｓ）とを送信する。
【００３６】
そして、ステップＳ１０６において、ノードＢ１５は、認可証明書発行部１２により発行されたノードＡ１４の認可証明書（｛Ｔｃ：ｓ｝Ｋｓ）から、ノードＡ１４が正しく認可されていると判断し、ノードＡ１４に対して、許可内容に応じたサービスを提供する。
次に、ステップＳ１０７において、ノードＡ１４は、二回目以降は認証子のみを通知する。すなわち、サービスを提供するノードＤ１７へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子（Ａｃ）を、共有秘密鍵（Ｋｃ：ｓ）で暗号化したものを送信する。
【００３７】
次に、ステップＳ１０８において、ノードＤ１７は、認可証明書を探索するために、ノードＢ１５やノードＣ１６等、他のノードに問い合わせる。
次に、ステップＳ１０９において、認可証明書を持つノード、この例の場合はノードＢ１５が、ノードＤ１７の認可証明書探索に対して応答する。
そして最後に、ステップＳ１１０において、ノードＤ１７は、ノードＡに対して許可内容に応じたサービスを提供する。
【００３８】
図２は、この発明の第１実施形態に係る分散認証アクセス制御システムが適用されるネットワーク内の各ノードの構成を示すブロック図である。
ノード１４０は、図示しない複数のノードを有するネットワーク内の１つのノードであり、他のノードもすべて同じ構成を有している。すなわち、ノード１４０は、図１のノードＡ１４〜ノードＤ１７の代表的なノードとして示し、通信部１４１、認可証明書保持部１４２、証明書検証部１４３、及び秘密鍵保持部１４４から構成される。
【００３９】
通信部１４１は、他のノードと通信を行う。認可証明書保持部１４２は、サービスを要求するクライアントノードの認可証明書を保持する。証明書検証部１４３は、認可証明書が正しいかどうかの検証、及びクライアントノードの認可情報の取得を行う。秘密鍵保持部１４４は、証明書発行サーバ１０と自身のノード間、またクライアントノードと自身のノード間、及び同一サービスを提供するノード間で用いる秘密鍵を保持する。
【００４０】
次に、この発明の第１実施形態に係る分散認証アクセス制御システムにおける分散認証方法について説明する。
図３〜図６は、この発明の第１実施形態に係る分散認証アクセス制御システムの動作を示すフローチャートである。図３はサービス要求・利用動作、図４は初回サービス提供動作、図５はサービス提供動作、図６は、認証証明書探索動作を示す。
【００４１】
まず、図３に示すフローチャートを参照して、ノード１４０がサービス要求ノードとしての動作手順について説明する。
まず、ステップＳ３０１において、ノード１４０は、既存の方式を用いて、通信部１４１を介して証明書発行サーバ１０から要求したいサービスの利用認可証明書を取得する。
次に、ステップＳ３０２において、ノード１４０は、サービスを提供するノードヘサービス要求を行うが、その要求が初回か否かを判断する。
【００４２】
次に、ステップＳ３０２で判断した結果、初回のサービス要求の場合、ステップＳ３０３において、サービス提供ノードに、サービス要求、認証子、及び認可許可証を通知して、サービス要求を行う。
また、ステップＳ３０２で判断した結果、二回目以降のサービス要求の場合、ステップＳ３０４において、認可証明書を送信せず認証子のみを通知して、他のサービス提供ノードヘサービス要求を行う。
【００４３】
次に、ステップＳ３０３又はステップＳ３０４によって初回又は２回目以降のサービス要求を行った後、ステップＳ３０５において、さらに別のサービス提供ノードへサービスを要求するか否かを判断する。
次に、ステップＳ３０５で判断した結果、別のサービス提供ノードヘサービスを要求する場合は、ステップＳ３０２に戻り、再度、初回のサービス要求か、２回目以降のサービス用要求かを判断し、同様の動作を繰り返す。
【００４４】
そして、ステップＳ３０５で判断した結果、サービスを要求しない場合は、終了する。
次に、図４に示すフローチャートを参照して、ノード１４０がサービス提供ノードとして動作する場合の、初回のサービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップＳ４０１において、ノード１４０は、サービス要求ノードから、サービス要求、認証子、及び認可証明書の通知を受ける。
次に、ステップＳ４０２において、証明書検証部１４３にて、受け取った認可証明書を検証する。
【００４５】
次に、ステップＳ４０２における検証の結果、受け取った認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップＳ４０３において、受け取った認可証明書を認可証明書保持部１４２に保存し、要求されたサービスを提供する。
また、ステップＳ４０２における検証の結果、受け取った認可証明書が正しくない、あるいは該当のサービスが許可されていない場合、ステップＳ４０４において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップＳ４０３,Ｓ４０４の動作後、終了する。
【００４６】
次に、図５に示すフローチャートを参照して、ノード１４０がサービス提供ノードとして動作する場合の、サービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップＳ５０１において、ノード１４０は、サービス要求ノードから、サービス要求及び認証子の通知を受ける。
次に、ステップＳ５０２において、該当のノード認可証明書が自身の認可証明書保持部１４２に登録されているかどうか確認する。
次に、ステップＳ５０２における確認の結果、自身の認可証明書保持部１４２に該当の認可証明書が登録されていない場合、ステップＳ５０３において、周囲のノードへ該当の認可証明書探索通知を行う。
【００４７】
次に、ステップＳ５０３における探索の結果、該当の証明書が見つらなかった場合、ステップＳ５０４において、サービス要求ノードに認可証明書を要求し取得する。
次に、ステップＳ５０３における探索の結果、証明書が見つかった場合、あるいはステップＳ５０４において該当の証明書を入手した場合、もしくはステップＳ５０２より該当の証明書が登録されていた場合、ステップＳ５０５において、その認可証明書の検証を行う。
【００４８】
次に、ステップＳ５０５における検証の結果、該当の認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップＳ５０６において、該当の認可証明書を認可証明書保持部１４２に登録、又は再登録し、要求されたサービスを提供する。
また、ステップＳ５０５において、該当の認可証明書が正しくない、あるいは該当のサービスが許可されていない場合、ステップＳ５０７において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップＳ５０６又はステップＳ５０７における動作終了後、終了する。
【００４９】
次に、図６に示すフローチャートを参照して、ノード１４０がサービス提供ノードとして動作する場合の、ノードの認可証明書の要求を受けて該当する認可証明書を提供する動作手順について説明する。
まず、ステップＳ６０１において、ノード１４０は、周囲のサービス提供ノードから、特定のノードの認可証明書探索通知を受ける。
次に、ステップＳ６０２において、該当ノードの認可証明書が自身の認可証明書保持部１４２に登録されているかどうか確認する。
【００５０】
次に、ステップＳ６０２において、該当ノードの認可証明書が登録されていた場合、ステップＳ６０３において、ステップＳ６０１で認可証明書の探索通知を送信してきたノードに、該当の認可証明書を送信する。
また、ステップＳ６０２において、該当ノードの認可証明書が登録されていなかった場合、ステップＳ６０４において、必要であればさらに周囲のノードへ認可証明書探索通知を転送する。
そして、ステップＳ６０３又はステップＳ６０４の動作終了後、終了する。
【００５１】
［第２実施形態］
次に、図７〜図１１を参照して、本発明の第２実施形態に係る分散認証アクセス制御システムについて説明する。
図７は、この発明の第２実施形態に係る分散認証アクセス制御システムの全体構成を示す概略図である。
証明書発行サーバ１０は、既存の方式のサーバを用いる。ノードＡ１４〜ノードＤ１７は、この発明の第２実施形態である分散認証アクセス制御システムが適用される複数のノードによって構成される各ノードを示す。ネットワーク内は、それぞれ隣接ノードとの間に確立する接続に基づいて通信を行うネットワーク（Ｐ２Ｐ ネットワーク）である。なお、証明書発行サーバ１０は、図１に示した証明書発行サーバ１０と同様であり、各ノードの構成は、図２に示したノードＡ１４〜ノードＤ１７と同様である。
【００５２】
次に、このシステムの動作手順について説明する。
まず、ステップＳ７０１において、ノードＡ１４は、認証証明書発行部１１、自身の名称（Ｃａ）及び利用する認可証明書発行部１２の名称（ｔｇｓ）を提示する。
この時、同時にパスワード認証等、既存の認証方式を利用し、認証証明書発行部１１は、ノードＡ１４を認証し、共有秘密鍵保持部からノードＡ１４と認証証明書発行部１１との間で利用する共有秘密鍵（Ｋｃ）、及び認証証明書発行部１１と認可証明書発行部１２との間で利用する共有秘密鍵（Ｋｔｇｓ）を取得する。
【００５３】
次に、ステップＳ７０２において、認証証明書発行部１１は、ノードＡ１４と認可証明書発行部１２の名称（ｔｇｓ）により指定された認可証明書発行部１２との間で利用する共有秘密鍵（Ｋｃ：ｔｇｓ）を共有秘密鍵Ｋｃで暗号化したものと、認証証明書発行部１１により明記された、ノードＡ１４が認可証明書発行部１２への利用認可情報（Ｔｃ：ｔｇｓ）を、共有秘密鍵（Ｋｔｇｓ）で暗号化した認証証明書（｛Ｔｃ：ｔｇｓ｝Ｋｔｇｓ）とを、ノードＡ１４に送信する。
【００５４】
次に、ステップＳ７０３において、ノードＡ１４は、認可証明書発行部１２へ、新たな送信情報であることを保障するためのノード名と、現在時刻から作成されたノードの認証子（Ａｃ）とを、共有秘密鍵（Ｋｃ：ｔｇｓ）で暗号化したものと、認証証明書発行部１１により発行された自身の認証証明書（｛Ｔｃ：ｔｇｓ｝Ｋｔｇｓ）と、利用したいサービス名（ｓ）とを送信する。
【００５５】
次に、ステップＳ７０４において、認可証明書発行部１２は、認証証明書発行部１１により発行されたノードＡ１４の認証証明書（｛Ｔｃ：ｔｇｓ｝Ｋｔｇｓ）から、ノードＡ１４が正しく認証されていると判断し、ノードＡ１４とサービスを提供するノードＢ１５〜ノードＤ１７間で利用する共有秘密鍵（Ｋｃ：ｓ）とを、共有秘密鍵（Ｋｃ：ｔｇｓ）で暗号化したものと、ノードＡ１４のサービス（ｓ）に対する利用認可情報（Ｔｃ：ｓ）を、認可証明書発行部１２とサービスを提供するノードＢ１５〜ノードＤ１７間で利用する共有秘密鍵（Ｋｓ）で暗号化した認可証明書（｛Ｔｃ：ｓ｝Ｋｓ）とを、ノードＡ１４へ送信する。
【００５６】
次に、ステップＳ７０５において、ノードＡ１４は、ノードＢ１５に対して、初回は認可証明書を提示する。すなわち、サービスを提供するノードＢ１５へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子（Ａｃ）を、共有秘密鍵（Ｋｃ：ｓ）で暗号化したものと、認可証明書発行部１２により発行された自身の認可証明書（｛Ｔｃ：ｓ｝Ｋｓ）を送信する。
【００５７】
そして、ステップＳ７０６において、ノードＢ１５は、認可証明書発行部１２により発行されたノードＡ１４の認可証明書（｛Ｔｃ：ｓ｝Ｋｓ）から、ノードＡ１４が正しく認可されていると判断し、ノードＡ１４に対して、許可内容に応じたサービスを提供する。
次に、ステップＳ７０７において、ノードＡ１４は、二回目以降は認証子のみを通知する。すなわち、サービスを提供するノードＤ１７へ、新たな送信情報であることを保障するためのノード名と現在時刻から作成されたノードの認証子（Ａｃ）を、共有秘密鍵（Ｋｃ：ｓ）で暗号化したものを送信する。
【００５８】
次に、ステップＳ７０８において、ノードＤ１７は、認可証明書を探索するために、ノードＢ１５に問い合わせる。
そして、ステップＳ７０９において、認可証明書を持つノード、この例の場合はノードＢ１５が、ノードＤ１７の認可証明書探索に対して応答する。
そして、ステップＳ７１０において、ノードＤ１７は、ノードＡ１４に対して許可内容に応じたサービスを提供する。
【００５９】
次に、この発明の第２実施形態に係る分散認証アクセス制御システムにおける分散認証方法について説明する。
図８〜図１１は、この発明の第２実施形態に係る分散認証アクセス制御システムの動作を示すフローチャートである。図８はサービス要求・利用動作、図９は初回サービス提供動作、図１０はサービス提供動作、図１１は、認証証明書探索動作を示す。
【００６０】
まず、図８に示すフローチャートを参照して、ノード１４０がサービス要求ノードとしての動作手順について説明する。
図８〜図１１は、この発明の第２実施形態にかかる分散認証アクセス制御システムの動作を示すフローチャートである。図８は、サービス要求・利用動作、図９は初回サービス提供動作、図１０はサービス提供動作、図１１は認証証明書索動作を示す。これらの図を参照して、図２に示すノード１４０による、分散認証、分散アクセス制御の手順について説明する。
【００６１】
まず、図８に示すフローチャートを参照して、ノード１４０がサービス要求ノードとして動作する手順について説明する。
まず、ステップＳ５０１において、ノード１４０は、サービス要求ノードから、サービス要求及び認証子の通知を受ける。まず、ステップＳ８０１において、ノード１４０は既存の方式を用いて、通信部１４１より証明書発行サーバ１０から、要求したいサービスの利用認可証明書を取得する。
【００６２】
次に、ステップＳ８０２において、ノード１４０はサービスを提供するノードヘサービス要求を行うが、その要求が初回かどうか判断する。
ステップＳ８０２の判断の結果、初回のサービス要求の場合、ステップＳ８０３において、サービス提供ノードへサービス要求、認証子及び認可証明書を通知し、通知先のサービス提供ノードの通信識別子を記録する。
【００６３】
ステップＳ８０２の判断の結果、二回目以降のサービス要求の場合、ステップＳ８０４において、認可証明書を送信せず、他のサービス提供ノードへ以前に認可証明書を通知したサービス提供ノードの通信識別子及び認証子を送信し、サービス要求を行う。
そして、ステップＳ８０５において、別のサービス提供ノードヘサービスを要求する場合は、ステップＳ８０２に戻り、同様の動作を繰り返す。
【００６４】
次に、図９に示すフローチャートを参照して、ノード１４０がサービス提供ノードとして動作する場合の、初回のサービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップＳ９０１において、ノード１４０は、サービス要求ノードから、サービス要求、認証子、及び認可証明書の通知を受ける。
次に、ステップＳ９０２において、証明書検証部１４３にて受け取った認可証明書を検証する。
【００６５】
次に、ステップＳ９０２において、受け取った認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップＳ９０３において、受け取った認可証明書を認可証明書保持部１４２に保存し、要求されたサービスを提供する。
また、ステップＳ９０２において、受け取った認可証明書が正しくない、あういは該当のサービスが許可されていない場合、ステップＳ９０４において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップＳ９０３又はステップＳ９０４の動作が終了すると終了する。
【００６６】
次に、図１０に示すフローチャートを参照して、ノード１４０がサービス提供ノードとして動作する場合の、サービス要求を受けてサービスを提供する動作手順について説明する。
まず、ステップＳ１００１において、ノード１４０は、サービス要求ノードから、サービス要求、認証子、及び以前に認可証明書を通知したサービス提供ノードの通信識別子の通知を受ける。
次に、ステップＳ１００２において、該当のノード認可証明書が自身の認可証明書保持部１４２に登録されているかどうか確認する。
【００６７】
次に、ステップＳ１００２において、自身の認可証明書保持部１４２に該当の認可証明書が登録されていない場合、ステップＳ１００３において、認可証明書の通知を受けたこのとあるサービス提供ノードへ、認可証明書を要求する。
次に、ステップＳ１００３において、該当の証明書が見つからなかった場合、ステップＳ１００４において、サービス要求ノードに認可証明書を要求して取得する。
【００６８】
次に、ステップＳ１００３において、該当の証明書が見つかった場合、もしくはステップＳ１００４により該当の証明書を入手した場合、又はステップＳ１００２より該当の証明書が登録されていた場合、ステップＳ１００５において、その認可証明書の検証を行う。
次に、ステップＳ１００５において、該当の認可証明書が正しく、かつ該当のサービスが許可されている場合、ステップＳ１００６において、該当の認可証明書を認可証明書保持部１４２に登録、もしくは再登録し、要求されたサービスを提供する。
【００６９】
また、ステップＳ１００５において、該当の認可証明書が正しくない、あるいは該当のサービスが許可されていない場合、ステップＳ１００７において、サービスの提供が不許可であることを通知し、該当の認可証明書を削除する。
そして、ステップＳ１００６又はステップＳ１００７の動作が終了すると、一連の動作を終了する。
【００７０】
次に、図１１に示すフローチャートを参照して、ノード１４０がサービス提供ノードとして動作する場合の、ノードの認可証明書の要求を受けて該当する認可証明書を提供する動作手順について説明する。
まず、ステップＳ１１０１において、ノード１４０は、サービス提供ノードから、特定のノードの認可証明書の取得要求を受ける。
次に、ステップＳ１１０２において、該当ノードの認可証明書が自身の認可証明書保持部に登録されているかどうか確認する。
【００７１】
次に、ステップＳ１１０２において、該当ノードの認可証明書が登録されていた場合、ステップＳ１１０３において、認可証明書の取得要求を送信してきたノードに、該当の認可証明書を送信する。
また、ステップＳ１１０２において、該当ノードの認可証明書が登録されていなかった場合、ステップＳ１１０４において、認可証明書の取得要求を送信してきたノードに認可証明書提供不可という通知を転送する。
そして、ステップＳ１１０３、又はステップＳ１１０４の動作が終了すると、一連の動作を終了する。
【００７２】
以上説明したように、この発明によれば、同一のサービスを提供する、複数のサービス提供ノードに対して、同一の認可証明書を発行することが可能となる。従って、同一のサービスを提供する複数のサービス提供ノードが、同一の認可証明書により認可の判断を行うことが可能となる。従って、ノード毎に認可証明書を用意し、提示する必要がなくなる。
【００７３】
以上、本発明の実施形態について詳細に説明したが、本発明はこれら実施形態に限定されず、本発明の趣旨を逸脱することなく種々の変更が可能である。
例えば、既存の証明書発行サーバ１０が各ノード１４〜１７内に存在しても良い。その場合、各ノード１４〜１７が認証証明書及び認可証明書を発行できる。
また、認可証明書の送信、認可証明書の探索通知の送信の際の、送信データの暗号化や改ざん防止に利用する秘密鍵の交換方法は、公開鍵を利用して秘密鍵を交換する方法をとっても良い。その場合、ノード内に公開鍵保持部が必要であり、また、公開鍵暗号、公開鍵署名には既存の公開鍵暗号基盤が利用できる。
【図面の簡単な説明】
【００７４】
【図１】この発明の第１の実施形態である分散認証アクセス制御システムの全体構成を示す概略図である。
【図２】この発明の第１の実施形態である分散認証アクセス制御システムにおけるノードの構成を示すブロック図である。
【図３】第１実施形態によりサービスを利用するための動作手順を示すフローチャートである。
【図４】第１実施形態により初回サービスを提供する動作手順を示すフローチャートである。
【図５】第１実施形態によりサービスを提供する動作手順を示すフローチャートである。
【図６】第１実施形態により認可証明書を探索する動作手順を説明したフローチャートである。
【図７】この発明の第２実施形態である分散認証アクセス制御システムの全体構成を示す概略図である。
【図８】第２実施形態によりサービスを利用するための動作手順を示すフローチャートである。
【図９】第２実施形態により初回サービスを提供する動作手順を示すフローチャートである。
【図１０】第２実施形態によりサービスを提供する動作手順を説明したフローチャートである。
【図１１】第２実施形態により認可証明書を探索する動作手順を示すフローチャートである。
【図１２】従来の分散認証方式、分散アクセス制御方式を示す概略図である。
【符号の説明】
【００７５】
１０…証明書発行サーバ、１１…認証証明書発行部、１２…認可証明書発行部、１３…共有秘密鍵保持部、１４…ノードＡ、１５…ノードＢ、１６…ノードＣ、１７…ノードＤ、１４０…ノード、１４１…通信部、１４２…認可証明書保持部、１４３…証明書検証部、１４４…秘密鍵保持部
【図１】
0004718257.tif 000002
【図２】
0004718257.tif 000003
【図３】
0004718257.tif 000004
【図４】
0004718257.tif 000005
【図５】
0004718257.tif 000006
【図６】
0004718257.tif 000007
【図７】
0004718257.tif 000008
【図８】
0004718257.tif 000009
【図９】
0004718257.tif 000010
【図１０】
0004718257.tif 000011
【図１１】
0004718257.tif 000012
【図１２】
0004718257.tif 000013