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