(57)【要約】  【課題】  意図しないサイトに属性証明書を提示しない。  【解決手段】  クライアント端末２００のアプリケーションプログラム実行部２０２は、サーバコンピュータ１００のサービス提供部１０１に対してサービスの利用を要求する。サービス提供部１０１は、アプリケーションプログラム実行部２０２に対して利用権を記載した属性証明書の提示を要求する。アプリケーションプログラム実行部２０２は、属性証明書の提示要求を受け、クライアント端末２００の属性証明書選択部２０３に対し、属性証明書を要求する。属性証明書選択部２０３は、アプリケーションプログラム２０１のダイジェスト値を計算し、属性証明書保持部２０４の属性証明書の中から、ダイジェスト値と一致する値が属性値として記載されている属性証明書を選択する。アプリケーションプログラム実行部２０２は属性証明書選択部２０３から送られた属性証明書をサーバコンピュータ１００に送付する。【選択図】  図２
2006268790.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムのアイデンティティを特定する情報を属性情報として含む属性証明書を保持する属性証明書保持手段と、
アプリケーションプログラムからの属性証明書選択要求を受け取り、当該属性証明書選択要求に基づいて、当該アプリケーションプログラムについてアイデンティティを特定する情報を取得して該当する属性情報を含む属性証明書を上記属性証明書保持手段に保持されている属性証明書から選択する属性証明書選択手段とを有することを特徴とする属性証明書管理装置。
【請求項２】
上記アプリケーションプログラムのアイデンティティを特定する情報は、上記アプリケーションプログラムの完全性を保証する情報である請求項１記載の属性証明書管理装置。
【請求項３】
上記属性証明書選択手段は、上記アプリケーションプログラムの完全性を保証する情報を用いて当該アプリケーションプログラムの完全性を検証する請求項２記載の属性証明書管理装置。
【請求項４】
上記アプリケーションプログラムのアイデンティティを特定する情報は、上記アプリケーションプログラムのダイジェスト値である請求項１、２または３記載の属性証明書管理装置。
【請求項５】
上記属性証明書選択要求を送出するアプリケーションプログラムはＷｅｂブラウザである請求項１〜４のいずれかに記載の属性証明書管理装置。
【請求項６】
上記属性証明書は、上記アプリケーションプログラムがアクセスするアクセス先情報を含む請求項１〜５のいずれかに記載の属性証明書管理装置。
【請求項７】
選択された属性証明書に含まれるアクセス先情報と、上記アプリケーションプログラムがアクセスするアクセス先情報とが対応しないときに、上記属性証明書を提示しない請求項１〜６のいずれかに記載の属性証明書管理装置。
【請求項８】
サーバコンピュータによるサービスを利用可能にするために上記サーバコンピュータとの間で属性証明書を用いて認証を行なうアプリケーションプログラムを実行するクライアント装置であって、
アプリケーションプログラムのアイデンティティを特定する情報を属性情報として含む属性証明書を保持する属性証明書保持手段と、
アプリケーションプログラムからの属性証明書選択要求を受け取り、当該属性証明書選択要求に基づいて、当該アプリケーションプログラムについてアイデンティティを特定する情報を取得して該当する属性情報を含む属性証明書を上記属性証明書保持手段に保持されている属性証明書から選択する属性証明書選択手段とを有し、
上記アプリケーションプログラムが上記選択された属性証明書を用いて上記サーバコンピュータとの間で認証を行なうことを特徴とするクライアント装置。
【請求項９】
属性証明書保持手段がアプリケーションプログラムのアイデンティティを特定する情報を属性情報として含む属性証明書を保持するステップと、
属性証明書選択手段が、アプリケーションプログラムからの属性証明書選択要求を受け取り、当該属性証明書選択要求に基づいて、当該アプリケーションプログラムについてアイデンティティを特定する情報を取得して該当する属性情報を含む属性証明書を上記属性証明書保持手段に保持されている属性証明書から選択するステップとを有することを特徴とする属性証明書管理方法。
【請求項１０】
アプリケーションプログラムのアイデンティティを特定する情報を属性情報として含む属性証明書を保持する属性証明書保持手段と、
アプリケーションプログラムからの属性証明書選択要求を受け取り、当該属性証明書選択要求に基づいて、当該アプリケーションプログラムについてアイデンティティを特定する情報を取得して該当する属性情報を含む属性証明書を上記属性証明書保持手段に保持されている属性証明書から選択する属性証明書選択手段とを実現するためにコンピュータにおいて実行されることを特徴とする属性証明書管理用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、属性証明書を管理する技術に関し、とくに、属性証明書を提示者が意図していない検証者に対して、提示しないようにするものである。
【背景技術】
【０００２】
従来、ネットワークを介してサービスを提供するシステムにおいて、ユーザとの間でサービスを受ける権利を認証・承認する方法として、最も一般的なのものは、ユーザＩＤとパスワードを用いるものであった。しかし、この方法では、パスワードの漏洩によるなりすましや、パスワードを記憶しておく事の困難さに伴い安易なパスワードが設定される事によるパスワードクラックの容易化等の問題があり、より強固なセキュリティが求められていた。
【０００３】
これに替わる仕組みとして、最近実用化されている手法は、公開鍵証明基盤に基づいたクライアント証明書による認証である。クライアント証明書による認証では、クライアントは、公開鍵認証局が発行した、クライアントの秘密鍵に対応する公開鍵証明書を、安全な方法で入手しておく。サービス提供側はサービス要求時にクライアント証明書の提示を求める。
【０００４】
クライアントの証明書ストアは、サービスが信用する認証局に対応する証明書をユーザに表示し、ユーザはその中から適切なものを選択して、サービスに提示する。
【０００５】
サービスは、提示されたクライアント証明書を、対応する公開鍵認証局の証明書を用いて検証することによって、クライアントの正当性を確認することができる。
【０００６】
クライアント証明書を用いた認証によって、パスワード認証に比べて強固なセキュリティを実現する事ができるようになった。
【０００７】
しかしながら、本来公開鍵証明書はユーザの本人性を証明するものであり、ユーザの持つ権利を公開鍵証明書の属性として、証明書に記述するのは適切とは言えない。
【０００８】
公開鍵証明書は、証明書を発行した認証局を信用する複数のサービスで使う事が想定されるが、各サービスにおけるユーザの権利等は、そのサービス以外には提示する必要が無いものだからである。
【０００９】
このような課題に対応するため、公開鍵証明基盤とは別に、ＰＭＩ（Ｐｒｉｖｉｌｅｇｅ  ｍａｎａｇｅｍｅｎｔ  ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）と呼ばれるフレームワークが提唱されている。ＰＭＩでは、ユーザの持つ個別の権利等を記述する属性証明書を属性局が発行し、個々のユーザの権利は属性証明書に記述する。サービスは提示された属性証明書によって、ユーザの権利を確認し、サービスの利用の可否を決定する。
【００１０】
ＰＭＩによってユーザの権利を個別の属性証明書により発行するようになると、現状のＰＫＩによる公開鍵証明書よりも、はるかに多くの属性証明書が発行される事が予想される。現在の公開鍵証明書を用いたクライアント認証においても、ユーザがサービス側に提示するクライアント証明書の選択は煩雑な場合があり、誤った公開鍵証明書を提示してしまう事がある。同様に、多数の属性証明書から適切な属性証明書を選択する事態になると、誤った属性証明書を選択してしまい、本来提示すべきでない属性情報を公開してしまう危険が増大する。従って、属性証明書の選択を誤り無く行い、公開すべきでない属性情報が送付されるのを防ぐような仕組みが望まれる。
【００１１】
とくに、近年、ネットワーク上で提供されるサービスの多様化、高度化に伴い、共通ログインの方式の一形態として、ＰＫＩに則った、クライアント証明書を用いたユーザ認証が提供されることが強く望まれるようになってきている。現状のインターネット環境では、公開鍵証明書によるクライアント認証のフレームワークしか提供されていない。今後はユーザの持つ権利を公開鍵証明書とは別に属性証明書として発行し、ユーザの持つ細かな権利を属性証明基盤の中でコントロールする事が主流になると考えられる。
【００１２】
上述のとおり属性証明書に含まれる属性情報は、特定の相手以外には公開したくないような個人情報などが含まれる事も多い。公開鍵証明書にこのような属性情報を入れないための仕組みとして、属性証明書が提案されたと言ってもよい。したがって、属性証明書の提示・送付にあたっては、公開鍵証明書に比べて、送付する証明書の選択をより慎重に行う必要がある。属性証明書の送付先を正確に認証するには限界があり、クライアントサイドにおいて送付すべき属性証明書を制限できる事が望ましい。
【００１３】
なお、サービスが信用している属性局や、属性証明書と対応する公開鍵証明書の認証局を基にして、提示する属性証明書を絞り込むことも有効である。しかしながら、一つの属性局が、数多くのサービスに対する属性証明書を発行することは十分ありえる。また、複数の属性証明書が、１つのクライアント公開鍵証明書に対応する事はごく一般的な状況と考えられるため、これらの方法だけでは選択する証明書を絞り込むのに有効とは言えない。
【００１４】
また、クライアント側で選択可能な属性証明書を絞り込む方法としては、特許文献１の提案が知られている。この方法では、サービス提供者が、サービスの種類を示す情報（区分情報）をクライアントに送付し、クライアントでは受け取った区分情報に基づいて所有する属性証明書の中から必要なものを選択して、サービス提供者に送付する。この手法は、サービス側が示す区分情報をクライアントが信用した上で、不必要な属性証明書を誤って送付してしまうのを防止する効果はあるが、悪意あるサイトや改変されたサイトによって、ユーザが意図しない属性証明書が、不正に提出させられてしまうのを防止する事はできない。
【００１５】
たとえＰＫＩによるサイト認証を行ったとしても、あくまでも提示されたサイトの公開鍵証明書が、公開鍵認証機関によって発行されたものであるかを検証しているにすぎず、ＷＥＢアプリケーションプログラムの正当性・完全性を検証しているわけではないため、ユーザは不正に属性証明書を提出させるような改変がＷＥＢアプリケーションプログラムになされていた場合に、これを検知することができない。従って、サーバ側が示す情報によらずに、クライアント側において、意図しない属性証明書の送付を、コントロールできるような仕組みが必要である。
【特許文献１】特開２００３−３４５９３０公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明は、以上の事情を考慮してなされたものであり、意図しない相手に属性証明書を提示しないように管理する属性証明書管理技術を提供することを目的としている。
【課題を解決するための手段】
【００１７】
本発明は、ネットワーク上でサービスを提供するサーバマシン（サーバコンピュータともいう）、ネットワークに接続され、サービスを利用するアプリケーションプログラムが稼動する、クライアントマシン（クライアント端末ともいう）、属性証明書を発行する属性認証局を前提とする。また、属性認証局を認証するための公開鍵証明書や属性証明書の所有者を認証するための公開鍵証明書を発行する公開鍵証明書認証局も前提となる。
【００１８】
本発明の構成例によれば、かかる環境下で、上述の目的を達成するために、ユーザがアプリケーションプログラムを通じて、ネットワーク上のサービスを利用する権利を、属性証明書を用いて認証するにあたって、利用するアプリケーションプログラムの種類を特定して適切な属性証明書を提示する。その際、アプリケーションプログラムを特定する情報として、アプリケーションプログラム自身を特定する情報（例えばダイジェスト値）を属性証明書に記載し、属性証明書の選択時にその情報を基にして、提示する属性証明書を決定する。
【００１９】
この構成においては、アプリケーションプログラムに対応した属性証明書を選択するため、無関係の属性証明書が提示される事が無く、誤った属性証明書を送付してしまう可能性を減らす事ができる。また、悪意あるサイトや改変されたサイトによって、ユーザの意図しない属性証明書を提示させられる事により、本来公開したくない属性情報が、送信されてしまう事を防止できる。さらに、属性証明書の選択時にダイジェスト値を計算することにより、アプリケーションプログラムの置きかえを検知でき、かかる置き換えに対処できる。
【００２０】
さらに、本発明を説明する。
【００２１】
本発明の一側面によれば、上述の目的を達成するために、属性証明書管理装置に：アプリケーションプログラムのアイデンティティを特定する情報を属性情報として含む属性証明書を保持する属性証明書保持手段と；アプリケーションプログラムからの属性証明書選択要求を受け取り、当該属性証明書選択要求に基づいて、当該アプリケーションプログラムについてアイデンティティを特定する情報を取得して該当する属性情報を含む属性証明書を上記属性証明書保持手段に保持されている属性証明書から選択する属性証明書選択手段とを設けるようにしている。
【００２２】
この構成においては、アプリケーションプログラムに対応した属性証明書を選択するため、無関係の属性証明書が提示される事が無く、誤った属性証明書を送付してしまう可能性を減らす事ができる。また、悪意あるサイトや改変されたサイトによって、ユーザの意図しない属性証明書を提示させられる事により、本来公開したくない属性情報が、送信されてしまう事を防止できる。
【００２３】
この構成において、上記アプリケーションプログラムのアイデンティティを特定する情報は、上記アプリケーションプログラムの完全性を保証する情報とすることが好ましい。
【００２４】
この場合、上記属性証明書選択手段は、上記アプリケーションプログラムの完全性を保証する情報を用いて当該アプリケーションプログラムの完全性を検証し、同時に適切な属性証明書を提示できる。
【００２５】
上記アプリケーションプログラムのアイデンティティを特定する情報は、典型的には、上記アプリケーションプログラムのダイジェスト値である。この場合、属性証明書の選択時にダイジェスト値を計算することにより、アプリケーションプログラムの置きかえを検知でき、かかる置き換えに対処できる。
【００２６】
また、上記属性証明書選択要求を送出するアプリケーションプログラムは、典型的には、Ｗｅｂブラウザである。もちろんサーバが提供するサービスに特化したプログラムでもよい。
【００２７】
また、上記属性証明書は、上記アプリケーションプログラムがアクセスするアクセス先情報を含むことが好ましい。この場合、選択された属性証明書に含まれるアクセス先情報と、上記アプリケーションプログラムがアクセスするアクセス先情報とが対応しないときに、上記属性証明書を提示しないようにできる。
【００２８】
また、本発明の他の側面によれば、上述の目的を達成するために、サーバコンピュータによるサービスを利用可能にするために上記サーバコンピュータとの間で属性証明書を用いて認証を行なうアプリケーションプログラムを実行するクライアント装置に：アプリケーションプログラムのアイデンティティを特定する情報を属性情報として含む属性証明書を保持する属性証明書保持手段と；アプリケーションプログラムからの属性証明書選択要求を受け取り、当該属性証明書選択要求に基づいて、当該アプリケーションプログラムについてアイデンティティを特定する情報を取得して該当する属性情報を含む属性証明書を上記属性証明書保持手段に保持されている属性証明書から選択する属性証明書選択手段とを設け、上記アプリケーションプログラムが上記選択された属性証明書を用いて上記サーバコンピュータとの間で認証を行なうようにしている。
【００２９】
この構成においても、アプリケーションプログラムに対応した属性証明書を選択するため、無関係の属性証明書が提示される事が無く、誤った属性証明書を送付してしまう可能性を減らす事ができる。また、悪意あるサイトや改変されたサイトによって、ユーザの意図しない属性証明書を提示させられる事により、本来公開したくない属性情報が、送信されてしまう事を防止できる。
【００３０】
なお、本発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品も本発明の技術的な範囲に含まれることも当然である。
【００３１】
本発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
【発明の効果】
【００３２】
本発明によれば、意図しない検証者に属性証明書を提示することを回避できる。また、具体的な構成では、属性証明書に記述された値によって、アプリケーションの真正性を検証する事により、アプリケーションの置き換えを検知できる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施例について説明する。この実施例は、本発明をサーバコンピュータが提供するサービスの利用権限を認証する利用権限認証システムに適用したものである。
【００３４】
図１は、実施例の利用権限認証システムの実装環境を示しており、この図において、サーバコンピュータ１００とクライアント端末２００とが通信ネットワーク３００により接続されている。クライアント端末２００は、パーソナルコンピュータ、携帯情報端末等種々の情報機器である。サーバコンピュータ１００とクライアント端末２００との間で権限認証およびサービス提供が行なわれる。この権限認証およびサービス提供のために、アプリケーションプログラム提供者４００がアプリケーションプログラム２０１（図２参照）をクライアント端末２００側に提供し、公開鍵証明書認証局６００がサーバコンピュータ１００およびクライアント端末２００にそれぞれの公開鍵証明書を提供し、属性認証局５００が属性証明書をクライアント端末２００側に供給する。
【００３５】
アプリケーションプログラム提供者４００は、アプリケーションプログラムを特定する情報（例えばプログラムのダイジェスト値）を、属性認証局５００にあらかじめ通知しておく。
【００３６】
サーバコンピュータ１００またはその運営者（サービス提供者）は、特定のユーザが特定のアプリケーションプログラムを使用してサービスを利用する権利を証明する属性証明書の発行を、属性認証局５００に依頼する。属性認証局５００は、属性証明書発行時にユーザが使用するアプリケーションプログラムを特定する情報と、ユーザの権利を記載した属性証明書を発行し、ユーザに送付する。
【００３７】
クライアント端末２００の特定のアプリケーションプログラムによるサービス利用要求に対し、サーバコンピュータ１００のサービスは当該アプリケーションプログラムのプロセスに対して属性証明書の提示を求める。
【００３８】
クライアント端末２００の属性証明書選択部２０３（図２参照）は、サービスが信用する属性認証局５００が発行した属性証明書を選択し、さらに、アプリケーションプログラムのダイジェスト値を計算して、一致する値が記載されている証明書のみをユーザに提示する。
【００３９】
ユーザが提示された属性証明書から適切なものを選択すると、その属性証明書がサーバコンピュータ１００のサービスに送付される。
【００４０】
サーバコンピュータ１００のサービスは受け取った属性証明書を、信頼する属性認証局局の証明書を用いて検証し、さらに記述されているユーザの権利に従って、サービス提供の可否を判断する。
【００４１】
図１の実装環境において行なわれる準備手続の詳細手順を以下に整理する。
【００４２】
サービスを利用するにあたっては、以下のような手順により、予めサービスを利用する権利を記述した属性証明書がクライアント環境に設定されている必要がある。なお、以下の手順の順番は厳密なものではなく、その目的が達成される範囲で順番を前後させることができる。
【００４３】
（Ｐ０）公開鍵証明書認証局６００は、属性認証局５００属性認証局の公開鍵証明書を供給する。属性認証局５００は属性認証局の秘密鍵を保持する。
（Ｐ１）公開鍵証明書認証局６００は、クライアント端末２００にユーザの公開鍵証明書をそれぞれ供給する。（Ｐ２）属性認証局５００は、属性証明書を発行するために、予め、指定されたアプリケーションプログラムを特定する情報を、アプリケーションプログラム提供者から入手しておく。
（Ｐ３）アプリケーションプログラム提供者４００は、サービスを利用するためのアプリケーションプログラムをクライアント端末２００に提供する。
（Ｐ４）サーバコンピュータ１００側のサービス提供者は、提供するサービスの利用可否を記述する属性証明書を発行する属性認証局５００を決定し、属性認証局５００から、属性認証局５００の公開鍵証明書を入手する。サーバコンピュータ１００のサービスはこの公開鍵証明書の公開鍵を用いて属性証明書の署名を検証する。
（Ｐ５）サーバは特定のユーザに対し利用を許可したい場合、サービスを利用するアプリケーションプログラムと、サービスを利用する権限の種類を指定して、属性認証局５００に属性証明書の発行を依頼する。
（Ｐ６）属性認証局５００は入手したアプリケーションプログラム特定情報と、指定された利用権限を属性値として記述した属性証明書を属性認証局の秘密鍵を用いて署名した上でクライアント端末２００に対して発行する。
【００４４】
このようにしてクライアント端末２００が、サービスを利用するためのアプリケーションプログラムおよび属性証明書を入手しインストールし、他方、サーバコンピュータ１００が属性証明書を検証するための属性認証局５００の公開鍵証明書を入手してインストールすることにより、属性証明書を用いたサービス利用の準備が終わる。この後、クライアント端末２００とサーバコンピュータ１００との間で利用セッションが行なわれる。
【００４５】
（Ｘ１）クライアント端末２００はサービス利用時に、発行された属性証明書をサーバコンピュータ１００に提示する。
（Ｘ２）サーバコンピュータ１００は提示された属性証明書を、属性認証局５００の公開鍵証明書を用いて検証し、さらに属性証明書に記述されている権限に応じて、提供するサービスを決定する。
【００４６】
属性証明書は模式的に図３に示すように所有者情報Ｈ、属性Ａ、属性認証局署名Ｓとを含む。所有者情報Ｈによりクライアント端末２００側ユーザの公開鍵証明書による本人認証を行なえる。属性Ａにより以下説明するように属性証明書提示制限や利用サービス内容の決定が行なわれ、属性認証局署名Ｓによりサーバコンピュータ１００側で属性証明書の真正を検証できる。
【００４７】
この利用セッションにおいて属性証明書の選択処理が以下に詳述するように行なわれる。
【００４８】
次に、図２により、属性証明書の選択と認証の仕組みを説明する。
【００４９】
図２は、サーバコンピュータ１００およびクライアント端末２００のサービス利用セッションに関連する部分を機能ブロックにより示すものであり、この図において、サーバコンピュータ１００はサービス提供関連部分としてサービス提供部１０１、証明書検証部１０２、属性判定部１０３等を含んでいる。クライアント端末２００は、アプリケーションプログラム実行部２０２、属性証明書選択部２０３、属性証明書保持部２０４、属性証明書選択ユーザインタフェース部２０５等を含んでいる。アプリケーションプログラム実行部２０２は、アプリケーションプログラム提供者４００から受け取ったアプリケーションプログラム２０１を実行するものであり、その実体はアプリケーションプログラムのプロセスである。アプリケーションプログラム２０１は例えばＷＥＢブラウザであるが、これに限定されない。
【００５０】
サーバコンピュータ１００のサービス提供部１０１はサービスのプロセスであり、クライアント端末２００からのサービス要求に基づいて情報提供サービス、情報処理サービス等、任意のサービスを提供する。証明書検証部１０２は、属性認証局５００の公開鍵証明書を用いて属性証明書の真正（属性認証局５００の署名の真正）を検証するものである。属性判定部１０３は、真正なものとして検証された属性証明書の属性に基づいて、提供サービス（サービスを提供するかどうかも含む）を決定するものである。
【００５１】
クライアント端末２００の属性証明書選択部２０３は、アプリケーションプログラム２０１を特定する情報（例えばそのダイジェスト値）を取得し、それを属性値として含む属性証明書を属性証明書保持部２０４から選択して取り出すものである。属性証明書選択ユーザインタフェース部２０５は、属性証明書選択部２０３により選択された属性証明書の情報をユーザに提示してユーザからの選択を受け付け、この選択に基づいてアプリケーションプログラム実行部２０２に、選択された属性証明書を供給するものである。
【００５２】
以下、サービス利用セッションの動作例を説明する。
【００５３】
（Ｘ１０）：クライアント端末２００のアプリケーションプログラム実行部２０２は、サーバコンピュータ１００のサービス提供部１０１に対してサービスの利用を要求する。
（Ｘ１１）：サービス提供部１０１は、アプリケーションプログラム実行部２０２に対して利用権を記載した属性証明書の提示を要求する。
（Ｘ１２）：アプリケーションプログラム実行部２０２は、属性証明書の提示要求を受け、クライアント端末２００の属性証明書選択部２０３に対し、属性証明書を要求する。
（Ｘ１３）：属性証明書選択部２０３は、アプリケーションプログラム２０１のダイジェスト値を所定の方法によって計算し、属性証明書保持部２０４に保持されている属性証明書の中から、計算したダイジェスト値と一致する値が属性値として記載されている属性証明書を選択する。ダイジェスト値は例えば所定のハッシュ関数を用いる。予めダイジェスト値を計算して、所定のテーブルに保持しておき、これを利用するようにしても良い。
（Ｘ１４）：属性証明書選択部２０３は、ステップＸ１３で選択された属性証明書が複数存在した場合には、属性証明書選択ユーザインタフェース部２０５にこれらの属性証明書のリストを送る。
（Ｘ１５）：属性証明書選択ユーザインタフェース部２０５は送られた属性証明書のリストをユーザに提示し、その中からアプリケーションプログラム２０１を利用するのに適切な属性証明書を選択させる。
（Ｘ１６）：属性証明書選択ユーザインタフェース部２０５は選択された属性証明書を示す情報を、属性証明書選択部２０３に送る。
（Ｘ１７）：属性証明書選択部２０３は、属性証明書選択ユーザインタフェース部２０５から送られた情報を基にして、属性証明書を選択し、選択した属性証明書をアプリケーションプログラム実行部２０２に送る。
（Ｘ１８）：アプリケーションプログラム実行部２０２は属性証明書選択部２０３から送られた属性証明書をサーバコンピュータ１００に送付する。
（Ｘ１９）：属性証明書を受信したサーバコンピュータ１００は、証明書検証部１０２で、送付された属性証明書の正当性を、自身が保持する属性局公開鍵証明書を基に検証する。
（Ｘ２０）：属性証明書の正当性が検証できた場合には、属性判定部１０３において、属性証明書に記載されている、サービスを利用する権利を判定する。
（Ｘ２１）：属性判定部において判定された、サービスの利用権に基づいて、サービス提供部はクライアント端末２００にサービスを提供する。
【００５４】
なお、上述の処理Ｘ１８は図１に関連して説明した処理Ｘ１に相当し、処理Ｘ１９〜Ｘ２１は同様に処理Ｘ２に相当する。
【００５５】
この実施例によれば、サービスを利用するためにインストールしたアプリケーションプログラム２０１を特定する情報により属性証明証を選択するので意図しない者に対して属性証明書を提示することを回避できる。とくに、アプリケーションプログラム２０１のダイジェスト値を用いれば、アプリケーションプログラム２０１の一体性を検証することもでき、アプリケーションプログラム２０１の置換等も検証できる。
【００５６】
なお、こ本発明は上述の実施例に限定されるものではなく種々変更が可能である。
【００５７】
例えば、上述例では、アプリケーションプログラムを特定する情報としてダイジェスト値を用いたが、アプリケーションプログラムの一部に埋め込まれた情報等を用いても良い。また、アプリケーションプログラムを特定する情報を直接に用いなくても良い、アプリケーションプログラムを特定する情報と属性証明書の属性値との関係を関連付けるテーブルやデータベースを用いて間接的に属性値を拘束しても良い。
【００５８】
また、属性証明書でアプリケーションプログラムを指定する情報に加えて、アプリケーションプログラムがアクセスするサービスの接続先（ＵＲＬ等）を記述しておき、アプリケーションプログラムがアクセスするアクセス先が属性証明書に記載のものと異なっている場合には、属性証明書を送付しないようにしてもよい。図４はこのような構成例を示すものである。図４の例ではアクセス先判定部２０６を用いて、アプリケーションプログラム実行部２０２のアクセス先と属性証明書に記載されているアクセス先（図５参照）とを対比し、使用する属性証明書を絞り込む。このようにすると、悪意のあるサイトによって、意図しない属性証明書を提示させられてしまうのを、防止する事ができる。なお、図４および図５において図２および図３と対応する箇所には対応する符号を付した。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施例の利用環境の例を説明する図である。
【図２】本発明の実施例の構成例および処理例を説明する図である。
【図３】上述実施例の属性証明書の例を模式的に説明する図である。
【図４】上述実施例の変形例を説明する図である。
【図５】上述実施例の変形例で用いる属性証明書の例を模式的に説明する図である。
【符号の説明】
【００６０】
１００      サーバコンピュータ
１０１      サービス提供部
１０２      証明書検証部
１０３      属性判定部
２００      クライアント端末
２０１      アプリケーションプログラム
２０２      アプリケーションプログラム実行部
２０３      属性証明書選択部
２０４      属性証明書保持部
２０５      属性証明書選択ユーザインタフェース部
２０６      アクセス先判定部
３００      通信ネットワーク
４００      アプリケーションプログラム提供者
５００      属性認証局
６００      公開鍵証明書認証局
【図１】
2006268790.tif 000003
【図２】
2006268790.tif 000004
【図３】
2006268790.tif 000005
【図４】
2006268790.tif 000006
【図５】
2006268790.tif 000007