説明

属性認証システム、同システムにおける属性認証方法およびプログラム

【課題】属性認証の際に、クライアント端末の演算能力が非力であってもその演算処理を高速に行う。
【解決手段】ユーザが、秘密鍵を生成し、これから公開鍵を生成する。CAは、ユーザが生成した公開鍵に対して保有する署名鍵で署名を行い、属性証明書として発行する。また、CAは、乱数を用いて事前計算した属性情報を生成する。ユーザは、SPサーバにサービスの提供要求を送信し、SPサーバは、自身の秘密鍵と公開鍵を生成する。また、生成した乱数rに基づいて計算したチャレンジをユーザに送信する。ユーザは、乱数fを生成し、これを用いて、属性証明書を変形する。また、属性情報を用いて、SPサーバからのチャレンジに対する署名値を算出する。さらに、変形した属性証明書と算出した署名値とをSPサーバに送信する。SPサーバは、ユーザから受信した属性証明書と署名値を検証する。そして、属性証明書および署名値の正当性が確認されたときに、ユーザに対して、属性情報に基づいたサービスの提供を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、属性認証システム、同システムにおける属性認証方法およびプログラムに関し、特に、属性認証の際に、匿名での認証を実現する方式において、クライアント端末の演算能力が非力であってもその演算処理を高速に行い、また、利用者が任意に属性情報をブラインド化することが可能な完全な匿名化を実現する属性認証システム、同システムにおける属性認証方法およびプログラムに関する。
【背景技術】
【0002】
近年、様々なサービスがインターネットを通して電子的に提供されるようになってきている。そのようなサービス提供を行う際には、利用者を認証することが不可欠となる。ここで、利用者を認証する方法は、通常、個人を特定する認証と、属性認証等、個人を特定しない認証(例えば、特許文献1参照)とに大別される。
【特許文献1】特公平8−2051号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、従来の属性認証では、属性情報の匿名性について考慮されていなかった。また、一部、匿名化のための研究は成されているが、その内容が不十分であり、更に、属性認証を行う際に第三者との通信を必要としていた。このため、属性情報が変形できないために、第三者によって通信が観測され、利用者の行動が追跡される恐れがあり、プライバシー保護に関する問題が技術的課題として残されていた。
【0004】
また、一方で、属性情報の匿名性を考慮した匿名認証を行った場合には、失効確認を行うことができないという問題があった。
【0005】
そこで、本発明は、上記事情に鑑みてなされたものであり、属性認証の際に、クライアント端末の演算能力が非力であってもその演算処理を高速に行い、また、利用者が任意に属性情報をブラインド化することにより完全な匿名化を実現する属性認証システム、同システムにおける属性認証方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記した課題を解決するために以下の事項を提案している。
(1)本発明は、ユーザ端末と、属性証明書発行サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムであって、前記ユーザ端末が、秘密鍵xを生成するとともに、この秘密鍵から公開鍵yを生成する鍵生成手段(例えば、図2の鍵生成部11に相当)と、前記サービス提供サーバにサービスの提供要求を送信する第1の送信手段(例えば、図2の送信部14に相当)と、前記属性証明書発行サーバから送信される属性証明書を変形する変形手段(例えば、図2の属性証明書変形部12に相当)と、前記属性証明書発行サーバから送信される事前計算を行った属性情報の中から適切な情報を選択して、前記サービス提供サーバから受信した乱数rに対する署名値を算出する署名値算出手段(例えば、図2の処理部13に相当)と、前記変形手段において変形した属性証明書と該署名値算出手段において算出した署名値とを前記サービス提供サーバに送信する第2の送信手段(例えば、図2の送信部14に相当)と、を備え、前記属性証明書発行サーバが、前記ユーザ端末の生成手段が生成した公開鍵に対して、保有する署名鍵で署名を行う署名手段(例えば、図4の署名部31に相当)と、前記ユーザ端末に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zy}を属性証明書として発行する発行手段(例えば、図4の属性証明書発行部32に相当)と、乱数fおよびkを生成する乱数生成手段(例えば、図4の乱数生成部36に相当)と、該生成した乱数fおよびkを用いて、前記事前計算を行った属性情報を複数生成する属性情報生成手段(例えば、図4の属性情報生成部35に相当)と、前記署名手段による署名値、属性証明書および複数の属性情報を前記ユーザ端末に送信する第3の送信手段(例えば、図4の送信部33に相当)と、を備え、前記サービス提供サーバが、乱数rを生成し、該乱数をチャレンジとして前記ユーザ端末に送信する第4の送信手段(例えば、図3の送信部26に相当)と、前記ユーザ端末から受信した属性証明書を検証する第1の検証手段(例えば、図3の属性証明書検証部21に相当)と、前記ユーザ端末から受信した署名値を検証する第2の検証手段(例えば、図3の署名値検証部22に相当)と、前記第1の検証手段により属性証明書の正当性が確認され、前記第2の検証手段により署名値の正当性が確認されたときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行うサービス提供手段(例えば、図3のサービス提供部24に相当)と、を備えたことを特徴とする属性認証システムを提案している。
【0007】
この発明によれば、ユーザ端末の鍵生成手段は、秘密鍵xを生成するとともに、この秘密鍵から公開鍵yを生成する。第1の送信手段は、サービス提供サーバにサービスの提供要求を送信する。変形手段は、属性証明書発行サーバから送信される属性証明書を変形する。署名値算出手段は、属性証明書発行サーバから送信される事前計算を行った属性情報の中から適切な情報を選択して、サービス提供サーバから受信した乱数rに対する署名値を算出する。第2の送信手段は、変形手段において変形した属性証明書と署名値算出手段において算出した署名値とを前記サービス提供サーバに送信する。また、属性証明書発行サーバの署名手段は、ユーザ端末の生成手段が生成した公開鍵に対して、保有する署名鍵で署名を行う。発行手段は、ユーザ端末に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zy}を属性証明書として発行する。乱数生成手段は、乱数fおよびkを生成する。属性情報生成手段は、生成した乱数fおよびkを用いて、事前計算を行った属性情報を複数生成する。第3の送信手段は、署名手段による署名値、属性証明書および複数の属性情報をユーザ端末に送信する。さらに、サービス提供サーバの第4の送信手段は、乱数rを生成し、乱数をチャレンジとしてユーザ端末に送信する。第1の検証手段は、ユーザ端末から受信した属性証明書を検証する。第2の検証手段は、ユーザ端末から受信した署名値を検証する。サービス提供手段は、第1の検証手段により属性証明書の正当性が確認され、第2の検証手段により署名値の正当性が確認されたときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行う。したがって、従来、ユーザ端末で実行すべき計算負荷の大きな演算を属性証明書発行サーバが、事前に計算して、その情報をユーザ端末に送信することから、ユーザ端末での処理負荷を軽減するとともに、非力なユーザ端末であっても高速な演算を可能とする。
【0008】
(2)本発明は、(1)に記載の属性認証システムにおいて、前記サービス提供サーバが、失効確認を実行する失効確認手段をさらに備えることを特徴とする属性認証システムを提案している。
【0009】
この発明によれば、サービス提供サーバが、失効確認を実行する失効確認手段をさらに備える。したがって、従来、属性情報の匿名性を考慮した匿名認証を行った場合には、事項できなかった失効確認を実行することができる。
【0010】
(3)本発明は、(1)または(2)に記載の属性認証システムにおいて、前記属性証明書発行サーバは、前記署名手段による署名において、現在有効な署名鍵のうち、最も有効期間が長い署名鍵を使用することを特徴とする属性認証システムを提案している。
【0011】
この発明によれば、現在有効な署名鍵のうち、最も有効期間が長い署名鍵を使用する。したがって、ユーザがサービスを非常に短い期間しか受けられないという不都合を防止することができる。
【0012】
(4)本発明は、(1)または(2)に記載の属性認証システムにおいて、前記属性証明書発行サーバの属性情報生成手段が生成する複数属性情報が、それぞれ再利用できない情報であることを特徴とする属性認証システムを提案している。
【0013】
この発明によれば、属性証明書発行サーバの属性情報生成手段が生成する複数属性情報が、それぞれ再利用できない情報である。つまり、属性証明書発行サーバが事前に計算する属性情報は、すべてが固有の情報である必要があるため、ユーザ端末は、属性証明書発行サーバから複数の情報を入手し、属性情報がなくなった時点で再度、属性証明書発行サーバに属性情報を要求する。
【0014】
(5)本発明は、(1)または(2)に記載の属性認証システムにおいて、前記属性証明書発行サーバの属性情報生成手段が生成する複数属性情報が、前記乱数kの逆元であることを特徴とする属性認証システムを提案している。
【0015】
この発明によれば、属性証明書発行サーバの属性情報生成手段が生成する複数属性情報が、乱数kの逆元である。一般に、逆元の計算には、大きな計算負荷が伴うため、これを属性証明書発行サーバで事前に計算して、ユーザ端末に送信することにより、ユーザ端末での計算負荷を軽減することができる。
【0016】
(6)本発明は、(1)または(2)に記載の属性認証システムにおいて、前記属性証明書発行サーバの属性情報生成手段が生成する複数属性情報が、少なくとも、前記乱数fとk倍点のx座標のmod n値であるuの乗算値であることを特徴とする属性認証システムを提案している。
【0017】
この発明によれば、属性証明書発行サーバの属性情報生成手段が生成する複数属性情報が、少なくとも、乱数fとk倍点のx座標のmod n値であるuの乗算値である。一般に、乗算の計算には、大きな計算負荷が伴うため、これを属性証明書発行サーバで事前に計算して、ユーザ端末に送信することにより、ユーザ端末での計算負荷を軽減することができる。
【0018】
(7)本発明は、ユーザ端末と、属性証明書発行サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける属性認証方法であって、前記ユーザ端末が、秘密鍵xを生成するとともに、この秘密鍵から公開鍵yを生成する第1のステップ(例えば、図5のS201、図6のステップS301に相当)と、前記属性証明書発行サーバが、前記ユーザ端末の生成した公開鍵に対して、保有する署名鍵で署名を行う第2のステップ(例えば、図6のステップS302に相当)と、前記属性証明書発行サーバが、前記ユーザ端末に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zy}を属性証明書として発行する第3のステップ(例えば、図5のS203、S204に相当)と、前記属性証明書発行サーバが、乱数fおよびkを生成し、該生成した乱数fおよびkを用いて、事前計算を行った属性情報を複数生成する第4のステップ(例えば、図5のS205、図6のステップS303に相当)と、前記属性証明書発行サーバが、前記署名値、属性証明書および複数の属性情報を前記ユーザ端末に送信する第5のステップ(例えば、図5のS204、S206、図6のステップS304に相当)と、前記ユーザ端末が、前記サービス提供サーバにサービスの提供要求を送信する第6のステップ(例えば、図5のS207、図6のステップS305に相当)と、前記サービス提供サーバが、乱数rを生成し、該乱数をチャレンジとして前記ユーザ端末に送信する第7のステップ(例えば、図5のS208、図6のステップS306に相当)と、前記ユーザ端末が、前記属性証明書発行サーバから送信される属性証明書を変形する第8のステップ(例えば、図5のS209、図6のステップS307に相当)と、前記ユーザ端末が、前記属性証明書発行サーバから送信される事前計算を行った属性情報の中から適切な情報を選択して、前記サービス提供サーバから受信した乱数rに対する署名値を算出する第9のステップ(例えば、図5のS210に相当)と、前記ユーザ端末が、変形した属性証明書と算出した署名値とを前記サービス提供サーバに送信する第10のステップ(例えば、図5のS211、図6のステップS308に相当)と、前記サービス提供サーバが、前記ユーザ端末から受信した属性証明書を検証する第11のステップ(例えば、図5のS212、図6のステップS309に相当)と、前記サービス提供サーバが、前記ユーザ端末から受信した署名値を検証する第12のステップ(例えば、図5のS213、図6のステップS309に相当)と、前記サービス提供サーバが、前記属性証明書の正当性が確認され、署名値の正当性が確認されたときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行う第13のステップ(例えば、図5のS214、図6のステップS310に相当)と、を備えたことを特徴とする属性認証方法を提案している。
【0019】
この発明によれば、ユーザ端末が、秘密鍵xを生成するとともに、この秘密鍵から公開鍵yを生成する。属性証明書発行サーバは、ユーザ端末の生成した公開鍵に対して、保有する署名鍵で署名を行う。属性証明書発行サーバは、さらに、ユーザ端末に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zy}を属性証明書として発行する。また、属性証明書発行サーバは、乱数fおよびkを生成し、生成した乱数fおよびkを用いて、事前計算を行った属性情報を複数生成する。そして、属性証明書発行サーバは、署名値、属性証明書および複数の属性情報をユーザ端末に送信する。ユーザ端末は、サービス提供サーバにサービスの提供要求を送信する。サービス提供サーバは、乱数rを生成し、乱数をチャレンジとしてユーザ端末に送信する。ユーザ端末は、属性証明書発行サーバから送信される属性証明書を変形し、属性証明書発行サーバから送信される事前計算を行った属性情報の中から適切な情報を選択して、サービス提供サーバから受信した乱数rに対する署名値を算出する。そして、ユーザ端末は、変形した属性証明書と算出した署名値とをサービス提供サーバに送信する。サービス提供サーバは、ユーザ端末から受信した属性証明書を検証し、署名値を検証する。そして、サービス提供サーバが、属性証明書の正当性が確認され、署名値の正当性が確認されたときに、ユーザ端末に対して、属性情報に基づいたサービスの提供を行う。したがって、従来、ユーザ端末で実行すべき計算負荷の大きな演算を属性証明書発行サーバが、事前に計算して、その情報をユーザ端末に送信することから、ユーザ端末での処理負荷を軽減するとともに、非力なユーザ端末であっても高速な演算を可能とする。
【0020】
(8)本発明は、ユーザ端末と、属性証明書発行サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける属性認証方法をコンピュータに実行させるためのプログラムであって、前記ユーザ端末が、秘密鍵xを生成するとともに、この秘密鍵から公開鍵yを生成する第1のステップ(例えば、図5のS201、図6のステップS301に相当)と、前記属性証明書発行サーバが、前記ユーザ端末の生成した公開鍵に対して、保有する署名鍵で署名を行う第2のステップ(例えば、図6のステップS302に相当)と、前記属性証明書発行サーバが、前記ユーザ端末に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zy}を属性証明書として発行する第3のステップ(例えば、図5のS203、S204に相当)と、前記属性証明書発行サーバが、乱数fおよびkを生成し、該生成した乱数fおよびkを用いて、事前計算を行った属性情報を複数生成する第4のステップ(例えば、図5のS205、図6のステップS303に相当)と、前記属性証明書発行サーバが、前記署名値、属性証明書および複数の属性情報を前記ユーザ端末に送信する第5のステップ(例えば、図5のS204、S206、図6のステップS304に相当)と、前記ユーザ端末が、前記サービス提供サーバにサービスの提供要求を送信する第6のステップ(例えば、図5のS207、図6のステップS305に相当)と、前記サービス提供サーバが、乱数rを生成し、該乱数をチャレンジとして前記ユーザ端末に送信する第7のステップ(例えば、図5のS208、図6のステップS306に相当)と、前記ユーザ端末が、前記属性証明書発行サーバから送信される属性証明書を変形する第8のステップ(例えば、図5のS209、図6のステップS307に相当)と、前記ユーザ端末が、前記属性証明書発行サーバから送信される事前計算を行った属性情報の中から適切な情報を選択して、前記サービス提供サーバから受信した乱数rに対する署名値を算出する第9のステップ(例えば、図5のS210に相当)と、前記ユーザ端末が、変形した属性証明書と算出した署名値とを前記サービス提供サーバに送信する第10のステップ(例えば、図5のS211、図6のステップS308に相当)と、前記サービス提供サーバが、前記ユーザ端末から受信した属性証明書を検証する第11のステップ(例えば、図5のS212、図6のステップS309に相当)と、前記サービス提供サーバが、前記ユーザ端末から受信した署名値を検証する第12のステップ(例えば、図5のS213、図6のステップS309に相当)と、前記サービス提供サーバが、前記属性証明書の正当性が確認され、署名値の正当性が確認されたときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行う第13のステップ(例えば、図5のS214、図6のステップS310に相当)と、をコンピュータに実行させるためのプログラムを提案している。
【0021】
この発明によれば、ユーザ端末が、秘密鍵xを生成するとともに、この秘密鍵から公開鍵yを生成する。属性証明書発行サーバは、ユーザ端末の生成した公開鍵に対して、保有する署名鍵で署名を行う。属性証明書発行サーバは、さらに、ユーザ端末に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zy}を属性証明書として発行する。また、属性証明書発行サーバは、乱数fおよびkを生成し、生成した乱数fおよびkを用いて、事前計算を行った属性情報を複数生成する。そして、属性証明書発行サーバは、署名値、属性証明書および複数の属性情報をユーザ端末に送信する。ユーザ端末は、サービス提供サーバにサービスの提供要求を送信する。サービス提供サーバは、乱数rを生成し、乱数をチャレンジとしてユーザ端末に送信する。ユーザ端末は、属性証明書発行サーバから送信される属性証明書を変形し、属性証明書発行サーバから送信される事前計算を行った属性情報の中から適切な情報を選択して、サービス提供サーバから受信した乱数rに対する署名値を算出する。そして、ユーザ端末は、変形した属性証明書と算出した署名値とをサービス提供サーバに送信する。サービス提供サーバは、ユーザ端末から受信した属性証明書を検証し、署名値を検証する。そして、サービス提供サーバが、属性証明書の正当性が確認され、署名値の正当性が確認されたときに、ユーザ端末に対して、属性情報に基づいたサービスの提供を行う。したがって、従来、ユーザ端末で実行すべき計算負荷の大きな演算を属性証明書発行サーバが、事前に計算して、その情報をユーザ端末に送信することから、ユーザ端末での処理負荷を軽減するとともに、非力なユーザ端末であっても高速な演算を可能とする。
【発明の効果】
【0022】
本発明によれば、属性認証の際に、クライアント端末の演算能力が非力であってもその演算処理を高速に行うことができるという効果がある。また、利用者が任意に属性情報をブラインド化することにより完全な匿名化を実現しつつ、失効確認も実行することができるという効果がある。
【発明を実施するための最良の形態】
【0023】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0024】
<第1の実施形態>
以下、図1から図6を用いて、本発明の第1の実施形態について説明する。
【0025】
<属性認証システムのシステム構成>
図1は、本発明の実施形態に係る属性認証システムのシステム構成の一例を示す図である。
図1に示すように、本実施形態に係る属性認証システムは、ユーザ端末1と、サービス提供者が管理運営するサービス提供サーバ(以下、単にSPサーバ2という)と、属性認証局(CA)が管理運営する属性認証局サーバ3とから構成され、いずれもネットワーク4を介して接続されている。
【0026】
また、ユーザ端末1は、属性認証クライアントモジュール10を備え、SPサーバ2は、属性認証サーバモジュール20を備え、属性認証サーバ3は、属性証明書発行モジュール30を備えている。
【0027】
さらに、属性認証クライアントモジュール10は、図2に示すように、鍵生成部11と、属性証明書変形部12と、処理部13と、送信部14とから構成されている。
【0028】
鍵生成部11は、秘密鍵xを生成するとともに、この秘密鍵から公開鍵yを生成する。属性証明書変形部12は、乱数fを生成し、その乱数fを用いて、属性認証サーバ3が発行する属性証明書を変形する。
【0029】
処理部13は、SPサーバ2からチャレンジとして送信されてくるrに対する署名値を計算する。署名処理は、例えば、ElGamal署名では以下の計算を行う。
u=g=kP
s=k−1(r−xfu)mod P−1
【0030】
なお、後述するように、計算に使用する要素のうち、u、k−1、xfu(もしくはfu)は、属性認証サーバ3において事前計算済みのものを使用できるため、実際には、rに関する部分のみ計算を行えばよい。したがって、ユーザ端末1の演算負荷を軽減し、高速な演算処理を実現することができる。
【0031】
送信部14は、SPサーバ2にサービスの提供要求と属性証明書変形部12において変形した属性証明書と処理部13において算出した署名値とを送信する。
【0032】
また、属性認証サーバモジュール20は、図3に示すように、属性証明書検証部21と、署名値検証部22と、サービス提供部24と、チャレンジ生成部25と、送信部26とから構成されている。
【0033】
属性証明書検証部21は、ユーザ端末1から受信した属性証明書を検証する。検証にはPairing計算を用いる。具体的には、ペアリング計算をe(*、*)で表したとき、e(y、zP)=e(zy、P)が成立するかどうかを検証する。
【0034】
署名値検証部22は、ユーザ端末1から受信した署名値を検証する。具体的には、ElGamal署名では以下の計算を行う。
≡y
【0035】
サービス提供部24は、属性証明書検証部21により属性証明書の正当性が確認され、署名値検証部22により署名値の正当性が確認されたときに、ユーザ端末1に対して、属性情報に基づいたサービスの提供を行う。
【0036】
チャレンジ生成部25は、乱数rを生成して、これをチャレンジとする。送信部26は、チャレンジ生成部25が生成した乱数rをチャレンジとして、ユーザ端末1に送信する。
【0037】
属性証明書発行モジュール30は、図4に示すように、署名部31と、属性証明書発行部32と、送信部33、属性情報生成部35と、乱数生成部36とから構成されている。
【0038】
署名部31は、ユーザ端末1の鍵生成部11が生成した公開鍵に対して、保有する署名鍵で署名を行う。属性証明書発行部32は、ユーザ端末1に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zy}を属性証明書として発行する。送信部33は、属性証明書発行部32が発行した属性証明書をユーザ端末1に送信する。
【0039】
属性情報生成部35は、後述する乱数生成部36が生成した乱数fおよびkを用いて、事前計算を行った属性情報を複数生成する。なお、属性情報生成手段が生成する複数属性情報は、それぞれ再利用できない情報である。つまり、属性証明書発行サーバが事前に計算する属性情報は、すべてが固有の情報である必要があるため、ユーザ端末1は、属性認証サーバ3から複数の情報を入手し、属性情報がなくなった時点で再度、属性認証サーバ3に属性情報を要求する。
【0040】
ここで、属性情報として具体的なものとしては、例えば、計算負荷の重い、k倍点のx座標値のmod n値であるu=g=kPやk−1(kの逆元)、x*f*uあるいはf*u、fy、fzy等が挙げられる。乱数生成部36は、属性情報生成部35において、事前計算に必要な乱数fおよびkを生成する。
【0041】
<属性認証システムの動作シーケンス>
図5は、本実施形態に係る属性認証システム全体の動作の流れを時系列的に示した動作シーケンス図であり、図6は、ユーザ端末の動作の流れをフローチャートで示した図である。なお、図5に示す動作シーケンス図は、本発明の属性認証システムにおける属性情報の匿名化方法の手順も併せて示されている。
以下、図5、図6を参照しながら図1に示す属性認証システムの動作について詳細に説明する。
【0042】
まず、ユーザ端末1の鍵生成部11は、ユーザの秘密鍵xと公開鍵y=x*Pを生成する(図5のステップS201、図6のステップS301、S302)。なお、ここで、Pは生成元である。そして、ユーザ端末1の送信部14は、属性認証局サーバ3に対して、属性証明書の発行要求を送信する(図5のステップS202)。
【0043】
属性認証局サーバ3は、公開鍵yに対し、属性認証局サーバ3が保有する属性用の署名鍵で署名を行う(図6のステップS302)。なお、署名鍵は、現在ある中からもっとも有効期限の長いものを使用する(図7参照)。署名は、署名用の秘密鍵をz、対応する公開鍵をzPとしたとき、zyとなる。
【0044】
そして、{y、zy}を証明書として、ユーザ端末1に発行する(図5のステップS203、S204、図6のステップS303)。
【0045】
図9は、有効期間の管理の仕方を概念的に示している。図9中、横軸のtは、時間の流れを示す。本発明によれば、属性情報が鍵情報のみとなったことにより、新たな有効期間の管理が必要となる。このため、図9に示されるように、属性認証局サーバ3の属性証明書発行モジュール31が、属性毎に複数の署名鍵を割当て、定期的に組合せを更新することによって有効期間の管理を行うことにしている。その際に、サービスを非常に短い期間しか享受できないユーザが発生しないように、属性毎割当てられる複数の書名鍵を並行管理する。
【0046】
なお、署名鍵を最も有効期間の長いものを割当てるために、例えば、図9に示されるように、仮に、鍵Aの使用期間における後半部分で鍵を割当てようとした場合、属性認証局サーバ3の属性証明書発行モジュール31は、ユーザ端末1の属性認証クライアントモジュール11に対して、署名鍵Dあるいは署名鍵Eを割当てる。これにより、ユーザがサービスを非常に短い期間しか受けられないという不都合を防止することができる。
【0047】
次に、属性認証局サーバ3は、ユーザ端末1に対して、属性情報を送付し(図5のステップS206、図6のステップS303)、ユーザ端末1の送信部14は、SPサーバ2に対して、サービスの提供要求を送信する(図5のステップS207、図6のステップS305)。
【0048】
SPサーバ2のチャレンジ生成部25は、生成した乱数rをチャレンジとして、これを送信部27からユーザ端末1に送信する(図5のステップS208、図6のステップS306)。
【0049】
ユーザ端末1の属性証明書変形部12は、受信した属性証明書を変形する(図5のステップS208、図6のステップS307)。具体的には、乱数fを生成し、fy、fzyと変形する。
【0050】
次に、ユーザ端末1の処理部13が、属性認証局サーバ3から送られてきた属性情報を利用して、署名値を計算する。例えば、ElGamal署名では、以下の式を演算する(図5のステップS210)。
u=g=kP
s=k−1(r−xfu)mod P−1
【0051】
ユーザ端末1の送信部14は、変形した属性証明書と、計算した署名値をSPサーバ2に返信する(図5のステップS211、図6のステップS308)。
【0052】
SPサーバ2の属性証明書検証部21は、送られてきた属性証明書を検証する(図5のステップS212、図6のステップS308)。ここで、検証にはPairing計算を用いる。具体的には、ペアリング計算をe(*、*)で表したとき、e(y、zP)=e(zy、P)が成立するかどうかを検証する。ここで、zPは属性発行用の公開鍵である。
【0053】
次に、SPサーバ2の署名値検証部22が、送られてきた署名を検証する(図5のステップS213、図6のステップS309)。具体的には、例えば、ElGamal署名では、g≡yを計算する。
【0054】
そして、SPサーバ2は、証明書の正当性確認および署名の正当性確認を完了すると、認証が成功したものとして判断し、SPサーバ2のサービス提供部24が、ユーザ端末1に対して属性情報に基づいたサービス提供を行う(図5のステップS214、図6のステップS310)。
【0055】
したがって、本実施形態によれば、従来、ユーザ端末1で実行すべき計算負荷の大きな演算を属性認証局サーバ3が、事前に計算して、その情報をユーザ端末1に送信することから、ユーザ端末1での処理負荷を軽減するとともに、非力なユーザ端末1であっても高速な演算を可能とする。
【0056】
<第2の実施形態>
図7および図8を用いて、本発明の第2の実施形態について説明する。
なお、本実施形態は、前記第1の実施形態に失効確認処理を加えたものである。
【0057】
具体的には、SPサーバ2に失効確認実行部を設けて、失効確認を実行する(図7のステップS214、図8のステップS310)。ここで、失効確認を行う場合は、失効リストを事前にあるいは、その場で属性認証局サーバ3から取得する。失効リストとは、属性認証局サーバ3が生成するもので、失効したユーザの公開鍵yが公開される。
【0058】
なお、ユーザが自分の持つ公開鍵を失効させたい場合には、属性認証局サーバ3に申請を行い、yを公開してもらう。失効リストには、属性認証局サーバ3による署名が付与されており、その正当性が確認できる。
【0059】
失効確認は、例えば、SPサーバ2がユーザ端末1に対して送信した乱数と、ユーザ端末1から送信されてきた署名値とに基づいて、失効処理された秘密鍵について、順番に乱数の署名値を計算することにより、使用された秘密鍵を特定する。なお、秘密鍵が失効していなければ、署名値が一致する秘密鍵は登録されていないことになる。
【0060】
署名値が一致する秘密鍵が失効したとして登録してあると判断する場合には、秘密鍵が失効しているものと判断する。一方で、署名値が一致する秘密鍵が失効したとして登録されていないと判断する場合には、秘密鍵が失効していないものと判断する。なお、失効されている秘密鍵は、秘密鍵の有効期限が過ぎた時点で、データ領域から消去される。
【0061】
したがって、本実施形態では、失効確認が実行できるため、ユーザ端末1に計算負荷をかけることなく、証明書の正当性確認および署名の正当性確認とともに、失効確認を行った上で、ユーザの属性情報に基づいたサービス提供を行うことができる。
【0062】
なお、上記した属性認証システムおよび同システムにおける匿名化方法の具体的な利用用途としては、医療情報の開示において、医療資格を持つ否かの確認、あるいは、公共交通機関において、公的に発行されたシルバーパス等の資格を確認する等の用途が考えられる。
【0063】
なお、図1に示す、属性認証クライアントモジュール10、属性認証サーバモジュール20、属性証明書発行モジュール30は、ユーザ端末1、SPサーバ2、属性認証局サーバ3のそれぞれで実行されるプログラムであり、これらプログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをユーザ端末1、SPサーバ2、属性認証局サーバ3のそれぞれ(いずれもコンピュータシステム)に読み込ませ、実行することによって本発明の属性認証システムを実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0064】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0065】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0066】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、第2の実施形態においては、属性認証局サーバ3が失効確認処理を実行する形態について説明したが、属性認証局サーバ3とは別に、失効確認処理を行うサーバを設けてもよい。
【図面の簡単な説明】
【0067】
【図1】本発明の第1の実施形態に係る属性認証システムのシステム構成の一例を示す図である。
【図2】本発明の第1の実施形態に係る属性認証クライアントモジュールの構成図である。
【図3】本発明の第1の実施形態に係る属性認証サーバモジュールの構成図である。
【図4】本発明の第1の実施形態に係る属性証明書発行モジュールの構成図である。
【図5】本発明の第1の実施形態に係る属性認証システムの全体の動作シーケンスを示す図である。
【図6】本発明の第1の実施形態に係る属性認証システムにおけるユーザ端末の動作を示すフローチャートである。
【図7】本発明の第2の実施形態に係る属性認証システムの全体の動作シーケンスを示す図である。
【図8】本発明の第2の実施形態に係る属性認証システムにおけるユーザ端末の動作を示すフローチャートである。
【図9】本発明の実施形態に係る属性認証システムの属性情報の有効期間の管理方法について説明するために引用した動作概念図である。
【符号の説明】
【0068】
1・・・ユーザ端末、2・・・サービス提供サーバ(SPサーバ)、3・・・属性認証局サーバ、4・・・ネットワーク、10・・・属性認証クライアントモジュール、11・・・鍵生成部、12・・・属性証明書変形部、13・・・処理部、14・・・送信部、20・・・属性認証サーバモジュール、21・・・属性証明書検証部、22・・・署名値検証部、24・・・サービス提供部、25・・・チャレンジ生成部、26・・・送信部、30・・・属性証明書発行モジュール、31・・・署名部、32・・・属性証明書発行部、33・・・送信部、35・・・属性情報生成部、36・・・乱数生成部

【特許請求の範囲】
【請求項1】
ユーザ端末と、属性証明書発行サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムであって、
前記ユーザ端末が、
秘密鍵xを生成するとともに、この秘密鍵から公開鍵yを生成する鍵生成手段と、
前記サービス提供サーバにサービスの提供要求を送信する第1の送信手段と、
前記属性証明書発行サーバから送信される属性証明書を変形する変形手段と、
前記属性証明書発行サーバから送信される事前計算を行った属性情報の中から適切な情報を選択して、前記サービス提供サーバから受信した乱数rに対する署名値を算出する署名値算出手段と、
前記変形手段において変形した属性証明書と該署名値算出手段において算出した署名値とを前記サービス提供サーバに送信する第2の送信手段と、
を備え、
前記属性証明書発行サーバが、
前記ユーザ端末の生成手段が生成した公開鍵に対して、保有する署名鍵で署名を行う署名手段と、
前記ユーザ端末に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zy}を属性証明書として発行する発行手段と、
乱数fおよびkを生成する乱数生成手段と、
該生成した乱数fおよびkを用いて、前記事前計算を行った属性情報を複数生成する属性情報生成手段と、
前記署名手段による署名値、属性証明書および複数の属性情報を前記ユーザ端末に送信する第3の送信手段と、
を備え、
前記サービス提供サーバが、
乱数rを生成し、該乱数をチャレンジとして前記ユーザ端末に送信する第4の送信手段と、
前記ユーザ端末から受信した属性証明書を検証する第1の検証手段と、
前記ユーザ端末から受信した署名値を検証する第2の検証手段と、
前記第1の検証手段により属性証明書の正当性が確認され、前記第2の検証手段により署名値の正当性が確認されたときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行うサービス提供手段と、
を備えたことを特徴とする属性認証システム。
【請求項2】
前記サービス提供サーバが、失効確認を実行する失効確認手段をさらに備えることを特徴とする請求項1に記載の属性認証システム。
【請求項3】
前記属性証明書発行サーバは、前記署名手段による署名において、現在有効な署名鍵のうち、最も有効期間が長い署名鍵を使用することを特徴とする請求項1または2に記載の属性認証システム。
【請求項4】
前記属性証明書発行サーバの属性情報生成手段が生成する複数属性情報が、それぞれ再利用できない情報であることを特徴とする請求項1または2に記載の属性認証システム。
【請求項5】
前記属性証明書発行サーバの属性情報生成手段が生成する複数属性情報が、前記乱数kの逆元であることを特徴とする請求項1または2に記載の属性認証システム。
【請求項6】
前記属性証明書発行サーバの属性情報生成手段が生成する複数属性情報が、少なくとも、前記乱数fとk倍点のx座標のmod n値であるuの乗算値であることを特徴とする請求項1または2に記載の属性認証システム。
【請求項7】
ユーザ端末と、属性証明書発行サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける属性認証方法であって、
前記ユーザ端末が、秘密鍵xを生成するとともに、この秘密鍵から公開鍵yを生成する第1のステップと、
前記属性証明書発行サーバが、前記ユーザ端末の生成した公開鍵に対して、保有する署名鍵で署名を行う第2のステップと、
前記属性証明書発行サーバが、前記ユーザ端末に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zy}を属性証明書として発行する第3のステップと、
前記属性証明書発行サーバが、乱数fおよびkを生成し、該生成した乱数fおよびkを用いて、事前計算を行った属性情報を複数生成する第4のステップと、
前記属性証明書発行サーバが、前記署名値、属性証明書および複数の属性情報を前記ユーザ端末に送信する第5のステップと、
前記ユーザ端末が、前記サービス提供サーバにサービスの提供要求を送信する第6のステップと、
前記サービス提供サーバが、乱数rを生成し、該乱数をチャレンジとして前記ユーザ端末に送信する第7のステップと、
前記ユーザ端末が、前記属性証明書発行サーバから送信される属性証明書を変形する第8のステップと、
前記ユーザ端末が、前記属性証明書発行サーバから送信される事前計算を行った属性情報の中から適切な情報を選択して、前記サービス提供サーバから受信した乱数rに対する署名値を算出する第9のステップと、
前記ユーザ端末が、変形した属性証明書と算出した署名値とを前記サービス提供サーバに送信する第10のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した属性証明書を検証する第11のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した署名値を検証する第12のステップと、
前記サービス提供サーバが、前記属性証明書の正当性が確認され、署名値の正当性が確認されたときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行う第13のステップと、
を備えたことを特徴とする属性認証方法。
【請求項8】
ユーザ端末と、属性証明書発行サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける属性認証方法をコンピュータに実行させるためのプログラムであって、
前記ユーザ端末が、秘密鍵xを生成するとともに、この秘密鍵から公開鍵yを生成する第1のステップと、
前記属性証明書発行サーバが、前記ユーザ端末の生成した公開鍵に対して、保有する署名鍵で署名を行う第2のステップと、
前記属性証明書発行サーバが、前記ユーザ端末に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zy}を属性証明書として発行する第3のステップと、
前記属性証明書発行サーバが、乱数fおよびkを生成し、該生成した乱数fおよびkを用いて、事前計算を行った属性情報を複数生成する第4のステップと、
前記属性証明書発行サーバが、前記署名値、属性証明書および複数の属性情報を前記ユーザ端末に送信する第5のステップと、
前記ユーザ端末が、前記サービス提供サーバにサービスの提供要求を送信する第6のステップと、
前記サービス提供サーバが、乱数rを生成し、該乱数をチャレンジとして前記ユーザ端末に送信する第7のステップと、
前記ユーザ端末が、前記属性証明書発行サーバから送信される属性証明書を変形する第8のステップと、
前記ユーザ端末が、前記属性証明書発行サーバから送信される事前計算を行った属性情報の中から適切な情報を選択して、前記サービス提供サーバから受信した乱数rに対する署名値を算出する第9のステップと、
前記ユーザ端末が、変形した属性証明書と算出した署名値とを前記サービス提供サーバに送信する第10のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した属性証明書を検証する第11のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した署名値を検証する第12のステップと、
前記サービス提供サーバが、前記属性証明書の正当性が確認され、署名値の正当性が確認されたときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行う第13のステップと、
をコンピュータに実行させるためのプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−111695(P2009−111695A)
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願番号】特願2007−281642(P2007−281642)
【出願日】平成19年10月30日(2007.10.30)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】