JP5287727B2 - 情報通信システム、オーガニゼーション装置およびユーザ装置 - Google Patents

情報通信システム、オーガニゼーション装置およびユーザ装置 Download PDF

Info

Publication number
JP5287727B2
JP5287727B2 JP2009542516A JP2009542516A JP5287727B2 JP 5287727 B2 JP5287727 B2 JP 5287727B2 JP 2009542516 A JP2009542516 A JP 2009542516A JP 2009542516 A JP2009542516 A JP 2009542516A JP 5287727 B2 JP5287727 B2 JP 5287727B2
Authority
JP
Japan
Prior art keywords
tag
commitment
user device
verifier
organization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009542516A
Other languages
English (en)
Other versions
JPWO2009066557A1 (ja
Inventor
勇 寺西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009542516A priority Critical patent/JP5287727B2/ja
Publication of JPWO2009066557A1 publication Critical patent/JPWO2009066557A1/ja
Application granted granted Critical
Publication of JP5287727B2 publication Critical patent/JP5287727B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

本発明は、効率的なアノニマス・クレデンシャル技術に関するものである。
[アノニマス・クレデンシャル]
アノニマス・クレデンシャル方式は仮名で認証を受ける技術である。
様々なバージョンがあるが、ここでは非特許文献1のものを図1に従って紹介する。
非特許文献1のアノニマス・クレデンシャル方式にはオーガニゼーション、ユーザ、検証者、データベース公開者の4種類のエンティティがいる。オーガニゼーションはユーザのグループを運営している。
ユーザ、オーガニゼーション、検証者、およびデータベース管理者は計算機(例えばパーソナル・コンピュータ)を持っているものとする。
オーガニゼーション、ユーザ、検証者、およびデータベース管理者が所有している計算機をそれぞれオーガニゼーション装置1、ユーザ装置2、検証者装置3、データベース管理者装置4という。
オーガニゼーション装置1は演算部17、記憶部18、および通信部19を持つ。同様にユーザ装置2は演算部27、記憶部28、および通信部29を持つ。同様に検証者装置3は演算部37、記憶部38、および通信部39を持つ。
またデータベース管理者装置は通信部49とデータベース410を持つ。これらの装置の演算部、記憶部、通信部はそれぞれ例えばCPU、ハードディスク、およびインターネット用のポートが使えるが、どのようなものを用いてもよい。装置同士はなんらかの通信回線を経由して通信できる。通信回線としては例えばインターネットがあるが、どのようなものを用いてもよい。
また、各オーガニゼーション装置1は自身の公開鍵を公開する何らかの方法があるとする。例えばPKIの仕組みを用いる事で、オーガニゼーション装置1は公開鍵を公開できる。
アノニマス・クレデンシャルでは仮名(pseudonym)、タグ(Validation Tag)、所属証明書(Credential)というデータを扱う。仮名はユーザがグループに加入する際ユーザに割り振られるものである。
所属証明書は、仮名を持ったユーザが確かにそのグループに属している事を証明する証明書である。
アノニマス・クレデンシャル System は以下のプロシージャを持つ。
1.オーガニゼーション鍵生成11
2.ユーザ秘密鍵生成21
3.仮名生成(12と22)
4.所属証明書生成(13と23)
5.所属証明書所有証明24と所属証明書所有検証34
6.タグ関連性証明26とタグ関連性検証36
非特許文献1では、1.3.4.5.6.をそれぞれ「System Parameter and Key Generation」、「Generation of Pseudonym」、「Generation of a Credential」、「Showing a Single Credential」、「Showing Credential with Respect to a Pseudonym」と呼んでいる。
オーガニゼーション鍵生成11はオーガニゼーション装置の公開鍵と秘密鍵を生成するアルゴリズムで、各オーガニゼーションがグループを解説する際に実行する。
仮名生成(12と22)はユーザのいずれかのグループに新しく所属する際に行うプロトコルで、グループを管理するオーガニゼーションとユーザとの間で行われる。プロトコルが正常に終了すると、ユーザのこのグループにおける仮名とタグが生成される。
安全性の観点から言えば仮名生成の際の通信は盗聴できないようにしたほうがよい。例えば通信内容を暗号化する事で盗聴を防ぐ事ができる。
所属証明書生成(13と23)は、ユーザのタグの正当性を証明する証明文である所属証明書を生成するプロトコルであり、ユーザとオーガニゼーションの間で行われる。
所属証明書所有証明24はユーザがグループに所属している事を検証者に証明する手順で、所属証明書所有検証34は検証者がその証明を検証する手順である。
タグ関連性証明26はユーザが2つのグループに属している際、双方のグループで使っているタグが同一人物のものである事を検証者に証明する手順で、タグ関連性検証36は検証者がその証明を検証する手順である。
データベース公開者はユーザのデータベースを公開している。ユーザが仮名生成(12と22)を行うたびにデータベース管理者はユーザの仮名とタグとのペアをデータベースに追加する。またデータベース管理者はユーザが所属証明書生成(13と23)をするたびに、所属証明書の情報を追加する。
(準備)
[汎用指定検証者署名方式]
汎用指定検証者署名方式(Universal Designated-Verifier Signature Scheme)は非特許文献2で提案された方式である。
また汎用指定検証者署名方式には、公開情報生成、署名者鍵生成、検証者鍵生成、源署名生成、検証、指定検証者署名生成、検証者指定検証の7つのアルゴリズムがある。
公開情報生成はセキュリティ・パラメータλを入力として受け取り、公開情報paramを出力する。
署名鍵生成は公開情報paramを入力として受け取り、署名者の公開鍵spkと署名者の秘密鍵sskを出力する。
検証者鍵生成は公開情報paramを入力として受け取り、検証者の公開鍵vpkと検証者の秘密鍵vskを出力する。
源署名生成は公開情報paramと署名者の秘密鍵sskとメッセージMとを入力として受け取り、源署名文Sを出力する。
検証は公開情報paramと署名者の公開鍵spkとメッセージMと源署名文Sとを入力として受け取り、「受理」もしくは「拒否」を出力する。
指定検証者署名生成は公開情報paramと署名者の公開鍵spkと検証者の公開鍵vpkとメッセージとM署名文Sとを入力として受け取り、指定検証者署名文σを出力する。
検証者指定検証は公開情報paramと署名者の公開鍵spkと検証者の公開鍵vpkとメッセージMと指定検証者署名文σとを入力として受け取り、「受理」もしくは「拒否」を出力する。
非特許文献2では、以下のような汎用指定検証者署名方式が提案されている。
群G_1、G_2、G_Tをλビットの位数を持ち、ペアリング<・、・> : G_1×G_2→G_Tと写像ψ:G_2→G_1を持つものとする。
qをG_1の位数(=G_2の位数=G_Tの位数)し、HをG_2に値を取るハッシュ関数とする。
公開情報生成はG_1の元g_1をランダムに選び、g_2=ψ(g_1)とし、param=(g_1、g_2)を出力する。
署名鍵生成はparam=(g_1、g_2)を入力として受け取り、Z_qの元sskをランダムに選び、spk=g_1^[ssk]を計算し、spk、sskをそれぞれ公開鍵、秘密鍵として出力する。
検証者鍵生成はparam=(g_1、g_2)を入力として受け取り、Z_qの元vskをランダムに選び、vpk=g_1^[vsk]を計算し、vpk、vskをそれぞれ公開鍵、秘密鍵として出力する。
源署名生成は署名者の秘密鍵sskとメッセージMとを入力として受け取り、S=H(M)^[ssk]を計算し、Sを源署名文として出力する。
検証は署名者の公開鍵spkとメッセージMと源署名文σとを入力として受け取り、<g_1、S>=<spk、H(M)>なら「受理」を、そうでなければ「拒否」を出力する。
指定検証者署名生成は署名者の公開鍵spkと検証者の公開鍵vpkとメッセージと署名文Sとを入力として受け取り、σ=<vpk、S>を出力する。
検証者指定検証は署名者の公開鍵spkと検証者の公開鍵vpkとメッセージと指定検証者署名文σとを入力として受け取りσ=<spk^[vsk]、H(M)>なら「受理」をそうでなければ「拒否」を出力する。
ここで、証明書発行装置において、公開鍵記憶手段は、対象ユーザの公開鍵を記憶し、秘密鍵記憶手段は、上記公開鍵に対応した秘密鍵を記憶し、属性情報公開手段は、対象ユーザの属性情報に対応した属性識別子を公開し、ユーザ値生成手段は、対象ユーザの固有の値を生成し、証明書発行手段は、上記秘密鍵、上記対象ユーザの固有の値及び上記属性識別子に基づいた秘密情報を含む証明書を、対象ユーザへ発行することで、複数のユーザ間で属性情報を公平に公開できるように構成して、それぞれのユーザが安心して通信することができる技術が提案されている(例えば、特許文献1参照)。
特開2001−209313号公報 Jan Camenisch、 Anna Lysyanskaya。 An Efficient System for N on-transferable アノニマス・クレデンシャルs with Optional Anonymity Revocati on. EUROCRYPT 2001. pp. 93-118. Ron Steinfeld、 Laurence Bull、 Huaxiong Wang、 Josef Pieprz yk: Universal Designated-Verifier Signatures. ASIACRYPT 2003. pp. 523-542
しかしながら、上述の関連技術では、年齢、性別、嗜好といったユーザの属性を公開情報にしないように取り扱う事ができるようにする事が課題である。
非特許文献1の方式でも仮名の自由記述部に属性を書き込めば属性を取り扱う事ができるが、自由記述部の情報は公開情報なので、属性の秘密を保つ事ができない。また非特許文献1の方式の効率の悪さを改善する事も課題である。
また非特許文献1の方式はオーガニゼーション、ユーザ、および検証者以外にデータベースを別個に作らねばならない。
本発明は、以上のような課題を解決するためになされたもので、属性を取り扱い、なおかつ属性を公開情報にしないようにでき、効率がよく、データベースを必要としない情報通信システム、オーガニゼーション装置およびユーザ装置を提供することを目的とする。
かかる目的を達成するために、本発明は、以下の特徴を有することとする。
本発明の第1の情報通信システムは、オーガニゼーション装置とユーザ装置と検証者装置からなる情報通信システムで、
前記ユーザ装置には自身の秘密鍵があり、
前記オーガニゼーション装置と前記ユーザ装置には仮名とタグを生成する手段があり、
前記ユーザ装置には前記仮名と前記タグが前記オーガニゼーション装置から発行された事を証明する所属証明書を生成する手段があり、
前記ユーザ装置には所属証明書の所有を証明する手段があり、
前記検証装置には所属証明書の所有を検証する手段があるものであって、
仮名とタグを生成する前記手段は前記ユーザ装置の秘密鍵のコミットメントをふくむタグと仮名を前記ユーザ装置に出力し、
所属証明書を生成する前記手段は前記タグと前記仮名に対する署名文を所属証明書として前記ユーザ装置に出力し、
所属証明書の所有を証明する前記手段では前記署名文をユーザ装置が前記検証者装置に送信し、
前記タグが前記秘密鍵のコミットメントである事を前記ユーザ装置が前記検証者装置に証明し、
所属証明書の所有を検証する前記手段では前記署名文を前記検証者装置が検証し、
さらに前記タグが前記秘密鍵のコミットメントである事の証明を前記検証者装置が検証する事を特徴とする。
また、本発明の第2の情報通信システムは、オーガニゼーション装置とユーザ装置と検証者装置からなる情報通信システムで、
前記ユーザ装置には自身の秘密鍵があり、
前記オーガニゼーション装置と前記ユーザ装置には仮名とタグを生成する手段があり、
前記ユーザ装置と前記オーガニゼーション装置には仮名が前記オーガニゼーション装置から発行された事を証明する所属証明書を生成する手段があり、
前記ユーザ装置には所属証明書の所有を証明する手段があり、
前記変賞装置には所属証明書の所有を検証する手段があるものであって、
仮名とタグを生成する前記手段では何からのビット列を仮名にし、
さらに前記ユーザ装置が自身の秘密鍵のコミットメントを含むものをタグとし、
所属証明書を生成する前記手段では前記タグに対する源署名文を汎用指定検証者署名方式の源署名生成手段に従って作成し、
さらに前記源署名文を所属証明書として前記ユーザ装置に出力し、
所属証明書の所有を証明する前記手段では前記源署名文を見せずに前記源署名文の知識を前記ユーザ装置が証明し、
所属証明書の所有を検証する前記手段では前記源署名文を見せずに前記源署名文の知識を前記検証装置が検証する事を特徴とする。
本発明によれば、属性を取り扱い、なおかつ属性を公開情報にしないようにでき、効率がよく、データベースを必要としない情報通信システム、オーガニゼーション装置およびユーザ装置を提供することができる。
[装置構成とプロシージャ]
本発明の装置構成は非特許文献1のそれに似ているがデータベース管理者が存在しない。
本発明にはユーザ、オーガニゼーション、検証者の3種類のエンティティが参加する。
ユーザ、オーガニゼーション、および検証者は計算機(例えばパーソナル・コンピュータ)を持っているものとする。
本発明は、例えば、図2に示すような情報通信システムに適用される。この情報通信システムは、上記図2に示すように、ユーザ装置2と、オーガニゼーション装置1と、検証者装置3とから構成されている。
ユーザ、オーガニゼーションが所有している計算機をそれぞれユーザ装置2、オーガニゼーション装置1、検証者装置3という。これらの装置は演算部、記憶部、および通信部を持っている。演算部、記憶部、通信部はそれぞれ例えばCPU、ハードディスク、およびインターネット用のポートが使えるが、どのようなものを用いてもよい。
装置同士はなんらかの通信回線を経由して通信できる。通信回線としては例えばインターネットがあるが、どのようなものを用いてもよい。
また、各オーガニゼーション装置1が自身の公開鍵を公開する何らかの方法があるとする。例えばPKIの仕組みを用いる事で、オーガニゼーション装置1は公開鍵を公開できる。
本発明のプロシージャは非特許文献1のそれに似ているが、新たに属性証明25と属性検証35というプロシージャが加わる。
本発明には以下のプロシージャがある。
1.オーガニゼーション鍵生成11
2.ユーザ秘密鍵生成21
3.仮名生成(12と22)
4.所属証明書生成(13と23)
5.所属証明書所有証明24と所属証明書所有検証34
6.属性証明25と属性検証35
7.タグ関連性証明26とタグ関連性検証36
属性証明25と属性検証35以外のプロシージャの役割は非特許文献1のそれと同じである。
(第一の実施の形態)
Σ=(Gen、Sig、Ver)を署名方式とする。
ここでGenはΣの鍵生成アルゴリズム、Sigは署名アルゴリズム、Verは検証アルゴリズム。さらにGを素数位数の巡回群でG上の離散対数問題が困難なものとし、qをGの位数とする。さらにHをハッシュ関数とし、λをセキュリティ・パラメータとする。
<オーガニゼーション鍵生成11>
オーガニゼーション装置1であるOは以下のようにしてオーガニゼーション鍵生成11を行う。
1.λを記憶部から読み込む。
2.Gen(λ)を実行し、Genの出力として署名用の公開鍵spkと署名用の秘密鍵sskを得る。
3.自然数mを選び、Gの元K_[O0]、L_[O0]、…、K_[Om]、L_[Om]をランダムに選ぶ。
4.(spk、 K_[O0]、L_[O0]、…、K_[Om]、L_[Om])を公開鍵とし、sskを秘密鍵とする。
5.公開鍵(spk、 K_[O0]、L_[O0]、…、K_[Om]、L_[Om])と秘密鍵sskとを記憶部に書き込む。
6.公開鍵(spk、 K_[O0]、L_[O0]、…、K_[Om]、L_[Om])を公開する。
<ユーザ秘密鍵生成21>
ユーザ装置2であるUは以下のようにしてユーザ秘密鍵生成21を行う。
1.Gの元x_Uをランダムに選ぶ。
2.x_Uを記憶部に書き込む。
<仮名生成(12と22)>
W_[N1]、…、W_[Nm]をユーザの属性とする。
ユーザ装置2であるUとオーガニゼーション Oは以下のようにして仮名生成(12と22)を行う。
1.OはメッセージN_2を選び、通信回線を使ってUに送る。
2.UはメッセージN_1をえらび、仮名NをN=N_1||N_2とする。
3.UはGの元R_[N0]、…、R_[Nm]をランダムに選ぶ。
4.UはQ_[N0]=K_[O0]^[x_U]L_[O0]^[R_[N0]]を計算し、Q_[N0]の正当性を証明する。そしてOはその証明を検証する。
5.UはQ_[N1]=K_[O1]^[H(W_1)]L_[O1]^[R_[N1]]、…、
Q_[Nm]=K_[Om]^[H(W_m)]L_[Om]^[R_[Nm]]を計算する。
6.Uは(Q_[N0]、 Q_[N1]、…、 Q_[Nm])を通信回線を使ってOに送り、Q_[N0]、 Q_[N1]、…、 Q_[Nm]の正当性を証明する。 そしてOはその証明を検証する。
7.Uは仮名Nとタグ(Q_[N0]、 Q_[N1]、…、 Q_[Nm])、W_[N1]、…、W_[Nm]、R_[N0]、…、R_[Nm])を記憶部に保管する。
Uはどのような方法でx_U、R_[N0]の知識を証明してもよいが、例えば以下の方法で証明できる。
1.OはZ_qの元c、rをランダムに選んでC=K_[O0]^[c] L_[O0]^rを計算し、CをUに送信する。
2.UはZ_qの元x'、R'をランダムに選んでQ'=K_[O0]^[x']L_[O0]^[R']を計算し、Q'をOに送信する。
3.Oはc、rをUに送信する。
4.UはC=K_[O0]^[c] L_[O0]^rが成立するかどうかを確認する。 もしC=K_[O0]^[c] L_[O0]^rがしなければUは証明を終了する。
5.Uはρ_x=cx_U+x' mod q、ρ_R=cR_[N0]+R' mod qを計算し、ρ_x、ρ_RをOに送信する。
6.OはQ_[N0]^cQ'=K_[O0]^[ρ_x]L_[O0]^[ρ_R]が成立するかどうかを確認し、もし成立すれば証明を受理し、そうでなければ棄却する。
Uはどのような方法でR_[Ni]の知識を証明してもよいが、例えば以下の方法で証明できる。
1.OはZ_qの元c、rをランダムに選んでC=K_[Oi]^[c] L_[Oi]^rを計算し、CをUに送信する。
2.UはZ_qの元R'をランダムに選んでQ'= L_[Oi]^[R']を計算し、Q'をOに送信する。
3.Oはc、rをUに送信する。
4.UはC=K_[Oi]^[c] L_[Oi]^rが成立するかどうかを確認する。もしC=K_[Oi]^[c] L_[Oi]^rがしなければUは証明を終了する。
5.Uはρ_R=cR_[Ni]+R' mod qを計算し、ρ_RをOに送信する。
6.Oは(Q_[Ni]/K_[Oi]^[H(W_i)])^cQ'= L_[Oi]^[ρ_R]が成立するかどうかを確認し、もし成立すれば証明を受理し、そうでなければ棄却する。
<所属証明書生成(13と23)>
ユーザ装置2であるUとオーガニゼーション Oは以下のようにして所属証明書生成(13と23)を行う。
1.Uは記憶部から(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])を読み込み、(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])を通信回線を使ってOに送る。
2.Oはsskを記憶部から読み込み、(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])に対する署名S_N=Sig_[ssk](N、Q_[N0]、Q_[N1]、…、 Q_[Nm])を計算し、S_NをUに送信する。
3.UはVer_[spk]((N、Q_[N0]、Q_[N1]、…、 Q_[Nm])、S_N)を実行し、Ver_[spk]がが受理を出力したらS_Nを所属証明書として記憶部に書き込む。 そうでなければ所属証明書生成(13と23)は失敗に終わる。
<所属証明書所有証明24と所属証明書所有検証34>
Nを、オーガニゼーション Oが管理するグループにおけるユーザ装置2であるUの仮名とする。
UがNに対する所属証明書の所有を検証者装置3であるVに証明するには、以下のようにする。
1.Uはオーガニゼーション Oの公開鍵K_[O0]、L_[O0]と(N、Q_[N0]、 x_U、R_[N0]、S_N)を記憶部から読み込む。
2.Vはオーガニゼーション Oの公開鍵spk、K_[O0]、L_[O0]、(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])を記憶部から読み込む。
3.UはNとS_Nを通信回線を使ってVに送信する。
4.VはVer_[spk]((N、Q_[N0]、Q_[N1]、…、 Q_[Nm])、S_N)を実行し、Verが拒否を出力したらVはUの証明を拒否する。
5.UはQ_[N0]=K_[O0]^[x_U]L_[O0]^[R_[N0]]を満たすx_U、R_[N0]の知識をVに証明し、Vはその証明を検証する。
Uはどのような方法でx_U、R_[N0]の知識を証明してもよいが、例えば仮名生成(12と22)の所で説明した方法で証明できる。
<属性証明25と属性検証35>
Nを、オーガニゼーション Oが管理するグループにおけるユーザ装置2であるUの仮名とする。
UがNに対するi番目の属性W_iを検証者装置3であるVに証明するには以下のようにする。
1.UはK_[Oi]、L_[Oi]、W_i、R_[Ni]を記憶部から読み込む。
2.VはK_[Oi]、L_[Oi]、W_iを記憶部から読み込む。
3.UはVにQ_[Ni]/K_[Oi]^[H(W_i)]= L_[Oi]^[R_[Ni]]を満たすR_[Ni]の知識を証明し、Vはその証明を検証する。
Uはどのような方法でR_[Ni]の知識を証明してもよいが、例えば仮名生成(12と22)の所で説明した方法で証明できる。
<タグ関連性証明26とタグ関連性検証36>
O_1、O_2をオーガニゼーション装置1とする。 O_1とO_2は同じオーガニゼーションでもよい。
(spk、 K_[O_10]、L_[O_10]、…、K_[O_1m]、L_[O_1m])、(spk、K_[O_20]、L_[O_20]、…、K_[O_2m]、L_[O_2m])をそれぞれO_1、O_2の公開鍵とする。
さらにユーザ装置2であるUがO_1の管理するグループにおける仮名N_1とN_1に対するタグ(Q_[N_10]、 Q_[N_11]、…、 Q_[N_1m]、W_[N_11]、…、W_[N_1m]、R_[N_10]、…、R_[N_1m]、S_M[N_1])と仮名N_2とN_2に対するタグ(Q_[N_20]、 Q_[N_21]、…、 Q_[N_2m]、W_[N_21]、…、W_[N_2m]、R_[N_20]、…、R_[N_2m]、S_[N_2])を記憶部に保管していたとする。
Uが別の検証者装置3であるVに対して所属証明書関連性証明を行うには、以下のようにする。
1.UはK_[O_10]、L_[O_10]、x_U、(N_1、Q_[N_10]、R_[N_10]、S_[N_1])、(N_2、Q_[N_20]、 R_[N_20]、S_[N_2])を記憶部から読み込む。
2.Vはspk、K_[O_10]、L_[O_10]、 (N_1、 Q_[N_10]、 Q_[N_11]、…、 Q_[N_1m])、(N_2、 Q_[N_20]、 Q_[N_21]、…、 Q_[N_2m])を記憶部から読み込む。
3.UはS_[N_1]、S_[N_2]を通信装置を使ってVに送信する。
4.VはVer_[spk]((N_1、Q_[N_10]、 Q_[N_11]、…、 Q_[N_1m])、S_[N_1])、Ver_[spk]((N_12 Q_[N_20]、 Q_[N_21]、…、 Q_[N_2m])、S_[N_2])の少なくとも一方が拒否なら、Uの証明を拒否する。
5.UはQ_[N_10]=K_[O_10]^[x_U] L_[O_10]^[R_[N_10]]とQ_[N_20]=K_[O_10]^[x_U] L_[O_20]^[R_[N_20]]を満たす(x_U、 R_[N_10]、 R_[N_20])の知識をVに証明し、Vはその証明を検証する。
Uはどのような方法で(x_U、R_[N_10]、 R_[N_20])の知識を証明してもよいが、例えば以下の方法で証明できる。
1.VはZ_qの元c、rをランダムに選び、C=K_[O0]^cL_[O0]^rを計算する。
2.UはZ_qの元x'、R'_1、R'_2をランダムに選び、Q'_1=K_[O_10]^[x'] L_[O_10]^[R'_1]とQ'_2=K_[O_20]^[x'] L_[O_20]^[R'_2]を計算し、Q'_1とQ'_2をVに送信する。
3.Vはc、rをUに送信する。
4.UはC=K_[O0]^cL_[O0]^rが成立するかどうかを確認する。 もしC=K_[O0]^cL_[O0]^rが成立しなけれUは証明を終了する。
5.Uはρ_x=cx_U+x'、ρ_[R_1]=cR_[N_10]+R'_1、ρ_[R_2]=cR_[N_20]+R'_2を計算し、ρ_x、ρ_[R_1]、ρ_[R_2]をVに送信する。
6.VはQ_[N_10]^cQ'_1=K_[O_10]^[ρ_x] L_[O_10]^[R'_1]と
Q_[N_20]^cQ'_2=K_[O_20]^[ρ_x] L_[O_20]^[R'_2]が成立すれば証明を受理し、そうでなければ棄却する。
(第二の実施の形態)
以下のように仮名生成(12と22)を行う。 他は第一の実施の形態と同じである。
<仮名生成(12と22)>
W_[N1]、…、W_[Nm]をユーザの属性とする。
ユーザ装置2であるUとオーガニゼーション装置1であるOは以下のようにして仮名生成(12と22)を行う。
1.OはメッセージN_2を選び、通信回線を使ってUに送る。
2.UはメッセージN_1をえらび、仮名NをN=N_1||N_2とする。
3.UはGの元R_[N0]、…、R_[Nm]をランダムに選ぶ。
4.UはQ_[N0]=K_[O0]^[x_U]L_[O0]^[R_[N0]]を計算し、Q_[N0]の正当性を証明する。そしてOはその証明を検証する。
5.UはQ_[N1]=K_[O1]^[H(W_1)]L_[O1]^[R_[N1]]、…、Q_[Nm]=K_[Om]^[H(W_m)]L_[Om]^[R_[Nm]]を計算する。
6.Uは(W_[N1]、…、W_[Nm]、R_[N0]、…、R_[Nm]、Q_[N0])を通信回線を使ってOに送る。
7.OはQ_[N1]=K_[O1]^[H(W_1)]L_[O1]^[R_[N1]]、…、 Q_[Nm]=K_[Om]^[H(W_m)]L_[Om]^[R_[Nm]]を計算する。
8.Uは仮名Nとタグ(Q_[N0]、 Q_[N1]、…、 Q_[Nm])、W_[N1]、…、W_[Nm]、R_[N0]、…、R_[Nm]を記憶部に保管する。
Uはどのような方法でx_U、R_[N0]の知識を証明してもよいが、例えば第一の実施の形態で説明した方法で証明できる。
(第三の実施の形態)
第一、第二の実施の形態では、ユーザ装置2であるUは仮名生成(12と22)を行うたびにR_[Ni]を選び直している。
しかし目的によっては、複数の仮名生成(12と22)で同じR_[Ni]を使用してもよい。
属性もW_[Ni]とR_[Ni]が2回の仮名生成(12と22)で同じなら、1回目の仮名生成(12と22)で作成されたQ_[N_1i]と2回目の仮名生成(12と22)で作成されたQ_[N_2i]は同一のものになる。よってこの場合タグ関連性証明26とタグ関連性検証36を以下のように行う事ができる。
<タグ関連性証明26とタグ関連性検証36>
ステップ1.〜4.は第一の実施の形態のタグ関連性証明26とタグ関連性検証36と同じ。
5.は以下のように行う。
5.VはQ_[N_1i]=Q_[N_2i]なら証明を受理し、そうでなければ棄却する。
(第四の実施の形態)
Σ=(GenParam、SGen、VGen、Sig、Ver、DSig、DVer)を検証者指定検証方式とする。
ここでGenParam、SGen、VGen、Sig、Ver、DSig、DVerはそれぞれ公開情報生成、署名者鍵生成、検証者鍵生成、源署名生成、検証、指定検証者署名生成のアルゴリズムがある。さらにGを素数位数の巡回群でG上の離散対数問題が困難なものとし、qをGの位数とする。さらにHをハッシュ関数とし、λをセキュリティ・パラメータとする。
<オーガニゼーション鍵生成11>
オーガニゼーション装置1であるOは以下のようにしてオーガニゼーション鍵生成11を行う。
1.λを記憶部から読み込む。
2.GenParam(λ)を実行し、GenParamの出力paramを得る。 さらにSGenを行い、公開鍵spkと秘密鍵sskを得る。
3.自然数mを選び、Gの元K_[O0]、L_[O0]、…、K_[Om]、L_[Om]をランダムに選ぶ。
4.(param、spk、 K_[O0]、L_[O0]、…、K_[Om]、L_[Om])を公開鍵とし、sskを秘密鍵とする。
5.公開鍵(param、spk、 K_[O0]、L_[O0]、…、K_[Om]、L_[Om])と秘密鍵sskとを記憶部に書き込む。
6.公開鍵(param、spk、 K_[O0]、L_[O0]、…、K_[Om]、L_[Om])を公開する。
<ユーザ秘密鍵生成21>
ユーザ装置2であるUは第一の実施の形態と同じ方法で仮名生成(12と22)を行う。
すなわち、以下のようにしてユーザ秘密鍵生成21を行う。
1.Gの元x_Uをランダムに選ぶ。
2.x_Uを記憶部に書き込む。
<仮名生成(12と22)>
W_[N1]、…、W_[Nm]をユーザの属性とする。
ユーザ装置2であるUとオーガニゼーション Oは第一の実施の形態と同じ方法で仮名生成(12と22)を行う。
<所属証明書生成(13と23)>
ユーザ装置2であるUとオーガニゼーション Oは以下のようにして所属証明書生成(13と23)を行う。
1.Uは記憶部から(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])を読み込み、(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])を通信回線を使ってOに送る。
2.Oはparamとsskを記憶部から読み込み、(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])に対する源署名S_N=Sig_[param、ssk](N、Q_[N0]、Q_[N1]、…、 Q_[Nm])を計算し、S_NをUに送信する。
3.Uはparamとspkを記憶部から読み込み、Ver_[param、spk]((N、Q_[N0]、Q_[N1]、…、 Q_[Nm])、S_N)を実行し、Ver_[param、spk]が受理を出力S_Nを所属証明書として記憶部に書き込む。 そうでなければ所属証明書生成(13と23)は失敗に終わる。
<所属証明書所有証明24と所属証明書所有検証34>
Nを、オーガニゼーション Oが管理するグループにおけるユーザ装置2であるUの仮名とする。
UがNに対する所属証明書の所有を検証者装置3であるVに証明するには、以下のようにする。
1.Uは公開情報param、オーガニゼーション Oの公開鍵K_[O0]、L_[O0]と(N、Q_[N0]、 x_U、R_[N0]、S_N)を記憶部から読み込む。
2.Vはオーガニゼーション Oの公開鍵spk、K_[O0]、L_[O0]、(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])を記憶部から読み込む。
3.VはVGen(λ)を行い、VGenの出力として公開鍵vpk、vskを得、vpkをUに送信し、vpkの正当性をUに証明する。 Vはその証明を検証する。
4.UはDSig_[param、spk、vpk](N、S_N)を実行し、DSigの出力σ_Nを得、Nとσ_Nを通信回線を使ってVに送信する。
5.VはDVer_[param、spk、vpk]((N、Q_[N0]、Q_[N1]、…、 Q_[Nm])、σ_N)を実行し、DVerが拒否を出力したらVはUの証明を拒否する。
6.UはQ_[N0]=K_[O0]^[x_U]L_[O0]^[R_[N0]]を満たすx_U、R_[N0]の知識をVに証明する。Vはその証明を検証する。
Uはどのような方法でx_U、R_[N0]の知識を証明してもよいが、例えば第一の実施の形態の仮名生成(12と22)の所で説明した方法で証明できる。
<属性証明25と属性検証35>
Nを、オーガニゼーション Oが管理するグループにおけるユーザ装置2であるUの仮名とする。
UがNに対するi番目の属性W_iを検証者装置3であるVに証明するには第一の実施の形態と同じようにする。
<タグ関連性証明26とタグ関連性検証36>
O_1、O_2をオーガニゼーション装置1とする。 O_1とO_2は同じオーガニゼーションでもよい。
(spk、 K_[O_10]、L_[O_10]、…、K_[O_1m]、L_[O_1m])、(spk、K_[O_20]、L_[O_20]、…、K_[O_2m]、L_[O_2m])をそれぞれO_1、O_2の公開鍵とする。
さらにユーザ装置2であるUがO_1の管理するグループにおける仮名N_1とN_1に関するタグ(Q_[N_10]、 Q_[N_11]、…、 Q_[N_1m]、W_[N_11]、…、W_[N_1m]、R_[N_10]、…、R_[N_1m]、σ[N_1])と仮名N_2とN_2に関するタグ(Q_[N_20]、 Q_[N_21]、…、 Q_[N_2m]、W_[N_21]、…、W_[N_2m]、R_[N_20]、…、R_[N_2m]、σ[N_2])を記憶部に保管していたとする。
Uが検証者装置3であるVに対して所属証明書関連性証明を行うには、以下のようにする。
1.UはK_[O_10]、L_[O_10]、x_U、(N_1、Q_[N_10]、R_[N_10]、σ[N_1])、(N_2、Q_[N_20]、 R_[N_20]、σ[N_2])を記憶部から読み込む。
2.Vはparam、spk、K_[O_10]、L_[O_10]、 (N_1、 Q_[N_10]、 Q_[N_11]、…、 Q_[N_1m])、(N_2、 Q_[N_20]、 Q_[N_21]、…、 Q_[N_2m])を記憶部から読み込む。
3.Uはσ[N_1]、σ[N_2]を通信装置を使ってVに送信する。
4.VはVer_[param、spk]((N_1、Q_[N_10]、 Q_[N_11]、…、 Q_[N_1m])、σ[N_1])、Ver_[param、spk]((N_12 Q_[N_20]、 Q_[N_21]、…、 Q_[N_2m])、σ[N_2])の少なくとも一方が拒否なら、Uの証明を拒否する。
5.UはQ_[N_10]=K_[O_10]^[x_U] L_[O_10]^[R_[N_10]]とQ_[N_20]=K_[O_10]^[x_U] L_[O_20]^[R_[N_20]]を満たす(x_U、 R_[N_10]、 R_[N_20])の知識をVに証明する。 Vはその証明を検証する。
Uはどのような方法で(x_U、R_[N_10]、 R_[N_20])の知識を証明してもよいが、例えば第一の実施の形態で説明した方法で証明できる。
(第五の実施の形態)
第二の実施の形態と同じ方法で仮名生成(12と22)を行う。他は第四の実施の形態と同じである。
(第六の実施の形態)
第三の実施の形態と同じ方法で仮名生成(12と22)を行う。他は第四の実施の形態と同じである。
(第七の実施の形態)
第四の実施の形態でVは所属証明書所有証明(24と34)を行うたびにvpk、vskを生成していたが、用途によっては全ての所属証明書所有証明(24と34)で同じvpk、vskを使ってもよい。
(実施例1)
第二の実施の形態の検証者指定検証方式Σ=(GenParam、SGen、VGen、Sig、Ver、DSig、DVer)として非特許文献2の方式を使ったものを説明する。
群G_1、G_2、G_Tをλビットの位数を持ち、ペアリング<・、・> : G_1×G_2→G_Tと写像ψ:G_2→G_1を持つものとする。
qをG_1の位数(=G_2の位数=G_Tの位数)し、HをG_2に値を取るハッシュ関数とする。G=G_1とする。
<オーガニゼーション鍵生成11>
オーガニゼーション装置1であるOは以下のようにしてオーガニゼーション鍵生成11を行う。
1.λを記憶部から読み込む。
2.G_1の元g_1をランダムに選び、g_2=ψ(g_1)とし、param=(g_1、g_2)とし、Z_qの元sskをランダムに選び、spk=g_1^[ssk]を計算する。
3.自然数mを選び、Gの元K_[O0]、L_[O0]、…、K_[Om]、L_[Om]をランダムに選ぶ。
4.(param、spk、 K_[O0]、L_[O0]、…、K_[Om]、L_[Om])を公開鍵とし、sskを秘密鍵とする。
5.公開鍵(param、spk、 K_[O0]、L_[O0]、…、K_[Om]、L_[Om])と秘密鍵sskとを記憶部に書き込む。
6.公開鍵(param、spk、 K_[O0]、L_[O0]、…、K_[Om]、L_[Om])を公開する。
<ユーザ秘密鍵生成21>
ユーザ装置2であるUは第一の実施の形態と同じ方法で仮名生成(12と22)を行う。
すなわち、以下のようにしてユーザ秘密鍵生成21を行う。
1.G_1の元x_Uをランダムに選ぶ。
2.x_Uを記憶部に書き込む。
<仮名生成(12と22)>
W_[N1]、…、W_[Nm]をユーザの属性とする。
ユーザ装置2であるUとオーガニゼーション装置1であるOは第一の実施の形態と同じ方法で仮名生成(12と22)を行う。
<所属証明書生成(13と23)>
ユーザ装置2であるUとオーガニゼーション装置1であるOは以下のようにして所属証明書生成(13と23)を行う。
1.Uは記憶部から(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])を読み込み、(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])を通信回線を使ってOに送る。
2.Oはparamとsskを記憶部から読み込み、(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])に対する源署名S_N=H(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])^[ssk]を計算し、S_NをUに送信する。
3.Uはparamとspkを記憶部から読み込み、<g_1、S_N>=<spk、H((N、Q_[N0]、Q_[N1]、…、 Q_[Nm])、S_N)>ならS_Nを所属証明書として記憶部に書き込む。 そうでなければ所属証明書生成(13と23)は失敗に終わる。
<所属証明書所有証明24と所属証明書所有検証34>
Nを、オーガニゼーション Oが管理するグループにおけるユーザ装置2であるUの仮名とする。
UがNに対する所属証明書の所有を検証者装置3であるVに証明するには、以下のようにする。
1.Uは公開情報param、オーガニゼーション Oの公開鍵K_[O0]、L_[O0]と(N、Q_[N0]、 x_U、R_[N0]、S_N)を記憶部から読み込む。
2.Vはオーガニゼーション Oの公開鍵spk、K_[O0]、L_[O0]、(N、Q_[N0]、 Q_[N1]、…、 Q_[Nm])を記憶部から読み込む。
3.VはZ_qの元vskをランダムに選び、vpk=g_1^[vsk]とし、vpkをUに送信し、vpkの正当性をUに証明する。 Vはその証明を検証する。
4.σ_N=<vpk、S_N>とし、Nとσ_Nを通信回線を使ってVに送信する。
5.σ_N=<spk^[vsk]、H(N、Q_[N0]、Q_[N1]、…、 Q_[Nm])>が成立していなければ、VはUの証明を拒否する。
6.UはQ_[N0]=K_[O0]^[x_U]L_[O0]^[R_[N0]]を満たすx_U、R_[N0]の知識をVに証明する。Vはその証明を検証する。
Uはどのような方法でx_U、R_[N0]の知識を証明してもよいが、例えば第一の実施の形態の仮名生成(12と22)の所で説明した方法で証明できる。
<属性証明25と属性検証35>
Nを、オーガニゼーション Oが管理するグループにおけるユーザ装置2であるUの仮名とする。
UがNに対するi番目の属性W_iを検証者装置3であるVに証明するには第一の実施の形態と同じようにする。
<タグ関連性証明26とタグ関連性検証36>
O_1、O_2をオーガニゼーション装置1とする。 O_1とO_2は同じオーガニゼーションでもよい。
(spk、 K_[O_10]、L_[O_10]、…、K_[O_1m]、L_[O_1m])、(spk、K_[O_20]、L_[O_20]、…、K_[O_2m]、L_[O_2m])をそれぞれO_1、O_2の公開鍵とする。
さらにユーザ装置2であるUがO_1の管理するグループにおける仮名N_1とN_1に関するタグ(Q_[N_10]、 Q_[N_11]、…、 Q_[N_1m]、W_[N_11]、…、W_[N_1m]、R_[N_10]、…、R_[N_1m]、σ_[N_1])と仮名N_2とN_2に関するタグ(Q_[N_20]、 Q_[N_21]、…、 Q_[N_2m]、W_[N_21]、…、W_[N_2m]、R_[N_20]、…、R_[N_2m]、σ_[N_2])を記憶部に保管していたとする。
Uが検証者装置3であるVに対して所属証明書関連性証明を行うには、以下のようにする。
1.UはK_[O_10]、L_[O_10]、x_U、(N_1、Q_[N_10]、R_[N_10]、σ_[N_1])、(N_2、Q_[N_20]、 R_[N_20]、σ_[N_2])を記憶部から読み込む。
2.Vはparam、spk、K_[O_10]、L_[O_10]、 (N_1、 Q_[N_10]、 Q_[N_11]、…、 Q_[N_1m])、(N_2、 Q_[N_20]、 Q_[N_21]、…、 Q_[N_2m])を記憶部から読み込む。
3.Uはσ_[N_1]、σ_[N_2]を通信装置を使ってVに送信する。
4.σ_[N_1]=<spk^[vsk]、H((N_1、Q_[N_10]、 Q_[N_11]、…、 Q_[N_1m]))>、σ_[N_2]=<spk^[vsk]、H((N_2、Q_[N_20]、 Q_[N_21]、…、 Q_[N_2m]))>の少なくとも一方が成立しないなら、VはUの証明を拒否する。
5.UはQ_[N_10]=K_[O_10]^[x_U] L_[O_10]^[R_[N_10]]とQ_[N_20]=K_[O_10]^[x_U] L_[O_20]^[R_[N_20]]を満たす(x_U、 R_[N_10]、 R_[N_20])の知識をVに証明する。 Vは証明を検証する。
Uはどのような方法で(x_U、R_[N_10]、 R_[N_20])の知識を証明してもよいが、例えば第一の実施の形態で説明した方法で証明できる。
(実施例2)
本発明は電子的な免許証に応用できる。これらの応用では、CAという特殊なオーガニゼーションがおり、CAは各ユーザの当人性を確認する役割を担う。
ユーザがアノニマス・クレデンシャルのシステムを使うには、まずCAにアクセスする。CAはユーザの当人性を確認した後、ユーザと仮名生成12と所属証明書生成13を行い、ユーザに仮名とタグと所属証明書を発行する。
免許証への応用では免許発行センターがオーガニゼーションになる。
免許を取得する際、ユーザは本名を明かさずに、変わりにCAが発行した仮名を提示する。
さらにユーザは免許発行センターに対して所属証明書所有証明24を行う。
ユーザは免許発行センターから免許を取得する許可を得る。
免許を取得する許可をユーザに与えたら、免許発行センターはユーザと仮名生成12と所属証明書生成13を行う事で新たな仮名PとタグTと所属証明書pfを発行する。
所属証明書は免許証に相当するもので、仮名がPであるユーザが免許を持っている事を証明する。
ユーザは免許証の提示を求められるたびに所属証明書所有証明24を行う。
同様にして本発明を会員証へも応用できる。
会員証への応用では会員クラブの主催者がオーガニゼーションになる。
この応用では、所属証明書は免許証ではなく会員証に相当する。
よってユーザはクラブを利用するたびに所属証明書所有証明24を行う事でクラブの会員である事を証明できる。これ以外の詳細は免許証の場合と同様である。
ユーザは必要に応じて属性証明25を行う事でユーザは自分の属性を証明できる。例えば20才以上の人物しか利用できないサービスを利用する場合は、ユーザは年齢という属性を証明する事で、このサービスを利用できる。
ユーザは複数の仮名で複数の免許証・会員証を持っている。ユーザはタグ関連性証明26を行う事でそれらの免許証・会員証が実は同一人物のものである事を証明できる。
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、第一〜第七の実施の形態の各装置の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータが記憶媒体に格納されたプログラムコードを読みだして実行してもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるCD−ROMまたは光磁気ディスクなどを介して、または伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。
なお、この出願は、2007年11月21日に出願した、日本特許出願番号2007−301466号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、例えば、ユーザ装置と、オーガニゼーション装置と、検証者装置とから構成される情報通信システムに適用可能である。
非特許文献1のブロック図である。 本発明の実施の形態に係るブロック図である。
符号の説明
1 オーガニゼーション装置
2 ユーザ装置バ
3 検証者装置
17、27、37 演算部
18、28、38 記憶部
19、29、39 通信部

Claims (19)

  1. オーガニゼーション装置とユーザ装置と検証者装置からなる情報通信システムで、
    前記ユーザ装置には自身の秘密鍵があり、
    前記オーガニゼーション装置と前記ユーザ装置には仮名とタグを生成する手段があり、
    前記ユーザ装置には前記仮名と前記タグが前記オーガニゼーション装置から発行された事を証明する所属証明書を生成する手段があり、
    前記ユーザ装置には所属証明書の所有を証明する手段があり、
    前記検証装置には所属証明書の所有を検証する手段があるものであって、
    仮名とタグを生成する前記手段は前記ユーザ装置の秘密鍵のコミットメントをふくむタグと仮名を前記ユーザ装置に出力し、
    所属証明書を生成する前記手段は前記タグと前記仮名に対する署名文を所属証明書として前記ユーザ装置に出力し、
    所属証明書の所有を証明する前記手段では前記署名文をユーザ装置が前記検証者装置に送信し、
    前記タグが前記秘密鍵のコミットメントである事を前記ユーザ装置が前記検証者装置に証明し、
    所属証明書の所有を検証する前記手段では前記署名文を前記検証者装置が検証し、
    さらに前記タグが前記秘密鍵のコミットメントである事の証明を前記検証者装置が検証する事を特徴とする情報通信システム。
  2. さらにユーザ装置が2つ以上のオーガニゼーション装置から仮名とタグを発行してもらった際にそれら2つのタグが同じユーザ装置のものである事を示す為のタグ関連性証明の手段を前記ユーザ装置が持ち、
    前記タグ関連性証明を検証する手段を前記検証者装置持ち、
    前記タグ関連性証明では2つのタグが同じ秘密鍵を用いて生成されている事を前記ユーザ装置が証明し、
    前記タグ関連性検証では2つのタグが同じ秘密鍵を用いて生成されている事の証明を前記検証者装置が検証する事を特徴とする請求項1に記載の情報通信システム。
  3. 仮名とタグを生成する前記手段ではさらに前記タグが秘密鍵のコミットメントを含むものである事を前記ユーザ装置が前記オーガニゼーション装置に証明し、
    さらに前記タグが秘密鍵のコミットメントを含むものである事の証明を前記オーガニゼーション装置が検証する事を特徴とする請求項1または2に記載の情報通信システム。
  4. 前記秘密鍵xのコミットメントCが、公開情報KとLとを使い、ランダムに選んだRでC=K^xL^Rにより作成される事を特徴とする請求項1から3のいずれか1項に記載の情報通信システム。
  5. さらに属性を証明する手段を前記ユーザ装置が持ち、属性の証明を検証する手段を前記検証装置が持ち、
    仮名とタグを生成する前記手段では前記ユーザ装置がさらに仮名に関する属性のコミットメントを作成し、
    さらに前記秘密鍵のコミットメントと前記属性のコミットメントを含むものをタグとし、
    属性を証明する前記手段では前記署名文を前記ユーザ装置が前記検証者装置に送信し、
    前記タグが秘密鍵のコミットメントである事を前記ユーザ装置が前記検証者装置に証明し、
    属性の証明を検証する前記手段では前記署名文を前記検証者装置が検証し、
    さらに前記タグが秘密鍵のコミットメントである事の証明を前記検証者装置が検証する事を特徴とする請求項1または2に記載の情報通信システム。
  6. 仮名とタグを生成する前記手段ではさらに前記タグが秘密鍵のコミットメント及び属性のコミットメントを含むものである事を前記ユーザ装置が前記オーガニゼーション装置に証明し、
    さらに前記タグが秘密鍵のコミットメント及び属性のコミットメントを含むものである事の証明を前記オーガニゼーション装置が検証する事を特徴とする請求項5記載の情報通信システム。
  7. 前記秘密鍵xのコミットメントCが、公開情報KとLとを使い、ランダムに選んだRでC=K^xL^Rにより作成され、
    前記属性のi番目のものW_iのコミットメントC_iが、公開情報K_iとL_iとを使い、ランダムに選んだR_iでC=K^[W_i]L^[R_i]により作成される事を特徴とする請求項5または6に記載の情報通信システム。
  8. 請求項1から7のいずれか1項に記載された情報通信システムのオーガニゼーション装置。
  9. 請求項1から7のいずれか1項に記載された情報通信システムのユーザ装置。
  10. オーガニゼーション装置とユーザ装置と検証者装置からなる情報通信システムで、
    前記ユーザ装置には自身の秘密鍵があり、
    前記オーガニゼーション装置と前記ユーザ装置には仮名とタグを生成する手段があり、
    前記ユーザ装置と前記オーガニゼーション装置には仮名が前記オーガニゼーション装置から発行された事を証明する所属証明書を生成する手段があり、
    前記ユーザ装置には所属証明書の所有を証明する手段があり、
    前記変賞装置には所属証明書の所有を検証する手段があるものであって、
    仮名とタグを生成する前記手段では何からのビット列を仮名にし、
    さらに前記ユーザ装置が自身の秘密鍵のコミットメントを含むものをタグとし、
    所属証明書を生成する前記手段では前記タグに対する源署名文を汎用指定検証者署名方式の源署名生成手段に従って作成し、
    さらに前記源署名文を所属証明書として前記ユーザ装置に出力し、
    所属証明書の所有を証明する前記手段では前記源署名文を見せずに前記源署名文の知識を前記ユーザ装置が証明し、
    所属証明書の所有を検証する前記手段では前記源署名文を見せずに前記源署名文の知識を前記検証装置が検証する事を特徴とする情報通信システム。
  11. 所属証明書の所有を証明する前記手段では前記源署名文から前記汎用指定検証者署名方式の指定検証者署名生成手段に従って指定検証者署名を生成し、
    さらに前記指定検証者署名を検証者装置に送信し、
    さらに前記タグが秘密鍵のコミットメントであることを前記ユーザ装置が検証者装置に証明し、
    所属証明書の所有を検証する前記手段では前記指定検証者署名文を前記検証者装置が検証し、
    さらに前記タグが秘密鍵のコミットメントである事の証明を検証する事を特徴とする請求項10に記載の情報通信システム。
  12. さらにユーザ装置が2つ以上のオーガニゼーション装置から仮名とタグを発行してもらった際にそれら2つのタグが同じユーザ装置のものである事を示す為のタグ関連性証明の手段を前記ユーザ装置が持ち、
    さらにタグ関連性証明を検証する手段を前記検証装置が持ち、
    タグ関連性証明の手段では前記タグ関連性証明では2つのタグが同じ秘密鍵を用いて生成されている事をユーザ装置が検証者装置に証明し、
    タグ関連性証明を検証する手段では前記タグ関連性証明では2つのタグが同じ秘密鍵を用いて生成されている事の証明を検証者装置が検証する事を特徴とする請求項10または11に記載の情報通信システム。
  13. 仮名とタグを生成する前記手段ではさらに前記タグが秘密鍵のコミットメントを含むものである事を前記ユーザ装置が前記オーガニゼーション装置に証明し、
    さらに前記タグが秘密鍵のコミットメントを含むものである事の証明を前記オーガニゼーション装置が検証する事を特徴とする請求項10から12のいずれか1項に記載の情報通信システム。
  14. 前記秘密鍵xの前記コミットメントCが、公開情報KとLとを使い、ランダムに選んだRでC=K^xL^Rにより作成される事を特徴とする請求項10から13のいずれか1項に記載の情報通信システム。
  15. さらに属性を証明する手段を前記ユーザ装置が持ち、属性の証明を検証する手段を前記検証装置が持ち、
    仮名を生成する前記手段では前記ユーザ装置がさらに仮名に関する属性のコミットメントを作成し、
    さらに前記秘密鍵のコミットメントと前記属性のコミットメントを含むものをタグとし、
    属性を証明する前記手段では前記証明文を前記ユーザ装置が前記検証者装置に送信し、さらに前記属性に対するタグに含まれるコミットメントが属性のコミットメントを含むものである事を前記ユーザ装置が前記検証者装置に証明し、
    属性の証明を検証する前記手段では前記署名文を前記検証者装置が検証し、
    さらに前記属性に対するタグに含まれるコミットメントが属性のコミットメントを含むものである事の証明を前記検証者装置が検証する事を特徴とする請求項10から12のいずれか1項に記載の情報通信システム。
  16. 仮名とタグを生成する前記手段ではさらに前記タグが秘密鍵のコミットメント及び属性のコミットメントを含むものである事を前記ユーザ装置が前記オーガニゼーション装置に証明し、
    さらに前記タグが秘密鍵のコミットメント及び属性のコミットメントを含むものである事の証明を前記オーガニゼーション装置が検証する事を特徴とする請求項15記載の情報通信システム。
  17. 前記属性のi番目のものW_iのコミットメントC_iが、公開情報K_iとL_iとを使い、ランダムに選んだR_iでC=K^[W_i]L^[R_i]により作成され、
    前記秘密鍵xの前記コミットメントCが、公開情報KとLとを使い、ランダムに選んだRでC=K^xL^Rにより作成される事を特徴とする請求項15または16に記載の情報通信システム。
  18. 請求項10から17のいずれか1項に記載の情報通信システムのオーガニゼーション装置。
  19. 請求項10から17のいずれか1項に記載の情報通信システムのユーザ装置。
JP2009542516A 2007-11-21 2008-10-31 情報通信システム、オーガニゼーション装置およびユーザ装置 Expired - Fee Related JP5287727B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009542516A JP5287727B2 (ja) 2007-11-21 2008-10-31 情報通信システム、オーガニゼーション装置およびユーザ装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007301466 2007-11-21
JP2007301466 2007-11-21
PCT/JP2008/069972 WO2009066557A1 (ja) 2007-11-21 2008-10-31 情報通信システム、オーガニゼーション装置およびユーザ装置
JP2009542516A JP5287727B2 (ja) 2007-11-21 2008-10-31 情報通信システム、オーガニゼーション装置およびユーザ装置

Publications (2)

Publication Number Publication Date
JPWO2009066557A1 JPWO2009066557A1 (ja) 2011-04-07
JP5287727B2 true JP5287727B2 (ja) 2013-09-11

Family

ID=40667382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009542516A Expired - Fee Related JP5287727B2 (ja) 2007-11-21 2008-10-31 情報通信システム、オーガニゼーション装置およびユーザ装置

Country Status (3)

Country Link
US (1) US20100251351A1 (ja)
JP (1) JP5287727B2 (ja)
WO (1) WO2009066557A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130073845A1 (en) * 2010-05-28 2013-03-21 Nec Corporation Anonymous credential system, user device, verification device, anonymous credential method, and anonymous credential program
US8825555B2 (en) * 2010-06-30 2014-09-02 International Business Machines Corporation Privacy-sensitive sample analysis
WO2012126085A1 (en) * 2011-03-18 2012-09-27 Certicom Corp. Keyed pv signatures
US11025407B2 (en) * 2015-12-04 2021-06-01 Verisign, Inc. Hash-based digital signatures for hierarchical internet public key infrastructure

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006085430A1 (ja) * 2005-02-10 2006-08-17 Nec Corporation メンバー証明書獲得装置、メンバー証明書発行装置、グループ署名装置、グループ署名検証装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7360080B2 (en) * 2000-11-03 2008-04-15 International Business Machines Corporation Non-transferable anonymous credential system with optional anonymity revocation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006085430A1 (ja) * 2005-02-10 2006-08-17 Nec Corporation メンバー証明書獲得装置、メンバー証明書発行装置、グループ署名装置、グループ署名検証装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200500220002; 田村裕子,宮地充子: '"複数属性認証システム"' 電子情報通信学会技術研究報告 Vol.103,No.416, 20031106, p.23-28, 社団法人電子情報通信学会 *
JPN6013021061; 田村裕子,宮地充子: '"複数属性認証システム"' 電子情報通信学会技術研究報告 Vol.103,No.416, 20031106, p.23-28, 社団法人電子情報通信学会 *
JPN6013021063; Jan Camenisch, Anna Lysyanskaya: '"An Efficient System for Non-transferable Anonymous Credentials with Optional Anonymity Revocation' Cryptology ePrint Archive: Report 2001/019 Version: 20010301:163800, 20010301, p.1-30, [online] *
JPN6013021066; Jan Camenisch and Els Van Herreweghen: '"Design and implementation of the idemix anonymous credential system"' Proceedings of the 9th ACM conference on Computer and communications security (CCS '02) , 20021118, p.21-30, [online] *

Also Published As

Publication number Publication date
JPWO2009066557A1 (ja) 2011-04-07
US20100251351A1 (en) 2010-09-30
WO2009066557A1 (ja) 2009-05-28

Similar Documents

Publication Publication Date Title
US8266439B2 (en) Integrity verification of pseudonymized documents
JP2001513227A (ja) ネットワーク環境における秘密最新乱数の管理および使用
Velliangiri et al. An efficient lightweight privacy-preserving mechanism for industry 4.0 based on elliptic curve cryptography
JP5099003B2 (ja) グループ署名システムおよび情報処理方法
CN109547206A (zh) 数字证书的处理方法及相关装置
Cruz et al. The Bitcoin Network as Platform for TransOrganizational Attribute Authentication
JP2008131058A (ja) 属性認証システム、同システムにおけるユーザの行動履歴検索方法およびプログラム
CN104901804A (zh) 一种基于用户自主的标识认证实现方法
Singh et al. A novel credential protocol for protecting personal attributes in blockchain
JP5327223B2 (ja) 署名システム
JP5029358B2 (ja) 鍵発行方法、グループ署名システム
JP5287727B2 (ja) 情報通信システム、オーガニゼーション装置およびユーザ装置
Gowda et al. BPCPR-FC: blockchain-based privacy preservation with confidentiality using proxy reencryption and ring signature in fog computing environments
Ali et al. Anonymous aggregate fine-grained cloud data verification system for smart health
Sivasundari et al. RETRACTED ARTICLE: Hybrid aggregated signcryption scheme using multi-constraints differential evolution algorithm for security
Boontaetae et al. RDI: Real digital identity based on decentralized PKI
Tso A new way to generate a ring: Universal ring signature
Salvakkam et al. An improved lattice based certificateless data integrity verification techniques for cloud computing
CN110278073B (zh) 一种群组数字签名、验证方法及其设备和装置
CN113792282B (zh) 身份数据验证方法、装置、计算机设备和存储介质
Wang et al. Hades: Practical decentralized identity with full accountability and fine-grained sybil-resistance
Fan et al. Date attachable offline electronic cash scheme
Sharp Applied Cryptography
Liang et al. An efficient blockchain-based anonymous authentication and supervision system
JP2012516604A (ja) データ処理システム内でデータ項目の集合を示す暗号アキュムレータを提供するための方法、装置、コンピュータ・プログラム、およびデータ処理システム(データ処理システム内のデータ項目の検証)

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110920

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130520

LAPS Cancellation because of no payment of annual fees