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