JP2011244321A - Proxy signature system, and method - Google Patents
Proxy signature system, and method Download PDFInfo
- Publication number
- JP2011244321A JP2011244321A JP2010116241A JP2010116241A JP2011244321A JP 2011244321 A JP2011244321 A JP 2011244321A JP 2010116241 A JP2010116241 A JP 2010116241A JP 2010116241 A JP2010116241 A JP 2010116241A JP 2011244321 A JP2011244321 A JP 2011244321A
- Authority
- JP
- Japan
- Prior art keywords
- signature
- key
- signature generation
- unit
- generation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 114
- 238000012795 verification Methods 0.000 claims abstract description 124
- 230000008569 process Effects 0.000 claims abstract description 60
- 238000004364 calculation method Methods 0.000 claims description 149
- 239000012634 fragment Substances 0.000 claims description 129
- 230000005540 biological transmission Effects 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 49
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 36
- 238000004891 communication Methods 0.000 description 14
- 230000004048 modification Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000011084 recovery Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 102100032341 PCNA-interacting partner Human genes 0.000 description 2
- 101710196737 PCNA-interacting partner Proteins 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101150034459 Parpbp gene Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
Description
本発明は、証明力の高い電子署名を第三者装置が代理で生成する代理署名技術に関する。 The present invention relates to a proxy signature technique in which a third-party device generates an electronic signature with high proof power by a proxy.
電子署名技術において、端末装置が署名生成処理を第三者装置に委託して第三者装置が電子署名を生成する代理署名技術が知られている。このような従来技術として例えば特許文献1が挙げられる。代理署名が行われる要請として、例えば、端末装置の計算能力が低い場合などが考えられる。
In electronic signature technology, proxy signature technology is known in which a terminal device entrusts a signature generation process to a third party device and the third party device generates an electronic signature. For example,
代理署名技術では、通常、端末装置は自らの秘密鍵を第三者装置に送信しなければならない。しかし、当該秘密鍵を得た第三者装置は、爾後、当該秘密鍵が有効である限り自由に端末装置の署名を生成できてしまう。つまり、端末装置が署名対象を特定のメッセージに制限して第三者装置に電子署名の生成を委託したとしても、ひとたび秘密鍵を得た第三者装置は端末装置からの委託とは無関係に端末装置の電子署名を生成できてしまう。 In the proxy signature technique, the terminal device usually has to transmit its private key to the third party device. However, the third-party device that has obtained the secret key can freely generate the signature of the terminal device as long as the secret key is valid. In other words, even if the terminal device restricts the signature target to a specific message and entrusts the generation of the electronic signature to the third party device, the third party device that once obtained the secret key has no relation to the entrustment from the terminal device. The electronic signature of the terminal device can be generated.
このため、端末装置の代理として第三者装置が電子署名を生成するにあたり、当該第三者装置による電子署名生成が、端末装置からの委託に基づくものであることを証明できる仕組みが必要とされる。 For this reason, when a third party device generates an electronic signature on behalf of a terminal device, a mechanism that can prove that the electronic signature generation by the third party device is based on a commission from the terminal device is required. The
本発明は、このような点に鑑みてなされたものであり、証明力の高い電子署名を第三者装置が代理で生成する代理署名技術を提供することを目的とする。 The present invention has been made in view of such a point, and an object of the present invention is to provide a proxy signature technique in which a third-party device generates an electronic signature with high proof power by a proxy.
本発明の代理署名技術は、次のとおりである。すなわち、端末装置は固有の演算機能を有しており、端末装置は固有データに対するその演算機能による演算結果を署名生成装置に送り、当該演算結果を破棄する。また、署名生成装置は当該演算結果から署名検証鍵の生成を行い、予め署名検証鍵を署名検証装置へ送っておく。署名プロセスでは、端末装置が改めて上記固有データに対するその演算機能による演算結果を署名生成装置に送り、署名生成装置は当該演算結果から署名生成鍵の生成を行い、当該署名生成鍵を用いてメッセージに対する電子署名を生成して署名検証装置へ送り、当該演算結果と当該署名生成鍵を破棄する。署名検証装置は、電子署名を署名検証鍵で検証する。 The proxy signature technique of the present invention is as follows. That is, the terminal device has a specific calculation function, and the terminal device sends the calculation result of the calculation function for the unique data to the signature generation device and discards the calculation result. The signature generation device generates a signature verification key from the calculation result, and sends the signature verification key to the signature verification device in advance. In the signature process, the terminal device sends the calculation result by the calculation function for the unique data to the signature generation device, and the signature generation device generates a signature generation key from the calculation result, and uses the signature generation key to An electronic signature is generated and sent to the signature verification apparatus, and the calculation result and the signature generation key are discarded. The signature verification device verifies the electronic signature with the signature verification key.
この代理署名技術にて、セキュリティ向上の観点から、署名生成鍵と署名検証鍵の生成の際、上記演算結果に替えて、上記演算結果を乱数で撹乱して得られる情報を用いてもよい。 In this proxy signature technique, from the viewpoint of security improvement, when generating a signature generation key and a signature verification key, information obtained by disturbing the calculation result with a random number may be used instead of the calculation result.
あるいは、本発明の代理署名技術は、次のとおりである。すなわち、署名生成装置は、署名生成鍵と署名検証鍵を生成し、予め署名検証鍵を署名検証装置へ送っておく。端末装置は固有の演算機能を有しており、端末装置は固有データに対するその演算機能による演算結果r1を署名生成装置に送り、当該演算結果r1を破棄する。また、署名生成装置は当該演算結果r1を署名生成鍵の断片の一つとなるように署名生成鍵を3種類の断片r1,u1,v1に分割し[分割処理]、断片u1を自身の記憶部に記憶し、断片v1をバックアップ装置に送り、断片r1と署名生成鍵を破棄する。バックアップ装置は断片v1を自身の記憶部に記憶する。署名プロセスでは、端末装置が改めて上記固有データに対するその演算機能による演算結果r1を署名生成装置に送り、署名生成装置は当該演算結果r1と断片u1から署名生成鍵の復元し、当該署名生成鍵を用いてメッセージに対する電子署名を生成して署名検証装置へ送り、当該演算結果r1と当該署名生成鍵を破棄する。署名検証装置は、電子署名を署名検証鍵で検証する。復旧プロセスでは、代替端末装置は固有の演算機能を有しており、代替端末装置は固有データに対するその演算機能による演算結果r2を署名生成装置に送り、当該演算結果r2を破棄する。また、署名生成装置は断片u1とバックアップ装置から提供を受けたv1から署名生成鍵を復元して、演算結果r2を復元された署名生成鍵の断片の一つとなるように復元された署名生成鍵を3種類の断片r2,u2,v2に分割し[断片更新処理]、断片u2を自身の記憶部に記憶し、断片v2をバックアップ装置に送り、断片r2と署名生成鍵を破棄する。バックアップ装置は断片v2を自身の記憶部に記憶する。 Alternatively, the proxy signature technique of the present invention is as follows. That is, the signature generation device generates a signature generation key and a signature verification key, and sends the signature verification key to the signature verification device in advance. The terminal device has a unique calculation function, and the terminal device sends the calculation result r1 of the calculation function for the unique data to the signature generation device, and discards the calculation result r1. Further, the signature generation apparatus divides the signature generation key into three types of fragments r1, u1, v1 so that the calculation result r1 becomes one of the fragments of the signature generation key [division processing], and the fragment u1 is stored in its own storage unit. The fragment v1 is sent to the backup device, and the fragment r1 and the signature generation key are discarded. The backup device stores the fragment v1 in its storage unit. In the signature process, the terminal device again sends the calculation result r1 by the calculation function for the specific data to the signature generation device, the signature generation device restores the signature generation key from the calculation result r1 and the fragment u1, and the signature generation key is An electronic signature for the message is generated and sent to the signature verification device, and the calculation result r1 and the signature generation key are discarded. The signature verification device verifies the electronic signature with the signature verification key. In the restoration process, the alternative terminal device has a specific calculation function, and the alternative terminal device sends the calculation result r2 of the calculation function for the specific data to the signature generation device and discards the calculation result r2. Also, the signature generation device restores the signature generation key from the fragment u1 and v1 provided from the backup device, and the signature generation key restored so that the operation result r2 becomes one of the restored signature generation key fragments. Is divided into three types of fragments r2, u2, and v2 [fragment update processing], the fragment u2 is stored in its own storage unit, the fragment v2 is sent to the backup device, and the fragment r2 and the signature generation key are discarded. The backup device stores the fragment v2 in its storage unit.
この代理署名技術にて、セキュリティ向上の観点から、署名生成鍵の分割処理およびの断片更新処理の際、上記演算結果r1,r2に替えて、上記演算結果r1,r2を乱数で撹乱して得られる情報s1,s2を用いてもよい。 With this proxy signature technology, from the viewpoint of improving security, the calculation results r1 and r2 can be obtained by randomizing the calculation results r1 and r2 instead of the calculation results r1 and r2 during the signature generation key splitting process and the fragment update process. Information s1 and s2 may be used.
本発明に拠れば、端末装置Aに入力される固有データから、端末装置A以外の端末装置が、端末装置Aの演算結果および当該演算結果から一意に生成される署名生成鍵を求めることが困難であれば、署名生成装置が正しく電子署名の生成および演算結果と署名生成鍵の破棄を行っている限り、端末装置Aが関与すること無く、署名検証鍵を用いて署名検証に合格するような電子署名を生成することは困難となるから、署名生成装置が生成した電子署名は、端末装置Aからの委託に基づくものであり、ユーザの意思の下で生成された電子署名、すなわち証明力の高い電子署名ということができる。 According to the present invention, it is difficult for a terminal device other than the terminal device A to obtain a calculation result of the terminal device A and a signature generation key uniquely generated from the calculation result from unique data input to the terminal device A. If so, as long as the signature generation device correctly generates the electronic signature and discards the calculation result and the signature generation key, the terminal device A does not participate and passes the signature verification using the signature verification key. Since it is difficult to generate an electronic signature, the electronic signature generated by the signature generation device is based on the entrustment from the terminal device A, and the electronic signature generated under the intention of the user, that is, the proof power It can be said to be a high electronic signature.
《実施形態1》
[代理署名システム]
実施形態1の代理署名システム1は、図1に示すように、端末装置100と、署名生成装置200と、署名検証装置300とを少なくとも含んで構成される。これらの各装置は、例えば通信網5を経由して、相互に通信可能とされている。とくに、端末装置100と署名生成装置200との間の通信路は、暗号技術などにより秘匿性の高い通信が実現されていることが望ましい。
[Proxy signature system]
As shown in FIG. 1, the
本発明の代理署名システムは、ユーザの数に応じて一つまたは複数の端末装置100と、サーバ管理者(例えばアプリケーションサービスプロバイダ)の数に応じて一つまたは複数の署名検証装置300を含みえるが、本発明の理解を容易にするため、実施形態1では、代理署名システム1はN個の端末装置100−1,・・・,100−i,・・・,100−Nと一つの署名検証装置300を含むとする。ただし、Nは2以上の整数とする。
The proxy signature system of the present invention can include one or a plurality of
また、本発明の代理署名システムは、一つまたは複数の署名生成装置200を含みえる。代理署名システムが複数の署名生成装置200を含む場合、署名生成と署名検証の一貫性(例えばRSA署名方式などであれば署名生成鍵と署名検証鍵との一対の関係)が保持されるように運用されることが好ましい。例えば、署名検証装置300が端末装置100に対して電子署名を要求する際、端末装置100に対して、端末装置100が電子署名の生成を委託する署名生成装置200を指定する情報を送る仕組みや、或いは、端末装置100が電子署名の生成を委託した署名生成装置200を特定する情報を、当該電子署名を要求した署名検証装置300に送る仕組みが望まれる。このような仕組みは、例えば装置相互間の通信データに当該情報を含めることによって容易に構築される。実施形態1では、本発明の理解を容易にするため、代理署名システム1は一つの署名生成装置200を含むとする。
In addition, the proxy signature system of the present invention can include one or a plurality of
<端末装置>
端末装置100は、計算機能およびデータ送受信機能を有する装置であり、例えばパーソナルコンピュータ、携帯電話、ICカードなどで例示される。とくに、端末装置100が署名生成装置300に電子署名の生成を委託しなければならない状況を想定すると、端末装置100として、計算能力が低い、計算能力が特定の演算に特化されている、或いはアプリケーションソフトウェアの追加が困難であり、さらに言えばアプリケーションソフトウェア毎に異なる電子署名用の鍵生成処理や署名生成処理などを実行することが困難な装置を想定することが、代理署名の必要性を理解しやすくするであろう。
<Terminal device>
The
ただし、端末装置100は、固有の演算機能を有するものとする。この固有の演算機能は、特に限定はなく、例えば鍵付きのハッシュ演算、すなわち鍵データKと入力の固定データSに対してKおよびSを連結したデータS‖Kのハッシュ値Hash(S‖K)を出力する機能などである。ここで鍵データKは端末装置100ごとに異なっている。あるいは、アプリケーションソフトウェアで用いる電子署名とは異なる電子署名機能を予め端末装置100が有しているとき、当該電子署名機能を固有の演算機能としてもよい。
However, the
<署名生成装置>
署名生成装置200は、計算機能およびデータ送受信機能を有する装置である。署名生成装置200は、電子署名を生成するだけの計算能力を有することが好ましい。とくに、署名生成装置200は署名生成鍵(秘密鍵)を扱うことから耐タンパー性を有することが望ましく、署名生成装置200は例えばHSM(Hardware Security Module)やTPM(Trusted Platform Module)によって実現される。
<Signature generation device>
The
<署名検証装置>
署名検証装置300は、計算機能およびデータ送受信機能を有する装置であり、例えばサーバ装置などで例示される。実施形態1では、署名検証装置300は、例えば端末装置100に対してアプリケーションソフトウェアを実行する装置であり、この観点から、爾後、署名検証装置300をAPサーバ装置300と呼称することにする。また、実施形態1では、端末装置100に対する当該アプリケーションソフトウェアの適用には電子署名を要するものとする。
<Signature verification device>
The
代理署名システム1における代理署名処理を、図2を参照しながら叙述する。各装置の機能構成については、図11を参照されたい。なお、N個の端末装置100−1,・・・,100−i,・・・,100−Nのうちのどの端末装置に対しても同じ代理署名処理となるから、この説明では、任意性を考慮してi番目の端末装置100−iに対する代理署名処理を説明する。
The proxy signature process in the
〈登録プロセス〉
まず、署名プロセスに先駆けて署名用の鍵の登録プロセスが実行される。
<Registration process>
First, a signature key registration process is executed prior to the signature process.
APサーバ装置300の固有データ生成部301が、端末装置100−iに固有の固有データhiを生成する(ステップS1)。固有データhiは端末装置100−iを特定する情報(識別子)に対応付けられて、APサーバ装置300の記憶部309に記憶される。
The unique
APサーバ装置300の送信部307が、端末装置100−iに対して固有データhiを送信し(ステップS2)、端末装置100−iの受信部108が、固有データhiを受信する(ステップS3)。
The transmitting
端末装置100−iの固有演算部101が、固有データhiに対して端末装置100−iに固有の演算gを行い、この演算結果ri=g(hi)を出力する(ステップS4)。固有の演算gが例えば上述のハッシュ演算Hashであれば、端末装置100−iに固有の鍵データKiと入力の固有データhiに対してKiおよびhiを連結したデータhi‖Kiのハッシュ値Hash(hi‖Ki)が演算結果riである。 The unique calculation unit 101 of the terminal device 100-i performs a calculation g unique to the terminal device 100-i on the unique data h i and outputs this calculation result r i = g (h i ) (step S4). . If the specific operation g is, for example, the hash operation Hash described above, the data h i ‖K obtained by concatenating K i and h i to the key data K i specific to the terminal device 100- i and the input specific data h i i hash value hash of (h i ‖K i) is a calculation result r i.
端末装置100−iの送信部107は、署名生成装置200に対して演算結果riを送信し(ステップS5)、署名生成装置200の受信部208が、演算結果riを受信する(ステップS6)。ステップS5の処理の後、端末装置100−iの制御部105は、端末装置100−iの図示しない記憶部から演算結果riを消去する処理を行う(ステップS5a)。
The
署名生成装置200の署名鍵生成部201が、演算結果riを用いて少なくとも署名検証鍵PKi=Gen(ri)を生成する(ステップS7)。署名鍵生成部201は、演算結果riをパラメータとして署名生成鍵SKiと署名検証鍵PKiをセットで求めるか、または署名生成鍵SKiと署名検証鍵PKiの何れかを一意に生成する機能Genを持つ。また、署名鍵生成部201は、演算結果riを署名生成鍵SKiとし、演算結果riから署名検証鍵PKiを生成するとしてもよい。実施形態1では、SKi=Gen(ri)=ri,PKi=Gen(ri)とする。本発明で利用可能な署名方式としてRSA署名方式、Schnorr署名方式、これらの改良方式などが挙げられる(参考文献A,B参照)。
(参考文献A)岡本龍明、山本博資著、「現代暗号」、産業図書、1997、ISBN-13: 978-4782853535
(参考文献B)宇根正志、岡本龍明、「最近のデジタル署名における理論研究動向について」、日本銀行金融研究所/金融研究/2000. 4、[平成22年4月14日検索]、インターネット〈http://www.imes.boj.or.jp/japanese/kinyu/2000/kk19-b1-3.pdf〉
The signature key generation unit 201 of the
(Reference A) Tatsuaki Okamoto, Hiroshi Yamamoto, “Contemporary Cryptography”, Sangyo Tosho, 1997, ISBN-13: 978-4782853535
(Reference B) Masashi Une, Tatsuaki Okamoto, “Recent Trends in Theoretical Research on Digital Signatures”, Bank of Japan Financial Research Institute / Financial Studies / 2000.4, [Search April 14, 2010], Internet <http://www.imes.boj.or.jp/japanese/kinyu/2000/kk19-b1-3.pdf>
(Schnorr署名方式)
[鍵生成]
素数pと、p-1の素因数qを選択する。さらに、pを法とする乗法群の元xを選択し、y=g(-x) mod pを求める。ここでgは、pを法とする乗法群の原始元であり、gの位数はqであるとする。署名生成鍵はx、署名検証鍵はy,g,p,qである。
[署名生成]
乱数kを生成し、メッセージMに対する署名(e,s)を生成する。e=Hash(M,r), s=(xe+k) mod q, r=gk mod p. Hashはハッシュ関数である。
[署名検証]
v=gsye mod p, e1=Hash(M,v)を計算し、e=e1の成否を検証する。
(Schnorr signature method)
[Key generation]
Select prime number p and prime factor q of p-1. Further, an element x of a multiplicative group modulo p is selected, and y = g (−x) mod p is obtained. Here, g is a primitive element of a multiplicative group modulo p, and the order of g is q. The signature generation key is x, and the signature verification key is y, g, p, q.
[Signature generation]
A random number k is generated, and a signature (e, s) for the message M is generated. e = Hash (M, r), s = (xe + k) mod q, r = g k mod p. Hash is a hash function.
[Signature verification]
v = g s y e mod p, e1 = Hash (M, v) is calculated, and the success or failure of e = e1 is verified.
(RSA署名方式)
[鍵生成]
十分に大きい素数p,qを選択し、n=pqを求める。p-1とq-1の最小公倍数L=LCM(p-1,q-1)を求める。最大公約数GCD(e,L)=1を満たす自然数eを選択し、ed=1 mod Lを満たすdを選択する。署名生成鍵はd、署名検証鍵はe,nである。
[署名生成]
メッセージMに対する署名Sを生成する。S=(Hash(M))d mod n.
[署名検証]
Hash(M)=Semod nの成否を検証する。
(RSA signature method)
[Key generation]
Select sufficiently large primes p and q to find n = pq. Find the least common multiple L = LCM (p-1, q-1) of p-1 and q-1. A natural number e that satisfies the greatest common divisor GCD (e, L) = 1 is selected, and d that satisfies ed = 1 mod L is selected. The signature generation key is d, and the signature verification key is e, n.
[Signature generation]
Generate a signature S for message M. S = (Hash (M)) d mod n.
[Signature verification]
The success or failure of Hash (M) = S e mod n is verified.
署名生成装置200の送信部207が、APサーバ装置300に対して署名検証鍵PKiを送信し(ステップS8)、APサーバ装置300の受信部308が、署名検証鍵PKiを受信する(ステップS9)。署名検証鍵PKiは端末装置100−iを特定する上記識別子に対応付けられて、APサーバ装置300の記憶部309に記憶される。
The transmission unit 207 of the
なお、ステップS7ないしステップS8の処理の後、署名生成装置200の制御部205が、演算結果riを署名生成装置200の記憶部209から消去する処理を行う(ステップS8a)。
Note that after the processing of step S7 to step S8, the control unit 205 of the
〈署名プロセス〉
次に、APサーバ装置300の持つアプリケーションソフトウェアの端末装置100に対する適用には電子署名が必要であり、例えば端末装置100−iからのAPサーバ装置300に対する要求がトリガーとなって署名プロセスが実施される。
<Signature process>
Next, application of the application software of the
APサーバ装置300の送信部307が、記憶部309に記憶されている端末装置100−iに対応する固有データhiを端末装置100−iに対して送信し(ステップS10)、端末装置100−iの受信部108が、ステップS10にて送信された固有データhiを受信する(ステップS11)。
The
端末装置100−iの固有演算部101が、ステップS11にて受信した固有データhiに対して当該端末装置100−iに固有の演算gを行い、この演算結果ri=g(hi)を出力する(ステップS12)。この演算結果riは、ステップS4の処理で得られたriと同じである。 The unique calculation unit 101 of the terminal device 100-i performs a calculation g specific to the terminal device 100-i on the unique data h i received in step S11, and the calculation result r i = g (h i ). Is output (step S12). The calculation result r i is the same as r i obtained in the process of step S4.
端末装置100−iの送信部107が、署名生成装置200に対してステップS12にて得られた演算結果riを送信し(ステップS13)、署名生成装置200の受信部208が、ステップS13にて送信された演算結果riを受信する(ステップS14)。ステップS13の処理の後、端末装置100−iの制御部105は、端末装置100−iの図示しない記憶部から演算結果riを消去する処理を行う(ステップS13a)。
The
また、APサーバ装置300の送信部307が、署名生成装置200に対して電子署名付与の対象となるメッセージmを送信し(ステップS15)、署名生成装置200の受信部208が、メッセージmを受信する(ステップS16)。
In addition, the
署名生成装置200の署名鍵生成部201が、ステップS13にて受信した演算結果riを用いて少なくとも署名生成鍵SKi=Gen(ri)を生成する(ステップS17)。署名方式は上述のとおりである。実施形態1ではSKi=Gen(ri)=riである。
The signature key generation unit 201 of the
そして、署名生成装置200の署名生成部202が、署名生成鍵SKiを用いてメッセージmに対して電子署名Sig=Gsig(m,SKi)を生成する(ステップS18)。
Then, the signature generation unit 202 of the
署名生成装置200の送信部207が、APサーバ装置300に対して電子署名Sigを送信し(ステップS19)、APサーバ装置300の受信部308が、電子署名Sigを受信する(ステップS20)。
The transmission unit 207 of the
APサーバ装置300の署名検証部302が、記憶部309に記憶されている端末装置100−iに対応する署名検証鍵PKiを用いて電子署名Sigを検証する(ステップS21)。
The signature verification unit 302 of the
なお、ステップS18ないしステップS19の処理の後、署名生成装置200の制御部205が、演算結果riと署名生成鍵SKiを署名生成装置200の記憶部209から消去する処理を行う(ステップS19a)。
Note that after the processing from step S18 to step S19, the control unit 205 of the
以上より、端末装置100−iに入力される固有データhiから、端末装置100−i以外の端末装置が、演算結果riおよび当該演算結果から一意に生成される署名生成鍵SKiを求めることが困難であれば、署名生成装置200が正しく電子署名の生成および演算結果riと署名生成鍵SKiの破棄を行っている限り、端末装置100−iが関与すること無く、署名検証鍵PKiを用いて署名検証に合格するような電子署名Sigを生成することは困難となる。
As described above, the terminal device 100-i other than the terminal device 100-i obtains the calculation result r i and the signature generation key SK i uniquely generated from the calculation result from the unique data h i input to the terminal device 100-i. If it is difficult, as long as the
演算結果は端末装置ごとに固有の演算機能によるものであるため、端末装置100−i以外の端末装置が演算結果riを求めることは通常、困難と見なすことができる。これは例えば上述のとおり、固有の演算機能を鍵付きのハッシュ演算、すなわち鍵データKと入力の固定データSに対してKおよびSを連結したデータS‖Kのハッシュ値Hash(S‖K)を出力する機能とすることで容易に実現できる。また演算結果riをセキュア通信によって署名生成装置200に送信し、署名生成装置200をHSMなどによって実現して処理機能の改変を困難とすることで、不正な演算結果の取得を困難とし、署名生成装置200が正しく電子署名の生成および演算結果の破棄を行っているものと見なすことができる。
Since the calculation result is based on a calculation function unique to each terminal device, it is usually considered difficult for a terminal device other than the terminal device 100- i to obtain the calculation result r i . For example, as described above, a unique calculation function is a hash operation with a key, that is, a hash value Hash (S‖K) of data S‖K obtained by concatenating K and S to key data K and input fixed data S This can be easily realized with the function of outputting. In addition, the calculation result r i is transmitted to the
さらに、署名生成装置200は、署名生成処理の際を除き、署名生成鍵SKiを保有していないため、たとえ第三者装置が署名生成装置200の内部データを得ることができたとしても、署名生成時を除き署名生成鍵SKiを不正に盗まれずに済む。署名生成時点でのリスクについては、署名生成装置200に対する盗難や不正アクセスの痕跡などの異常が確認された場合ただちに署名生成を拒否するといった対応によりリスクヘッジが可能である。
Furthermore, since the
したがって、署名生成装置200が生成した電子署名Sigは、端末装置100−iからの委託に基づくものであり、ユーザの意思の下で生成された電子署名、すなわち証明力の高い電子署名ということができる。
Therefore, the electronic signature Sig generated by the
《実施形態1の変形例》
実施形態1におけるセキュリティを向上させる実施形態1の変形例について説明する(図3参照)。実施形態1では演算結果riが端末装置間で十分にランダムであるか不明であるから、この変形例では、署名生成鍵と署名検証鍵を生成するに際して演算結果riを乱数で撹乱する。
<< Modification of
A modification of the first embodiment for improving security in the first embodiment will be described (see FIG. 3). In the first embodiment, it is unknown whether the calculation result r i is sufficiently random between the terminal devices. In this modification, the calculation result r i is disturbed by a random number when generating the signature generation key and the signature verification key.
具体的には、実施形態1において、ステップS7に替えて、署名生成装置200の署名鍵生成部201が、演算結果riを乱数生成部(図示せず)で生成された乱数tiで撹乱して得られる情報siを用いて少なくとも署名検証鍵PKiを生成する処理(ステップS7p)とし、ステップS17に替えて、署名生成装置200の署名鍵生成部201が、ステップS13にて受信した演算結果riを上記乱数tiで撹乱して得られる情報siを用いて少なくとも署名生成鍵SKiを生成する処理(ステップS17p)とする。これらの他の処理は実施形態1と同じであるから説明を省略する。
Specifically, in the first embodiment, instead of step S7, the signature key generation unit 201 of the
「演算結果riを乱数tiで撹乱して得られる情報si」は例えばsi=ri(+)tiである。ここで(+)は排他的論理和を表す。署名鍵生成部201は、情報siをパラメータとして署名生成鍵SKiと署名検証鍵PKiをセットで求めるか、または署名生成鍵SKiと署名検証鍵PKiの何れかを一意に生成する。また、署名鍵生成部201は、情報siを署名生成鍵SKiとし、情報siから署名検証鍵PKiを生成するとしてもよい。乱数tiは、端末装置100−iを特定する上記識別子に対応付けられて、署名生成装置200の記憶部209に記憶される。
“Information s i obtained by disturbing the operation result r i with the random number t i ” is, for example, s i = r i (+) t i . Here, (+) represents exclusive OR. The signature key generation unit 201 determines the signature generation key SK i and the signature verification key PK i as a set using the information s i as a parameter, or uniquely generates either the signature generation key SK i or the signature verification key PK i . The signature key generation unit 201 may use the information s i as the signature generation key SK i and generate the signature verification key PK i from the information s i . The random number t i is stored in the
このような処理により、署名生成鍵と署名検証鍵を生成するに際して用いられる情報siが十分にランダムであることが保証される。なお、乱数tiはAPサーバ装置300によって生成・保存され、署名プロセスの度に署名生成装置200に送信されるとしてもよい。また、この変形例ではXOR演算を用いて十分なランダム性を保障する処理を説明したが、十分なランダム性を保障することができるならば他の演算を用いてもよい。
Such processing ensures that the information s i used when generating the signature generation key and signature verification key is sufficiently random. Incidentally, the random number t i is generated and stored by the
《実施形態2》
実施形態2は、実施形態1において端末装置からの秘密値(例えば上記鍵データK)の漏洩防止や端末紛失時の秘密値のリカバリを実現することを目的とした実施形態である。実施形態1と同じ構成要素には同じ符号を当ててその重複説明を省略する。
<< Embodiment 2 >>
The second embodiment is an embodiment aimed at preventing leakage of a secret value (for example, the key data K) from the terminal device and recovering the secret value when the terminal is lost in the first embodiment. The same components as those in the first embodiment are denoted by the same reference numerals, and redundant description thereof is omitted.
実施形態2では秘密値を3種類の値(断片)に分け、3種類の断片のうち2種類の断片を用いると当該秘密値を復元でき、1種類の断片だけでは当該秘密値を復元できないような分割技術を用いるものとする。このような分割技術の具体例として、下記参考特許文献に記載されているデータ分割方法が挙げられ、これを援用する。
(参考特許文献)特開2004-213650号公報
In the second embodiment, the secret value is divided into three types of values (fragments), and if two types of fragments are used among the three types of fragments, the secret value can be restored, and the secret value cannot be restored only with one type of fragment. A simple division technique is used. As a specific example of such a dividing technique, there is a data dividing method described in the following reference patent document, and this is used.
(Reference Patent Document) Japanese Patent Application Laid-Open No. 2004-213650
[代理署名システム]
実施形態2の代理署名システム2は、図4に示すように、端末装置100と、署名生成装置200と、署名検証装置300と、代替端末装置400と、バックアップ装置500を少なくとも含んで構成される。これらの各装置は、例えば通信網5を経由して、相互に通信可能とされている。とくに、端末装置100と署名生成装置200との間の通信路、代替端末装置400と署名生成装置200との間の通信路、バックアップ装置500と署名生成装置200との間の通信路それぞれは、暗号技術などにより秘匿性の高い通信が実現されていることが望ましい。
[Proxy signature system]
As illustrated in FIG. 4, the proxy signature system 2 according to the second exemplary embodiment includes at least a
端末装置100、署名生成装置200、署名検証装置300については、実施形態1と同じであるから重複説明を省略する。
Since the
<代替端末装置>
代替端末装置400は、計算機能およびデータ送受信機能を有する装置であり、実質的に端末装置100と同程度の機能が想定される。この意味では代替端末装置400は端末装置100と異なるものではないが、同一ユーザの管理下にある、或いは端末装置100の紛失や破損などを契機として代替端末400が使用されるようになるということを予定している点で、代替端末装置400は端末装置100と異なる。
<Alternative terminal device>
The alternative
<バックアップ装置>
バックアップ装置500は、データ保管とデータ送受信機能を有すれば十分な装置であり、例えばサーバ装置などで例示される。本発明では一つまたは複数のバックアップ装置を含み得るが、実施形態2では、本発明の理解を容易にするため、代理署名システム2は一つのバックアップ装置500を含むとする。
<Backup device>
The
代理署名システム2における代理署名処理を、図5−7を参照しながら叙述する。以降では、端末装置100−iに対応する署名検証鍵をAPサーバ装置300に登録する処理手順(登録プロセス)、署名生成鍵SKiを分割して分散管理する処理手順(分割プロセス)、電子署名を生成する処理手順(署名プロセス)、および署名生成鍵SKiを復元する処理手順(復旧プロセス)に分けて説明する。各装置の機能構成については、図11を参照されたい。 The proxy signature process in the proxy signature system 2 will be described with reference to FIGS. In the following, the processing procedure for registering the signature verification key corresponding to the terminal device 100-i to the AP server 300 (registration process), by dividing the signature generation key SK i distributed management procedure (dividing process), the electronic signature The processing procedure (signature process) for generating the signature and the processing procedure (recovery process) for restoring the signature generation key SK i will be described separately. Refer to FIG. 11 for the functional configuration of each device.
〈登録プロセス〉
署名生成装置の署名鍵生成部201が、署名生成鍵SKiおよび署名検証鍵PKiを生成する(ステップS101)。署名生成鍵SKiは端末装置100−iを特定する情報(識別子)に対応付けられて、署名生成装置200の記憶部209に記憶される。本発明で利用可能な署名方式としてRSA署名方式、Schnorr署名方式、これらの改良方式などが挙げられる(上記参考文献A,B参照)。
<Registration process>
The signature key generation unit 201 of the signature generation device generates a signature generation key SK i and a signature verification key PK i (step S101). The signature generation key SK i is stored in the
署名生成装置200の送信部207が、APサーバ装置300に対して署名検証鍵PKiを送信し(ステップS102)、APサーバ装置300の受信部308が、署名検証鍵PKiを受信する(ステップS103)。署名検証鍵PKiは端末装置100−iを特定する上記識別子に対応付けられて、APサーバ装置300の記憶部309に記憶される。
The transmission unit 207 of the
〈分割プロセス〉
APサーバ装置300の固有データ生成部301が、端末装置100−iに固有の固有データhi1を生成する(ステップS104)。固有データhi1は端末装置100−iを特定する情報(識別子)に対応付けられて、APサーバ装置300の記憶部309に記憶される。
<Division process>
The unique
APサーバ装置300の送信部307が、端末装置100−iに対して固有データhi1を送信し(ステップS105)、端末装置100−iの受信部108が、固有データhi1を受信する(ステップS106)。
The
端末装置100−iの固有演算部101が、固有データhi1に対して端末装置100−iに固有の演算gを行い、この演算結果ri1=g(hi1)を出力する(ステップS107)。固有の演算gが例えば上述のハッシュ演算Hashであれば、端末装置100−iに固有の鍵データKi1と入力の固有データhi1に対してKi1およびhi1を連結したデータhi1‖Ki1のハッシュ値Hash(hi1‖Ki1)が演算結果ri1である。 The unique calculation unit 101 of the terminal device 100-i performs a calculation g unique to the terminal device 100-i on the unique data h i1 and outputs this calculation result r i1 = g (h i1 ) (step S107). . If the specific operation g is, for example, the hash operation Hash described above, the data h i1 ‖K obtained by concatenating K i1 and h i1 to the key data K i1 specific to the terminal device 100-i and the input specific data h i1 . i1 hash value hash of (h i1 ‖K i1) is a calculation result r i1.
端末装置100−iの送信部107は、署名生成装置200に対して演算結果ri1を送信し(ステップS108)、署名生成装置200の受信部208が、演算結果ri1を受信する(ステップS109)。ステップS108の処理の後、端末装置100−iの制御部105は、端末装置100−iの図示しない記憶部から演算結果ri1を消去する処理を行う(ステップS108a)。
The
署名生成装置200の分割部203が、署名生成鍵SKiを分割して得られる3種類の断片のうち少なくとも2種類の断片から署名生成鍵SKiを復元可能であるが、3種類の断片のうち1種類の断片から署名生成鍵SKiを復元不能な上記分割方法に従って、演算結果ri1が署名生成鍵SKiの断片の一つとなるように、記憶部209に記憶されている端末装置100−iに対応する署名生成鍵SKiを3種類の断片ri1,ui1,vi1に分割する(ステップS110)。断片ui1は端末装置100−iを特定する上記識別子に対応付けられて、署名生成装置200の記憶部209に記憶される(ステップS111)。
Dividing unit 203 of the
署名生成装置200の送信部207が、バックアップ装置500に対して断片vi1を送信し(ステップS112)、バックアップ装置500の受信部508が、断片vi1を受信する(ステップS113)。そして、断片vi1は端末装置100−iを特定する上記識別子に対応付けられて、バックアップ装置500の記憶部509に記憶される(ステップS114)。
The transmission unit 207 of the
なお、ステップS110の処理の後、署名生成装置200の制御部205が、演算結果ri1と署名生成鍵SKiを署名生成装置200の記憶部209から消去する処理を行う(ステップS115)。
Note that after the process of step S110, the control unit 205 of the
〈署名プロセス〉
次に、APサーバ装置300の持つアプリケーションソフトウェアの端末装置100に対する適用には電子署名が必要であり、例えば端末装置100−iからのAPサーバ装置300に対する要求がトリガーとなって署名プロセスが実施される。
<Signature process>
Next, application of the application software of the
APサーバ装置300の送信部307が、記憶部309に記憶されている端末装置100−iに対応する固有データhi1を端末装置100−iに対して送信し(ステップS116)、端末装置100−iの受信部108が、ステップS116にて送信された固有データhi1を受信する(ステップS117)。
The
端末装置100−iの固有演算部101が、ステップS117にて受信した固有データhi1に対して端末装置100−iに固有の演算gを行い、この演算結果ri1=g(hi1)を出力する(ステップS118)。この演算結果riは、ステップS107の処理で得られたriと同じである。 The unique computation unit 101 of the terminal device 100-i performs a computation g unique to the terminal device 100-i on the unique data h i1 received in step S117, and obtains this computation result r i1 = g (h i1 ). Output (step S118). The calculation result r i is the same as r i obtained in the process of step S107.
端末装置100−iの送信部107が、署名生成装置200に対してステップS118にて得られた演算結果ri1を送信し(ステップS119)、署名生成装置200の受信部208が、ステップS119にて送信された演算結果ri1を受信する(ステップS120)。ステップS119の処理の後、端末装置100−iの制御部105は、端末装置100−iの図示しない記憶部から演算結果ri1を消去する処理を行う(ステップS119a)。
The
一方、APサーバ装置300の送信部307が、署名生成装置200に対して電子署名付与の対象となるメッセージmを送信し(ステップS121)、署名生成装置200の受信部208が、メッセージmを受信する(ステップS122)。
On the other hand, the
APサーバ装置300の署名生成部202が、ステップS120にて受信した演算結果ri1とAPサーバ装置300の記憶部309に記憶されている断片ui1を用いて署名生成鍵SKiを復元し、復元された署名生成鍵SKiを用いてメッセージmに対して電子署名Sig=Gsig(m,SKi)を生成する(ステップS123)。
The signature generation unit 202 of the
署名生成装置200の送信部207が、APサーバ装置300に対して電子署名Sigを送信し(ステップS124)、APサーバ装置300の受信部308が、電子署名Sigを受信する(ステップS125)。
The transmission unit 207 of the
APサーバ装置300の署名検証部302が、記憶部309に記憶されている端末装置100−iに対応する署名検証鍵PKiを用いて電子署名Sigを検証する(ステップS126)。
The signature verification unit 302 of the
なお、ステップS123の処理の後、署名生成装置200の制御部205が、演算結果ri1と署名生成鍵SKiを署名生成装置200の記憶部209から消去する処理を行う(ステップS124a)。
Note that after the process of step S123, the control unit 205 of the
〈復旧プロセス〉
この復旧プロセスは、端末装置100の紛失や破損などを契機として実施される。
<Recovery process>
This recovery process is performed when the
APサーバ装置300の固有データ生成部301が、代替端末装置400に固有の固有データhi2を生成する(ステップS127)。固有データhi2は固有データhi1に替えて端末装置100−iを特定する情報(識別子)に対応付けられて、さらに、固有データhi2は代替端末装置400を特定する情報(識別子)に対応付けられて、APサーバ装置300の記憶部309に記憶される。
The unique
APサーバ装置300の送信部307が、代替端末装置400に対して固有データhi2を送信し(ステップS128)、代替端末装置400の受信部408が、固有データhi2を受信する(ステップS129)。
The
代替端末装置400の固有演算部401が、固有データhi2に対して代替端末装置400に固有の演算yを行い、この演算結果ri2=y(hi2)を出力する(ステップS130)。固有の演算yが例えば上述のハッシュ演算Hashであれば、代替端末装置400に固有の鍵データKi2と入力の固有データhi2に対してKi2およびhi2を連結したデータhi2‖Ki2のハッシュ値Hash(hi2‖Ki2)が演算結果ri2である。
The
代替端末装置400の送信部407が、署名生成装置200に対して演算結果ri2を送信し(ステップS131)、署名生成装置200の受信部208が、演算結果ri2を受信する(ステップS132)。ステップS131の処理の後、代替端末装置400の制御部405は、代替端末装置400の図示しない記憶部から演算結果ri2を消去する処理を行う(ステップS131a)。
The
署名生成装置200からの要求を受けて、バックアップ装置500の送信部507が、バックアップ装置500の記憶部509に記憶されている、端末装置100−iに対応付けられた断片vi1を署名生成装置200に対して送信し(ステップS133)、署名生成装置200の受信部208が、断片vi1を受信する(ステップS134)。
Upon receiving a request from the
署名生成装置200の断片更新部204が、署名生成装置200の記憶部209に記憶されている断片ui1とステップS214にて受信した断片vi1を用いて署名生成鍵SKiを復元し、上記分割方法に従って、演算結果ri2が復元された署名生成鍵SKiの断片の一つとなるように、復元された署名生成鍵SKiを3種類の断片ri2,ui2,vi2に分割する(ステップS135)。断片ui2は代替端末装置400を特定する上記識別子に対応付けられて、署名生成装置200の記憶部209に記憶される(ステップS136)。
The fragment update unit 204 of the
署名生成装置200の送信部207が、バックアップ装置500に対して断片vi2を送信し(ステップS137)、バックアップ装置500の受信部508が、断片vi2を受信する(ステップS138)。そして、断片vi2は代替端末装置400を特定する上記識別子に対応付けられて、バックアップ装置500の記憶部509に記憶される(ステップS139)。
The transmission unit 207 of the
なお、ステップS135の処理の後、署名生成装置200の制御部205が、演算結果ri2と署名生成鍵SKiを署名生成装置200の記憶部209から消去する処理を行う(ステップS140)。
Note that after the process of step S135, the control unit 205 of the
ステップS135における処理が実行された後は、代替端末装置400からの要求に基づき署名生成装置200が電子署名を生成することになる。つまり、代替端末装置400に対して署名プロセスの各ステップS116−S126が実行される。この際、上述の各ステップS116−S126の説明にて、「端末装置100−i」を「代替端末装置400」に、「固有データhi1」を「固有データhi2」に、「演算結果ri1」を「演算結果ri2」に、「断片ri1」を「断片ri2」に、「断片ui1」を「断片ui2」に、「断片vi1」を「断片vi2」に、「鍵データKi1」を「鍵データKi2」に読み替えればよい。
After the processing in step S135 is executed, the
復旧プロセスでは、端末装置100の紛失や破損が生じても署名検証鍵PKiを変更する必要が無いという運用上のメリットがある。また、紛失した端末装置100−iを不正に用いようとしても、APサーバ装置300が固有データhi1の送信を拒否する、または署名生成装置200が演算結果ri1の受信を拒否することで不正を防ぐことができる。
In the recovery process, there is an operational advantage that it is not necessary to change the signature verification key PK i even if the
《実施形態2の変形例》
実施形態2におけるセキュリティを向上させる実施形態2の変形例について説明する(図8−10)。実施形態2では署名生成鍵SKiの断片となる演算結果riが十分にランダムであるか不明であるから、この変形例では、分割処理を実行するに際して演算結果riを乱数で撹乱する。この処理に併せて署名生成処理および断片更新処理が変更される。
<< Modification of Embodiment 2 >>
A modification of the second embodiment for improving security in the second embodiment will be described (FIGS. 8-10). In the second embodiment, it is unknown whether the calculation result r i that is a fragment of the signature generation key SK i is sufficiently random. Therefore, in this modification, the calculation result r i is disturbed with a random number when the division process is executed. Along with this process, the signature generation process and the fragment update process are changed.
具体的には、実施形態2において、
ステップS110に替えて、署名生成装置200の分割部203が、署名生成鍵SKiを分割して得られる3種類の断片のうち少なくとも2種類の断片から署名生成鍵SKiを復元可能であるが、3種類の断片のうち1種類の断片から署名生成鍵SKiを復元不能な上記分割方法に従って、演算結果ri1を乱数生成部(図示せず)で生成された乱数ti1で撹乱して得られる情報si1が署名生成鍵SKiの断片の一つとなるように、記憶部209に記憶されている端末装置100−iに対応する署名生成鍵SKiを3種類の断片si1,ui1,vi1に分割する処理(ステップS110p)とし、
ステップS123に替えて、APサーバ装置300の署名生成部202が、ステップS200にて受信した演算結果ri1を上記乱数ti1で撹乱して得られる情報si1とAPサーバ装置300の記憶部309に記憶されている断片ui1を用いて署名生成鍵SKiを復元し、復元された署名生成鍵SKiを用いてメッセージmに対して電子署名Sig=(m,SKi)を生成する処理(ステップS123p)とし、
ステップS135に替えて、署名生成装置200の断片更新部204が、署名生成装置200の記憶部209に記憶されている断片ui1とステップS214にて受信した断片vi1を用いて署名生成鍵SKiを復元し、上記分割方法に従って、演算結果ri2を乱数生成部(図示せず)で生成された乱数ti2で撹乱して得られる情報si2が復元された署名生成鍵SKiの断片の一つとなるように、復元された署名生成鍵SKiを3種類の断片si2,ui2,vi2に分割する処理(ステップS135p)とする。これらの他の処理は実施形態2と同じであるから説明を省略する。
Specifically, in the second embodiment,
Instead of step S110, the dividing unit 203 of the
Instead of step S123, the signature generation unit 202 of the
Instead of step S135, the fragment update unit 204 of the
「演算結果ri*を乱数ti*で撹乱して得られる情報si*」(*=1 or 2)は例えばsi*=ri*(+)ti*である。ここで(+)は排他的論理和を表す。乱数ti1は、端末装置100−iを特定する上記識別子に対応付けられて、署名生成装置200の記憶部209に記憶され、乱数ti2は、代替端末装置400を特定する上記識別子に対応付けられて、署名生成装置200の記憶部209に記憶される。
“Information s i * obtained by disturbing the calculation result r i * with a random number t i * ” (* = 1 or 2) is, for example, s i * = r i * (+) t i * . Here, (+) represents exclusive OR. The random number t i1 is associated with the identifier that identifies the terminal device 100-i and is stored in the
このような処理により、署名生成鍵と署名検証鍵を生成するに際して用いられる情報si*が十分にランダムであることが保証される。なお、乱数ti*はAPサーバ装置300によって生成・保存され、署名プロセスの度に署名生成装置200に送信されるとしてもよい。また、この変形例ではXOR演算を用いて十分なランダム性を保障する処理を説明したが、十分なランダム性を保障することができるならば他の演算を用いてもよい。
Such processing ensures that the information s i * used for generating the signature generation key and signature verification key is sufficiently random. Note that the random number t i * may be generated and stored by the
<補記>
代理署名システムに含まれるハードウェアエンティティ(端末装置、署名生成装置、署名検証装置、代替端末装置、バックアップ装置)は、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい。〕、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
<Supplementary note>
Hardware entities (terminal device, signature generation device, signature verification device, alternative terminal device, backup device) included in the proxy signature system are an input unit that can be connected to a keyboard, an output unit that can be connected to a liquid crystal display, etc. A communication unit to which a communication device (for example, a communication cable) that can communicate with the outside of the wear entity can be connected, a CPU (Central Processing Unit) [a cache memory, a register, etc. ], A RAM or ROM that is a memory, an external storage device that is a hard disk, and a bus that connects the input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so that data can be exchanged between them. have. If necessary, a hardware entity may be provided with a device (drive) that can read and write a recording medium such as a CD-ROM. A physical entity having such hardware resources includes a general-purpose computer.
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい。)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。上述の説明では、演算結果やその格納領域のアドレスなどを記憶するRAMやレジスタなどの記憶装置を単に「記憶部」とした。 The external storage device of the hardware entity stores a program necessary for realizing the above functions and data necessary for processing the program (not limited to the external storage device, for example, reading a program) It may be stored in a ROM that is a dedicated storage device.) Data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device. In the above description, a storage device such as a RAM or a register that stores an operation result, an address of a storage area thereof, or the like is simply referred to as a “storage unit”.
ハードウェアエンティティでは、外部記憶装置〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(例えば、固有演算部、固有データ生成部、署名検証部、署名鍵生成部、署名生成部、分割部、断片更新部、制御部など)を実現する。 In the hardware entity, each program stored in an external storage device (or ROM, etc.) and data necessary for processing each program are read into a memory as necessary, and are interpreted and executed by a CPU as appropriate. . As a result, the CPU implements predetermined functions (for example, a specific operation unit, a specific data generation unit, a signature verification unit, a signature key generation unit, a signature generation unit, a division unit, a fragment update unit, and a control unit).
各実施形態で説明したハードウェアエンティティの細部においては、数論における数値計算処理が必要となる場合があるが、数論における数値計算処理自体は、周知技術と同様にして達成されるので、その演算処理方法などの詳細な説明は省略した(この点の技術水準を示す数論における数値計算処理が可能なソフトウェアとしては、例えばPARI/GP、KANT/KASHなどが挙げられる。PARI/GPについては、例えばインターネット〈URL: http://pari.math.u-bordeaux.fr/〉[平成22年4月9日検索]を参照のこと。KANT/KASHについては、例えばインターネット〈URL: http://www.math.tu-berlin.de/algebra/〉[平成22年4月9日検索]を参照のこと。)。
また、この点に関する文献として、参考文献Cを挙げることができる。
(参考文献C) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
In the details of the hardware entity described in each embodiment, numerical calculation processing in number theory may be required, but numerical calculation processing in number theory itself is achieved in the same manner as in the well-known technique. A detailed description of the arithmetic processing method and the like has been omitted (software that can perform numerical calculation processing in number theory indicating the technical level of this point includes, for example, PARI / GP, KANT / KASH, etc. About PARI / GP For example, see the Internet <URL: http://pari.math.u-bordeaux.fr/> [Search April 9, 2010] For KANT / KASH, for example, the Internet <URL: http: / /www.math.tu-berlin.de/algebra/> [Search April 9, 2010].)
Reference literature C can be cited as a literature regarding this point.
(Reference C) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。 The present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the spirit of the present invention. In addition, the processing described in the above embodiment may be executed not only in time series according to the order of description but also in parallel or individually as required by the processing capability of the apparatus that executes the processing. .
また、上記実施形態において説明したハードウェアエンティティにおける処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。 Further, when the processing functions in the hardware entity described in the above embodiment are realized by a computer, the processing contents of the functions that the hardware entity should have are described by a program. Then, by executing this program on a computer, the processing functions in the hardware entity are realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only). Memory), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, a hardware entity is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
Claims (8)
上記端末装置は、
当該端末装置に与えられたデータ(以下、固有データという)に対して当該端末装置に固有の演算を行い演算結果を出力する固有演算部を含み、
上記署名生成装置は、
上記演算結果を用いて署名生成鍵および署名検証鍵を生成可能な署名鍵生成部と、
上記署名生成鍵を用いて上記署名検証装置が設定したメッセージに対して電子署名を生成する署名生成部と、
上記演算結果と上記署名生成鍵を上記署名生成装置の記憶部から消去する処理を行う制御部とを含み、
上記署名検証装置は、
上記端末装置に固有の上記固有データを生成する固有データ生成部と、
上記署名検証鍵を用いて上記電子署名を検証する署名検証部とを含む、
代理署名システム。 A proxy signature system including a terminal device, a signature generation device, and a signature verification device, wherein the signature generation device generates an electronic signature based on a request from the terminal device;
The terminal device is
A unique operation unit that performs an operation specific to the terminal device for data given to the terminal device (hereinafter referred to as unique data) and outputs an operation result;
The signature generation device
A signature key generation unit capable of generating a signature generation key and a signature verification key using the calculation result;
A signature generation unit that generates an electronic signature for the message set by the signature verification apparatus using the signature generation key;
A control unit that performs a process of deleting the calculation result and the signature generation key from the storage unit of the signature generation device,
The signature verification device
A unique data generation unit that generates the unique data unique to the terminal device;
A signature verification unit that verifies the electronic signature using the signature verification key,
Proxy signature system.
上記署名生成装置は、
上記署名生成装置の上記署名鍵生成部に替えて、
上記演算結果を乱数で撹乱して得られる情報を用いて署名生成鍵および署名検証鍵を生成可能な署名鍵生成部を含む
ことを特徴とする代理署名システム。 The proxy signature system according to claim 1,
The signature generation device
Instead of the signature key generation unit of the signature generation device,
A proxy signature system comprising a signature key generation unit capable of generating a signature generation key and a signature verification key using information obtained by disturbing the operation result with a random number.
上記端末装置は、
当該端末装置に与えられたデータ(以下、第1固有データという)に対して当該端末装置に固有の演算を行い演算結果r1を出力する固有演算部を含み、
上記代替端末装置は、
当該代替端末装置に与えられたデータ(以下、第2固有データという)に対して当該代替端末装置に固有の演算を行い演算結果r2を出力する固有演算部を含み、
上記署名生成装置は、
署名生成鍵および署名検証鍵を生成する署名鍵生成部と、
上記署名生成鍵を分割して得られる3種類の断片のうち少なくとも2種類の断片から上記署名生成鍵を復元可能であるが、3種類の断片のうち1種類の断片から上記署名生成鍵を復元不能な分割方法に従って、上記演算結果r1が上記署名生成鍵の断片の一つとなるように、上記署名生成鍵を3種類の断片r1,u1,v1に分割する分割部と、
上記演算結果r1と上記断片u1を用いて上記署名生成鍵を復元し、復元された上記署名生成鍵を用いて上記署名検証装置が設定したメッセージに対して電子署名を生成する署名生成部と、
上記断片u1と上記断片v1を用いて上記署名生成鍵を復元し、上記分割方法に従って、上記演算結果r2が復元された上記署名生成鍵の断片の一つとなるように、復元された上記署名生成鍵を3種類の断片r2,u2,v2に分割する断片更新部と、
上記演算結果r1と上記演算結果r2と上記署名生成鍵を上記署名生成装置の記憶部から消去する処理を行う制御部と、
上記署名生成鍵の断片u1または/および断片u2を記憶する記憶部を含み、
上記署名検証装置は、
上記端末装置と上記代替端末装置それぞれに固有の上記第1固有データと上記第2固有データを生成する固有データ生成部と、
上記署名検証鍵を用いて上記電子署名を検証する署名検証部とを含み、
上記バックアップ装置は、
上記署名生成鍵の断片v1または/および断片v2を記憶する記憶部を含み、
上記断片更新部による処理が実行された後は、上記代替端末装置からの要求に基づき当該署名生成装置が電子署名を生成する
代理署名システム。 A proxy signature including a terminal device, an alternative terminal device, a signature generation device, a signature verification device, and a backup device, and the signature generation device generates an electronic signature based on a request from the terminal device or the alternative terminal device A system,
The terminal device is
A unique operation unit that performs an operation specific to the terminal device for data given to the terminal device (hereinafter referred to as first unique data) and outputs an operation result r1;
The alternative terminal device is
A unique operation unit that performs an operation specific to the alternative terminal device for data given to the alternative terminal device (hereinafter referred to as second unique data) and outputs an operation result r2,
The signature generation device
A signature key generation unit for generating a signature generation key and a signature verification key;
The signature generation key can be restored from at least two of the three types of fragments obtained by dividing the signature generation key, but the signature generation key is restored from one of the three types of fragments. A dividing unit that divides the signature generation key into three types of fragments r1, u1, and v1, so that the operation result r1 becomes one of the fragments of the signature generation key according to an impossible division method;
A signature generation unit that restores the signature generation key using the operation result r1 and the fragment u1, and generates an electronic signature for the message set by the signature verification device using the restored signature generation key;
Reconstructing the signature generation key using the fragment u1 and the fragment v1, and reconstructing the signature so that the operation result r2 becomes one of the reconstructed signature generation key fragments according to the division method A fragment update unit that divides the key into three types of fragments r2, u2, and v2,
A control unit that performs processing to delete the calculation result r1, the calculation result r2, and the signature generation key from the storage unit of the signature generation device;
A storage unit for storing the signature generation key fragment u1 and / or the fragment u2;
The signature verification device
A unique data generation unit that generates the first unique data and the second unique data unique to the terminal device and the alternative terminal device, respectively;
A signature verification unit that verifies the electronic signature using the signature verification key,
The backup device
A storage unit for storing the signature generation key fragment v1 and / or the fragment v2;
A proxy signature system in which the signature generation device generates an electronic signature based on a request from the alternative terminal device after the processing by the fragment update unit is executed.
上記署名生成装置は、
上記署名生成装置の上記分割部に替えて、
上記署名生成鍵を分割して得られる3種類の断片のうち少なくとも2種類の断片から上記署名生成鍵を復元可能であるが、3種類の断片のうち1種類の断片から上記署名生成鍵を復元不能な分割方法に従って、上記演算結果r1を乱数で撹乱して得られる情報s1が上記署名生成鍵の断片の一つとなるように、上記署名生成鍵を3種類の断片s1,u1,v1に分割する分割部と、
上記署名生成部に替えて、
上記演算結果r1を上記乱数で撹乱して得られる情報s1と上記断片u1を用いて上記署名生成鍵を復元し、復元された上記署名生成鍵を用いて上記署名検証装置が設定したメッセージに対して電子署名を生成する署名生成部と、
上記署名生成装置の上記断片更新部に替えて、
上記断片u1と上記断片v1を用いて上記署名生成鍵を復元し、上記分割方法に従って、上記演算結果r2を乱数で撹乱して得られる情報s2が復元された上記署名生成鍵の断片の一つとなるように、復元された上記署名生成鍵を3種類の断片s2,u2,v2に分割する断片更新部とを含む
ことを特徴とする代理署名システム。 In the proxy signature system according to claim 3,
The signature generation device
In place of the dividing unit of the signature generation device,
The signature generation key can be restored from at least two of the three types of fragments obtained by dividing the signature generation key, but the signature generation key is restored from one of the three types of fragments. According to an impossible division method, the signature generation key is divided into three types of fragments s1, u1, and v1 so that the information s1 obtained by disturbing the operation result r1 with a random number becomes one of the fragments of the signature generation key. A dividing part to be
Instead of the signature generator above,
The signature generation key is restored using the information s1 obtained by disturbing the operation result r1 with the random number and the fragment u1, and the message set by the signature verification apparatus using the restored signature generation key A signature generation unit for generating an electronic signature
Instead of the fragment update unit of the signature generation device,
The signature generation key is restored using the fragment u1 and the fragment v1, and the information s2 obtained by disturbing the operation result r2 with a random number is restored according to the division method, A proxy signature system comprising: a fragment update unit that divides the restored signature generation key into three types of fragments s2, u2, and v2.
上記署名検証装置の固有データ生成部が、上記端末装置に固有の固有データを生成する固有データ生成ステップと、
上記署名検証装置の送信部が、上記端末装置に対して上記固有データを送信する第1固有データ送信ステップと、
上記端末装置の受信部が、上記固有データを受信する第1固有データ受信ステップと、
上記端末装置の固有演算部が、上記固有データに対して当該端末装置に固有の演算を行い演算結果を出力する第1固有演算ステップと、
上記端末装置の送信部が、上記署名生成装置に対して上記演算結果を送信する第1演算結果送信ステップと、
上記署名生成装置の受信部が、上記演算結果を受信する第1演算結果受信ステップと、
上記署名生成装置の署名鍵生成部が、上記演算結果を用いて少なくとも署名検証鍵を生成する第1署名鍵生成ステップと、
上記署名生成装置の送信部が、上記署名検証装置に対して上記署名検証鍵を送信する検証鍵送信ステップと、
上記署名検証装置の受信部が、上記署名検証鍵を受信する検証鍵受信ステップと、
上記署名生成装置の制御部が、上記演算結果を上記署名生成装置の記憶部から消去する処理を行う第1破棄ステップと、
上記署名検証装置の送信部が、上記端末装置に対して上記固有データを送信する第2固有データ送信ステップと、
上記端末装置の受信部が、上記第2固有データ送信ステップにて送信された上記固有データを受信する第2固有データ受信ステップと、
上記端末装置の固有演算部が、上記第2固有データ受信ステップにて受信した上記固有データに対して当該端末装置に固有の演算を行い演算結果を出力する第2固有演算ステップと、
上記端末装置の送信部が、上記署名生成装置に対して上記第2固有演算ステップにて得られた上記演算結果を送信する第2演算結果送信ステップと、
上記署名生成装置の受信部が、上記第2演算結果送信ステップにて送信された上記演算結果を受信する第2演算結果受信ステップと、
上記署名検証装置の送信部が、上記署名生成装置に対してメッセージを送信するメッセージ送信ステップと、
上記署名生成装置の受信部が、上記メッセージを受信するメッセージ受信ステップと、
上記署名生成装置の署名鍵生成部が、上記第2演算結果受信ステップにて受信した上記演算結果を用いて少なくとも署名生成鍵を生成する第2署名鍵生成ステップと、
上記署名生成装置の署名生成部が、上記署名生成鍵を用いて上記メッセージに対して電子署名を生成する署名生成ステップと、
上記署名生成装置の送信部が、上記署名検証装置に対して上記電子署名を送信する署名送信ステップと、
上記署名検証装置の受信部が、上記電子署名を受信する署名受信ステップと、
上記署名生成装置の制御部が、上記演算結果と上記署名生成鍵を上記署名生成装置の記憶部から消去する処理を行う第2破棄ステップと、
上記署名検証装置の署名検証部が、上記署名検証鍵を用いて上記電子署名を検証する署名検証ステップと
を有する代理署名方法。 In a proxy signature system including a terminal device, a signature generation device, and a signature verification device, a proxy signature method in which the signature generation device generates an electronic signature based on a request from the terminal device,
A unique data generation step in which the unique data generation unit of the signature verification device generates unique data unique to the terminal device;
A first unique data transmission step in which a transmission unit of the signature verification device transmits the unique data to the terminal device;
A first unique data receiving step in which the receiving unit of the terminal device receives the unique data;
A first unique calculation step in which the unique calculation unit of the terminal device performs a calculation specific to the terminal device on the unique data and outputs a calculation result;
A first computation result transmission step in which the transmission unit of the terminal device transmits the computation result to the signature generation device;
A first computation result receiving step in which the receiving unit of the signature generation device receives the computation result;
A first signature key generation step in which a signature key generation unit of the signature generation device generates at least a signature verification key using the calculation result;
A verification key transmission step in which the transmission unit of the signature generation device transmits the signature verification key to the signature verification device;
A verification key receiving step in which the receiving unit of the signature verification apparatus receives the signature verification key;
A first discard step in which the control unit of the signature generation device performs a process of deleting the calculation result from the storage unit of the signature generation device;
A second unique data transmission step in which the transmission unit of the signature verification device transmits the unique data to the terminal device;
A second unique data receiving step in which the receiving unit of the terminal device receives the unique data transmitted in the second unique data transmitting step;
A second specific calculation step in which the specific calculation unit of the terminal device performs a calculation specific to the terminal device with respect to the specific data received in the second specific data reception step, and outputs a calculation result;
A second computation result transmission step in which the transmission unit of the terminal device transmits the computation result obtained in the second unique computation step to the signature generation device;
A second calculation result receiving step in which the receiving unit of the signature generation device receives the calculation result transmitted in the second calculation result transmitting step;
A message transmission step in which a transmission unit of the signature verification apparatus transmits a message to the signature generation apparatus;
A message receiving step in which the receiving unit of the signature generating apparatus receives the message;
A second signature key generation step in which a signature key generation unit of the signature generation device generates at least a signature generation key using the calculation result received in the second calculation result reception step;
A signature generation step in which a signature generation unit of the signature generation device generates an electronic signature for the message using the signature generation key;
A signature transmission step in which the transmission unit of the signature generation device transmits the electronic signature to the signature verification device;
A signature receiving step in which the receiving unit of the signature verification apparatus receives the electronic signature;
A second discarding step in which the control unit of the signature generation device performs a process of deleting the calculation result and the signature generation key from the storage unit of the signature generation device;
A proxy signature method, wherein the signature verification unit of the signature verification apparatus includes a signature verification step of verifying the electronic signature using the signature verification key.
上記第1署名鍵生成ステップに替えて、
上記署名生成装置の署名鍵生成部が、上記演算結果を乱数で撹乱して得られる情報を用いて少なくとも署名検証鍵を生成する第1署名鍵生成ステップと、
上記第2署名鍵生成ステップに替えて、
上記署名生成装置の署名鍵生成部が、上記第2演算結果受信ステップにて受信した上記演算結果を上記乱数で撹乱して得られる情報を用いて少なくとも署名生成鍵を生成する第2署名鍵生成ステップと
を含むことを特徴とする代理署名方法。 The proxy signing method according to claim 5,
Instead of the first signing key generation step,
A first signature key generation step in which a signature key generation unit of the signature generation device generates at least a signature verification key using information obtained by disturbing the operation result with a random number;
Instead of the second signing key generation step,
Second signature key generation in which the signature key generation unit of the signature generation device generates at least a signature generation key using information obtained by disturbing the calculation result received in the second calculation result receiving step with the random number A surrogate signature method comprising the steps of:
上記署名生成装置の署名鍵生成部が、署名生成鍵および署名検証鍵を生成する署名鍵生成ステップと、
上記署名生成装置の送信部が、上記署名検証装置に対して上記署名検証鍵を送信する検証鍵送信ステップと、
上記署名検証装置の受信部が、上記署名検証鍵を受信する検証鍵受信ステップと、
上記署名検証装置の固有データ生成部が、上記端末装置に固有の第1固有データを生成する第1固有データ生成ステップと、
上記署名検証装置の送信部が、上記端末装置に対して上記第1固有データを送信する第1固有データ送信ステップと、
上記端末装置の受信部が、上記第1固有データを受信する第1固有データ受信ステップと、
上記端末装置の固有演算部が、上記第1固有データに対して当該端末装置に固有の演算を行い演算結果r1を出力する第1固有演算ステップと、
上記端末装置の送信部が、上記署名生成装置に対して上記演算結果r1を送信する第1演算結果送信ステップと、
上記署名生成装置の受信部が、上記演算結果r1を受信する第1演算結果受信ステップと、
上記署名生成装置の分割部が、上記署名生成鍵を分割して得られる3種類の断片のうち少なくとも2種類の断片から上記署名生成鍵を復元可能であるが、3種類の断片のうち1種類の断片から上記署名生成鍵を復元不能な分割方法に従って、上記演算結果r1が上記署名生成鍵の断片の一つとなるように、上記署名生成鍵を3種類の断片r1,u1,v1に分割する分割ステップと、
上記署名生成装置の記憶部が、上記断片u1を記憶する記憶ステップと、
上記署名生成装置の送信部が、上記バックアップ装置に対して上記断片v1を送信する第1断片送信ステップと、
上記バックアップ装置の受信部が、上記断片v1を受信する第1断片受信ステップと、
上記バックアップ装置の記憶部が、上記断片v1を記憶する記憶ステップと、
上記署名生成装置の制御部が、上記演算結果r1と上記署名生成鍵を上記署名生成装置の記憶部から消去する処理を行う第1破棄ステップと、
上記署名検証装置の送信部が、上記端末装置に対して上記第1固有データを送信する第2固有データ送信ステップと、
上記端末装置の受信部が、上記第2固有データ送信ステップにて送信された上記第1固有データを受信する第2固有データ受信ステップと、
上記端末装置の固有演算部が、上記第2固有データ受信ステップにて受信した上記第1固有データに対して当該端末装置に固有の演算を行い演算結果r1を出力する第2固有演算ステップと、
上記端末装置の送信部が、上記署名生成装置に対して上記第2固有演算ステップにて得られた上記演算結果r1を送信する第2演算結果送信ステップと、
上記署名生成装置の受信部が、上記第2演算結果送信ステップにて送信された上記演算結果r1を受信する第2演算結果受信ステップと、
上記署名検証装置の送信部が、上記署名生成装置に対してメッセージを送信するメッセージ送信ステップと、
上記署名生成装置の受信部が、上記メッセージを受信するメッセージ受信ステップと、
上記署名検証装置の署名生成部が、上記第2演算結果受信ステップにて受信した上記演算結果r1と上記署名検証装置の記憶部に記憶されている上記断片u1を用いて上記署名生成鍵を復元し、復元された上記署名生成鍵を用いて上記メッセージに対して電子署名を生成する署名生成ステップと、
上記署名生成装置の送信部が、上記署名検証装置に対して上記電子署名を送信する署名送信ステップと、
上記署名検証装置の受信部が、上記電子署名を受信する署名受信ステップと、
上記署名生成装置の制御部が、上記演算結果r1と上記署名生成鍵を上記署名生成装置の記憶部から消去する処理を行う第2破棄ステップと、
上記署名検証装置の署名検証部が、上記署名検証鍵を用いて上記電子署名を検証する署名検証ステップと、
上記署名検証装置の固有データ生成部が、上記代替端末装置に固有の第2固有データを生成する第2固有データ生成ステップと、
上記署名検証装置の送信部が、上記代替端末装置に対して上記第2固有データを送信する第3固有データ送信ステップと、
上記代替端末装置の受信部が、上記第2固有データを受信する第3固有データ受信ステップと、
上記代替端末装置の固有演算部が、上記第2固有データに対して当該代替端末装置に固有の演算を行い演算結果r2を出力する第3固有演算ステップと、
上記代替端末装置の送信部が、上記署名生成装置に対して上記演算結果r2を送信する第3演算結果送信ステップと、
上記署名生成装置の受信部が、上記演算結果r2を受信する第3演算結果受信ステップと、
上記バックアップ装置の送信部が、上記署名生成装置に対して当該バックアップ装置の記憶部に記憶されている上記断片v1を送信する第2断片送信ステップと、
上記署名生成装置の受信部が、上記断片v1を受信する第2断片受信ステップと、
上記署名生成装置の断片更新部が、当該署名生成装置の記憶部に記憶されている上記断片u1と上記第2断片受信ステップにて受信した上記断片v1を用いて上記署名生成鍵を復元し、上記分割方法に従って、上記演算結果r2が復元された上記署名生成鍵の断片の一つとなるように、復元された上記署名生成鍵を3種類の断片r2,u2,v2に分割する断片更新ステップと、
上記署名生成装置の記憶部が、上記断片u2を記憶する記憶ステップと、
上記署名生成装置の送信部が、上記バックアップ装置に対して上記断片v2を送信する第3断片送信ステップと、
上記バックアップ装置の受信部が、上記断片v2を受信する第3断片受信ステップと、
上記バックアップ装置の記憶部が、上記断片v2を記憶する記憶ステップと、
上記署名生成装置の制御部が、上記演算結果r2と上記署名生成鍵を上記署名生成装置の記憶部から消去する処理を行う第3破棄ステップとを有し、
上記断片更新ステップにおける処理が実行された後は、上記代替端末装置からの要求に基づき当該署名生成装置が電子署名を生成する
代理署名方法。 In a proxy signature system including a terminal device, an alternative terminal device, a signature generation device, a signature verification device, and a backup device, the signature generation device receives an electronic signature based on a request from the terminal device or the alternative terminal device. A proxy signing method to generate,
A signature key generation step in which a signature key generation unit of the signature generation device generates a signature generation key and a signature verification key;
A verification key transmission step in which the transmission unit of the signature generation device transmits the signature verification key to the signature verification device;
A verification key receiving step in which the receiving unit of the signature verification apparatus receives the signature verification key;
A unique data generation unit of the signature verification apparatus that generates first unique data unique to the terminal device;
A first unique data transmission step in which a transmission unit of the signature verification device transmits the first unique data to the terminal device;
A first unique data receiving step in which the receiving unit of the terminal device receives the first unique data;
A first unique calculation step in which a unique calculation unit of the terminal device performs a calculation specific to the terminal device on the first unique data and outputs a calculation result r1;
A first computation result transmission step in which a transmission unit of the terminal device transmits the computation result r1 to the signature generation device;
A reception unit of the signature generation apparatus receiving a first calculation result r1 for receiving the calculation result r1;
The division unit of the signature generation device can restore the signature generation key from at least two types of fragments among the three types of fragments obtained by dividing the signature generation key. The signature generation key is divided into three types of fragments r1, u1, and v1 so that the calculation result r1 becomes one of the fragments of the signature generation key according to a division method in which the signature generation key cannot be recovered from the fragments of A splitting step;
A storage step in which the storage unit of the signature generation device stores the fragment u1,
A first fragment transmission step in which a transmission unit of the signature generation device transmits the fragment v1 to the backup device;
A first fragment receiving step in which the receiving unit of the backup device receives the fragment v1;
A storage step in which the storage unit of the backup device stores the fragment v1, and
A first discard step in which the control unit of the signature generation device performs a process of deleting the calculation result r1 and the signature generation key from the storage unit of the signature generation device;
A second unique data transmission step in which the transmission unit of the signature verification device transmits the first unique data to the terminal device;
A second unique data receiving step in which the receiving unit of the terminal device receives the first unique data transmitted in the second unique data transmitting step;
A second unique calculation step in which the unique calculation unit of the terminal device performs a calculation specific to the terminal device with respect to the first unique data received in the second unique data reception step, and outputs a calculation result r1;
A second computation result transmission step in which the transmission unit of the terminal device transmits the computation result r1 obtained in the second unique computation step to the signature generation device;
A second calculation result receiving step in which the receiving unit of the signature generation device receives the calculation result r1 transmitted in the second calculation result transmitting step;
A message transmission step in which a transmission unit of the signature verification apparatus transmits a message to the signature generation apparatus;
A message receiving step in which the receiving unit of the signature generating apparatus receives the message;
The signature generation unit of the signature verification apparatus restores the signature generation key using the calculation result r1 received in the second calculation result receiving step and the fragment u1 stored in the storage unit of the signature verification apparatus A signature generation step for generating an electronic signature for the message using the restored signature generation key;
A signature transmission step in which the transmission unit of the signature generation device transmits the electronic signature to the signature verification device;
A signature receiving step in which the receiving unit of the signature verification apparatus receives the electronic signature;
A second discarding step in which the control unit of the signature generation device performs a process of deleting the calculation result r1 and the signature generation key from the storage unit of the signature generation device;
A signature verification step in which the signature verification unit of the signature verification apparatus verifies the electronic signature using the signature verification key;
A second unique data generation step in which the unique data generation unit of the signature verification device generates second unique data unique to the alternative terminal device;
A third unique data transmission step in which the transmission unit of the signature verification device transmits the second unique data to the alternative terminal device;
A third unique data receiving step in which the receiving unit of the alternative terminal device receives the second unique data;
A third unique calculation step in which the unique calculation unit of the alternative terminal device performs a calculation specific to the alternative terminal device on the second specific data and outputs a calculation result r2.
A third computation result transmission step in which the transmission unit of the alternative terminal device transmits the computation result r2 to the signature generation device;
A third calculation result receiving step in which the receiving unit of the signature generation device receives the calculation result r2,
A second fragment transmission step in which the transmission unit of the backup device transmits the fragment v1 stored in the storage unit of the backup device to the signature generation device;
A second fragment receiving step in which the receiving unit of the signature generation apparatus receives the fragment v1,
The fragment update unit of the signature generation device restores the signature generation key using the fragment u1 stored in the storage unit of the signature generation device and the fragment v1 received in the second fragment reception step, A fragment update step of dividing the restored signature generation key into three types of fragments r2, u2, and v2 so that the operation result r2 becomes one of the restored fragments of the signature generation key according to the division method; ,
A storage step in which the storage unit of the signature generation device stores the fragment u2, and
A third fragment transmission step in which the transmission unit of the signature generation device transmits the fragment v2 to the backup device;
A third fragment receiving step in which the receiving unit of the backup device receives the fragment v2,
A storage step in which the storage unit of the backup device stores the fragment v2, and
A control unit of the signature generation device includes a third discarding step for performing a process of erasing the calculation result r2 and the signature generation key from the storage unit of the signature generation device;
A proxy signature method in which the signature generation apparatus generates an electronic signature based on a request from the alternative terminal apparatus after the processing in the fragment update step is executed.
上記分割ステップに替えて、
上記署名生成装置の分割部が、上記署名生成鍵を分割して得られる3種類の断片のうち少なくとも2種類の断片から上記署名生成鍵を復元可能であるが、3種類の断片のうち1種類の断片から上記署名生成鍵を復元不能な分割方法に従って、上記演算結果r1を乱数で撹乱して得られる情報s1が上記署名生成鍵の断片の一つとなるように、上記署名生成鍵を3種類の断片s1,u1,v1に分割する分割ステップと、
上記署名生成ステップに替えて、
上記署名検証装置の署名生成部が、上記第2演算結果受信ステップにて受信した上記演算結果r1を上記乱数で撹乱して得られる情報s1と上記署名検証装置の記憶部に記憶されている上記断片u1を用いて上記署名生成鍵を復元し、復元された上記署名生成鍵を用いて上記メッセージに対して電子署名を生成する署名生成ステップと、
上記断片更新ステップに替えて、
上記署名生成装置の断片更新部が、上記署名生成装置の記憶部に記憶されている上記断片u1と上記第2断片受信ステップにて受信した上記断片v1を用いて上記署名生成鍵を復元し、上記分割方法に従って、上記演算結果r2を乱数で撹乱して得られる情報s2が復元された上記署名生成鍵の断片の一つとなるように、復元された上記署名生成鍵を3種類の断片s2,u2,v2に分割する断片更新ステップと
を含むことを特徴とする代理署名方法。 The proxy signing method according to claim 7,
Instead of the above division step,
The division unit of the signature generation device can restore the signature generation key from at least two types of fragments among the three types of fragments obtained by dividing the signature generation key. Three types of signature generation keys are used so that information s1 obtained by disturbing the operation result r1 with a random number becomes one of the fragments of the signature generation key according to a division method in which the signature generation key cannot be recovered from the fragments of Splitting step to s1, u1, v1
Instead of the above signature generation step,
The signature generation unit of the signature verification apparatus stores information s1 obtained by disturbing the calculation result r1 received in the second calculation result reception step with the random number and the storage unit of the signature verification apparatus A signature generation step of restoring the signature generation key using the fragment u1 and generating an electronic signature for the message using the restored signature generation key;
Instead of the fragment update step above,
The fragment update unit of the signature generation device restores the signature generation key using the fragment u1 stored in the storage unit of the signature generation device and the fragment v1 received in the second fragment reception step, According to the division method, the restored signature generation key is divided into three types of fragments s2, so that the information s2 obtained by disturbing the operation result r2 with a random number becomes one of the restored signature generation key fragments. and a fragment update step of dividing into u2 and v2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010116241A JP5513255B2 (en) | 2010-05-20 | 2010-05-20 | Proxy signature system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010116241A JP5513255B2 (en) | 2010-05-20 | 2010-05-20 | Proxy signature system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011244321A true JP2011244321A (en) | 2011-12-01 |
JP5513255B2 JP5513255B2 (en) | 2014-06-04 |
Family
ID=45410493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010116241A Expired - Fee Related JP5513255B2 (en) | 2010-05-20 | 2010-05-20 | Proxy signature system and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5513255B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021014611A1 (en) * | 2019-07-24 | 2021-01-28 | ||
US11295017B2 (en) * | 2017-01-31 | 2022-04-05 | Ford Global Technologies, Llc | Over-the-air updates security |
US11451403B2 (en) | 2020-01-20 | 2022-09-20 | Fujitsu Limited | Verification method, information processing device, and non-transitory computer-readable storage medium for storing verification program |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001197055A (en) * | 2000-01-07 | 2001-07-19 | Nippon Steel Corp | Device, method, and service system for proxy authentication and computer-readable recording medium |
JP2002341762A (en) * | 2001-05-14 | 2002-11-29 | Nippon Telegr & Teleph Corp <Ntt> | Electronic signature agency method, and device, program and recording medium therefor |
JP2004135058A (en) * | 2002-10-10 | 2004-04-30 | Nippon Telegr & Teleph Corp <Ntt> | System, method, and program for confirming possession of article and recording medium for the same program |
JP2004140636A (en) * | 2002-10-18 | 2004-05-13 | Nec Corp | System, server, and program for sign entrustment of electronic document |
JP2005050311A (en) * | 2003-07-16 | 2005-02-24 | Nippon Telegr & Teleph Corp <Ntt> | Method and system for providing service |
JP2005123883A (en) * | 2003-10-16 | 2005-05-12 | Japan Science & Technology Agency | Electronic signature system |
JP2007184892A (en) * | 2005-12-07 | 2007-07-19 | Ntt Docomo Inc | Proxy terminal, server device, proxy terminal communication path setting method, and server device communication path setting method |
JP2007189605A (en) * | 2006-01-16 | 2007-07-26 | Toshiba Corp | Group signature system, device, program and method |
JP2008505571A (en) * | 2004-07-01 | 2008-02-21 | テクノストア アクチエンゲゼルシャフト | Method, system and security means for data archiving with automatic encryption and decryption by key fragmentation |
JP2008148033A (en) * | 2006-12-11 | 2008-06-26 | Nippon Telegr & Teleph Corp <Ntt> | Proxy signature device, signer device, signature verification device, and their programs |
JP2009111695A (en) * | 2007-10-30 | 2009-05-21 | Kddi Corp | Attribute authenticating system, and attribute authenticating method in the system, and program |
WO2009113444A1 (en) * | 2008-03-10 | 2009-09-17 | 三菱電機株式会社 | Confidential information management device, information processing device, and confidential information management system |
WO2009155568A2 (en) * | 2008-06-19 | 2009-12-23 | Qualcomm Incorporated | Methods and apparatus for reducing the effectiveness of chosen location attacks in a peer-to-peer overlay network |
-
2010
- 2010-05-20 JP JP2010116241A patent/JP5513255B2/en not_active Expired - Fee Related
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001197055A (en) * | 2000-01-07 | 2001-07-19 | Nippon Steel Corp | Device, method, and service system for proxy authentication and computer-readable recording medium |
JP2002341762A (en) * | 2001-05-14 | 2002-11-29 | Nippon Telegr & Teleph Corp <Ntt> | Electronic signature agency method, and device, program and recording medium therefor |
JP2004135058A (en) * | 2002-10-10 | 2004-04-30 | Nippon Telegr & Teleph Corp <Ntt> | System, method, and program for confirming possession of article and recording medium for the same program |
JP2004140636A (en) * | 2002-10-18 | 2004-05-13 | Nec Corp | System, server, and program for sign entrustment of electronic document |
JP2005050311A (en) * | 2003-07-16 | 2005-02-24 | Nippon Telegr & Teleph Corp <Ntt> | Method and system for providing service |
JP2005123883A (en) * | 2003-10-16 | 2005-05-12 | Japan Science & Technology Agency | Electronic signature system |
JP2008505571A (en) * | 2004-07-01 | 2008-02-21 | テクノストア アクチエンゲゼルシャフト | Method, system and security means for data archiving with automatic encryption and decryption by key fragmentation |
JP2007184892A (en) * | 2005-12-07 | 2007-07-19 | Ntt Docomo Inc | Proxy terminal, server device, proxy terminal communication path setting method, and server device communication path setting method |
JP2007189605A (en) * | 2006-01-16 | 2007-07-26 | Toshiba Corp | Group signature system, device, program and method |
JP2008148033A (en) * | 2006-12-11 | 2008-06-26 | Nippon Telegr & Teleph Corp <Ntt> | Proxy signature device, signer device, signature verification device, and their programs |
JP2009111695A (en) * | 2007-10-30 | 2009-05-21 | Kddi Corp | Attribute authenticating system, and attribute authenticating method in the system, and program |
WO2009113444A1 (en) * | 2008-03-10 | 2009-09-17 | 三菱電機株式会社 | Confidential information management device, information processing device, and confidential information management system |
WO2009155568A2 (en) * | 2008-06-19 | 2009-12-23 | Qualcomm Incorporated | Methods and apparatus for reducing the effectiveness of chosen location attacks in a peer-to-peer overlay network |
Non-Patent Citations (1)
Title |
---|
寺家谷 純,宮地 充子: ""階層的IDベース署名の構築に向けて"", 電子情報通信学会技術研究報告, vol. 105, no. 664, JPN6013064490, 10 March 2006 (2006-03-10), JP, pages 109 - 112, ISSN: 0002776126 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11295017B2 (en) * | 2017-01-31 | 2022-04-05 | Ford Global Technologies, Llc | Over-the-air updates security |
JPWO2021014611A1 (en) * | 2019-07-24 | 2021-01-28 | ||
WO2021014611A1 (en) * | 2019-07-24 | 2021-01-28 | 日本電気株式会社 | Secret computation server, trail management method, and program |
JP7409380B2 (en) | 2019-07-24 | 2024-01-09 | 日本電気株式会社 | Secure calculation server, trail management method and program |
US11451403B2 (en) | 2020-01-20 | 2022-09-20 | Fujitsu Limited | Verification method, information processing device, and non-transitory computer-readable storage medium for storing verification program |
Also Published As
Publication number | Publication date |
---|---|
JP5513255B2 (en) | 2014-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11842317B2 (en) | Blockchain-based authentication and authorization | |
US20220318907A1 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
US10754693B2 (en) | Secure transfer of control over computational entities in a distributed computing environment | |
WO2021114819A1 (en) | Methods for generating and executing smart contract transaction and device | |
JP6370722B2 (en) | Inclusive verification of platform to data center | |
Kumar et al. | An efficient and secure protocol for ensuring data storage security in cloud computing | |
AU2021370924B2 (en) | Certificate based security using post quantum cryptography | |
CN111989891A (en) | Data processing method, related device and block chain system | |
JP4782343B2 (en) | How to authenticate anonymous users while reducing the possibility of “middleman” fraud | |
JP7316283B2 (en) | Computer-implemented method and system for obtaining digitally signed data | |
CN111245597A (en) | Key management method, system and equipment | |
GB2399906A (en) | Delegating authority | |
CN111949602A (en) | Outsourcing data safety migration method and system supporting integrity verification | |
Chen et al. | Data dynamics for remote data possession checking in cloud storage | |
Azraoui et al. | Stealthguard: Proofs of retrievability with hidden watchdogs | |
CN113411345A (en) | Method and device for secure session | |
WO2019174402A1 (en) | Group membership issuing method and device for digital group signature | |
US12034868B2 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
Yu et al. | Veridedup: A verifiable cloud data deduplication scheme with integrity and duplication proof | |
CN111314066B (en) | Block chain-based data transfer method, terminal and computer-readable storage medium | |
CN110635899B (en) | IBC user key updating method and device | |
Homoliak et al. | An air-gapped 2-factor authentication for smart-contract wallets | |
JP5513255B2 (en) | Proxy signature system and method | |
CN116561820B (en) | Trusted data processing method and related device | |
JP6939313B2 (en) | Distributed authentication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20111121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20111121 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140303 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140325 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140327 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5513255 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |