説明

属性認証システム、同システムにおける属性情報の匿名化方法およびプログラム

【課題】属性認証の際に匿名性を保証し、かつ、第三者との間で通信を要することなく属性情報の匿名化を行うことのできるとともに、匿名認証を行った場合においても失効確認を可能とし、かつ、失効確認における処理負荷を分散してコストの低減を実現する。
【解決手段】CAサーバ3は、属性情報として発行者の署名が付与された公開鍵の鍵情報を生成する。そして、その鍵情報は、ユーザ端末1が、生成される乱数を公開鍵と発行者の署名とからなる属性証明書に乗じて変形してSPサーバ2へ送信する。SPサーバ2は、失効検証局サーバ4から失効リストを受信し、認証処理時に、に失効確認依頼を行い、失効していない場合に、属性証明書と署名鍵との関係が正式な署名として成立することを検証して、要求されたサービスの提供を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、属性認証システム、同システムにおける属性情報の匿名化方法およびプログラムに関し、特に、属性情報の匿名化を行った場合でも失効確認を可能とするとともに、失効確認に関する処理の負荷分散を図った属性認証システム、同システムにおける属性情報の匿名化方法およびプログラムに関する。
【背景技術】
【0002】
近年、様々なサービスがインターネットを通して電子的に提供されるようになってきている。そのようなサービス提供を行う際には、利用者を認証することが不可欠となる。ここで、利用者を認証する方法は、通常、個人を特定する認証と、属性認証等、個人を特定しない認証(例えば、特許文献1参照)とに大別される。
【特許文献1】特公平8−2051号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、従来の属性認証では、属性情報の匿名性について考慮されていなかった。また、一部、匿名化のための研究は成されているが、その内容が不十分であり、更に、属性認証を行う際に第三者との通信を必要としていた。このため、第三者によって通信が観測され、利用者の行動が追跡される恐れがあり、プライバシー保護に関する問題が技術的課題として残されていた。
【0004】
また、一方で、属性情報の匿名性を考慮した匿名認証を行った場合には、失効確認を行うことができないという問題があった。さらに、失効確認を実現するためには、システム全体の処理負荷を考慮しないとコストの増大をもたらすという問題があった。
【0005】
そこで、本発明は、上記事情に鑑みてなされたものであり、属性認証の際に匿名性を保証し、かつ、第三者との間で通信を要することなく属性情報の匿名化を行うことのできるとともに、匿名認証を行った場合においても失効確認を可能とし、かつ、失効確認における処理負荷を分散してコストの低減を実現する属性認証システムおよび同システムにおける属性情報の匿名化方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記した課題を解決するために以下の事項を提案している。
(1)本発明は、属性認証局サーバと、ユーザ端末と、失効検証局サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムであって、前記属性認証局サーバ(例えば、図1のCAサーバ3に相当)は、前記ユーザ端末から属性証明書の発行要求を受信したときに、ユーザの公開鍵に対してユーザが持つ属性に対する署名鍵で署名を行って属性証明書を生成する生成手段と、該生成した属性証明書を要求のあったユーザ端末へ送信する属性証明書送信手段と、を備え、前記ユーザ端末(例えば、図1のユーザ端末1に相当)は、前記サービス提供サーバにサービス提供要求を送信するサービス提供要求送信手段と、乱数を生成し、該生成した乱数を前記属性認証局サーバから受信した属性証明書に乗じることにより変形し、該変形された属性情報と前記サービス提供サーバから送信されるチャレンジ情報に対し演算された署名値とを前記サービス提供サーバに返信する返信手段とを備え、前記失効検証局サーバ(例えば、図1の失効検証局サーバ4に相当)は、前記ユーザ端末から送信された秘密鍵を登録する登録手段と、該登録手段に登録した秘密鍵の失効リストを定期的に発行する失効リスト発行手段と、前記サービス提供サーバからの要求に応じて、該発行した失効リストを送信する失効リスト送信手段と、を備え、前記サービス提供サーバ(例えば、図1のSPサーバ2に相当)は、前記変形された属性証明書ならびに署名値に対して、それぞれその正当性についての検証を行い、正当であると判断したときに、サービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供するサービス提供手段と、前記失効検証局サーバから失効リストを受信する受信手段と、認証処理時に、該受信手段により受信した失効リストに基づいて失効確認処理を実行する失効確認手段と、を備えたことを特徴とする属性認証システムを提案している。
【0007】
この発明によれば、属性認証局サーバは、ユーザ端末から属性証明書の発行要求を受信したときに、ユーザの公開鍵に対してユーザが持つ属性に対する署名鍵で署名を行って属性証明書を生成し、生成した属性証明書を要求のあったユーザ端末へ送信する。ユーザ端末は、サービス提供サーバにサービス提供要求を送信するとともに、乱数を生成し、生成した乱数を属性認証局サーバから受信した属性証明書に乗じることにより変形し、変形された属性情報とサービス提供サーバから送信されるチャレンジ情報に対し演算された署名値とをサービス提供サーバに返信する。失効検証局サーバは、ユーザ端末から送信された秘密鍵を登録し、登録した秘密鍵の失効リストを定期的に発行する。また、サービス提供サーバからの要求に応じて、発行した失効リストを送信する。サービス提供サーバは、変形された属性証明書ならびに署名値に対して、それぞれその正当性についての検証を行い、正当であると判断したときに、サービス提供要求のあったユーザ端末に対し属性に基づくサービスを提供する。また、失効検証局サーバから失効リストを受信し、認証処理時に、受信した失効リストに基づいて失効確認処理を実行する。したがって、属性認証の際に匿名性を保証し、かつ、第三者との間で通信を要することなく属性情報の匿名化を行うことができるとともに、匿名認証を行った場合においても失効確認が可能となる。また、失効確認処理をサービス提供サーバ側で実行することにより、システム全体の処理負荷を分散することができる。
【0008】
(2)本発明は、(1)に記載の属性認証システムにおいて、前記属性認証局サーバ(例えば、図1のCAサーバ3に相当)は、各属性に対し複数の前記署名鍵を割付け、前記署名鍵を定期的に更新する更新手段を更に備えたことを特徴とする属性認証システムを提案している。
【0009】
この発明によれば、属性認証局サーバは、各属性に対し複数の署名鍵を割付け、署名鍵を定期的に更新する更新手段を備えている。これにより、有効期限の管理を適切に実行することができる。
【0010】
(3)本発明は、(1)または(2)に記載の属性認証システムにおいて、前記サービス提供サーバ(例えば、図1のSPサーバ2に相当)は、前記失効リストに記載された秘密鍵に対して生成した乱数の署名値をそれぞれ演算し、演算した署名値が受信した前記失効リスト内の署名値に一致するか否かにより失効確認処理を実行することを特徴とする属性認証システムを提案している。
【0011】
この発明によれば、サービス提供サーバは、失効検証局サーバから受信したサービス提供サーバから乱数と署名値を受信し、登録手段に登録した秘密鍵に対して受信した失効リストに記載された秘密鍵に対して乱数の署名値をそれぞれ演算し、演算した署名値が受信した署名値に一致するか否かにより失効確認処理を実行する。これにより、使用された鍵を確実に特定することができる。
【0012】
(4)本発明は、(1)から(3)のいずれかに記載の属性認証システムにおいて、タイムスタンプサーバ(例えば、図1のタイムスタンプサーバ6に相当)をさらに備え、前記失効検証局サーバが発行する前記失効リストには、有効期限内ですでに失効した秘密鍵の情報に、前記タイムスタンプサーバから取得したタイムスタンプが付与されていることを特徴とする属性認証システムを提案している。
【0013】
この発明によれば、失効検証局サーバが発行する失効リストには、有効期限内ですでに失効した秘密鍵の情報に、タイムスタンプサーバから取得したタイムスタンプが付与されている。すなわち、サービス提供サーバによる失効リストに基づいた失効確認処理では、秘密鍵自体が露見してしまうため、どのタイミングでその秘密鍵が失効したのかを把握しておかないと、この秘密鍵を用いた不正行為が行われる可能性がある。しかし、本発明においては、信頼できる第三者機関であるタイムスタンプサーバからのタイムスタンプが付与されているため、相互検証が可能となり、上記のような不正行為を未然に防止することができる。
【0014】
(5)本発明は、(4)に記載の属性認証システムにおいて、前記失効検証局サーバが発行する前記失効リストには、さらに、前記失効検証局サーバが保有する秘密鍵を用いた署名が付与されていることを特徴とする属性認証システムを提案している。
【0015】
この発明によれば、失効リストには、さらに、失効検証局サーバが保有する秘密鍵を用いた署名が付与されている。したがって、サービス提供サーバは、この署名により、誰が発行したものなのかを確実に特定することができる。
【0016】
(6)本発明は、属性認証局サーバと、ユーザ端末と、失効検証局サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける属性情報の匿名化方法であって、前記ユーザ端末が、ネットワークを介して接続される前記属性認証局サーバに対し属性証明書の発行要求を送信する第1のステップ(例えば、図2のステップS202あるいは図3のステップS303に相当)と、前記属性認証局サーバが、前記属性証明書の発行要求を受信したときに、ユーザの公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成し、要求のあった前記ユーザ端末へ送信する第2のステップ(例えば、図2のステップS203に相当)と、前記ユーザ端末が、前記ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信する第3のステップ(例えば、図2のステップS204あるいは図3のステップS305に相当)と、前記サービス提供要求を受信した前記サービス提供サーバが、乱数を生成してチャレンジ情報を前記ユーザ端末に送信する第4のステップ(例えば、図2のステップS205に相当)と、前記チャレンジ情報を受信した前記ユーザ端末が、乱数を生成し、前記属性認証局サーバから受信した属性証明書に生成した乱数を乗じて変形するとともに、該変形された属性情報と、前記サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値とを前記サービス提供サーバに返信する第5のステップ(例えば、図2のステップS206に相当)と、前記サービス提供サーバが、前記変形された属性証明書ならびに署名値に対してそれぞれ検証を行う第6のステップ(例えば、図3のステップS310に相当)と、前記サービス提供サーバが前記失効検証局サーバから送信された秘密鍵の失効リストを受信し、失効確認処理を実行する第7のステップ(例えば、図3のステップS309に相当)と、前記第6のステップにおける検証結果が正当であるときに、前記サービス提供手段がサービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供する第8のステップ(例えば、図2のステップS207あるいは図3のステップS311に相当)と、を有することを特徴とする属性認証システムにおける属性情報の匿名化方法を提案している。
【0017】
この発明によれば、ユーザ端末が、ネットワークを介して接続される属性認証局サーバに対し属性証明書の発行要求を送信し、属性認証局サーバが、属性証明書の発行要求を受信したときに、ユーザの公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成し、要求のあったユーザ端末へ送信する。そして、ユーザ端末が、ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信し、サービス提供要求を受信したサービス提供サーバが、乱数を生成してチャレンジ情報をユーザ端末に送信する。チャレンジ情報を受信したユーザ端末は、乱数を生成し、属性認証局サーバから受信した属性証明書に生成した乱数を乗じて変形するとともに、変形された属性情報と、サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値とをサービス提供サーバに返信する。そして、サービス提供サーバが、変形された属性証明書ならびに署名値に対してそれぞれ検証を行い、サービス提供サーバが失効検証局サーバから送信された秘密鍵の失効リストを受信し、失効確認処理を実行し、検証結果が正当であるときに、サービス提供サーバがサービス提供要求のあったユーザ端末に対し属性に基づくサービスを提供する。これにより、属性認証の際に匿名性を保証し、かつ、第三者との間で通信を要することなく属性情報の匿名化を行うことができるとともに、匿名認証を行った場合においても失効確認が可能となる。また、失効確認処理をサービス提供サーバ側で実行することにより、システム全体の処理負荷を分散することができる。
【0018】
(7)本発明は、(6)の属性認証システムにおける属性情報の匿名化方法について、前記第7のステップにおいて、前記サービス提供サーバは、前記秘密鍵に対して生成した乱数の署名値をそれぞれ演算し、演算した署名値が受信した前記失効リストの署名値に一致するか否かにより失効確認処理を実行することを特徴とする属性認証システムにおける属性情報の匿名化方法を提案している。
【0019】
この発明によれば、サービス提供サーバは、秘密鍵に対して生成した乱数の署名値をそれぞれ演算し、演算した署名値が受信した失効リストの署名値に一致するか否かにより失効確認処理を実行する。これにより、使用された鍵を確実に特定することができる。
【0020】
(8)本発明は、属性認証局サーバと、ユーザ端末と、失効検証局サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける属性情報の匿名化をコンピュータに実行させるコンピュータプログラムであって、前記ユーザ端末が、ネットワークを介して接続される前記属性認証局サーバに対し属性証明書の発行要求を送信する第1のステップ(例えば、図2のステップS202あるいは図3のステップS303に相当)と、前記属性認証局サーバが、前記属性証明書の発行要求を受信したときに、ユーザの公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成し、要求のあった前記ユーザ端末へ送信する第2のステップ(例えば、図2のステップS203に相当)と、前記ユーザ端末が、前記ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信する第3のステップ(例えば、図2のステップS204あるいは図3のステップS305に相当)と、前記サービス提供要求を受信した前記サービス提供サーバが、乱数を生成してチャレンジ情報を前記ユーザ端末に送信する第4のステップ(例えば、図2のステップS205に相当)と、前記チャレンジ情報を受信した前記ユーザ端末が、乱数を生成し、前記属性認証局サーバから受信した属性証明書に生成した乱数を乗じて変形するとともに、該変形された属性情報と、前記サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値とを前記サービス提供サーバに返信する第5のステップ(例えば、図2のステップS206に相当)と、前記サービス提供サーバが、前記変形された属性証明書ならびに署名値に対してそれぞれ検証を行う第6のステップ(例えば、図3のステップS310に相当)と、前記サービス提供サーバが前記失効検証局サーバから送信された秘密鍵の失効リストを受信し、失効確認処理を実行する第7のステップ(例えば、図3のステップS309に相当)と、前記第6のステップにおける検証結果が正当であるときに、前記サービス提供手段がサービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供する第8のステップ(例えば、図2のステップS207あるいは図3のステップS311に相当)と、を有することを特徴とする属性認証システムにおける属性情報の匿名化をコンピュータに実行させるコンピュータプログラムを提案している。
【0021】
この発明によれば、ユーザ端末が、ネットワークを介して接続される属性認証局サーバに対し属性証明書の発行要求を送信し、属性認証局サーバが、属性証明書の発行要求を受信したときに、ユーザの公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成し、要求のあったユーザ端末へ送信する。そして、ユーザ端末が、ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信し、サービス提供要求を受信したサービス提供サーバが、乱数を生成してチャレンジ情報をユーザ端末に送信する。チャレンジ情報を受信したユーザ端末は、乱数を生成し、属性認証局サーバから受信した属性証明書に生成した乱数を乗じて変形するとともに、変形された属性情報と、サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値とをサービス提供サーバに返信する。そして、サービス提供サーバが、変形された属性証明書ならびに署名値に対してそれぞれ検証を行い、サービス提供サーバが失効検証局サーバから送信された秘密鍵の失効リストを受信し、失効確認処理を実行し、検証結果が正当であるときに、サービス提供サーバがサービス提供要求のあったユーザ端末に対し属性に基づくサービスを提供する。これにより、属性認証の際に匿名性を保証し、かつ、第三者との間で通信を要することなく属性情報の匿名化を行うことができるとともに、匿名認証を行った場合においても失効確認が可能となる。また、失効確認処理をサービス提供サーバ側で実行することにより、システム全体の処理負荷を分散することができる。
【0022】
(9)本発明は、(8)の属性認証システムにおける属性情報の匿名化をコンピュータに実行させるコンピュータプログラムについて、前記第7のステップにおいて、前記サービス提供サーバは、前記秘密鍵に対して生成した乱数の署名値をそれぞれ演算し、演算した署名値が受信した前記失効リストの署名値に一致するか否かにより失効確認処理を実行することを特徴とする属性認証システムにおける属性情報の匿名化をコンピュータに実行させるコンピュータプログラムを提案している。
【0023】
この発明によれば、サービス提供サーバは、秘密鍵に対して生成した乱数の署名値をそれぞれ演算し、演算した署名値が受信した失効リストの署名値に一致するか否かにより失効確認処理を実行する。これにより、使用された鍵を確実に特定することができる。
【発明の効果】
【0024】
本発明によれば、属性認証局サーバが、属性情報として発行者の署名が付与された公開鍵と秘密鍵の鍵情報を生成し、ユーザ端末が、生成した乱数を公開鍵と発行者の署名からなる属性証明書に乗じて変形処理してサービス提供サーバへ送信し、サービス提供サーバが、属性証明書と署名鍵との関係が正式な署名として成立することを検証して要求されたサービスの提供を行うことにより、認証の際における属性情報の匿名化を第三者との通信を必要とすることなく実現でき、属性情報を交換する際のプライバシー保護が可能になるという効果がある。
【0025】
また、属性情報が鍵情報のみになることから懸念される有効期間等の情報の設定に関しては、署名鍵を定期的に更新することで解決でき、また、各属性に対して複数の署名鍵を割付け、並行管理することでサービス享受の公平性も確保できるという効果がある。
【0026】
さらに、本発明によれば、サービス提供サーバが、秘密鍵に対して生成した乱数の署名値をそれぞれ演算し、演算した署名値が受信した失効リストの署名値に一致するか否かにより失効確認処理を実行するため、ユーザから失効依頼された秘密鍵を失効させ、認証処理時において、サービス提供者自体が秘密鍵の失効確認を行うことができる。したがって、匿名認証を行った場合においても秘密鍵の失効確認を行うことができるという効果がある。
【0027】
また、失効確認処理を失効検証局サーバにおいてではなく、サービス提供者サーバで実行することにより、失効確認処理に関する負荷を分散し、システム全体のコストを低減できるという効果がある。
【発明を実施するための最良の形態】
【0028】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
【0029】
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0030】
<属性認証システムのシステム構成>
【0031】
図1は、本発明の実施形態に係る属性認証システムのシステム構成の一例を示す図である。
【0032】
図1に示すように、本実施形態に係る属性認証システムは、ユーザ端末1と、サービス提供者が管理運営するサービス提供サーバ(以下、単にSPサーバ2という)と、属性認証局(CA)が管理運営するサーバ(以下、単にCAサーバ3という)と、失効検証局が管理運営する失効検証局サーバ4と、秘密鍵管理サーバ5と、タイムスタンプサーバ6とから構成され、いずれもネットワーク7を介して接続されている。
【0033】
ユーザ端末1は、属性認証クライアントモジュール11を実装しており、この属性認証クライアントモジュール11は、SP提供サーバ2にサービス提供要求を送信し、乱数を生成してCAサーバ3から受信した属性証明書に生成した乱数を乗じて変形し、変形された属性情報と、SPサーバ2から送信されるチャレンジ情報に対して計算された署名値とをSPサーバ2に返信する手段として機能する。
【0034】
また、SPサーバ2は、属性認証サーバモジュール21を実装しており、この属性認証サーバモジュール21は、ユーザ端末1により変形された属性証明書ならびに署名値に対してそれぞれその正当性についての検証を行い、正当であると判断したときに、サービス提供要求のあったユーザ端末1に対し、属性に基づくサービスを提供する手段として機能する。また、失効検証局サーバ4から秘密鍵に関する失効リストを受信し、認証処理時に、受信した失効リストに基づいて失効確認処理を実行する手段としても機能する。なお、SPサーバ2は、失効リストに記載された秘密鍵に対して生成した乱数の署名値をそれぞれ演算し、演算した署名値が受信した失効リスト内の署名値に一致するか否かにより失効確認処理を実行する。
【0035】
CAサーバ3は、属性証明書発行モジュール31を実装しており、この属性証明書発行モジュール31は、ユーザ端末1から属性証明書の発行要求を受信したとき、ユーザの公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成し、要求のあったユーザ端末1へ送信する手段として機能する。また、各属性に対し複数の署名鍵を割付け、当該署名鍵を定期的に更新する手段としても機能する。
【0036】
失効検証局サーバ4は、ユーザ端末1から送信された失効させたい秘密鍵を登録し、登録した秘密鍵の失効リストを定期的に発行するとともに、SPサーバ2からの要求に応じて、発行した失効リストを送信する手段として機能する。
【0037】
秘密鍵管理サーバ5は、ユーザが秘密鍵を生成したときに、これを登録する信頼できるサーバであり、ユーザがこの秘密鍵を失効させたい場合のバックアップとして機能するものである。なお、本実施形態においては、失効検証局サーバ4とは別体に秘密鍵管理サーバ5を設ける構成を示したが、失効検証局サーバ4に生成した秘密鍵を登録するように構成してもよい。
【0038】
タイムスタンプサーバ6は、失効検証局サーバ4が定期的に発行する失効リストに付与するタイムスタンプを生成する。これにより、信頼できる第三者機関であるタイムスタンプサーバからのタイムスタンプが付与されているため、相互検証が可能となり、不正行為を未然に防止することができる。
【0039】
<属性認証システムの動作シーケンス>
【0040】
図2は、本発明の実施形態に係る属性認証システム全体の動作の流れを時系列的に示した動作シーケンス図であり、図3は、ユーザ端末の動作の流れをフローチャートで示した図である。なお、図2に示す動作シーケンス図は、本発明の属性認証システムにおける属性情報の匿名化方法の手順も併せて示されている。
【0041】
以下、図2、図3を参照しながら図1に示す属性認証システムの動作について詳細に説明する。
【0042】
まず、前提条件としてSPサーバ2は、事前に失効検証局サーバ4から失効リストを取得する(図2のステップS201および図3のステップS301)。次に、ユーザ端末1の属性認証クライアントモジュール11は、ユーザの秘密鍵xと公開鍵y=xPのペアを生成し(図3のステップS302)、CAサーバ3に対して属性証明書発行要求を送信する(図2のステップS202および図3のステップS303)。属性証明書発行要求を受信したCAサーバ3の属性証明書発行モジュール31は、公開鍵yに対し、ユーザが所持する属性に対する署名鍵で署名する。
【0043】
このとき、署名鍵は、現在ある中から最も有効期間の長いものを使用する。また、署名は、署名用の秘密鍵をz、対応する公開鍵をzPとした場合、zyとなる。このため、CAサーバ3の属性証明書発行モジュール31は、{y,zy}を属性証明書としてユーザ端末1に送信する(図2のステップS203)。
【0044】
図4は、有効期間の管理の仕方を概念的に示している。図4中、横軸のtは、時間の流れを示す。本発明によれば、属性情報が鍵情報のみとなったことにより、新たな有効期間の管理が必要となる。このため、図4に示されるように、CAサーバ3の属性証明書発行モジュール31が、属性毎に複数の署名鍵を割当て、定期的に組合せを更新することによって有効期間の管理を行うことにしている。その際に、サービスを非常に短い期間しか享受できないユーザが発生しないように、属性毎割当てられる複数の書名鍵を並行管理する。
【0045】
なお、署名鍵を最も有効期間の長いものを割当てるために、例えば、図4に示されるように、仮に、鍵Aの使用期間における後半部分で鍵を割当てようとした場合、CAサーバ3の属性証明書発行モジュール31は、ユーザ端末1の属性認証クライアントモジュール11に対して、署名鍵Dあるいは署名鍵Eを割当てる。
【0046】
次に、ユーザ端末1の属性認証クライアントモジュール11は、公開鍵と署名鍵とから成る属性証明書をCAサーバ3の属性証明書発行モジュール31から受信する(図3のステップS304の“Yes”)。そして、サービス提供要求を生成し(図3のステップS305)、SPサーバ2の属性認証サーバモジュール21に対して生成したサービス提供要求を送信する(図2のステップS204)。
【0047】
サービス提供要求を受信したSPサーバ2の属性認証サーバモジュール21は、乱数rを生成してチャレンジ情報としてユーザ端末1の属性認証クライアントモジュール11へ送信する(図2のステップS205)。
【0048】
チャレンジ情報を受信したユーザ端末1の属性認証クライアントモジュール11は、まず、属性証明書を変形処理する。具体的には、乱数fを生成し、先にCAサーバ3から受信した属性証明書{y,zy}に、その乱数を乗じて{fy,fzy}に変形させる(図3のステップS306、S307)。このとき、秘密鍵もfxに変形される。
【0049】
続いて、ユーザ端末1の属性認証クライアントモジュール11は、チャレンジ乱数rに対する署名値を計算する。ここで、署名値の計算として、例えば、離散対数問題を応用したElgamal署名によれば、以下の式(1)に従う。
【0050】
【数1】

【0051】
次に、ユーザ端末1の属性認証クライアントモジュール11は、変形処理した属性証明書と先に計算した署名値とをSPサーバ2へ返信する(図2のステップS206、および図3のステップS308)。属性証明書と署名値を受信したSPサーバ2の属性認証サーバモジュール21は、まず、送信されてきた属性証明書を検証する。ここで、検証のためにParing計算を用いることとする。具体的には、Paring計算をe()で表現したとき、SPサーバ2は、e(y,zQ)が成立するか否かを判定する。
【0052】
次に、SPサーバ2は、証明書の失効確認を実行する(図3のステップS309)。具体的には、図5に示すような処理を実行する。つまり、ユーザが自己の秘密鍵を失効させたい場合には、ユーザ端末1から失効検証局サーバ4に秘密鍵を送信する(図5のステップS501)。このとき、サーバ認証により、正しい失効検証局サーバであることを確認する。
【0053】
なお、この処理において、秘密鍵はユーザが事前にバックアップをとっておくことを前提とするが、秘密鍵生成時に秘密鍵を秘密鍵管理サーバ5に登録しておき、この秘密鍵を失効させたい場合には、これを失効検証局サーバ4に移す方法でもよい。また、秘密鍵管理サーバ5と失効検証局サーバ4とは異なっていてもよいし、同一のエンティティであってもよい。
【0054】
次に、失効検証局サーバ4は、定期的に秘密鍵に関する失効リストを発行する(図5のステップS502)。この失効リストには、これまで失効した秘密鍵のうち、未だに有効期限内である秘密鍵を格納している。また、失効リストには、タイムスタンプサーバ6から取得したタイムスタンプが付与され、さらに、失効検証局自身の秘密鍵を使って計算された署名も付与される。これにより、任意の秘密鍵がいつ失効し、失効リストを誰が発行したのかを明確に把握することができる。
【0055】
SPサーバ2は、属性認証処理の前に、失効検証局サーバ4が定期的に発行する失効リストを取得する(図5のステップS503)。なお、サービス提供者は、失効リストを取得した際に、失効リストに付与されているタイムスタンプと署名を確認する。
【0056】
SPサーバ2は、失効確認処理において、失効リスト内に記載されている失効処理された秘密鍵について、順番に、乱数の署名値を計算することにより、使用された秘密鍵を特定する(図5のステップS504)。
【0057】
そして、署名値が一致する秘密鍵が失効リストにおいて失効登録されているか否かを確認し(図5のステップS505)、署名値が一致する秘密鍵が失効リストにおいて失効登録されている場合(図5のステップS505の“Yes”)には、SPサーバ2がユーザに失効している旨を通知し(図5のステップS507)、署名値が一致する秘密鍵が失効リストにおいて失効登録されていない場合(図5のステップS505の“No”)には、ユーザに失効していない旨を通知する(図5のステップS506)。
【0058】
さらに、SPサーバ2は、任意の秘密鍵が失効している場合には、有効期限が経過しているか否かを確認し(図5のステップS508)、有効期限が経過している場合(図5のステップS508の“Yes”)には、失効検証局サーバ4のデータ領域から当該有効期限が経過した失効されている秘密鍵を消去する(図5のステップS509)。
【0059】
続いて、SPサーバ2の属性認証サーバモジュール21は、返信されてきた署名鍵を検証する。例えば、Elgamal署名では以下の式(2)を計算する。
【0060】
【数2】

【0061】
SPサーバ2は、署名の正当性が確認および失効確認が行われたときに、認証成功とし、ユーザ端末1に対して属性情報に基づいたサービス提供を行う(図2のステップS207)。ここで、認証成功とは、属性証明書と署名鍵との関係が正式な署名として成立することを意味する。属性証明書と署名鍵の検証および失効確認が成立した後(図3のステップS310の“OK”)、ユーザ端末1は、SPサーバ2との間で通信を行い、SPサーバ2により提供されるユーザの属性情報に従うサービスを享受することができる(図3のステップS311)。
【0062】
なお、上記した属性認証システムおよび同システムにおける匿名化方法の具体的な利用用途としては、医療情報の開示において、医療資格を持つ否かの確認、あるいは、公共交通機関において、公的に発行されたシルバーパス等の資格を確認する等の用途が考えられる。
【0063】
以上説明のように本発明は、属性情報として、発行者の署名が付与された公開鍵と秘密鍵の鍵情報が発行され、その鍵情報は、ユーザにより生成される乱数を公開鍵と発行者の署名からなる属性証明書に乗じることで任意の変形を可能にするものである。このことにより、認証の際における属性情報の匿名化を第三者との通信を必要とすることなく実現でき、属性情報を交換する際のプライバシー保護が可能になる。
【0064】
また、属性情報が鍵情報のみになることから懸念される有効期間等の情報の設定に関して署名鍵を定期的に更新することで可能となり、また、各属性に対して複数の署名鍵を割付け、並行管理することでサービス享受の公平性も確保できる。さらに、ユーザから失効依頼された秘密鍵を失効させ、認証処理時にその失効確認を行うことができる。
【0065】
また、サービス提供サーバが、秘密鍵に対して生成した乱数の署名値をそれぞれ演算し、演算した署名値が受信した失効リストの署名値に一致するか否かにより失効確認処理を実行するため、ユーザから失効依頼された秘密鍵を失効させ、認証処理時において、サービス提供者自体が秘密鍵の失効確認を行うことができる。したがって、匿名認証を行った場合においても秘密鍵の失効確認を行うことができる。
【0066】
さらに、失効確認処理を失効検証局サーバにおいてではなく、サービス提供者サーバで実行することにより、失効確認処理に関する負荷を分散し、システム全体のコストを低減できる。
【0067】
なお、図1に示す、属性認証クライアントモジュール11、属性認証サーバモジュール21、属性証明書発行モジュール31は、ユーザ端末1、SPサーバ2、CAサーバ3のそれぞれで実行されるプログラムであり、これらプログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをユーザ端末1、SPサーバ2、CAサーバ3のそれぞれ(いずれもコンピュータシステム)に読み込ませ、実行することによって本発明の属性認証システムを実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0068】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0069】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0070】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【0071】
【図1】本発明の実施形態に係る属性認証システムのシステム構成の一例を示す図である。
【図2】本発明の実施形態に係る属性認証システムの全体の動作シーケンスを示す図である。
【図3】本発明の実施形態に係る属性認証システムにおけるユーザ端末の動作を示すフローチャートである。
【図4】本発明の実施形態に係る属性認証システムの属性情報の有効期間の管理方法について説明するために引用した動作概念図である。
【図5】本発明の実施形態に係る属性認証システムにおける失効検証に関する処理フローチャートである。
【符号の説明】
【0072】
1・・・ユーザ端末、2・・・サービス提供サーバ(SPサーバ)、3・・・属性認証局サーバ(CAサーバ)、4・・・失効検証局サーバ、5・・・秘密鍵管理サーバ、6・・・タイムスタンプサーバ、7・・・ネットワーク、11・・・属性認証クライアントモジュール、21・・・属性認証サーバモジュール、31・・・属性証明書発行モジュール

【特許請求の範囲】
【請求項1】
属性認証局サーバと、ユーザ端末と、失効検証局サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムであって、
前記属性認証局サーバは、前記ユーザ端末から属性証明書の発行要求を受信したときに、ユーザの公開鍵に対してユーザが持つ属性に対する署名鍵で署名を行って属性証明書を生成する生成手段と、該生成した属性証明書を要求のあったユーザ端末へ送信する属性証明書送信手段と、を備え、
前記ユーザ端末は、前記サービス提供サーバにサービス提供要求を送信するサービス提供要求送信手段と、乱数を生成し、該生成した乱数を前記属性認証局サーバから受信した属性証明書に乗じることにより変形し、該変形された属性情報と前記サービス提供サーバから送信されるチャレンジ情報に対し演算された署名値とを前記サービス提供サーバに返信する返信手段と、を備え、
前記失効検証局サーバは、前記ユーザ端末から送信された秘密鍵を登録する登録手段と、該登録手段に登録した秘密鍵の失効リストを定期的に発行する失効リスト発行手段と、前記サービス提供サーバからの要求に応じて、該発行した失効リストを送信する失効リスト送信手段と、を備え、
前記サービス提供サーバは、前記変形された属性証明書ならびに署名値に対して、それぞれその正当性についての検証を行い、正当であると判断したときに、サービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供するサービス提供手段と、前記失効検証局サーバから失効リストを受信する受信手段と、認証処理時に、該受信手段により受信した失効リストに基づいて失効確認処理を実行する失効確認手段と、
を備えたことを特徴とする属性認証システム。
【請求項2】
前記属性認証局サーバは、各属性に対し複数の前記署名鍵を割付け、前記署名鍵を定期的に更新する更新手段を更に備えたことを特徴とする請求項1に記載の属性認証システム。
【請求項3】
前記サービス提供サーバは、前記失効リストに記載された秘密鍵に対して生成した乱数の署名値をそれぞれ演算し、演算した署名値が受信した前記失効リスト内の署名値に一致するか否かにより失効確認処理を実行することを特徴とする請求項1または請求項2に記載の属性認証システム。
【請求項4】
タイムスタンプサーバをさらに備え、
前記失効検証局サーバが発行する前記失効リストには、有効期限内ですでに失効した秘密鍵の情報に、前記タイムスタンプサーバから取得したタイムスタンプが付与されていることを特徴とする請求項1から請求項3のいずれかに記載の属性認証システム。
【請求項5】
前記失効検証局サーバが発行する前記失効リストには、さらに、前記失効検証局サーバが保有する秘密鍵を用いた署名が付与されていることを特徴とする請求項4に記載の属性認証システム。
【請求項6】
属性認証局サーバと、ユーザ端末と、失効検証局サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける属性情報の匿名化方法であって、
前記ユーザ端末が、ネットワークを介して接続される前記属性認証局サーバに対し属性証明書の発行要求を送信する第1のステップと、
前記属性認証局サーバが、前記属性証明書の発行要求を受信したときに、ユーザの公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成し、要求のあった前記ユーザ端末へ送信する第2のステップと、
前記ユーザ端末が、前記ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信する第3のステップと、
前記サービス提供要求を受信した前記サービス提供サーバが、乱数を生成してチャレンジ情報を前記ユーザ端末に送信する第4のステップと、
前記チャレンジ情報を受信した前記ユーザ端末が、乱数を生成し、前記属性認証局サーバから受信した属性証明書に生成した乱数を乗じて変形するとともに、該変形された属性情報と、前記サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値とを前記サービス提供サーバに返信する第5のステップと、
前記サービス提供サーバが、前記変形された属性証明書ならびに署名値に対してそれぞれ検証を行う第6のステップと、
前記サービス提供サーバが、前記失効検証局サーバから送信された秘密鍵の失効リストを受信し、失効確認処理を実行する第7のステップと、
前記第6のステップにおける検証結果が正当であるときに、前記サービス提供サーバがサービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供する第8のステップと、
を有することを特徴とする属性認証システムにおける属性情報の匿名化方法。
【請求項7】
前記第7のステップにおいて、前記サービス提供サーバは、前記秘密鍵に対して生成した乱数の署名値をそれぞれ演算し、演算した署名値が受信した前記失効リストの署名値に一致するか否かにより失効確認処理を実行することを特徴とする請求項6に記載の属性認証システムにおける属性情報の匿名化方法。
【請求項8】
属性認証局サーバと、ユーザ端末と、失効検証局サーバと、サービス提供サーバとがネットワークを介して接続されて成る属性認証システムにおける属性情報の匿名化をコンピュータに実行させるコンピュータプログラムであって、
前記ユーザ端末が、ネットワークを介して接続される前記属性認証局サーバに対し属性証明書の発行要求を送信する第1のステップと、
前記属性認証局サーバが、前記属性証明書の発行要求を受信したときに、ユーザの公開鍵に対してユーザが持つ属性に対する署名鍵で署名して属性証明書を生成し、要求のあった前記ユーザ端末へ送信する第2のステップと、
前記ユーザ端末が、前記ネットワークを介して接続されるサービス提供サーバに対してサービス提供要求を送信する第3のステップと、
前記サービス提供要求を受信した前記サービス提供サーバが、乱数を生成してチャレンジ情報を前記ユーザ端末に送信する第4のステップと、
前記チャレンジ情報を受信した前記ユーザ端末が、乱数を生成し、前記属性認証局サーバから受信した属性証明書に生成した乱数を乗じて変形するとともに、該変形された属性情報と、前記サービス提供サーバから送信されるチャレンジ情報に対して計算された署名値とを前記サービス提供サーバに返信する第5のステップと、
前記サービス提供サーバが、前記変形された属性証明書ならびに署名値に対してそれぞれ検証を行う第6のステップと、
前記サービス提供サーバが前記失効検証局サーバから送信された秘密鍵の失効リストを受信し、失効確認処理を実行する第7のステップと、
前記第6のステップにおける検証結果が正当であるときに、前記サービス提供サーバがサービス提供要求のあった前記ユーザ端末に対し前記属性に基づくサービスを提供する第8のステップと、
を有することを特徴とする属性認証システムにおける属性情報の匿名化をコンピュータに実行させるコンピュータプログラム。
【請求項9】
前記第7のステップにおいて、前記サービス提供サーバは、前記秘密鍵に対して生成した乱数の署名値をそれぞれ演算し、演算した署名値が受信した前記失効リストの署名値に一致するか否かにより失効確認処理を実行することを特徴とする請求項8に記載の属性認証システムにおける属性情報の匿名化をコンピュータに実行させるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2008−46946(P2008−46946A)
【公開日】平成20年2月28日(2008.2.28)
【国際特許分類】
【出願番号】特願2006−222980(P2006−222980)
【出願日】平成18年8月18日(2006.8.18)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成18年度、情報通信研究機構、「モバイルセキュリティ基盤技術の研究開発」委託研究、産業活力再生特別措置法第30条の適用を受ける特許出願
【出願人】(599108264)株式会社KDDI研究所 (233)
【Fターム(参考)】