JPWO2014112551A1 - 分割保管装置、秘密鍵分割保管方法 - Google Patents
分割保管装置、秘密鍵分割保管方法 Download PDFInfo
- Publication number
- JPWO2014112551A1 JPWO2014112551A1 JP2014557492A JP2014557492A JPWO2014112551A1 JP WO2014112551 A1 JPWO2014112551 A1 JP WO2014112551A1 JP 2014557492 A JP2014557492 A JP 2014557492A JP 2014557492 A JP2014557492 A JP 2014557492A JP WO2014112551 A1 JPWO2014112551 A1 JP WO2014112551A1
- Authority
- JP
- Japan
- Prior art keywords
- divided
- secret key
- dec
- sig
- split
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3252—Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
秘密鍵の漏洩による秘密情報の漏洩のリスクを低減する。本発明の秘密鍵分割システムは、秘密鍵SKを復号時または署名生成時に統合できるように分割し、それぞれの分割秘密鍵をk1,…,skNを分割保管装置で記録する。そして、定期的または所定の条件を満たす時に統合できる条件を満たす別の分割秘密鍵の組に変更する。本発明の秘密鍵分割保管システムによれば、分割秘密鍵を変更する間隔内に、すべての分割保管装置から分割秘密鍵を盗まなければ秘密鍵SKが分からない。したがって、1個の装置から秘密鍵が漏洩するリスクに比べ、大幅に漏洩のリスクを低減できる。
Description
本発明は、暗号・認証のための秘密鍵を安全に保管するための秘密鍵分割保管システム、分割保管装置、秘密鍵分割保管方法に関する。
暗号・認証のための秘密鍵を保管することは重要な問題である。現代暗号においては、秘密鍵が漏洩しないことが安全性の前提である。そのため、秘密鍵が漏洩しないようにするために、鍵を保管する耐タンパなハードウェアが研究され、TPM(Trusted Platform Module)やHSM(Hardware security module)のような製品が実用化されている。
秘密鍵の漏洩による秘密情報漏洩を防止する方法としては、秘密鍵を更新する方法も考えられる。このような技術としては特許文献1などが知られている。
しかしながら、TPMやHSMのようなハードウェアは低速であり、大量の鍵を保管したい場合には容量が十分でない場合が多い。一方、秘密鍵を定期的に、または定めた条件の基に更新する方法も、秘密鍵が漏洩してから更新するまでの間に秘密情報が漏洩するリスクがある。
本発明は、このような課題を鑑みてなされたものであり、秘密鍵の漏洩による秘密情報の漏洩のリスクを低減することを目的とする。
本発明の第1の秘密鍵分割保管システムは、公開鍵PKを用いて平文Mを暗号化し、暗号文Cを出力する暗号化装置と、公開鍵PKに対応する秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つを記録するN個の分割保管装置と、暗号文Cを復号した平文Mを求める統合手段とを備える。まず、Nは2以上の整数、nは1以上N以下の整数、Dec(C,SK)は秘密鍵SKを用いて暗号文Cを復号することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(m1,…,mN)はm1,…,mNを変数とする関数とし、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
の関係が成り立つとする。そして、第1の秘密鍵分割保管システムでは、すべての分割保管装置は、復号部と分割秘密鍵変更部とを備える。復号部は、それぞれが記録する分割秘密鍵sknを用いて分割平文mnをmn=Dec(C,skn)のように求め、統合手段に分割平文mnを送る。分割秘密鍵変更部は、
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
=f(Dec(C,sk1’),…,Dec(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する。統合手段は、平文MをM=f(m1,…,mN)のように求める。
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
の関係が成り立つとする。そして、第1の秘密鍵分割保管システムでは、すべての分割保管装置は、復号部と分割秘密鍵変更部とを備える。復号部は、それぞれが記録する分割秘密鍵sknを用いて分割平文mnをmn=Dec(C,skn)のように求め、統合手段に分割平文mnを送る。分割秘密鍵変更部は、
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
=f(Dec(C,sk1’),…,Dec(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する。統合手段は、平文MをM=f(m1,…,mN)のように求める。
本発明の第2の秘密鍵分割保管システムは、公開鍵PKを用いて平文Mを暗号化し、暗号文Cを出力する暗号化装置と、公開鍵PKに対応する秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つを記録するN個の分割保管装置とを備えた秘密鍵分割保管システムである。まず、Nは2以上の整数、nは1以上N以下の整数、Dec(C,SK)は秘密鍵SKを用いて暗号文Cを復号することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(Dec(C,skn),mn+1)はDec(C,skn),mn+1を変数とする関数とし、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
の関係が成り立つとする。分割秘密鍵skNを記録する分割保管装置は、分割秘密鍵skNを用いて分割平文mNをmN=Dec(C,skN)のように求め、分割平文mNを、分割秘密鍵skN−1を記録する分割保管装置に送る復号部を備える。分割秘密鍵skn(ただし、Nが3以上であって、nが2,…,N−1のいずれか)を記録する分割保管装置は、分割秘密鍵skn+1を記録する分割保管装置から取得した分割平文mn+1と分割秘密鍵sknを用いて分割平文mnをmn=f(Dec(C,skn),mn+1)のように求め、分割平文mnを、分割秘密鍵skn−1を記録する分割保管装置に送る復号部を備える。分割秘密鍵sk1を記録する分割保管装置は、分割秘密鍵sk2を記録する分割保管装置から取得した分割平文m2と分割秘密鍵sk1を用いて平文MをM=f(Dec(C,sk1),m2)のように求める復号部を備える。すべての分割保管装置は、さらに、
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
mN=Dec(C,skN’)
mn=f(Dec(C,skn’),mn+1)
M=m1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更部も備える。
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
の関係が成り立つとする。分割秘密鍵skNを記録する分割保管装置は、分割秘密鍵skNを用いて分割平文mNをmN=Dec(C,skN)のように求め、分割平文mNを、分割秘密鍵skN−1を記録する分割保管装置に送る復号部を備える。分割秘密鍵skn(ただし、Nが3以上であって、nが2,…,N−1のいずれか)を記録する分割保管装置は、分割秘密鍵skn+1を記録する分割保管装置から取得した分割平文mn+1と分割秘密鍵sknを用いて分割平文mnをmn=f(Dec(C,skn),mn+1)のように求め、分割平文mnを、分割秘密鍵skn−1を記録する分割保管装置に送る復号部を備える。分割秘密鍵sk1を記録する分割保管装置は、分割秘密鍵sk2を記録する分割保管装置から取得した分割平文m2と分割秘密鍵sk1を用いて平文MをM=f(Dec(C,sk1),m2)のように求める復号部を備える。すべての分割保管装置は、さらに、
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
mN=Dec(C,skN’)
mn=f(Dec(C,skn’),mn+1)
M=m1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更部も備える。
本発明の第3の秘密鍵分割保管システムは、秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つを記録するN個の分割保管装置と、平文Mに対する署名Σを求める統合手段とを備える。まず、Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(σ1,…,σN)はσ1,…,σNを変数とする関数とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(C,skN))
の関係が成り立つとする。すべての分割保管装置は、生成部と分割秘密鍵変更部を備える。生成部は、それぞれが記録する分割秘密鍵sknを用いて分割署名σnをσn=Sig(M,skn)のように求め、統合手段に分割署名σnを送る。分割秘密鍵変更部は、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
=f(Sig(M,sk1’),…,Sig(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する。統合手段は、署名ΣをΣ=f(σ1,…,σN)のように求める。
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(C,skN))
の関係が成り立つとする。すべての分割保管装置は、生成部と分割秘密鍵変更部を備える。生成部は、それぞれが記録する分割秘密鍵sknを用いて分割署名σnをσn=Sig(M,skn)のように求め、統合手段に分割署名σnを送る。分割秘密鍵変更部は、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
=f(Sig(M,sk1’),…,Sig(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する。統合手段は、署名ΣをΣ=f(σ1,…,σN)のように求める。
本発明の第4の秘密鍵分割保管システムは、秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つを記録するN個の分割保管装置を備え、平文Mに対する署名を生成する。まず、Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(Sig(M,skn),σn+1)はSig(M,skn),σn+1を変数とする関数とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
σN=Sig(M,skN)
σn=f(Sig(M,skn),σn+1)
Σ=σ1
の関係が成り立つとする。分割秘密鍵skNを記録する分割保管装置は、分割秘密鍵skNを用いて分割署名σNをσN=Sig(M,skN)のように求め、分割署名σNを、分割秘密鍵skN−1を記録する分割保管装置に送る生成部を備える。分割秘密鍵skn(ただし、Nが3以上であって、nが2,…,N−1のいずれか)を記録する分割保管装置は、分割秘密鍵skn+1を記録する分割保管装置から取得した分割署名σn+1と分割秘密鍵sknを用いて分割署名σnをσn=f(Sig(M,skn),σn+1)のように求め、分割署名σnを、分割秘密鍵skn−1を記録する分割保管装置に送る生成部を備える。分割秘密鍵sk1を記録する分割保管装置は、分割秘密鍵sk2を記録する分割保管装置から取得した分割署名σ2と分割秘密鍵sk1を用いて署名ΣをΣ=f(Sig(M,sk1),σ2)のように求める生成部を備える。すべての分割保管装置は、さらに、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skN’)
σn=f(Sig(M,skn’),σn+1)
Σ=σ1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更部も備える。
Sig(M,SK)=Sig(M,g(sk1,…,skN))
σN=Sig(M,skN)
σn=f(Sig(M,skn),σn+1)
Σ=σ1
の関係が成り立つとする。分割秘密鍵skNを記録する分割保管装置は、分割秘密鍵skNを用いて分割署名σNをσN=Sig(M,skN)のように求め、分割署名σNを、分割秘密鍵skN−1を記録する分割保管装置に送る生成部を備える。分割秘密鍵skn(ただし、Nが3以上であって、nが2,…,N−1のいずれか)を記録する分割保管装置は、分割秘密鍵skn+1を記録する分割保管装置から取得した分割署名σn+1と分割秘密鍵sknを用いて分割署名σnをσn=f(Sig(M,skn),σn+1)のように求め、分割署名σnを、分割秘密鍵skn−1を記録する分割保管装置に送る生成部を備える。分割秘密鍵sk1を記録する分割保管装置は、分割秘密鍵sk2を記録する分割保管装置から取得した分割署名σ2と分割秘密鍵sk1を用いて署名ΣをΣ=f(Sig(M,sk1),σ2)のように求める生成部を備える。すべての分割保管装置は、さらに、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skN’)
σn=f(Sig(M,skn’),σn+1)
Σ=σ1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更部も備える。
本発明の秘密鍵分割保管システムによれば、分割秘密鍵を変更する間隔内に、すべての分割保管装置から分割秘密鍵を盗まなければ秘密鍵SKが分からない。したがって、1個の装置から秘密鍵が漏洩するリスクに比べ、大幅に漏洩のリスクを低減できる。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
図1に実施例1の秘密鍵分割保管システムの機能構成例を示す。図2に暗号文を平文に復号する処理フローを、図3〜5に分割秘密鍵を変更する処理フローの例を示す。実施例1の秘密鍵分割保管システムは、ネットワーク900で接続された暗号化装置600、N個の分割保管装置1001,…,100N、統合手段130を備える。暗号化装置600は、公開鍵PKを用いて平文Mを暗号化し、暗号文Cを出力する。分割保管装置100nは、公開鍵PKに対応する秘密鍵SKを分割した分割秘密鍵sk1,…,skNの中の分割秘密鍵sknを記録する。統合手段130は、暗号文Cを復号した平文Mを求める。図1では、統合手段130は点線で色々な場所に示している。このように、統合手段130は独立した1つの装置でもよいし、いずれかの分割保管装置100nの内部に備えられていてもよい。また、色々な装置が統合手段130を備えておき、復号の処理フローごとにどの統合手段130を用いるのかを選択してもよい。
ここで、Nは2以上の整数、nは1以上N以下の整数、Dec(C,SK)は秘密鍵SKを用いて暗号文Cを復号することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(m1,…,mN)はm1,…,mNを変数とする関数、^はべき乗を示す記号とし、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
の関係が成り立つとする。
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
の関係が成り立つとする。
それぞれの分割保管装置100nは、復号部110n、分割秘密鍵変更部120n、記録部190nを備える。記録部190nは、分割秘密鍵sknを記録している。復号部110nは、分割秘密鍵sknを用いて分割平文mnをmn=Dec(C,skn)のように求め、統合手段130に分割平文mnを送る(S110n)。統合手段130は、平文MをM=f(m1,…,mN)のように求める(S130)。
分割秘密鍵変更部120nは、定期的に、または所定の条件に適合したときに、
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
=f(Dec(C,sk1’),…,Dec(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。所定の条件に適合したときとは、所定の回数復号の処理を行ったときなどであり、適宜定めればよい。例えば、
SK=sk1+…+skN
の関係が成り立てば
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
=f(Dec(C,sk1’),…,Dec(C,skN’))
が成り立つように、関数g、fを決めた場合、分割秘密鍵変更部120nは、
sk1’+…+skN’ = sk1+…+skN
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
=f(Dec(C,sk1’),…,Dec(C,skN’))
が成り立つように、関数g、fを決めた場合、分割秘密鍵変更部120nは、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
=f(Dec(C,sk1’),…,Dec(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。所定の条件に適合したときとは、所定の回数復号の処理を行ったときなどであり、適宜定めればよい。例えば、
SK=sk1+…+skN
の関係が成り立てば
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
=f(Dec(C,sk1’),…,Dec(C,skN’))
が成り立つように、関数g、fを決めた場合、分割秘密鍵変更部120nは、
sk1’+…+skN’ = sk1+…+skN
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
=f(Dec(C,sk1’),…,Dec(C,skN’))
が成り立つように、関数g、fを決めた場合、分割秘密鍵変更部120nは、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。
図3に示した分割秘密鍵を変更する処理フローの場合、分割保管装置100nの分割秘密鍵の変更分をαnとし、分割保管装置1001,…,100Nが、
α1+…+αN =0
または
α1+…+αN mod q =0
となるように、α1,…,αNを求め、分割保管装置100nがαnを取得する(S121)。そして、分割秘密鍵変更部120nが
skn’=skn+αn
のように分割秘密鍵を変更する(S122n)。
α1+…+αN =0
または
α1+…+αN mod q =0
となるように、α1,…,αNを求め、分割保管装置100nがαnを取得する(S121)。そして、分割秘密鍵変更部120nが
skn’=skn+αn
のように分割秘密鍵を変更する(S122n)。
図4に示した分割秘密鍵を変更する処理フローの場合、2つの分割保管装置100i,100jを選択する。なお、iとjは1以上N以下のi≠jの整数である。また、N=2の場合は、i=1,j=2またはi=2,j=1である。そして、分割保管装置100i,100jの間で変更分αを共有する(S121ij)。そして、分割保管装置100iの分割秘密鍵変更部120iが
ski’=ski+α
のように分割秘密鍵を変更し、分割保管装置100jの分割秘密鍵変更部120jが
skj’=skj−α
のように分割秘密鍵を変更する(S122ij)。すべての分割保管装置が選択されたかを確認し、この処理を繰り返すかを判断する(S124)。この繰り返し処理によってすべての分割秘密鍵が変更される。なお、このように2つの分割保管装置の間で値αを共有し、分割秘密鍵ski,skjを、αを用いてそれぞれ、ski’,skj’に変更する方法の場合、値αを共有するステップ(S121ij)では、認証鍵交換プロトコルを用いることができる。認証鍵交換プロトコルであれば、分割保管装置100iと分割保管装置100jの両方が生成した乱数を用いてαが決まるので、いずれの分割保管装置も恣意的にαを決めることができない。したがって、より安全性を高くできる。
ski’=ski+α
のように分割秘密鍵を変更し、分割保管装置100jの分割秘密鍵変更部120jが
skj’=skj−α
のように分割秘密鍵を変更する(S122ij)。すべての分割保管装置が選択されたかを確認し、この処理を繰り返すかを判断する(S124)。この繰り返し処理によってすべての分割秘密鍵が変更される。なお、このように2つの分割保管装置の間で値αを共有し、分割秘密鍵ski,skjを、αを用いてそれぞれ、ski’,skj’に変更する方法の場合、値αを共有するステップ(S121ij)では、認証鍵交換プロトコルを用いることができる。認証鍵交換プロトコルであれば、分割保管装置100iと分割保管装置100jの両方が生成した乱数を用いてαが決まるので、いずれの分割保管装置も恣意的にαを決めることができない。したがって、より安全性を高くできる。
図5に示した分割秘密鍵を変更する処理フローは、N=2の場合の処理フローである。この場合は、分割保管装置を選択する必要がないので、分割保管装置1001,1002の間で変更分αを共有する(S121)。そして、分割保管装置1001の分割秘密鍵変更部1201が
sk1’=sk1+α
のように分割秘密鍵を変更し、分割保管装置1002の分割秘密鍵変更部1202が
sk2’=sk2−α
のように分割秘密鍵を変更すればよい(S122)。この場合も、値αを共有するステップ(S121)では、認証鍵交換プロトコルを用いることができる。
sk1’=sk1+α
のように分割秘密鍵を変更し、分割保管装置1002の分割秘密鍵変更部1202が
sk2’=sk2−α
のように分割秘密鍵を変更すればよい(S122)。この場合も、値αを共有するステップ(S121)では、認証鍵交換プロトコルを用いることができる。
実施例1の秘密鍵分割保管システムによれば、分割秘密鍵を変更する間隔内に、すべての分割保管装置から分割秘密鍵を盗まなければ秘密鍵SKが分からない。したがって、1個の装置から秘密鍵が漏洩するリスクに比べ、大幅に漏洩のリスクを低減できる。
なお、以下のように運用すれば、秘密鍵SKを1個の装置で記録している既存の復号装置を、実施例1の分割保管装置100Nに移行することも可能である。既存の復号装置に分割秘密鍵変更部120Nを追加し、記録部1901,…,190N−1にsk1=…=skN−1=0を記録した分割保管装置1001,…,100N−1をネットワーク900につなぐ。このように構成すれば、初期状態がskN=SK,sk1=…=skN−1=0となる。そして、最初の分割秘密鍵の組(sk1,…,skN)の変更によって、秘密鍵を分割すれば、実施例1の秘密鍵分割保管システムを構成できる。したがって、実施例1の秘密鍵分割保管システムであれば、既存のシステムからも容易に移行できる。
<適用できる暗号方式の具体例>
実施例1の秘密鍵分割保管システムを実現するためには、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
の関係が成り立たなければならない。ここでは、この関係が成り立つ暗号方式を紹介する。ただし、上記の関係が成り立てば、これらの暗号方式に限定するものではない。
実施例1の秘密鍵分割保管システムを実現するためには、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
の関係が成り立たなければならない。ここでは、この関係が成り立つ暗号方式を紹介する。ただし、上記の関係が成り立てば、これらの暗号方式に限定するものではない。
(1)RSA暗号
RSA暗号では、qを2つの大きい素数の合成数(積)とし、公開鍵PKを{q,e}、秘密鍵SKをdとすると、平文Mと暗号文Cは、
C=M^e mod q
M=Dec(C,d)=C^d mod q
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN
f(Dec(C,sk1),…,Dec(C,skN))
=Dec(C,sk1)×…×Dec(C,skN) mod q
のように定め、分割秘密鍵の組(sk1,…,skN)を、
d=SK=sk1+…+skN
が成り立つように選択すれば、
Dec(C,skn)=C^skn mod q
なので、
f(Dec(C,sk1),…,Dec(C,skN))
=C^(sk1+…+skN) mod q
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
が成り立つ。
RSA暗号では、qを2つの大きい素数の合成数(積)とし、公開鍵PKを{q,e}、秘密鍵SKをdとすると、平文Mと暗号文Cは、
C=M^e mod q
M=Dec(C,d)=C^d mod q
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN
f(Dec(C,sk1),…,Dec(C,skN))
=Dec(C,sk1)×…×Dec(C,skN) mod q
のように定め、分割秘密鍵の組(sk1,…,skN)を、
d=SK=sk1+…+skN
が成り立つように選択すれば、
Dec(C,skn)=C^skn mod q
なので、
f(Dec(C,sk1),…,Dec(C,skN))
=C^(sk1+…+skN) mod q
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
が成り立つ。
(2)ElGamal暗号
ElGamal暗号では、公開鍵PKを{g,h}、秘密鍵SKをx、rを乱数とすると(ただし、h=g^x、xとrは0以上q−1以下の整数、qは巡回群Gの位数、gは巡回群Gの生成元)、巡回群Gの要素である平文Mと暗号文Cは、
C={C1,C2}={g^r,Mh^r}
M=Dec(C,x)=C2/(C1^x)
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,sk1),…,Dec(C,skN))
=Dec(C,sk1)×…×Dec(C,skN)/(C2^(N−1))
のように定め、分割秘密鍵の組(sk1,…,skN)を、
x=SK=sk1+…+skN mod q
が成り立つように選択すれば、
Dec(C,skn)=C2/(C1^skn)
なので、
f(Dec(C,sk1),…,Dec(C,skN))
=C2/(C1^sk1)×…×C2/(C1^skN)/(C2^(N−1))
=C2/(C1^(sk1+…+skN)
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
が成り立つ。
ElGamal暗号では、公開鍵PKを{g,h}、秘密鍵SKをx、rを乱数とすると(ただし、h=g^x、xとrは0以上q−1以下の整数、qは巡回群Gの位数、gは巡回群Gの生成元)、巡回群Gの要素である平文Mと暗号文Cは、
C={C1,C2}={g^r,Mh^r}
M=Dec(C,x)=C2/(C1^x)
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,sk1),…,Dec(C,skN))
=Dec(C,sk1)×…×Dec(C,skN)/(C2^(N−1))
のように定め、分割秘密鍵の組(sk1,…,skN)を、
x=SK=sk1+…+skN mod q
が成り立つように選択すれば、
Dec(C,skn)=C2/(C1^skn)
なので、
f(Dec(C,sk1),…,Dec(C,skN))
=C2/(C1^sk1)×…×C2/(C1^skN)/(C2^(N−1))
=C2/(C1^(sk1+…+skN)
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
が成り立つ。
(3)楕円ElGamal暗号
楕円ElGamal暗号では、公開鍵PKを{G,H}、秘密鍵SKをx、rを乱数とすると(ただし、H=xG、xは1以上q−1以下の整数、rは0以上q−1以下の整数、qは楕円曲線上のベースポイントGの位数)、平文Mと暗号文Cは、
C={C1,C2}={rG,M+rH}
M=Dec(C,x)=C2−xC1
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,sk1),…,Dec(C,skN))
=Dec(C,sk1)+…+Dec(C,skN)−(N−1)C2
のように定め、分割秘密鍵の組(sk1,…,skN)を、
x=SK=sk1+…+skN mod q
が成り立つように選択すれば、
Dec(C,skn)=C2−sknC1
なので、
f(Dec(C,sk1),…,Dec(C,skN))
=C2−sk1C1+…+C2−skNC1−(N−1)C2
=C2−(sk1+…+skN)C1
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
が成り立つ。
楕円ElGamal暗号では、公開鍵PKを{G,H}、秘密鍵SKをx、rを乱数とすると(ただし、H=xG、xは1以上q−1以下の整数、rは0以上q−1以下の整数、qは楕円曲線上のベースポイントGの位数)、平文Mと暗号文Cは、
C={C1,C2}={rG,M+rH}
M=Dec(C,x)=C2−xC1
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,sk1),…,Dec(C,skN))
=Dec(C,sk1)+…+Dec(C,skN)−(N−1)C2
のように定め、分割秘密鍵の組(sk1,…,skN)を、
x=SK=sk1+…+skN mod q
が成り立つように選択すれば、
Dec(C,skn)=C2−sknC1
なので、
f(Dec(C,sk1),…,Dec(C,skN))
=C2−sk1C1+…+C2−skNC1−(N−1)C2
=C2−(sk1+…+skN)C1
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
が成り立つ。
(4)IDベース暗号
IDベース暗号では、公開鍵PKを{PID,P,Q}、秘密鍵SKをSID、rを乱数とすると(ただし、SID=sPID、Q=sP、PIDはIDをハッシュ関数を用いて変換した位数qの楕円曲線上の点、Pは前記楕円曲線上の部分群の生成元、sはマスター秘密鍵、e(,)は前記楕円曲線上のペアリング)、平文Mと暗号文Cは、
C={C1,C2}={rP,M・e(PID,rQ)}
M=Dec(C,SID)=C2・e(SID,C1)−1
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,sk1),…,Dec(C,skN))
=Dec(C,sk1)×…×Dec(C,skN)/(C2^(N−1))
のように定め、分割秘密鍵の組(sk1,…,skN)を、
SID=SK=sk1+…+skN mod q
が成り立つように選択すれば、
Dec(C,skn)=C2・e(skn,C1)−1
なので、
f(Dec(C,sk1),…,Dec(C,skN))
=C2・e(sk1,C1)−1…C2・e(skN,C1)−1/(C2^(N−1))
=C2・e(sk1+…+skN,C1)−1
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
が成り立つ。
IDベース暗号では、公開鍵PKを{PID,P,Q}、秘密鍵SKをSID、rを乱数とすると(ただし、SID=sPID、Q=sP、PIDはIDをハッシュ関数を用いて変換した位数qの楕円曲線上の点、Pは前記楕円曲線上の部分群の生成元、sはマスター秘密鍵、e(,)は前記楕円曲線上のペアリング)、平文Mと暗号文Cは、
C={C1,C2}={rP,M・e(PID,rQ)}
M=Dec(C,SID)=C2・e(SID,C1)−1
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,sk1),…,Dec(C,skN))
=Dec(C,sk1)×…×Dec(C,skN)/(C2^(N−1))
のように定め、分割秘密鍵の組(sk1,…,skN)を、
SID=SK=sk1+…+skN mod q
が成り立つように選択すれば、
Dec(C,skn)=C2・e(skn,C1)−1
なので、
f(Dec(C,sk1),…,Dec(C,skN))
=C2・e(sk1,C1)−1…C2・e(skN,C1)−1/(C2^(N−1))
=C2・e(sk1+…+skN,C1)−1
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
が成り立つ。
図6に実施例2の秘密鍵分割保管システムの機能構成例を、図7に暗号文を平文に復号する処理フローを示す。分割秘密鍵を変更する処理フローの例は、図3〜5と同じである。実施例2の秘密鍵分割保管システムは、ネットワーク900で接続された暗号化装置600、N個の分割保管装置2001,…,200Nを備える。暗号化装置600は、公開鍵PKを用いて平文Mを暗号化し、暗号文Cを出力する。分割保管装置200nは、公開鍵PKに対応する秘密鍵SKを分割した分割秘密鍵sk1,…,skNの中の分割秘密鍵sknを記録する。
ここで、Nは2以上の整数、nは1以上N以下の整数、Dec(C,SK)は秘密鍵SKを用いて暗号文Cを復号することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(Dec(C,skn),mn+1)はDec(C,skn)とmn+1を変数とする関数、^はべき乗を示す記号とし、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
の関係が成り立つとする。
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
の関係が成り立つとする。
それぞれの分割保管装置200nは、復号部210n、分割秘密鍵変更部120n、記録部190nを備える。記録部190nは、分割秘密鍵sknを記録している。分割保管装置200Nの復号部210Nは、分割秘密鍵skNを用いて分割平文mNをmN=Dec(C,skN)のように求め、分割平文mNを分割保管装置200N−1に送る(S210N)。
分割保管装置200n(ただし、n=2,…,N−1)の復号部210nは、分割保管装置n+1から取得した分割平文mn+1と分割秘密鍵sknを用いて、分割平文mnをmn=f(Dec(C,skn),mn+1)のように求める。そして、分割平文mnを、分割保管装置200n−1に送る(S210n)。ただし、N=2の場合は、分割保管装置200n(ただし、n=2,…,N−1)は存在しない。
分割保管装置2001の復号部2101は、分割保管装置2002から取得した分割平文m2と分割秘密鍵sk1を用いて、平文MをM=f(Dec(C,sk1),m2)のように求める(S2101)。
分割秘密鍵変更部120nは、定期的に、または所定の条件に適合したときに、
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
mN=Dec(C,skN’)
mn=f(Dec(C,skn’),mn+1)
M=m1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。例えば、
SK=sk1+…+skN
の関係が成り立てば
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ = sk1+…+skN
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。これらの例の場合、組(sk1’,…,skN’)に求められる条件は実施例1と同じなので、組(sk1’,…,skN’)を変更するフローは、実施例1と同じである(図3〜5)。
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
mN=Dec(C,skN’)
mn=f(Dec(C,skn’),mn+1)
M=m1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。例えば、
SK=sk1+…+skN
の関係が成り立てば
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ = sk1+…+skN
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。これらの例の場合、組(sk1’,…,skN’)に求められる条件は実施例1と同じなので、組(sk1’,…,skN’)を変更するフローは、実施例1と同じである(図3〜5)。
よって、実施例2の秘密鍵分割保管システムでも、分割秘密鍵を変更する間隔内に、すべての分割保管装置から分割秘密鍵を盗まなければ秘密鍵SKが分からない。したがって、1個の装置から秘密鍵が漏洩するリスクに比べ、大幅に漏洩のリスクを低減できる。
なお、以下のように運用すれば、秘密鍵SKを1個の装置で記録している既存の復号装置を、実施例2の分割保管装置200Nに移行することも可能である。既存の復号装置に分割秘密鍵変更部120Nを追加し、記録部1901,…,190N−1にsk1=…=skN−1=0を記録した分割保管装置2001,…,200N−1をネットワーク900につなぐ。このように構成すれば、初期状態がskN=SK,sk1=…=skN−1=0となる。そして、最初の分割秘密鍵の組(sk1,…,skN)の変更によって、秘密鍵を分割すれば、実施例2の秘密鍵分割保管システムを構成できる。したがって、実施例2の秘密鍵分割保管システムであれば、既存のシステムからも容易に移行できる。
<適用できる暗号方式の具体例>
実施例2の秘密鍵分割保管システムを実現するためには、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
の関係が成り立たなければならない。ここでは、この関係が成り立つ暗号方式を紹介する。ただし、上記の関係が成り立てば、これらの暗号方式に限定するものではない。
実施例2の秘密鍵分割保管システムを実現するためには、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
の関係が成り立たなければならない。ここでは、この関係が成り立つ暗号方式を紹介する。ただし、上記の関係が成り立てば、これらの暗号方式に限定するものではない。
(1)RSA暗号
RSA暗号では、qを2つの大きい素数の合成数(積)とし、公開鍵PKを{q,e}、秘密鍵SKをdとすると、平文Mと暗号文Cは、
C=M^e mod q
M=Dec(C,d)=C^d mod q
の関係が成り立つ。そこで、関数g、fを、
g(sk1,…,skN)=sk1+…+skN
f(Dec(C,skn),mn+1)
=Dec(C,skn)×mn+1 mod q
のように定め、分割秘密鍵の組(sk1,…,skN)を、
d=SK=sk1+…+skN
が成り立つように選択すれば、
mN=Dec(C,skN)=C^skN mod q
なので、
mN−1=f(Dec(C,skN−1),mN)
=C^(skN−1+skN) mod q
となる。そして、これが繰り返されるので、
mn=f(Dec(C,skn),mn+1)
=C^(skn+・・・+skN) mod q
となり、
m1=C^(sk1+・・・+skN) mod q
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つ。
RSA暗号では、qを2つの大きい素数の合成数(積)とし、公開鍵PKを{q,e}、秘密鍵SKをdとすると、平文Mと暗号文Cは、
C=M^e mod q
M=Dec(C,d)=C^d mod q
の関係が成り立つ。そこで、関数g、fを、
g(sk1,…,skN)=sk1+…+skN
f(Dec(C,skn),mn+1)
=Dec(C,skn)×mn+1 mod q
のように定め、分割秘密鍵の組(sk1,…,skN)を、
d=SK=sk1+…+skN
が成り立つように選択すれば、
mN=Dec(C,skN)=C^skN mod q
なので、
mN−1=f(Dec(C,skN−1),mN)
=C^(skN−1+skN) mod q
となる。そして、これが繰り返されるので、
mn=f(Dec(C,skn),mn+1)
=C^(skn+・・・+skN) mod q
となり、
m1=C^(sk1+・・・+skN) mod q
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つ。
(2)ElGamal暗号
ElGamal暗号では、公開鍵PKを{g,h}、秘密鍵SKをx、rを乱数とすると(ただし、h=g^x、xとrは0以上q−1以下の整数、qは巡回群Gの位数、gは巡回群Gの生成元)、巡回群Gの要素である平文Mと暗号文Cは、
C={C1,C2}={g^r,Mh^r}
M=Dec(C,x)=C2/(C1^x)
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,skn),mn+1)
=(Dec(C,skn)×mn+1)/C2
のように定め、分割秘密鍵の組(sk1,…,skN)を、
x=SK=sk1+…+skN mod q
が成り立つように選択すれば、
mN=Dec(C,skN)=C2/(C1^skN) mod q
なので、
mN−1=f(Dec(C,skN−1),mN)
=(Dec(C,skN−1)×mN)/C2
=(C2/(C1^skN−1)・C2/(C1^skN))/C2
=C2/((C1^skN−1)(C1^skN))
=C2/(C1^(skN−1+skN))
となる。そして、これが繰り返されるので、
mn=f(Dec(C,skn),mn+1)
=C2/(C1^(skn+・・・+skN))
となり、
m1=C2/(C1^(skn+・・・+skN))
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つ。
ElGamal暗号では、公開鍵PKを{g,h}、秘密鍵SKをx、rを乱数とすると(ただし、h=g^x、xとrは0以上q−1以下の整数、qは巡回群Gの位数、gは巡回群Gの生成元)、巡回群Gの要素である平文Mと暗号文Cは、
C={C1,C2}={g^r,Mh^r}
M=Dec(C,x)=C2/(C1^x)
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,skn),mn+1)
=(Dec(C,skn)×mn+1)/C2
のように定め、分割秘密鍵の組(sk1,…,skN)を、
x=SK=sk1+…+skN mod q
が成り立つように選択すれば、
mN=Dec(C,skN)=C2/(C1^skN) mod q
なので、
mN−1=f(Dec(C,skN−1),mN)
=(Dec(C,skN−1)×mN)/C2
=(C2/(C1^skN−1)・C2/(C1^skN))/C2
=C2/((C1^skN−1)(C1^skN))
=C2/(C1^(skN−1+skN))
となる。そして、これが繰り返されるので、
mn=f(Dec(C,skn),mn+1)
=C2/(C1^(skn+・・・+skN))
となり、
m1=C2/(C1^(skn+・・・+skN))
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つ。
(3)楕円ElGamal暗号
楕円ElGamal暗号では、公開鍵PKを{G,H}、秘密鍵SKをx、rを乱数とすると(ただし、H=xG、xは1以上q−1以下の整数、rは0以上q−1以下の整数、qは楕円曲線上のベースポイントGの位数)、平文Mと暗号文Cは、
C={C1,C2}={rG,M+rH}
M=Dec(C,x)=C2−xC1
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,skn),mn+1)
=Dec(C,skn)+mn+1−C2
のように定め、分割秘密鍵の組(sk1,…,skN)を、
x=SK=sk1+…+skN mod q
が成り立つように選択すれば、
mN=Dec(C,skN)=C2−skNC1
なので、
mN−1=f(Dec(C,skN−1),mN)
=Dec(C,skN−1)+mN−C2
=C2−skN−1C1+C2−skNC1−C2
=C2−skN−1C1−skNC1
=C2−(skN−1+skN)C1
となる。そして、これが繰り返されるので、
mn=f(Dec(C,skn),mn+1)
=C2−(skn+・・・+skN)C1
となり、
m1=C2−(sk1+・・・+skN)C1
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つ。
楕円ElGamal暗号では、公開鍵PKを{G,H}、秘密鍵SKをx、rを乱数とすると(ただし、H=xG、xは1以上q−1以下の整数、rは0以上q−1以下の整数、qは楕円曲線上のベースポイントGの位数)、平文Mと暗号文Cは、
C={C1,C2}={rG,M+rH}
M=Dec(C,x)=C2−xC1
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,skn),mn+1)
=Dec(C,skn)+mn+1−C2
のように定め、分割秘密鍵の組(sk1,…,skN)を、
x=SK=sk1+…+skN mod q
が成り立つように選択すれば、
mN=Dec(C,skN)=C2−skNC1
なので、
mN−1=f(Dec(C,skN−1),mN)
=Dec(C,skN−1)+mN−C2
=C2−skN−1C1+C2−skNC1−C2
=C2−skN−1C1−skNC1
=C2−(skN−1+skN)C1
となる。そして、これが繰り返されるので、
mn=f(Dec(C,skn),mn+1)
=C2−(skn+・・・+skN)C1
となり、
m1=C2−(sk1+・・・+skN)C1
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つ。
(4)IDベース暗号
IDベース暗号では、公開鍵PKを{PID,P,Q}、秘密鍵SKをSID、rを乱数とすると(ただし、SID=sPID、Q=sP、PIDはIDをハッシュ関数を用いて変換した位数qの楕円曲線上の点、Pは前記楕円曲線上の部分群の生成元、sはマスター秘密鍵、e(,)は前記楕円曲線上のペアリング)、平文Mと暗号文Cは、
C={C1,C2}={rP,M・e(PID,rQ)}
M=Dec(C,SID)=C2・e(SID,C1)−1
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,skn),mn+1)
=(Dec(C,skn)×mn+1)/C2
のように定め、分割秘密鍵の組(sk1,…,skN)を、
SID=SK=sk1+…+skN mod q
が成り立つように選択すれば、
mN=Dec(C,skN)=C2・e(skN,C1)−1
なので、
mN−1=f(Dec(C,skN−1),mN)
=(Dec(C,skN−1)×mN)/C2
=(C2・e(skN−1,C1)−1・C2・e(skN,C1)−1)/C2
=C2・e(skN−1,C1)−1e(skN,C1)−1
=C2・e(skN−1+skN,C1)−1
となる。そして、これが繰り返されるので、
mn=f(Dec(C,skn),mn+1)
=C2・e(skn+・・・+skN,C1)−1
となり、
m1=C2・e(sk1+・・・+skN,C1)−1
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つ。
IDベース暗号では、公開鍵PKを{PID,P,Q}、秘密鍵SKをSID、rを乱数とすると(ただし、SID=sPID、Q=sP、PIDはIDをハッシュ関数を用いて変換した位数qの楕円曲線上の点、Pは前記楕円曲線上の部分群の生成元、sはマスター秘密鍵、e(,)は前記楕円曲線上のペアリング)、平文Mと暗号文Cは、
C={C1,C2}={rP,M・e(PID,rQ)}
M=Dec(C,SID)=C2・e(SID,C1)−1
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,skn),mn+1)
=(Dec(C,skn)×mn+1)/C2
のように定め、分割秘密鍵の組(sk1,…,skN)を、
SID=SK=sk1+…+skN mod q
が成り立つように選択すれば、
mN=Dec(C,skN)=C2・e(skN,C1)−1
なので、
mN−1=f(Dec(C,skN−1),mN)
=(Dec(C,skN−1)×mN)/C2
=(C2・e(skN−1,C1)−1・C2・e(skN,C1)−1)/C2
=C2・e(skN−1,C1)−1e(skN,C1)−1
=C2・e(skN−1+skN,C1)−1
となる。そして、これが繰り返されるので、
mn=f(Dec(C,skn),mn+1)
=C2・e(skn+・・・+skN,C1)−1
となり、
m1=C2・e(sk1+・・・+skN,C1)−1
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つ。
図8に実施例3の秘密鍵分割保管システムの機能構成例を、図9に署名を生成する処理フローを示す。分割秘密鍵を変更する処理フローは図3〜5と同じである。実施例3の秘密鍵分割保管システムは、ネットワーク900で接続された署名検証装置700、N個の分割保管装置3001,…,300N、統合手段330を備える。署名検証装置700は、作成された署名Σの正当性を検証する装置である。分割保管装置300nは、公開鍵PKに対応する秘密鍵SKを分割した分割秘密鍵sk1,…,skNの中の分割秘密鍵sknを記録する。統合手段330は、平文Mに対する署名Σを求める。図8では、統合手段330は点線で色々な場所に示している。このように、統合手段330は独立した1つの装置でもよいし、いずれかの分割保管装置300nの内部に備えられていてもよい。また、色々な装置が統合手段330を備えておき、署名の処理フローごとにどの統合手段330を用いるのかを選択してもよい。
ここで、Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(σ1,…,σN)はσ1,…,σNを変数とする関数、^はべき乗を示す記号とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(C,skN))
の関係が成り立つとする。
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(C,skN))
の関係が成り立つとする。
それぞれの分割保管装置300nは、生成部310n、分割秘密鍵変更部120n、記録部190nを備える。記録部190nは、分割秘密鍵sknを記録している。生成部310nは、分割秘密鍵sknを用いて分割署名σnをσn=Sig(M,skn)のように求め、統合手段330に分割署名σnを送る(S310n)。統合手段は、署名ΣをΣ=f(σ1,…,σN)のように求める(S330)。
分割秘密鍵変更部120nは、定期的に、または所定の条件に適合したときに、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
=f(Sig(M,sk1’),…,Sig(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。例えば、
SK=sk1+…+skN
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(C,skN))
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ = sk1+…+skN
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(C,skN))
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。これらの例の場合、組(sk1’,…,skN’)に求められる条件は実施例1と同じなので、組(sk1’,…,skN’)を変更するフローは、実施例1と同じである(図3〜5)。
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
=f(Sig(M,sk1’),…,Sig(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。例えば、
SK=sk1+…+skN
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(C,skN))
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ = sk1+…+skN
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(C,skN))
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。これらの例の場合、組(sk1’,…,skN’)に求められる条件は実施例1と同じなので、組(sk1’,…,skN’)を変更するフローは、実施例1と同じである(図3〜5)。
よって、実施例3の秘密鍵分割保管システムでも、分割秘密鍵を変更する間隔内に、すべての分割保管装置から分割秘密鍵を盗まなければ秘密鍵SKが分からない。したがって、1個の装置から秘密鍵が漏洩するリスクに比べ、大幅に漏洩のリスクを低減できる。
なお、以下のように運用すれば、秘密鍵SKを1個の装置で記録している既存の署名生成装置を、実施例3の分割保管装置300Nに移行することも可能である。既存の署名生成装置に分割秘密鍵変更部120Nを追加し、記録部1901,…,190N−1にsk1=…=skN−1=0を記録した分割保管装置3001,…,300N−1をネットワーク900につなぐ。このように構成すれば、初期状態がskN=SK,sk1=…=skN−1=0となる。そして、最初の分割秘密鍵の組(sk1,…,skN)の変更によって、秘密鍵を分割すれば、実施例3の秘密鍵分割保管システムを構成できる。したがって、実施例3の秘密鍵分割保管システムであれば、既存のシステムからも容易に移行できる。
<適用できる署名方式の具体例>
実施例3の秘密鍵分割保管システムを実現するためには、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
の関係が成り立たなければならない。例えば、RSA署名の場合は、qを2つの大きい素数の合成数(積)とし、公開鍵PKを{q,e}、秘密鍵SKをdとすると、平文Mと署名Σは、
Σ=Sig(M,d)=M^d mod q (署名生成)
M=Σ^e mod q (署名検証)
の関係が成り立つ。そこで、関数g、fを、
g(sk1,…,skN)=sk1+…+skN
f(Sig(M,sk1),…,Sig(M,skN))
=Sig(M,sk1)×…×Sig(M,skN) mod q
のように定め、分割秘密鍵の組(sk1,…,skN)を、
d=SK=sk1+…+skN
が成り立つように選択すれば、
Sig(M,skn)=M^skn
なので、
f(Sig(M,sk1),…,Sig(M,skN))
=M^(sk1+…+skN) mod q
=Σ
となる。したがって、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
が成り立つ。ただし、この説明は本実施例を実現する署名方式を限定するものではない。上記の条件を満足すれば別の署名方式でもよい。
実施例3の秘密鍵分割保管システムを実現するためには、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
の関係が成り立たなければならない。例えば、RSA署名の場合は、qを2つの大きい素数の合成数(積)とし、公開鍵PKを{q,e}、秘密鍵SKをdとすると、平文Mと署名Σは、
Σ=Sig(M,d)=M^d mod q (署名生成)
M=Σ^e mod q (署名検証)
の関係が成り立つ。そこで、関数g、fを、
g(sk1,…,skN)=sk1+…+skN
f(Sig(M,sk1),…,Sig(M,skN))
=Sig(M,sk1)×…×Sig(M,skN) mod q
のように定め、分割秘密鍵の組(sk1,…,skN)を、
d=SK=sk1+…+skN
が成り立つように選択すれば、
Sig(M,skn)=M^skn
なので、
f(Sig(M,sk1),…,Sig(M,skN))
=M^(sk1+…+skN) mod q
=Σ
となる。したがって、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
が成り立つ。ただし、この説明は本実施例を実現する署名方式を限定するものではない。上記の条件を満足すれば別の署名方式でもよい。
図10に実施例4の秘密鍵分割保管システムの機能構成例を、図11に署名を生成する処理フローを示す。分割秘密鍵を変更する処理フローの例は、図3〜5と同じである。実施例4の秘密鍵分割保管システムは、ネットワーク900で接続された署名検証装置700、N個の分割保管装置4001,…,400Nを備える。署名検証装置700は、作成された署名Σの正当性を検証する装置である。分割保管装置400nは、公開鍵PKに対応する秘密鍵SKを分割した分割秘密鍵sk1,…,skNの中の分割秘密鍵sknを記録する。
ここで、Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(Sig(M,skn),σn+1)はSig(M,skn),σn+1を変数とする関数、^はべき乗を示す記号とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
σN=Sig(M,skn)
σn=f(Sig(M,skn),σn+1)
Σ=σ1
の関係が成り立つとする。
Sig(M,SK)=Sig(M,g(sk1,…,skN))
σN=Sig(M,skn)
σn=f(Sig(M,skn),σn+1)
Σ=σ1
の関係が成り立つとする。
それぞれの分割保管装置400nは、生成部410n、分割秘密鍵変更部120n、記録部190nを備える。記録部190nは、分割秘密鍵sknを記録している。分割保管装置400Nの生成部410Nは、分割秘密鍵skNを用いて分割署名σNをσN=Sig(M,skN)のように求め、分割署名σNを、分割保管装置400N−1に送る(S410N)。
分割保管装置400n(ただし、n=2,…,N−1)の生成部410nは、分割保管装置400n+1から取得した分割署名σn+1と分割秘密鍵sknを用いて、分割署名σnをσn=f(Sig(M,skn),σn+1)のように求める。そして、分割署名σnを、分割保管装置400n−1に送る(S410n)。ただし、N=2の場合は、分割保管装置400n(n=2,…,N−1)は存在しない。分割保管装置4001は、分割保管装置4002から取得した分割署名σ2と分割秘密鍵sk1を用いて署名ΣをΣ=f(Sig(M,sk1),σ2)のように求める(S4101)。
分割秘密鍵変更部120nは、定期的に、または所定の条件に適合したときに、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skn’)
σn=f(Sig(M,skn’),σn+1)
Σ=σ1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。例えば、
SK=sk1+…+skN mod q
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skn)
σn=f(Sig(M,skn),σn+1)
Σ=σ1
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skn)
σn=f(Sig(M,skn),σn+1)
Σ=σ1
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。これらの例の場合、組(sk1’,…,skN’)に求められる条件は実施例1と同じなので、組(sk1’,…,skN’)を変更するフローは、実施例1と同じである(図3〜5)。
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skn’)
σn=f(Sig(M,skn’),σn+1)
Σ=σ1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。例えば、
SK=sk1+…+skN mod q
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skn)
σn=f(Sig(M,skn),σn+1)
Σ=σ1
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skn)
σn=f(Sig(M,skn),σn+1)
Σ=σ1
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。これらの例の場合、組(sk1’,…,skN’)に求められる条件は実施例1と同じなので、組(sk1’,…,skN’)を変更するフローは、実施例1と同じである(図3〜5)。
よって、実施例4の秘密鍵分割保管システムでも、分割秘密鍵を変更する間隔内に、すべての分割保管装置から分割秘密鍵を盗まなければ秘密鍵SKが分からない。したがって、1個の装置から秘密鍵が漏洩するリスクに比べ、大幅に漏洩のリスクを低減できる。
なお、以下のように運用すれば、秘密鍵SKを1個の装置で記録している既存の署名生成装置を、実施例4の分割保管装置400Nに移行することも可能である。既存の署名生成装置に分割秘密鍵変更部120Nを追加し、記録部1901,…,190N−1にsk1=…=skN−1=0を記録した分割保管装置4001,…,400N−1をネットワーク900につなぐ。このように構成すれば、初期状態がskN=SK,sk1=…=skN−1=0となる。そして、最初の分割秘密鍵の組(sk1,…,skN)の変更によって、秘密鍵を分割すれば、実施例4の秘密鍵分割保管システムを構成できる。したがって、実施例4の秘密鍵分割保管システムであれば、既存のシステムからも容易に移行できる。
<適用できる署名方式の具体例>
実施例4の秘密鍵分割保管システムを実現するためには、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σn=f(Sig(M,skn’),σn+1)
の関係が成り立たなければならない。例えば、RSA署名の場合は、qを2つの大きい素数の合成数(積)とし、公開鍵PKを{q,e}、秘密鍵SKをdとすると、平文Mと署名Σは、
Σ=Sig(M,d)=M^d mod q (署名生成)
M=Σ^e mod q (署名検証)
の関係が成り立つ。そこで、関数g、fを、
g(sk1,…,skN)=sk1+…+skN
f(Sin(M,skn),mn+1)
=(Sin(M,skn)×mn+1 mod q
のように定め、分割秘密鍵の組(sk1,…,skN)を、
d=SK=sk1+…+skN
が成り立つように選択すれば、
σN=Sig(M,skn)=M^skN mod q
なので、
σN−1=f(Sig(M,sk1),σn+1)
=M^(skN−1+skN) mod q
=Σ
となる。したがって、
σn=f(Sig(M,skn),σn+1)
=M^(skn+・・・+skN) mod q
となり、
m1=M^(sk1+・・・+skN) mod q
=Σ
となる。したがって、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skn)
σn=f(Sig(M,skn’),σn+1)
Σ=σ1
が成り立つ。ただし、この説明は本実施例を実現する署名方式を限定するものではない。上記の条件を満足すれば別の署名方式でもよい。
実施例4の秘密鍵分割保管システムを実現するためには、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σn=f(Sig(M,skn’),σn+1)
の関係が成り立たなければならない。例えば、RSA署名の場合は、qを2つの大きい素数の合成数(積)とし、公開鍵PKを{q,e}、秘密鍵SKをdとすると、平文Mと署名Σは、
Σ=Sig(M,d)=M^d mod q (署名生成)
M=Σ^e mod q (署名検証)
の関係が成り立つ。そこで、関数g、fを、
g(sk1,…,skN)=sk1+…+skN
f(Sin(M,skn),mn+1)
=(Sin(M,skn)×mn+1 mod q
のように定め、分割秘密鍵の組(sk1,…,skN)を、
d=SK=sk1+…+skN
が成り立つように選択すれば、
σN=Sig(M,skn)=M^skN mod q
なので、
σN−1=f(Sig(M,sk1),σn+1)
=M^(skN−1+skN) mod q
=Σ
となる。したがって、
σn=f(Sig(M,skn),σn+1)
=M^(skn+・・・+skN) mod q
となり、
m1=M^(sk1+・・・+skN) mod q
=Σ
となる。したがって、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skn)
σn=f(Sig(M,skn’),σn+1)
Σ=σ1
が成り立つ。ただし、この説明は本実施例を実現する署名方式を限定するものではない。上記の条件を満足すれば別の署名方式でもよい。
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
100,200,300,400 分割保管装置
110,210 復号部 120 分割秘密鍵変更部
130,330 統合手段 190 記録部
310,410 生成部 600 暗号化装置
700 署名検証装置 900 ネットワーク
110,210 復号部 120 分割秘密鍵変更部
130,330 統合手段 190 記録部
310,410 生成部 600 暗号化装置
700 署名検証装置 900 ネットワーク
本発明の第3の秘密鍵分割保管システムは、秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つを記録するN個の分割保管装置と、平文Mに対する署名Σを求める統合手段とを備える。まず、Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(σ1,…,σN)はσ1,…,σNを変数とする関数とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
の関係が成り立つとする。すべての分割保管装置は、生成部と分割秘密鍵変更部を備える。生成部は、それぞれが記録する分割秘密鍵sknを用いて分割署名σnをσn=Sig(M,skn)のように求め、統合手段に分割署名σnを送る。分割秘密鍵変更部は、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
=f(Sig(M,sk1’),…,Sig(M,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する。統合手段は、署名ΣをΣ=f(σ1,…,σN)のように求める。
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
の関係が成り立つとする。すべての分割保管装置は、生成部と分割秘密鍵変更部を備える。生成部は、それぞれが記録する分割秘密鍵sknを用いて分割署名σnをσn=Sig(M,skn)のように求め、統合手段に分割署名σnを送る。分割秘密鍵変更部は、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
=f(Sig(M,sk1’),…,Sig(M,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する。統合手段は、署名ΣをΣ=f(σ1,…,σN)のように求める。
分割保管装置200n(ただし、n=2,…,N−1)の復号部210nは、分割保管装置200 n+1から取得した分割平文mn+1と分割秘密鍵sknを用いて、分割平文mnをmn=f(Dec(C,skn),mn+1)のように求める。そして、分割平文mnを、分割保管装置200n−1に送る(S210n)。ただし、N=2の場合は、分割保管装置200n(ただし、n=2,…,N−1)は存在しない。
(2)ElGamal暗号
ElGamal暗号では、公開鍵PKを{g,h}、秘密鍵SKをx、rを乱数とすると(ただし、h=g^x、xとrは0以上q−1以下の整数、qは巡回群Gの位数、gは巡回群Gの生成元)、巡回群Gの要素である平文Mと暗号文Cは、
C={C1,C2}={g^r,Mh^r}
M=Dec(C,x)=C2/(C1^x)
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,skn),mn+1)
=(Dec(C,skn)×mn+1)/C2
のように定め、分割秘密鍵の組(sk1,…,skN)を、
x=SK=sk1+…+skN mod q
が成り立つように選択すれば、
mN=Dec(C,skN)=C2/(C1^skN) mod q
なので、
mN−1=f(Dec(C,skN−1),mN)
=(Dec(C,skN−1)×mN)/C2
=(C2/(C1^skN−1)・C2/(C1^skN))/C2
=C2/((C1^skN−1)(C1^skN))
=C2/(C1^(skN−1+skN))
となる。そして、これが繰り返されるので、
mn=f(Dec(C,skn),mn+1)
=C2/(C1^(skn+・・・+skN))
となり、
m1=C2/(C1^(sk 1 +・・・+skN))
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つ。
ElGamal暗号では、公開鍵PKを{g,h}、秘密鍵SKをx、rを乱数とすると(ただし、h=g^x、xとrは0以上q−1以下の整数、qは巡回群Gの位数、gは巡回群Gの生成元)、巡回群Gの要素である平文Mと暗号文Cは、
C={C1,C2}={g^r,Mh^r}
M=Dec(C,x)=C2/(C1^x)
の関係が成り立つ。関数g、fを、
g(sk1,…,skN)=sk1+…+skN mod q
f(Dec(C,skn),mn+1)
=(Dec(C,skn)×mn+1)/C2
のように定め、分割秘密鍵の組(sk1,…,skN)を、
x=SK=sk1+…+skN mod q
が成り立つように選択すれば、
mN=Dec(C,skN)=C2/(C1^skN) mod q
なので、
mN−1=f(Dec(C,skN−1),mN)
=(Dec(C,skN−1)×mN)/C2
=(C2/(C1^skN−1)・C2/(C1^skN))/C2
=C2/((C1^skN−1)(C1^skN))
=C2/(C1^(skN−1+skN))
となる。そして、これが繰り返されるので、
mn=f(Dec(C,skn),mn+1)
=C2/(C1^(skn+・・・+skN))
となり、
m1=C2/(C1^(sk 1 +・・・+skN))
=M
となる。したがって、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
が成り立つ。
ここで、Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(σ1,…,σN)はσ1,…,σNを変数とする関数、^はべき乗を示す記号とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
の関係が成り立つとする。
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
の関係が成り立つとする。
分割秘密鍵変更部120nは、定期的に、または所定の条件に適合したときに、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
=f(Sig(M,sk1’),…,Sig(M,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。例えば、
SK=sk1+…+skN
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ = sk1+…+skN
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。これらの例の場合、組(sk1’,…,skN’)に求められる条件は実施例1と同じなので、組(sk1’,…,skN’)を変更するフローは、実施例1と同じである(図3〜5)。
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
=f(Sig(M,sk1’),…,Sig(M,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。例えば、
SK=sk1+…+skN
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ = sk1+…+skN
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(M,skN))
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。これらの例の場合、組(sk1’,…,skN’)に求められる条件は実施例1と同じなので、組(sk1’,…,skN’)を変更するフローは、実施例1と同じである(図3〜5)。
ここで、Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(Sig(M,skn),σn+1)はSig(M,skn),σn+1を変数とする関数、^はべき乗を示す記号とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
σN=Sig(M,sk N )
σn=f(Sig(M,skn),σn+1)
Σ=σ1
の関係が成り立つとする。
Sig(M,SK)=Sig(M,g(sk1,…,skN))
σN=Sig(M,sk N )
σn=f(Sig(M,skn),σn+1)
Σ=σ1
の関係が成り立つとする。
分割秘密鍵変更部120nは、定期的に、または所定の条件に適合したときに、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,sk N ’)
σn=f(Sig(M,skn’),σn+1)
Σ=σ1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。例えば、
SK=sk 1 +…+sk N
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk 1 ,…,sk N ))
σN=Sig(M,sk N )
σn=f(Sig(M,skn),σn+1)
Σ=σ1
が成り立つように、関数g、fを決めた場合、
sk 1 ’+…+sk N ’=sk 1 +…+sk N
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk 1 ,…,sk N ))
σN=Sig(M,sk N )
σn=f(Sig(M,skn),σn+1)
Σ=σ1
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。これらの例の場合、組(sk1’,…,skN’)に求められる条件は実施例1と同じなので、組(sk1’,…,skN’)を変更するフローは、実施例1と同じである(図3〜5)。
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,sk N ’)
σn=f(Sig(M,skn’),σn+1)
Σ=σ1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する(S120n)。例えば、
SK=sk 1 +…+sk N
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk 1 ,…,sk N ))
σN=Sig(M,sk N )
σn=f(Sig(M,skn),σn+1)
Σ=σ1
が成り立つように、関数g、fを決めた場合、
sk 1 ’+…+sk N ’=sk 1 +…+sk N
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。また、
SK=sk1+…+skN mod q
の関係が成り立てば
Sig(M,SK)=Sig(M,g(sk 1 ,…,sk N ))
σN=Sig(M,sk N )
σn=f(Sig(M,skn),σn+1)
Σ=σ1
が成り立つように、関数g、fを決めた場合、
sk1’+…+skN’ mod q = sk1+…+skN mod q
となる分割秘密鍵の組(sk1’,…,skN’)を求めればよい。これらの例の場合、組(sk1’,…,skN’)に求められる条件は実施例1と同じなので、組(sk1’,…,skN’)を変更するフローは、実施例1と同じである(図3〜5)。
<適用できる署名方式の具体例>
実施例4の秘密鍵分割保管システムを実現するためには、
Sig(M,SK)=Sig(M,g(sk 1 ,…,sk N ))
σn=f(Sig(M,sk n ),σn+1)
の関係が成り立たなければならない。例えば、RSA署名の場合は、qを2つの大きい素数の合成数(積)とし、公開鍵PKを{q,e}、秘密鍵SKをdとすると、平文Mと署名Σは、
Σ=Sig(M,d)=M^d mod q (署名生成)
M=Σ^e mod q (署名検証)
の関係が成り立つ。そこで、関数g、fを、
g(sk1,…,skN)=sk1+…+skN
f(Sig(M,skn),σ n+1)
=(Sig(M,skn)×σ n+1 mod q
のように定め、分割秘密鍵の組(sk1,…,skN)を、
d=SK=sk1+…+skN
が成り立つように選択すれば、
σN=Sig(M,sk N )=M^skN mod q
なので、
σN−1=f(Sig(M,sk N−1 ),σ N )
=M^(skN−1+skN) mod q
となる。したがって、
σn=f(Sig(M,skn),σn+1)
=M^(skn+・・・+skN) mod q
となり、
m1=M^(sk1+・・・+skN) mod q
=Σ
となる。したがって、
Sig(M,SK)=Sig(M,g(sk 1 ,…,sk N ))
σN=Sig(M,sk N )
σn=f(Sig(M,sk n ),σn+1)
Σ=σ1
が成り立つ。ただし、この説明は本実施例を実現する署名方式を限定するものではない。上記の条件を満足すれば別の署名方式でもよい。
実施例4の秘密鍵分割保管システムを実現するためには、
Sig(M,SK)=Sig(M,g(sk 1 ,…,sk N ))
σn=f(Sig(M,sk n ),σn+1)
の関係が成り立たなければならない。例えば、RSA署名の場合は、qを2つの大きい素数の合成数(積)とし、公開鍵PKを{q,e}、秘密鍵SKをdとすると、平文Mと署名Σは、
Σ=Sig(M,d)=M^d mod q (署名生成)
M=Σ^e mod q (署名検証)
の関係が成り立つ。そこで、関数g、fを、
g(sk1,…,skN)=sk1+…+skN
f(Sig(M,skn),σ n+1)
=(Sig(M,skn)×σ n+1 mod q
のように定め、分割秘密鍵の組(sk1,…,skN)を、
d=SK=sk1+…+skN
が成り立つように選択すれば、
σN=Sig(M,sk N )=M^skN mod q
なので、
σN−1=f(Sig(M,sk N−1 ),σ N )
=M^(skN−1+skN) mod q
となる。したがって、
σn=f(Sig(M,skn),σn+1)
=M^(skn+・・・+skN) mod q
となり、
m1=M^(sk1+・・・+skN) mod q
=Σ
となる。したがって、
Sig(M,SK)=Sig(M,g(sk 1 ,…,sk N ))
σN=Sig(M,sk N )
σn=f(Sig(M,sk n ),σn+1)
Σ=σ1
が成り立つ。ただし、この説明は本実施例を実現する署名方式を限定するものではない。上記の条件を満足すれば別の署名方式でもよい。
Claims (14)
- 公開鍵PKを用いて平文Mを暗号化し、暗号文Cを出力する暗号化装置と、
前記公開鍵PKに対応する秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置と、
暗号文Cを復号した平文Mを求める統合手段と、
を備えた秘密鍵分割保管システムであって、
Nは2以上の整数、nは1以上N以下の整数、Dec(C,SK)は秘密鍵SKを用いて暗号文Cを復号することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(m1,…,mN)はm1,…,mNを変数とする関数とし、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
の関係が成り立ち、
すべての前記分割保管装置は、
それぞれが記録する分割秘密鍵sknを用いて分割平文mnをmn=Dec(C,skn)のように求め、前記統合手段に分割平文mnを送る復号部と、
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
=f(Dec(C,sk1’),…,Dec(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更部と
を備え、
前記統合手段は、平文MをM=f(m1,…,mN)のように求める
ことを特徴とする秘密鍵分割保管システム。 - 公開鍵PKを用いて平文Mを暗号化し、暗号文Cを出力する暗号化装置と、
前記公開鍵PKに対応する秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置と、
を備えた秘密鍵分割保管システムであって、
Nは2以上の整数、nは1以上N以下の整数、Dec(C,SK)は秘密鍵SKを用いて暗号文Cを復号することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(Dec(C,skn),mn+1)はDec(C,skn),mn+1を変数とする関数とし、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
の関係が成り立ち、
分割秘密鍵skNを記録する前記分割保管装置は、分割秘密鍵skNを用いて分割平文mNをmN=Dec(C,skN)のように求め、分割平文mNを、分割秘密鍵skN−1を記録する前記分割保管装置に送る復号部を備え、
分割秘密鍵sk1を記録する前記分割保管装置は、分割秘密鍵sk2を記録する前記分割保管装置から取得した分割平文m2と分割秘密鍵sk1を用いて平文MをM=f(Dec(C,sk1),m2)のように求める復号部を備え、
Nが3以上の場合は、分割秘密鍵skn(ただし、nは2,…,N−1のいずれか)を記録する前記分割保管装置は、分割秘密鍵skn+1を記録する前記分割保管装置から取得した分割平文mn+1と分割秘密鍵sknを用いて分割平文mnをmn=f(Dec(C,skn),mn+1)のように求め、分割平文mnを、分割秘密鍵skn−1を記録する前記分割保管装置に送る復号部を備え、
すべての前記分割保管装置は、さらに、Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
mN=Dec(C,skN’)
mn=f(Dec(C,skn’),mn+1)
M=m1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更部も備える
ことを特徴とする秘密鍵分割保管システム。 - 秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置と、
平文Mに対する署名Σを求める統合手段と、
を備えた秘密鍵分割保管システムであって、
Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(σ1,…,σN)はσ1,…,σNを変数とする関数とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(C,skN))
の関係が成り立ち、
すべての前記分割保管装置は、
それぞれが記録する分割秘密鍵sknを用いて分割署名σnをσn=Sig(M,skn)のように求め、前記統合手段に分割署名σnを送る生成部と、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
=f(Sig(M,sk1’),…,Sig(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更部と
を備え、
前記統合手段は、署名ΣをΣ=f(σ1,…,σN)のように求める
ことを特徴とする秘密鍵分割保管システム。 - 秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置を備え、平文Mに対する署名を生成する秘密鍵分割保管システムであって、
Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(Sig(M,skn),σn+1)はSig(M,skn),σn+1を変数とする関数とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
σN=Sig(M,skN)
σn=f(Sig(M,skn),σn+1)
Σ=σ1
の関係が成り立ち、
分割秘密鍵skNを記録する前記分割保管装置は、分割秘密鍵skNを用いて分割署名σNをσN=Sig(M,skN)のように求め、分割署名σNを、分割秘密鍵skN−1を記録する前記分割保管装置に送る生成部を備え、
分割秘密鍵sk1を記録する前記分割保管装置は、分割秘密鍵sk2を記録する前記分割保管装置から取得した分割署名σ2と分割秘密鍵sk1を用いて署名ΣをΣ=f(Sig(M,sk1),σ2)のように求める生成部を備え、
Nが3以上の場合は、分割秘密鍵skn(ただし、nは2,…,N−1のいずれか)を記録する前記分割保管装置は、分割秘密鍵skn+1を記録する前記分割保管装置から取得した分割署名σn+1と分割秘密鍵sknを用いて分割署名σnをσn=f(Sig(M,skn),σn+1)のように求め、分割署名σnを、分割秘密鍵skn−1を記録する前記分割保管装置に送る生成部を備え、
すべての前記分割保管装置は、さらに、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skN’)
σn=f(Sig(M,skn’),σn+1)
Σ=σ1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更部も備える
ことを特徴とする秘密鍵分割保管システム。 - 請求項1から4のいずれかに記載の秘密鍵分割保管システムであって、
iとjは1以上N以下のi≠jの整数とし、
前記分割秘密鍵変更部は、いずれか2つの分割保管装置の間で認証鍵交換プロトコルを用いて値αを共有し、
前記値αを共有する分割保管装置が記録する分割秘密鍵ski,skjを、αを用いてそれぞれ、ski’,skj’に変更する
ことを特徴とする秘密鍵分割保管システム。 - 請求項1から5のいずれかに記載の秘密鍵分割保管システムであって、
初期状態がskN=SK,sk1=…=skN−1=0であり、
最初の分割秘密鍵の組(sk1,…,skN)の変更によって、秘密鍵を分割する
ことを特徴とする秘密鍵分割保管システム。 - 秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置を備えた秘密鍵分割保管システムの中の1つの分割保管装置であって、
Nは2以上の整数、nは1以上N以下の整数、Dec(C,SK)は秘密鍵SKを用いて暗号文Cを復号することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(m1,…,mN)はm1,…,mNを変数とする関数とし、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
の関係が成り立ち、
当該分割保管装置が記録する分割秘密鍵sknを用いて分割平文mnをmn=Dec(C,skn)のように求め、前記統合手段に分割平文mnを送る復号部と、
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
=f(Dec(C,sk1’),…,Dec(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)となるように分割秘密鍵sknをskn’に変更する分割秘密鍵変更部と
を備える
ことを特徴とする分割保管装置。 - 秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置を備えた秘密鍵分割保管システムの中の1つの分割保管装置であって、
Nは2以上の整数、nは1以上N以下の整数、Dec(C,SK)は秘密鍵SKを用いて暗号文Cを復号することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(Dec(C,skn),mn+1)はDec(C,skn),mn+1を変数とする関数とし、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
の関係が成り立ち、
分割秘密鍵skNを記録する場合は、分割秘密鍵skNを用いて分割平文mNをmN=Dec(C,skN)のように求め、分割平文mNを、分割秘密鍵skN−1を記録する前記分割保管装置に送り、
分割秘密鍵sk1を記録する場合は、分割秘密鍵sk2を記録する前記分割保管装置から取得した分割平文m2と分割秘密鍵sk1を用いて平文MをM=f(Dec(C,sk1),m2)のように求める復号部と、
Nが3以上であって分割秘密鍵skn(ただし、nは2,…,N−1のいずれか)を記録する場合は、分割秘密鍵skn+1を記録する前記分割保管装置から取得した分割平文mn+1と分割秘密鍵sknを用いて分割平文mnをmn=f(Dec(C,skn),mn+1)のように求め、分割平文mnを、分割秘密鍵skn−1を記録する前記分割保管装置に送り、
分割秘密鍵の組を
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
mN=Dec(C,skN’)
mn=f(Dec(C,skn’),mn+1)
M=m1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)となるように分割秘密鍵sknをskn’に変更する分割秘密鍵変更部と
を備える
ことを特徴とする分割保管装置。 - 秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置を備えた秘密鍵分割保管システムの中の1つの分割保管装置であって、
Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(σ1,…,σN)はσ1,…,σNを変数とする関数とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(C,skN))
の関係が成り立ち、
当該分割保管装置が記録する分割秘密鍵sknを用いて分割署名σnをσn=Sig(M,skn)のように求め、前記統合手段に分割署名σnを送る生成部と、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
=f(Sig(M,sk1’),…,Sig(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更部と
を備える
ことを特徴とする分割保管装置。 - 秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置を備えた秘密鍵分割保管システムの中の1つの分割保管装置であって、
Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(Sig(M,skn),σn+1)はSig(M,skn),σn+1を変数とする関数とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
σN=Sig(M,skN)
σn=f(Sig(M,skn),σn+1)
Σ=σ1
の関係が成り立ち、
分割秘密鍵skNを記録する場合は、分割秘密鍵skNを用いて分割署名σNをσN=Sig(M,skN)のように求め、分割署名σNを、分割秘密鍵skN−1を記録する前記分割保管装置に送り、
分割秘密鍵sk1を記録する場合は、分割秘密鍵sk2を記録する前記分割保管装置から取得した分割署名σ2と分割秘密鍵sk1を用いて署名ΣをΣ=f(Sig(M,sk1),σ2)のように求める生成部と、
Nが3以上であって分割秘密鍵skn(ただし、nは2,…,N−1のいずれか)を記録する場合は、分割秘密鍵skn+1を記録する前記分割保管装置から取得した分割署名σn+1と分割秘密鍵sknを用いて分割署名σnをσn=f(Sig(M,skn),σn+1)のように求め、分割署名σnを、分割秘密鍵skn−1を記録する前記分割保管装置に送り、
分割秘密鍵の組を
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skN’)
σn=f(Sig(M,skn’),σn+1)
Σ=σ1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)となるように分割秘密鍵sknをskn’に変更する分割秘密鍵変更部と
を備える
ことを特徴とする分割保管装置。 - 公開鍵PKに対応する秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置と、
暗号文Cを復号した平文Mを求める統合手段と、
を用いた秘密鍵分割保管方法であって、
Nは2以上の整数、nは1以上N以下の整数、Dec(C,SK)は秘密鍵SKを用いて暗号文Cを復号することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(m1,…,mN)はm1,…,mNを変数とする関数とし、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
=f(Dec(C,sk1),…,Dec(C,skN))
の関係が成り立ち、
すべての前記分割保管装置が、それぞれが記録する分割秘密鍵sknを用いて分割平文mnをmn=Dec(C,skn)のように求め、前記統合手段に分割平文mnを送る復号ステップと、
前記統合手段が、平文MをM=f(m1,…,mN)のように求める統合ステップと、
前記分割保管装置が、
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
=f(Dec(C,sk1’),…,Dec(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更ステップと
を有する秘密鍵分割保管方法。 - 公開鍵PKに対応する秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置を用いた秘密鍵分割保管方法であって、
Nは2以上の整数、nは1以上N以下の整数、Dec(C,SK)は秘密鍵SKを用いて暗号文Cを復号することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(Dec(C,skn),mn+1)はDec(C,skn),mn+1を変数とする関数とし、
Dec(C,SK)=Dec(C,g(sk1,…,skN))
mN=Dec(C,skN)
mn=f(Dec(C,skn),mn+1)
M=m1
の関係が成り立ち、
分割秘密鍵skNを記録する前記分割保管装置が、分割秘密鍵skNを用いて分割平文mNをmN=Dec(C,skN)のように求め、分割平文mNを、分割秘密鍵skN−1を記録する前記分割保管装置に送る第N復号ステップと、
Nが3以上の場合は、分割秘密鍵skn(ただし、nは2,…,N−1のいずれか)を記録する前記分割保管装置が、分割秘密鍵skn+1を記録する前記分割保管装置から取得した分割平文mn+1と分割秘密鍵sknを用いて分割平文mnをmn=f(Dec(C,skn),mn+1)のように求め、分割平文mnを、分割秘密鍵skn−1を記録する前記分割保管装置に送る第n復号ステップと、
分割秘密鍵sk1を記録する前記分割保管装置が、分割秘密鍵sk2を記録する前記分割保管装置から取得した分割平文m2と分割秘密鍵sk1を用いて平文MをM=f(Dec(C,sk1),m2)のように求める第1復号ステップと、
すべての前記分割保管装置が、
Dec(C,SK)=Dec(C,g(sk1’,…,skN’))
mN=Dec(C,skN’)
mn=f(Dec(C,skn’),mn+1)
M=m1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更ステップと
を有する秘密鍵分割保管方法。 - 秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置と、
平文Mに対する署名Σを求める統合手段と、
を用いた秘密鍵分割保管方法であって、
Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(σ1,…,σN)はσ1,…,σNを変数とする関数とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
=f(Sig(M,sk1),…,Sig(C,skN))
の関係が成り立ち、
すべての前記分割保管装置が、それぞれが記録する分割秘密鍵sknを用いて分割署名σnをσn=Sig(M,skn)のように求め、前記統合手段に分割署名σnを送る生成ステップと、
前記統合手段が、署名ΣをΣ=f(σ1,…,σN)のように求める統合ステップと、
前記分割保管装置が、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
=f(Sig(M,sk1’),…,Sig(C,skN’))
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更ステップと
を有する秘密鍵分割保管方法。 - 秘密鍵SKを分割した分割秘密鍵sk1,…,skNのいずれか1つをそれぞれが記録するN個の分割保管装置を用いて平文Mに対する署名を生成する秘密鍵分割保管方法であって、
Nは2以上の整数、nは1以上N以下の整数、Sig(M,SK)は秘密鍵SKを用いて署名Σを生成することを示す記号、g(sk1,…,skN)はsk1,…,skNを変数とする関数、f(Sig(M,skn),σn+1)はSig(M,skn),σn+1を変数とする関数とし、
Sig(M,SK)=Sig(M,g(sk1,…,skN))
σN=Sig(M,skN)
σn=f(Sig(M,skn),σn+1)
Σ=σ1
の関係が成り立ち、
分割秘密鍵skNを記録する前記分割保管装置が、分割秘密鍵skNを用いて分割署名σNをσN=Sig(M,skN)のように求め、分割署名σNを、分割秘密鍵skN−1を記録する前記分割保管装置に送る第N生成ステップと、
Nが3以上の場合は、分割秘密鍵skn(ただし、nは2,…,N−1のいずれか)を記録する前記分割保管装置が、分割秘密鍵skn+1を記録する前記分割保管装置から取得した分割署名σn+1と分割秘密鍵sknを用いて分割署名σnをσn=f(Sig(M,skn),σn+1)のように求め、分割署名σnを、分割秘密鍵skn−1を記録する前記分割保管装置に送る第n生成ステップと、
分割秘密鍵sk1を記録する前記分割保管装置が、分割秘密鍵sk2を記録する前記分割保管装置から取得した分割署名σ2と分割秘密鍵sk1を用いて署名ΣをΣ=f(Sig(M,sk1),σ2)のように求める第1生成ステップと、
すべての前記分割保管装置が、
Sig(M,SK)=Sig(M,g(sk1’,…,skN’))
σN=Sig(M,skN’)
σn=f(Sig(M,skn’),σn+1)
Σ=σ1
が成り立ち、かつ(sk1,…,skN)とは異なる分割秘密鍵の組(sk1’,…,skN’)を求め、それぞれが記録する分割秘密鍵sknをskn’に変更する分割秘密鍵変更ステップと
を有する秘密鍵分割保管方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013006648 | 2013-01-17 | ||
JP2013006648 | 2013-01-17 | ||
PCT/JP2014/050652 WO2014112551A1 (ja) | 2013-01-17 | 2014-01-16 | 秘密鍵分割保管システム、分割保管装置、秘密鍵分割保管方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6059258B2 JP6059258B2 (ja) | 2017-01-11 |
JPWO2014112551A1 true JPWO2014112551A1 (ja) | 2017-01-19 |
Family
ID=51209640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014557492A Active JP6059258B2 (ja) | 2013-01-17 | 2014-01-16 | 分割保管装置、秘密鍵分割保管方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9894056B2 (ja) |
EP (1) | EP2947812B1 (ja) |
JP (1) | JP6059258B2 (ja) |
CN (1) | CN104919752B (ja) |
WO (1) | WO2014112551A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3089091B1 (en) * | 2014-05-02 | 2020-03-11 | Barclays Execution Services Limited | Transaction authentication |
US9768953B2 (en) * | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
CN107154921A (zh) * | 2016-03-03 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 共管账户的授权方法和装置、共管账户的认证方法和装置 |
EP3437248A4 (en) * | 2016-03-30 | 2019-11-06 | The Athena Group, Inc. | KEY UPDATE FOR KEY MASTERS |
JP6541048B2 (ja) * | 2016-07-06 | 2019-07-10 | 日本電信電話株式会社 | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム |
JP2018029268A (ja) * | 2016-08-18 | 2018-02-22 | 三菱電機株式会社 | 暗号システム、暗号装置、暗号プログラム及び暗号方法 |
US11431494B2 (en) * | 2018-03-15 | 2022-08-30 | Atakama LLC | Passwordless security system for data-at-rest |
CN109274503B (zh) * | 2018-11-05 | 2022-01-04 | 北京仁信证科技有限公司 | 分布式协同签名方法及分布式协同签名装置、软盾系统 |
JP6838260B2 (ja) * | 2018-11-14 | 2021-03-03 | カウリー株式会社 | ブロックチェーン制御方法 |
CN109934585B (zh) * | 2019-03-08 | 2023-07-28 | 矩阵元技术(深圳)有限公司 | 一种基于安全多方计算的签名方法、装置及系统 |
CN110768790A (zh) * | 2019-09-06 | 2020-02-07 | 深圳壹账通智能科技有限公司 | 数据安全授权访问方法、装置、设备及存储介质 |
US11296879B2 (en) | 2019-10-04 | 2022-04-05 | Atakama LLC | Encrypted search |
US11418340B2 (en) | 2019-10-11 | 2022-08-16 | Atakama LLC | Waterfall request for decryption |
US11323252B2 (en) | 2019-10-11 | 2022-05-03 | Atakama LLC | Relay network for encryption system |
CN110650160B (zh) * | 2019-10-29 | 2022-01-04 | 北京天威诚信电子商务服务有限公司 | 一种身份认证方法及系统 |
JP7177874B2 (ja) * | 2021-03-10 | 2022-11-24 | 三菱電機インフォメーションシステムズ株式会社 | 組織署名システム、組織署名サーバおよび組織署名クライアント端末 |
JP7084525B1 (ja) | 2021-03-24 | 2022-06-14 | 三菱電機インフォメーションシステムズ株式会社 | 組織署名鍵共有装置、組織署名鍵共有システム、組織署名鍵共有プログラム及び方法 |
WO2023188218A1 (ja) * | 2022-03-30 | 2023-10-05 | 富士通株式会社 | 署名制御方法、署名制御プログラム、情報処理装置、およびシステム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001166687A (ja) * | 1999-09-29 | 2001-06-22 | Hitachi Software Eng Co Ltd | グループ署名生成方法及びシステム |
JP2002091301A (ja) * | 2000-09-19 | 2002-03-27 | Ntt Data Corp | 鍵情報分散装置、演算装置および署名検証装置 |
JP2004048479A (ja) * | 2002-07-12 | 2004-02-12 | Kddi Corp | 共有化された暗号化情報の暗号鍵管理方法 |
JP2006352254A (ja) * | 2005-06-13 | 2006-12-28 | Oki Electric Ind Co Ltd | 分散電子署名システム,分散電子署名計算装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE36918E (en) * | 1992-04-20 | 2000-10-17 | Certco Llc | Fair cryptosystems and methods of use |
JP3479015B2 (ja) * | 1999-12-28 | 2003-12-15 | 日本電信電話株式会社 | 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り可能な記録媒体 |
JP4328748B2 (ja) * | 2005-08-23 | 2009-09-09 | 株式会社エヌ・ティ・ティ・ドコモ | 鍵更新方法、鍵隔離型暗号システム及び端末装置 |
US7826619B2 (en) * | 2005-08-23 | 2010-11-02 | Ntt Docomo, Inc. | Key-updating method, encryption processing method, key-insulated cryptosystem and terminal device |
JP4764447B2 (ja) * | 2008-03-19 | 2011-09-07 | 株式会社東芝 | グループ署名システム、装置及びプログラム |
US8151333B2 (en) * | 2008-11-24 | 2012-04-03 | Microsoft Corporation | Distributed single sign on technologies including privacy protection and proactive updating |
US8892908B2 (en) | 2010-12-23 | 2014-11-18 | Morega Systems Inc. | Cryptography module for use with fragmented key and methods for use therewith |
JP5469618B2 (ja) | 2011-01-19 | 2014-04-16 | 日本電信電話株式会社 | 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム |
-
2014
- 2014-01-16 US US14/760,935 patent/US9894056B2/en active Active
- 2014-01-16 CN CN201480005193.8A patent/CN104919752B/zh active Active
- 2014-01-16 JP JP2014557492A patent/JP6059258B2/ja active Active
- 2014-01-16 EP EP14740768.8A patent/EP2947812B1/en active Active
- 2014-01-16 WO PCT/JP2014/050652 patent/WO2014112551A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001166687A (ja) * | 1999-09-29 | 2001-06-22 | Hitachi Software Eng Co Ltd | グループ署名生成方法及びシステム |
JP2002091301A (ja) * | 2000-09-19 | 2002-03-27 | Ntt Data Corp | 鍵情報分散装置、演算装置および署名検証装置 |
JP2004048479A (ja) * | 2002-07-12 | 2004-02-12 | Kddi Corp | 共有化された暗号化情報の暗号鍵管理方法 |
JP2006352254A (ja) * | 2005-06-13 | 2006-12-28 | Oki Electric Ind Co Ltd | 分散電子署名システム,分散電子署名計算装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6059258B2 (ja) | 2017-01-11 |
US9894056B2 (en) | 2018-02-13 |
CN104919752A (zh) | 2015-09-16 |
US20160028719A1 (en) | 2016-01-28 |
WO2014112551A1 (ja) | 2014-07-24 |
EP2947812B1 (en) | 2018-03-14 |
CN104919752B (zh) | 2018-04-27 |
EP2947812A4 (en) | 2016-11-16 |
EP2947812A1 (en) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6059258B2 (ja) | 分割保管装置、秘密鍵分割保管方法 | |
JP5957095B2 (ja) | 改ざん検知装置、改ざん検知方法、およびプログラム | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
US20160127128A1 (en) | Management of cryptographic keys | |
US9037623B2 (en) | Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor | |
JP2010220212A (ja) | 第1のユーザによって第2のユーザに送信される通信の安全化 | |
US20150043735A1 (en) | Re-encrypted data verification program, re-encryption apparatus and re-encryption system | |
US11349668B2 (en) | Encryption device and decryption device | |
JP2013207376A (ja) | 情報処理装置およびプログラム | |
JP5972181B2 (ja) | 改ざん検知装置、改ざん検知方法、およびプログラム | |
JP5079479B2 (ja) | Idベース暗号システム、方法 | |
JP6294882B2 (ja) | 鍵保管装置、鍵保管方法、及びそのプログラム | |
JP5730805B2 (ja) | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 | |
JP5469618B2 (ja) | 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム | |
WO2019220900A1 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム | |
JP5679344B2 (ja) | 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム | |
US20170126399A1 (en) | Encryption apparatus, storage system, decryption apparatus, encryption method, decryption method, and computer readable medium | |
CN109617876A (zh) | 基于Http协议的数据加密、解密方法及系统 | |
GB2573309A (en) | Ciphertext based quorum cryptosystem | |
JP5752751B2 (ja) | 復号システム、端末装置、署名システム、その方法、及びプログラム | |
JP5480763B2 (ja) | 復号システム、汎用端末、高信頼端末、鍵生成装置、復号方法、プログラム | |
JP5118556B2 (ja) | 鍵配送方法、鍵配送システム、クライアント装置、鍵サーバ装置、それらのプログラム | |
JP2005269587A (ja) | 鍵共有システム、暗号システム、ファイル認証システム | |
JP2015215490A (ja) | ハッシング可能暗号システム及び方法、ハッシュ値計算装置並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20161206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161208 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6059258 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |