説明

匿名サービス提供システム、装置、プログラム及び方法

【課題】オンライン取引において匿名の利用者にサービス提供する。
【解決手段】サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストからリング署名σを生成し、サービスに対する決済情報を決済機関公開鍵で暗号化して暗号化決済情報を生成する複数の利用者装置100と、サービスIDを含むサービス要求を受信した場合、該サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストをサービス要求元に送信し、公開鍵証明書リストの送信に応じてリング署名σと暗号化決済情報とを受信した場合、該リング署名σの正当性の検証結果を検証し、該リング署名σの正当性の確認後、暗号化決済情報の正当性の確認結果に応じて、サービス要求元にサービスを提供するサービス提供者装置300と、暗号化決済情報を決済機関秘密鍵で復号して決済情報の正当性を確認する決済機関装置400とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オンライン取引において匿名の利用者にサービス提供し得る匿名サービス提供システムに関する。
【背景技術】
【0002】
近年、商品やサービス(以下、単にサービスともいう)がオンラインで提供されている。
【0003】
オンラインでのサービス提供に際しては、利用者やサービス提供者が正当な取引者であることが証明される必要がある。そこで、従来からオンライン取引の際には、正当な取引者であることを証明するために公開鍵暗号が用いられている。
【0004】
しかしながら、公開鍵暗号を用いたオンライン取引システムでは、サービス提供者に利用者の注文情報が特定されてしまい、プライバシの保護が必ずしも十分ではないという問題がある。
【0005】
プライバシの保護を確保すべく、利用者の匿名性を実現する暗号方式として、グループ署名方式とリング署名方式とが一般的に知られている。
【0006】
グループ署名方式を用いれば、グループのメンバによりサービスが注文されたことをサービス提供者に知らせることができるとともに、誰が注文したかまでは特定されないようにすることができる。しかしながら、グループ署名方式では、サービス毎にグループ鍵を管理しなければならず、鍵管理が複雑になるという問題がある。そのため、オンライン取引システムへの導入が困難となる。また、グループ秘密鍵を管理するグループ管理者に権限が集中してしまうという問題がある。
【0007】
一方、リング署名方式では、公開鍵登録簿から複数の公開鍵を取得して、グループに対応するリング署名を生成する。そのため、リング署名方式では、管理者を設定する必要がない。また、既存の公開鍵暗号基盤を流用でき、グループ署名方式に比して鍵管理が容易である。
【0008】
ところで、オンライン取引システムでは課金業務が発生するため、決済機関が利用者を特定する必要が生じる。
【0009】
この点、リング署名方式では、グループ署名方式とは異なり管理者がいないため、リング署名の生成者を特定することができない。そのため、決済処理等に異常が生じた場合、他の利用者が巻き添えになることが懸念される。これに関しては、他の利用者が巻き添えにならないように、リング署名の否認機能の適用が検討されている(例えば、非特許文献1参照)。
【非特許文献1】駒野雄一、外3名,「否認機能を持つリング署名方式の再考(その2)」,信学技報,社団法人電気情報通信学会,2005年5月18日,Vol.105,No.51(20050511),pp.9−16
【発明の開示】
【発明が解決しようとする課題】
【0010】
上述の如く、オンライン取引システムへのリング署名方式の適用が検討されている。リング署名方式を適用するためには、サービス提供者には利用者を特定させず、決済機関には利用者を特定させる必要がある。また、決済処理の異常時等に、他の利用者が巻き添えにならないようにする必要がある。
【0011】
また、リング署名を生成する際には多数の公開鍵を用いるが、利用者の匿名性を高めるように、適切に公開鍵を選択する必要がある。
【0012】
本発明は、上記実情に鑑みてなされたものであり、オンライン取引において匿名の利用者にサービス提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明は上記課題を解決するために、サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストからリング署名σを生成し、サービスに対する決済情報を決済機関公開鍵で暗号化して暗号化決済情報を生成する複数の利用者装置と、サービスIDを含むサービス要求を受信した場合、該サービスIDに対応する公開鍵証明書リストをサービス要求元に送信し、公開鍵証明書リストの送信に応じてリング署名σと暗号化決済情報とを受信した場合、該リング署名σの正当性を検証し、該リング署名σの正当性の検証結果の確認後、暗号化決済情報の正当性の確認結果に応じて、サービス要求元にサービスを提供するサービス提供者装置と、暗号化決済情報を決済機関秘密鍵で復号して決済情報の正当性を確認する決済機関装置とを備えた匿名サービス提供システムを提供する。
【0014】
なお、本発明は、各装置の集合体を「システム」として表現したが、これに限らず、装置毎に「装置」又は「プログラム」として表現してもよく、また、システム又は装置毎に「方法」として表現してもよい。すなわち、本発明は、任意のカテゴリーで表現可能となっている。
【0015】
<用語>
本発明において、「サービス」とは、オンライン取引において販売される販売対象のことであり、サービスに付随するデータのみならず、デジタルコンテンツ等の商品を含むものである。
【0016】
また、本発明において、各記号の定義は以下の表1に従う。
【表1】

【0017】
<作用>
従って、本発明によれば、利用者装置が、サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストからリング署名σを生成し、サービスに対する決済情報を決済機関公開鍵で暗号化して暗号化決済情報を生成し、決済機関装置が、暗号化決済情報を決済機関秘密鍵で復号して決済情報の正当性を確認し、サービス提供者装置が、サービスIDを含むサービス要求を受信した場合、該サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストをサービス要求元に送信し、公開鍵証明書リストの送信に応じてリング署名σと暗号化決済情報とを受信した場合、該リング署名σの正当性を検証し、該リング署名σの正当性の検証結果の確認後、暗号化決済情報の正当性の確認結果に応じて、サービス要求元にサービスを提供するので、サービス提供者に利用者が特定されずに決済処理されることになり、オンライン取引において匿名の利用者にサービス提供し得る匿名サービス提供システムを提供できる。
【発明の効果】
【0018】
本発明によれば、オンライン取引において匿名の利用者にサービス提供することが可能となる。
【発明を実施するための最良の形態】
【0019】
以下、図面を参照して本発明の実施形態を説明する。
【0020】
<第1の実施形態>
(匿名サービス提供システムの構成)
図1は本発明の第1の実施形態に係る匿名サービス提供システム1の構成を示す模式図である。
【0021】
匿名サービス提供システム1は、複数の利用者装置100・証明書発行装置200・サービス提供者装置300・決済機関装置400を備えており、各装置はインターネットなどのネットワーク500で接続されている。なお、サービス提供者装置300と決済機関装置400とは、セキュリティが担保された専用線などのネットワークで接続されていることが好ましい。
【0022】
図2は本実施形態における匿名サービス提供システム1の各装置の構成を示す模式図である。
【0023】
各利用者装置100は、サービスを受ける利用者が操作する端末であり、一般的なコンピュータ等にソフトェアが組み込まれることにより、鍵ペア生成部101・証明書発行要求部102・鍵情報記憶部103・サービス要求部104・公開鍵情報選択部105・リング署名生成部106・決済情報処理部107・サービス受付部108として機能する。
【0024】
鍵ペア生成部101は、サービスIDに関連付けて、利用者公開鍵Pkと利用者秘密鍵Skとの鍵ペアを生成するものである。なお、利用者秘密鍵Skは該利用者装置が電子署名を生成するために用いるものである。
【0025】
証明書発行要求部102は、鍵ペア生成部101で生成された利用者公開鍵Pkに対する公開鍵証明書Cert(Pk)の発行を要求するものであり、サービスIDと利用者公開鍵Pkとを含む「証明書発行要求」を証明書発行装置200に送信する。また、証明書発行要求部102は、証明書発行装置200から公開鍵証明書Cert(Pk)が送信された場合、送信されてきた公開鍵証明書Cert(Pk)を鍵情報記憶部103に書き込む。
【0026】
鍵情報記憶部103は、鍵ペア生成部101で生成された鍵ペア(Pk,Sk)ならびに公開鍵証明書Cert(Pk)を記憶する記憶装置である。
【0027】
サービス要求部104は、利用者が希望するサービスをサービス提供者装置300に要求するものであり、サービスIDを含む「サービス要求」をサービス提供者装置300に送信する。なお、ここでいうサービスには、インターネットで提供される各種サービスのみならず、サービスに付随して提供されるデジタルコンテンツ等の商品データが含まれる。
【0028】
公開鍵情報選択部105は、電子署名を生成するのに必要な公開鍵を選択するものである。ここでは、公開鍵情報選択部105は、サービス要求に応じてサービス提供者装置300から公開鍵証明書リストを受信した場合、該公開鍵証明書リストから自己の公開鍵証明書Cert(Pk)を含む公開鍵証明書の組{Cert(Pk),…,Cert(PkL’)}をリング署名σの生成に用いる“リング署名用公開鍵情報”として選択する。
【0029】
リング署名生成部106は、公開鍵情報選択部105により選択されたリング署名用公開鍵情報の各利用者公開鍵{Pk,…,PkL’}と自己の利用者秘密鍵Skとサービスを受けるためのサービス情報Mとに基づいて、後述する方法(図5のステップST18)により、リング署名σを生成する。また、リング署名生成部106は、リング署名σと、決済情報処理部107で生成される暗号化決済情報E(Pkpayment,credit)とをサービス提供者装置300に送信する機能を有している。
【0030】
決済情報処理部107は、利用者からの決済情報等の入力により、サービスを受けるのに必要な決済処理を行なうものである。具体的には、決済情報処理部107は、クレジットカード番号credit等の決済情報を決済機関公開鍵Pkpaymentで暗号化した暗号化決済情報E(Pkpayment,credit)を生成する。なお、E(key,m)はデータmを暗号鍵keyで暗号化処理することを示す。当該処理では、RSA暗号などの公開鍵暗号を用いた処理が行なわれる。
【0031】
サービス受付部108は、サービス提供者装置300から送信される各種データを受け付けるものである。例えば、サービス受付部は、翻訳サービスの翻訳データや、映画配信サービスのストリーミングデータ等の提供を受け付ける。
【0032】
証明書発行装置200は、証明書情報記憶部201と公開鍵証明書発行処理部202とを備えている。
【0033】
証明書情報記憶部201は、図3に示すように、公開鍵証明書発行処理部202により発行された利用者公開鍵Pkの公開鍵証明書Cert(Pk)とサービスIDとを関連付けて記憶する記憶装置である。図3において、Service1、Service2、・・・はサービスID(SID)を示している。ここで、“サービスID”はサービス提供者装置300が提供するサービスと対応するものであり、利用者は公開鍵証明書の発行要求時等に希望するサービスのサービスIDを選択する。なお、証明書情報記憶部201は、公開鍵証明書と関連付けて利用者情報を記憶する。この利用者情報に基づいて、18歳未満の利用者にはサービス提供しないようにしたり、指定地域以外の居住者にはサービス提供しないようにしたりすることが可能となる。
【0034】
なお、公開鍵証明書としては、例えば図4に示すようなX.509の標準フォーマットが採用される。X.509の公開鍵証明書では、利用者公開鍵Pk以外にも、バージョン、シリアル番号、署名アルゴリズム、証明書発行者、有効期間、所有者名(利用者氏名)、認証局固有拡張子、所有者固有拡張子、拡張情報等が含まれる。このX.509のフォーマットでは、公開鍵証明書の“拡張情報(extensions)”の項目にサービス情報を追加して、公開鍵証明書自体に利用者の属性情報等を追加することができる。これにより、サービス毎に新たな鍵ペアを生成しなくても、既存の公開鍵証明書を新たなサービスに流用することが可能となる。
【0035】
公開鍵証明書発行処理部202は、利用者装置100から送られる利用者公開鍵Pkに対して公開鍵証明書Cert(Pk)を発行するものである。具体的には、公開鍵証明書発行処理部202は、利用者装置100から「証明書発行要求」を受信した場合、該証明書発行要求に含まれる利用者公開鍵Pkの公開鍵証明書Cert(Pk)をサービスIDに関連付けて発行し、証明書情報記憶部201に書き込んでいる。また、公開鍵証明書発行処理部202は、公開鍵証明書Cert(Pk)が発行された場合、その公開鍵証明書Cert(Pk)を証明書発行要求元の利用者装置100に送信する。
【0036】
サービス提供者装置300は、オンライン取引のサービスを提供するサーバ装置であり、コンピュータにソフトェアが組み込まれることにより、公開鍵情報記憶部301・公開鍵情報書込処理部302・公開鍵情報読出処理部303・サービスメニュー部304・リング署名検証部305・決済要求部306・サービス提供部307・履歴情報記憶部308として機能する。
【0037】
公開鍵情報記憶部301は、リング署名σの生成に用いる複数の公開鍵証明書をサービスIDに関連付けて記憶する記憶装置である。具体的には、公開鍵情報記憶部301は、サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストを記憶している。
【0038】
公開鍵情報書込処理部302は、公開鍵情報記憶部301に対して書き込み処理を実行するものであり、証明書発行装置200の証明書情報記憶部201から各利用者公開鍵の公開鍵証明書とサービスIDとを取得する機能と、取得した公開鍵証明書を公開鍵情報記憶部301に書き込む機能とを有している。
【0039】
公開鍵情報読出処理部303は、利用者装置100から「サービス要求」を受信した場合、該サービス要求に含まれるサービスIDに対応する複数の公開鍵証明書を公開鍵情報記憶部301から読み出すものである。読み出された各公開鍵証明書はサービスメニュー部304に送出される。
【0040】
サービスメニュー部304は、サービス提供者装置300が提供するサービスメニューを出力するものである。このサービスメニューは、例えばインターネットを介してアクセス可能に取得し得る状態となっている。サービスメニューにおいては、提供可能サービスに対応する公開鍵証明書がリスト化されており、利用者装置100からの要求に応じて、公開鍵証明書リストが送信される。要するに、サービスメニュー部304では、公開鍵情報読出部303により読み出された各公開鍵証明書をリスト化し、サービス要求元の利用者装置100に送信する。この際、公開鍵証明書自体は送信せず、例えば公開鍵証明書のシリアル番号をリスト化した公開鍵証明書リストを送信するとしてもよい。
【0041】
リング署名検証部305は、公開鍵証明書リストの送信に応じて利用者装置100からリング署名σと暗号化決済情報E(Pkpayment,credit)とを受信した場合、受信したリング署名σの正当性を、後述する方法(図5のステップST23)により検証する。
【0042】
決済要求部306は、サービスに対する決済処理を決済機関装置400へ要求するものである。具体的には、決済要求部306は、リング署名検証部305の検証結果によりリング署名σが正当であると確認された場合、暗号化決済情報E(Pkpayment,credit)を含む「決済要求」を決済機関装置400に送信する。
【0043】
また、決済要求部306は、決済要求に応じて決済機関装置400から「確認結果」を受信する。確認結果には、決済機関装置400により決済処理が可能(OK)であるか、不可能(NG)であるかが示されている。確認結果に、決済機関装置400により決済処理が可能である旨が示されている場合、決済要求部306からサービス提供部307にサービス提供命令が送出される。
【0044】
サービス提供部307は、決済要求部306からサービス提供命令を受け取った場合、サービス要求元の利用者装置100にサービスを提供する機能を有している。
【0045】
履歴情報記憶部308は、サービス提供部307によって利用者装置100にサービスを提供した場合、提供したサービスの履歴情報を記憶する記憶装置である。なお、履歴情報には、リング署名σ・サービスID(SID)・提供ID(CID)・個数(num)・価格(price)・日時などが含まれる。ここで提供ID(CID)とは、サービスID(SID)に対して利用者装置100へ提供されるサービス毎に割り当てられるユニークなIDである。このため、同じサービスID(SID)のサービスを複数受け取ったとしても、提供ID(CID)は異なる。
【0046】
決済機関装置400は、決済機関装置記憶部401・決済情報確認部402・決済処理部403を備えている。
【0047】
決済機関装置記憶部401は、決済機関秘密鍵Skpayment及び決済機関公開鍵Pkpaymentを記憶する記憶装置である。
【0048】
決済情報確認部402は、サービス提供者装置300から暗号化決済情報E(Pkpayment,credit)を含む「決済要求」を受信した場合、受信した暗号化決済情報E(Pkpayment,credit)を決済機関秘密鍵Skpaymentで復号して決済情報の正当性を確認する。また、決済情報確認部402は、決済要求に対し、「確認結果」をサービス提供者装置300に送信する。確認結果には、決済機関装置400により決済処理が可能(OK)であるか、不可能(NG)であるかが示されている。
【0049】
決済処理部403は、決済情報確認部402により決済情報が正当であると確認された場合、決済情報creditに基づいて決済処理を実行する。なお、利用者装置100から送信される「決済要求」にはサービスに対する金額情報等が含まれており、この金額情報等に基づいて決済処理が実行される。
【0050】
(匿名サービス提供システムの動作)
次に匿名サービス提供システム1の動作を図5のシーケンス図を用いて説明する。
【0051】
[1.公開鍵証明書の発行]
前提として、証明書発行装置200がシステムパラメータp・q・g・Aと、システム関数G・Fを公開しているものとする。ここで、pはLビットの素数、qはp−1を割り切るLビットの素数、gは位数qの乗法群Aの生成元である。Gは任意のビット長の数からAへの耐衝突一方向性ハッシュ関数である。Fは、任意の長さの数からlビットの数への耐衝突一方向性ハッシュ関数である。なお、耐衝突性とは、G(a)=G(b)を満たすaとbとを見つけることが困難であると認められる性質のことである。また、一方向性とは、cが与えられたときにG(a)=cを満たすaを見つけることが困難であると認められる性質のことである。
【0052】
このような前提のもと、複数の利用者装置100の鍵ペア生成部101により利用者公開鍵Pkおよび利用者秘密鍵Skが生成される。具体的には、鍵ペア生成部101により、数字s∈Z/qZ={0,1,・・・,q−1}がランダムに選ばれ、利用者秘密鍵Sk(iは各利用者装置に対応する数でありi=1,・・・,nとして表記する)として生成される。また、式Pk = gSki mod pにより、利用者公開鍵Pkが生成される(ST01)。
【0053】
そして、鍵ペア生成部101により生成された利用者公開鍵Pkが、公開鍵証明書の発行に必要なサービスID等の情報と共に「証明書発行要求」として証明書発行要求部102から証明書発行装置200へ送信される(ST02)。証明書発行要求には、利用者の{氏名、住所、電話番号、クレジット番号、メールアドレス、…}等が含まれている。
【0054】
なお、この際、必要に応じて、証明書発行要求の身元確認処理が実行されてもよい(図示せず)。具体的には、証明書発行要求を受け付けた証明書発行装置200の公開鍵証明書発行処理部202から、証明書発行要求元の利用者装置100のメールアドレスへ本人確認のための登録を行うURL(Uniform Resource Locator)が記載されたメールを送る。メールを受信した利用者装置100は、記載されたURLへアクセスする。そして証明書発行要求を出したことをアクセスしたページで確認する。
【0055】
次に、公開鍵証明書発行処理部202により、利用者公開鍵Pkに対する公開鍵証明書Cert(Pk)が生成される(ST03)。生成された公開鍵証明書Cert(Pk)は、利用者情報と共に証明書情報記憶部201に書き込まれる。この際、証明書情報記憶部201には、サービスが利用可能な利用者を読み出すために、サービスIDと公開鍵証明書Cert(Pk)とが関連付けられて書き込まれる。
【0056】
続いて、公開鍵証明書発行処理部202により、公開鍵証明書Cert(Pk)が利用者装置100へ送信される(ST04)。
【0057】
利用者装置100により公開鍵証明書Cert(Pk)が受信されると、証明書発行要求部102において、証明書発行装置200の公開鍵が用いられ、公開鍵証明書Cert(Pk)の正当性が検証される。証明書発行要求部102の検証結果により、公開鍵証明書Cert(Pk)が正当であると確認されると、公開鍵証明書Cert(Pk)が鍵情報記憶部103に書き込まれる(ST05)。なお、利用者はサービス毎に新たな鍵ペアを生成する必要はなく、サービス情報Mに対する属性情報を公開鍵証明書の“拡張情報(extension)”の項目に書き込むことで、既存の公開鍵証明書Cert(Pk)を新たなサービスに流用することができる。
【0058】
[2.サービス要求]
本実施形態では、利用者装置100を操作する利用者がサービス提供を受ける場合、リング署名σを用いた匿名認証が実行される。リング署名σを用いた匿名認証の実行の前提として、サービス提供者装置300は、証明書発行装置200の証明書情報記憶部201から各利用者公開鍵の公開鍵証明書とサービスIDとを取得する(ST06)。例えば、サービス提供者装置300は、一定期間毎に証明書発行装置200にアクセスして、これらの情報を取得する。
【0059】
サービスを要求する場合、まず、利用者装置100が、サービス提供者装置300のサイト等にアクセスする(ST07)。これにより、利用者装置100は、サービス提供者装置300からサービスメニューを取得する(ST08)。
【0060】
次に、利用者装置100を介して利用者が希望するサービスが選択されると(ST09)、選択されたサービスに対するサービスID(SID)を含む「サービス要求」が利用者装置100からサービス提供者装置300へ送信される(ST10)。
【0061】
続いて、サービス提供者装置300により利用者装置100から「サービス要求」が受信された場合、サービス要求に含まれるサービスIDに対応する公開鍵証明書リストが公開鍵情報記憶部301から読み出される(ST11)。そして、その公開鍵証明書リストがサービス要求元の利用者装置100に送信される(ST12)。
【0062】
次に、利用者装置100の公開鍵情報選択部105により、公開鍵証明書リストから自己の公開鍵証明書Cert(Pk)を含む公開鍵証明書の組{Cert(Pk),…,Cert(PkL’)}がリング署名σの生成に用いる“リング署名用公開鍵情報”として選択される(ST13)。リング署名用公開鍵情報の選択は、例えば公開鍵証明書のシリアル番号等により選択される。
【0063】
そして、公開鍵証明書リストに記述されたシリアル番号等を含む公開鍵証明書の送信要求がサービス提供者装置300に送信される(ST14)。これを受けて、サービス提供者装置300の公開鍵情報記憶部301から公開鍵証明書が読み出される(ST15)。読み出された公開鍵証明書は、リング署名用公開鍵情報として利用者装置100に送信され(ST16)、鍵情報記憶部103に書き込まれる。なお、利用者装置100においては、リング署名用公開鍵情報の受信時に、受信したリング署名用公開鍵情報に含まれる各公開鍵証明書の有効性が検証される(ST17)。
【0064】
[3.リング署名の生成]
利用者装置100の公開鍵情報選択部105によってリング署名用公開鍵情報{Cert(Pk),…,Cert(PkL’)}が選択されると、選択されたリング署名用公開鍵情報{Cert(Pk),…,Cert(PkL’)}と自己の利用者秘密鍵Skとサービスを受けるためのサービス情報Mとに基づいて、リング署名生成部106により“リング署名σ”が生成される(ST18)。具体的には以下の手順による。
【0065】
まず、リング署名生成部106により、lビットの乱数情報Rが選択され、下式(1)・(2)に基づいて、第1検証情報wと第1リング要素情報Sとが計算される。なお、サービス情報Mには、サービスID(SID)・提供ID(CID)・購入個数(num)・単価(price)が含まれる。
【数1】

【0066】
次に、リング署名生成部106により、公開鍵証明書リストにおける利用者公開鍵{Pk、j=1,…,L’}の自己の順番i以外の順番jに対応させて、0以上q未満の整数の集合から、複数の第2リング要素情報{c、j=1,…,L’(但しj=iを除く)}及び複数の第3リング要素情報{d、j=1,…,L’(但しj=iを除く)}が選択される。
【0067】
そして、j=1,・・・,i−1,i+1,・・・L’について、下式(3)・(4)に基づいて、複数の第2検証情報{a、j=1,…,L’(但しj=iを除く)}及び複数の第3検証情報{bj、j=1,…,L’(但しj=iを除く)}が生成される。
【数2】

【0068】
さらに、リング署名生成部106により、自己の利用者公開鍵Pkに対応させて、0以上q未満の整数eが選択され、下式(5)・(6)に基づいて、第2検証情報a・第3検証情報bが生成される。
【数3】

【0069】
そして、リング署名生成部106により、第4検証情報dが生成される。詳しくは、サービス情報M、乱数情報R、第1検証情報w、第1リング要素情報S、各利用者公開鍵{Pk、j=1,…,L’}、各第2検証情報{a、j=1,…,L’}及び各第3検証情報{b、j=1,…,L’}が一方向性ハッシュ関数Hに代入され、式d=H(M,R,w,S,Pk,・・・,PkL’,a,b,・・・,aL’,bL’)により、第4検証情報dが生成される。続いて、下式(7)・(8)に基づいて、第3リング要素情報d・第2リング要素情報cが生成される。
【数4】

【0070】
この後、リング署名生成部106により、上述の方法により生成された各情報を含むリング署名σ={M,R,S,c,d,・・・,cL’,dL’,Pk,・・・PkL’}が生成される。
【0071】
[4.暗号化決済情報の生成]
リング署名σの生成とともに暗号化決済情報が生成される。詳しくは、利用者装置100を介して希望するサービスが選択されると、サービス提供者装置300により選択されたサービスに対する決済情報の入力が促される。ここでは、クレジットカード番号creditが決済情報として入力される。なお決済金額等はサービスIDと予め関連付けられているものとする。
【0072】
利用者装置100を介して選択されたサービスの決済情報creditが入力されると(ST19)、決済情報処理部107によりクレジットカード番号credit等の決済情報が決済機関公開鍵Pkpaymentで暗号化され(ST20)、暗号化決済情報E(Pkpayment,credit)が生成される(ST21)。なお、ここでは、決済機関公開鍵Pkpaymentは決済機関装置400から送信される。
【0073】
暗号化決済情報E(Pkpayment,credit)が生成されると、リング署名生成部106により、先に生成されたリング署名σと、暗号化決済情報E(Pkpayment,credit)とがサービス提供者装置300に送信される(ST22)。
【0074】
[5.リング署名の検証]
サービス提供者装置300に利用者装置100からリング署名σと暗号化決済情報E(Pkpayment,credit)とが送信されると、リング署名検証部305によりリング署名σの正当性が検証される(ST23)。具体的には、以下の手順による。
【0075】
まず、リング署名検証部305により、リング署名σからサービス情報Mと乱数情報Rが読み出され、下式(9)に基づいて、第1検証情報wが生成される。
【数5】

【0076】
次に、リング署名検証部305により、リング署名σから、第1リング要素情報S、各第2リング要素情報{c、j=1,…,L’}、各第3リング要素情報{d、j=1,…,L’}及び各利用者公開鍵{Pk、j=1,…,L’}が読み出され、下式(10)・(11)に基づいて、複数の第2検証情報{a、j=1,…,L’}及び複数の第3検証情報{b、j=1,…,L’}が生成される。
【数6】

【0077】
続いて、リング署名検証部305により、リング署名σから、サービス情報M、乱数情報R、第1リング要素情報S及び各利用者公開鍵{Pk、j=1,…,L’}が読み出される。そして、これらの各情報と、先に生成された各第2検証情報{a、j=1,…,L’}及び各第3検証情報{b、j=1,…,L’}とから下式(12)に基づいて、第4検証情報dが生成される。
【数7】

【0078】
この後、リング署名検証部305により、第4検証情報dと、リング署名σから読み出された第3リング要素情報{d、j=1〜L’}とに基づいて、下式(13)の検証式が成立するか否かにより、リング署名σの正当性が検証される。
【数8】

【0079】
上記検証式(13)が成立すれば、リング署名σは正当であると扱われ、決済要求部306による決済処理に移行する。検証式(13)が成立しなければ、「検証エラー通知」が利用者装置100へ送信され、処理が中止される。処理が中止された場合、リング署名σは破棄される。
【0080】
[6.決済要求の送信]
リング署名検証部305によりリング署名の検証式が成立した場合、決済要求部306により暗号化決済情報E(Pkpayment,credit)を含む「決済要求」が決済機関装置400に送信される(ST24)。
【0081】
続いて、決済機関装置400の決済情報確認部402において、暗号化決済情報E(Pkpayment,credit)が、決済機関秘密鍵Skpaymentにより復号処理
D(Skpayment,E(Pkpayment,credit))=credit
される(ST25)。ここで、D(key,c)は、暗号文cを鍵keyで復号する処理を表す。当該処理では、RSA暗号などの公開鍵暗号を用いた処理が行なわれる。
【0082】
続いて、決済情報確認部402により、復号処理により取り出された決済情報(ここではクレジットカード番号credit)の正当性が検証される(ST25)。そして、復号された決済情報から必要に応じて身元確認が行なわれ(ST26)、決済情報確認部402からサービス提供者装置300に決済要求に対する「確認結果」が送信される(ST27)。なお、確認結果には、決済機関装置400による決済処理が可能(OK)であるか、不可能(NG)であるかが示されている。
【0083】
[7.サービス提供]
サービス提供者装置300では、決済機関装置400から受信した「確認結果」に、決済機関装置400による決済処理が可能(OK)である旨が示されている場合、サービス提供部307を介して利用者装置100にサービスを提供する(ST28)。一方、確認結果に、決済機関装置400による決済処理が不可能(NG)である旨が示されている場合、決済要求部306からサービス提供部307への処理が中止される。なお、サービスが提供されたか否かに関わらず、履歴情報が履歴情報記憶部308に書き込まれる。
【0084】
(匿名サービス提供システムの作用効果)
以上説明したように、本実施形態に係る匿名サービス提供システム1によれば、サービスIDに関連付けられた公開鍵証明書リストからリング署名σを生成し、サービスに対する決済情報を決済機関公開鍵Pkpaymentで暗号化して暗号化決済情報E(Pkpayment,credit)を生成する複数の利用者装置100と、サービスIDを含む「サービス要求」を受信した場合、該サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストをサービス要求元に送信し、公開鍵証明書リストの送信に応じてリング署名σと暗号化決済情報E(Pkpayment,credit)とを受信した場合、該リング署名σの正当性を検証し、該リング署名σの正当性の検証結果の確認後、暗号化決済情報E(Pkpayment,credit)の正当性の「確認結果」に応じて、サービス要求元にサービスを提供するサービス提供者装置300と、暗号化決済情報E(Pkpayment,credit)を決済機関秘密鍵Skpaymentで復号して決済情報の正当性を確認する決済機関装置400とを備えており、サービス提供者に利用者を特定させずに決済処理できるので、オンライン取引において匿名の利用者にサービス提供することができる。
【0085】
また、本実施形態に係る匿名サービス提供システムでは、利用者装置100のリング署名生成部106において、サービス情報M・乱数情報R・第1リング要素情報S・各第2リング要素情報{c、j=1,・・・,L’}・各第3リング要素情報{d、j=1,・・・,L’}・各利用者公開鍵{Pk、j=1,・・・,L’}に基づいて、リング署名σ={M,R,S,c,d,…,cL’,dL’,Pk,…PkL’}が生成され、サービス提供者装置300のリング署名検証部305において、検証式d = d + ・・・ + dL’ mod qが成立するか否かにより、リング署名σの正当性が検証されるので、リング署名σを生成した利用者をサービス提供者に秘匿することができる。
【0086】
要するに、匿名サービス提供システム1では、リング署名方式を採用しているので、サービス提供者が、あるサービスの履歴情報からリング署名σの生成に用いられた複数の公開鍵証明書を統計的に分析して利用者を特定しようとしても、サービス要求前に選択した複数の公開鍵証明書の利用者の中から特定することになる。なお、公開鍵証明書の選択数を多くすることにより、利用者の特定を困難にすることができる。
【0087】
また、匿名サービス提供システムでは、リング署名方式を採用しているので、既存の公開鍵暗号基盤を流用できる。このため、グループ署名方式を用いたシステムに比して、既存のオンライン取引システムへの導入が容易になるというメリットがある。さらに、グループ署名方式を用いたシステムと比較して、サービス毎にグループ鍵を作る必要がなく鍵管理を簡素化できるというメリットがある。
【0088】
なお、本実施形態に係る匿名サービス提供システムにおいて、公開鍵証明書に利用者へのサービス提供が可能か否かを示す属性情報が書き込まれている場合、利用者装置100がサービス要求とともに属性情報を送信し、サービス提供者装置300の公開鍵情報読出処理部303が該属性情報に基づいて利用者にサービス提供が可能か否かを判定し、サービス提供が可能であれば、サービス要求に含まれるサービスIDに対応する複数の公開鍵証明書を鍵情報記憶部103から読み出すようにしてもよい。
【0089】
(リング署名用公開鍵情報の他の選択方式1)
なお、本実施形態に係る匿名サービス提供システム1において、リング署名用公開鍵情報の選択方式として、前回のサービス利用者が選んだリング署名用公開鍵情報を次回のサービス利用者のリング署名用公開鍵情報として選択する方式を採用してもよい。
【0090】
図6はリング署名用公開鍵情報の他の選択方式についての概念を示す模式図である。要するに、この例では、リング署名用公開鍵情報を上書き更新している。
【0091】
この例の場合、図7に示すような処理となり、利用者装置100がサービス提供者装置300にアクセスしてサービスメニューを取得し(ST31・ST32)、サービスメニュー上でサービスを選択すると(ST33)、選択したサービスに対応するリング署名用公開鍵情報が履歴情報記憶部308から読み出される(ST34・ST35)。そして、サービス提供者装置300から利用者装置100へ、前回のリング署名の生成に用いられたリング署名用公開鍵情報が利用者装置100へ送信される(ST36)。
【0092】
利用者装置100では、リング署名用公開鍵情報を受信した場合、リング署名用公開鍵情報に含まれる各公開鍵証明書の有効性を検証する(ST37)。
【0093】
この際、利用者は、リング署名用公開鍵情報に自己の公開鍵証明書Cert(Pk)を書き込むことができる。また、リング署名用公開鍵情報に自己の公開鍵証明書が含まれていない場合、自己の公開鍵証明書を書き込むのではなく、サービス提供者装置300にアクセスして自己の公開鍵証明書を含むリング署名用公開鍵情報を再度要求してもよい。その際は、自己のものを含め出来るだけ多くの公開鍵証明書を要求しておく方が好ましい。
【0094】
この後は前述同様の手順により、リング署名σを生成して(ST38)、サービス提供者装置300に送信する(ST39)。そして、サービス提供者装置300でリング署名σの正当性が検証された場合には(ST40)、サービス提供者装置300に記憶されているリング署名用公開鍵情報を、今回の利用者が利用したリング署名用公開鍵情報に更新する(ST41)。
【0095】
上述したようなリング署名用公開鍵情報の選択方式では、サービス提供者装置300が、一の利用者装置100からリング署名σと、暗号化決済情報E(Pkpayment,credit)とを受信した場合、該リング署名σの生成に用いられたリング署名用公開鍵情報の履歴を履歴記憶部308に記憶し、各利用者装置のうちのいずれかの利用者装置から次にサービス要求を受信した場合、履歴情報記憶部308に記憶された前回のリング署名用公開鍵情報を該サービス要求元の利用者装置に送信する。それゆえ、利用者が次回サービスを受ける際に前回利用したリング署名用公開鍵情報を利用するので、利用者装置100及びサービス提供者装置300の処理負担を軽減することができる。結果として、リング署名σの生成時間を短縮することができる。
【0096】
(リング署名用公開鍵情報の他の選択方式2)
また、本実施形態に係る匿名サービス提供システム1において、サービス提供者装置300がサービスIDに対応させて複数の公開鍵証明書の組を記憶しておき、利用者装置100を介してそれらの公開鍵証明書の組の一から、リング署名σの生成に用いるリング署名用公開鍵情報{Cert(Pk),…,Cert(PkL’)}を選択するとしてもよい。
【0097】
具体的には、サービス提供者装置300の公開鍵情報記憶部301には図8に示すようなリストが記憶されており、上記ステップST12において、複数の公開鍵証明書リストが利用者装置に送信される。そして、上記ステップST13の処理に代えて、利用者装置100により、複数の公開鍵証明書リストのうちの一つが、リング署名に用いるリング署名用公開鍵情報として選択される。
【0098】
要するに、このリング署名公開鍵情報の選択方式方では、サービス提供者装置300の公開鍵情報記憶部301は、サービスID毎に、リング署名の生成に用いる公開鍵証明書の組を複数記憶しており、各利用者装置100は、公開鍵情報選択部105による処理に代えて、複数の組の公開鍵証明書のうち、一の公開鍵証明書の組をリング署名の生成に用いるリング署名用公開鍵情報として選択するので、リング署名σを生成するために用いる複数の公開鍵証明書の選択を迅速化することができる。それゆえ、サービス要求からサービス提供までの時間を短縮化することができ、オンライン取引の利便性向上に資する。
【0099】
なお、有効期限切れ等の公開鍵証明書は利用者により適宜更新される。
【0100】
<第2の実施形態>
図9は本発明の第2の実施形態に係る匿名サービス提供システム1Sの構成の一部を示す模式図である。なお、既に説明した部分と同一部分には略同一符号を付し、特に説明がない限りは重複した説明を省略する。また、以下の各実施形態も同様にして重複した説明を省略する。
【0101】
本実施形態に係る匿名サービス提供システム1Sは、第1の実施形態に係る匿名サービス提供システム1が以下の手段をさらに具備することにより、公開鍵証明書の廃棄処理を実行する。
【0102】
利用者装置100Sは、証明書発行装置200へ「廃棄要求」を送信する廃棄要求部109と、鍵情報記憶部103に記憶された利用者公開鍵Pkを消去する公開鍵消去部110とを備えている。また、証明書発行装置200Sは、廃棄する公開鍵証明書の廃棄リストを記憶する廃棄リスト記憶部204と、利用者装置100から「廃棄要求」を受け付ける廃棄要求受付部205と、廃棄リスト記憶部204の廃棄リストを更新する廃棄リスト更新部206とを備えている。また、サービス提供者装置300Sは、廃棄する公開鍵証明書の廃棄リストを記憶する廃棄リスト記憶部311と、証明書発行装置200から廃棄リストを受け付ける廃棄リスト受付部312と、廃棄リスト記憶部311の廃棄リストを更新する廃棄リスト更新部313とを備えている。
【0103】
なお、廃棄リスト(CRL : Certificate Revocation List)は、図10に示すように、X.509という標準規格で規定されている。この廃棄リストには、バージョン・署名アルゴリズム・証明書発行者(認証局)・廃棄リストの発行日時・次回の廃棄リストの発行日時・廃棄証明書のシリアル番号・廃棄日時・拡張情報等が含まれる。
【0104】
本実施形態に係る匿名サービス提供システム1Sは、以下の手順により破棄処理を実行する。
【0105】
まず、利用者装置100Sの廃棄要求部109から、「廃棄要求」が証明書発行装置200Sの廃棄要求受付部205へ送信される。廃棄要求受付部205では、必要に応じて、前述同様の利用者の身元確認用のメールを利用者装置100Sに送信する。
【0106】
利用者装置100Sから確認応答があった場合、証明書発行装置200Sの廃棄リスト更新部206により、廃棄リスト記憶部204に記憶されている廃棄リストが更新される。
【0107】
続いて、廃棄リスト更新部206から、更新された廃棄リストがサービス提供者装置300の廃棄リスト更新部312へ送信される。
【0108】
更新された廃棄リストが廃棄リスト更新部312により受け取られると、廃棄リスト記憶部311に記憶されている廃棄リストが更新される。
【0109】
上述したように、本実施形態に係る匿名サービス提供システム1Sは、利用者装置100Sが証明書発行装置200Sへ「廃棄要求」を送信し、証明書発行装置S200が利用者装置100から「廃棄要求」を受け付けると廃棄リストを更新するとともに、その廃棄リストをサービス提供者装置300Sに送信し、サービス提供者装置300Sが廃棄リストの更新をするので、適切な公開鍵証明書によりリング署名σが生成される。
【0110】
また、本実施形態に係る匿名サービス提供システム1Sにおいては、利用者装置100Sからの廃棄要求によって廃棄リストを更新するのみならず、サービス提供者装置300Sの操作者が廃棄リスト記憶部311の廃棄リストを更新してもよい。これにより、例えば、サービスを受けることを止めた利用者の公開鍵証明書や不正な利用を行った利用者の公開鍵証明書を廃棄することができる。
【0111】
<第3の実施形態>
本発明の第3の実施形態に係る匿名サービス提供システム1Tでは、利用者装置100Tからサービス提供者装置300Tに暗号化決済情報E(Pkpayment,credit)を送信せず、テンポラリIDを送信する。
【0112】
以下、具体的な処理について図11を用いて説明する。
【0113】
リング署名σの検証までの処理は第1の実施形態のST01〜ST23の処理と同様であるので省略する。
【0114】
リング署名σの検証に成功した場合は、サービス提供者装置300Tにより一時的な識別情報であるテンポラリID(IDtemp)が生成されて利用者装置100Tへ送信される。(ST50)。テンポラリID(IDtemp)としては、乱数情報などが用いられる。
【0115】
続いて、決済要求部303からテンポラリID(IDtemp)を含む「決済要求」が決済機関装置400Tへ送信される(ST51)。決済要求は、{IDtemp, price×num}の情報から構成される。
【0116】
決済機関装置400Tにより決済要求が受け取られた場合、決済情報確認部402を介して利用者装置100Tに「決済情報入力要求」が送信される(ST52)。この決済情報入力要求には、利用者が受けるサービスの合計金額が含まれる。
【0117】
利用者装置100Tにより「決済情報入力要求」が受け取られると、利用者装置100Tのディスプレイ等に決済情報の入力が促される。
【0118】
これに応じて、クレジットカード番号(creditk)とテンポラリID(IDtemp)とを含む決済情報が利用者の操作により利用者装置100Tに入力されると、それらの決済情報が決済機関装置400Tへ送信される(ST53)。
【0119】
決済機関装置400Tにより決済情報が受け取られると、利用者装置100Tから送信されたテンポラリID(IDtemp)とサービス提供者装置300Tから送信されたテンポラリID(IDtemp)との照合が行われ、その照合結果により決済情報の正当性が確認される(ST54)。そして、テンポラリIDの照合結果とテンポラリID(IDtemp)とがサービス提供者装置300Tへ送信される(ST55)。
【0120】
サービス提供者装置300TによりテンポラリID(IDtemp)の照合結果が受け取られ、テンポラリID(IDtemp)が一致していた場合には、サービス提供部307から利用者装置100Tにサービスが提供される(ST56)。一方、テンポラリID(IDtemp)の照合が一致していなかった場合は、その旨が利用者装置100Tへ送信されてサービスの提供が中止される。
【0121】
上述したように、本実施形態に係る匿名サービス提供システム1Tは、利用者装置100Tがサービス提供者装置300TにテンポラリID(IDtemp)を送信し、サービス提供者装置300Tが決済機関装置400TにテンポラリID(IDtemp)を含む決済要求を送信している。従って、本実施形態に係る匿名サービス提供システム1Tによれば、サービス提供者装置300Tに利用者の個人情報等(ここでは暗号化されたクレジットカード番号情報)が知られずに決済を実行することが可能となる。
【0122】
<第4の実施形態>
本発明の第4の実施形態に係る匿名サービス提供システム1Uは、サービス提供者に利用者を特定させる機能を備えている。具体的な構成としては、図12に示すように、利用者装置100Uが「利用者確認要求」を送信する確認要求部120を備え、サービス提供者装置300Uが確認要求検証部320を備えている。
【0123】
サービス提供者に利用者を特定させる必要が生じるのは、例えば、提供したサービスのデータを利用者装置100Uに再送させる場合である。補足すると、サービス提供者装置300Uから送られてきたサービスのデータが破損している等の理由で、利用者装置100Uの利用者がサービスを満足に受けられなかった場合、利用者装置100Uからサービス提供者装置300Uにデータの再送要求が行なわれる。このような場合、再送先の利用者装置100Uを特定するためにサービス提供者装置300Uに利用者装置を特定させる必要が生じる。
【0124】
以下、具体的な処理について図13を用いて説明する。
【0125】
始めに、利用者装置100Uの確認要求部120から、リング署名σ={M,R,S,c,d,…,cL’,dL’,Pk,…PkL’}を含む「利用者確認要求」がサービス提供者装置300へ送信される(ST61)。
【0126】
サービス提供者装置300によって「利用者確認要求」が受信されると、確認要求検証部320によりリング署名σに含まれるサービス情報Mと乱数情報Rが耐衝突一方向性ハッシュ関数Gに代入されて第1検証情報w=G(M,R)が生成される。
【0127】
また、確認要求検証部320により0以上q未満の整数であり、かつqと互いに素な整数の集合から任意に第1確認定数a及び第2確認定数bがランダムに選択され、下式(14)に基づいて、第3確認定数cが生成される(ST62)。
【数9】

【0128】
生成された第3確認定数cは、利用者確認要求元の利用者装置100Uに送信される(ST63)。
【0129】
次に、利用者装置100Uにより、サービス提供者装置300Uから第3確認定数cが受信されると、確認要求部120により、0以上q未満の整数であり、かつqと互いに素な整数の集合から任意に第4確認定数r∈Z/qZが選択される。
【0130】
続いて、確認要求部120により、下式(15)・(16)に基づいて、第5確認定数t及び第6確認定数uが生成される(ST64)。
【数10】

【0131】
生成された第5確認定数t及び第6確認定数uはサービス提供者装置300に送信される(ST65)。
【0132】
サービス提供者装置300によって、利用者装置100から第5確認定数t及び第6確認定数uが受け取られると、確認要求検証部320から利用者装置100へ第1確認定数a及び第2確認定数bが送信される(ST66)。
【0133】
そして、利用者装置100によって、サービス提供者装置300から第1確認定数a及び第2確認定数bが受信された場合、確認要求部120により、以下の第3確認定数の検証式(17)が成立するか否かが検証される(ST67)。
【数11】

【0134】
第3確認定数cの検証式が成立した場合、確認要求部120により、第4確認定数rがサービス提供者装置300Uに送信される(ST68)。一方、第3確認定数cの検証式が成立しない場合、通信エラーなどのトラブルが発生したとして、利用者確認要求が利用者装置100から再度送信される。
【0135】
次に、サービス提供者装置300Uにより、第4確認定数rが受信された場合、以下の第6確認定数の検証式(18)及び第5確認定数の検証式(19)が成立するか否かが検証される(ST69)。
【数12】

【0136】
そして、確認要求検証部320において、第5確認定数uの検証式(18)及び第6確認定数tの検証式(19)の成立を確認する。なお、第5確認定数の検証式(18)及び第6確認定数tの検証式(19)の成立が確認されなかった場合、通信エラーなどのトラブルが発生したと判定されて処理が中止される。
【0137】
図13に示す処理をK回実行し、すべての処理で検証式(19)の成立が確認された場合、「利用者確認要求」の要求元の利用者装置100Uによってリング署名σが生成されたものであると判定され、リング署名σを生成した利用者装置100Uにサービスが再度提供される(ST70)。
【0138】
上述したように、本実施形態に係る匿名サービス提供システム1Uによれば、サービス提供者がサービスを受けた利用者をリング署名σから特定することができる。それゆえ、グループ署名方式を用いたシステムとは異なり、サービス提供者がグループ管理者に、利用者の特定を依頼せずに済む。要するに、グループ署名のように、利用者の知らないうちに密にサービス提供者に利用者が特定されるといった事態が起こらない。このため、利用者に安心感を与えるとともに、グループ管理者の負荷を低減できるオンライン取引システムの導入が可能となる。
【0139】
なお、本実施形態の適用例としては、データの再送依頼をする際に、サービス提供者に利用者を特定してもらうといったことが考えられる。例えば、画像データ購入サービスを受けた利用者が、送信されてきた画像データが壊れていたため、再送依頼するような事案が考えられる。
【0140】
<第5の実施形態>
本発明の第5の実施形態に係る匿名サービス提供システム1Vでは、サービス提供者が利用者を特定する機能を備えている。具体的な構成としては、図14に示すように、サービス提供者装置300Vが「否認要求」を順次送信して利用者を特定する利用者特定処理部330を備え、利用者装置100Vが否認要求応答部130を備えている。
【0141】
例えば、サービス提供者装置300Vがサービス提供した画像データ等が不正に流通されている場合、その流通元を特定するために、画像データの購入者である利用者を特定する必要が生じる。
【0142】
以下、具体的な処理について図15を用いて説明する。
【0143】
まず、サービス提供者装置300Vの利用者特定処理部330において、不正等が生じたサービスに対して利用者特定処理の実効命令が入力される。具体的には、利用者特定処理を実行するサービスについて、そのサービス要求時のリング署名σの生成に用いられた複数の利用者公開鍵{Pk、j=1,…,L’}が履歴情報記憶部308から読み出される(ST81)。
【0144】
続いて、利用者特定処理部330により、利用者特定処理の実行命令に応じて、各利用者公開鍵{Pk,j=1,…,L’}に対応する複数の利用者装置のうち、一つの利用者装置100iが選択される(ST82)。この場合、例えば、利用者公開鍵の登録順に選択される。
【0145】
次に、利用者特定処理部330により、利用者特定処理の実行命令に応じて、リング署名σに含まれるサービス情報Mと乱数情報Rが耐衝突一方向性ハッシュ関数Gに代入されて第1検証情報w=G(M,R)が生成される。続いて、利用者特定処理部330により、利用者特定処理の実行命令に応じて、最大数maxを全数検索により検索可能な0以上の整数の集合から第1選択数a’∈{0,・・・,max}が選択されるとともに、0以上q未満の整数であり、かつqと互いに素な整数の集合から第2選択数b’∈Z/qZが選択される。それから、利用者特定処理部330により、第1検証情報wと、第1選択数a’及び第2選択数b’とに基づいて、下式(20)・(21)に基づいて、第1否認処理定数C及び第2否認処理定数Cが生成される(ST83)。
【数13】

【0146】
そして、利用者特定処理部330から、第1否認処理定数C及び第2否認処理定数Cを含む「否認要求」がステップST82で選択された利用者装置100iに送信される(ST84)。
【0147】
利用者装置100iによって「否認要求」が受信されると、否認要求応答部130により次の関係式(22)に基づいて検索数a’’が検索される。
【数14】

【0148】
また、利用者装置100iの否認要求応答部130では、0以上q未満の整数であり、かつqと互いに素な整数の集合から第3選択数r’∈Z/qZがランダムに選択される。
【0149】
そして、利用者装置100iの否認要求応答部130により、第3選択数r’と検索数a’’とが耐衝突一方向性ハッシュ関数Fに代入されてハッシュ値t’=F(r’,a’’)が生成され(ST85)、サービス提供者装置300に送信される(ST86)。
【0150】
サービス提供者装置300では、第1否認処理定数C及び第2否認処理定数Cの送信に応じて利用者装置100iからハッシュ値t’を受信した場合、その利用者装置100iに第2選択数b’を送信する(ST87)。
【0151】
続いて、利用者装置100iの否認要求応答部130により、ハッシュ値t’の送信に応じてサービス提供者装置300から第2選択数b’が受信された場合、以下の第1否認処理定数の検証式(23)及び第2否認処理定数の検証式(24)が成立するか否かが検証される(ST88)。
【数15】

【0152】
そして、利用者装置100iの否認要求応答部130において、第1否認処理定数Cの検証式と第2否認処理定数Cの検証式とが成立した場合、第3選択数r’がサービス提供者装置300に送信される(ST89)。
【0153】
サービス提供者装置300において、第2選択数b’の送信に応じて利用者装置100iから第3選択数r’が受信された場合、利用者特定処理部330により、第3選択数r’と第1選択数a’とが耐衝突一方向性ハッシュ関数Fに代入されて、ハッシュ値t’の検証式t’=F(r’,a’)が成立するか否かが検証される。
【0154】
図15に示す処理をK回実行し、すべての処理で、利用者特定処理部330により、ハッシュ値t’の検証式の成立が確認された場合、リング署名σが利用者装置100iにより生成されたものではないと判定される。そして、利用者特定処理部330により、リング署名σが利用者装置100iによって生成されたものではないと判定された場合、リング署名σの生成に用いられた各利用者公開鍵{Pk、j=1,…,L’}に対応する複数の利用者装置の中から、次の利用者装置100kが選択されて「否認要求」が送信される。この後は、ハッシュ値t’の検証式が成立しない利用者装置100qが検出されるまで、上記ステップST82〜ステップST89の処理が繰り返される。そして、ハッシュ値t’の検証式が成立しない利用者装置100qが検出された場合、その利用者装置100qがリング署名σを生成した利用者装置であると判定される。
【0155】
以上説明したように、本実施形態に係る匿名サービス提供システムによれば、ハッシュ値t’の検証式が成立しない利用者装置100qが検出されるまで、「否認要求」が利用者装置に順次送信されるので、サービス提供者が、自分が提供したサービス、例えば画像データが不正に流通していることを発見したときに、その画像データを購入した利用者を特定することができる。
【0156】
なお、ハッシュ値t’の検証式が成立しない場合、通信エラーが生じていることも考えられる。この場合、第4の実施形態の利用者確認処理を組み合わせることにより、利用者装置100qがリング署名σの生成者であるか否かの判定が可能となる。すなわち、サービス提供者装置300により、ハッシュ値t’の検証式が成立しない場合、サービス提供者装置300から利用者装置100qに対して、リング署名σとともに「利用者確認要求」の送信要求を実行する。なお、利用者装置100qが利用者確認要求の送信要求を無視した場合には、その利用者装置100qによりリング署名σが生成されたものとみなす運用を採用してもよい。
【0157】
また、本実施形態に係る匿名サービス提供システムによれば、例えば販売した画像データが不正に使用されていることを発覚したときに、その画像データを購入した利用者を特定することができる。この場合は、サービス提供者が、履歴情報記憶部308に記憶されているサービスIDとリング署名σとから、そのリング署名σを生成した利用者(不正に使われた画像を購入した利用者)を特定する。
【0158】
<その他>
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【0159】
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0160】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0161】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0162】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0163】
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0164】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0165】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【図面の簡単な説明】
【0166】
【図1】本発明の第1の実施形態に係る匿名サービス提供システム1の構成を示す模式図である。
【図2】同実施形態における匿名サービス提供システム1の各装置の構成を示す模式図である。
【図3】同実施形態における証明書情報記憶部201の構成を示す模式図である。
【図4】公開鍵証明書の構成を示す模式図である。
【図5】同実施形態における匿名サービス提供システム1の動作を説明するためのシーケンス図である。
【図6】同実施形態におけるリング署名用公開鍵情報の他の選択方式1についての概念を示す模式図である。
【図7】同実施形態におけるリング署名用公開鍵情報の他の選択方式1を説明するためのシーケンス図である。
【図8】同実施形態におけるリング署名用公開鍵情報の他の選択方式2に用いる公開鍵情報記憶部301の構成を示す模式図である。
【図9】本発明の第2の実施形態に係る匿名サービス提供システム1Sの構成の一部を示す模式図である。
【図10】同実施形態における廃棄リストの構成を示す模式図である。
【図11】本発明の第3の実施形態に係る匿名サービス提供システム1Tの動作を説明するためのシーケンス図である。
【図12】本発明の第4の実施形態に係る匿名サービス提供システム1Uの構成の一部を示す模式図である。
【図13】同実施形態における匿名サービス提供システム1Uの動作を説明するためのシーケンス図である。
【図14】本発明の第5の実施形態に係る匿名サービス提供システムVの構成の一部を説明するための模式図である。
【図15】同実施形態における匿名サービス提供システム1Vの動作を説明するためのシーケンス図である。
【符号の説明】
【0167】
1・・・匿名サービス提供システム、100・・・利用者装置、101・・・鍵ペア生成部、102・・・証明書発行要求部、103・・・鍵情報記憶部、104・・・サービス要求部、105・・・公開鍵情報選択部、106・・・リング署名生成部、107・・・決済情報処理部、108・・・サービス受付部、109・・・廃棄要求部、110・・・公開鍵消去部、120・・・確認要求部、130・・・否認要求応答部、200・・・証明書発行装置、201・・・証明書情報記憶部、202・・・公開鍵証明書発行処理部、204・・・廃棄リスト記憶部、205・・・廃棄要求受付部、206・・・廃棄リスト更新部、300・・・サービス提供者装置、301・・・公開鍵情報記憶部、302・・・公開鍵情報書込処理部、303・・・公開鍵情報読出処理部、304・・・サービスメニュー部、305・・・リング署名検証部、306・・・決済要求部、307・・・サービス提供部、308・・・履歴情報記憶部、311・・・廃棄リスト記憶部、312・・・廃棄リスト受付部、313・・・廃棄リスト更新部、320・・・確認要求検証部、330・・・利用者特定処理部、400・・・決済機関装置、401・・・決済機関装置記憶部、402・・・決済情報確認部、403・・・決済処理部、500・・・ネットワーク。

【特許請求の範囲】
【請求項1】
サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストからリング署名σを生成し、該サービスに対する決済情報を決済機関公開鍵で暗号化して暗号化決済情報を生成する複数の利用者装置と、
前記サービスIDを含むサービス要求を受信した場合、該サービスIDに対応する公開鍵証明書リストをサービス要求元に送信し、該公開鍵証明書リストの送信に応じてリング署名σと暗号化決済情報とを受信した場合、該リング署名σの正当性を検証し、該リング署名σの正当性の確認後、暗号化決済情報の正当性の確認結果に応じて、サービス要求元にサービスを提供するサービス提供者装置と、
暗号化決済情報を決済機関秘密鍵で復号して決済情報の正当性を確認する決済機関装置と、
を備えたことを特徴とする匿名サービス提供システム。
【請求項2】
複数の利用者装置と証明書発行装置とサービス提供者装置と決済機関装置とを備え、匿名の利用者にサービスを提供する匿名サービス提供システムであって、
前記各利用者装置は、
サービスIDに関連付けて、利用者公開鍵Pkと利用者秘密鍵Skとの鍵ペアを生成する手段と、
前記サービスIDと前記利用者公開鍵Pkとを含む証明書発行要求を前記証明書発行装置に送信する手段と、
前記サービスIDを含むサービス要求を前記サービス提供者装置に送信する手段と、
前記サービス要求に応じて前記サービス提供者装置からサービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストを受信した場合、該公開鍵証明書リストから自己の公開鍵証明書Cert(Pk)を含む公開鍵証明書の組{Cert(Pk),…,Cert(PkL’)}をリング署名の生成に用いるリング署名用公開鍵情報として選択する公開鍵情報選択手段と、
前記公開鍵情報選択手段により選択されたリング署名用公開鍵情報と自己の利用者秘密鍵Skとサービスを受けるためのサービス情報Mとに基づいてリング署名σを生成するリング署名生成手段と、
前記サービスに対する決済情報を決済機関公開鍵で暗号化して暗号化決済情報を生成する暗号化決済情報生成手段と、
前記リング署名σと前記暗号化決済情報とを前記サービス提供者装置に送信するリング署名送信手段と、
を備え、
前記証明書発行装置は、
前記各利用者公開鍵の公開鍵証明書とサービスIDとを関連付けて記憶する証明書情報記憶手段と、
前記利用者装置から前記証明書発行要求を受信した場合、該証明書発行要求に含まれる利用者公開鍵Pkの公開鍵証明書Cert(Pk)をサービスIDに関連付けて発行し、前記証明書情報記憶手段に書き込む手段と、
前記公開鍵証明書Cert(Pk)を証明書発行要求元の利用者装置に送信する手段と、
を備え、
前記サービス提供者装置は、
リング署名の生成に用いる複数の公開鍵証明書をサービスIDに関連付けて記憶する公開鍵情報記憶手段と、
前記証明書発行装置の証明書情報記憶手段から前記各利用者公開鍵の公開鍵証明書とサービスIDとを取得し、前記公開鍵情報記憶手段に書き込む手段と、
前記利用者装置からサービス要求を受信した場合、該サービス要求に含まれるサービスIDに対応する複数の公開鍵証明書を前記公開鍵情報記憶手段から読み出す証明書情報読出手段と、
前記証明書情報読出手段によって読み出した各公開鍵証明書をリスト化した公開鍵証明書リストを前記サービス要求元の利用者装置に送信する手段と、
前記公開鍵証明書リストの送信に応じて前記利用者装置からリング署名σと暗号化決済情報とを受信した場合、該リング署名σの正当性を検証するリング署名検証手段と、
前記リング署名検証手段により正当であると検証した場合、前記暗号化決済情報を含む決済要求を前記決済機関装置に送信する決済要求送信手段と、
前記決済要求に応じて前記決済機関装置から確認結果を受信し、該確認結果に応じて、前記サービス要求元の利用者装置にサービスを提供するサービス提供手段と、
を備え、
前記決済機関装置は、
決済機関秘密鍵を記憶する手段と、
前記サービス提供者装置から前記暗号化決済情報を含む決済要求を受信した場合、該暗号化決済情報を前記決済機関秘密鍵で復号して前記決済情報の正当性を確認する決済情報確認手段と、
前記決済要求に対し、前記決済情報確認手段による確認結果を前記サービス提供者装置に送信する手段と、
を備えたことを特徴とする匿名サービス提供システム。
【請求項3】
請求項1または請求項2に記載の匿名サービス提供システムにおいて、
前記サービス提供者装置は、
一の利用者装置からリング署名σと暗号化決済情報とを受信した場合、該リング署名の生成に用いられたリング署名用公開鍵情報の履歴を記憶する履歴記憶手段と、
前記各利用者装置のうちのいずれかの利用者装置から次にサービス要求を受信した場合、前記履歴記憶手段に記憶された前回のリング署名用公開鍵情報を該サービス要求元の利用者装置に送信する手段と、
を備えたことを特徴とする匿名サービス提供システム。
【請求項4】
請求項1乃至請求項3のいずれか1項に記載の匿名サービス提供システムにおいて、
前記サービス提供者装置の公開鍵情報記憶手段は、前記サービスID毎に、リング署名の生成に用いる公開鍵証明書の組を複数記憶しており、
前記各利用者装置は、前記公開鍵情報選択手段による処理に代えて、前記複数の組の公開鍵証明書のうち、一の公開鍵証明書の組をリング署名σの生成に用いるリング署名用公開鍵情報として選択する、
ことを特徴とする匿名サービス提供システム。
【請求項5】
請求項1乃至請求項4のいずれか1項に記載の匿名サービス提供システムにおいて、
前記公開鍵証明書には利用者にサービス提供が可能か否かを示す属性情報が書き込まれており、
前記利用者装置は、前記サービス要求とともに前記属性情報を送信し、
前記サービス提供者装置は、前記証明書読出手段に代えて、
前記利用者装置から前記サービス要求とともに前記属性情報を受信した場合、該属性情報に基づいて利用者にサービス提供が可能か否かを判定する手段と、
前記判定の結果、可能であれば、前記サービス要求に含まれるサービスIDに対応する複数の公開鍵証明書を前記公開鍵情報記憶手段から読み出す手段と、
を備えたことを特徴とする匿名サービス提供システム。
【請求項6】
請求項1乃至請求項5のいずれか1項に記載の匿名サービス提供システムにおいて、
前記各利用者装置は、前記リング署名送信手段に代えて、
前記暗号化決済情報を送信せずにリング署名σのみを前記サービス提供者装置に送信する手段と、
前記リング署名σの送信に応じて前記サービス提供者装置からテンポラリIDを受信する手段と、
前記決済機関装置から決済情報入力要求を受信した場合、前記テンポラリIDと決済情報とを該決済機関装置に送信する手段と、
を備え、
前記サービス提供者装置は、
前記利用者装置から前記リング署名σを受信した場合、該利用者装置にテンポラリIDを送信する手段と、
前記テンポラリIDを送信したときに、該テンポラリIDと決済要求とを前記決済機関装置に送信する手段と、
前記決済要求に応じて前記テンポラリIDと該テンポラリIDの照合結果とを前記決済機関装置から受信し、該テンポラリIDの照合結果が一致である場合、該テンポラリIDを送信した利用者装置にサービスを提供する手段と、
を備え、
前記決済機関装置は、
前記サービス提供者装置から決済要求とテンポラリIDとを受信した場合、決済情報入力要求を前記利用者装置に送信する手段と、
前記決済情報入力要求に応じて前記利用者装置からテンポラリIDと決済情報とを受信した場合、該利用者装置から受信したテンポラリIDと、前記サービス提供者装置から受信したテンポラリIDとが一致するか否かを照合する手段と、
前記テンポラリIDの照合結果とともに前記サービス提供者装置から受信したテンポラリIDを前記サービス提供者装置に送信する手段と、
を備えたことを特徴とする匿名サービス提供システム。
【請求項7】
請求項1乃至請求項6のいずれか1項に記載の匿名サービス提供システムにおいて、
前記利用者装置のリング署名生成手段は、
公開されているシステムパラメータg及び素数p、qに関し、前記利用者公開鍵Pkと前記利用者秘密鍵Skとが、式Pk = gSki mod pの関係を満たしている場合、前記サービス情報Mと乱数情報Rを耐衝突一方向性ハッシュ関数Gに代入して第1検証情報w=G(M,R)を生成する手段と、
前記第1検証情報wと自己の利用者秘密鍵Skとから、式S = wSki mod pにより、第1リング要素情報Sを生成する手段と、
前記リング署名用公開鍵情報である複数の利用者公開鍵{Pk、j=1,…,L’}における自己の順番i以外の順番jに対応させて、0以上q未満の整数の集合から、複数の第2リング要素情報{c、j=1,…,L’(但しj=iを除く)}及び複数の第3リング要素情報{d、j=1,…,L’(但しj=iを除く)}を選択する手段と、
前記リング署名用公開鍵情報のうち、自己の利用者公開鍵Pk以外の各利用者公開鍵{Pk、j=1,…,L’(但しj=iを除く)}から、式a = gcjPkdj mod pにより、複数の第2検証情報{a、j=1,…,L’(但しj=iを除く)}を生成する手段と、
前記各利用者公開鍵{PK、j=1,…,L’(但しj=iを除く)}に対応させて前記第1検証情報wと第1リング要素情報Sとから、式b = wcjdj mod p により、複数の第3検証情報{b、j=1,…,L’(但しj=iを除く)}を生成する手段と、
前記自己の利用者公開鍵Pkに対応させて、0以上q未満の整数eから、式a=gmod p により、第2検証情報aを生成する手段と、
前記自己の利用者公開鍵Pkに対応させて、式b=w mod pにより、第3
検証情報bを生成する手段と、
前記サービス情報M、乱数情報R、前記第1検証情報w、前記第1リング要素情報S、前記各利用者公開鍵{Pk、j=1,…,L’}、前記各第2検証情報{a、j=1,…,L’}及び前記各第3検証情報{b、j=1,…,L’}を一方向性ハッシュ関数Hに代入して、式d=H(M,R,w,S,Pk,・・・,PkL’,a,b,・・・,aL’,bL’)により、第4検証情報dを生成する手段と、
前記第4検証情報dと、前記自己の利用者公開鍵PK以外の各利用者公開鍵{Pk、j=1,…,L’(但しj=iを除く)}に対応する複数の第3リング要素情報{d、j=1,…,L’(但しj=iを除く)}とに基づいて、式d = d−(d+ ・・・ + di−1 + di+1 ・・・ + dL’) mod q により、自己の利用者公開鍵Pkに対応する第3リング要素情報dを生成する手段と、
前記自己の利用者公開鍵Pkに対する前記第3リング要素情報dを、式c = e − dSk mod q に代入して、自己の利用者公開鍵Pkに対応する第2リング要素情報cを生成する手段と、
前記サービス情報M、前記乱数情報R、前記第1リング要素情報S、前記各第2リング要素情報{c、j=1,・・・,L’}、前記各第3リング要素情報{d、j=1,・・・,L’}及び前記各利用者公開鍵{Pk、j=1,・・・,L’}に基づいて、リング署名情報σ={M,R,S,c,d,…,cL’,dL’,Pk,…PkL’}を生成する手段と、
を備えたことを特徴とする匿名サービス提供システム。
【請求項8】
請求項7に記載の匿名サービス提供システムにおいて、
前記サービス提供者装置のリング署名検証手段は、
前記リング署名σから前記サービス情報Mを読み出し、該サービス情報Mと乱数情報Rを耐衝突一方向性ハッシュ関数Gに代入して第1検証情報w=G(M,R)を生成する手段と、
前記リング署名σから、前記各第2リング要素情報{c、j=1,…,L’}、前記各第3リング要素情報{d、j=1,…,L’}及び各前記利用者公開鍵{Pk、j=1,…,L’}を読み出し、式a = gcjPkdj mod pにより、複数の第2検証情報{a、j=1,…,L’}を生成する手段と、
前記リング署名σから、前記第1リング要素情報S、前記各第2リング要素情報{c、j=1,…,L’}及び前記各第3リング要素情報{d、j=1,…,L’}を読み出し、複数の第3検証情報{b、j=1,…,L’}を生成する手段と、
前記リング署名σから、前記サービス情報M、前記乱数情報R、前記第1リング要素情報S及び前記各利用者公開鍵{Pk、j=1,…,L’}を読み出し、前記各第2検証情報{a、j=1,…,L’}及び前記各第3検証情報{b、j=1,…,L’}とともに、一方向性ハッシュ関数Hに代入して、式d=H(M,R,w,S,Pk,…,PkL’,a,b,…,aL’,bL’)により、第4検証情報dを生成する手段と、
前記第4検証情報dと、前記リング署名σから読み出した複数の第3リング要素情報{d、j=1〜L’}とに基づいて、検証式d = d + ・・・ + dL’ mod qが成立するか否かにより、該リング署名σの正当性を検証する手段と、
を備えたことを特徴とする匿名サービス提供システム。
【請求項9】
請求項7または請求項8に記載の匿名サービス提供システムにおいて、
前記利用者装置は、
前記リング署名σとともに利用者確認要求をサービス提供者装置に送信する手段と、
前記利用者確認要求に応じて前記サービス提供者装置から第3確認定数cを受信すると、0以上q未満の整数であり、かつqと互いに素な整数の集合から任意に第4確認定数rを選択する手段と、
前記第3確認定数c及び前記第4確認定数rとに基づいて、式t = cg mod pにより、第5確認定数tを生成する手段と、
前記第5確認定数tと利用者秘密鍵Skとに基づいて、式u = tSki mod pにより、第6確認定数uを生成する手段と、
前記第5確認定数t及び前記第6確認定数uを前記サービス提供者装置に送信する手段と、
前記第5確認定数t及び前記第6確認定数uの送信に応じて前記サービス提供者装置から第1確認定数a及び第2確認定数bを受信した場合、該第1確認定数a及び該第2確認定数bと前記第1検証情報wとに基づいて、第3確認定数の検証式c = w mod pが成立するか否かを検証する手段と、
前記第3確認定数の検証式が成立した場合、前記第4確認定数rを前記サービス提供者装置に送信する手段と、
を備え、
前記サービス提供者装置は、
前記リング署名とともに利用者確認要求を前記利用者装置から受信すると、該リング署名σに含まれるサービス情報Mと乱数情報Rを耐衝突一方向性ハッシュ関数Gに代入して第1検証情報w=G(M,R)を生成する手段と、
0以上q未満の整数であり、かつqと互いに素な整数の集合から任意に第1確認定数a及び第2確認定数bを選択する手段と、
前記第1検証情報wと、前記第1確認定数a及び前記第2確認定数bとに基づいて、式c=wmod p により第3確認定数cを生成し、該第3確認定数cを前記利用者確認要求元の利用者装置に送信する手段と、
前記第3確認定数cの送信に応じて前記利用者装置から前記第5確認定数t及び第6確認定数uを受信した場合、前記第1確認定数a及び前記第2確認定数bを該利用者装置に送信する手段と、
前記第1確認定数a及び前記第2確認定数bの送信に応じて前記利用者装置から前記第4確認定数rを受信した場合、該第4確認定数r及び前記第3確認定数cに基づいて、第6確認定数tの検証式t = cg mod pが成立するか否かを検証する手段と、
前記第1確認定数a及び前記第2確認定数bの送信に応じて前記利用者装置から前記第4確認定数rを受信した場合、前記リング署名σから第1リング要素情報Sと利用者公開鍵Pkとを読み出し、前記第1確認定数aと前記第2確認定数bと該第4確認定数rとに基づいて、第5確認定数の検証式u = SPkb+r mod pが成立するか否かを検証する手段と、
前記第5確認定数uの検証式と第6確認定数tの検証式とが成立した場合、前記リング署名σが前記利用者確認要求の要求元の利用者装置により生成されたものであると判定する手段と、
を備えたことを特徴とする匿名サービス提供システム。
【請求項10】
請求項7乃至請求項9のいずれか1項に記載の匿名サービス提供システムにおいて、
前記各利用者装置は、
前記サービス提供者装置から第1否認処理定数C及び第2否認処理定数Cを受信した場合、利用者秘密鍵Skと第1検証情報wと第1リング要素情報Sとに基づいて、関係式CSki/C = (wSki/S)a’’ mod pを満たす検索数a’’を検索する手段と、
0以上q未満の整数であり、かつqと互いに素な整数の集合から任意に第3選択数r’を選択する手段と、
前記第3選択数r’と前記検索数a’’とを耐衝突一方向性ハッシュ関数Fに代入してハッシュ値t’を生成し、前記サービス提供者装置に送信する手段と、
前記ハッシュ値t’の送信に応じて前記サービス提供者装置から第2選択数b’を受信した場合、該第2選択数b’と前記検索数a’’とに基づいて、第1否認処理定数の検証式C = wa’’b’ mod pが成立するか否かを検証する手段と、
前記ハッシュ値t’の送信に応じて前記サービス提供者装置から第2選択数b’を受信した場合、該第2選択数b’と前記検索数a’’と前記第1リング要素情報Sと利用者公開鍵Pkとに基づいて、第2否認処理定数の検証式C = Sa’’Pkb’ mod pが成立するか否かを検証する手段と、
前記第1否認処理定数Cの検証式と第2否認処理定数Cの検証式とが成立した場合、前記第3選択数r’を前記サービス提供者装置に送信する手段と、
を備え、
前記サービス提供者装置は、
前記リング署名用公開鍵情報の複数の利用者公開鍵{Pk、j=1,…,L’}に対応する利用者装置への利用者特定処理の実行命令の入力を受け付ける手段と、
前記利用特定処理の実行命令に応じて、前記リング署名用公開鍵情報の利用者公開鍵{Pk、j=1,…,L’}に対応する利用者装置のうち、一の利用者装置を選択する選択手段と、
前記利用者特定処理の実行命令に応じて、前記リング署名σに含まれるサービス情報Mと乱数情報Rを耐衝突一方向性ハッシュ関数Gに代入して第1検証情報w=G(M,R)を生成する手段と、
前記利用者特定処理の実行命令に応じて、最大数を全数検索により検索可能な0以上の整数の集合から第1選択数a’を選択するとともに、0以上q未満の整数であり、かつqと互いに素な整数の集合から第2選択数b’を選択する手段と、
前記第1検証情報wと、前記第1選択数a’及び前記第2選択数b’とに基づいて、式C = wa’b’ mod pにより、第1否認処理定数Cを生成する手段と、
前記リング署名σに含まれる第1リング要素情報Sと、前記選択手段により選択された利用者装置の利用者公開鍵Pkと、前記第1選択数a’及び前記第2選択数b’とに基づいて、式C2 = Sa’Pkb’ mod pにより、第2否認処理定数Cを生成する手段と、
前記第1否認処理定数C及び第2否認処理定数Cを前記選択手段により選択された利用者装置に送信する手段と、
前記第1否認処理定数C及び第2否認処理定数Cの送信に応じて前記利用者装置から前記ハッシュ値t’を受信した場合、前記第2選択数b’を該利用者装置に送信する手段と、
前記第2選択数b’の送信に応じて前記利用者装置から前記第3選択数r’を受信した場合、該第3選択数r’と前記第1選択数a’とを耐衝突一方向性ハッシュ関数Fに代入して、前記ハッシュ値t’の検証式t’=F(r’,a’)が成立するか否かを検証するハッシュ値検証手段と、
前記ハッシュ値t’の検証式が成立する場合、前記リング署名σが前記利用者装置により生成されたものではないと判定する手段と
前記リング署名が前記利用者装置により生成されたものではないと判定された場合、前記リング署名用公開鍵情報の各利用者公開鍵{Pk、j=1,…,L’}に対応する利用者装置の中から、次の利用者装置を選択して利用者特定処理を実行する手段と、
を備えたことを特徴とする匿名サービス提供システム。
【請求項11】
請求項10に記載の匿名サービス提供システムにおいて、
前記サービス提供者装置は、
前記ハッシュ値検証手段により、前記ハッシュ値t’の検証式が成立しない場合、前記選択手段により選択された利用者装置に対して、リング署名σとともに利用者確認要求の送信要求を実行する手段と、
前記利用者確認要求の送信要求に応じて、前記リング署名σが前記利用者確認要求の要求元の利用者装置により生成されたものであるか否かを判定する手段と、
を備えたことを特徴とする匿名サービス提供システム。
【請求項12】
サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストからリング署名σを生成し、サービスに対する決済情報を決済機関公開鍵で暗号化して暗号化決済情報を生成する利用者装置と、
前記利用者装置の公開鍵証明書をサービスIDに関連付けて発行する証明書発行装置と、
前記暗号化決済情報を決済機関秘密鍵で復号して決済情報の正当性を確認する決済機関装置と、
のいずれの装置とも接続するサービス提供者装置であって、
リング署名の生成に用いる複数の公開鍵証明書をサービスIDに関連付けて記憶する公開鍵情報記憶手段と、
前記証明書発行装置の証明書情報記憶手段から前記各利用者公開鍵の公開鍵証明書とサービスIDとを取得し、前記公開鍵情報記憶手段に書き込む手段と、
前記利用者装置からサービスIDを含むサービス要求を受信した場合、該サービスIDに対応する公開鍵証明書リストを前記公開鍵情報記憶手段から読み出す証明書情報読出手段と、
前記証明書情報読出手段によって読み出した公開鍵証明書リストを前記サービス要求元の利用者装置に送信する手段と、
前記公開鍵証明書リストの送信に応じて前記利用者装置からリング署名σと暗号化決済情報とを受信した場合、該リング署名σの正当性を検証するリング署名検証手段と、
前記リング署名検証手段により正当であると確認した場合、前記暗号化決済情報を含む決済要求を前記決済機関装置に送信する決済要求送信手段と、
前記決済要求に応じて前記決済機関装置から確認結果を受信し、該確認結果に応じて、前記サービス要求元の利用者装置にサービスを提供するサービス提供手段と、
を備えたことを特徴とするサービス提供者装置。
【請求項13】
サービスIDを含むサービス要求を受信した場合、該サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストをサービス要求元に送信し、前記公開鍵証明書リストの送信に応じてリング署名σと暗号化決済情報とを受信した場合、該リング署名σの正当性を検証し、該リング署名σの正当性の確認後、前記暗号化決済情報の正当性の確認結果に応じて、前記サービス要求元にサービスを提供するサービス提供者装置と、
利用者公開鍵を含む証明書発行要求に応じて、公開鍵証明書をサービスIDに関連付けて発行する証明書発行装置と、
暗号化決済情報を決済機関秘密鍵で復号して決済情報の正当性を確認する決済機関装置と、
のいずれの装置とも接続する利用者装置であって、
前記利用者装置は、
サービスIDに関連付けて、利用者公開鍵Pkと利用者秘密鍵Skとの鍵ペアを生成する手段と、
前記サービスIDと前記利用者公開鍵Pkとを含む証明書発行要求を前記証明書発行装置に送信する手段と、
前記サービスIDを含むサービス要求を前記サービス提供者装置に送信する手段と、
前記サービス要求に応じて前記サービス提供者装置から公開鍵証明書リストを受信した場合、該公開鍵証明書リストから自己の公開鍵証明書Cert(Pk)を含む公開鍵証明書の組{Cert(Pk),…,Cert(PkL’)}をリング署名σの生成に用いるリング署名用公開鍵情報として選択する公開鍵情報選択手段と、
前記公開鍵情報選択手段によって選択したリング署名用公開鍵情報と自己の利用者秘密鍵Skとサービスを受けるためのサービス情報Mとに基づいてリング署名σを生成するリング署名生成手段と、
前記サービスに対する決済情報を決済機関公開鍵で暗号化して暗号化決済情報を生成する暗号化決済情報生成手段と、
前記リング署名σと前記暗号化決済情報とを前記サービス提供者装置に送信するリング署名送信手段と、
を備えたことを特徴とする利用者装置。
【請求項14】
サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストからリング署名σを生成し、サービスに対する決済情報を決済機関公開鍵で暗号化して暗号化決済情報を生成する利用者装置と、
前記利用者装置の公開鍵証明書をサービスIDに関連付けて発行する証明書発行装置と、
前記暗号化決済情報を決済機関秘密鍵で復号して決済情報の正当性を確認する決済機関装置と、
のいずれの装置とも接続するサービス提供者装置のコンピュータに用いられるプログラムであって、
前記サービス提供者装置のコンピュータを、
リング署名の生成に用いる複数の公開鍵証明書をサービスIDに関連付けて記憶する公開鍵情報記憶手段、
前記証明書発行装置の証明書情報記憶手段から前記各利用者公開鍵の公開鍵証明書とサービスIDとを取得し、前記公開鍵情報記憶手段に書き込む手段、
前記利用者装置からサービスIDを含むサービス要求を受信した場合、該サービスIDに対応する複数の公開鍵証明書を前記公開鍵情報記憶手段から読み出す証明書情報読出手段、
前記証明書情報読出手段によって読み出した公開鍵証明書リストを前記サービス要求元の利用者装置に送信する手段、
前記公開鍵証明書リストの送信に応じて前記利用者装置からリング署名σと暗号化決済情報とを受信した場合、該リング署名σの正当性を検証するリング署名検証手段、
前記リング署名検証手段により正当であると確認した場合、前記暗号化決済情報を含む決済要求を前記決済機関装置に送信する決済要求送信手段、
前記決済要求に応じて前記決済機関装置から確認結果を受信し、該確認結果に応じて、前記サービス要求元の利用者装置にサービスを提供するサービス提供手段、
として機能させるためのプログラム。
【請求項15】
サービスIDを含むサービス要求を受信した場合、該サービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストを前記サービス要求元に送信し、前記公開鍵証明書リストの送信に応じてリング署名σと暗号化決済情報とを受信した場合、該リング署名σの正当性を検証し、該リング署名σの正当性の確認後、前記暗号化決済情報の正当性の確認結果に応じて、前記サービス要求元にサービスを提供するサービス提供者装置と、
利用者公開鍵を含む証明書発行要求に応じて、公開鍵証明書をサービスIDに関連付けて発行する証明書発行装置と、
暗号化決済情報を決済機関秘密鍵で復号して決済情報の正当性を確認する決済機関装置と、
のいずれの装置とも接続する利用者装置のコンピュータに用いられるプログラムであって、
前記利用者装置のコンピュータを、
サービスIDに関連付けて、利用者公開鍵Pkと利用者秘密鍵Skとの鍵ペアを生成する手段、
前記サービスIDと前記利用者公開鍵Pkとを含む証明書発行要求を前記証明書発行装置に送信する手段、
前記サービスIDを含むサービス要求を前記サービス提供者装置に送信する手段、
前記サービス要求に応じて前記サービス提供者装置から公開鍵証明書リストを受信した場合、該公開鍵証明書リストから自己の公開鍵証明書Cert(Pk)を含む公開鍵証明書の組{Cert(Pk),…,Cert(PkL’)}をリング署名の生成に用いるリング署名用公開鍵情報として選択する公開鍵情報選択手段、
前記公開鍵情報選択手段によって選択したリング署名用公開鍵情報と自己の利用者秘密鍵Skとサービスを受けるためのサービス情報Mとに基づいてリング署名σを生成するリング署名生成手段、
前記サービスに対する決済情報を決済機関公開鍵で暗号化して暗号化決済情報を生成する暗号化決済情報生成手段、
前記リング署名σと前記暗号化決済情報とを前記サービス提供者装置に送信するリング署名送信手段、
として機能させるためのプログラム。
【請求項16】
複数の利用者装置と証明書発行装置とサービス提供者装置と決済機関装置とにより、匿名の利用者にサービスを提供する匿名サービス提供方法であって、
前記各利用者装置が、サービスIDに関連付けて、利用者公開鍵Pkと利用者秘密鍵Skとの鍵ペアを生成するステップと、
前記各利用者装置が、前記サービスIDと前記利用者公開鍵Pkとを含む証明書発行要求を前記証明書発行装置に送信するステップと、
前記証明書発行装置が、前記利用者装置から前記証明書発行要求を受信した場合、該証明書発行要求に含まれる利用者公開鍵Pkの公開鍵証明書Cert(Pk)をサービスIDに関連付けて発行し、証明書情報記憶手段に書き込むステップと、
前記証明書発行装置が、前記公開鍵証明書Cert(Pk)を証明書発行要求元の利用者装置に送信するステップと、
サービス提供者装置が、証明書発行装置の証明書情報記憶手段から各利用者公開鍵の公開鍵証明書とサービスIDとを取得するステップと、
一の利用者装置が、前記サービスIDを含むサービス要求を前記サービス提供者装置に送信するステップと、
前記サービス提供者装置が、前記利用者装置からサービス要求を受信した場合、該サービス要求に含まれるサービスIDに対応する複数の公開鍵証明書をリスト化した公開鍵証明書リストをサービス要求元の利用者装置に送信するステップと、
前記各利用者装置が、前記サービス要求に応じて前記サービス提供者装置から公開鍵証明書リストを受信した場合、該公開鍵証明書リストから自己の公開鍵証明書Cert(Pk)を含む公開鍵証明書の組{Cert(Pk),…,Cert(PkL’)}をリング署名σの生成に用いるリング署名用公開鍵情報として選択する公開鍵情報選択ステップと、
前記各利用者装置が、前記公開鍵情報選択ステップにより選択されたリング署名用公開鍵情報と自己の利用者秘密鍵Skとサービスを受けるためのサービス情報Mとに基づいてリング署名σを生成するリング署名生成ステップと、
前記各利用者装置が、前記サービスに対する決済情報を決済機関公開鍵で暗号化して暗号化決済情報を生成する暗号化決済情報生成ステップと、
前記各利用者装置が、前記リング署名σと前記暗号化決済情報とを前記サービス提供者装置に送信するリング署名送信ステップと、
前記サービス提供者装置が、前記公開鍵証明書リストの送信に応じて前記利用者装置からリング署名σと暗号化決済情報とを受信した場合、該リング署名σの正当性を検証するリング署名検証ステップと、
前記サービス提供者装置が、前記リング署名検証ステップにより前記リング署名σが正当であると確認した場合、前記暗号化決済情報を含む決済要求を前記決済機関装置に送信する決済要求送信ステップと、
前記決済機関装置が、前記サービス提供者装置から前記暗号化決済情報を含む決済要求を受信した場合、該暗号化決済情報を決済機関秘密鍵で復号して前記決済情報の正当性を確認する決済情報確認ステップと、
前記決済機関装置が、前記決済要求に対し、前記決済情報確認ステップによる確認結果を前記サービス提供者装置に送信するステップと、
前記サービス提供者装置が、前記決済要求に応じて前記決済機関装置から確認結果を受信し、該確認結果に応じて、前記サービス要求元の利用者装置にサービスを提供するサービス提供ステップと
を備えたことを特徴とする匿名サービス提供方法。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2009−159317(P2009−159317A)
【公開日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願番号】特願2007−335266(P2007−335266)
【出願日】平成19年12月26日(2007.12.26)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】