[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2023522752A - 分散された鍵のバックアップストレージからの復元 - Google Patents

分散された鍵のバックアップストレージからの復元 Download PDF

Info

Publication number
JP2023522752A
JP2023522752A JP2022564474A JP2022564474A JP2023522752A JP 2023522752 A JP2023522752 A JP 2023522752A JP 2022564474 A JP2022564474 A JP 2022564474A JP 2022564474 A JP2022564474 A JP 2022564474A JP 2023522752 A JP2023522752 A JP 2023522752A
Authority
JP
Japan
Prior art keywords
server
share
private key
distributed
version
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
Application number
JP2022564474A
Other languages
English (en)
Other versions
JP7696364B2 (ja
Inventor
ペレ ヤコブセン,トマス
フリース トフト,トマス
ベクスヴァング エスタゴー,ミケール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Blockdaemon ApS
Original Assignee
Sepior ApS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sepior ApS filed Critical Sepior ApS
Publication of JP2023522752A publication Critical patent/JP2023522752A/ja
Application granted granted Critical
Publication of JP7696364B2 publication Critical patent/JP7696364B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs

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)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

分散された秘密鍵をバックアップストレージから復元する方法が開示されている。オリジナルの秘密鍵が生成され、二つ以上のサーバに分散される。第1のサーバは、少なくとも第1のサーバが保持するオリジナルの秘密鍵のシェアを含むバックアップを作成する。各サーバは、少なくとも一度、オリジナルの秘密鍵をリフレッシュする。各リフレッシュの間、サーバはリフレッシュされた分散された秘密鍵と、従前の秘密鍵とリフレッシュされた秘密鍵との間の分散された差分を生成し、各サーバは差分のシェアの秘密バージョンを生成して他のサーバの少なくとも一部とシェアし、各サーバは差分のシェアの受信された秘密バージョンと従前の累積された秘密バージョンに基づいて他のサーバから受信された差分のシェアの累積された秘密バージョンを生成する。第1のサーバは、バックアップからオリジナルの秘密鍵のシェアを復元し、他のサーバに差分のシェアの累積された秘密バージョンを要求し、受け取った累積された秘密バージョンとオリジナルの秘密鍵の復元されたシェアから、最新のリフレッシュされた秘密鍵のシェアを復元する。

Description

発明の属する技術分野
本発明は、バックアップストレージから分散された秘密鍵を復元する方法に関するものである。本発明による方法によれば、バックアップ作成後、分散された秘密鍵が数回リフレッシュされた場合でも、秘密鍵を安全に復元することができる。
発明の背景
閾値暗号化方式または閾値署名方式において、秘密鍵は、各サーバが秘密鍵の少なくとも一つのシェアを保持し、いずれのサーバもすべてのシェア、ひいては秘密鍵全体へのアクセスを有しないように、二つ以上のサーバの間で分散されることがある。鍵を用いて暗号化、復号化、または署名を行う場合、トランザクションを有効にするためには、少なくとも予め定義された数のサーバのサブセットが参加する必要がある。したがって、敵対者は、閾値基準を満たす不正な署名、暗号化、復号化を行うために、十分な数の鍵のシェアにアクセスするために、複数のサーバを危険にさらす必要がある。
各サーバは、適切な時間間隔で秘密鍵のシェアのバックアップを作成することが望まれる。バックアップは独立したものであり、各サーバは必ずしも同時にバックアップを作成する必要はない。もし、あるサーバに障害が発生し、秘密鍵のシェアを含むコンテンツをバックアップから復元する必要がある場合、このサーバは復元されるが、他のサーバは影響を受けない。
長期間の秘密鍵、例えば長期間にわたって秘密シェアされる秘密鍵の場合、敵対者は徐々に十分な数の鍵のシェアにアクセスできるようになり、秘密鍵を不正に使用できるようになる可能性がある。これを回避するために、秘密鍵、ひいては鍵のシェアは時々リフレッシュされることがある。したがって、敵対者は十分な数の鍵のシェアにアクセスすることだけが必要なのではない。また、敵対者は秘密鍵が二回リフレッシュされる間に、同じ時間内に鍵のシェアにアクセスする必要がある。これは「積極的な秘密のシェアリング(proactive secret sharing)」と呼ばれることもある。
しかし、バックアップを作成した時点から、バックアップから鍵のシェアを復元する必要がある時点まで、秘密鍵が一回以上リフレッシュされている場合、バックアップから得られる鍵のシェアは現在適用できる鍵のシェアと異なるため、有効でなくなる。
本発明の実施形態の目的は、秘密鍵の機密性を損なうことなくリフレッシュされた秘密鍵を復元することができる、バックアップストレージから分散された秘密鍵を復元するための方法を提供することである。
本発明の実施形態のさらなる目的は、バックアップストレージから分散された秘密鍵を復元するための方法であって、プロアクティブな秘密性を維持しながら、リフレッシュされた秘密鍵を復元することができる方法を提供することである。
本発明は、バックアップストレージから分散された秘密鍵を復元するための方法を提供し、この方法は、
オリジナルの秘密鍵を生成し、オリジナルの秘密鍵を二つ以上のサーバに分散するステップであって、各サーバが、それによりオリジナルの秘密鍵のシェアを保持し、どのサーバもオリジナルの秘密鍵の全てのシェアを保持しないようにするステップと、
第1のサーバが、バックアップを作成するステップであって、バックアップが少なくとも第1のサーバによって保持されるオリジナルの秘密鍵のシェアを含む、生成するステップと、
サーバが、少なくとも一回、オリジナルのリフレッシュするステップであって、各リフレッシュは、
各サーバが、リフレッシュされた分散された秘密鍵、及び従前の秘密鍵とリフレッシュされた秘密鍵との分散された差分を生成し、各サーバが分散された差分のシェアを保持し、分散された差分はゼロのシェアリングを構成し、サーバは従前の秘密鍵のシェアを破棄するステップと、
各サーバが、分散された差分のシェアの秘密バージョンを生成し、その秘密バージョンを他のサーバの少なくとも一部とシェアするステップと、
各サーバが、分散された差分のシェアの受信した秘密バージョンと従前の累積された秘密バージョンとに基づいて、他のサーバから受信した分散された差分のシェアの累積された秘密バージョンを生成するステップと
を含む、リフレッシュするステップと、
第1のサーバが、バックアップからオリジナルの秘密鍵のシェアを復元し、他のサーバに分散された差分のシェアの累積された秘密バージョンを要求するステップと、
他のサーバの少なくとも一部が、第1のサーバの分散された差分のうちの、第1のサーバのシェアの累積された秘密バージョンを提供するステップと、
第1のサーバが、受け取った累積された秘密バージョンとオリジナルの秘密鍵の復元されたシェアとから、最新のリフレッシュされた秘密鍵のシェアを復元するステップと
を含む。
したがって、本発明による方法は、バックアップストレージから分散された秘密鍵を復元する方法である。秘密鍵は、例えば、秘密の暗号化/復号化鍵または秘密署名鍵、すなわち、デジタル署名を生成するために適用される秘密鍵であればよい。
本発明は、次に、添付の図面を参照してさらに詳細に説明される。
図1は、先行技術の方法を説明する図であり 図2~図8は、本発明の7つの異なる実施形態による方法を説明する図である。 図2~図8は、本発明の7つの異なる実施形態による方法を説明する図である。 図2~図8は、本発明の7つの異なる実施形態による方法を説明する図である。 図2~図8は、本発明の7つの異なる実施形態による方法を説明する図である。 図2~図8は、本発明の7つの異なる実施形態による方法を説明する図である。 図2~図8は、本発明の7つの異なる実施形態による方法を説明する図である。 図2~図8は、本発明の7つの異なる実施形態による方法を説明する図である。
本発明の実施形態の目的は、秘密鍵の機密性を損なうことなくリフレッシュされた秘密鍵を復元することができる、バックアップストレージから分散された秘密鍵を復元するための方法を提供することである。
本発明の実施形態のさらなる目的は、バックアップストレージから分散された秘密鍵を復元するための方法であって、プロアクティブな秘密性を維持しながら、リフレッシュされた秘密鍵を復元することができる方法を提供することである。
本発明は、バックアップストレージから分散された秘密鍵を復元するための方法を提供し、この方法は、
オリジナルの秘密鍵を生成し、オリジナルの秘密鍵を二つ以上のサーバに分散するステップであって、各サーバが、それによりオリジナルの秘密鍵のシェアを保持し、どのサーバもオリジナルの秘密鍵の全てのシェアを保持しないようにするステップと、
第1のサーバが、バックアップを作成するステップであって、バックアップが少なくとも第1のサーバによって保持されるオリジナルの秘密鍵のシェアを含む、生成するステップと、
サーバが、少なくとも一回、オリジナルのリフレッシュするステップであって、各リフレッシュは、
各サーバが、リフレッシュされた分散された秘密鍵、及び従前の秘密鍵とリフレッシュされた秘密鍵との分散された差分を生成し、各サーバが分散された差分のシェアを保持し、分散された差分はゼロのシェアリングを構成し、サーバは従前の秘密鍵のシェアを破棄するステップと、
各サーバが、分散された差分のシェアの秘密バージョンを生成し、その秘密バージョンを他のサーバの少なくとも一部とシェアするステップと、
各サーバが、分散された差分のシェアの受信した秘密バージョンと従前の累積された秘密バージョンとに基づいて、他のサーバから受信した分散された差分のシェアの累積された秘密バージョンを生成するステップと
を含む、リフレッシュするステップと、
第1のサーバが、バックアップからオリジナルの秘密鍵のシェアを復元し、他のサーバに分散された差分のシェアの累積された秘密バージョンを要求するステップと、
他のサーバの少なくとも一部が、第1のサーバの分散された差分のうちの、第1のサーバのシェアの累積された秘密バージョンを提供するステップと、
第1のサーバが、受けた累積された秘密バージョンとオリジナルの秘密鍵の復元されたシェアとから、最新のリフレッシュされた秘密鍵のシェアを復元するステップと
を含む。
したがって、本発明による方法は、バックアップストレージから分散された秘密鍵を復元する方法である。秘密鍵は、例えば、秘密の暗号化/復号化鍵または秘密署名鍵、すなわち、デジタル署名を生成するために適用される秘密鍵であればよい。
この方法によれば、オリジナルの秘密鍵が生成され、二つ以上のサーバに分散されるが、各サーバはオリジナルの秘密鍵のシェアを保持し、どのサーバも秘密鍵のすべてのシェアを持たないようにされる。したがって、どのサーバもオリジナルの秘密鍵全体を再構成することができず、それによって、オリジナルの秘密鍵を使用するために、予め定義された数のサーバの少なくともサブセットが参加する必要がある。秘密鍵は、最初に生成され、その後、サーバの間で分散されてもよいし、サーバは、例えば秘密のシェアリングを用いて、分散された形式で直接秘密鍵を生成することに協力してもよい。
サーバは、互いに物理的に分離された別々のハードウェアサーバであってもよい。代替策として、サーバは仮想サーバの形態であってもよく、必ずしも別々のハードウェア上に配置されなくてもよい。ただし、いずれのサーバも他のサーバに保存されたコンテンツにアクセスできないという意味で、サーバは互いに分離されている。
オリジナルの秘密鍵の生成後、第1のサーバはバックアップを作成する。第1のサーバはオリジナルの秘密鍵の第1のシェアを保有しているので、作成されたバックアップにはこのオリジナルの秘密鍵のこの第1のシェアが含まれる。第1のサーバのバックアップは、他のサーバのバックアップとは独立して行われる。
バックアップが作成された後のある時点で、各サーバはオリジナルの秘密鍵を少なくとも1回リフレッシュする。各リフレッシュは、以下に示す方法で行われる。
最初に、サーバは、リフレッシュされた分散された秘密鍵と、前回の秘密鍵とリフレッシュされた秘密鍵との分散された差分を生成する。リフレッシュされた分散された秘密鍵および/または分散された差分は、オリジナルの秘密鍵が生成された方法と同様の方法で生成されてもよい。これについては、以下でさらに詳しく説明する。いずれにせよ、各サーバはリフレッシュされた秘密鍵のシェアと、分散された差分のシェアを保持することになる。さらに、どのサーバもリフレッシュされた秘密鍵の全てのシェアを保持せず、どのサーバも分散された差分の全てのシェアを持たない。したがって、どのサーバもリフレッシュされた秘密鍵全体も分散された差分全体も自分では再構成することができない。
本明細書では、「従前の秘密鍵」という用語は、リフレッシュが実行される時点で有効な分散された秘密鍵を意味すると解釈されるべきである。したがって、第1のリフレッシュが実行されるとき、従前の秘密鍵はオリジナルの秘密鍵である。第2のリフレッシュが行われたとき、従前の秘密鍵は、秘密鍵の第1のリフレッシュ時に生成されたリフレッシュされた秘密鍵、等である。
このとき、分散された差分はゼロのシェアリングとなる。これにより、リフレッシュされた秘密鍵は、分散された秘密鍵の間の差分がゼロになるという意味で、従前の秘密鍵、ひいてはオリジナルの秘密鍵と同一となる。しかし、鍵のリフレッシュ後にサーバにより保持される秘密鍵のシェアは、鍵のリフレッシュの前にサーバにより保持される秘密鍵のシェアと同一ではない。
リフレッシュ後の秘密鍵が生成され、各サーバに分散されると、各サーバは従前の秘密鍵の個々のシェアを破棄する。これにより、従前の秘密鍵は破棄され、リフレッシュされた分散された秘密鍵が、次のリフレッシュが行われるまで有効なバージョンとなる。さらに、従前の秘密鍵のシェアのいずれにもアクセスすることができなくなり、それに応じて、従前の秘密鍵全体を構築することができなくなる。
さらに、各サーバは、差分のシェアの秘密バージョンを生成し、その秘密バージョンを他のサーバの少なくともいくつかとシェアする。秘密バージョンは、例えば、差分のシェアの暗号化バージョンであり得る。代替的または追加的に、サーバは、他のサーバ間で差分のそのシェアのシェアを分散してもよく、その場合、秘密バージョンは、シェアの秘密のシェアリングの形態であってもよい。いずれにせよ、サーバは、差分のシェアの秘密バージョンを他のサーバに公開するだけであり、所定のサーバのみが秘密バージョンから差分のシェアを再構築することができる。したがって、どのサーバも、受けた秘密バージョンから、他のサーバが保持する実際の差分のシェアを知ることはできない。したがって、従前の分散された秘密鍵のシェアと差分のシェアの秘密バージョンにアクセスした敵対者は、リフレッシュされた分散された鍵の対応するシェアを再構築することができない。
最後に、各サーバは、他のサーバから受信した差分のシェアの累積された秘密バージョンと、従前の累積された秘密バージョンとに基づいて、他のサーバから受信した差分のシェアの累積された秘密バージョンを生成する。このように、差分のシェアの累積された秘密バージョンは、オリジナルの分散された秘密鍵のシェアとリフレッシュされた秘密鍵の現在有効なシェアとの間の夫々の差分を表す。累積された秘密バージョンは、様々な方法で生成されてもよい。これについては、以下でさらに詳細に説明する。
分散された秘密鍵が上記の方法で何回もリフレッシュされたとき、第1のサーバで、第1のサーバ、ひいては第1のサーバが保持している分散された秘密鍵のシェアを回復することを必要とする事象(incident)が発生する。しかし、バックアップストレージに格納されている分散された鍵のシェアは、オリジナルの分散された秘密鍵のシェアであり、バックアップ作成後、少なくとも1回は分散秘密鍵がリフレッシュされているので、オリジナルの秘密鍵はもはや有効ではなく、第1のサーバが保持している現在有効な秘密鍵のシェアは、バックアップから直ちに直接復元することはできない。
そこで、第1のサーバは、バックアップからオリジナルの秘密鍵のシェア、すなわち実際に利用可能なシェアを復元し、他のサーバに対して、その差分のシェアの累積された秘密バージョンを要求する。
この要求に応答して、他のサーバの少なくともいくつかは、第1のサーバの差分のシェアの蓄積された秘密バージョンを第1のサーバに提供する。いくつかの実施形態では、他のサーバのうちの一つだけが蓄積された秘密バージョンを提供してもよく、他の実施形態では、他のサーバのうちの二つ以上が蓄積された秘密バージョンを提供してもよい。したがって、第1のサーバは、現在、オリジナルの秘密鍵のそのシェアと、オリジナルの秘密鍵の第1のサーバのシェアと現在有効な秘密鍵の第1のサーバのシェアとの間の差の秘密表現とを所有する状態にある。しかし、蓄積された秘密バージョンだけが第1のサーバに提供されたので、どのサーバも、リフレッシュされた秘密鍵の中間バージョンの第1のサーバのシェアに関する知識を一切持っていない。
最後に、第1のサーバは、受け取った累積された秘密バージョンとオリジナルの秘密鍵の復元されたシェアから、最新のリフレッシュされた秘密鍵のシェア、すなわち、現在有効な秘密鍵を復元する。上述したように、累積された秘密バージョンは、オリジナルの秘密鍵の第1のサーバのシェアと、現在有効な秘密鍵の第1のサーバのシェア、すなわち最新のリフレッシュされた秘密鍵のシェアとの間の差分を表す。したがって、第1のサーバは、受信した累積された秘密バージョンからこの差分を導出することができ、それによって、第1のサーバは、オリジナルのシェアと導出された差分から最新のリフレッシュされた秘密鍵のシェアを容易に再構築することができる。
このように、本発明に係る方法は、閾値鍵システムの秘密鍵のシェアの独立したバックアップを可能にし、秘密鍵の漏洩リスクが低いという意味で高いセキュリティを維持しつつ、分散された秘密鍵を頻繁にリフレッシュし、バックアップから鍵のシェアを確実に復元できるようにするものである。
特に、鍵のシェアの復元は、鍵のシェアの最新のリフレッシュされたバージョンのみを復元し、潜在的な中間のリフレッシュされたバージョンは復元しないため、敵対者がそのような中間のリフレッシュされたバージョンにアクセスすることは不可能である。それによって、敵対者は、リフレッシュの期間が満了した後、同じリフレッシュに属する十分な数の鍵のシェアを収集することを妨げられる。
したがって、本発明に係る方法は、サーバが、サーバの鍵のシェアの古いバージョンと、サーバが他のサーバのうちの一つ以上から受け取る秘密の累積された差分とを含むバックアップから、その現在の秘密の鍵のシェアを復元することを可能にする。特に、この方法は、他のサーバに第1のサーバの秘密鍵のシェアを復元する能力を付与することなく、第1のサーバのシェアを復元することを可能にする。
各サーバが差分のシェアの秘密バージョンを生成するステップは、加法的同型性スキームによって実行されてもよく、各サーバが累積された秘密バージョンを生成するステップは、各サーバが差分のシェアの受け取った秘密バージョンをそれぞれの従前の累積された秘密バージョンに追加し、従前の累積された秘密バージョンを破棄することから構成されてもよい。
加法的同型性スキームとは、暗号化された領域で加算が可能なスキーム、すなわち、E(d+d)=E(d)+E(d)であり、Eは暗号化を意味する。このように、差分のシェアの秘密バージョンを生成するために加法的同型性スキームが適用される場合、それぞれのサーバは、自分のシェアdを暗号化し、暗号化バージョンE(d)を他のサーバに転送することができる。そして、他のサーバは、暗号化されたバージョンを加算するだけで、差分のシェアの合計の暗号化されたバージョンを得ることができる。
したがって、本実施形態によれば、本方法は、以下のように実行されてもよい。簡単のために、方法は、第1のサーバの観点から説明される、すなわち、第1のサーバによって保持されるシェアのみが説明される。しかし、同様のステップを他のサーバが実行してもよいことに留意すべきである。
第1のリフレッシュが実行されると、第1のサーバは、オリジナルの秘密鍵と第1のリフレッシュされた秘密鍵との差分のシェア、dを生成する。この差分のシェアdは、オリジナルの秘密鍵の第1のサーバのシェアと、第1のリフレッシュされた秘密鍵の第1のサーバのシェアとの間の差分に相当する。次に、第1のサーバは、そのシェアdを加法的同型性スキームを用いて暗号化し、それによって、シェアdの秘密バージョンE(d)を得る。この秘密バージョンE(d)は、他のサーバの少なくとも一つに転送される。このシェアd1の秘密バージョンによって、第1の蓄積された秘密バージョンA=E(d)が構成される。
第2のリフレッシュが実行されるとき、第1のサーバは、同様に、第1のリフレッシュされた秘密鍵と第2のリフレッシュされた秘密鍵との間の差分のそのシェア、dを生成する。これにより、オリジナルの秘密鍵の第1のサーバのシェアと、第2のリフレッシュされた秘密鍵の第1のサーバのシェアとの差分は、d+dとなる。
次に、第1のサーバは、そのシェアdを加法的同型性スキームを用いて復号化し、それによってシェアdの秘密バージョンE(d)を得る。秘密バージョンE(d)は、次に、他のサーバの少なくとも一つに転送される。第2のシェアの秘密バージョンE(d)の受信に応答して、他のサーバは、オリジナルの秘密鍵と第2のリフレッシュされた秘密鍵との差分の第1のサーバのシェア、d1+dの第2の累積された秘密バージョンAを生成し、新たに受信した秘密バージョンE(d)を以前に受信した秘密バージョンE(d)に追加し、それによりA=E(d)+E(d)=A+E(d)を得る。Eは加法的同型性スキームを表すので、蓄積された秘密バージョンは、実際には、蓄積された差分の秘密バージョン、すなわち、A=E(d)+E(d)=E(d+d)である。第2の蓄積された秘密バージョンAが生成されると、サーバは、第1の蓄積された秘密バージョンAを破棄する。
3回目のリフレッシュが行われると、上記の手順が繰り返され、3回目の蓄積された秘密バージョンAが生成され、A=A+E(d)=E(d+d+d)となり、前の蓄積された秘密バージョンAが破棄される。
これをリフレッシュのたびに繰り返すことにより、各サーバは常に最新バージョンの蓄積された秘密バージョンA=E(d+d+...+d)を保持し、それ以前のバージョンの蓄積された秘密バージョンは保持しないようにする。
第1のサーバのバックアップが必要な場合、第1のサーバはバックアップストレージからオリジナルの秘密鍵のシェアを取得し、他のサーバに差分の蓄積された秘密バージョンを要求する。そして、他のサーバの少なくとも一つは、現在有効なバージョンの蓄積された秘密バージョンAを、第1のサーバに提供する。そして、第1のサーバは、受け取った蓄積された秘密バージョンAを復号することにより、オリジナルの秘密鍵の第1のサーバのシェアと現在有効なリフレッシュされた秘密鍵の第1のサーバのシェアとの間の実際の差分d+d+...+dを取得することができる。したがって、第1のサーバは、オリジナルの秘密鍵の復元されたシェアに累積された差を加えることによって、現在有効なリフレッシュされた秘密鍵のシェアを復元することができる。したがって、現在有効なリフレッシュされた鍵のシェアは、中間のシェアのいずれかを明らかにすることなく復元される。
加法的同型性スキームの一例は、Pallierの公開鍵暗号化スキームである。
加法的同型性スキームは、公開鍵暗号化スキームであってもよく、第1のサーバがバックアップを作成するステップは、バックアップの一部としてプライベート復号化鍵を格納することを含んでもよい。本実施形態によれば、秘密復号化鍵は、第1のサーバが他のサーバから受信した蓄積された秘密バージョンを復号する必要がある場合に必要であり、それ以外の場合に必要であるとは限らない。バックアップの一部として秘密復号化鍵を格納することにより、バックアップから第1のサーバを復元する必要がある場合にのみバックアップ格納にアクセスするため、敵対者が秘密暗号化鍵にアクセスすることが困難であることが保証される。一方、このような状況が発生した場合、第1のサーバは、秘密暗号化鍵を含むバックアップストレージの内容を取得し、それによって、秘密暗号化鍵は、現在有効な秘密鍵のシェアを復元する一環として、受信した蓄積された秘密バージョンを復号するために第1のサーバが利用できるようにする。バックアップを作成するとき、第1のサーバは、さらに、バックアップストレージに格納された後、第1のサーバから秘密復号化鍵を削除してもよい。同様に、バックアップを復元する際、第1のサーバは、受信した秘密累積バージョンの差分を復号するために一旦秘密復号化鍵を使用した後、第1のサーバから秘密復号化鍵を削除してもよい。これにより、第1のサーバを侵害した敵対者が秘密復号化鍵にアクセスできる期間を限定することができるので、安全性を高めることができる。
これまで説明したように、本発明は、秘密鍵sのシェアがs=s+s+...+sを満たす加算的シェアリングの観点から説明されており、リフレッシュ処理で発生する差分は、各サーバが局所的に秘密のシェアにゼロのシェアリングで加算する加算的シェアリングの形態であった。代替の実施形態では、秘密のシェアリングは乗法的であってもよく、すなわち、秘密のシェアsはs=s*s*...*sを満たし、秘密のシェアリングをリフレッシュするステップは、1の乗法的ランダムシェアリングを生成し、これを既存の秘密のシェアリングに乗算して、リフレッシュされたシェアリングを生成することからなり、それぞれのサーバが、1のそのシェアと秘密のシェアとを局所的に乗算することによって、そのシェアリングが生成される。この場合、差分のシェアの秘密バージョンを生成することは、乗法的同型性スキームによって実行されてもよい。これは、ElGamal暗号化スキームのような乗法的に同型性の公開鍵暗号化スキームであり得る。
以下では、引き続き加法的な表記を用いる。すなわち、秘密のシェアリングが、ゼロのシェアリングを加えてリフレッシュされ、合計d+d+...+dが生成されると言うことにする。しかし、この方法は、乗法的シェアリングの場合にも同様に機能し、1のシェアリングを乗算することによって秘密のシェアリングがリフレッシュされ、累積されたd*d*...*dの秘密バージョンが生成される。
代替策として、秘密復号化鍵は、例えば、コールドストレージ、ハードウェアセキュアモデル(HSM)のような外部ストレージに別々に格納されてもよく、及び/又は、第1のサーバで容易に利用できない暗号化鍵によって復号されるか、パスワードによって保護されてもよい。例えば、暗号化鍵やパスワードは、管理者によって管理されてもよい。この場合、バックアップからの復元時に、例えば、コールドストレージから秘密暗号化鍵を要求したり、管理者に秘密復号化鍵の復号を要求したり、蓄積された秘密バージョンの復号を実行したりすることにより、別途秘密暗号化鍵を取得する必要がある。
各サーバが差分のそのシェアの秘密バージョンを生成するステップは、各サーバが差分のそのシェアのシェアリングを作成し、他のサーバの少なくとも一部の間でシェアを分配することを含んでもよい。シェアリングは、例えば、秘密のシェアリングの形態であってもよい。本実施形態によれば、差分のシェアの秘密バージョンは、作成されたシェアリングの形態である。それにより、他のいずれのサーバも、差分のシェアの全体を把握することはできない。本実施形態によれば、サーバは、次の分散された差分の第1のサーバのシェアを受け取ると、これを分散された差分の第1のサーバのシェアの従前のシェアに加算して、分散された差分の第1のサーバのシェアの新しい累積されたシェアを獲得し、その古いシェアを破棄する。このような方法でシェアリングを作成することは、上述した公開鍵暗号化スキームの代替手段として適用することができる。また、代替策として、他のサーバに分散されたシェアがさらに暗号化されるという意味で、これら二つのアプローチを組み合わせてもよい。
各リフレッシュは、
サーバが、ゼロのシェアリングを作成し、各サーバが、ゼロのシェアリングのシェアを従前の秘密鍵のシェアに追加し、それによってサーバ間で分散されるリフレッシュされた秘密鍵を作成し、従前の秘密鍵のシェアを破棄するステップであって、ゼロのシェアリングは分散された差分を構成する、破棄するステップと、
各サーバが、ゼロのシェアリングのシェアの秘密バージョンを生成し、他のサーバの少なくとも一部と秘密バージョンをシェアリングするステップと
を、含んでもよい。
この実施形態によれば、リフレッシュされた秘密鍵は、サーバが、その中で、ゼロのシェアリング、例えばゼロの秘密のシェアリングを生成し、その後、このゼロのシェアリングを従前の秘密鍵に追加することによって、生成される。これは、各サーバがゼロのシェアリングのシェアを従前の秘密鍵のシェアに追加することによって行われる。さらに、この実施形態によれば、サーバによって保持される分散された差分のシェアは、それぞれのサーバによって保持されるゼロのシェアリングのシェアである。
代替策として、サーバは、従前の秘密鍵の新しいシェアリングを作成することによってリフレッシュされた秘密鍵を生成し、新しいリフレッシュされた秘密鍵および従前のリフレッシュされた秘密鍵のそれぞれのシェアから分散された差分を導出してもよい。
本方法は、バックアップをオフラインストレージに保存するステップをさらに含んでもよい。この実施形態によれば、バックアップはオンラインではアクセスできず、したがって、敵対者はバックアップにアクセスするためにオフラインストレージに物理的に侵入する必要があるであろう。オフラインストレージは、例えば、USBストレージやディスクなどのポータブル記憶媒体の形態であり、安全な、若しくは別の、制限されたエリアにロックされている可能性がある。オフラインストレージの位置は、サーバの位置と異なる場合があり、その場合、バックアップの作成時、およびバックアップの復元が必要なときに、物理的にバックアップを位置間で転送する必要がある。このため、バックアップの作成が面倒になり、あまり頻繁にバックアップが作成されない場合がある。このため、二つのバックアップの間に秘密鍵のリフレッシュが多く行われることが予想されるため、本発明の方法は非常に有意義である。
秘密鍵をリフレッシュする各ステップは、各サーバがゼロ知識証明を検証することによって、差分のシェアの受信した秘密バージョンの正しさを検証するステップをさらに含んでいてもよい。
秘密鍵への不正アクセスを試みることとは別に、敵対者は、正直な当事者、すなわち正直なサーバに偽の情報を提供することによって、システムを積極的に破壊しようとすることもできる。例えば、敵対者はサーバの一つ、例えば第1のサーバを破損させることができる。この場合、他のサーバによって受信され、第1のサーバから発信された差分のシェアが破損される可能性がある。したがって、当事者の1人が所定のプロトコルから逸脱した場合に、それを検出できるようにする必要性があり得る。本実施形態によれば、これは、ゼロ知識証明の検証によって行われる。
本明細書において、「ゼロ知識証明」という用語は、一方の当事者が、秘密に関する詳細を明らかにすることなく、秘密を知っていることを他方の当事者に対して証明する方法を意味すると解釈されるべきである。したがって、本実施形態によれば、第1のサーバは、他のサーバに転送される差分のシェアの秘密バージョンが、実際のシェアの秘密バージョンであることを実際に証明する。第1のサーバは、ゼロ知識で、すなわち、実際のシェアに関する詳細を明らかにすることなく、これを行う。その後、他のサーバは証明を検証し、証明が無効であることが判明した場合、他のサーバは、第1のサーバが破損していることを知り、リフレッシュプロトコルを中止させることができる。
代替的に若しくは追加的に、本方法は、第1のサーバがゼロ知識証明を検証することによって、受信した累積秘密バージョンの正しさを検証するステップをさらに含んでもよい。
これは、上述した実施形態と同様である。ただし、この場合、バックアップからの復元時に受信した蓄積された秘密バージョンが実際に正しいことを保証するのは、第1のサーバである。それによって、第1のサーバは、他のサーバのうちの一つ以上が破損しているか、及び/又は所定のプロトコルから逸脱しているかを検出することが可能である。この場合、第1のサーバは、復元プロセスを中止させることができる。
代替的に若しくは追加的に、秘密をリフレッシュする各ステップは、各サーバが他のサーバと同じ秘密の差分を保持していることを、例えば差分、または差分のハッシュダイジェストを放送して比較することにより検証するステップをさらに含んでもよい。各サーバが同じ秘密差異を保持していることに同意しない場合、リフレッシュ処理は中止されてもよい。
なお、分散された秘密鍵は、秘密署名鍵であってもよい。この実施形態によれば、本システムは、分散された秘密鍵を用いて、デジタル署名を提供するために適用される。
さらに、この実施形態によれば、差分の秘密のシェア及び/又は蓄積された秘密バージョンの正しさは、サーバがテスト署名、例えば閾値署名を生成し、当事者がテスト署名が有効かつ正しいことを検証することによって保証されてもよい。
代替策として、分散された秘密鍵は、秘密暗号化鍵であってもよい。この実施形態によれば、システムは、分散された秘密鍵を用いて、データの暗号化及び復号化を提供するように利用される。
サーバが二つしかない特別な場合、第2のサーバは、自身のシェアの値を知っており、二つのシェアの合計がゼロであることを知っているので、第1のサーバのシェアの値がゼロであることを既に知っている。この場合、また、秘密バージョンとゼロシェアが暗号化を使用して生成される場合、ゼロ知識証明を使用する必要はない。第2のサーバは、代わりに、第1のサーバのゼロのシェアの暗号化を自ら実行し、これを第1のサーバから受信した秘密バージョンと比較することによって、受信したゼロの秘密のシェアの正しさを検証することができる。これは、決定論的暗号化スキームを使用することによって、またはその代わりに、第1のサーバが、そのゼロのシェアを暗号化するために使用したランダムネスを第2のサーバに明らかにさせることによって、行うことができる。
この方法は、第1のサーバが新しいバックアップを作成するステップと、サーバがオリジナルの秘密鍵をリフレッシュするステップとを少なくとも1回繰り返すことをさらに含み、第1のサーバがオリジナルの秘密鍵のシェアを復元するステップは、新しいバックアップとともに保存された秘密鍵のシェアを復元することを、含み得る。
本実施形態によれば、新たなバックアップが作成される度に上述した処理が繰り返され、バックアップからの復元が必要な場合には、利用可能な最新のバックアップが使用される。したがって、新しいバックアップが作成された時点で有効であった分散された秘密鍵は、例えば、請求項の方法の意味において、オリジナルの秘密鍵とみなすことができる。
代替的に若しくは追加的に、各リフレッシュは、第1のサーバが差分のシェアの累積された秘密バージョンを生成し、第1のサーバで累積された秘密バージョンを格納するステップをさらに含み、差分のシェアの秘密バージョンは新しいバックアップの一部を形成し、第1のサーバが最新のリフレッシュした秘密鍵のシェアを復元するステップは、新しいバックアップの一部を形成する秘密鍵の復元済みのシェア、新しいバックアップの一部を形成する累積した差の秘密バージョンおよび他のサーバの少なくともいくつかから受信する累積した秘密バージョンに基づいて実行されてもよい。
場合によっては、サーバのバックアップは、独立した自律的なプロセスとして実行され、分散された秘密鍵の生成とは相関がないことがある。したがって、あるバックアップに含まれる秘密鍵のシェアは、バックアップに含まれるシェアと他のサーバから受け取った蓄積された秘密バージョンとに基づいて、第1のサーバの最新のリフレッシュされた鍵のシェアを容易に復元することができないという意味において、他のサーバが保持する蓄積された差分のシェアの秘密バージョンと必ずしも一致しない可能性がある。本実施形態によれば、これは以下のように処理することができる。
第1のサーバは、リフレッシュのたびに、差分のシェアの累積された秘密バージョンを生成して他のサーバに送信するだけでなく、自らも累積された差分のそれ自身のシェアについての累積された秘密バージョンを保持し、これをその時点で有効なリフレッシュされた秘密鍵のシェアと共に記憶し、従前のバージョンを削除しておく。差分の累積された秘密バージョンは、累積された差分の個々の差分を容易に導き出せないようなものであることが好ましい。例えば、これは、差分の累積された秘密バージョンが、復号化が第1のサーバからアクセスできない同型の公開鍵暗号化に基づいていることを必要とし、例えば、復号化鍵は、コールドストレージ又はハードウェアセキュリティモジュール(HSM)に格納されていてもよい。
新しいバックアップが作成されると、その時点で有効なリフレッシュされた秘密鍵のシェアと、その時点で有効な累積された差分の秘密バージョンとが、新しいバックアップの一部を構成する、すなわち、新しいバックアップの一部として保存される。
後の時点で、バックアップから秘密鍵のシェアを復元する必要がある場合、第1のサーバは、もはや有効ではないリフレッシュされたシェアと蓄積された差分の秘密バージョンとをバックアップから復元する。また、第1のサーバは、少なくともいくつかの他のサーバから、蓄積された差分の秘密バージョンを受信する。暗号化の同型性を利用して、第1のサーバは、バックアップからの差分の秘密バージョンと、他のサーバの少なくともいくつかから受け取った差分の秘密バージョンとを加算する。これは、バックアップからのもはや有効でないリフレッシュされたシェアと、第1のサーバが復元したいと思う最新のリフレッシュされたシェアとの間の累積された差分である結合された累積された差分の秘密バージョンを生成する。
次に、第1のサーバは、この結合された秘密の累積された差分を、例えば、コールドストレージから秘密の復号化鍵を要求すること、結合された秘密の累積された差分をハードウェアセキュリティモジュール(HSM)に送信することなどにより復号化する。次に、第1のサーバは、その最新のリフレッシュされたバージョンのシェアを復元するために、復号された累積された差分をバックアップからそのもはや有効ではないシェアに加える(バックアップからの累積された差分を加えると、シェアはその作成時に戻り、他のサーバからの累積された差分を加えるとその作成時から現在の時間のシェアに至る)。
このように、オリジナルの秘密鍵のシェアを復元するステップと、最新のリフレッシュされた秘密鍵のシェアを復元するステップは、上記のように一つのステップで実行されてもよい。あるいは、これらは別々のステップとして実行されてもよく、その場合、バックアップの一部を形成する累積された差分によって、オリジナル秘密鍵の第1のサーバのシェアが復元され、その後、復元されたオリジナルのシェアと受信した累積秘密バージョンとに基づいて、上記の方法で、最新のリフレッシュされた秘密鍵のシェアが復元されるようにしてもよい。
図面の詳細な説明
図1は、分散された秘密鍵をバックアップストレージから復元するための先行技術方法を説明するための図である。図1に示す例では、オリジナルの秘密鍵sは、三つのサーバ、すなわちサーバ1、サーバ2、サーバ3に分散されている。したがって、各サーバは秘密鍵のシェアを持ち、どのサーバもすべてのシェア、ひいては鍵の全体を所有することはない。したがって、サーバ1はシェアs1^1を、サーバ2はシェアs2^1を、サーバ3はシェアs3^1を保有する。秘密鍵は、代替的に、二つのサーバ間、または四つ以上のサーバ間で分配されてもよく、図1における三つのサーバの存在は単に例示に過ぎないことに留意されたい。
時刻T^1(オリジナルの秘密鍵がサーバ間で分散された直後でもよい)において、サーバ1はバックアップをコールドストアに保存する。このバックアップは、サーバ1の秘密鍵のシェアs1^1から構成される。
時刻T^2において、サーバは分散された秘密鍵をリフレッシュし、各サーバはリフレッシュされた秘密鍵のシェアを保持する。従って、サーバ1はシェアs1^2を、サーバ2はシェアs2^2を、サーバ3はシェアs3^2を保持し、従前のシェアは無効となり、削除された。
時刻T^3において、同様に分散された秘密鍵のリフレッシュが行われる。これにより、サーバ1がシェアs1^3を、サーバ2がシェアs2^3を、サーバ3がシェアs3^3を保有する。なお、このリフレッシュ処理は、さらに複数回繰り返されてもよい。
シェアs1^3、s2^3、s3^3が有効な間に、サーバ1にデータ損失が発生し、バックアップからの復元が必要となる。しかし、バックアップとともに保存されていた鍵のシェアは、現在有効な鍵のシェアであるs1^3ではなく、有効でなくなったs1^1である。したがって、サーバ1は、現在有効な秘密鍵のシェアをバックアップから復元することができない。
図2は、本発明の第1の実施形態による方法を説明するための図である。図2では、簡略化のために、サーバ1およびサーバ2の二つのサーバのみが図示されている。しかしながら、代替的に、三つ以上のサーバが適用され得ることに留意されたい。
図1を参照して上述した先行技術の方法と同様に、秘密鍵は二つのサーバ間で分配され、サーバ1はそのシェアs1^1のバックアップをコールドストアに保存する。しかし、サーバ1も秘密鍵skと公開鍵pkとの鍵の対を作成し、秘密鍵skはバックアップとともにコールドストアに保存される。この鍵の対は、加法的同型性暗号化スキームを構成する。
また、図1を参照して上述した先行技術の方法と同様に、分散された秘密鍵は、複数回リフレッシュされる。図2に示される方法では、分散された秘密鍵の各リフレッシュは、以下の方法で実行される。
分散された秘密鍵は標準的な方法でリフレッシュされ、それによってリフレッシュされた分散された秘密鍵と、リフレッシュされた秘密鍵と従前の秘密鍵との間の差分が生成され、その差分はサーバ間でゼロのシェアリングを構成している。これは少なくとも二つの方法で行うことができる。サーバはゼロのシェアリングを生成し、各サーバはゼロのシェアリングのシェアを従前の秘密鍵のシェアに追加し、それによってリフレッシュされた鍵のシェアを取得してもよい。代替策として、サーバは、例えば、従前の鍵の新しいシェアリングを作成することによって、リフレッシュされた鍵を生成してもよく、各サーバは、従前の秘密鍵のシェアとリフレッシュされた秘密鍵のシェアの間の差としてゼロのシェアリングのシェアを導き出してもよい。
いずれにしても、秘密鍵の第1のリフレッシュの後、時間T2^において、第1のサーバはリフレッシュされた秘密鍵のシェアs1^2を保持し、s1^2=s1^1+d1^1であり、ここでd1^1はサーバ1の、ゼロのシェアリングのシェアである。
次にサーバ1は、従前に生成した鍵の対の公開鍵を用いて、ゼロのシェアリングのシェア、d1^1を暗号化し、それによりD^1=Encpk(d1^1)を得て、サーバ2を含む他のサーバにD1を提供する。サーバ1は、さらにs1^1、d1^1、skを削除し、それによりskはバックアップストレージにのみ保存される。
D^1を受け取ると、サーバ2は、受け取った暗号化された、ゼロのシェアリングのシェアの、累積されたバージョンを生成する。D^1は、第1のリフレッシュに関するものであるため、サーバ2が受信する第1の暗号化されたシェアでもあり、したがって、累積されたバージョンはこの場合、A^1=D^1である。
次のリフレッシュの際、サーバ1は暗号化されたシェア、D^2=Encpk(d1^2)をサーバ2に提供し、サーバ2は新しい累積されたバージョン、A^2=A^1+D^2=D^1+D^2を生成して、A^1を削除する。さらに、それ以降のリフレッシュの度に、サーバ2は、新たな累積されたバージョン、A^n=A^(n-1)+D^n=D^1+D^2+...+D^(n-1)+D^nを生成し、従前の累積されたバージョン、A^(n-1)を削除する。ゼロのシェアリングのシェアに適用される暗号化は、加法的同型性暗号化スキームで行われるので、暗号化されたバージョンの合計は、合計の暗号化されたバージョン、すなわち、Encpk(d1^1+d1^2)=Encpk(d1^1)+Encpk(d1^2)=D^1+D^2に等しくなる。したがって、サーバ2が保持する累積されたバージョンは、バックアップが作成されてから実行された各リフレッシュに関連するサーバ1の、ゼロのシェアリングのシェアの、合計の暗号化されたバージョンに相当する。
図2に示される方法において、サーバ1は、秘密鍵のシェアs1^4が有効である間に、バックアップからの復元を必要とするデータ損失を経験する。そこで、サーバ1は、バックアップから、オリジナルの分散された秘密鍵、s1^1と秘密鍵skとの、シェアを復元する。さらに、サーバ1は、現在有効な蓄積されたバージョンA^4を他のサーバに要求し、少なくともサーバ2は、A^4をサーバ1に返す。
サーバ1は、復元された秘密鍵skを用いてA^4を復号し、オリジナルの分散された秘密鍵のサーバ1のシェアに加算された差分の合計を得ることができる。つまり、
Decsk(A^4) = Decsk(D^1+D^2+D^3)
= Decsk(D^1)+Decsk(D^2)+Decsk(D^3)
= d1^1+d1^2+d1^3
したがって、サーバ1は、s1^4=s1^1+d1^1+d1^2+d1^3=s1^1+Decsk(A^4)となるので、復元されたオリジナルのシェアs1^1に、復号化された累積されたバージョンDecsk(A^4)を加えることにより、有効な分散された鍵のシェアs1^4を復元することができる。
さらに、中間のリフレッシュされた鍵のシェアs1^2、s1^3のいずれについても、サーバ1に対して何も明かすことなく、有効なシェアが復元される。
図3は、本発明の第2の実施形態による方法を説明するための図である。この方法は、図2に例示された方法と非常によく似ているので、ここでは詳細な説明を省略する。ただし、図3に例示した方法では、分散された秘密鍵のリフレッシュは、以下の手順で実行される。
サーバ1は、図2を参照して上述した方法で、リフレッシュされた秘密鍵のシェアと、リフレッシュされた鍵と従前の鍵との間の差分を構成するゼロのシェアとを、取得する。そして、差分のサーバ1のシェアの秘密のシェアリング、第1のリフレッシュにおけるd1^1が、作成され、他のサーバの各々がシェアを受け取る。例えば、サーバ2は、シェアa2^1を受け取る。
サーバ2を含む他のサーバは、各リフレッシュ時に、新たに受信したシェアを従前の累積されたバージョンA2^(n-1)に追加し、その後、従前の累積されたバージョンA2^(n-1)を削除することによって、差分の累積されたバージョンA2^nを生成する。
秘密鍵のシェアs1^4が有効な間に、サーバ1にデータ損失が発生し、バックアップからの復元が必要となる。そこで、サーバ1は、オリジナルの分散された秘密鍵s1^1をバックアップから復元し、他のサーバに蓄積されたバージョンを要求する。他のサーバは、サーバ1に対して蓄積されたバージョンを提供する。例えば、サーバ2はa2^4を提供し、サーバiはai^4を提供する。そして、サーバ1は、他のサーバから受け取った累積されたバージョンを再結合することにより、各リフレッシュに関連する差分の合計を復元することができ、復元された合計を復元されたオリジナルのシェアs1^1に加えることにより、有効なシェアs1^4を得ることができる。また、本実施形態では、中間のリフレッシュされた鍵のシェアs1^2、s1^3のいずれについても、何も明らかにされない。
図4は、本発明の第3の実施形態による方法を説明するための図である。図4に示された方法は、図2及び図3に示された方法と非常に類似しているので、ここでは詳細な説明は省略する。しかし、図4の実施形態では、サーバ1の差分d1^1のシェアは、図3を参照して上述したように秘密シェアされ、秘密のシェアは、それぞれの他のサーバに提供される前に、図2を参照して上述したように、加法的同型性暗号化スキームを使用して暗号化される。したがって、図4の実施形態は、図2の実施形態と図3の実施形態との組み合わせと見なすことができる。これにより、システムにさらなる安全性が付加される。
図5は、本発明の第4の実施形態による方法を説明するための図である。図5の方法は、図2に図示された方法と非常に類似しているので、ここでは詳細な説明を省略する。
図5に例示される方法では、サーバ1は、各リフレッシュ中にゼロ知識証明、ZKPを生成し、これを、ゼロシェアリングのシェアの暗号化されたバージョンと共に他のサーバに転送する。その後、他のサーバはゼロ知識証明を検証する。少なくとも一つのサーバがゼロ知識証明が有効でないと判断した場合、リフレッシュ処理は中断される。
図6は、本発明の第5の実施形態による方法を説明するための図である。図6の方法は、図2に例示された方法と非常に類似しているので、ここでは詳細な説明を省略する。ただし、図6に例示した方法では、各サーバは、各リフレッシュ時に、自分のバージョンを他の全てのサーバに送信し、各サーバは、受信したバージョンを比較することにより、蓄積されたバージョンを比較する。そして、少なくとも一つのサーバが、同一でない累積バージョンを受信した場合には、リフレッシュ処理を中止する。
図7は、本発明の第6の実施形態による方法を説明するための図である。図7の方法は、図3に示された方法と非常に類似しているので、ここでは詳細な説明を省略する。しかしながら、図7の実施形態では、各リフレッシュは、リフレッシュされた秘密鍵およびゼロのシェアリングが生成される前に実行される追加の検証ステップを含む。
分散された秘密鍵は、この場合、デジタル閾値署名の生成に使用される署名鍵であり、各サーバは、公開検証鍵VKを所持している。追加の検証ステップでは、サーバはランダムメッセージM^1について合意し、分散された鍵の夫々のシェアを用いてランダムメッセージに署名し、これにより署名SIG^1を生成する。生成された署名は各サーバに提供され、各サーバは公開検証鍵VKにより署名を検証する。少なくとも一つのサーバが署名を検証できない場合、リフレッシュ処理は中断される。
なお、図4~7は分散された秘密鍵のリフレッシュのみを図示しているが、バックアップからの復元も、基本的には図2または図3を参照して上述した方法で実行できることを理解されたい。
図8は、本発明の第7の実施形態による方法を説明するための図である。図8の方法は、図2に図示された方法と非常に類似しているので、ここでは詳細な説明は省略する。
図8に例示された方法は、図7の実施形態と同様に、閾値署名スキームを使用するが、図7の実施形態とは対照的に、図8の方法では、分散された秘密鍵は閾値署名スキームの分散された鍵と同一である必要はない。図8の実施形態では、閾値署名スキームの公開検証鍵(VK)は、バックアップに格納されている。
図8の実施形態では、サーバは、分散された署名鍵を用いて差分の暗号化されたシェアD^1に署名し、それによって署名SIG^1を生成する。各サーバは、SIG^1を差分の蓄積されたバージョンとともに保存する。
復元が必要な場合、サーバ1は他のサーバに蓄積されたバージョンを要求し、他のサーバも現在有効な署名(図8の例では、SIG^2)を提供する。次に、サーバ1は、署名SIG^2を検証し、検証できない場合、復元プロセスを中止する。
選択的に、タイムスタンプが含まれていてもよく、その場合、サーバ1は、T^2が実際にデータ損失の直前の時間を表していることも検証する。

Claims (12)

  1. 分散された秘密鍵をバックアップストレージから復元するための方法であって、
    オリジナルの秘密鍵を生成し、オリジナルの秘密鍵を二つ以上のサーバに分散するステップであって、各サーバがオリジナルの秘密鍵のシェアを保持し、どのサーバもオリジナルの秘密鍵の全てのシェアを保持しない、分散するステップと、
    第1のサーバが、バックアップを作成するステップであって、バックアップは少なくとも第1のサーバによって保持されるオリジナルの秘密鍵のシェアを含む、作成するステップと、
    前記サーバが、少なくとも一度、オリジナルの秘密鍵をリフレッシュするステップであって、各リフレッシュするステップは、
    前記サーバが、リフレッシュされた分散された秘密鍵、及び、前回の秘密鍵とリフレッシュされた秘密鍵との分散された差分を生成し、各サーバが分散された差分のシェアを保持し、分散された差分がゼロのシェアを構成し、前記サーバが前回の秘密鍵のシェアを破棄するステップと、
    各サーバが、前記分散された差分のシェアの秘密バージョンを生成し、該秘密バージョンを他のサーバの少なくとも一部とシェアするステップと、
    各サーバが、受信した前記分散された差分のシェアの受信した秘密バージョンと従前の累積された秘密バージョンとに基づいて、他のサーバから受信した前記分散された差分のシェアの累積された秘密バージョンを生成するステップと
    を含む、リフレッシュするステップと、
    前記第1のサーバが、前記バックアップから前記オリジナルの秘密鍵のシェアを復元して、前記他のサーバに前記分散された差分のシェアの前記累積された秘密バージョンを要求するステップと、
    前記他のサーバのうちの少なくとも幾つかが、前記第1のサーバの前記分散された差分の累積された秘密バージョンを、前記第1のサーバに提供するステップと、
    前記第1のサーバが、前記受信した蓄積された秘密バージョンと前記オリジナルの秘密鍵の前記復元されたシェアから、最新のリフレッシュされた秘密鍵のシェアを復元するステップと
    を含む、方法。
  2. 各サーバが、前記分散された差分のシェアの秘密バージョンを生成する前記ステップは、加法的同型性スキームによって実行され、
    各サーバが、累積された秘密バージョンを生成する前記ステップは、各サーバが、前記分散された差分のシェアの前記受信した秘密バージョンを、夫々の従前の累積された秘密バージョンに加え、前記従前の累積された秘密バージョンを破棄することを含む、
    請求項1に記載の方法。
  3. 前記加法的同型性スキームは公開鍵暗号化スキームであり、
    前記第1のサーバがバックアップを作成する前記ステップは、バックアップの一部としてプライベート復号化鍵を記憶することを含む、
    請求項2に記載の方法。
  4. 各サーバが、前記分散された差分のシェアの秘密バージョンを生成する前記ステップは、各サーバが、前記分散された差分のシェアのシェアリングを作成し、他のサーバの少なくとも一部の間で前記シェアを分散することを含む、
    請求項2又は3に記載の方法。
  5. 各リフレッシュは、
    前記サーバが、ゼロのシェアリングを作成し、各サーバが、ゼロの前記シェアリングのシェアを従前の秘密鍵のシェアに追加し、それによって前記サーバの間で分散される前記リフレッシュされた秘密鍵を作成し、前記従前の秘密鍵のシェアを破棄するステップであって、ゼロの前記シェアリングは分散された差分を構成する、破棄するステップと、
    各サーバが、ゼロの前記シェアリングの秘密バージョンを生成し、前記他のサーバの少なくとも一部と該秘密バージョンをシェアリングするステップと
    を含む、請求項1~4のいずれか一に記載の方法。
  6. オフラインストレージに前記バックアップを記憶するステップを、更に含む、
    請求項1~5のいずれか一に記載の方法。
  7. 前記秘密鍵をリフレッシュする各ステップは、各サーバが、ゼロ知識証明を検証することにより、前記分散された差分の前記シェアについての前記受信した秘密バージョンの正しさを検証するステップを
    更に含む、請求項1~6のいずれか一に記載の方法。
  8. 前記第1のサーバが、ゼロ知識証明を検証することにより、前記受信した蓄積された秘密バージョンの正しさを検証するステップを、
    更に含む、請求項1~7のいずれか一に記載の方法。
  9. 前記分散された秘密鍵が秘密署名鍵である、請求項1~8のいずれか一に記載の方法。
  10. 前記分散された秘密鍵が秘密暗号化鍵である、請求項1~8のいずれか一に記載の方法。
  11. 更に、
    前記第1のサーバが、新しいバックアップを作成するステップと、
    前記サーバが前記オリジナルの秘密鍵をリフレッシュする前記ステップを少なくとも1回繰り返すステップと
    を含み、
    第1のサーバが、前記オリジナルの秘密鍵のシェアを復元するステップは、前記新しいバックアップにより記憶された前記秘密鍵のシェアを復元することを含む、
    請求項1~10のいずれか一に記載の方法。
  12. 各リフレッシュは、更に、第1のサーバが、前記分散された差分のシェアについての累積された秘密バージョンを生成し、前記第1のサーバにて前記累積された秘密バージョンを記憶するステップを、含み、
    前記分散された差分のシェアの前記秘密バージョンが、前記新しいバックアップの一部を形成し、
    前記第1のサーバが、前記最新のリフレッシュされた秘密鍵のシェアを復元するステップが、前記新しいバックアップの一部を形成する前記秘密鍵の前記復元されたシェアと、前記新しいバックアップの一部を形成する前記累積した差分の前記秘密バージョン及び前記他のサーバの少なくとも一部から受信した前記累積した秘密バージョンと
    に基づいて実施される、請求項11に記載の方法。
JP2022564474A 2020-04-22 2021-04-16 分散された鍵のバックアップストレージからの復元 Active JP7696364B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20170889.8A EP3902196B1 (en) 2020-04-22 2020-04-22 Restoration of a distributed key from a backup storage
EP20170889.8 2020-04-22
PCT/EP2021/059896 WO2021213914A1 (en) 2020-04-22 2021-04-16 Restoration of a distributed key from a backup storage

Publications (2)

Publication Number Publication Date
JP2023522752A true JP2023522752A (ja) 2023-05-31
JP7696364B2 JP7696364B2 (ja) 2025-06-20

Family

ID=70417328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022564474A Active JP7696364B2 (ja) 2020-04-22 2021-04-16 分散された鍵のバックアップストレージからの復元

Country Status (7)

Country Link
US (1) US20230179407A1 (ja)
EP (1) EP3902196B1 (ja)
JP (1) JP7696364B2 (ja)
CN (1) CN115380502A (ja)
DK (1) DK3902196T3 (ja)
IL (1) IL297424B1 (ja)
WO (1) WO2021213914A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12026685B2 (en) 2017-04-21 2024-07-02 Blockdaemon Inc. Method and apparatus for blockchain management
CN114584328B (zh) * 2022-05-09 2022-08-02 武汉四通信息服务有限公司 Api接口的访问方法、计算机设备及计算机存储介质
GB2622432B (en) * 2022-09-16 2025-01-29 Hewlett Packard Development Co Values exclusions
EP4485847A1 (en) * 2023-06-30 2025-01-01 Blockdaemon ApS A method for deriving a cryptographic key for performing digital signatures
CN117155579A (zh) * 2023-08-31 2023-12-01 蚂蚁区块链科技(上海)有限公司 一种秘钥份额更新方法、计算机设备和存储介质
CN119945678A (zh) * 2025-04-08 2025-05-06 北京隐算科技有限公司 一种分布式密钥恢复方法、系统和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001524285A (ja) * 1997-04-28 2001-11-27 サートコ・インコーポレーテッド 最適復元力、予防公開鍵暗号作成システム及び方法
JP2018005089A (ja) * 2016-07-06 2018-01-11 学校法人東京理科大学 分散値更新装置及び分散値更新プログラム、分散値計算装置及び分散値計算プログラム、分散値検証装置及び分散値検証プログラム
US10084596B1 (en) * 2015-12-08 2018-09-25 EMC IP Holding Company LLC Proactivized threshold password-based secret sharing with flexible key rotation
JP2019054363A (ja) * 2017-09-14 2019-04-04 株式会社日立システムズ サーバー装置、秘密分散管理システムおよび秘密分散管理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9565020B1 (en) * 2016-02-02 2017-02-07 International Business Machines Corporation System and method for generating a server-assisted strong password from a weak secret

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001524285A (ja) * 1997-04-28 2001-11-27 サートコ・インコーポレーテッド 最適復元力、予防公開鍵暗号作成システム及び方法
US10084596B1 (en) * 2015-12-08 2018-09-25 EMC IP Holding Company LLC Proactivized threshold password-based secret sharing with flexible key rotation
JP2018005089A (ja) * 2016-07-06 2018-01-11 学校法人東京理科大学 分散値更新装置及び分散値更新プログラム、分散値計算装置及び分散値計算プログラム、分散値検証装置及び分散値検証プログラム
JP2019054363A (ja) * 2017-09-14 2019-04-04 株式会社日立システムズ サーバー装置、秘密分散管理システムおよび秘密分散管理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CARMIT HAZAY ET AL.: "Efficient RSA Key Generation and Threshold Paillier in the Two-Party Setting", JOURNAL OF CRYPTOLOGY, vol. 32, JPN6025003047, 5 February 2018 (2018-02-05), pages 265 - 323, XP036739169, ISSN: 0005512801, DOI: 10.1007/s00145-017-9275-7 *

Also Published As

Publication number Publication date
EP3902196B1 (en) 2022-12-07
WO2021213914A1 (en) 2021-10-28
US20230179407A1 (en) 2023-06-08
CN115380502A (zh) 2022-11-22
IL297424B1 (en) 2025-06-01
EP3902196A1 (en) 2021-10-27
JP7696364B2 (ja) 2025-06-20
DK3902196T3 (en) 2023-02-06
IL297424A (en) 2022-12-01

Similar Documents

Publication Publication Date Title
JP7696364B2 (ja) 分散された鍵のバックアップストレージからの復元
US11258582B2 (en) Distributed system and method for encryption of blockchain payloads
US10211981B2 (en) System and method for generating a server-assisted strong password from a weak secret
JP4680596B2 (ja) 公開鍵インフラストラクチャ内で秘密鍵を安全にエスクローするための方法およびシステム
Kumar et al. Secure storage and access of data in cloud computing
US7457411B2 (en) Information security via dynamic encryption with hash function
US7860254B2 (en) Computer system security via dynamic encryption
US8718283B2 (en) System and method for processing a shared secret
CN108768647B (zh) 一种区块链的随机数产生方法
US11588631B2 (en) Systems and methods for blockchain-based automatic key generation
Shen et al. An effective integrity check scheme for secure erasure code-based storage systems
Backes et al. Lazy revocation in cryptographic file systems
US7376232B2 (en) Computer system security via dynamic encryption
WO2000027069A9 (en) Incorporating shared randomness into distributed cryptography
WO2008065351A1 (en) Self encryption
Le et al. Auditing for distributed storage systems
CN115297125B (zh) 业务数据处理方法、装置、计算机设备及可读存储介质
Tabassum Integrity Protections for Secure Long-term Storage
CN119172127A (zh) 一种数据处理的方法及装置、电子设备、存储介质
Radhakrishnan et al. Privacy Preserving and Auto Regeneration of Data in Cloud Servers Using Seed Block Algorithm
Manasa et al. An evidence multi-copy dynamic data possession in multi cloud computing system
Retoliya et al. Proactive security: Key refreshing algorithm for long term protection
Nikam et al. Survey on Dynamic Ownership Management for Secure Data De-duplication
Patil et al. Analyzing Proactive Secret Sharing Schemes
Cryptosystem Countering Digital Forensics

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250428

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: 20250520

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250610

R150 Certificate of patent or registration of utility model

Ref document number: 7696364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150