(57)【特許請求の範囲】
【請求項１】
譲渡元ユーザ端末とこの譲渡元ユーザ端末に対してトークンを発行する権限管理サーバと前記譲渡元ユーザ端末から前記トークンの譲渡を受ける譲渡先ユーザ端末を備えた権限管理システムにおいて、
前記権限管理サーバは、
信頼できるユーザであると認定されたユーザであるグッドユーザの識別情報を予め記憶したグッドユーザ記憶部と、
前記識別情報が前記グッドユーザ記憶部に記憶されたときに動作し、前記グッドユーザ記憶部から読み出した前記グッドユーザの識別情報を含むグッドユーザリストを生成するグッドユーザリスト生成手段と、
前記譲渡元ユーザ端末からトークン発行要求を受信したときに作動し、前記譲渡元ユーザのユーザ識別情報を含むトークンを生成するトークン生成手段と、
前記グッドユーザリストと前記トークンを前記譲渡元ユーザ端末に送信するトークン送信手段とを備え、
前記譲渡元ユーザ端末は、
前記譲渡元端末を使用するユーザである譲渡元ユーザのユーザ識別情報を含むトークン発行要求を前記権限管理サーバに送信するトークン要求手段と、
前記トークン要求手段に応じて前記権限管理サーバから発行された前記トークンと前記前記譲渡元ユーザの前記識別情報を含む譲渡トークンを生成する譲渡トークン生成手段と、
前記譲渡トークンを前記権限管理サーバから受信した前記グッドユーザリストと共に前記譲渡先ユーザ端末に送信するトークン譲渡手段とを備え、
前記譲渡先ユーザ端末は、
前記譲渡トークンを受信したときに作動し、前記譲渡元ユーザの前記識別情報が前記グッドユーザリストに含まれている場合は前記譲渡トークンに含まれる情報に基づいて前記譲渡トークンの正当性を検証し、前記譲渡元ユーザの前記識別情報が前記グッドユーザリストに含まれていない場合は前記譲渡トークンを前記権限管理サーバに送信して正当性の検証を依頼するトークン検証手段を備えたことを特徴とした権限管理システム。
【請求項２】
前記権限管理サーバは、前記譲渡先ユーザ端末から前記譲渡トークンの検証依頼を受信したときに作動し、前記譲渡トークンの正当性と有効性を検証しこの検証の結果を含むトークン有効性証明書を生成しこれを前記譲渡先ユーザ端末に送信するトークン有効性証明書生成手段を備え、
前記譲渡先ユーザ端末は、前記トークン有効性証明書の正当性を検証するトークン有効性証明書検証手段を備えたことを特徴とした請求項１に記載の権限管理システム。
【請求項３】
前記譲渡元ユーザ端末から前記譲渡トークンを受信するサプライズ端末を備え、
このサプライズ端末は、前記譲渡トークンを受信したときに作動し、前記譲渡トークンを前記権限管理サーバに送信する譲渡トークン送信手段を備え、
前記権限管理サーバは、前記譲渡トークンの正当性を検証し前記譲渡トークンが正当なものでないと判断した場合に前記譲渡トークンを生成した前記譲渡元ユーザの識別情報を前記グッドユーザリストから削除するグッドユーザリスト更新手段とを備えたことを特徴とした請求項２に記載の権限管理システム。
【請求項４】
ユーザ端末とこのユーザ端末に対してトークンを発行する権限管理サーバと前記ユーザ端末にサービスを提供するサービス提供者サーバとを備えた権限管理システムにおいて、
前記ユーザ端末は、
前記ユーザ端末を使用するユーザのユーザ識別情報を含むトークン発行要求を前記権限管理サーバに送信するトークン要求手段と、
前記トークン要求手段に応じて前記権限管理サーバから発行された前記トークンと前記前記ユーザの前記識別情報を含む送信用トークンを生成するトークン生成手段と、
前記送信用トークンおよび前記権限管理サーバから受信したグッドユーザリストを前記サービス提供者サーバに送信するトークン送信手段とを備え
前記権限管理サーバは、
信頼できるユーザであると認定されたユーザであるグッドユーザの識別情報を予め記憶したグッドユーザ記憶部と、
前記識別情報が前記グッドユーザ記憶部に記憶されたときに作動し、前記グッドユーザ記憶部から読み出した前記グッドユーザの識別情報を含む前記グッドユーザリストを生成するグッドユーザリスト生成手段と、
前記ユーザ端末からトークン発行要求を受信したときに作動し、前記ユーザのユーザ識別情報を含むトークンを生成するトークン生成手段と、
前記グッドユーザリストと前記トークンを前記ユーザ端末に送信するトークン送信手段とを備え、
前記サービス提供者サーバは、
前記送信用トークンを受信したときに作動し、前記ユーザの前記識別情報が前記グッドユーザリストに含まれている場合は前記送信トークンに含まれる情報に基づいて前記送信トークンの正当性を検証し、前記ユーザの前記識別情報が前記グッドユーザリストに含まれていない場合は前記送信用トークンを前記権限管理サーバに送信して正当性の検証を依頼するトークン検証手段を備え、このトークン検証手段により前記送信用トークンの正当性が確認された場合に前記ユーザ端末に対してサービスを提供することを特徴とした権限管理システム。
【請求項５】
譲渡元ユーザ端末から受信したトークンの正当性を検証する方法において、
前記トークンの譲渡元のユーザの識別情報が前記トークンとともに受信され信頼できるユーザであると保障されたユーザの識別情報が記録されたグッドユーザリストに含まれている場合には、前記トークンに含まれる情報に基づいて前記トークンの正当性を検証し、前記譲渡元ユーザの前記識別情報が前記グッドユーザリストに含まれていない場合には、前記トークンを前記譲渡元ユーザ端末に発行した権限管理サーバに前記受信したトークンを送信し前記受信したトークンの正当性の検証を依頼することを特徴としたトークン検証方法。
【請求項６】
譲渡元ユーザ端末から受信したトークンの正当性を検証するプログラムにおいて、
コンピュータに、
前記トークンの譲渡元のユーザの識別情報が前記トークンとともに受信され信頼できるユーザであると保障されたユーザの識別情報が記録されたグッドユーザリストに含まれている場合に作動し前記トークンに含まれる情報に基づいて前記トークンの正当性を検証する機能と、
前記譲渡元ユーザの前記識別情報が前記グッドユーザリストに含まれていない場合に作動し前記トークンを前記譲渡元ユーザ端末に発行した権限管理サーバに前記受信したトークンを送信し前記受信したトークンの正当性の検証を依頼する機能とを実行させることを特徴としたトークン検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムのユーザのシステム利用権限を管理する技術に関し、特にユーザの信頼性が変動する場合においても確実にトークンの正当性を検証することができる権限管理システム等に関する。
【背景技術】
【０００２】
ユーザに与えられたシステム利用上の権限を記録したトークンを利用して権限の管理を行うシステムは種々提案されている。また、トークンを利用してあるクライアントに与えられた権限を他のクライアントに譲渡するシステムも提案されている。
特許文献１には、サーバと信頼関係があるクライアントに対して発行されたトークンを他のクライアントに譲渡することにより、トークンを発行されたクライアントに与えられたサーバへのアクセス権限と同一のアクセス権限を他のクライアントに譲渡するシステムが記載されている。
【０００３】
【特許文献１】特開２００３−２２２５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のシステムでは、権限の譲渡をする場合は、サーバはサーバと信頼関係があるクライアントにトークンを発行することが前提になっている。しかし、トークンを譲渡されたクライアントが信頼関係をサーバに問い合わせる手段は用意されていない。そのため、トークン発行時点とトークンを使用する時点で信頼関係が変化した場合は、譲渡先のクライアントはトークンの有効性を検証できないという問題があった。
【０００５】
そこで、本発明は、トークンの譲渡を受けたクライアントがトークンを使用する時点においても確実にトークンの検証をすることができる権限管理システム等を提供することをその目的とする。
【課題を解決するための手段】
【０００９】
本発明の権限管理システムは、権限管理サーバと譲渡元ユーザ端末と譲渡先ユーザ端末を備えている。
譲渡元ユーザ端末のトークン要求手段は権限管理サーバに対しトークン発行要求を送信する。
トークン発行要求を受信した権限管理サーバのトークン生成手段はトークンを生成し、グッドユーザリスト生成手段はグッドユーザリストを生成する。トークン送信手段はトークンとグッドユーザリストを譲渡元ユーザ端末に送信する。
トークンとグッドユーザリストを受信した譲渡元ユーザ端末の譲渡トークン生成手段は、トークンを加工し譲渡トークンを生成する。トークン譲渡手段は、譲渡トークンをグッドユーザリストと共に譲渡先ユーザ端末に送信する。
譲渡トークンを受信した譲渡先ユーザ端末は、譲渡元ユーザの識別情報がグッドユーザリストに含まれている場合と含まれていない場合とで異なる方法により譲渡トークンの正当性を検証する。トークン検証手段は、譲渡元ユーザの識別情報がグッドユーザリストに含まれている場合は譲渡トークンに含まれる情報、たとえば譲渡元ユーザの電子署名により譲渡トークンの正当性を検証する。譲渡元ユーザの識別情報がグッドユーザリストに含まれていない場合は、譲渡トークンを権限管理サーバに送信し検証を依頼する（請求項１ないし請求項３）。
【００１０】
上記権限管理システムによれば、譲渡先ユーザ端末は、譲渡トークンと共にグッドユーザリストを受信するから、譲渡トークンがグッドユーザにより生成されたものか否かを受信したときに判断することができる。
そのため、譲渡先ユーザ端末は、権限管理サーバと譲渡元ユーザの信頼関係がトークンが発行された時点と譲渡トークンが生成された時点とで変化する場合にも譲渡トークンの正当性を検証することができる。
【００１１】
上記権限管理システムにおいて、権限管理サーバは、譲渡先ユーザ端末から譲渡トークンの検証依頼を受信したときに作動し、譲渡トークンの正当性と有効性を検証しこの検証の結果を含むトークン有効性証明書を生成しこれを譲渡先ユーザ端末に送信するトークン有効性証明書生成手段を備え、譲渡先ユーザ端末は、トークン有効性証明書の正当性を検証するトークン有効性証明書検証手段を備えるようにしてもよい（請求項２）。
このようにすれば、譲渡先ユーザ端末は、権限管理サーバによる譲渡トークンの正当性の検証結果が含まれるトークン有効性証明書を取得し、さらにトークン有効性証明書の正当性を検証する。そのため、譲渡元ユーザの識別情報が譲渡元ユーザ端末から受信したグッドユーザリストに含まれていない場合に、譲渡トークンの検証を厳密に行うことができる。
【００１２】
上記権限管理システムにおいて、譲渡元ユーザ端末から譲渡トークンを受信するサプライズ端末を備え、このサプライズ端末は、譲渡トークンを受信したときに作動し、譲渡トークンを権限管理サーバに送信する譲渡トークン送信手段を備え、権限管理サーバは、譲渡トークンの正当性を検証し譲渡トークンが正当なものでないと判断した場合に譲渡トークンを生成した譲渡元ユーザの識別情報をグッドユーザリストから削除するグッドユーザリスト更新手段を備えるようにしてもよい（請求項３）。
このようにすれば、譲渡トークンがサプライズ端末に送信された場合は、譲渡元ユーザの識別情報がグッドユーザリストに含まれているか否かにかかわらず譲渡トークンが権限管理サーバに送信され正当性の検証が行われる。
このため、サプライズ端末を備えない場合に比べ、トークン発行時点ではグッドユーザであった譲渡元ユーザが不正行為を行っている場合のグッドユーザリストの更新タイミングを早めることができる。
【００１３】
本発明の権限管理システムは、権限管理サーバとユーザ端末とサービス提供者サーバを備えている。
ユーザ端末のトークン要求手段は権限管理サーバに対しトークン発行要求を送信する。
トークン発行要求を受信した権限管理サーバのトークン生成手段はトークンを生成し、グッドユーザリスト生成手段はグッドユーザリストを生成する。トークン送信手段はトークンとグッドユーザリストをユーザ端末に送信する。
トークンとグッドユーザリストを受信したユーザ端末の送信用トークン生成手段は、トークンを加工し送信用トークンを生成する。トークン送信手段は、送信用トークンを権限管理サーバから受信したグッドユーザリストと共にサービス提供者サーバに送信する。
送信用トークンを受信した権限管理サーバは、ユーザの識別情報がグッドユーザリストに含まれている場合と含まれていない場合とで異なる方法により送信用トークンの正当性を検証する。そしてサービス提供者サーバの備えるトークン検証手段は、ユーザの識別情報がグッドユーザリストに含まれている場合は送信用トークンに含まれる情報、たとえばユーザの電子署名により送信用トークンの正当性を検証する。ユーザの識別情報がグッドユーザリストに含まれていない場合は、譲渡トークンを権限管理サーバに送信し検証を依頼する。そして、送信用トークンの正当性が確認された場合にユーザ端末に対してサービスを提供する（請求項４）。
【００１４】
上記権限管理システムによれば、サーバは、送信用トークンと共にグッドユーザリストを受信するから、送信用トークンがグッドユーザにより生成されたものか否かを受信したときに判断することができる。
そのため、サーバは、権限管理サーバとユーザの信頼関係がトークンが発行された時点と送信用トークンが生成された時点とで変化する場合に送信用トークンの正当性を検証し、その正当性が確認された場合にユーザ端末にサービスを提供することができる。
【００１５】
本発明のトークン検証方法は、トークンの譲渡元のユーザの識別情報がトークンとともに受信され信頼できるユーザであると保障されたユーザの識別情報が記録されたグッドユーザリストに含まれている場合には、トークンに含まれる情報に基づいてトークンの正当性を検証し、譲渡元ユーザの識別情報がグッドユーザリストに含まれていない場合には、トークンを譲渡元ユーザ端末に発行した権限管理サーバに受信したトークンを送信し受信したトークンの正当性を検証する（請求項５）。
【００１６】
上記トークン検証方法によれば、送信用トークンと共にグッドユーザリストを受信するから、送信用トークンがグッドユーザにより生成されたものか否かを受信したときに判断することができる。
そのため、権限管理サーバとトークンを送信したユーザの信頼関係が、トークンが発行された時点と受信したトークンが生成された時点とで変化する場合にも、受信したトークンの正当性を検証することができる。
【００１７】
本発明のトークン検証方法は、コンピュータに、トークンの譲渡元のユーザの識別情報がトークンとともに受信され信頼できるユーザであると保障されたユーザの識別情報が記録されたグッドユーザリストに含まれている場合の作動しトークンに含まれる情報に基づいてトークンの正当性を検証する機能と、譲渡元ユーザの識別情報がグッドユーザリストに含まれていない場合に作動しトークンを譲渡元ユーザ端末に発行した権限管理サーバに受信したトークンを送信し受信したトークンの正当性を検証する機能とを実行させる（請求項６）。
【００１８】
上記トークン検証プログラムによれば、送信用トークンと共にグッドユーザリストを受信するから、送信用トークンがグッドユーザにより生成されたものか否かを受信したときに判断することができる。
そのため、権限管理サーバとトークンを送信したユーザの信頼関係が、トークンが発行された時点と受信したトークンが生成された時点とで変化する場合にも、受信したトークンの正当性を検証することができる。
【発明の効果】
【００１９】
本発明によれば、トークンと共にグッドユーザリストを受信するから、受信したトークンがグッドユーザにより生成されたものか否かを受信したときに判断することができる。
そのため、権限管理サーバとトークンを送信したユーザの信頼関係が、トークンが発行された時点と受信したトークンが生成された時点とで変化する場合にも、受信したトークンの正当性を検証することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図を参照しながら本発明の第１の実施形態である権限管理システム１の構成と動作について説明する。
図１は、権限管理システム１の構成を示す全体図である。
権限管理システム１は、譲渡元ユーザ端末１０と権限管理サーバ２０と譲渡先ユーザ端末３０を備え、これらは、たとえばインターネット等のネットワーク２を介して相互に通信可能に構成されている。
譲渡元ユーザ端末１０は、権限管理サーバ２０により発行されたトークンを取得し、このトークンを譲渡先ユーザ端末３０に送信することにより、権限を譲渡する。ここで、本明細書にいう「権限」とは、たとえば特定のファイルに対するアクセス権等のコンピュータシステムを利用する上でユーザに与えられた権限のことである。
権限管理サーバ２０は、譲渡元ユーザ端末１０の要求に応じてトークンを発行するとともに、譲渡先ユーザ端末３０の要求に応じてトークンの検証を行う。
図１には、譲渡元ユーザ端末１０と譲渡先ユーザ端末３０をそれぞれ１台図示しているが、これらはそれぞれ複数台により構成してもよい。
【００２１】
図２は、権限管理システム１で用いられる二つのトークン検証方式を説明する図である。
以下の説明では、権限管理サーバ２０が信頼できるユーザとして保証するユーザを記憶するリストを「グッドユーザリスト」と、グッドユーザリストに登録されているユーザを「グッドユーザ」と、グッドユーザリストに登録されていないユーザを「一般ユーザ」という。グッドユーザの例としては、たとえば「ある一定期間以上、不正を起こさなかったユーザ」や「不正を起こしたときのペナルティ料金を事前に支払っているユーザ」等がある。
【００２２】
まず、電子署名の正当性などのトークンの正当性検証、使用済みチェックなどのトークンの有効性検証を省略せずに行う、安全性を重視する方式について説明する。
一般ユーザであるユーザAは、譲渡元ユーザ端末１０ａから権限管理サーバ２０に対してサービスの利用を可能にするトークンの発行を要求する（Ｓ１５１）。
権限管理サーバ２０は、譲渡元ユーザ端末１０ａに対して権限管理サーバ２０の電子署名をつけたトークンを生成し、譲渡元ユーザ端末１０ａに送信する（Ｓ１５２）。
【００２３】
譲渡元ユーザ端末１０ａは、権限管理サーバ２０から送られてきたトークンの正当性を権限管理サーバ２０が公開しているトークン検証用鍵で検証する（Ｓ１５３）。
譲渡元ユーザ端末１０ａは、譲渡先ユーザ端末３０ａを使用するユーザBに対してユーザAが譲渡を認めたことを保証するために、権限管理サーバ２０から発行されたトークンにユーザAの電子署名をつけた譲渡トークンを生成し、それを譲渡先ユーザ端末３０ａに送信する（Ｓ１５４）。
【００２４】
譲渡先ユーザ端末３０ａは、譲渡元ユーザ端末１０ａからグッドユーザリストが送信されなかったことからユーザAを一般ユーザと判断し、譲渡トークンの正当性、有効性を検証するために、権限管理サーバ２０に譲渡トークンを送信する（Ｓ１５５）。
権限管理サーバ２０は、譲渡トークンが既に使用されていないか、既にユーザＢ以外のユーザに譲渡されていないか、トークンの有効期間が過ぎていないか、使用限度数を超えていないか、などを後述するトークン記憶部３２ｂに記憶された情報を参照して確認し、さらに譲渡トークンが正しいメッセージフォーマットで作成されていることと電子署名の正当性を確認する。そして、権限管理サーバ２０は、確認結果（譲渡トークンが上記のすべての確認処理に合格した場合は合格、いずれかの確認処理に不合格だった場合は不合格）に権限管理サーバ２０の電子署名をつけたトークン有効性証明書を譲渡先ユーザ端末３０ａに送信する（Ｓ１５６）。
【００２５】
譲渡先ユーザ端末３０ａは、権限管理サーバ２０から送られたトークン有効性証明書を、権限管理サーバ２０が公開している検証用鍵で検証する（Ｓ１５７）。その有効性証明書の検証が合格すれば、ユーザBは譲渡トークンを正当な譲渡トークンとして利用することができる。
ユーザBがサービスを利用する際には、譲渡先ユーザ端末３０ａは、譲渡トークンとトークン有効性証明書を権限管理サーバ２０に送信する（Ｓ１５８）。
【００２６】
次に、検証処理コストを重視する方式を説明する。
権限管理システム１では、検証処理コストを重視する方式は、グッドユーザリストに譲渡元ユーザが掲載されている場合に用いられる。
グッドユーザであるユーザCは、譲渡元ユーザ端末１０ｂから権限管理サーバ２０に対してサービスの利用を可能にするトークンを要求する（Ｓ２５１）。
権限管理サーバ２０は、ユーザCに対して権限管理サーバ２０の電子署名をつけたトークンを発行し、そのトークンとその時点での最新のグッドユーザリストを譲渡元ユーザ端末１０ｂに送信する（Ｓ２５２）。
【００２７】
譲渡元ユーザ端末１０ｂは、権限管理サーバ２０から送られてきたトークンの正当性を検証する（Ｓ２５３）。
譲渡元ユーザ端末１０ｂは、譲渡先のユーザDに対してユーザCが譲渡を認めたことを保証するために、権限管理サーバ２０から発行されたトークンにユーザCの電子署名をつけた譲渡トークンを生成し、それと譲渡先ユーザ端末１０ｂに記憶されているトークン譲渡時の最新のグッドユーザリストを譲渡先ユーザ端末３０ｂに送信する（Ｓ２５４）。
【００２８】
譲渡先ユーザ端末３０ｂは、送られてきたグッドユーザリストと記憶部に記憶されているグッドユーザリストのうち、最新のグッドユーザリストにユーザCが掲載されているか否かをチェックし、譲渡トークンを検証する（Ｓ２５５）。検証の確認が済めば、ユーザDはそれを正当な譲渡トークンとして、利用することができる。
ユーザDがトークンを利用する際には、譲渡先ユーザ端末３０ｂは、譲渡トークンとグッドユーザリストを権限管理サーバ２０に送信する（Ｓ２５６）。
【００２９】
図３は、譲渡元ユーザ端末１０、権限管理サーバ２０、譲渡先ユーザ端末３０の構成を示す機能ブロック図である。
譲渡元ユーザ端末１０は、たとえばパーソナルコンピュータ、ＰＤＡ(Personal Data Assistance)等のＣＰＵ(Central Processing Unit)と通信装置を備えた機器であり、データ処理部１１とデータ記憶部１２とデータ送受信部１３とを備えている。
データ処理部１１は、たとえばＣＰＵがＯＳ(Operating System)、デバイスドライバ、アプリケーションプログラム等の各種プログラムを実行することにより実現され、トークンの授受に必要なデータ処理を実行する。データ処理部１１は、トークン要求手段１４とトークン読み書き手段１５とグッドユーザリスト読み書き手段１６とトークン譲渡手段１７とを備えている。
トークン要求手段１４は、データ送受信部１３を介して権限管理サーバ２０にトークンの発行を要求する。
トークン読み書き手段（譲渡トークン生成手段）１５は、権限管理サーバ２０から受信したトークンの正当性を検証し、正当性が確認された場合は、トークンをトークン記憶部１２ｄに記憶する。また、トークン読み書き手段１５は、トークンに譲渡元ユーザの電子署名等を付加して譲渡トークンを生成する。
グッドユーザリスト読み書き手段１６は、権限管理サーバ２０から受信したグッドユーザリストのグッドユーザリスト記憶部１２ｅへの書き込みと、譲渡トークンを生成する際のグッドユーザリストの読み出しを行う。
トークン譲渡手段１７は、トークン記憶部１２ｄに記憶されている譲渡トークンを譲渡先ユーザ端末３０に送信する。トークン譲渡手段１７は、譲渡トークンを譲渡するユーザがグッドユーザリストに記憶されている場合は、グッドユーザリストも譲渡先ユーザ端末３０に送信する。
【００３０】
データ記憶部１２は、たとえばＲＡＭ(Random Access Memory)等の記憶装置によって構成され、ユーザ識別子記憶部１２ａ、署名生成用鍵記憶部１２ｂ、署名検証用鍵記憶部１２ｃ、トークン記憶部１２ｄ、グッドユーザリスト記憶部１２ｅを備えている。
ユーザ識別子記憶部１２ａには、譲渡元ユーザ端末１０を使用するユーザを権限管理システム１上で識別するための情報であるユーザ識別子が予め記憶されている。ユーザ識別子は、ユーザが権限管理システム１の利用を開始するときにユーザ毎に付与され、たとえば「ｕｓｅｒ００１」といった文字列である。
署名生成用鍵記憶部１２ｂには、譲渡元ユーザ端末１０のユーザ（譲渡元ユーザ）の署名鍵が記憶されている。署名鍵は、譲渡トークンに電子署名を付すために用いられ、たとえば譲渡元ユーザの秘密鍵である。
署名検証鍵記憶部１２ｃには、権限権利サーバから受信したトークンの正当性を検証するためのトークン検証用鍵があらかじめ記憶されている。トークン検証用鍵は、たとえば権限管理サーバ２０の公開鍵である。
トークン記憶部１２ｄには、権限管理サーバ２０から受信したトークンと、譲渡先ユーザ端末３０に送信する譲渡トークンが記憶される。
グッドユーザリスト記憶部１２ｅには、権限管理サーバ２０から受信したグッドユーザリストが記憶される。
【００３１】
データ送受信部１３は、たとえばＬＡＮ(Local Area Network)アダプタにより構成され、ＣＰＵが実行するデバイスドライバと通信プロトコルスタックによって制御され、権限管理サーバ２０および譲渡先ユーザ端末３０との間でデータの送受信を行う。
【００３２】
権限管理サーバ２０は、ＣＰＵと通信装置を備えたサーバコンピュータであり、データ処理部２１とデータ記憶部２２とデータ送受信部２３とを備えている。
データ処理部２１は、たとえばＣＰＵがＯＳ、デバイスドライバ、アプリケーションプログラム等の各種プログラムを実行することにより実現され、トークンの授受に必要なデータ処理を実行する。データ処理部２１は、グッドユーザ判断手段２４と、トークン生成手段２５と、トークン検証手段２６と、トークン有効性証明書生成手段２７とを備えている。
グッドユーザ判断手段（グッドユーザリスト生成手段）２４は、信頼できるユーザであると認定されたユーザの識別情報をグッドユーザ記憶部２２ａに記憶すると共に、グッドユーザの識別情報に権限管理サーバ２０の電子署名等を付加したグッドユーザリストを生成し、これをグッドユーザリスト記憶部２２ｂに記憶する。グッドユーザ判断手段２４は、トークンの発行を要求したユーザがグッドユーザであるか一般ユーザであるかを判断し、グッドユーザであると判断した場合には、トークンとともに譲渡元ユーザ端末１０に送信するためにグッドユーザリストをデータ記憶部２２から読み出す。
トークン生成手段２５は、権限管理サーバ２０の電子署名を含むトークンを生成し、これをトークン記憶部２２ｅに記憶する。
トークン検証手段２６は、譲渡先ユーザ端末３０から受信した譲渡トークンの正当性と有効性および譲渡の正当性を検証する。
トークン有効性証明書生成手段２７は、トークン検証手段２６による検証にすべて合格した譲渡トークンについてトークン有効性証明書を生成し、これをデータ記憶部２２に記憶する。
【００３３】
データ記憶部１２は、たとえばＲＡＭ等の記憶装置によって構成され、グッドユーザ記憶部２２ａ、グッドユーザリスト記憶部２２ｂ、署名生成用鍵記憶部２２ｃ、署名検証用鍵記憶部２２ｄ、トークン記憶部２２ｅ、トークン有効性証明書記憶部２２ｆを備えている。
グッドユーザ記憶部２２ａには、権限管理サーバ２０が信頼できるユーザであると保証するユーザのユーザ識別子の一覧が記憶されている。
グッドユーザリスト記憶部２２ｂには、グッドユーザリストが記憶されている。
署名生成用鍵記憶部２２ｃには、譲渡元ユーザ端末１０に送信するトークンとグッドユーザリスト、譲渡先ユーザ端末３０に送信するトークン有効性証明書に付す電子署名を生成するための署名生成用鍵が記憶されている。署名生成用鍵は、たとえば権限管理サーバ２０の秘密鍵である。
署名検証用鍵記憶部２２ｄには、検証のために譲渡先ユーザ端末３０から送信された譲渡トークンに付されている電子署名を検証するための署名検証用鍵が記憶されている。署名検証用鍵は、たとえば譲渡元ユーザの公開鍵である。
トークン記憶部２２ｅには、譲渡元ユーザ端末１０に送信したトークンが記憶されている。
トークン有効性証明書記憶部２２ｆには、譲渡先ユーザ端末３０に送信したトークン有効性証明書が記憶されている。
【００３４】
データ送受信部２３は、たとえばＬＡＮアダプタにより構成され、ＣＰＵが実行するデバイスドライバと通信プロトコルスタックによって制御され、譲渡元ユーザ端末１０および譲渡先ユーザ端末３０との間でデータの送受信を行う。
【００３５】
譲渡先ユーザ端末３０は、たとえばパーソナルコンピュータ、ＰＤＡ等のＣＰＵと通信装置を備えた機器であり、データ処理部３１とデータ記憶部３２とデータ送受信部３３とを備えている。
データ処理部３１は、たとえばＣＰＵがＯＳ、デバイスドライバ、アプリケーションプログラム等の各種プログラムを実行することにより実現され、トークンの授受に必要なデータ処理を実行する。データ処理部３１は、グッドユーザ判断手段３４と、トークン有効性証明書検証手段３５と、トークン検証手段３６とを備えている。
グッドユーザ判断手段３４は、譲渡トークンを譲渡元ユーザ端末１０から送信したユーザがグッドユーザであるか一般ユーザであるかを判断する。そして、トークンを送信したユーザが一般ユーザであると判定した場合は、譲渡トークンの正当性と有効性を確認するために譲渡トークンをデータ通信部３３を介して権限管理サーバ２０に送信する。
トークン有効性証明書検証手段３５は、権限管理サーバ２０から受信したトークン有効性証明書の正当性を検証する。
トークン検証手段３６は、譲渡トークンを送信したユーザがグッドユーザ判断手段によりグッドユーザであると判断された場合に、譲渡トークンの正当性をトークン検証用鍵を用いて検証する。
【００３６】
データ記憶部３２は、たとえばＲＡＭ等の記憶装置によって構成され、グッドユーザリスト記憶部３２ａ、署名検証用鍵記憶部３２ｂ、トークン記憶部３２ｃ、トークン有効性証明書記憶部３２ｄを備えている。
グッドユーザリスト記憶部３２ａには、譲渡元ユーザ端末１０から受信したグッドユーザリストが記憶されている。
署名検証用鍵記憶３２ｂには、譲渡元ユーザ端末１０から受信した譲渡トークンと権限管理サーバ２０から受信したトークン有効性証明書の正当性を検証するための検証用鍵が記憶されている。検証用鍵は、たとえば譲渡元ユーザと権限管理サーバ２０の公開鍵である。
トークン記憶部３２ｃには、譲渡元ユーザ端末１０から受信した譲渡トークンが記憶されている。
トークン有効性証明書記憶部３２には、権限管理サーバ２０から受信したトークン有効性証明書が記憶されている。
【００３７】
データ送受信部３３は、たとえばＬＡＮアダプタにより構成され、ＣＰＵが実行するデバイスドライバと通信プロトコルスタックによって制御され、権限管理サーバ２０および譲渡元ユーザ端末１０との間でデータの送受信を行う。
【００３８】
図６は、権限管理システム１で用いられる主要なデータのデータ構造を示す図である。
図６（ａ）に、権限管理サーバ２０により生成され譲渡元ユーザ端末１０に送信されるトークン４０のデータ構造を示す。
トークン４０には、トークン識別子４１、権限情報４２、権限管理サーバ情報４３、譲渡元ユーザ情報４４、有効期間４５が含まれている。
トークン識別子４１は、システム上でトークンを一意に識別するための情報で、たとえば、発行順を示す通し番号である。
権限情報４２は、このトークンを持つユーザに対して与えられたシステム利用上の権限の内容を示す情報で、たとえば「ファイルＡＢＣ．ＴＸＴの閲覧を許可する」という意の情報である。
権限管理サーバ情報４３は、トークンを発行した権限管理サーバ２０に関する情報で、たとえば、権限管理サーバ２０のコンピュータ名を示す文字列である。
譲渡元ユーザ情報４４は、トークン４０が与えられたユーザを示す情報で、たとえば、トークンを与えられたユーザのユーザＩＤである。
有効期間４５は、トークン４０が有効な期間を示す情報で、たとえば有効期間の終わる時刻を示す文字列である。
トークン４０には、権限管理サーバ２０により生成された権限管理サーバ２０の電子署名４６が付されている。権限管理サーバの電子署名４６は、たとえばトークン識別子４１、権限情報４２、権限管理サーバ情報４３、譲渡元ユーザ情報４４、有効期間４５のハッシュ値に、公開鍵暗号方式の署名アルゴリズムに権限管理サーバの秘密鍵を用いて計算された値である。
【００３９】
図６（ｂ）に、譲渡元ユーザ端末１０により生成され譲渡先ユーザ端末３０に送信される譲渡トークン５０のデータ構造を示す。
譲渡トークン５０には、トークン４０、譲渡先ユーザ情報５１、譲渡情報５２、利用制限期間５３が含まれている。
譲渡先ユーザ情報５１は、譲渡トークン５０を受け取るユーザを示す情報で、たとえば、譲渡トークンを受け取るユーザのユーザＩＤである。
譲渡情報５２は、トークンを譲渡した譲渡元ユーザのユーザ識別情報と譲渡を行った時刻を示す情報である。
利用制限期間５３は、トークン４０に設定された有効期間４５とは別に譲渡元ユーザが指定した譲渡トークン５０を譲渡先ユーザが使用することが可能な期間を示す情報で、たとえば利用可能な期間の終わる時刻を示す文字列である。
譲渡トークン５０には、譲渡元ユーザ端末１０により生成された譲渡元ユーザの電子署名５４が付されている。譲渡元ユーザの電子署名５４は、たとえばトークン４０、譲渡先ユーザ情報５１、譲渡情報５２、利用制限期間５３のハッシュ値に、公開鍵暗号方式の署名アルゴリズムに譲渡元ユーザの秘密鍵を用いて計算された値である。
【００４０】
図６（ｃ）に、権限管理サーバ２０により生成され譲渡元ユーザ端末１０に送信されるグッドユーザリスト６０のデータ構造を示す。
グッドユーザリスト６０には、グッドユーザリスト識別子６１、グッドユーザ情報６２、権限管理サーバ情報６３、発行日付・時間６４、有効期間６５が含まれている。
グッドユーザ情報６２は、権限管理サーバ２０が信頼できるユーザであると認定したユーザを特定する情報で、たとえば、信頼できるユーザのユーザＩＤのリストである。
権限管理サーバ情報６３は、図６（ａ）の権限管理サーバ情報４３と同一である。
発行日付・時刻６４は、グッドユーザリスト６０が生成された日付と時刻を示す情報である。
有効期間６５は、グッドユーザリスト６０が有効な期間を示す情報で、たとえば有効期間が終わる時刻を示す文字列である。
グッドユーザリスト６０には、権限管理サーバ２０により生成された権限管理サーバの電子署名６６が付されている。権限管理サーバの電子署名６６は、たとえばグッドユーザリスト識別子６１、グッドユーザ情報６２、権限管理サーバ情報６３、発行日付・時間６４、有効期間６５のハッシュ値に、公開鍵暗号方式の署名アルゴリズムに権限管理サーバの秘密鍵を用いて計算された値である。
【００４１】
図６（ｄ）に、権限管理サーバ２０により生成され譲渡先ユーザ端末３０に送信されるトークン有効性証明書７０のデータ構造を示す。
トークン有効性証明書７０には、トークン識別子７１、検証結果７２、権限管理サーバ情報７３、譲渡先ユーザ情報７４、譲渡情報７５、有効期間７６、権限情報７７を含んでいる。
トークン識別子７１は、トークン検証手段２６が有効性を検証した譲渡トークンの識別子である。
検証結果７２は、トークン検証手段２６による譲渡トークンの検証結果を示す情報である。
権限管理サーバ情報７３は、図６（ａ）の権限管理サーバ情報４３と同一の情報である。
譲渡先ユーザ情報７４は、図６（ｂ）の譲渡先ユーザ情報５１と同一の情報である。
譲渡情報７５は、トークンを譲渡した譲渡元ユーザのユーザ識別情報と譲渡を行った時刻を示す情報である。
有効期間７６は、トークン有効性証明書７０が有効な期間を示す情報で、たとえば有効期間が終わる時刻を示す文字列である。
権限情報７７は、譲渡トークン５０によって譲渡先ユーザに与えられるシステム利用上の権限の内容を示す情報である。
トークン有効性証明書７０には、権限管理サーバ２０により生成された権限管理サーバの電子署名７８が付されている。権限管理サーバの電子署名７８は、たとえばトークン識別子７１、検証結果７２、権限管理サーバ情報７３、譲渡先ユーザ情報７４、譲渡情報７５、有効期間７６、権限情報７７のハッシュ値に、公開鍵暗号方式の署名アルゴリズムに権限管理サーバの秘密鍵を用いて計算された値である。
【００４２】
図４は、権限管理サーバ２０が譲渡元ユーザ端末１０に対してトークンを発行する際の権限管理システム１の動作を示すフローチャートである。
譲渡元ユーザ端末１０のトークン要求手段１４は、ネットワーク２を介して権限管理サーバ２０にトークンの要求を行う（Ｓ２０１）。このトークン要求には、トークン要求手段１４がユーザ識別子記憶部１２ａから読み出したユーザ識別子が含まれる。
権限管理サーバ２０のデータ送受信部２３は、トークンの要求を受信する（Ｓ１０１）。グッドユーザ判断手段２４は、受信したユーザ識別子に対応するユーザが、グッドユーザであるか一般ユーザであるかを判定する（Ｓ１０２）。この判定は、受信したユーザ識別子がグッドユーザリスト記憶部２２ｂに記憶されている場合は、トークン要求を行ったユーザをグッドユーザと、そうでない場合は一般ユーザと判定することにより行う。
【００４３】
Ｓ１０２でトークンを要求してきたユーザがグッドユーザであると判定された（Ｓ１０２の判定が「グッドユーザ」の）場合は、グッドユーザ判断手段２４が、グッドユーザリストをグッドユーザリスト記憶部２２ｂから読み取り（Ｓ１０３）、トークン生成手段２５がトークンを生成し、このトークンをトークン記憶部２２ｅに記憶する（Ｓ１０４）。Ｓ１０２でトークンを要求してきたユーザが、一般ユーザであると判定された（Ｓ１０２の判定が「一般ユーザ」の）場合は、グッドユーザリストの読み出しは行わずに、トークン生成手段２５がトークンを生成し（Ｓ１０４）、このトークンをトークン記憶部２２ｅに記憶する（Ｓ１０５）。Ｓ１０４で生成されるトークンには、トークン生成手段２５が署名生成用鍵記憶部２２ｃから読み出したトークン署名鍵を用いた権限管理サーバ２０の電子書名が付されている。
データ送信部２３は、トークン要求を行ったユーザがＳ１０２においてグッドユーザと判定された場合は、トークンとグッドユーザリストを、一般ユーザと判定された場合はトークンを譲渡元端末１０に送信する（Ｓ１０６）。
【００４４】
譲渡元ユーザ端末１０のデータ送受信部１３は、権限管理サーバ２０から送信されたデータを受信する（Ｓ２０３）。
トークン読み書き手段１５は、予め署名検証用鍵記憶部２２ｃに記憶されているトークン用検証鍵を用いて受信したトークンの正当性（受信トークンが権限管理サーバ２０により発行されたものか否か）を確認する（Ｓ２０４）。トークン読み書き手段１５は、正当性が確認された（Ｓ２０４の判定がイエスの）場合は、権限管理サーバ２０から受信したトークンをトークン記憶部１２ｄに記憶する（Ｓ２０５）。トークン読み書き手段１５は、正当性が確認できなかった（Ｓ２０４の判定がノーの）場合は、たとえば、エラーメッセージを表示装置に表示する等のエラー処理を行い（Ｓ２０９）、トークン取得処理を終了する（Ｓ２０８）。
トークン読み書き手段は、Ｓ２０３において受信したデータにグッドユーザリストが含まれる（Ｓ２０６の判定が「グッドユーザ」の）場合には、受信したグッドユーザリストをグッドユーザリスト記憶部１２ｅに記憶する。
【００４５】
図５は、トークンが譲渡元ユーザ端末１０から譲渡先ユーザ端末３０に譲渡される際の権限管理システム１の動作を示すフローチャートである。
譲渡元ユーザ端末１０のトークン譲渡手段１７は、譲渡しようとするトークンに対応するグッドユーザリストがグッドユーザリスト記憶部１２ｅに記憶されているか否かを判定する（Ｓ２１２）。トークン譲渡手段１７は、グッドユーザリストが記憶されている（Ｓ２１２の判定が「グッドユーザ」の）場合は、グッドユーザリスト読み書き手段１６を介してグッドユーザリストを読み出す（Ｓ２１３）。グッドユーザリストが記憶されていない（Ｓ２１２の判定が「一般ユーザ」の）場合は、グッドユーザリストの読み出しは行わない。
トークン読み書き手段１５はトークン記憶部１２ｄに記憶されている権限管理サーバ２０から受信したトークンを読み出し、これに署名生成用鍵記憶部１２ｂから読み出したユーザＡの署名鍵を用いて電子署名を付して譲渡トークンを生成する（Ｓ２１４）。
データ送受信部１３は、譲渡トークンと、Ｓ２１３が実行された場合はグッドユーザリストを譲渡先ユーザ端末３０に送信する（Ｓ２１５）。
【００４６】
譲渡先ユーザ端末３０のデータ送受信部３３は、譲渡元ユーザ端末１０から送信されたデータを受信する（Ｓ３０１）。
グッドユーザ判断手段３４は、ユーザＡがトークを取得した時点でグッドユーザであったか否かを判定する（Ｓ３０２）。受信したデータにグッドユーザリストが含まれていない場合には、ユーザＡは一般ユーザであると判定し、譲渡トークンの正当性（トークンが権限管理サーバにより発行され、譲渡元ユーザ端末１０により譲渡先ユーザ端末に譲渡されたものか否か）と有効性（譲渡トークンの有効期間は満了していないか等）を権限管理サーバ２０に問い合わせる。この処理については、後述する。
【００４７】
受信したデータにグッドユーザリストが含まれていた場合には、グッドユーザ判断手段３４は、受信したグッドユーザリストとグッドユーザリスト記憶２２ｂから読み出したグッドユーザリストのうちの新しいほうに譲渡元ユーザのユーザ識別子が記録されている場合に、譲渡元ユーザをグッドユーザと判定する。ただし、受信したグッドユーザリストのほうが新しい場合には、グッドユーザ判断手段３４は、受信したグッドユーザリストの正当性（グッドユーザリストが権限管理サーバ２０により発行されたものか否か）を署名検証用鍵記憶部３２ｂから読み出したグッドユーザリスと用の検証鍵で検証し、グッドユーザリストの正当性が確認できなかった場合には、譲渡元ユーザを一般ユーザと判定する。
Ｓ３０２において、譲渡元ユーザがグッドユーザと判定された場合は、トークン検証手段２６は、署名検証用鍵記憶部２２ｄから読み出したトークン検証用鍵を用いて受信したトークンの正当性を検証する（Ｓ３０３）。この検証の結果、受信したトークンの正当性が確認された場合は、トークン検証手段２６は、受信したトークンをトークン記憶部２２ｅに記憶する（Ｓ３０４）。
【００４８】
Ｓ３０２において、譲渡元ユーザが一般ユーザであると判定した場合、データ送受信部３３は譲渡トークンを権限管理サーバ２０に送信し、譲渡トークンの正当性および有効性の検証を依頼する（Ｓ３０６）。
権限管理サーバのデータ送受信部２３は、譲渡トークンを受信する（Ｓ１１１）。
次に、トークン検証手段２６は署名検証用鍵記憶部２２ｄに記憶しているトークン検証用鍵を用いて譲渡トークンの正当性の検証を行い、また、予め署名検証用鍵記憶部２２ｃに記憶されている譲渡元ユーザの署名検証用鍵を用いて譲渡の正当性（譲渡トークンが譲渡元ユーザにより譲渡先ユーザに譲渡されたものか否か）確認を行う。トークン検証手段２６は、さらに、トークン記憶部２２ｅに記憶されている発行済みのトークンの履歴を参照し、譲渡先ユーザ端末１０から受信した譲渡トークンが既に使用済みでないか、既に他のユーザに譲渡済みでないかを調べ、トークンの有効性を検証する（Ｓ１１２）。
Ｓ１１２でトークンの正当性、譲渡の正当性、トークンの有効性の中の一つ以上が確認できなかった場合は、トークン有効性証明書生成手段２７は、たとえば、譲渡先ユーザ端末３０に検証結果を通知する等のエラー処理を行い検証処理を終了する（Ｓ１１５）。
Ｓ１１２でトークンの正当性、譲渡の正当性、トークンの有効性がすべて確認された場合、トークン有効性証明書生成手段２７は、署名生成用鍵記憶部２２ｃに記憶されているトークン有効性証明書用の署名鍵を用いてトークン有効性証明書を生成する（Ｓ１１３）。そして、データ送受信部２３は、譲渡先ユーザ端末３０にトークン有効性証明書を送信する（Ｓ１１４）。
【００４９】
譲渡先ユーザ端末３０のデータ送受信部３３は、トークン有効性証明書を受信し（Ｓ３０７）、トークン有効性証明書検証手段３５は、署名検証用鍵記憶部３２ｂから読み出したトークン有効性証明書の検証用鍵を用いてトークン有効性証明書の検証を行う（Ｓ３０８）。
そして、その検証結果が合格であるならば、トークン検証手段３６は、譲渡トークンをトークン記憶部３２ｃに記憶し、トークン有効性証明書検証手段３５は、トークン有効性証明書をトークン有効性証明書記憶部３２ｄに記憶し（Ｓ３０９）、譲渡処理は完了する（Ｓ３１１）。
Ｓ３０８の検証結果が不合格である場合は、トークン有効性証明書検証手段３５は、たとえば、検証結果を譲渡先ユーザ端末３０の表示装置に表示する等のエラー処理を行い譲渡処理を終了する（Ｓ３１０）。
ユーザＢがサービスを利用する時には、データ送受信処理部３３は、トークン記憶部３２ｃから譲渡トークンを、トークン有効性証明書記憶部３２ｄからトークン有効性証明書を読み出してそれらを権限管理サーバ２０に送信する。
【００５０】
譲渡先ユーザ端末３０は、譲渡元ユーザが一般ユーザであれば、権限管理サーバ２０にオンラインで譲渡トークンの正当性および有効性を確認することで安全にトークンの譲渡を受けることができる。一方、譲渡元ユーザがグッドユーザであれば、譲渡先ユーザ端末３０は、権限譲渡でのセキュリティリスクがさほど高くないので、オフラインで譲渡トークンの正当性検証を行うのみで済ませる。
つまり、譲渡先ユーザ端末が一元的に権限管理システム２０とのオンラインによるトークンの検証を行うシステムと比べた場合、システム全体で、グッドユーザによる譲渡回数分だけ通信コストを削減するとともに、権限管理サーバへの通信集中に伴う負荷を軽減することができ、一元的に権限管理システムとオフラインでトークンの検証を行うシステムと比べた場合、システム全体で、セキュリティリスクが高まることはない。
そのため、権限管理システム１によれは、サービス利用権限を表すトークンの譲渡の際に、譲渡先ユーザのセキュリティリスクをさほど上げずに、システム全体として、譲渡先ユーザ端末３０と権限管理サーバ２０との間の検証時の通信コストおよび権限管理サーバ２０への通信の負荷を削減できる。
【００５１】
権限管理システム１においては、セキュリティリスクの低いグッドユーザによるトークン譲渡の安全性は、譲渡トークンと共に譲渡先ユーザ端末に送信されるグッドユーザリストに根拠をおいている。グッドユーザリストはある程度使いまわされ利用されるため、1回のトークン譲渡の度に、グッドユーザリストの電子署名の生成や検証を行うこと必要がない。
一方、セキュリティリスクの高い一般ユーザによるトークン譲渡の安全性は、権限管理サーバが発行するトークン有効性証明書に根拠をおいており、1回のトークンの譲渡の度に、トークン有効性証明書の電子署名の生成と検証を必ず1回ずつ行う必要がある。
そのため、権限管理システム１によれば、サービス利用権限を表すトークンの譲渡を行うまでにシステム全体で、譲渡先ユーザのセキュリティリスクをさほど高めずに、電子署名の処理に関する計算コストを削減できることにある。
【００５２】
権限管理システム１における詳細な署名の生成、検証の回数は以下のとおりである。
一般ユーザがトークンの譲渡を行うまでにシステム全体で必要となる電子署名の生成は、権限管理サーバ２０が譲渡元ユーザ端末１０の要求に応じてトークンの生成を行う時に1回、譲渡元ユーザ端末１０が譲渡トークンを生成する時に1回、権限管理サーバ２０が譲渡先ユーザ端末に対する譲渡トークンの有効性証明書の発行をする時に1回必要となるので、合計3回の電子署名を生成することになる。
さらに、一般ユーザがトークンの譲渡を行うまでにシステム全体で必要となる電子署名の検証回数は、譲渡元ユーザ端末１０による権限管理サーバ２０から受信したトークンの正当性検証に1回、権限管理サーバ２０による譲渡先ユーザ端末から受信した譲渡トークンの正当性検証に1回、譲渡先ユーザ端末３０による有効性証明書の正当性検証に1回必要となるので、合計3回の電子署名の検証を行うことになる。
【００５３】
一方、グッドユーザがトークンの譲渡を行うまでにシステム全体で必要となる電子署名の生成は、権限管理サーバ２０が譲渡元ユーザ端末１０の要求に応じてトークンの生成を行う時に1回、権限管理サーバ２０が譲渡元ユーザ端末１０にグッドユーザリストを生成するのに高々1回、譲渡元ユーザ端末が譲渡トークンを生成するのに1回必要となるので、高々合計3回の電子署名を生成することになる。
ここで、注意されたいのは、グッドユーザリストはグッドユーザが権限管理サーバに登録された時点で初めて更新されるため、通常の電子署名の生成回数は、合計2回である。
さらに、グッドユーザがトークンの譲渡を行うまでにシステム全体で必要となる電子署名の検証回数は、譲渡元ユーザ端末１０が権限管理サーバ２０から受信したトークンの正当性検証を行うのに1回、譲渡先ユーザ端末３０が譲渡トークンの正当性検証を行うのに1回、譲渡先ユーザ端末３０がグッドユーザリストの正当性検証を行うのに高々1回必要となるので、高々合計3回の電子署名の検証を行うことになる。なお、グッドユーザリストは、譲渡先ユーザ端末３０が譲渡元ユーザがグッドユーザか否かを判定するために参照する情報であるから、譲渡元ユーザ端末１０が権限管理サーバ２０から受信したグッドユーザリストを検証する必要はない。
【００５４】
次に、本発明の第２の実施形態である権限管理システム３の構成と動作について説明する。アクセス管理システム３は、第１の実施形態をサービスの利用と提供に適用したものである。権限管理システム１と同様の構成と動作については説明を省略し、相違点を中心に説明する。
図７は、アクセス管理システム３の構成を示す全体図である。
アクセス管理システム３は、利用者端末（ユーザ端末）４とサービス提供者サーバ（サーバ）５と権限管理サーバ２０を備え、これらは、たとえばインターネット等のネットワーク２を介して相互に通信可能に構成されている。
利用者端末４は、図３に示した譲渡元ユーザ端末１０と同様の構成要素を備え、権限管理サーバ２０からトークンの発行を受ける。利用者端末１０は、サービス提供サーバ５が提供するサービスを利用する際に、権限管理サーバ２０から発行されたトークンに情報を付加して生成した図６（ｂ）の譲渡トークンと同一形式のトークン（送信用トークン）をサービス提供者サーバに送信し認証を受ける。
サービス提供者サーバ５は、図３に示した譲渡先ユーザ端末３０と同様の構成要素を備えるとともに、利用者端末４等のクライアント装置に、たとえばデータベース検索サービス等のサービスを提供する。サービス提供者サーバ５は、利用者端末４からトークンを受信し、このトークンの正当性が確認できた場合に利用者端末４にサービスを提供する。
【００５５】
次に、アクセス管理システム３の動作について説明する。
利用者端末４が権限管理サーバ２０からトークンの発行を受ける動作は、図４と同様であるから説明を省略する。
図８は、利用者端末４が、サービス提供者サーバ５からサービスの提供を受ける際の動作を示すフローチャートである。この動作についても、図５の譲渡元ユーザ端末１０が利用者端末４に、図５の譲渡先ユーザ端末３０がサービス提供者サーバ５に置き換わるだけで基本的には図５の場合と同様である。
Ｓ３０３で譲渡トークンの正当性が確認された場合、およびＳ３０８でトークン有効性証明書の正当性と有効性が確認された場合には、サービス提供者サーバ５は、利用者端末４から要求されたサービスを提供する。
【００５６】
次に、図を参照しながら本発明の第３の実施形態である権限管理システム７の構成と動作について説明する。権限管理システム１と同様の構成と動作については説明を省略し、相違点を中心に説明する。
図９は、権限管理システム７の構成を示す全体図である。
権限管理システム１は、譲渡元ユーザ端末１０と権限管理サーバ２０と譲渡先端末３０とサプライズ端末６を備え、これらは、たとえばインターネット等のネットワーク２を介して相互に通信可能に構成されている。
サプライズ端末６は、権限管理サーバ２０により選定された特別な譲渡先ユーザ端末である。サプライズ端末６は、図３に示した譲渡先ユーザ端末３０と同様の構成を備えるとともに、権限管理サーバ２０からサプライズ端末として選定されていることを証明するサプライズ証明書を受信し、これをデータ記憶部３２に記憶している。
【００５７】
次に、権限管理システム７の動作について説明する。
利用者端末４が権限管理サーバ２０からトークンの発行を受ける動作は、図４と同様であるから説明を省略する。
図１０は、利用者端末４が、サプライズ端末６にトークンを譲渡する際の動作を示すフローチャートである。この動作についても、基本的には、図５の場合と同様である。
サプライズ端末６は、譲渡元ユーザ端末１０からトークンを受信した場合は、譲渡元ユーザがグッドユーザであるか否かの判定（図５のＳ３０２）は行わずに、常に権限管理サーバ２０にトークンの検証を依頼する（Ｓ３０６）。
権限管理サーバ２０がトークンの検証を行う動作とトークン有効性証明書を受信した後のサプライズ端末６の動作は、図５と同様である。ただし、トークン検証手段２６は、Ｓ１１２の判定が「ＮＧ」の場合には、譲渡トークンを生成した譲渡元ユーザの識別情報をグッドユーザ記憶部２２ａおよびグッドユーザリスト記憶部２４ｂから削除してグッドユーザリストを更新する。
【００５８】
権限管理システム１では、権限管理サーバ２０がトークンを発行した時点で譲渡元ユーザがグッドユーザであった場合には、譲渡トークンを受信した譲渡先ユーザ端末３０はトークンの正当性を権限管理サーバ２０に問い合わせない。そのため、トークンを取得してから譲渡トークンを送信するまでの間に譲渡元ユーザがグッドユーザから一般ユーザに変化した場合には、譲渡先ユーザ端末３０は、この変化を受信した譲渡トークンを使用するまで検出することができない。
これに対し、権限管理システム７によれば、サプライズ端末６は、譲渡トークンを受信した場合に常に権限管理サーバ２０への検証依頼を行うから、譲渡元ユーザの一般ユーザへの変化を、譲渡トークンを受信した時点で検出することができる。また、権限管理サーバ２０もサプライズ端末６からの依頼を受けた時点で、グッドユーザリストを更新することができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１の実施形態である権限管理システムの構成図である。
【図２】権限管理システムで用いられる２種類のトークン検証方式を説明する図である。
【図３】譲渡元ユーザ端末と権限管理サーバと譲渡先ユーザ端末の機能ブロック図である。
【図４】権限管理システムのトークン発行動作を示すフローチャートである。
【図５】権限管理システムのトークン譲渡動作を示すフローチャートである。
【図６】図６（ａ）は、トークンのデータ構造を示す図である。図６（ｂ）は、譲渡トークンのデータ構造を示す図である。図６（ｃ）は、グッドユーザリストのデータ構造を示す図である。図６（ｄ）は、トークン有効性証明書のデータ構造を示す図である。
【図７】本発明の第２の実施形態である権限管理システムの構成図である。
【図８】図７の権限管理システムのトークンを用いた認証動作を示すフローチャートである。
【図９】本発明の第３の実施形態である権限管理システムの構成図である。
【図１０】図９の権限管理システムのトークン譲渡動作を示すフローチャートである。
【符号の説明】
【００６０】
１、３、７  権限管理システム
４  利用者端末（ユーザ端末）
５  サービス提供者サーバ（サーバ）
６  サプライズ端末
１０  譲渡元ユーザ端末
２０  権限管理サーバ
３０  譲渡先ユーザ端末
１４  トークン要求手段
１５  トークン読み書き手段（譲渡トークン生成手段）
１６  グッドユーザリスト読み書き手段
１７  トークン譲渡手段
２４  グッドユーザ判断手段
２５  トークン生成手段
２６  トークン検証手段
２７  トークン有効性証明書生成手段
３４  グッドユーザ判断手段
３５  トークン有効性証明書検証手段
３６  トークン検証手段
４０  トークン
５０  譲渡トークン
６０  グッドユーザリスト
７０  トークン有効性証明書
【図１】
0004792944.tif 000002
【図２】
0004792944.tif 000003
【図３】
0004792944.tif 000004
【図４】
0004792944.tif 000005
【図５】
0004792944.tif 000006
【図６】
0004792944.tif 000007
【図７】
0004792944.tif 000008
【図８】
0004792944.tif 000009
【図９】
0004792944.tif 000010
【図１０】
0004792944.tif 000011