(57)【要約】【課題】ユーザ端末に耐タンパデバイスが備えられていなくても、属性情報の匿名化を行いつつ、失効確認を可能とする。【解決手段】属性認証局サーバ３は、属性情報として、公開鍵と秘密鍵のペアを生成して発行する。公開鍵には、発行者の署名が付与される。属性情報は、ユーザ端末１が生成した乱数を公開鍵と発行者の署名に乗じることによって、任意の変形が可能となる。発行したユーザの秘密鍵は、失効しない限り属性認証局サーバ３が保管し、さらに、属性認証局サーバ３は、別の秘密鍵、公開鍵ペアを管理し、この公開鍵を発行時に、ユーザ端末１に配布する。【選択図】図１
2008193454.tif 000002
【特許請求の範囲】
【請求項１】
属性証明書発行サーバと、ユーザ端末と、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムであって、
前記属性証明書発行サーバが、前記ユーザ端末から属性証明書の発行要求を受信したときに、属性証明書として、ユーザの第１の秘密鍵と、該ユーザの第１の秘密鍵と対をなす第１の公開鍵に対してユーザが持つ属性に対する署名鍵で署名を行った属性情報と、前記ユーザの第１の秘密鍵とは異なる第２の秘密鍵と対をなす第２の公開鍵とを生成する生成手段と、すでに発行した有効なユーザの第１の秘密鍵を記憶する記憶手段と、該生成した属性証明書を要求のあったユーザ端末へ送信する属性証明書送信手段と、を備え、
前記ユーザ端末が、前記サービス提供サーバにサービス提供要求を送信するサービス提供要求送信手段と、乱数を生成し、該生成した乱数を前記属性認証局サーバから受信した前記属性情報に乗じることにより変形された属性情報と、前記生成された乱数に対する署名値と、前記生成した乱数を前記属性認証局サーバから受信した前記第２の公開鍵に乗じることにより変形された第２の公開鍵とを前記サービス提供サーバに送信する送信手段と、を備え、
前記サービス提供サーバが、前記変形された属性情報ならびに署名値に対して、それぞれその正当性についての検証を行う検証手段を備え、
前記サービス提供サーバが、失効確認を行う場合に、前記属性証明書発行サーバに前記変形した属性情報と前記変形された第２の公開鍵とを送信し、前記属性証明書発行サーバが、前記記憶手段から前記ユーザの第１の秘密鍵を順次選択し、前記サービス提供サーバから受信した前記変形した属性情報と第２の公開鍵および署名用の秘密鍵に対応する公開鍵と変形された第２の公開鍵に前記選択した第１の秘密鍵を乗じたものとのそれぞれのペアリング計算を実行することにより、失効確認を行い、前記サービス提供サーバが、前記検証手段の検証結果と前記失効確認とに基づいて、サービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供することを特徴とする属性認証システム。
【請求項２】
前記属性証明書発行サーバは、各属性に対し複数の前記署名鍵を割付け、前記署名鍵を定期的に更新する更新手段を更に備えたことを特徴とする請求項１に記載の属性認証システム。
【請求項３】
前記属性証明書発行サーバは、前記更新手段により更新された前記複数の署名鍵を並行管理し、現在有効な署名鍵のうち、最も有効期間が長い署名鍵を使用することを特徴とする請求項２に記載の属性認証システム。
【請求項４】
属性証明書発行サーバと、ユーザ端末と、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける匿名属性認証方法であって、
前記ユーザ端末が、ネットワークを介して接続される前記属性証明書発行サーバに対し属性証明書の発行要求を送信する第１のステップと、
前記属性証明書発行サーバが、前記属性証明書の発行要求を受信したときに、ユーザの第１の秘密鍵と該第１の秘密鍵と対をなす第１の公開鍵を生成し、該第１の公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成するとともに、前記第１の秘密鍵と異なる第２の秘密鍵と、該第２の秘密鍵と対をなす第２の公開鍵を生成し、要求のあった前記ユーザ端末へ前記第１の秘密鍵と前記属性証明書および第２の公開鍵を送信する第２のステップと、
前記ユーザ端末が、前記ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信する第３のステップと、
前記サービス提供要求を受信した前記サービス提供サーバが、乱数を生成してチャレンジ情報を前記ユーザ端末に送信する第４のステップと、
前記チャレンジ情報を受信した前記ユーザ端末が、乱数を生成し、前記属性証明書発行サーバから受信した属性証明書および第１の秘密鍵に生成した乱数を乗じて変形し、変形した第１の秘密鍵を用いて、生成した前記乱数の署名値を計算するとともに、前記第２の公開鍵に生成した乱数を乗じて変形する第５のステップと、
前記ユーザ端末が、該変形された属性証明書と、前記サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値および変形した前記第２の公開鍵を前記サービス提供サーバに返信する第６のステップと、
前記サービス提供サーバが、前記変形された属性証明書と署名値および変形した前記第２の公開鍵に対してそれぞれ検証を行う第７のステップと、
前記属性証明書発行サーバが、格納する有効なユーザの第１の秘密鍵の情報から順次、任意の第１の秘密鍵を選択し、前記サービス提供サーバから受信した変形された属性情報と生成した前記第２の公開鍵および署名用の公開鍵と変形された第２の公開鍵に前記選択した第１の秘密鍵を乗じたものとのそれぞれのペアリング計算を実行して失効確認処理を実行する第８のステップと、
前記第７のステップにおける検証結果が正当であり、かつ、前記第８のステップにおいて、ユーザの秘密鍵が有効であると判断されたときに、前記サービス提供サーバがサービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供する第９のステップと、
を有することを特徴とする属性認証システムにおける匿名属性認証方法。
【請求項５】
属性証明書発行サーバと、ユーザ端末と、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける匿名属性認証をコンピュータに実行させるためのプログラムであって、
前記ユーザ端末が、ネットワークを介して接続される前記属性証明書発行サーバに対し属性証明書の発行要求を送信する第１のステップと、
前記属性証明書発行サーバが、前記属性証明書の発行要求を受信したときに、ユーザの第１の秘密鍵と該第１の秘密鍵と対をなす第１の公開鍵を生成し、該第１の公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成するとともに、前記第１の秘密鍵と異なる第２の秘密鍵と、該第２の秘密鍵と対をなす第２の公開鍵を生成し、要求のあった前記ユーザ端末へ前記第１の秘密鍵と前記属性証明書および第２の公開鍵を送信する第２のステップと、
前記ユーザ端末が、前記ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信する第３のステップと、
前記サービス提供要求を受信した前記サービス提供サーバが、乱数を生成してチャレンジ情報を前記ユーザ端末に送信する第４のステップと、
前記チャレンジ情報を受信した前記ユーザ端末が、乱数を生成し、前記属性証明書発行サーバから受信した属性証明書および第１の秘密鍵に生成した乱数を乗じて変形し、変形した第１の秘密鍵を用いて、生成した前記乱数の署名値を計算するとともに、前記第２の公開鍵に生成した乱数を乗じて変形する第５のステップと、
前記ユーザ端末が、該変形された属性証明書と、前記サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値および変形した前記第２の公開鍵を前記サービス提供サーバに返信する第６のステップと、
前記サービス提供サーバが、前記変形された属性証明書と署名値および変形した前記第２の公開鍵に対してそれぞれ検証を行う第７のステップと、
前記属性証明書発行サーバが、格納する有効なユーザの第１の秘密鍵の情報から順次、任意の第１の秘密鍵を選択し、前記サービス提供サーバから受信した変形された属性情報と生成した前記第２の公開鍵および署名用の公開鍵と変形された第２の公開鍵に前記選択した第１の秘密鍵を乗じたものとのそれぞれのペアリング計算を実行して失効確認処理を実行する第８のステップと、
前記第７のステップにおける検証結果が正当であり、かつ、前記第８のステップにおいて、ユーザの秘密鍵が有効であると判断されたときに、前記サービス提供サーバがサービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供する第９のステップと、
を有することを特徴とする属性認証システムにおける匿名属性認証をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、属性認証システム、同システムにおける匿名属性認証方法およびプログラムに関し、特に、ユーザ端末に耐タンパデバイスが備えられていなくても、属性情報の匿名化を行いつつ、失効確認を可能とする属性認証システム、同システムにおける匿名属性認証方法およびプログラムに関する。
【背景技術】
【０００２】
近年、様々なサービスがインターネットを通して電子的に提供されるようになってきている。そのようなサービス提供を行う際には、利用者を認証することが不可欠となる。ここで、利用者を認証する方法は、通常、個人を特定する認証と、属性認証等、個人を特定しない認証（例えば、特許文献１参照）とに大別される。
【特許文献１】特公平８−２０５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、従来の属性認証では、属性情報の匿名性について考慮されていなかった。また、一部、匿名化のための研究は成されているが、その内容が不十分であり、更に、属性認証を行う際に第三者との通信を必要としていた。このため、属性情報が変形できないために、第三者によって通信が観測され、利用者の行動が追跡される恐れがあり、プライバシー保護に関する問題が技術的課題として残されていた。
【０００４】
また、一方で、属性情報の匿名性を考慮した匿名認証方式では、ユーザ端末側に耐タンパデバイスを備える必要があった。さらに、属性情報の匿名性を考慮した匿名認証方式では、失効確認処理が困難であるといった問題があった。
【０００５】
そこで、本発明は、上記事情に鑑みてなされたものであり、ユーザ端末に耐タンパデバイスが備えられていなくても、属性情報の匿名化を行いつつ、失効確認を可能とする属性認証システム、同システムにおける匿名属性認証方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記した課題を解決するために以下の事項を提案している。
（１）本発明は、属性証明書発行サーバと、ユーザ端末と、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムであって、前記属性証明書発行サーバ（例えば、図１の属性認証局サーバ３に相当）が、前記ユーザ端末から属性証明書の発行要求を受信したときに、属性証明書として、ユーザの第１の秘密鍵と、該ユーザの第１の秘密鍵と対をなす第１の公開鍵に対してユーザが持つ属性に対する署名鍵で署名を行った属性情報と、前記ユーザの第１の秘密鍵とは異なる第２の秘密鍵と対をなす第２の公開鍵とを生成する生成手段と、すでに発行した有効なユーザの第１の秘密鍵を記憶する記憶手段と、該生成した属性証明書を要求のあったユーザ端末へ送信する属性証明書送信手段と、を備え、前記ユーザ端末（例えば、図１のユーザ端末１に相当）が、前記サービス提供サーバにサービス提供要求を送信するサービス提供要求送信手段と、乱数を生成し、該生成した乱数を前記属性認証局サーバから受信した前記属性情報に乗じることにより変形された属性情報と、前記生成された乱数に対する署名値と、前記生成した乱数を前記属性認証局サーバから受信した前記第２の公開鍵に乗じることにより変形された第２の公開鍵とを前記サービス提供サーバに送信する送信手段と、を備え、前記サービス提供サーバ（例えば、図１のＳＰサーバ２に相当）が、前記変形された属性情報ならびに署名値に対して、それぞれその正当性についての検証を行う検証手段を備え、前記サービス提供サーバが、失効確認を行う場合に、前記属性証明書発行サーバに前記変形した属性情報と前記変形された第２の公開鍵とを送信し、前記属性証明書発行サーバが、前記記憶手段から前記ユーザの第１の秘密鍵を順次選択し、前記サービス提供サーバから受信した前記変形した属性情報と第２の公開鍵および署名用の秘密鍵に対応する公開鍵と変形された第２の公開鍵に前記選択した第１の秘密鍵を乗じたものとのそれぞれのペアリング計算を実行することにより、失効確認を行い、前記サービス提供サーバが、前記検証手段の検証結果と前記失効確認とに基づいて、サービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供することを特徴とする属性認証システムを提案している。
【０００７】
この発明によれば、属性証明書発行サーバは、ユーザ端末から属性証明書の発行要求を受信したときに、属性証明書として、ユーザの第１の秘密鍵と、このユーザの第１の秘密鍵と対をなす第１の公開鍵に対してユーザが持つ属性に対する署名鍵で署名を行った属性情報と、ユーザの第１の秘密鍵とは異なる第２の秘密鍵と対をなす第２の公開鍵とを生成する。また、すでに発行した有効なユーザの第１の秘密鍵を記憶する。さらに、生成した属性証明書を要求のあったユーザ端末へ送信する。ユーザ端末は、サービス提供サーバにサービス提供要求を送信するとともに、乱数を生成し、生成した乱数を属性認証局サーバから受信した属性情報に乗じることにより変形された属性情報と、生成された乱数に対する署名値と、生成した乱数を属性認証局サーバから受信した第２の公開鍵に乗じることにより変形された第２の公開鍵とをサービス提供サーバに送信する。サービス提供サーバは、変形された属性情報ならびに署名値に対して、それぞれその正当性についての検証を行う。そして、サービス提供サーバが、失効確認を行う場合に、属性証明書発行サーバに変形した属性情報と変形された第２の公開鍵とを送信し、属性証明書発行サーバが、記憶手段からユーザの第１の秘密鍵を順次選択し、サービス提供サーバから受信した変形した属性情報と第２の公開鍵および署名用の秘密鍵に対応する公開鍵と変形された第２の公開鍵に選択した第１の秘密鍵を乗じたものとのそれぞれのペアリング計算を実行することにより、失効確認を行い、サービス提供サーバが、検証結果と失効確認とに基づいて、サービス提供要求のあったユーザ端末に対し属性に基づくサービスを提供する。したがって、ユーザ端末が耐タンパデバイスを備えなくとも、完全な匿名認証を実行することができる。また、従来、困難であるとされていた失効確認処理を属性証明書発行サーバにおいて、実行することができる。
【０００８】
（２）本発明は、（１）に記載の属性認証システムにおいて、前記属性認証局サーバ（例えば、図１の属性認証局サーバ３に相当）は、各属性に対し複数の前記署名鍵を割付け、前記署名鍵を定期的に更新する更新手段を更に備えたことを特徴とする属性認証システムを提案している。
【０００９】
この発明によれば、属性認証局サーバは、各属性に対し複数の署名鍵を割付け、署名鍵を定期的に更新する更新手段を備えている。これにより、有効期限の管理を適切に実行することができる。
【００１０】
（３）本発明は、（２）に記載の属性認証システムにおいて、前記属性証明書発行サーバは、前記更新手段により更新された前記複数の署名鍵を並行管理し、現在有効な署名鍵のうち、最も有効期間が長い署名鍵を使用することを特徴とする請求項２に記載の属性認証システムを提案している。
【００１１】
この発明によれば、更新手段により更新された複数の署名鍵を並行管理し、現在有効な署名鍵のうち、最も有効期間が長い署名鍵を使用する。したがって、ユーザがサービスを非常に短い期間しか受けられないという不都合を防止することができる。
【００１２】
（４）本発明は、属性証明書発行サーバと、ユーザ端末と、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける匿名属性認証方法であって、前記ユーザ端末が、ネットワークを介して接続される前記属性証明書発行サーバに対し属性証明書の発行要求を送信する第１のステップ（例えば、図２のステップＳ２０１および図３のステップＳ３０１に相当）と、前記属性証明書発行サーバが、前記属性証明書の発行要求を受信したときに、ユーザの第１の秘密鍵と該第１の秘密鍵と対をなす第１の公開鍵を生成し、該第１の公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成するとともに、前記第１の秘密鍵と異なる第２の秘密鍵と、該第２の秘密鍵と対をなす第２の公開鍵を生成し、要求のあった前記ユーザ端末へ前記第１の秘密鍵と前記属性証明書および第２の公開鍵を送信する第２のステップ（例えば、図２のステップＳ２０２からＳ２０４および図３のステップＳ３０２に相当）と、前記ユーザ端末が、前記ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信する第３のステップ（例えば、図２のステップＳ２０５および図３のステップＳ３０４に相当）と、前記サービス提供要求を受信した前記サービス提供サーバが、乱数を生成してチャレンジ情報を前記ユーザ端末に送信する第４のステップ（例えば、図２のステップＳ２０６に相当）と、前記チャレンジ情報を受信した前記ユーザ端末が、乱数を生成し、前記属性証明書発行サーバから受信した属性証明書および第１の秘密鍵に生成した乱数を乗じて変形し、変形した第１の秘密鍵を用いて、生成した前記乱数の署名値を計算するとともに、前記第２の公開鍵に生成した乱数を乗じて変形する第５のステップ（例えば、図２のステップＳ２０７からＳ２０９および図３のステップＳ３０６、Ｓ３０７に相当）と、前記ユーザ端末が、該変形された属性証明書と、前記サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値および変形した前記第２の公開鍵を前記サービス提供サーバに返信する第６のステップ（例えば、図２のステップＳ２１０および図３のステップＳ３０８に相当）と、前記サービス提供サーバが、前記変形された属性証明書と署名値および変形した前記第２の公開鍵に対してそれぞれ検証を行う第７のステップ（例えば、図２のステップＳ２１１、Ｓ２１２に相当）と、前記属性証明書発行サーバが、格納する有効なユーザの第１の秘密鍵の情報から順次、任意の第１の秘密鍵を選択し、前記サービス提供サーバから受信した変形された属性情報と生成した前記第２の公開鍵および署名用の公開鍵と変形された第２の公開鍵に前記選択した第１の秘密鍵を乗じたものとのそれぞれのペアリング計算を実行して失効確認処理を実行する第８のステップ（例えば、図２のステップＳ２１３および図３のステップＳ３１０に相当）と、前記第７のステップにおける検証結果が正当であり、かつ、前記第８のステップにおいて、ユーザの秘密鍵が有効であると判断されたとき（例えば、図３のステップＳ３０９に相当）に、前記サービス提供サーバがサービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供する第９のステップ（例えば、図２のステップＳ２１４および図３のステップＳ３１１に相当）と、を有することを特徴とする属性認証システムにおける匿名属性認証方法を提案している。
【００１３】
この発明によれば、ユーザ端末が、ネットワークを介して接続される属性証明書発行サーバに対し属性証明書の発行要求を送信する。属性証明書の発行要求を受信した属性証明書発行サーバは、ユーザの第１の秘密鍵と第１の秘密鍵と対をなす第１の公開鍵を生成し、第１の公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成するとともに、第１の秘密鍵と異なる第２の秘密鍵と、第２の秘密鍵と対をなす第２の公開鍵を生成し、要求のあったユーザ端末へ第１の秘密鍵と属性証明書および第２の公開鍵を送信する。次に、ユーザ端末は、ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信する。サービス提供要求を受信したサービス提供サーバは、乱数を生成してチャレンジ情報をユーザ端末に送信する。チャレンジ情報を受信したユーザ端末は、乱数を生成し、属性証明書発行サーバから受信した属性証明書および第１の秘密鍵に生成した乱数を乗じて変形し、変形した第１の秘密鍵を用いて、生成した乱数の署名値を計算するとともに、第２の公開鍵に生成した乱数を乗じて変形する。ユーザ端末は、変形された属性証明書と、サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値および変形した第２の公開鍵をサービス提供サーバに返信し、サービス提供サーバが、変形された属性証明書と署名値および変形した第２の公開鍵に対してそれぞれ検証を行う。そして、属性証明書発行サーバが、格納する有効なユーザの第１の秘密鍵の情報から順次、任意の第１の秘密鍵を選択し、サービス提供サーバから受信した変形された属性情報と生成した第２の公開鍵および署名用の公開鍵と変形された第２の公開鍵に選択した第１の秘密鍵を乗じたものとのそれぞれのペアリング計算を実行して失効確認処理を実行し、サービス提供サーバは、第７のステップにおける検証結果が正当であり、かつ、第８のステップにおいて、ユーザの秘密鍵が有効であると判断されたときに、サービス提供要求のあったユーザ端末に対し属性に基づくサービスを提供する。したがって、ユーザ端末が耐タンパデバイスを備えなくとも、完全な匿名認証を実行することができる。また、従来、困難であるとされていた失効確認処理を属性証明書発行サーバにおいて、実行することができる。
【００１４】
（５）本発明は、属性証明書発行サーバと、ユーザ端末と、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける匿名属性認証をコンピュータに実行させるためのプログラムであって、前記ユーザ端末が、ネットワークを介して接続される前記属性証明書発行サーバに対し属性証明書の発行要求を送信する第１のステップ（例えば、図２のステップＳ２０１および図３のステップＳ３０１に相当）と、前記属性証明書発行サーバが、前記属性証明書の発行要求を受信したときに、ユーザの第１の秘密鍵と該第１の秘密鍵と対をなす第１の公開鍵を生成し、該第１の公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成するとともに、前記第１の秘密鍵と異なる第２の秘密鍵と、該第２の秘密鍵と対をなす第２の公開鍵を生成し、要求のあった前記ユーザ端末へ前記第１の秘密鍵と前記属性証明書および第２の公開鍵を送信する第２のステップ（例えば、図２のステップＳ２０２からＳ２０４および図３のステップＳ３０２に相当）と、前記ユーザ端末が、前記ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信する第３のステップ（例えば、図２のステップＳ２０５および図３のステップＳ３０４に相当）と、前記サービス提供要求を受信した前記サービス提供サーバが、乱数を生成してチャレンジ情報を前記ユーザ端末に送信する第４のステップ（例えば、図２のステップＳ２０６に相当）と、前記チャレンジ情報を受信した前記ユーザ端末が、乱数を生成し、前記属性証明書発行サーバから受信した属性証明書および第１の秘密鍵に生成した乱数を乗じて変形し、変形した第１の秘密鍵を用いて、生成した前記乱数の署名値を計算するとともに、前記第２の公開鍵に生成した乱数を乗じて変形する第５のステップ（例えば、図２のステップＳ２０７からＳ２０９および図３のステップＳ３０６、Ｓ３０７に相当）と、前記ユーザ端末が、該変形された属性証明書と、前記サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値および変形した前記第２の公開鍵を前記サービス提供サーバに返信する第６のステップ（例えば、図２のステップＳ２１０および図３のステップＳ３０８に相当）と、前記サービス提供サーバが、前記変形された属性証明書と署名値および変形した前記第２の公開鍵に対してそれぞれ検証を行う第７のステップ（例えば、図２のステップＳ２１１、Ｓ２１２に相当）と、前記属性証明書発行サーバが、格納する有効なユーザの第１の秘密鍵の情報から順次、任意の第１の秘密鍵を選択し、前記サービス提供サーバから受信した変形された属性情報と生成した前記第２の公開鍵および署名用の公開鍵と変形された第２の公開鍵に前記選択した第１の秘密鍵を乗じたものとのそれぞれのペアリング計算を実行して失効確認処理を実行する第８のステップ（例えば、図２のステップＳ２１３および図３のステップＳ３１０に相当）と、前記第７のステップにおける検証結果が正当であり、かつ、前記第８のステップにおいて、ユーザの秘密鍵が有効であると判断されたとき（例えば、図３のステップＳ３０９に相当）に、前記サービス提供サーバがサービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供する第９のステップ（例えば、図２のステップＳ２１４および図３のステップＳ３１１に相当）と、を有することを特徴とする属性認証システムにおける匿名属性認証をコンピュータに実行させるためのプログラムを提案している。
【００１５】
この発明によれば、ユーザ端末が、ネットワークを介して接続される属性証明書発行サーバに対し属性証明書の発行要求を送信する。属性証明書の発行要求を受信した属性証明書発行サーバは、ユーザの第１の秘密鍵と第１の秘密鍵と対をなす第１の公開鍵を生成し、第１の公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成するとともに、第１の秘密鍵と異なる第２の秘密鍵と、第２の秘密鍵と対をなす第２の公開鍵を生成し、要求のあったユーザ端末へ第１の秘密鍵と属性証明書および第２の公開鍵を送信する。次に、ユーザ端末は、ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信する。サービス提供要求を受信したサービス提供サーバは、乱数を生成してチャレンジ情報をユーザ端末に送信する。チャレンジ情報を受信したユーザ端末は、乱数を生成し、属性証明書発行サーバから受信した属性証明書および第１の秘密鍵に生成した乱数を乗じて変形し、変形した第１の秘密鍵を用いて、生成した乱数の署名値を計算するとともに、第２の公開鍵に生成した乱数を乗じて変形する。ユーザ端末は、変形された属性証明書と、サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値および変形した第２の公開鍵をサービス提供サーバに返信し、サービス提供サーバが、変形された属性証明書と署名値および変形した第２の公開鍵に対してそれぞれ検証を行う。そして、属性証明書発行サーバが、格納する有効なユーザの第１の秘密鍵の情報から順次、任意の第１の秘密鍵を選択し、サービス提供サーバから受信した変形された属性情報と生成した第２の公開鍵および署名用の公開鍵と変形された第２の公開鍵に選択した第１の秘密鍵を乗じたものとのそれぞれのペアリング計算を実行して失効確認処理を実行し、サービス提供サーバは、第７のステップにおける検証結果が正当であり、かつ、第８のステップにおいて、ユーザの秘密鍵が有効であると判断されたときに、サービス提供要求のあったユーザ端末に対し属性に基づくサービスを提供する。したがって、ユーザ端末が耐タンパデバイスを備えなくとも、完全な匿名認証を実行することができる。また、従来、困難であるとされていた失効確認処理を属性証明書発行サーバにおいて、実行することができる。
【発明の効果】
【００１６】
本発明によれば、ユーザ端末に耐タンパデバイスを備えなくとも、認証の際における属性情報の匿名化を第三者との通信を必要とすることなく実現でき、属性情報を交換する際のプライバシー保護が可能になるという効果がある。また、特定のサービス提供者のみが属性の検証を行うことができるという効果がある。
【００１７】
さらに、属性情報が鍵情報のみになることから懸念される有効期間等の情報の設定に関しては、署名鍵を定期的に更新することで解決でき、また、各属性に対して複数の署名鍵を割付け、並行管理することでサービス享受の公平性も確保できるという効果がある。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００１９】
＜属性認証システムのシステム構成＞
図１は、本発明の実施形態に係る属性認証システムのシステム構成の一例を示す図である。
図１に示すように、本実施形態に係る属性認証システムは、ユーザ端末１と、サービス提供者が管理運営するサービス提供サーバ（以下、単にＳＰサーバ２という）と、属性認証局（ＣＡ）が管理運営する属性認証局サーバ３とから構成され、いずれもネットワーク４を介して接続されている。
【００２０】
ユーザ端末１は、属性認証クライアントモジュール１１を実装しており、この属性認証クライアントモジュール１１は、ＳＰサーバ２にサービス提供要求を送信し、乱数を生成して、生成した乱数を属性認証局サーバ３から受信した属性情報に乗じることにより変形された属性情報と、生成された乱数に対する署名値と、生成した乱数を属性認証局サーバ３から受信したユーザの公開鍵とは異なる公開鍵に乗じることにより変形された公開鍵とをＳＰサーバ２に返信する手段として機能する。
【００２１】
また、ＳＰサーバ２は、属性認証サーバモジュール２１を実装しており、この属性認証サーバモジュール２１は、ユーザ端末１により変形された属性証明書ならびに署名値に対してそれぞれその正当性についての検証を行うとともに、この検証結果と属性認証局サーバ３が行う失効確認の結果とに基づいて、サービス提供要求のあったユーザ端末１に対し、属性に基づくサービスを提供する手段として機能する。
【００２２】
属性認証局サーバ３は、属性証明書発行モジュール３１を実装しており、この属性証明書発行モジュール３１は、ユーザ端末１から属性証明書の発行要求を受信したとき、属性証明書として、ユーザの秘密鍵と、このユーザの秘密鍵と対をなす公開鍵に対してユーザが持つ属性に対する署名鍵で署名を行った属性情報と、ユーザの秘密鍵とは異なる秘密鍵と対をなす公開鍵とを生成し、要求のあったユーザ端末１へ送信する手段として機能する。また、各属性に対し複数の署名鍵を割付け、当該署名鍵を定期的に更新する手段としても機能する。
【００２３】
さらに、ＳＰサーバ２から失効確認の要求を受信したときに、ＳＰサーバ２から変形した属性情報と変形されたユーザの公開鍵とは異なる公開鍵とを受信し、記憶手段に格納してある発行済で、かつ、有効なユーザの秘密鍵を順次選択し、受信した変形された属性情報とユーザの公開鍵とは異なる公開鍵および署名用の秘密鍵に対応する公開鍵と変形されたユーザの公開鍵とは異なる公開鍵に選択したユーザの秘密鍵を乗じたものとのそれぞれのペアリング計算を実行することにより、失効確認を行う機能を有する。
【００２４】
＜属性認証システムの動作シーケンス＞
図２は、本発明の実施形態に係る属性認証システム全体の動作の流れを時系列的に示した動作シーケンス図であり、図３は、ユーザ端末の動作の流れをフローチャートで示した図である。なお、図２に示す動作シーケンス図は、本発明の属性認証システムにおける属性情報の匿名化方法の手順も併せて示されている。
以下、図２、図３を参照しながら図１に示す属性認証システムの動作について詳細に説明する。
【００２５】
まず、ユーザ端末１の属性認証クライアントモジュール１１は、属性認証局サーバ３に対して属性証明書発行要求を送信する（図２のステップＳ２０１および図３のステップＳ３０１）。属性証明書発行要求を受信した属性認証局サーバ３の属性証明書発行モジュール３１は、ユーザの秘密鍵ｘと公開鍵ｙ＝ｘＰのペアを生成し（図２のステップＳ２０２および図３のステップＳ３０２）、公開鍵ｙに対し、ユーザが所持する属性に対する署名鍵で署名する。
【００２６】
このとき、署名鍵は、現在ある中から最も有効期間の長いものを使用する。また、署名は、署名用の秘密鍵をｚ、対応する公開鍵をｚＰとした場合、ｚｙとなる。また、属性認証局サーバ３の属性証明書発行モジュール３１は、別の秘密鍵ｚ‘と公開鍵ｚ‘Ｐのペアを作成する（図２のステップＳ２０３）。そして、秘密鍵ｘと、｛ｙ，ｚｙ｝、別の公開鍵ｚ‘Ｐを属性証明書としてユーザ端末１に送信する（図２のステップＳ２０４）。また、属性認証局サーバ３の属性証明書発行モジュール３１は、すでに発行した有効なユーザの秘密鍵ｘをすべてリスト化して保存する。
【００２７】
図４は、有効期間の管理の仕方を概念的に示している。図４中、横軸のｔは、時間の流れを示す。本発明によれば、属性情報が鍵情報のみとなったことにより、新たな有効期間の管理が必要となる。このため、図４に示されるように、属性認証局サーバ３の属性証明書発行モジュール３１が、属性毎に複数の署名鍵を割当て、定期的に組合せを更新することによって有効期間の管理を行うことにしている。その際に、サービスを非常に短い期間しか享受できないユーザが発生しないように、属性毎割当てられる複数の書名鍵を並行管理する。
【００２８】
なお、署名鍵を最も有効期間の長いものを割当てるために、例えば、図４に示されるように、仮に、鍵Ａの使用期間における後半部分で鍵を割当てようとした場合、属性認証局サーバ３の属性証明書発行モジュール３１は、ユーザ端末１の属性認証クライアントモジュール１１に対して、署名鍵Ｄあるいは署名鍵Ｅを割当てる。
【００２９】
次に、ユーザ端末１の属性認証クライアントモジュール１１は、秘密鍵ｘと、｛ｙ，ｚｙ｝と、別の公開鍵ｚ‘Ｐとから成る属性証明書を属性認証局サーバ３の属性証明書発行モジュール３１から受信する（図３のステップＳ３０３の「Ｙｅｓ」）。そして、サービス提供要求を生成し（図３のステップＳ３０４）、ＳＰサーバ２の属性認証サーバモジュール２１に対して生成したサービス提供要求を送信する（図２のステップＳ２０５）。
【００３０】
サービス提供要求を受信したＳＰサーバ２の属性認証サーバモジュール２１は、乱数ｒを生成してチャレンジ情報としてユーザ端末１の属性認証クライアントモジュール１１へ送信する（図２のステップＳ２０６）。
【００３１】
チャレンジ情報を受信（図３のステップＳ３０５の「Ｙｅｓ」）したユーザ端末１の属性認証クライアントモジュール１１は、まず、属性証明書を変形処理する。具体的には、乱数ｆを生成し、先に属性認証局サーバ３から受信した属性証明書｛ｙ，ｚｙ｝に、その乱数を乗じて｛ｆｙ，ｆｚｙ｝に変形させる（図２のステップＳ２０７および図３のステップＳ３０７）。このとき、秘密鍵もｆｘに変形される。
【００３２】
続いて、ユーザ端末１の属性認証クライアントモジュール１１は、ｆｘを用いて、チャレンジ乱数ｒに対する署名値を計算する（図２のステップＳ２０８）。ここで、署名値の計算として、例えば、離散対数問題を応用したＥｌＧａｍａｌ署名によれば、以下の式（１）に従う。
【００３３】
【数１】
2008193454.tif 000003
【００３４】
また、ユーザ端末１の属性認証クライアントモジュール１１は、乱数ｆを用いて別の公開鍵ｚ‘Ｐを変形する（図２のステップＳ２０９および図３のステップＳ３０７）。そして、変形処理した属性証明書｛ｆｙ，ｆｚｙ｝と先に計算した署名値および変形処理した別の公開鍵ｆｚ‘ＰをＳＰサーバ２へ返信する（図２のステップＳ２１０、および図３のステップＳ３０８）。属性証明書と署名値および変形処理した別の公開鍵ｆｚ‘Ｐを受信したＳＰサーバ２の属性認証サーバモジュール２１は、まず、送信されてきた属性証明書を検証する（図２のステップＳ２１１）。ここで、検証のためにＰａｒｉｎｇ計算を用いることとする。具体的には、Ｐａｒｉｎｇ計算をｅ（＊，＊）で表現したとき、ＳＰサーバ２は、ｅ（ｙ，ｚＰ）＝ｅ（ｚｙ、Ｐ）が成立するか否かを判定する。
【００３５】
続いて、ＳＰサーバ２の属性認証サーバモジュール２１は、返信されてきた署名鍵を検証する（図２のステップＳ２１２）。例えば、Ｅｌｇａｍａｌ署名では以下の式（２）を計算する。
【００３６】
【数２】
2008193454.tif 000004
【００３７】
そして、失効確認を行う場合は、ＳＰサーバ２の属性認証サーバモジュール２１が、変形した署名鍵ｆｚｙと、変形処理した別の公開鍵ｆｚ‘Ｐとを属性認証局サーバ３の属性証明書発行モジュール３１に送付する。属性認証局サーバ３の属性証明書発行モジュール３１は、現時点で有効なユーザの秘密鍵ｘのリストの中から、秘密鍵ｘを順次選択し、ｅ（ｆｚｙ，ｚ‘Ｐ）＝ｅ（ｚＰ，ｘｆｚ‘Ｐ）を計算する。このとき、前記等式が成立するものがあれば、秘密鍵ｘは有効であると判定し、すべての秘密鍵ｘをチェックしても有効であるものが無ければ、無効であると判定する（図２のステップＳ２１３および図３のステップＳ３１０）。そして、その判定結果をＳＰサーバ２の属性認証サーバモジュール２１に返信する。
【００３８】
ＳＰサーバ２は、署名の正当性が確認および失効確認が行われたときに、認証成功とし、ユーザ端末１に対して属性情報に基づいたサービス提供を行う（図２のステップＳ２１４）。ここで、認証成功とは、属性証明書と署名鍵との関係が正式な署名として成立することを意味する。属性証明書と署名鍵の検証および失効確認が成立した後（図３のステップＳ３０９の“ＯＫ”）、ユーザ端末１は、ＳＰサーバ２との間で通信を行い、ＳＰサーバ２により提供されるユーザの属性情報に従うサービスを享受することができる（図３のステップＳ３１１）。
【００３９】
なお、上記した属性認証システムおよび同システムにおける匿名化方法の具体的な利用用途としては、医療情報の開示において、医療資格を持つ否かの確認、あるいは、公共交通機関において、公的に発行されたシルバーパス等の資格を確認する等の用途が考えられる。
【００４０】
以上説明したように本発明は、ユーザ端末に耐タンパデバイスを備えなくとも、認証の際における属性情報の匿名化を第三者との通信を必要とすることなく実現でき、属性情報を交換する際のプライバシー保護が可能になる。また、特定のサービス提供者のみが属性の検証を行うことができる。
【００４１】
また、属性情報が鍵情報のみになることから懸念される有効期間等の情報の設定に関して署名鍵を定期的に更新することで可能となり、また、各属性に対して複数の署名鍵を割付け、並行管理することでサービス享受の公平性も確保できる。さらに、ユーザから失効依頼された秘密鍵を失効させ、認証処理時にその失効確認を行うことができる。
【００４２】
なお、図１に示す、属性認証クライアントモジュール１１、属性認証サーバモジュール２１、属性証明書発行モジュール３１は、ユーザ端末１、ＳＰサーバ２、属性認証局サーバ３のそれぞれで実行されるプログラムであり、これらプログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをユーザ端末１、ＳＰサーバ２、属性認証局サーバ３のそれぞれ（いずれもコンピュータシステム）に読み込ませ、実行することによって本発明の属性認証システムを実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００４３】
また、「コンピュータシステム」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００４４】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００４５】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、本実施形態においては、属性認証局サーバ３が失効確認処理を実行する形態について説明したが、属性認証局サーバ３とは別に、失効確認処理を行うサーバを設けてもよい。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施形態に係る属性認証システムのシステム構成の一例を示す図である。
【図２】本発明の実施形態に係る属性認証システムの全体の動作シーケンスを示す図である。
【図３】本発明の実施形態に係る属性認証システムにおけるユーザ端末の動作を示すフローチャートである。
【図４】本発明の実施形態に係る属性認証システムの属性情報の有効期間の管理方法について説明するために引用した動作概念図である。
【符号の説明】
【００４７】
１・・・ユーザ端末、２・・・サービス提供サーバ（ＳＰサーバ）、３・・・属性認証局サーバ、４・・・ネットワーク、１１・・・属性認証クライアントモジュール、２１・・・属性認証サーバモジュール、３１・・・属性証明書発行モジュール
【図１】
2008193454.tif 000005
【図２】
2008193454.tif 000006
【図３】
2008193454.tif 000007
【図４】
2008193454.tif 000008