説明

タグシステム、タグシステムの方法、ユーザ装置、管理者装置、検証者装置及びこれらのプログラム

【課題】従来よりも匿名性の高い追跡可能な匿名タグ技術を提供する。
【解決手段】検証者装置3は、第一トークンtkn及び第二トークンtknに対応するタグを特定することはできるが、第一トークンtkn及び第二トークンtknに対応するユーザ公開鍵を特定することはできない。この点において、従来よりも匿名性が高くなる。例えば、第一トークンtkn及び第二トークンtknを受け取った検証者は、第一トークンtkn及び第二トークンtknに対応するタグを持つユーザのサービスの利用を停止することはできるが、そのユーザが誰であるかを特定することはできない。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、電気通信システムに関し、特に匿名性を持つタグに関する。
【背景技術】
【0002】
非特許文献1に記載されたいわゆるtraceable signatureでは、ユーザによるサービスの利用を停止するために、ユーザがサービスの利用権限があるかどうかを検証する検証者に対して、管理者はユーザの秘密鍵から計算したユーザ固有の秘密情報を提供している(例えば、非特許文献1参照。)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】B.Libert and M.Yung. “Efficient traceable signatures in the standard model.”, In Paring 2009, volume 5672 of LNCS, pages 187-205. Springer-Verlag, 2009.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、traceable signatureでは、ユーザの秘密情報に対応するユーザの公開鍵を特定することにより、そのユーザを特定することができる。すなわち、例えば、検証者は受け取ったユーザの秘密情報に基づいてサービスの利用が停止されたユーザを特定することができてしまう。この点において、traceable signatureは、匿名性が高くない。
【0005】
この発明の目的は、より匿名性の高いタグシステム、方法、ユーザ装置、管理者装置、検証者装置及びこれらのプログラムを提供することである。
【課題を解決するための手段】
【0006】
この発明の1つの態様であるタグシステムは、pを素数、x,y∈Zをマスタ秘密鍵、G,Gを位数pの群、g∈Gとg=g1/xとg=g1/yをマスタ公開鍵、a,b∈Zをユーザ秘密鍵、g,gをユーザ公開鍵、e:G×G→Gをペアリング関数として、管理者装置と、ユーザ装置と、検証者装置とを備える。ユーザ装置は、g∈G、マスタ公開鍵のg、ユーザ秘密鍵a,b及びu,v∈Zを用いて、タグであるg,g及び(ga+bu/vを計算するタグ生成部と、マスタ公開鍵のg及びユーザ秘密鍵a,bを用いて、第一トークンtkn=ga+bを計算する第一トークン計算部とを含む。管理者装置は、マスタ秘密鍵x,y及びユーザ公開鍵g,gを用いて、第二トークンtkn=(g(gを計算する第二トークン計算部を含む。検証者装置は、第一トークンtkn又は第二トークンtknとタグg,g,(ga+bu/vとを用いて、e(tkn,g)=e((ga+bu/v,g)又はe(tkn,g)=e((ga+bu/v,g)であるか計算するリンク計算部を含む。
【発明の効果】
【0007】
検証者装置は、第一トークンtkn及び第二トークンtknに対応するタグを特定することはできるが、第一トークンtkn及び第二トークンtknに対応するユーザ公開鍵を特定することはできない。この点において、従来よりも匿名性が高くなる。
【0008】
例えば、第一トークンtkn及び第二トークンtknを受け取った検証者装置は、第一トークンtkn及び第二トークンtknに対応するタグを持つユーザのサービスの利用を停止することはできるが、そのユーザが誰であるかを特定することはできない。
【図面の簡単な説明】
【0009】
【図1】タグシステムの例を説明するためのブロック図。
【図2】管理者装置の例を説明するためのブロック図。
【図3】ユーザ装置の例を説明するためのブロック図。
【図4】検証者装置の例を説明するためのブロック図。
【図5】タグシステムの方法の例を説明するための流れ図。
【発明を実施するための形態】
【0010】
以下、図面を参照してこの発明の一実施形態を説明する。
【0011】
タグシステムは、図1に示すように、管理者装置1、ユーザ装置2、検証者装置3を例えば備える。
【0012】
管理者装置1は、図2に示すように、記憶部10、マスタ秘密鍵生成部11、マスタ公開鍵生成部12、ユーザ秘密鍵生成部13、ユーザ公開鍵生成部14及び第二トークン生成部15を例えば備える。
【0013】
管理者装置1のマスタ秘密鍵生成部11は、マスタ秘密鍵mtskであるx,y∈Zを選択する(ステップS11、図5)。x,yは例えばランダムに選択される。このように、マスタ秘密鍵mtskは、xとyの組(x,y)である。生成されたマスタ秘密鍵mtsk=(x,y)は、マスタ公開鍵生成部12及び第二トークン生成部15に送信される。マスタ秘密鍵mtsk=(x,y)は、秘密に保たれ、ユーザ装置2及び検証者装置3には公開されない。
【0014】
ここで、pを所定の定数として、Zは、0以上p未満の整数の集合である。Zは、Zかつpと互いに素な整数の集合である。
【0015】
マスタ公開鍵生成部12は、マスタ秘密鍵mtsk=(x,y)を用いて、マスタ公開鍵mtpkであるg=g,g=g,g∈Gを生成する(ステップS12)。このように、マスタ公開鍵mtpkは、gとgとgの組(g,g,g)である。マスタ公開鍵生成部12は、まずgを群Gの中から選択する。そして、選択されたgを用いて、gを計算してその計算結果をgとし、gを計算してその計算結果をgとする。生成されたマスタ公開鍵mtpk=(g,g,g)は、ユーザ装置2及び検証者装置3に公開される。
【0016】
ここで、G,Gは位数pの群であり、これらの群G,Gには、いわゆるペアリング関数e:G×G→Gが定義可能であるとする。
【0017】
ユーザ秘密鍵生成部13は、ユーザ秘密鍵utskであるa,b∈Zを選択する(ステップS13)。a,bは例えばランダムに選択される。このように、ユーザ秘密鍵utskは、aとbの組(a,b)である。生成されたユーザ秘密鍵utsk=(a,b)は、ユーザ公開鍵生成部14及びユーザ装置2に送信される。
【0018】
ユーザ公開鍵生成部14は、ユーザ秘密鍵utsk=(a,b)と、マスタ公開鍵mtpk=(g,g,g)の中のg及びgとを用いて、ユーザ公開鍵utpk=(g,g)を計算する(ステップS14)。計算されたユーザ公開鍵は、第二トークン生成部15及びユーザ装置2に送信される。
【0019】
ユーザ装置2が複数ある場合には、複数のユーザ装置毎にユーザ秘密鍵utsk=(a,b)及びユーザ公開鍵utpk=(g,g)が生成される。
【0020】
ユーザ装置2は、図3に示すように、記憶部20、乱数生成部21、タグ生成部22及び第一トークン生成部23を例えば備える。
【0021】
乱数生成部21は、u,v∈Zを選択する。u,vは例えばランダムに選択される(ステップS21)。選択されたu,vは、タグ生成部22に送信される。
【0022】
タグ生成部22は、g∈G、マスタ公開鍵mtpk=(g,g,g)のg、ユーザ秘密鍵utsk=(a,b)及びu,vを用いて、タグであるg,g及び(ga+bu/vを計算する(ステップS22)。このようにタグは、gとgと(ga+bu/vの組(g,g,(ga+bu/v)である。計算されたタグ(g,g,(ga+bu/v)は、検証者装置3に送信される。
【0023】
タグ(g,g,(ga+bu/v)は、ユーザ装置2に対応する情報である。例えば、あるサービスを利用するためのチケットや、電子署名として用いられる。同一のユーザから複数のタグが生成されてもよい。
【0024】
タグ(g,g,(ga+bu/v)がユーザ公開鍵utpk=(g,g)とリンクするかどうかを、ユーザ秘密鍵utsk=(a,b)を有していない者が判定することは難しい。すなわち、タグ(g,g,(ga+bu/v)が、ユーザ公開鍵utpk=(g,g)に対応するユーザ秘密鍵utsk=(a,b)を有する者によって、生成されたかどうかを、ユーザ秘密鍵utsk=(a,b)を有していない者が判定することは難しい。それは、いわゆるDLIN(Decision Liner)問題の困難性に基づく。
【0025】
検証者装置3は、図4に示すように、記憶部30、リンク計算部31を例えば含む。
【0026】
検証者装置3は、タグ(g,g,(ga+bu/v)を有するユーザに対して、例えばサービスの利用の許可をしてもよいかの判断を行う。その際、検証者装置3は、タグ(g,g,(ga+bu/v)がユーザ秘密鍵utsk=(a,b)を有する者によって生成されたかどうかを確認するために、第一トークンtknをユーザ装置2に要求してもよい。この場合、検証者装置3は、第一トークンtknに基づいて、タグ(g,g,(ga+bu/v)がユーザ秘密鍵utsk=(a,b)を有する者によって生成されたと判定できた場合には、サービスの利用を許可する。
【0027】
ユーザ装置2の第一トークン生成部23は、マスタ公開鍵mtpk=(g,g,g)の中のg及びユーザ秘密鍵utsk=(a,b)を用いて、第一トークンtkn=ga+bを計算する。計算された第一トークンtkn=ga+bは、検証者装置3に送信される。
【0028】
検証者装置3のリンク計算部31は、第一トークンtkn=ga+b及びタグ(g,g,(ga+bu/v)を用いて、e(tkn,g)=e((ga+bu/v,g)であるか計算する(ステップS31)。e(tkn,g)=e((ga+bu/v,g)であれば、タグ(g,g,(ga+bu/v)は第一トークンtkn=ga+bとリンクしている、すなわち、タグ(g,g,(ga+bu/v)及び第一トークンtkn=ga+bがユーザ秘密鍵utsk=(a,b)を有する者によって生成されたと判定することができる。
【0029】
第一トークンtkn=ga+bがユーザ公開鍵utpk=(g,g)とリンクするかどうかを、ユーザ秘密鍵utsk=(a,b)を有していない者が判定することは難しい。すなわち、第一トークンtkn=ga+bが、ユーザ公開鍵utpk=(g,g)に対応するユーザ秘密鍵utsk=(a,b)を有する者によって、生成されたかどうかを、ユーザ秘密鍵utsk=(a,b)を有していない者が判定することは難しい。それは、いわゆるDLIN(Decision Liner)問題の困難性に基づく。
【0030】
したがって、第一トークンtkn=ga+bを受け取った検証者装置3は、タグ(g,g,(ga+bu/v)及び第一トークンtknが何れかのユーザ秘密鍵(a,b)に基づいて生成されたということを知ることができるが、そのユーザ秘密鍵(a,b)がどのユーザのものなのかを知ることはできない。
【0031】
なお、管理者装置1が、あるタグ(g,g,(ga+bu/v)を無効にしたい場合がある。この場合は、管理者装置1の第二トークン生成部15は、マスタ秘密鍵mtsk=(x,y)、及び、ユーザ公開鍵utpk=(g,g)を用いて、第二トークンtkn=(g(gを計算する(ステップS16)。計算された第二トークンtknは、検証者装置3に送信される。g=g1/x及びg=g1/yであることを考慮すると、第二トークンtkn=(g(g=g=ga+bであるため、第二トークンtknの値はga+bとなる。
【0032】
検証者装置3のリンク計算部31は、第二トークンtkn及びタグ(g,g,(ga+bu/v)を用いて、e(tkn,g)=e((ga+bu/v,g)であるか計算する(ステップS32)。e(tkn,g)=e((ga+bu/v,g)であれば、タグ(g,g,(ga+bu/v)は第二トークンtknとリンクしており、第二トークンtknがマスタ秘密鍵mtsk=(x,y)を有する者によって生成されたと判定することができる。この場合、検証者装置3は、e(tkn,g)=e((ga+bu/v,g)の関係を満たすタグ(g,g,(ga+bu/v)を有する者にサービスの利用を認めない。
【0033】
このように、マスタ秘密鍵mtsk=(x,y)を有する管理者装置1は、任意のユーザに対応するタグを無効にすることができる。
【0034】
第二トークンtkn=(g(g=ga+bがユーザ公開鍵utpk=(g,g)とリンクするかどうかを、ユーザ秘密鍵utsk=(a,b)を有していない者が判定することは難しい。すなわち、第二トークンtkn=(g(g=ga+bがどのユーザ公開鍵utpk=(g,g)に対応するものであるのかを、ユーザ秘密鍵utsk=(a,b)を有していない者が判定することは難しい。それは、いわゆるDLIN(Decision Liner)問題の困難性に基づく。
【0035】
したがって、第二トークンtkn=(g(g=ga+bを受け取った検証者装置3は、第二トークンtkn=(g(g=ga+bに対応するタグ(g,g,(ga+bu/v)を特定することができるが、第二トークンtkn=(g(g=ga+bに対応するユーザ、すなわち無効にされたユーザを特定することはできない。
【0036】
なお、上記の実施形態では、ユーザ装置2は、第一トークンtkn=ga+bを検証者装置3に送信したが、第一トークンtkn=ga+bについてゼロ知識証明をすることにより、ユーザ装置2が第一トークンtkn=ga+bを検証者装置3に送信せずに、検証者装置3のリンク計算部31がe(tkn,g)=e((ga+bu/v,g)であるか判定をしてもよい。同一のユーザに複数のタグがある場合に、第一トークンtkn=ga+bを検証者装置3に渡してしまうと、検証者装置3は、第一トークンtkn=ga+bに対応するタグを判定することにより、同一のユーザの複数のタグを知ることができてしまう。しかし、このように、第一トークンtkn=ga+bについてゼロ知識証明をすることにより、検証者装置3により、同一のユーザの複数のタグが知られることがなくなる。
【0037】
なお、上記の実施形態では、管理者装置1、ユーザ装置2及び検証者装置3の各部間でデータは直接送受信されていたが、データは記憶部10,20,30を介してやり取りされてもよい。
【0038】
管理者装置1をコンピュータによって実現する場合、管理者装置1の各部の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、管理者装置1の各部の処理機能がコンピュータ上で実現される。同様に、ユーザ装置2をコンピュータによって実現する場合、ユーザ装置2の各部の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、ユーザ装置2の各部の処理機能がコンピュータ上で実現される。同様に、検証者装置3をコンピュータによって実現する場合、検証者装置3の各部の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、検証者装置3の各部の処理機能がコンピュータ上で実現される。
【0039】
これらのプログラムのそれぞれは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0040】
この発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0041】
また、上記の実施形態及び変形例を互いに組み合わせてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【符号の説明】
【0042】
1 管理者装置
11 マスタ秘密鍵生成部
12 マスタ公開鍵生成部
13 ユーザ秘密鍵生成部
14 ユーザ公開鍵生成部
15 第二トークン生成部
2 ユーザ装置
21 乱数生成部
22 タグ生成部
23 第一トークン生成部
3 検証者装置
31 リンク計算部

【特許請求の範囲】
【請求項1】
pを素数、x,y∈Zをマスタ秘密鍵、G,Gを位数pの群、g∈Gとg=g1/xとg=g1/yをマスタ公開鍵、a,b∈Zをユーザ秘密鍵、g,gをユーザ公開鍵、e:G×G→Gをペアリング関数として、
g∈G、上記マスタ公開鍵のg、上記ユーザ秘密鍵a,b及びu,v∈Zを用いて、タグであるg,g及び(ga+bu/vを計算するタグ生成部と、上記マスタ公開鍵のg及び上記ユーザ秘密鍵a,bを用いて、第一トークンtkn=ga+bを計算する第一トークン計算部とを含むユーザ装置と、
上記マスタ秘密鍵x,y及びユーザ公開鍵g,gを用いて、第二トークンtkn=(g(gを計算する第二トークン計算部を含む管理者装置と、
上記第一トークンtkn又は第二トークンtknと上記タグg,g,(ga+bu/vとを用いて、e(tkn,g)=e((ga+bu/v,g)又はe(tkn,g)=e((ga+bu/v,g)であるか計算するリンク計算部を含む検証者装置と、を含む、
タグシステム。
【請求項2】
請求項1に記載のタグシステムにおいて、
上記管理者装置は、上記マスタ秘密鍵mtskを生成するマスタ秘密鍵生成部と、上記マスタ秘密鍵mtskを用いて上記マスタ公開鍵ptpkを生成するマスタ公開鍵生成部とを更に含む、
タグシステム。
【請求項3】
請求項1又は2に記載のタグシステムにおいて、
上記管理者装置は、上記ユーザ秘密鍵a,bを生成するユーザ秘密鍵生成部と、上記ユーザ秘密鍵a,bを用いて上記ユーザ公開鍵g,gを生成するユーザ公開鍵生成部とを更に含む、
タグシステム。
【請求項4】
pを素数、x,y∈Zをマスタ秘密鍵、G,Gを位数pの群、g∈Gとg=g1/xとg=g1/yをマスタ公開鍵、a,b∈Zをユーザ秘密鍵、g,gをユーザ公開鍵、e:G×G→Gをペアリング関数として、
ユーザ装置が、g∈G、上記マスタ公開鍵のg、上記ユーザ秘密鍵a,b及びu,v∈Zを用いて、タグであるg,g及び(ga+bu/vを計算するタグ生成ステップと、
ユーザ装置が、上記マスタ公開鍵のg及び上記ユーザ秘密鍵a,bを用いて、第一トークンtkn=ga+bを計算する第一トークン計算ステップと、
管理者装置が、上記マスタ秘密鍵x,y及びユーザ公開鍵g,gを用いて、第二トークンtkn=(g(gを計算する第二トークン計算ステップと、
検証者装置が、上記第一トークンtkn又は第二トークンtknと上記タグg,g,(ga+bu/vとを用いて、e(tkn,g)=e((ga+bu/v,g)又はe(tkn,g)=e((ga+bu/v,g)であるか計算するリンク計算ステップと、を含む、
タグシステムの方法。
【請求項5】
pを素数、x,y∈Zをマスタ秘密鍵、Gを位数pの群、g∈Gとg=g1/xとg=g1/yをマスタ公開鍵、a,b∈Zをユーザ秘密鍵として、
g∈G、上記マスタ公開鍵のg、上記ユーザ秘密鍵a,b及びu,v∈Zを用いて、タグであるg,g及び(ga+bu/vを計算するタグ生成部と、
上記マスタ公開鍵のg及び上記ユーザ秘密鍵a,bを用いて、第一トークンtkn=ga+bを計算する第一トークン計算部と、
を含むユーザ装置。
【請求項6】
pを素数、x,y∈Zをマスタ秘密鍵、Gを位数pの群、a,b∈Zをユーザ秘密鍵、g,gをユーザ公開鍵として、
上記マスタ秘密鍵x,y及びユーザ公開鍵g,gを用いて、第二トークンtkn=(g(gを計算する第二トークン計算部を含む、
管理者装置。
【請求項7】
pを素数、x,y∈Zをマスタ秘密鍵、G,Gを位数pの群、g∈Gとg=g1/xとg=g1/yをマスタ公開鍵、a,b∈Zをユーザ秘密鍵、g,gをユーザ公開鍵、e:G×G→G、g∈G、u,v∈Zとして、
第一トークンtkn=ga+b又は第二トークンtkn=(g(gと、タグg,g,(ga+bu/vとを用いて、e(tkn,g)=e((ga+bu/v,g)又はe(tkn,g)=e((ga+bu/v,g)であるか計算するリンク計算部を含む、
検証者装置。
【請求項8】
請求項5から7の何れかの装置の各部としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−138736(P2012−138736A)
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願番号】特願2010−289308(P2010−289308)
【出願日】平成22年12月27日(2010.12.27)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】