(57)【特許請求の範囲】
【請求項１】
利用者による資源へのアクセス権限を管理する権限管理サーバにおいて、
前記利用者が前記権限管理サーバの管理下にない外部資源にアクセスする際に用い、前記権限管理サーバの管理下にある資源へのアクセスに使用する識別情報とは異なる仮名識別情報を生成し、前記外部資源のアクセス権限を管理する外部権限管理サーバに前記仮名識別情報を送信し、前記仮名識別情報に対応する前記利用者に前記外部資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求手段と、
前記トークンを前記利用者が使用する利用者端末に送信するトークン送信手段とを備えたことを特徴とした権限管理サーバ。
【請求項２】
前記トークン送信手段は、前記トークンのハッシュ値と前記仮名識別情報と前記権限管理サーバを識別する情報を含む発行証明書を生成しこの発行証明書を前記利用者端末に送信する機能を備え、
前記権限管理サーバの公開鍵で暗号化した前記発行証明書と平文の前記仮名識別情報を含む利用証明書を前記外部権限管理サーバから受信したときに作動し、前記暗号化された発行証明書を前記公開鍵に対応する秘密鍵で復号し、前記暗号化された発行証明書に含まれる前記仮名識別情報と前記平文の仮名識別情報とが一致するか否かを判定し、その判定結果を前記外部権限管理サーバに送信する利用者正当性検証手段とを備えたことを特徴とした請求項１に記載の権限管理サーバ。
【請求項３】
前記利用証明書には、前記仮名識別情報に対応するトークン利用署名鍵を用いたデジタル署名が付され、
前記トークン利用署名鍵に対応するトークン利用公開鍵と前記仮名識別情報を含むトークン利用公開鍵証明書を生成するトークン利用公開鍵証明書生成手段を備えたことを特徴とした請求項２に記載の権限管理サーバ。
【請求項４】
自己の管理下にない外部資源への利用者によるアクセスを管理する利用側権限管理サーバと前記外部資源に対するアクセス権限を管理する外部限管理サーバと、前記利用者が使用する利用者端末と前記外部資源を保持する資源サーバとを備えた権限管理システムにおいて、
前記利用側権限管理サーバは、
前記利用者が前記外部資源にアクセスする際に用い、前記利用側権限管理サーバの管理下にある資源へのアクセスに使用する識別情報とは異なる仮名識別情報を生成し、前記外部権限管理サーバに前記仮名識別情報を送信し、前記利用者に前記外部資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求手段と、
前記トークンを前記利用者端末に送信するトークン送信手段とを備え、
前記利用者端末は、
前記トークンを前記資源サーバに送信するトークン利用処理手段を備え、
前記外部権限管理サーバは、
前記トークンを生成して前記利用側権限管理サーバに送信すると共に前記トークンに関する情報をトークン記憶部に記憶するトークン発行手段を備え、
前記外部権限管理サーバと前記資源サーバのいずれか一方または両方は、前記トークンを受信したときに作動し、前記受信したトークンと前記トークン記憶部に記憶されている情報を照合して前記トークンが前記外部権限管理サーバにより前記利用者に対して発行されたものであるか否かを検証するトークン検証手段を備えたことを特徴とした権限管理システム。
【請求項５】
前記トークン送信手段は、前記トークンのハッシュ値と前記仮名識別情報と前記利用側権限管理サーバを識別する情報を含む発行証明書を生成しこの発行証明書を前記利用者端末に送信する機能を備え、
前記トークン利用処理手段は、前記利用側権限管理サーバの公開鍵で暗号化した前記発行証明書と平文の前記仮名識別情報を含む利用証明書を生成し前記資源サーバに送信する機能を備え、
前記外部権限管理サーバは、
前記資源サーバから前記証明書と前記トークンを受信したときに作動し、前記利用証明書を前記利用側権限管理サーバに送信して前記利用証明書を送信した利用者の正当性の検証を依頼する検証依頼手段とを備え
前記利用側権限管理サーバは、
前記利用証明書を前記外部権限管理サーバから受信したときに作動し、前記暗号化された発行証明書を前記公開鍵に対応する秘密鍵で復号し、前記暗号化された発行証明書に含まれる前記仮名識別情報と前記平文の仮名識別情報とが一致するか否かを判定し、その判定結果を前記外部権限管理サーバに送信する利用者正当性検証手段とを備えたことを特徴とした請求項４に記載の権限管理システム。
【請求項６】
前記利用証明書には、前記仮名識別情報に対応するトークン利用署名鍵を用いたデジタル署名が付され、
前記利用側権限管理サーバは、
前記トークン利用署名鍵に対応するトークン利用公開鍵と前記仮名識別情報を含むトークン利用公開鍵証明書を生成するトークン利用公開鍵証明書生成手段を備え、
前記外部権限管理サーバと前記資源サーバのいずれか一方または両方は、
前記利用証明書を受信したときに作動し、前記トークン利用公開鍵証明書から取得した前記トークン利用公開鍵を用いて前記利用証明書の正当性を検証する利用証明書検証手段を備えたことを特徴とした請求項５に記載の権限管理システム。
【請求項７】
自己の管理下にない外部資源への利用者によるアクセスを管理する利用側権限管理サーバと前記外部資源に対するアクセス権限を管理する外部限管理サーバと、前記利用者が使用する利用者端末と、前記外部資源を保持する資源サーバと、前記利用者により前記外部資源へのアクセス権限を譲渡された譲渡先利用者が利用する譲渡先利用者端末と、前記譲渡先利用者を管理する譲渡先権限管理サーバとを備えた権限管理システムにおいて、
前記利用側権限管理サーバは、
前記利用者が前記外部資源にアクセスする際に用い、前記利用側権限管理サーバの管理下にある資源へのアクセスに使用する識別情報とは異なる仮名識別情報を生成し、前記外部権限管理サーバに前記仮名識別情報を送信し、前記利用者に前記管理外資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求手段と、
前記トークンを前記利用者端末に送信するトークン送信手段とを備え、
前記利用者端末は、
前記トークンを前記譲渡先利用者端末に送信するトークン譲渡手段を備え、
前記譲渡先利用者端末は、
前記トークンを前記外部資源を保持する資源サーバに送信するトークン利用処理手段を備え、
前記外部権限管理サーバは、
前記トークンを生成して前記利用側権限管理サーバに送信すると共に前記トークンに関する情報をトークン記憶部に記憶するトークン発行手段を備え、
前記外部権限管理サーバと前記資源サーバのいずれか一方または両方は、前記トークンを受信したときに作動し、受信したトークンと前記トークン記憶部に記憶されている情報を照合して前記トークンが前記外部権限管理サーバにより前記利用者に対して発行されたものであるか否かを検証するトークン検証手段を備えたことを特徴とした権限管理システム。
【請求項８】
前記トークン送信手段は、前記トークンのハッシュ値と前記仮名識別情報と前記利用側権限管理サーバを識別する情報を含む発行証明書を生成しこの発行証明書を前記利用者端末に送信する機能を備え、
前記トークン譲渡手段は、前記利用側権限管理サーバの公開鍵で暗号化された前記発行証明書と平文の前記仮名識別情報とを含む譲渡証明書を生成し前記譲渡先利用者端末に送信する機能を備え、
前記トークン利用処理手段は、前記譲渡先権限管理サーバの公開鍵で暗号化された前記譲渡証明書と前記譲渡先利用者が前記譲渡先権限管理サーバの管理下の資源にアクセスするために用いる識別情報とは異なる平文の譲渡先利用者仮名識別情報とを含む利用証明書を生成し前記トークンと共に前記資源サーバに送信する機能を備え、
前記外部権限管理サーバは、
前記資源サーバから前記利用証明書と前記トークンを受信したときに作動し、前記利用証明書を前記譲渡先権限管理サーバに送信して前記利用証明書を送信した利用者の正当性の検証を依頼する検証依頼手段を備え、
前記譲渡先権限管理サーバは、
前記利用証明書を前記外部権限管理サーバから受信したときに作動し、前記暗号化された譲渡証明書を前記譲渡先権限管理サーバの公開鍵に対応する秘密鍵で復号し、前記暗号化された譲渡証明書に含まれる前記譲渡先利用者仮名識別情報と前記平文の譲渡先利用者仮名識別情報とが一致するか否かを判定する利用者正当性判定手段と、
前記復号した譲渡証明書を前記利用側権限管理サーバに送信し前記譲渡証明書を送信した利用者の正当性の検証を依頼する利用者正当性検証依頼手段と、
前記利用者正当性判定手段による判定結果と、前記利用者正当性検証依頼手段による依頼に対する前記利用側権限管理サーバからの応答を前記外部権限管理サーバに送信する応答手段とを備え、
前記利用側権限管理サーバは、
前記譲渡証明書を前記譲渡先権限管理サーバから受信したときに作動し、前記暗号化された発行証明書を前記利用側権限管理サーバの公開鍵に対応する秘密鍵で復号し、前記暗号化された発行証明書に含まれる前記仮名識別情報と前記平文の仮名識別情報とが一致するか否かを判定し、その判定結果を前記譲渡先権限管理サーバに送信する確認応答手段とを備えたことを特徴とした請求項７に記載の権限管理システム。
【請求項９】
前記譲渡証明書には、前記仮名識別情報に対応するトークン譲渡署名鍵を用いたデジタル署名が付され、
前記利用証明書には、前記譲渡先利用者仮名識別情報に対応するトークン利用署名鍵を用いたデジタル署名が付され、
前記利用側権限管理サーバは、
前記トークン譲渡署名鍵に対応するトークン譲渡公開鍵と前記仮名識別情報を含むトークン譲渡公開鍵証明書を生成するトークン譲渡公開鍵証明書生成手段を備え、
前記譲渡先権限管理サーバは、
前記トークン利用署名鍵に対応するトークン利用公開鍵と前記譲渡先利用者仮名識別情報を含むトークン利用公開鍵証明書を生成するトークン利用公開鍵証明書生成手段と、
前記譲渡証明書を受信したときに作動し、前記トークン譲渡公開鍵証明書から取得した前記トークン譲渡公開鍵を用いて前記譲渡証明書の正当性を検証する譲渡証明書検証手段を備え、
前記外部権限管理サーバと前記資源サーバのいずれか一方または両方は、
前記利用証明書を受信したときに作動し、前記トークン利用公開鍵証明書から取得した前記トークン利用公開鍵を用いて前記利用証明書の正当性を検証する利用証明書検証手段
を備えたことを特徴とした請求項８に記載の権限管理システム。
【請求項１０】
自己の管理下にない外部資源への利用者によるアクセスを管理する利用側権限管理サーバが、前記利用者が前記外部資源にアクセスする際に用い前記利用側権限管理サーバの管理下にある資源へのアクセスに使用する識別情報とは異なる仮名識別情報を生成し、前記外部権限管理サーバに前記仮名識別情報を送信し、前記利用者に前記管理外資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求ステップと、
前記外部権限管理サーバが前記トークンを生成して前記利用側権限管理サーバに送信すると共に前記トークンに関する情報をトークン記憶部に記憶するトークン発行ステップと、
前記利用側権限管理サーバが、前記トークンを前記利用者が使用する利用者端末に送信するトークン送信ステップと、
前記利用者端末が、前記トークンを前記外部資源を保持する資源サーバに送信するトークン利用処理ステップと、
前記外部権限管理サーバが前記トークンを受信したときに作動し、前記受信したトークンと前記トークン記憶部に記憶されている情報を照合して前記トークンが前記外部権限管理サーバにより前記利用者に対して発行されたものであるか否かを検証するトークン検証ステップを備えたことを特徴とした権限管理方法。
【請求項１１】
自己の管理下にない外部資源への利用者によるアクセスを管理する利用側権限管理サーバが、前記利用者が前記外部資源にアクセスする際に用い前記利用側権限管理サーバの管理下にある資源へのアクセスに使用する識別情報とは異なる仮名識別情報を生成し、前記外部権限管理サーバに前記仮名識別情報を送信し、前記利用者に前記管理外資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求ステップと、
前記外部権限管理サーバが、前記トークンを生成して前記利用側権限管理サーバに送信すると共に前記トークンに関する情報をトークン記憶部に記憶するトークン送信ステップと、
前記利用側権限管理サーバが、前記トークンを前記利用者が使用する利用者端末に送信するトークン送信ステップと、
前記利用者端末は、前記利用者から前記トークン譲渡される譲渡先利用者が利用する譲渡先利用者端末に前記トークンを送信するトークン譲渡ステップと、
前記譲渡先利用者端末が、前記トークンを前記外部資源を保持する資源サーバに送信するトークン利用処理ステップと、
前記外部権限管理サーバが前記トークンを受信したときに作動し、前記受信したトークンと前記トークン記憶部に記憶されている情報を照合して前記トークンが前記外部権限管理サーバにより前記利用者に対して発行されたものであるか否かを検証するトークン検証ステップとを備えたことを特徴とした権限管理方法。
【請求項１２】
利用者による資源へのアクセス権限を管理する権限管理サーバに搭載されたコンピュータに、
前記利用者が前記権限管理サーバの管理下にない外部資源にアクセスする際に用い、前記権限管理サーバの管理下にある資源へのアクセスに使用する識別情報とは異なる仮名識別情報を生成する機能と、前記外部資源のアクセス権限を管理する外部権限管理サーバに前記仮名識別情報を送信して前記仮名識別情報に対応する前記利用者に前記外部資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求機能と、
この要求に対応して前記外部権限管理サーバから送られてきたトークンを前記利用者が使用する利用者端末に送信するトークン送信機能とを実行させることを特徴とした権限管理プログラム。
【請求項１３】
利用者による資源へのアクセス権限を管理する権限管理サーバに搭載されたコンピュータに、
前記権限監視サーバの管理下にある資源へのアクセス権を表すトークンの発行依頼を他の権限管理サーバから仮名識別情報と共に受信した場合に作動し、この発行要求に対応するトークンを前記仮名識別情報に対して生成し当該他の権限管理サーバに送信すると共に当該発行したトークンに関する情報をメモリに記憶するトークン発行機能と、
前記管理下にある資源を保持する資源サーバからトークンを受信したときに作動し、この受信したトークンと前記メモリに記憶されている情報を照合して当該トークンが前記トークン発行機能で発行されたものであるか否かを検証するトークン検証機能とを実行させることを特徴とした権限管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者の資源に対するアクセス権限を管理する技術に関し、特に、ある権限管理サーバの管理下の利用者が、この資源管理サーバの管理下の資源にアクセスするために用いている識別情報を通知することなく、他の権限管理サーバの管理下にある資源にアクセスすることができるアクセス権限管理技術に関する。
【背景技術】
【０００２】
従来からコンテンツサーバ等の資源にアクセスできるユーザを限定するシステムにおいてそのシステムで閉じたアクセス制御技術が多数提案されている。
たとえば、特許文献１には、委譲権限証明書を利用した共有リソース管理システムが記載されている。
この共有リソース管理システムでは、譲渡クライアントが、委譲権限証明書発行機能を用いて管理対象リソースに対するアクセス権限の一時的又は限定的な譲渡を証明する委譲権限証明書を発行し、被譲渡クライアントは、委譲権限証明書格納機能を通じて委譲権限証明書を取得し、取得した委譲権限証明書に基づくアクセス要求であるディジタル代理署名をディジタル代理署名生成機能により生成し、リソース管理サーバはディジタル代理署名を受け取り、ディジタル代理署名検証機能及び委譲権限検証機能を通じて、被譲渡クライアントによる管理対象リソースへのアクセス要求が適正であるか否かの検証を行う。
【０００３】
【特許文献１】特開２００２−１６３２３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来のアクセス制御技術では、利用ユーザを限定するシステムが複数ある環境で、異なるシステムのコンテンツサーバにアクセスできるようにするためには、複数のシステムを包含した大規模な権限管理サーバを構築する必要があった。
そのため、複数のシステムを包含した大規模な権限管理サーバを有するシステムでは、ユーザの管理が一極集中し、権限管理サーバの負荷は大きくなるという問題があった。
また、あるシステムの管理下にあるユーザが管理者が異なる他のシステムの管理下にある資源を利用しようとする場合、他のシステムに当該ユーザのユーザ情報（たとえば、ユーザＩＤ）を伝える必要があるという問題があった。これは、システム管理者の立場からは、競業者に顧客情報が漏れてしまう危険があることを意味し、また、ユーザの立場からは、他システムにも個人情報が漏れてしまうことになるので、好ましくない。
【０００５】
そこで、本発明は、ユーザおよびユーザがコンテンツサーバなどの資源へアクセスできる権限を管理する権限管理サーバを有するシステムが複数あるような環境において、各々のシステムに所属するユーザが他システムの資源を利用する場合に、権限管理サーバで管理するユーザ情報を他システムの権限管理サーバに漏らさずに、他システムのコンテンツサーバにアクセスでき、また異なるシステムに所属するユーザ間でコンテンツサーバのアクセス権限の譲渡を行った場合でも、ユーザ情報を漏らさずに、譲渡されたアクセス権限を利用できる権限管理システム等を提供することをその目的とする。
【課題を解決するための手段】
【０００６】
本発明の権限管理サーバは、仮名識別情報を生成し、外部資源のアクセス権限を管理する外部権限管理サーバに仮名識別情報を送信し、仮名識別情報に対応する利用者に外部資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求手段と、トークンを利用者が使用する利用者端末に送信するトークン送信手段とを備えている（請求項１ないし請求項３）。
【０００７】
上記権限管理サーバによれば、仮名識別情報を用いて外部権限管理サーバにトークンの発行を依頼し、仮名識別情報に対して発行されたトークンを利用者端末に送信する。利用者は、このトークンを用いて外部資源にアクセスすることができる。
仮名識別情報は、利用者が権限管理サーバの管理下にある資源にアクセスするために用いている通常の識別情報（たとえば、ユーザＩＤ）とは異なるから、利用者は通常の識別情報を他のシステムに通知することなく、外部資源にアクセスすることができる。
【０００８】
上記権限管理サーバにおいて、トークン送信手段は、トークンのハッシュ値と仮名識別情報と権限管理サーバを識別する情報を含む発行証明書を生成しこの発行証明書を利用者端末に送信する機能を備え、権限管理サーバの公開鍵で暗号化した発行証明書と平文の仮名識別情報を含む利用証明書を外部権限管理サーバから受信したときに作動し、暗号化された発行証明書を公開鍵に対応する秘密鍵で復号し、暗号化された発行証明書に含まれる仮名識別情報と平文の仮名識別情報とが一致するか否かを判定し、その判定結果を外部権限管理サーバに送信する利用者正当性検証手段とを備えるようにしてもよい（請求項２）。
【０００９】
このようにすれば、トークンと発行証明書を取得した外部権限管理サーバ等が発行証明書を発行元の権限管理サーバに送信し、トークンが発行証明書に含まれている仮名識別情報に対応する利用者に対して発行されたものか否かの検証を依頼することができる。
そのため、トークンの不正取得等による第三者による外部資源への不正なアクセスを防止することができる。ここで、利用証明書には通常の利用者識別情報は含まれていないから、外部システムに通常の利用者情報がもれることもない。
【００１０】
上記権限管理サーバにおいて、利用証明書には、仮名識別情報に対応するトークン利用署名鍵を用いたデジタル署名を付し、トークン利用署名鍵に対応するトークン利用公開鍵と仮名識別情報を含むトークン利用公開鍵証明書を生成するトークン利用公開鍵証明書生成手段を備えるようにしてもよい（請求項３）。
【００１１】
このようにすれば、トークンを取得した外部権限管理サーバ等は、利用証明書を発行した権限管理サーバの公開鍵を用いて利用証明書を検証し、利用証明書の正当性を検証することができる。
そのため、利用証明書の改ざんや不正取得による外部資源への不正なアクセスを防止することができる。
【００１２】
本発明の権限管理システムは、利用側権限管理サーバと、外部限管理サーバと、利用者端末と、資源サーバとを備えている。
利用側権限管理サーバは、仮名識別情報を生成し、外部権限管理サーバに仮名識別情報を送信し、利用者に外部資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求手段と、トークンを利用者端末に送信するトークン送信手段とを備えている。
利用者端末は、トークンを資源サーバに送信するトークン利用処理手段を備えている。
外部権限管理サーバは、トークン生成して利用側権限管理サーバに送信する共にトークンに関する情報をトークン記憶部に記憶するトークン発行手段を備えている。
外部権限管理サーバと資源サーバのいずれか一方または両方は、トークンを受信したときに作動し、受信したトークンとトークン記憶部に記憶されている情報を照合してトークンが外部権限管理サーバにより利用者に対して発行されたものであるか否かを検証するトークン検証手段を備えている（請求項４ないし請求項６）。
【００１３】
上記権限管理システムによれば、利用側権限管理サーバは、仮名識別情報を用いて外部権限管理サーバにトークンの発行を依頼し、外部権限管理サーバはこれに応じて仮名識別情報に対してトークンを発行する。このとき、外部権限管理サーバは発行したトークンに関する情報をトークン記憶部に記憶しておく。
利用側権限管理サーバは、外部権限管理サーバにより発行されたトークンを利用者端末に送信する。利用者は、利用者端末でトークンを資源サーバに送信して外部資源にアクセスすることができる。
トークンを利用者端末から受信した資源サーバとそのトークンを資源サーバから転送された外部権限管理サーバは、受信したトークンとトークン記憶部に記憶されたトークンに関する情報を照合しトークンの正当性を検証することができる。
仮名識別情報は、利用者が権限管理サーバの管理下にある資源にアクセスするために用いている通常の識別情報とは異なるから、利用者は通常の識別情報を外部のシステムに通知することなく、外部資源にアクセスすることができる。
【００１４】
上記権限管理システムにおいて、トークン送信手段は、トークンのハッシュ値と仮名識別情報と利用側権限管理サーバを識別する情報を含む発行証明書を生成しこの発行証明書を利用者端末に送信する機能を備え、トークン利用処理手段は、利用側権限管理サーバの公開鍵で暗号化した発行証明書と平文の仮名識別情報を含む利用証明書を生成し資源サーバに送信する機能を備え、外部権限管理サーバは、資源サーバから証明書とトークンを受信したときに作動し、利用証明書を利用側権限管理サーバに送信して利用証明書を送信した利用者の正当性の検証を依頼する検証依頼手段とを備え利用側権限管理サーバは、利用証明書を外部権限管理サーバから受信したときに作動し、暗号化された発行証明書を公開鍵に対応する秘密鍵で復号し、暗号化された発行証明書に含まれる仮名識別情報と平文の仮名識別情報とが一致するか否かを判定し、その判定結果を外部権限管理サーバに送信する利用者正当性検証手段とを備えるようにしても良い（請求項５）。
【００１５】
このようにすれば、トークンと発行証明書を取得した外部権限管理サーバ等が発行証明書を利用側権限管理サーバに送信し、トークンが発行証明書に含まれている仮名識別情報に対応する利用者に対して発行されたものか否かの検証を依頼することができる。
そのため、トークンの不正取得等による第三者による外部資源への不正なアクセスを防止することができる。ここで、利用証明書には通常の利用者識別情報は含まれていないから、外部システムに通常の利用者情報がもれることもない。
【００１６】
上記権限管理システムにおいて、利用証明書には、仮名識別情報に対応するトークン利用署名鍵を用いたデジタル署名を付し、利用側権限管理サーバは、トークン利用署名鍵に対応するトークン利用公開鍵と仮名識別情報を含むトークン利用公開鍵証明書を生成するトークン利用公開鍵証明書生成手段を備え、外部権限管理サーバと資源サーバのいずれか一方または両方は、利用証明書を受信したときに作動し、トークン利用公開鍵証明書から取得したトークン利用公開鍵を用いて利用証明書の正当性を検証する利用証明書検証手段を備えるようにしても良い（請求項６）。
【００１７】
このようにすれば、トークンを取得した外部権限管理サーバ等は、まず、トークン利用公開鍵証明書を用いてトークン利用公開鍵の正当性を検証し、さらにトークン利用公開鍵を用いて利用証明書の正当性を検証することができる。
そのため、利用証明書の改ざんや不正取得による外部資源への不正なアクセスを防止することができる。
【００１８】
本発明の権限管理システムは、利用側権限管理サーバと、外部限管理サーバと、利用者端末と、資源サーバと、譲渡先利用者端末と、譲渡先権限管理サーバとを備えている。
利用側権限管理サーバは、仮名識別情報を生成し、外部権限管理サーバに仮名識別情報を送信し、利用者に管理外資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求手段と、トークンを利用者端末に送信するトークン送信手段とを備えている。
利用者端末は、トークンを譲渡先利用者端末に送信するトークン譲渡手段を備えている。
譲渡先利用者端末は、トークンを外部資源を保持する資源サーバに送信するトークン利用処理手段を備えている。
外部権限管理サーバは、トークンを生成して利用側権限管理サーバに送信すると共にトークンに関する情報をトークン記憶部に記憶するトークン発行手段を備えている。
外部権限管理サーバと資源サーバのいずれか一方または両方は、トークンを受信したときに作動し、受信したトークンとトークン記憶部に記憶されている情報を照合してトークンが外部権限管理サーバにより利用者に対して発行されたものであるか否かを検証するトークン検証手段を備えている（請求項７ないし請求項９）。
【００１９】
上記権限管理システムによれば、利用側権限管理サーバは、仮名識別情報を用いて外部権限管理サーバにトークンの発行を依頼し、外部権限管理サーバはこれに応じて仮名識別情報に対してトークンを発行する。このとき、外部権限管理サーバは発行したトークンに関する情報をトークン記憶部に記憶しておく。
利用側権限管理サーバは、外部権限管理サーバにより発行されたトークンを利用者端末に送信する。利用者は、利用者端末でトークンを譲渡先利用者端末に送信することにより外部資源へのアクセス権を譲渡先利用者に譲渡することができる。譲渡先利用者は、譲渡先利用者端末で資源サーバに譲渡されたトークンを送信して外部資源にアクセスすることができる。
トークンを譲渡先利用者端末から受信した資源サーバとそのトークンを資源サーバから転送された外部権限管理サーバは、受信したトークンとトークン記憶部に記憶されたトークンに関する情報を照合しトークンの正当性を検証することができる。
仮名識別情報は、利用者が権限管理サーバの管理下にある資源にアクセスするために用いている通常の識別情報とは異なるから、利用者は通常の識別情報を外部のシステムに通知することなく、トークンを譲渡先利用者に譲渡し、譲渡先利用者はこのトークンを用いて外部資源にアクセスすることができる。
【００２０】
上記権限管理システムにおいて、トークン送信手段は、トークンのハッシュ値と仮名識別情報と利用側権限管理サーバを識別する情報を含む発行証明書を生成しこの発行証明書を利用者端末に送信する機能を備え、トークン譲渡手段は、利用側権限管理サーバの公開鍵で暗号化された発行証明書と平文の仮名識別情報とを含む譲渡証明書を生成し譲渡先利用者端末に送信する機能を備え、トークン利用処理手段は、譲渡先権限管理サーバの公開鍵で暗号化された譲渡証明書と譲渡先利用者が譲渡先権限管理サーバの管理下の資源にアクセスするために用いる識別情報とは異なる平文の譲渡先利用者仮名識別情報とを含む利用証明書を生成しトークンと共に資源サーバに送信する機能を備え、外部権限管理サーバは、資源サーバから利用証明書とトークンを受信したときに作動し、利用証明書を譲渡先権限管理サーバに送信して利用証明書を送信した利用者の正当性の検証を依頼する検証依頼手段を備え、譲渡先権限管理サーバは、利用証明書を外部権限管理サーバから受信したときに作動し、暗号化された譲渡証明書を譲渡先権限管理サーバの公開鍵に対応する秘密鍵で復号し、暗号化された譲渡証明書に含まれる譲渡先利用者仮名識別情報と平文の譲渡先利用者仮名識別情報とが一致するか否かを判定する利用者正当性判定手段と、復号した譲渡証明書を利用側権限管理サーバに送信し譲渡証明書を送信した利用者の正当性の検証を依頼する利用者正当性検証依頼手段と、利用者正当性判定手段による判定結果と、利用者正当性検証依頼手段による依頼に対する利用側権限管理サーバからの応答を外部権限管理サーバに送信する応答手段とを備え、利用側権限管理サーバは、譲渡証明書を譲渡先権限管理サーバから受信したときに作動し、暗号化された発行証明書を利用側権限管理サーバの公開鍵に対応する秘密鍵で復号し、暗号化された発行証明書に含まれる仮名識別情報と平文の仮名識別情報とが一致するか否かを判定し、その判定結果を譲渡先権限管理サーバに送信する確認応答手段とを備えるようにしても良い（請求項８）。
【００２１】
このようにすれば、トークンと利用証明書を取得した外部権限管理サーバ等は利用証明書に含まれる譲渡証明書を譲渡先権限管理サーバに送信し、トークンが利用証明書に含まれている仮名識別情報に対応する利用者に対して譲渡されたものか否かの検証を依頼することができる。また、譲渡証明書を取得した譲渡先権限管理サーバが譲渡証明書に含まれる発行証明書を利用側権限管理サーバに送信し、トークンが発行証明書に含まれている仮名識別情報に対応する利用者に対して発行されたものか否かの検証を依頼することができる。
そのため、トークンの不正取得等による第三者による外部資源への不正なアクセスを防止することができる。ここで、利用証明書と譲渡証明書には通常の利用者識別情報は含まれていないから、外部システムに通常の利用者情報がもれることもない。
【００２２】
上記権限管理システムにおいて、譲渡証明書には、仮名識別情報に対応するトークン譲渡署名鍵を用いたデジタル署名を付し、利用証明書には、譲渡先利用者仮名識別情報に対応するトークン利用署名鍵を用いたデジタル署名を付し、利用側権限管理サーバは、トークン譲渡署名鍵に対応するトークン譲渡公開鍵と仮名識別情報を含むトークン譲渡公開鍵証明書を生成するトークン譲渡公開鍵証明書生成手段を備え、譲渡先権限管理サーバは、トークン利用署名鍵に対応するトークン利用公開鍵と譲渡先利用者仮名識別情報を含むトークン利用公開鍵証明書を生成するトークン利用公開鍵証明書生成手段と、譲渡証明書を受信したときに作動し、トークン譲渡公開鍵証明書から取得したトークン譲渡公開鍵を用いて譲渡証明書の正当性を検証する譲渡証明書検証手段を備え、外部権限管理サーバと資源サーバのいずれか一方または両方は、利用証明書を受信したときに作動し、トークン利用公開鍵証明書から取得したトークン利用公開鍵を用いて利用証明書の正当性を検証する利用証明書検証手段を備えるようにしても良い（請求項９）。
【００２３】
このようにすれば、トークンを取得した外部権限管理サーバ等は、まず、トークン利用公開鍵証明書を用いてトークン利用公開鍵の正当性を検証し、さらにトークン利用公開鍵を用いて利用証明書の正当性を検証することができる。また、譲渡証明書を取得した譲渡先利用者端末は、まず、トークン譲渡公開鍵証明書を用いてトークン譲渡公開鍵の正当性を検証し、さらにトークン譲渡公開鍵を用いて譲渡証明書の正当性を検証することができる。
そのため、利用証明書と譲渡証明書の改ざんや不正取得による外部資源への不正なアクセスを防止することができる。
【００２４】
本発明の権限管理方法は、利用側権限管理サーバが、仮名識別情報を生成し、外部権限管理サーバに仮名識別情報を送信し、利用者に管理外資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求ステップと、外部権限管理サーバがトークンを生成して利用側権限管理サーバに送信すると共にトークンに関する情報をトークン記憶部に記憶するトークン発行ステップと、利用側権限管理サーバが、トークンを利用者が使用する利用者端末に送信するトークン送信ステップと、利用者端末が、トークンを外部資源を保持する資源サーバに送信するトークン利用処理ステップと、外部権限管理サーバがトークンを受信したときに作動し、受信したトークンとトークン記憶部に記憶されている情報を照合してトークンが外部権限管理サーバにより利用者に対して発行されたものであるか否かを検証するトークン検証ステップにより外部資源へのアクセス権限を管理する（請求項１０）。
【００２５】
上記権限管理方法によれは、利用側権限管理サーバは、仮名識別情報を用いて外部権限管理サーバにトークンの発行を依頼し、外部権限管理サーバはこれに応じて仮名識別情報に対してトークンを発行する。このとき、外部権限管理サーバは発行したトークンに関する情報をトークン記憶部に記憶しておく。
利用側権限管理サーバは、外部権限管理サーバにより発行されたトークンを利用者端末に送信する。利用者は、利用者端末でトークンを資源サーバに送信して外部資源にアクセスすることができる。
トークンを資源サーバを介して利用者端末から受信した外部権限管理サーバは、受信したトークンとトークン記憶部に記憶されたトークンに関する情報を照合しトークンの正当性を検証することができる。
仮名識別情報は、利用者が権限管理サーバの管理下にある資源にアクセスするために用いている通常の識別情報とは異なるから、利用者は通常の識別情報を外部のシステムに通知することなく、外部資源にアクセスすることができる。
【００２６】
本発明の権限管理方法は、利用側権限管理サーバが、仮名識別情報を生成し、外部権限管理サーバに仮名識別情報を通知し、利用者に管理外資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求ステップと、外部権限管理サーバが、トークンを生成して利用側権限管理サーバに送信すると共にトークン関する情報をトークン記憶部に記憶するトークン発行ステップと、利用側権限管理サーバが、トークンを利用者が使用する利用者端末に送信するトークン発行ステップと、利用者端末が、利用者からトークン譲渡される譲渡先利用者が利用する譲渡先利用者端末にトークンを送信するトークン譲渡ステップと、譲渡先利用者端末が、トークンを外部資源を保持する資源サーバに送信するトークン利用処理ステップと、外部権限管理サーバがトークンを受信したときに作動し、受信したトークンとトークン記憶部に記憶されている情報を照合してトークンが外部権限管理サーバにより利用者に対して発行されたものであるか否かを検証するトークン検証ステップにより外部資源へのアクセス権限を管理する（請求項１１）。
【００２７】
上記権限管理方法によれば、利用側権限管理サーバは、仮名識別情報を用いて外部権限管理サーバにトークンの発行を依頼し、外部権限管理サーバはこれに応じて仮名識別情報に対してトークンを発行する。このとき、外部権限管理サーバは発行したトークンに関する情報をトークン記憶部に記憶しておく。
利用側権限管理サーバは、外部権限管理サーバにより発行されたトークンを利用者端末に送信する。利用者は、利用者端末でトークンを譲渡先利用者端末に送信することにより外部資源へのアクセス権を譲渡先利用者に譲渡することができる。譲渡先利用者は、譲渡先利用者端末で資源サーバに譲渡されたトークンを送信して外部資源にアクセスすることができる。
トークンを譲渡先利用者端末から受信した資源サーバとそのトークンを資源サーバから転送された外部権限管理サーバは、受信したトークンとトークン記憶部に記憶されたトークンに関する情報を照合しトークンの正当性を検証することができる。
仮名識別情報は、利用者が権限管理サーバの管理下にある資源にアクセスするために用いている通常の識別情報とは異なるから、利用者は通常の識別情報を外部のシステムに通知することなく、トークンを譲渡先利用者に譲渡し、譲渡先利用者はこのトークンを用いて外部資源にアクセスすることができる。
【００２８】
本発明の権限管理プログラムは、利用者による資源へのアクセス権限を管理する権限管理サーバに搭載されたコンピュータに、前記利用者が前記権限管理サーバの管理下にない外部資源にアクセスする際に用い、前記権限管理サーバの管理下にある資源へのアクセスに使用する識別情報とは異なる仮名識別情報を生成する機能と、前記外部資源のアクセス権限を管理する外部権限管理サーバに前記仮名識別情報を送信して前記仮名識別情報に対応する前記利用者に前記外部資源へのアクセス権を付与するトークンの発行を要求するトークン発行要求機能と、この要求に対応して前記外部権限管理サーバから送られてきたトークンを前記利用者が使用する利用者端末に送信するトークン送信機能とを実行させることを特徴とした（請求項１２）。
また、本発明の権限管理プログラムは、利用者による資源へのアクセス権限を管理する権限管理サーバに搭載されたコンピュータに、他の権限管理サーバからトークン発行要求を受けたときに作動し、前記管理下にある資源へのアクセス権となるトークンを生成して当該他の権限管理サーバに送信すると共に当該トークンに関する情報をメモリに記憶するトークン発行機能と、前記トークンを受信したときに作動し、この受信したトークンと前記メモリに記憶されている情報を照合して当該トークンが前記トークン発行機能で発行されたものであるか否かを検証するトークン検証機能とを実行させることを特徴とした。
【００２９】
上記権限管理プログラムによれば、権限管理サーバは、仮名識別情報を用いて外部権限管理サーバ（他の権限管理サーバ）にトークンの発行を依頼し、外部権限管理サーバはこれに応じて仮名識別情報に対してトークンを発行する。このとき、外部権限管理サーバは発行したトークンに関する情報をメモリに記憶しておく。
権限管理サーバは、外部権限管理サーバにより発行されたトークンを利用者端末に送信する。利用者は、利用者端末でトークンを資源サーバに送信して外部資源にアクセスすることができる。
利用者端末から資源サーバを介してトークンを受信した外部権限管理サーバは、受信したトークンとトークン記憶部に記憶された情報を照合しトークンの正当性を検証することができる。
仮名識別情報は、利用者が権限管理サーバの管理下にある資源にアクセスするために用いている通常の識別情報とは異なるから、利用者は通常の識別情報を外部のシステムに通知することなく、外部資源にアクセスすることができる。
【発明の効果】
【００３２】
本発明によれば、権限管理サーバは、仮名識別情報を用いて外部権限管理サーバにトークンの発行を依頼し、仮名識別情報に対して発行されたトークンを利用者端末に送信する。利用者は、このトークンを用いて外部資源にアクセスすることができる。
仮名識別情報は、利用者が権限管理サーバの管理下にある資源にアクセスするために用いている通常の識別情報とは異なるから、利用者は通常の識別情報を他のシステムに通知することなく、外部資源にアクセスすることができる。
【発明を実施するための最良の形態】
【００３３】
以下、図を参照しながら本発明の一実施形態である権限管理システム７０の構成と動作について説明する。
図１は、権限管理システム７０の全体の構成を示す図である。
権限管理システム７０は、ネットワーク７１にそれぞれ接続され、それぞれ異なる管理者の管理下にある複数のサブシステムにより構成される。権限管理システム７０を構成するサブシステムの数に制限はないが、図１には一例としてサブシステム１、２、３の３個のサブシステムにより構成される例を示している。
サブシステム１は、１台または複数台のコンテンツサーバ５０ａと、コンテンツサーバ５０ａにアクセスする１台または複数台のユーザ端末３０ａ、コンテンツサーバ５０ａへのアクセス権限の管理をする１台の権限管理サーバ１０ａを備えている。権限管理サーバ１０ａ、ユーザ端末３０ａ、コンテンツサーバ５０ａは、たとえばＬＡＮに接続され相互に通信可能となっている。
サブシステム２およびサブシステム３もサブシステム１と同様の構成要素を備えている。
【００３４】
権限管理システム７０においては、ユーザ端末は、自分が属するサブシステムのコンテンツサーバだけではなく、他のサブシステムのコンテンツサーバにアクセスすることができる。また、ユーザ端末は、自分が属するサブシステムの他のユーザ端末だけでなく、他のサブシステムに属するユーザ端末にアクセス権限を譲渡することもできる。権限管理システム７０は、このような、他システムのコンテンツサーバへのアクセスや他システムのユーザ端末へのアクセス権限譲渡を仮のユーザ名を利用した署名生成用鍵、署名検証用鍵、署名検証用鍵の証明書を用いて行うことにより、他のサブシステムへユーザ情報が漏洩することを防止する。
【００３５】
図２は、権限管理システム７０の動作の概要を示す図である。
サブシステム１のユーザ端末３０ａ（利用者端末の一例）が、サブシステム３のコンテンツサーバ５０ｃ（資源サーバの一例）が保持する資源（外部資源の一例）にアクセスするためのトークンをサブシステム２のユーザ端末３０ｂ（譲渡先利用者端末の一例）に譲渡し、ユーザ端末３０ｂがそのトークンを用いてコンテンツサーバ５０ｃにアクセスする場合を例に説明する。
ユーザ端末３０ａは、コンテンツサーバ５０ｃにアクセスする権限を得るため、権限管理サーバ１０ａ（利用側権限管理サーバの一例）に対してトークンの発行要求を行う（Ｓ１０１）。
権限管理サーバ１０ａは、コンテンツサーバ５０ｃのアクセス権限を管理する権限管理サーバ１０ｃ（外部権限管理サーバの一例）に対して、トークンの発行依頼を送信する（Ｓ１０２）。
トークン発行依頼を受信した権限管理サーバ１０ｃは、トークンを生成し、そのトークンを権限管理サーバ１０ａに送信する（Ｓ１０３）。
権限管理サーバ１０ａは、受信したトークンをユーザ端末３０ａに送信する（Ｓ１０４）。その際に、権限管理サーバ１０ａは、トークンをユーザ端末３０ａに発行したことを証明する発行証明書もユーザ端末３０ａに送信する。
【００３６】
ユーザ端末３０ａは、Ｓ１０４で受信したコンテンツサーバ５０ｃにアクセスできる権限を表すトークンをユーザ端末３０ｂに譲渡する（Ｓ１０５）。その際に、ユーザ端末３０ａは、権限管理サーバ１０ａで認証を行うためのユーザ情報とは異なる仮のユーザ情報を用いて、発行証明書の情報を含む譲渡証明書を生成し、トークンと共にユーザ端末３０ｂに送信する。
仮のユーザ情報とは、事前にユーザが所属するシステムの権限管理サーバに登録した他システムで利用するための仮のユーザ名（仮名識別情報の一例）とユーザが秘密に管理する署名生成用鍵を指す。ユーザ端末３０ａは、その仮のユーザ名の署名検証用鍵も事前に所属するシステムの権限管理サーバ１０ａに登録し、その権限管理サーバ１０ａから署名検証用鍵の証明書である譲渡用公開鍵証明書、トークン利用公開鍵証明書を取得し、保管しておく。
【００３７】
ユーザ端末３０ｂはコンテンツサーバ５０ｃにユーザ端末３０ａから受信したトークンを送り、アクセス要求を行う。その際に、ユーザ端末３０ｂは権限管理サーバ１０ｂ（譲渡先権限管理サーバの一例）で認証を行うためのユーザ情報とは異なる仮のユーザ情報（譲渡先仮名識別情報の一例）を用いて、譲渡証明書の情報を含む利用証明書を生成し、コンテンツサーバ５０ｃに送信する（Ｓ１０６）。
コンテンツサーバ５０ｃは、権限管理サーバ１０ｃに対して、ユーザ端末３０ｂから受信したトークンおよび利用証明書を送信し、アクセス権限の確認を依頼する（Ｓ１０７）。
権限管理サーバ１０ｃは、権限管理サーバ１０ｂに対して、利用証明書を送信し、それに含まれているユーザ端末２０ｂのユーザ正当性確認を要求する（Ｓ１０８）。
権限管理サーバ１０ｂは、権限管理サーバ１０ａに対して、譲渡証明書を送信し、それに含まれるトークンの譲渡元であったユーザ端末３０ａのユーザ正当性確認を要求する（Ｓ１０９）。
権限管理サーバ１０ａは、権限管理サーバ１０ｂに対して、正当性確認の結果を返信する（Ｓ１１０）。
権限管理サーバ１０ｂは、権限管理サーバ１０ｃに対して、正当性確認の結果を返信する（Ｓ１１１）。
権限管理サーバ１０ｃは、権限管理サーバ１０ｂからの正当性確認の結果とトークンの有効性の確認を行い、その結果をコンテンツサーバ５０ｃに返信する（Ｓ１１２）。
コンテンツサーバ５０ｃは、権限管理サーバ１０ｃからの権限確認の結果によりユーザ端末３０ｂのアクセス要求に応じるか否かを決定する。
【００３８】
図３は、権限管理サーバ１０ａ、１０ｂ、１０ｃの構成を示す機能ブロック図である。
権限管理サーバ１０ａ等は、たとえばＣＰＵ(Central Processing Unit)を備えたサーバコンピュータであり、キーボード等の入力部１１、ディスプレイ装置等の出力部１２、ＬＡＮ(Local Area Network)アダプタ等のデータ通信部１３、データ処理部１４、ＲＡＭ(Random Access Memory)等のデータ記憶部１５を備えている。
データ処理部１４はトークン発行依頼処理手段１６、トークン発行処理手段１７、発行証明書生成処理手段１８、利用トークン検証処理手段１９、ユーザ正当性確認要求手段２０、ユーザ正当性確認手段２１、発行証明書検証のユーザ正当性確認応答手段２２、譲渡証明書検証のユーザ正当性確認応答手段２３、アクセス権の確認応答手段２４から成る。
これらデータ処理部１４を構成する各手段は、たとえば、権限管理サーバ１０ａ等のＣＰＵがコンピュータプログラムを実行し、権限管理サーバ１０ａのハードウェアを制御することにより実現される。
データ記憶部１５は、ユーザ情報記憶部２５、署名生成用鍵記憶部２６、トークン記憶部２７、暗号復号鍵記憶部２８、署名検証用鍵記憶部２９から成る。
【００３９】
トークン発行依頼処理手段１６（トークン発行要求手段の一例）は、データ通信部１３を介してユーザ端末からトークンの発行要求を受信すると、ユーザの仮名ＩＤを生成し、仮名ＩＤを本来のＩＤと対応付けてユーザ情報記憶部２５に記憶し、データ通信部１３からアクセス権を取得しようとするコンテンツサーバが所属するサブシステムの権限管理サーバにトークン発行を依頼する。
【００４０】
トークン発行処理手段１７（トークン発行手段の一例）は、データ通信部１３を介して他の権限管理サーバからのトークンの発行依頼を受信すると、署名生成用鍵記憶部２６から権限管理サーバの署名生成用鍵を用いて、トークン８１を発行し、トークン記憶部２７に記憶する。そして、そのトークンをデータ通信部１３を介して依頼元の権限管理サーバに返信する。
【００４１】
発行証明書生成処理手段１８（トークン送信手段の一例）は、データ通信部１３を介して他の権限管理サーバからトークンを受信すると、署名生成用鍵記憶部２６から読み出した権限管理サーバの署名生成用鍵を用いて、発行証明書８２を生成する。そして、データ通信部１３から発行証明書８２とトークン８１をユーザ端末に返信する。
【００４２】
利用トークン検証処理手段１９（トークン検証手段の一例）は、データ通信部１３を介してコンテンツサーバからトークン８１と利用証明書８７を受信すると、トークン記憶部２７を参照し、受信したトークンがすでに利用されたトークンではないかどうか、また、アクセス権限情報を満たしているかどうかの整合性チェックを行う。
【００４３】
ユーザ正当性確認要求手段２０（検証依頼手段の一例）は、データ通信部１３を介してコンテンツかサーバからトークンが１回だけ譲渡された場合の譲渡証明書８３を受信すると、譲渡証明書８３に含まれる暗号化された発行証明書部分と譲渡元ユーザ名（仮名ＩＤ）をデータ通信部１３から譲渡元ユーザが所属する権限管理サーバに送信する。
また、データ通信部１３を介してコンテンツサーバからトークンが２回以上譲渡された場合の譲渡証明書８４を受信すると、譲渡証明書８４に含まれる暗号化された譲渡証明書部分と譲渡元ユーザ名（仮名ＩＤ）をデータ通信部１３から譲渡元ユーザが所属する権限管理サーバに送信する。
また、データ通信部１３を介してコンテンツサーバから利用証明書８６を受信すると、利用証明書８６に含まれる暗号化された発行証明書部分と利用ユーザ名（仮名ＩＤ）をデータ通信部１３からコンテンツサーバにアクセスしようとするユーザが所属する権限管理システムの権限管理サーバに送信する。
また、データ通信部１３を介してコンテンツサーバから利用証明書８７を受信すると、利用証明書８７に含まれる暗号化された譲渡証明書部分と利用ユーザ名（仮名ＩＤ）をデータ通信部１３からコンテンツサーバにアクセスしようとするユーザが所属する権限管理システムの権限管理サーバに送信する。
【００４４】
ユーザ正当性確認手段２１は、データ通信部１３を介して他の権限管理サーバから譲渡証明書８３に含まれる暗号化された発行証明書部分と譲渡元ユーザ名（仮名ＩＤ）を受信すると、暗号復号鍵記憶部２８から読み出した権限管理サーバのみが知る復号用鍵を用いて、暗号化されていた発行証明書を復号する。復号した発行証明書のトークン要求ユーザ名と受信した譲渡元ユーザ名（仮名ＩＤ）の比較を行い、ユーザ情報記憶部２５に記憶されているトークン要求ユーザ名と受信した譲渡元ユーザ名（仮名ＩＤ）が同一のユーザのものか確認する。
また、データ通信部１３を介して他の権限管理サーバから譲渡証明書８４に含まれる暗号化された譲渡証明書部分と譲渡元ユーザ名（仮名ＩＤ）を受信すると、暗号復号鍵記憶部２８から読み出した権限管理サーバのみが知る復号用鍵を用いて、暗号化されていた譲渡証明書を復号する。復号した譲渡証明書の譲渡先ユーザ名（仮名ＩＤ）と受信した譲渡元ユーザ名（仮名ＩＤ）の比較を行い、ユーザ情報記憶部２５に記憶されているトークン要求ユーザ名と受信した譲渡元ユーザ名（仮名ＩＤ）が同一のユーザのものか確認する。
また、データ通信部１３を介して他の権限管理サーバから利用証明書８６に含まれる暗号化された発行証明書部分と利用ユーザ名（仮名ＩＤ）を受信すると、暗号復号鍵記憶部２８から読み出した権限管理サーバのみが知る復号用鍵を用いて、暗号化されていた発行証明書を復号する。復号した発行証明書のトークン要求ユーザ名と受信した利用ユーザ名（仮名ＩＤ）の比較を行い、ユーザ情報記憶部２５に記憶されているトークン要求ユーザ名と受信した利用ユーザ名（仮名ＩＤ）が同一のユーザのものか確認する。
また、データ通信部１３を介して他の権限管理サーバから利用証明書８７に含まれる暗号化された譲渡証明書部分と利用ユーザ名（仮名ＩＤ）を受信すると、暗号復号鍵記憶部２８から読み出した権限管理サーバのみが知る復号用鍵を用いて、暗号化されていた譲渡証明書を復号する。復号した譲渡証明書の譲渡先ユーザ名（仮名ＩＤ）と受信した利用ユーザ名（仮名ＩＤ）の比較を行い、ユーザ情報記憶部２５に記憶されているトークン要求ユーザ名と受信した利用ユーザ名（仮名ＩＤ）が同一のユーザのものか確認する。
【００４５】
発行証明書検証のユーザ正当性確認応答手段２２はユーザの正当性確認結果と発行証明書に含まれるトークンのハッシュ値とユーザ情報記憶部２６から取得した仮名ＩＤをデータ通信部１３から権限管理サーバに送信する。
【００４６】
譲渡証明書検証のユーザ正当性確認応答手段２３はデータ通信部１３を介して他の権限管理サーバからユーザの正当性確認結果とトークンのハッシュ値と仮名ＩＤを受信すると、ユーザ正当性確認したユーザの仮名ＩＤを生成する。そして、受信したユーザの正当性確認結果とトークンのハッシュ値と仮名ＩＤに、さらにユーザ正当性確認したユーザの仮名ＩＤを追加して、データ通信部１３から権限管理サーバに返信する。
【００４７】
アクセス権の確認応答手段２４はデータ通信部１３を介して他の権限管理サーバからユーザの正当性確認結果、利用証明書に含まれたトークンのハッシュ値、仮名ＩＤを受信すると、トークン記憶部２７からトークンを取得し、受信したトークンのハッシュ値と一致するかを確認する。その確認結果をデータ通信部１３からコンテンツサーバに返信する。
【００４８】
ユーザ情報記憶部２５には、ユーザに対して発行した仮名ＩＤがサブシステム内の資源にアクセスするために用いる通常のユーザＩＤと対応付けされて記憶されている。
署名生成用鍵記憶部２６には、トークンと発行証明書に電子署名を行うために使用する鍵が記憶されている。
トークン記憶部２７には、自己が発行したトークンに関する情報と、他の権限管理サーバ、資源サーバ、ユーザ端末から受信したトークンが記憶されている。
暗号復号鍵記憶２８には、譲渡証明書に含まれる暗号化された発行証明書を復号するための秘密鍵と発行証明書に含まれる暗号化された譲渡証明書を復号するための秘密鍵が記憶されている。
署名検証用鍵記憶部２９には、譲渡証明書と利用証明書に付されている電子署名を検証するためのユーザの公開鍵が記憶されている。この公開鍵は、通常のユーザＩＤではなく、仮名ＩＤに対応して生成されている。
【００４９】
図４は、ユーザ端末３０ａ、３０ｂ、３０ｃの構成を示す機能ブロック図である。
ユーザ端末３０ａ等は、たとえばＣＰＵを備えたパーソナルコンピュータであり、キーボード等の入力部３１、ディスプレイ装置等の出力部３２、ＬＡＮアダプタ等のデータ通信部３３、データ処理部３４、ＲＡＭ等のデータ記憶部３５を備えている。
データ処理部３４は、トークン発行要求処理手段３６、発行トークン検証手段３７、発行証明書検証手段３８、トークン譲渡処理手段３９、トークン譲渡検証手段４０、譲渡証明書検証手段４１、トークン利用処理手段４２から成る。
これらのデータ処理部３４を構成する各手段は、たとえば、ユーザ端末３０ａ等のＣＰＵがコンピュータプログラムを実行し、ユーザ端末３０ａのハードウェアを制御することにより実現される。
【００５０】
トークン発行要求手段３６は、ユーザ情報記憶部４３からユーザ情報を取得し、入力部３１を介してユーザから入力されたコンテンツサーバのアクセス権限をあらわすトークン要求情報と共にデータ通信部３３に送る。
【００５１】
発行トークン検証手段３７はデータ通信部３３を介して権限管理サーバからトークン８１を受信すると、署名検証用鍵記憶部４４から事前に取得しておいた権限管理サーバの署名検証用鍵を用いて、トークン８１を検証する。そして、トークン記憶部４５にトークンを記憶する。
【００５２】
発行証明書検証手段３８は、データ通信部３３を介して権限管理サーバから発行証明書８２を受信すると、署名検証用鍵記憶部４４から取得した権限管理サーバの署名検証用鍵を用いて、発行証明書８２を検証し、発行証明書記憶部４６に記憶する。
【００５３】
トークン譲渡処理手段３９（トークン譲渡手段の一例）は、入力部３１を介してユーザから入力された譲渡先ユーザ名（仮名ＩＤ）と譲渡処理要求を受信すると、ユーザ情報記憶部４３から他システムで利用するための仮のユーザ名となる譲渡元ユーザ名（仮名ＩＤ）を取得し、署名生成用鍵記憶部４７から読み出した譲渡元ユーザ（仮名ＩＤ）の署名生成用鍵を用いて、譲渡証明書８３を生成し、トークン記憶部４５から譲渡するトークン８１を取得し、譲渡証明書８３と共にデータ通信部１３から譲渡先のユーザ端末に送信する。
【００５４】
トークン譲渡検証手段４０は、データ通信部３３を介して他のユーザ端末から譲渡されたトークン８１を受信すると、署名検証用鍵記憶部４４から事前に取得しておいた権限管理サーバの署名検証用鍵を用いて、トークン８１を検証する。そして、トークン記憶部４５にトークンを記憶する。
【００５５】
譲渡証明書検証手段４１は、データ通信部３３を介して他のユーザ端末から譲渡証明書８３を受信すると、署名検証用鍵記憶部４４から事前に取得しておいた譲渡用公開鍵を用いて譲渡証明書８３を検証し、検証に合格すると譲渡証明書８３を譲渡証明書記憶部４８に記憶する。
【００５６】
トークン利用処理手段４２は入力部３１からユーザが入力したトークン利用処理要求を受信すると、署名生成用鍵記憶部４７から取得したトークン利用ユーザ（仮名ＩＤ）の署名生成用鍵を用いて、利用証明書８７を生成し、トークン記憶部４５から利用するトークン８１を取得し、利用証明書８７と共にデータ通信部３３からコンテンツサーバに送信する。
【００５７】
ユーザ情報記憶部４３には、ユーザ端末を使用するユーザのユーザＩＤと仮名ユーザＩＤが記憶されている。
署名検証鍵記憶部４４には、トークンを検証するために用いるトークンを生成した権限管理サーバの公開鍵と、譲渡証明書を検証するために用いる譲渡証明書を生成したユーザ端末の公開鍵と、発行証明書を検証するために用いる発行証明書を生成した権限管理サーバの公開鍵が記憶されている。
トークン記憶部４５には、権限管理サーバから受信したトークンが記憶されている。
発行証明書記憶部４６には、権限管理サーバから受信したトークンの発行証明書が記憶されている。
署名生成用鍵記憶部４７には、譲渡証明書と利用証明書にデジタル署名を施すために用いるユーザの秘密鍵が記憶されている。この秘密鍵は、仮名ＩＤに対して生成されたものである。
譲渡証明書記憶部４８には、他のユーザ端末から受信した譲渡証明書が記憶されている。
【００５８】
図５は、コンテンツサーバ５０ａ、５０ｂ、５０ｃの構成を示す機能ブロック図である。
コンテンツサーバ５０ａ等は、たとえばＣＰＵを備えたパーソナルコンピュータであり、キーボード等の入力部５１、ディスプレイ装置等の出力部５２、ＬＡＮアダプタ等のデータ通信部５３、データ処理部５４、ＲＡＭ等のデータ記憶部５５を備えている。
データ処理部５４は、利用トークン検証手段５６、利用証明書検証手段５７、アクセス権の確認要求手段５８、アクセス可否決定手段５９から成る。
これらデータ処理部５４を構成する各手段は、たとえば、コンテンツサーバ５０ａ等のＣＰＵがコンピュータプログラムを実行し、コンテンツサーバ５０ａのハードウェアを制御することにより実現される。
データ記憶部５５は、署名検証用鍵記憶部６０、トークン記憶部６１から成る。
【００５９】
利用トークン検証手段５６（トークン検証手段の一例）は、データ通信部５３を介してユーザ端末からトークン８１を受信すると、署名検証用鍵記憶部６０から取得したトークンを発行した権限管理サーバの署名検証用鍵を用いて、トークン８１を検証する。そして、トークン記憶部６１にトークンを記憶する。
【００６０】
利用証明書検証手段５７はデータ通信部５３を介してユーザ端末から利用証明書８７を受信すると、署名検証用鍵記憶部６０から事前に取得しておいた利用証明書を送信したユーザの譲渡用公開鍵を用いて、利用証明書８７を検証する。
【００６１】
アクセス権の確認要求手段５８はデータ通信部５３からトークン８１、利用証明書８７を同一サブシステム内の権限管理サーバに送信し、これらのデータの検証を依頼する。
【００６２】
アクセス可否決定手段５９はデータ通信部５３を介して同一サブシステム内の権限管理サーバからユーザの正当性確認結果、トークンの有効性確認結果を受信すると、その結果からトークンを利用したユーザのアクセス可否を決定する。
【００６３】
署名検証用鍵記憶部６０には、ユーザ端末から受信した利用証明書を検証するために用いる利用証明書を発行したユーザの公開鍵が記憶されている。
トークン記憶部６１には、ユーザ端末から受信したトークンが記憶されている。
【００６４】
次に、権限管理システム７０で使用される主なデータのデータ構造について説明する。
図９（ａ）にトークン８１のデータ構造例を示す。
トークン８１は、トークンＩＤ、コンテンツサーバ名、トークン発行元の権限管理サーバ名、アクセス権限情報および発行元権限管理サーバのデジタル署名から成る。
図９（ｂ）に発行証明書８２のデータ構造例を示す。
発行証明書８２は、トークンのハッシュ値、トークン要求ユーザ名、発行証明書生成元の権限管理サーバ名および発行証明書生成元の権限管理サーバのデジタル署名から成る。
【００６５】
図１０（ａ）に１回目の譲渡が行われたときの譲渡証明書８３のデータ構造例を示す。
１回目の譲渡が行われたときの譲渡証明書８３は、譲渡元ユーザが所属する権限管理サーバの公開鍵で暗号化した発行証明書、譲渡先ユーザ名（仮名ＩＤ）、譲渡元ユーザ名（仮名ＩＤ）、譲渡元ユーザが所属する権限管理サーバ名および譲渡元ユーザ（仮名ＩＤ）のデジタル署名から成る。
図１０（ｂ）に２回目以降の譲渡が行われたときの譲渡証明書８３のデータ構造例を示す。
２回目以降の譲渡が行われたときの譲渡証明書８４は、譲渡元ユーザが所属する権限管理サーバの公開鍵で暗号化した譲渡証明書、譲渡先ユーザ名（仮名ＩＤ）、譲渡元ユーザ名（仮名ＩＤ）、譲渡元ユーザが所属する権限管理サーバ名および譲渡元ユーザ（他システム）のデジタル署名から成る。
図１０（ｃ）に上と用公開鍵証明書８５のデータ構造例を示す。
譲渡用公開鍵証明書８５は譲渡用公開鍵、譲渡元ユーザ名（仮名ＩＤ）、権限管理サーバ名、有効期間および譲渡元ユーザの所属する権限管理サーバのデジタル署名からなる。
【００６６】
図１１（ａ）に譲渡が行われずに利用されたときの利用証明書８６のデータ構造例を示す。
譲渡が行われずに利用されたときの利用証明書８６は、トークン利用ユーザが所属する権限管理サーバの公開鍵で暗号化した発行証明書、コンテンツサーバ名、利用ユーザ名（仮名ＩＤ）、利用ユーザが所属する権限管理サーバ名およびトークン利用ユーザ（他システム）のデジタル署名から成る。
図１１（ｂ）に１回以上譲渡が行われたときの利用証明書８７のデータ構造例を示す。
１回以上譲渡が行われたときの利用証明書８７は、トークン利用ユーザが所属する権限管理サーバの公開鍵で暗号化した譲渡証明書、コンテンツサーバ名、利用ユーザ名（仮名ＩＤ）、利用ユーザが所属する権限管理サーバ名およびトークン利用ユーザ（他システム）のデジタル署名から成る。
図１１（ｃ）にトークン利用公開鍵証明書８８のデータ構造例を示す。
トークン利用公開鍵証明書８８はトークン利用公開鍵、利用ユーザ名（仮名ＩＤ）、権限管理サーバ名、有効期間、およびトークン利用ユーザの所属する権限管理サーバのデジタル署名からなる。
【００６７】
次に、図６ないし図８を参照して権限管理システム７０の動作について説明する。ここでも、図２と同様に、サブシステム１のユーザ端末３０ａが、サブシステム３のコンテンツサーバ５０ｃにアクセスするためのトークンをサブシステム２のユーザ端末３０ｂに譲渡し、ユーザ端末３０ｂがそのトークンを用いてコンテンツサーバ５０ｃにアクセスする場合を例に説明する。
図６は、ユーザ端末３０ａの要求に応じて権限管理サーバ１０ａがコンテンツサーバ５０ｃにアクセスするためのトークンを発行する動作を示すシーケンス図である。
ユーザ端末３０ａのトークン発行要求手段３６は、自らが所属するサブシステム１の権限管理サーバ１０ａに対して、他のシステムのコンテンツサーバ５０ｃのアクセス権限を表すトークンの発行を要求する（Ｓ１２１）。この要求には、ユーザ情報記憶部４３から取得したユーザ情報とユーザにより入力された要求するアクセス権限を特定する情報が含まれる。
【００６８】
権限管理サーバ１０ａのトークン発行依頼処理手段１６は、トークンの発行を要求したユーザのユーザ情報が他のシステムに漏れないように、仮名ＩＤを生成し（Ｓ１２２）、その仮名ＩＤで権限管理サーバ１０ｃにトークンの発行要求を送信する（Ｓ１２３）。
この仮名ＩＤは、ある程度の期間が過ぎたら、権限管理サーバ１０ａで更新することが望ましい。
【００６９】
権限管理サーバ１０ｃのトークン発行処理手段１７は、権限管理サーバ１０ａから受信した仮名ＩＤでトークン８１を発行し（Ｓ１２４）、トークンＩＤ、コンテンツサーバ名、トークン発行元の権限管理サーバ名、アクセス権限情報などのトークン情報を、権限管理サーバ３０ｃが管理するデータベースに登録する（Ｓ１２５）。
そして、トークン発行手段１７は、生成したトークン８１をデータ通信部３３を介して権限管理サーバ１０ａに返信する（Ｓ１２６）。
【００７０】
権限管理サーバ１０ａの発行証明書生成処理手段１８は、トークンの発行を要求したユーザ端末３０ａに対して発行証明書８２を生成し（Ｓ１２７）、権限管理サーバ１０ｃから受信したトークン８１と発行証明書８２をデータ通信部１３を介してユーザ端末３０ａに送信する（Ｓ１２８）。
【００７１】
ユーザ端末３０ａのデータ通信部３３がトークン８１と発行証明書８２を受信すると、発行トークン検証手段３７は、トークン８１を権限管理サーバ１０ｃの公開鍵で検証し、発行証明書検証手段３８は、発行証明書８２を権限管理サーバ１０ａの公開鍵で検証する（Ｓ１２９）。検証に合格したら、発行トークン検証手段３７と発行証明書検証手段３８は、それぞれトークン８１と発行証明書８２をデータ記憶部３５に保存する。
【００７２】
図７は、ユーザ端末３０ａがコンテンツサーバ５０ｃへのアクセス権限を表すトークン８１をユーザ端末３０ｂに譲渡する際の動作を示すシーケンス図である。
ユーザ端末３０ａのトークン譲渡処理手段３９は、ユーザ端末３０ｂにトークン８１を譲渡するための譲渡証明書８３を生成し（Ｓ１３１）、ユーザ端末３０ｂに権限管理サーバ１０ａから受信しトークン記憶部４５に記憶されているトークン８１と証明書８３を送信する（Ｓ１３２）。
【００７３】
ユーザ端末３０ｂのデータ通信部３３が、トークン８１と譲渡証明書８３を受信すると、トークン譲渡検証手段４０は、トークン８１を権限管理サーバ１０ｃの公開鍵で検証し、譲渡証明書検証手段４１は、譲渡証明書８３をユーザ端末３０ａの譲渡用公開鍵で検証する（Ｓ１３３）。
トークン譲渡検証手段４０と譲渡証明書検証手段４１は、検証に合格したことを確認したら、それぞれ、トークン８１と譲渡証明書８３を記憶部３５に保存する（Ｓ１３４）。
【００７４】
図８は、ユーザ端末３０ｂが譲渡されたトークン８１を用いてコンテンツサーバ５０ｃにアクセスする際の動作を説明するシーケンス図である。
ユーザ端末３０ｂのトークン利用処理手段４２は、コンテンツサーバ５０ｃにアクセスするための利用証明書８７を生成し（Ｓ１４１）、トークン８１と利用証明書８７をコンテンツサーバ５０ｃに送信する（Ｓ１４２）。
【００７５】
コンテンツサーバ５０ｃのデータ通信手段５３が、トークン８１と利用証明書８７を受信すると、利用トークン検証手段５６は、トークン８１を権限管理サーバ１０ｃの公開鍵で検証し、利用証明書検証手段５７は、利用証明書８７をユーザ端末３０ｂのトークン利用公開鍵で検証する（Ｓ１４３）。
コンテンツサーバ５０ｃのアクセス権の確認要求手段５８は、２つの検証に合格したことを確認したら、トークン８１の譲渡および利用履歴が正当であるかの確認要求を権限管理サーバ１０ｃに対して行うために、トークン８１と利用証明書８７を権限管理サーバ１０ｃに送信する（Ｓ１４４）。
【００７６】
権限管理サーバ１０ｃの利用トークン検証処理手段１９は、データ通信部１３を介してトークン８１と利用証明書８７を受信し、今までに利用されたことがあるトークンでないか、などのデータベースとの整合性チェックを行い、トークン８１の有効性を確認する（Ｓ１４５）。
さらに、権限管理サーバ１０ｃのユーザ正当性確認要求手段２０は、譲渡履歴と利用者履歴が正しいか否かを各権限管理サーバ１０ｂに問い合わせるために、利用証明書８７に含まれる暗号化された譲渡証明書と利用ユーザ名（仮名ＩＤ）を権限管理サーバ１０ｂに送信する（Ｓ１４６）。
【００７７】
権限管理サーバ１０ｂのユーザ正当性確認手段２１は、暗号化された譲渡証明書と利用ユーザ名（仮名ＩＤ）を受信し、暗号化された譲渡証明書を権限管理サーバ１０ｂのみが知る秘密鍵で復号する。ユーザ正当性確認手段２１は、復号した譲渡証明書８３の譲渡先ユーザ名と利用ユーザ名（仮名ＩＤ）が同一ユーザのものか否かを確認する（Ｓ１４７）。
権限管理サーバ１０ｂのユーザ正当性確認要求手段２０は、同一ユーザであることを確認できたら、譲渡証明書８３に含まれる暗号化された発行証明書と譲渡元ユーザ名（仮名ＩＤ）を権限管理サーバ１０ａに送信する（Ｓ１４８）。
【００７８】
権限管理サーバ１０ａのユーザ正当性確認手段２１は、暗号化された発行証明書と譲渡元ユーザ名（仮名ＩＤ）を受信し、暗号化された発行証明書を権限管理サーバ１０ａのみが知る秘密鍵で復号する。ユーザ正当性確認手段２１は、復号した発行証明書８２のトークン要求ユーザ名と譲渡元ユーザ名（仮名ＩＤ）が同一ユーザのものか否かを確認する（Ｓ１４９）。
同一ユーザであることを確認できたら、権限管理サーバ１０ａの発行証明書検証のユーザ正当性確認応答手段２２は、その確認結果と発行証明書８２に含まれているトークンのハッシュ値と発行時に記憶しておいたトークン発行要求をしたユーザの仮名ＩＤを権限管理サーバ１０ｂに返信する（Ｓ１５０）。
【００７９】
権限管理サーバ１０ｂの譲渡証明書検証のユーザ正当性確認応答手段２３は、権限管理サーバ１０ａから受信した確認結果が合格であることを確認したら、利用ユーザの仮名ＩＤを生成し（Ｓ１５１）、ユーザの正当性確認結果、トークンのハッシュ値、トークン発行要求ユーザの仮名ＩＤ、利用ユーザの仮名ＩＤを権限管理サーバ１０ｃに返信する（Ｓ１５２）。
【００８０】
権限管理サーバ１０ｃのアクセス権の確認応答手段２４は、ユーザの正当性確認結果、利用証明書に含まれていたトークンのハッシュ値、トークン発行要求ユーザの仮名ＩＤ、利用ユーザの仮名ＩＤを受信し、利用証明書８７がトークン８１に対する利用証明書であることを確認するために、トークンのハッシュ値が正しいことを検証する。また、何らかの不正行為が発生した場合に、不正行為を行った者を追跡するために、仮名ＩＤをデータベースに保存する（Ｓ１５３）。
アクセス権の確認応答手段２４は、ユーザの正当性確認結果、トークンの有効性確認結果をコンテンツサーバ５０ｃに返信する（Ｓ１５４）。
コンテンツサーバ５０ｃのアクセス可否決定手段５９は、ユーザの正当性確認結果、トークンの有効性確認結果を受信し、ユーザ端末３０ｂからのアクセス要求を許可するか否かを決定する（Ｓ１５５）。
【００８１】
上記の動作例において、トークンの譲渡先ユーザ端末が事前に譲渡元ユーザの譲渡用公開鍵証明書を取得し署名検証用鍵記憶部に保管しておく形態のほか、譲渡元のユーザ端末が譲渡証明書と一緒に譲渡用公開鍵証明書を譲渡先のユーザ端末に送信するようにしても良い。
同様に、コンテンツサーバが事前にトークン利用公開鍵証明書を用意しておく形態のほか、トークンを利用するユーザ端末が利用証明書と一緒にトークン利用公開鍵証明書をコンテンツサーバに送信するようにしても良い。
【００８２】
また、コンテンツサーバ５０ｃがユーザ端末３０ｂから送信されたトークン８１と利用証明書８７を検証せずに、権限管理サーバ１０ｃに送信し、権限管理サーバ１０ｃでトークン８１および利用証明書８７の検証を行うようにしても良い。そうすることで、コンテンツサーバ５０ｃは署名検証用鍵やトークンの記憶もトークンや利用証明書の検証も行わずにすむ。そのため、コンテンツサーバ５０ｃの構成を単純にし、また、コンテンツサーバ５０ｃの負荷を軽減することができる。
【００８３】
トークンの譲渡は、２回以上行うこともできる。この場合、２回目以降の譲渡を行うユーザ端末は、図１０（ｂ）の譲渡証明書８４を譲渡先のユーザ端末に送信する。譲渡証明書８４は、図１０（ａ）の譲渡証明書８３の暗号化された発行証明書の代わりに暗号化されたトークンの譲渡元のユーザ端末から取得した譲渡証明書（この譲渡証明書には暗号化された発行証明書が含まれている）が含まれている。
そして、トークンを利用するユーザ端末は、利用証明書８７を生成し、目的のコンテンツサーバに送信する。
トークンと利用証明書８７を受信したコンテンツサーバは、図８と同様の手順で、譲渡証明書または利用証明書を発行したユーザ端末が属する権限管理サーバに証明書の検証を順次依頼する。
【００８４】
権限管理システム７０において、トークンの発行を受けたユーザ端末がトークンを譲渡することなく自ら使用することもできる。ここでは、ユーザ端末３０ａが取得したトークンをコンテンツサーバ５０ｃに送信してコンテンツサーバ５０ｃにアクセスする場合を例に説明する。なお、ユーザ端末３０ａがトークンを取得するまでの動作は、図６と同じである。
図１２は、このような場合の権限管理システム７０の動作を示すシーケンス図である。
ユーザ端末３０ａのトークン利用処理手段４２は、コンテンツサーバ５０ｃにアクセスするための利用証明書８７を生成し（Ｓ１６１）、トークン８１と利用証明書８７をコンテンツサーバ５０ｃに送信する（Ｓ１６２）。
【００８５】
コンテンツサーバ５０ｃのデータ通信手段５３が、トークン８１と利用証明書８７を受信すると、利用トークン検証手段５６は、トークン８１を権限管理サーバ１０ｃの公開鍵で検証し、利用証明書検証手段５７は、利用証明書８７をユーザ端末３０ａのトークン利用公開鍵で検証する（Ｓ１６３）。
コンテンツサーバ５０ｃのアクセス権の確認要求手段５８は、２つの検証に合格したことを確認したら、トークン８１の譲渡および利用履歴が正当であるかの確認要求を権限管理サーバ１０ｃに対して行うために、トークン８１と利用証明書８７を権限管理サーバ１０ｃに送信する（Ｓ１６４）。
【００８６】
権限管理サーバ１０ｃの利用トークン検証処理手段１９は、データ通信部１３を介してトークン８１と利用証明書８７を受信し、今までに利用されたことがあるトークンでないか、などのデータベースとの整合性チェックを行い、トークン８１の有効性を確認する（Ｓ１６５）。
さらに、権限管理サーバ１０ｃのユーザ正当性確認要求手段２０は、利用者履歴が正しいか否かを各権限管理サーバ１０ａに問い合わせるために、利用証明書８７に含まれる暗号化された発行証明書と利用ユーザ名（仮名ＩＤ）を権限管理サーバ１０ａに送信する（Ｓ１６６）。
【００８７】
権限管理サーバ１０ａのユーザ正当性確認手段２１は、暗号化された発行証明書と利用ユーザ名（仮名ＩＤ）を受信し、暗号化された発行証明書を権限管理サーバ１０ａのみが知る秘密鍵で復号する。ユーザ正当性確認手段２１は、復号した発行証明書８２のトークン要求ユーザ名と利用ユーザ名（仮名ＩＤ）が同一ユーザのものか否かを確認する（Ｓ１６９）。
同一ユーザであることを確認できたら、権限管理サーバ１０ａの発行証明書検証のユーザ正当性確認応答手段２２は、その確認結果と発行証明書８２に含まれているトークンのハッシュ値と発行時に記憶しておいたトークン発行要求をしたユーザの仮名ＩＤを権限管理サーバ１０ｃに返信する（Ｓ１７０）。
【００８８】
権限管理サーバ１０ｃのアクセス権の確認応答手段２４は、ユーザの正当性確認結果、利用証明書に含まれていたトークンのハッシュ値、トークン発行要求ユーザの仮名ＩＤ、利用ユーザの仮名ＩＤを受信し、利用証明書８７がトークン８１に対する利用証明書であることを確認するために、トークンのハッシュ値が正しいことを検証する。また、何らかの不正行為が発生した場合に、不正行為を行った者を追跡するために、仮名ＩＤをデータベースに保存する（Ｓ１７３）。
アクセス権の確認応答手段２４は、ユーザの正当性確認結果、トークンの有効性確認結果をコンテンツサーバ５０ｃに返信する（Ｓ１７４）。
コンテンツサーバ５０ｃのアクセス可否決定手段５９は、ユーザの正当性確認結果、トークンの有効性確認結果を受信し、ユーザ端末３０ａからのアクセス要求を許可するか否かを決定する（Ｓ１７５）。
【００８９】
ここで、１回目の譲渡が行われたときの譲渡証明書８３のデータ構造と譲渡されずに利用されたときの利用証明書８６のデータ構造は本質的に同じため、どちらか一方の証明書に代替することが出来る。同様に、２回目以降の譲渡が行われたときの譲渡証明書８４と１回以上譲渡が行われたときの利用証明書８７はどちらか一方に統一して代替することが出来る。同様に、譲渡用公開鍵証明書とトークン利用公開鍵証明書を代替することが出来る。
【００９０】
次に、権限譲渡システム１の効果について説明する。
第１の効果は、コンテンツサーバへのアクセスを管理する権限管理サーバを有するシステムが複数あるような環境において各々のコンテンツサーバに所属するユーザが他システムのコンテンツサーバを利用する場合に、権限管理サーバで管理するユーザ情報を他システムの権限管理サーバに漏らさずに、他システムのコンテンツサーバにアクセスできることである。
その理由は、他システムを利用する場合、他システムで利用するための仮名ユーザ名および他システムで利用するための署名生成用鍵を用いて利用証明書を生成し、他システムの権限管理サーバでも利用証明書を見ることが出来るが、その利用証明書に含まれるユーザ情報、および検証に用いるためのトークン利用公開鍵証明書に含まれるユーザ情報は他システムで利用するための仮のユーザ名であるために、他システムの権限管理サーバには正式なユーザ情報は漏れない。一方で、利用証明書の正当性の検証は、ユーザが所属する権限管理システムで行われ、その結果は利用された側の権限管理システムに通知されるので、ユーザは他人のトークンを利用できない。
また、発行証明書に譲渡元ユーザ所属する権限管理サーバの公開鍵で暗号化するのは、ユーザ間で譲渡を繰り返していくにつれて、他システムで利用する仮のユーザ名が、2つ先以上の譲渡先ユーザ、つまり譲渡先ユーザのさらに次の譲渡先ユーザ等、さらに、他システムの権限管理サーバにも見ることが出来てしまうことを防ぐためである。かりに2つ先以降の譲渡先のユーザや他システムの権限管理サーバが譲渡元の仮のユーザ名を知っていた場合、誰から譲渡されたトークンであるかが容易に追跡できてしまう。
同様に、譲渡証明書に譲渡元ユーザ所属する権限管理サーバの公開鍵で暗号化するのも2つ先以上の譲渡先ユーザや他システムの権限管理サーバに仮のユーザ名が漏れることを防ぐことにある。
【００９１】
第２の効果は、異なるシステムに所属するユーザ間でアクセス権限の譲渡を行った場合でも、ユーザ情報を漏らさずに、譲渡されたアクセス権限を利用できることである。
その理由は、他システムを利用する場合、他システムで利用するための仮のユーザ名および他システムで利用するための署名生成用鍵を用いて、譲渡証明書を生成し、他システムの権限管理サーバでも譲渡証明書を見ることが出来るが、その譲渡証明書に含まれるユーザ情報、および検証に用いるための譲渡用公開鍵証明書に含まれるユーザ情報は他システムで利用するための仮のユーザ名であるために、他システムの権限管理サーバには正式なユーザ情報は漏れない。
【００９２】
第３の効果は、トークンの不正利用・不正譲渡された場合は不正を行ったユーザを追跡することが出来る。
その理由は、譲渡証明書の正当性の検証は、ユーザが所属する権限管理システムで行われ、その結果は利用された側の権限管理システムに通知されるが、正当性の結果と共に、仮名ＩＤが利用された側の権限管理システムに通知されるので、なんらかのトークンの不正利用・不正譲渡がなされた場合はその仮名ＩＤを各権限管理サーバに問い合わせることで不正を行ったユーザを追跡することが出来る。
【図面の簡単な説明】
【００９３】
【図１】本発明の一実施形態である権限管理システムの全体図である。
【図２】権限譲渡システムの動作の概要を説明する図である。
【図３】権限管理サーバの機能ブロック図である。
【図４】ユーザ端末の機能ブロック図である。
【図５】コンテンツサーバの機能ブロック図である。
【図６】権限譲渡システムのトークン発行動作を示すシーケンス図である。
【図７】権限譲渡システムのトークン譲渡動作を示すシーケンス図である。
【図８】権限譲渡システムのトークン利用動作を示すシーケンス図である。
【図９】図９（ａ）は、トークンのデータ構造例を示す図である。図９（ｂ）は、発行証明書のデータ構造例を示す図である。
【図１０】図１０（ａ）および図１０（ｂ）は、譲渡証明書のデータ構造例を示す図である。図１０（ｃ）は、譲渡用公開鍵証明書のデータ構造例を示す図である。
【図１１】図１１（ａ）および図１１（ｂ）は、利用証明書のデータ構造例を示す図である。図１１（ｃ）は、トークン利用公開鍵証明書のデータ構造例を示す図である。
【図１２】権限管理システムのトークン利用動作を示すシーケンス図である。
【符号の説明】
【００９４】
１、２、３  サブシステム
１０ａ、１０ｂ、１０ｃ  権限管理サーバ
１６  トークン発行依頼処理手段
１７  トークン発行処理手段
１８  発行証明書生成処理手段
１９  利用トークン検証手段
２０  ユーザ正当性確認要求手段
２１  ユーザ正当性確認手段
２２  発行証明書検証のユーザ正当性確認応答手段
２３  譲渡証明書検証のユーザ正当性確認応答手段
２４  アクセス権の確認応答手段
２５  ユーザ情報記憶部
２６  署名生成用鍵記憶部
２７  トークン記憶部
２８  暗号復号鍵記憶部
２９  署名検証用鍵記憶部
３０ａ、３０ｂ、３０ｃ  ユーザ端末
３６  トークン発行要求手段
３７  発行トークン検証手段
３８  発行証明書検証手段
３９  トークン譲渡処理手段
４０  トークン譲渡検証手段
４１  譲渡証明書検証手段
４２  トークン利用処理手段
４３  ユーザ情報記憶部
４４  署名検証用鍵記憶部
４５  トークン記憶部
４６  発行証明書記憶部
４７  署名生成用鍵記憶部
４８  譲渡証明書記憶部
５０ａ、５０ｂ、５０ｃ  コンテンツサーバ
５６  利用トークン検証手段
５７  利用証明書検証手段
５８  アクセス権の確認要求手段
５９  アクセス可否決定手段
６０  署名検証用鍵記憶部
６１  トークン記憶部
７０  権限管理システム
【図１】
0004525609.tif 000002
【図２】
0004525609.tif 000003
【図３】
0004525609.tif 000004
【図４】
0004525609.tif 000005
【図５】
0004525609.tif 000006
【図６】
0004525609.tif 000007
【図７】
0004525609.tif 000008
【図８】
0004525609.tif 000009
【図９】
0004525609.tif 000010
【図１０】
0004525609.tif 000011
【図１１】
0004525609.tif 000012
【図１２】
0004525609.tif 000013