説明

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

【課題】フォワードセキュリティを達成しつつ、演算負荷を軽減し、信頼できるサーバがユーザを特定することができる。
【解決手段】ユーザが生成した、2つの秘密鍵と公開鍵にCAは保有する署名鍵で署名を行い、属性証明書を発行する。ユーザは、SPサーバにサービス提供要求を送信し、SPサーバは、自身の秘密鍵と公開鍵を生成する。また、生成した乱数rとy3、zy3とをチャレンジとしてユーザに送信し、ユーザは、乱数を生成し属性証明書と2つの秘密鍵を変形し、秘密鍵を用いて、受信したチャレンジに対する署名値を算出する。さらに、変形した属性証明書と算出した署名値とをSPサーバに送信し、SPサーバは、受信した属性証明書と署名と値の検証と失効確認を行う。さらに、信頼できるサーバは、本人特定処理を行う。属性証明書と署名値の正当性の確認と失効確認が完了したときに、ユーザに対して、属性情報に基づいたサービスを提供する。

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

【特許請求の範囲】
【請求項1】
ユーザ端末と、属性証明書発行サーバと、サービス提供サーバと、信頼できるサーバとがネットワークを介して接続されて成る属性認証システムであって、
前記ユーザ端末が、
2つの秘密鍵x1、x2を生成するとともに、これらの秘密鍵から公開鍵y、y1を生成する第1の鍵生成手段と、
前記サービス提供サーバにサービスの提供要求を送信する第1の送信手段と、
前記サービス提供サーバから送信されたサービス提供者の秘密鍵と公開鍵証明書からサービス提供者の公開鍵の正当性を確認する確認手段と、
乱数fを生成し、該乱数fを用いて、前記属性証明書発行サーバが発行する属性証明書を変形する変形手段と、
前記2つの秘密鍵x1、x2を乱数fにより、fx1、fx2に変形し、該変形したfx1、fx2を用いて、前記サービス提供サーバから受信したサービス提供者の公開鍵に乱数を乗じたものに対する署名値を算出する処理手段と、
前記変形手段において変形した属性証明書と該処理手段において算出した署名値とを前記サービス提供サーバに送信する第2の送信手段と、
を備え、
前記属性証明書発行サーバが、
前記ユーザ端末の生成手段が生成した公開鍵に対して、保有する署名鍵で署名を行う署名手段と、
前記ユーザ端末に対して、属性証明書として発行する発行手段と、
を備え、
前記サービス提供サーバが、
自身の秘密鍵x3と公開鍵y3(=x3*P)を生成する第2の鍵生成手段と、
生成した乱数rを含む情報をチャレンジとして前記ユーザ端末に送信する第3の送信手段と、
前記ユーザ端末から受信した属性証明書を検証する第1の検証手段と、
前記ユーザ端末から受信した署名値を検証する第2の検証手段と、
失効確認を実行する失効確認実行手段と、
前記第1の検証手段により属性証明書の正当性が確認され、前記第2の検証手段により署名値の正当性が確認され、かつ、前記失効確認実行手段により失効確認が完了したときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行うサービス提供手段と、
を備え、
前記信頼できるサーバが、前記属性証明書発行サーバから受信したユーザのID情報とユーザの公開鍵y1と前記属性証明書発行サーバが前記ユーザの生成した公開鍵に対して署名した署名値zyとを関連付けたデータテーブルに基づいて、ユーザを特定するユーザ特定手段を備えたことを特徴とする属性認証システム。
【請求項2】
前記サービス提供サーバが、乱数rを生成し、この乱数rと自身の公開鍵y3および公開鍵y3に対する公開鍵証明書zy3とをチャレンジとして送信することを特徴とする請求項1に記載の属性認証システム。
【請求項3】
前記ユーザ端末の処理手段が、前記変形手段が生成する乱数fによって変形された秘密鍵fx1、fx2を用いて、r*y3に対する署名値をs1=f*x1*r*y3、s2=f*x2*r*y3により算出することを特徴とする請求項2に記載の属性認証システム。
【請求項4】
前記サービス提供サーバの第1の検証手段が、zPを属性発行用の公開鍵としたときに、e(fy、zP)=e(fzy、P)を演算して、該演算式が成立するかどうかにより、属性証明書の正当性を検証することを特徴とする請求項1に記載の属性認証システム。
【請求項5】
前記サービス提供サーバの第2の検証手段が、e(s1、
P)e(s2、 P)=e(f*y、r*y3)を演算して、該演算式が成立するかどうかにより、署名の正当性を検証することを特徴とする請求項3に記載の属性認証システム。
【請求項6】
前記サービス提供サーバの失効確認実行手段が、失効リストに掲載されているすべてのy1について、r*x3*y1を計算するとともに、e(zy、s1)=e(f*z*y、r*x3*y1)を演算して、該演算式が成立するかどうかにより、失効確認を実行することを特徴とする請求項2または請求項3に記載の属性認証システム。
【請求項7】
前記属性証明書発行サーバが、失効リストに失効したユーザのy1、zyを公開することを特徴とする請求項1に記載の属性認証システム。
【請求項8】
前記信頼できるサーバが、前記サービス提供サーバから変形した公開鍵証明書fzyと、r*y3に対する署名値s1=f*x1*r*y3と、前記サービス提供サーバ自身の秘密鍵x3に乱数rを乗じて変形した値を受信し、前記データテーブル内のすべてのユーザの公開鍵y1と前記属性証明書発行サーバが前記ユーザの生成した公開鍵に対して署名した署名値zyとに対して、受信したfzy、s1、rx3を用いて、e(zy、s1)=e(f*z*y、r*x3*y1)が成立するy1とzyを検出し、前記データテーブルから、このy1とzyに対応するユーザIDを参照してユーザを特定することを特徴とする請求項1に記載の属性認証システム。
【請求項9】
ユーザ端末と、属性証明書発行サーバと、サービス提供サーバと、信頼できるサーバとがネットワークを介して接続されて成る属性認証システムにおける属性認証方法であって、
前記ユーザ端末が、2つの秘密鍵x1、x2を生成するとともに、これらの秘密鍵から公開鍵y、y1を生成する第1のステップと、
前記属性証明書発行サーバが、前記ユーザ端末が生成した公開鍵に対して、保有する署名鍵で署名を行う第2のステップと、
前記属性証明書発行サーバが、前記ユーザ端末に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zyP}を属性証明書として発行する第3のステップと、
前記サービス提供サーバが、自身の秘密鍵x3と公開鍵y3(=x3*P)を生成する第4のステップと、
前記ユーザ端末が、前記サービス提供サーバにサービスの提供要求を送信する第5のステップと、
前記サービス提供サーバが、生成した乱数rとy3、zy3とをチャレンジとして前記ユーザ端末に送信する第6のステップと、
前記ユーザ端末が、乱数fを生成し、該乱数fを用いて、前記属性証明書発行サーバが発行する属性証明書を変形する第7のステップと、
前記ユーザ端末が、前記乱数fにより、前記2つの秘密鍵x1、x2をfx1、fx2に変形し、該変形したfx1、fx2を用いて、r*y3に対する署名値を算出する第8のステップと、
前記ユーザ端末が、変形した属性証明書と算出した署名値とを前記サービス提供サーバに送信する第9のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した属性証明書を検証する第10のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した署名値を検証する第11のステップと、
前記サービス提供サーバが、失効確認を実行する第12のステップと、
前記信頼できるサーバが、前記属性証明書発行サーバから受信したユーザのID情報とユーザの公開鍵y1と前記属性証明書発行サーバが前記ユーザの生成した公開鍵に対して署名した署名値zyとを関連付けたデータテーブルに基づいて、ユーザを特定する第13のステップと、
前記第10のステップにより属性証明書の正当性が確認され、前記第11のステップにより署名値の正当性が確認され、かつ、前記失効確認が完了したときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行う第14のステップと、
を備えたことを特徴とする属性認証方法。
【請求項10】
ユーザ端末と、属性証明書発行サーバと、サービス提供サーバと、信頼できるサーバとがネットワークを介して接続されて成る属性認証システムにおける属性認証方法をコンピュータに実行させるためのプログラムであって、
前記ユーザ端末が、2つの秘密鍵x1、x2を生成するとともに、これらの秘密鍵から公開鍵y、y1を生成する第1のステップと、
前記属性証明書発行サーバが、前記ユーザ端末が生成した公開鍵に対して、保有する署名鍵で署名を行う第2のステップと、
前記属性証明書発行サーバが、前記ユーザ端末に対して、署名用の秘密鍵をz、これに対応する公開鍵をzP(Pは生成元)としたときに、{y、zyP}を属性証明書として発行する第3のステップと、
前記サービス提供サーバが、自身の秘密鍵x3と公開鍵y3(=x3*P)を生成する第4のステップと、
前記ユーザ端末が、前記サービス提供サーバにサービスの提供要求を送信する第5のステップと、
前記サービス提供サーバが、生成した乱数rとy3、zy3とをチャレンジとして前記ユーザ端末に送信する第6のステップと、
前記ユーザ端末が、乱数fを生成し、該乱数fを用いて、前記属性証明書発行サーバが発行する属性証明書を変形する第7のステップと、
前記ユーザ端末が、前記乱数fにより、前記2つの秘密鍵x1、x2をfx1、fx2に変形し、該変形したfx1、fx2を用いて、r*y3に対する署名値を算出する第8のステップと、
前記ユーザ端末が、変形した属性証明書と算出した署名値とを前記サービス提供サーバに送信する第9のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した属性証明書を検証する第10のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した署名値を検証する第11のステップと、
前記サービス提供サーバが、失効確認を実行する第12のステップと、
前記信頼できるサーバが、前記属性証明書発行サーバから受信したユーザのID情報とユーザの公開鍵y1と前記属性証明書発行サーバが前記ユーザの生成した公開鍵に対して署名した署名値zyとを関連付けたデータテーブルに基づいて、ユーザを特定する第13のステップと、
前記第10のステップにより属性証明書の正当性が確認され、前記第11のステップにより署名値の正当性が確認され、かつ、前記失効確認が完了したときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行う第14のステップと、
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−50524(P2010−50524A)
【公開日】平成22年3月4日(2010.3.4)
【国際特許分類】
【出願番号】特願2008−210614(P2008−210614)
【出願日】平成20年8月19日(2008.8.19)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】