IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌチェーン ホールディングス リミテッドの特許一覧

特開2024-10226デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム
<>
  • 特開-デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム 図1
  • 特開-デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム 図2
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024010226
(43)【公開日】2024-01-23
(54)【発明の名称】デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム
(51)【国際特許分類】
   G09C 1/00 20060101AFI20240116BHJP
【FI】
G09C1/00 650Z
G09C1/00 650A
【審査請求】有
【請求項の数】9
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023191977
(22)【出願日】2023-11-10
(62)【分割の表示】P 2020544897の分割
【原出願日】2019-02-19
(31)【優先権主張番号】1803396.9
(32)【優先日】2018-03-02
(33)【優先権主張国・地域又は機関】GB
(31)【優先権主張番号】PCT/IB2018/051338
(32)【優先日】2018-03-02
(33)【優先権主張国・地域又は機関】IB
(71)【出願人】
【識別番号】318001991
【氏名又は名称】エヌチェーン ライセンシング アーゲー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ライト,クレイグ スティーヴン
(57)【要約】      (修正有)
【課題】デジタルアセットの制御を移転する。
【解決手段】方法は、複数の第1参加者の間で、楕円曲線暗号システムの第1秘密鍵dAのシェアを分配する。第1秘密鍵は、第1秘密鍵の第1閾数のシェアを用いてアクセス可能であり、デジタルアセットへのアクセスは、第1秘密鍵による第1暗号化メッセージのデジタル署名により提供される。暗号化システムの決定性鍵のシェアを、第1参加者又は複数の第2参加者の間で分配する。決定性鍵は、決定性鍵の第2閾数のシェアを用いてアクセス可能である。第2暗号化メッセージを提供し、デジタルアセットへのアクセスは、決定性鍵により第1秘密鍵に関連付けられた第2秘密鍵による第2暗号化メッセージのデジタル署名により提供される。第2秘密鍵により署名された第2暗号化メッセージのシェアを生成し、第2暗号化メッセージは、署名されたメッセージの第3閾数のシェアを用いて第2秘密鍵により署名できる。
【選択図】図1
【特許請求の範囲】
【請求項1】
デジタルアセットの制御を移転する、コンピュータにより実施される方法であって、前記方法は、プロセッサにおいて、
複数の第1参加者の間で、第1シークレット値の第1シェアを分配するステップであって、前記第1参加者の各々はコンピュータシステムであり、前記第1シークレット値は、準同型特性を有する暗号システムの第1秘密-公開鍵ペアの第1秘密鍵であり、前記第1シークレット値は、前記第1シークレット値の第1閾数の前記第1シェアによりアクセス可能であり、前記第1シークレット値の前記第1閾数の前記第1シェアが無い場合にアクセス可能ではなく、前記デジタルアセットへのアクセスは、前記第1秘密鍵による第1暗号化メッセージへのデジタル署名により可能になる、ステップと、
複数の第2参加者の間で、第2シークレット値の第2シェアを分配するステップであって、前記第2参加者の各々はコンピュータシステムであり、前記第2シークレット値は、前記暗号システムの第2秘密-公開鍵ペアの第2秘密鍵であり、前記第2シークレット値は、前記第2シークレット値の第2閾数の前記第2シェアによりアクセス可能であり、前記第2シークレット値の前記第2閾数の第2シェアが無い場合にアクセス可能ではない、ステップと、
第2暗号化メッセージを提供するステップであって、前記デジタルアセットへのアクセスは、前記暗号システムの第2秘密-公開鍵ペアの第3秘密鍵による前記第2暗号化メッセージへのデジタル署名により許可され、前記第3秘密鍵は前記プロセッサ、前記第1参加者、及び前記第2参加者に未知であり、前記第1秘密鍵及び前記第2秘密鍵から導出されたものである、ステップと、
第3シークレット値の第3シェアを生成するステップであって、前記第3シークレット値は、前記第3秘密鍵により署名された前記第2暗号化メッセージであり、前記第2暗号化メッセージは、前記第3シークレット値の第3閾数の前記第3シェアを用いて前記第3秘密鍵により署名でき、前記第3シークレット値の前記第3閾数の前記第3シェアが無い場合に署名できない、ステップと、
を含む、コンピュータにより実施される方法。
【請求項2】
前記第1参加者のうちの少なくとも1つは、第2参加者でもある、請求項1に記載のコンピュータにより実施される方法。
【請求項3】
前記第2秘密鍵は決定鍵である、請求項1に記載のコンピュータにより実施される方法。
【請求項4】
前記第1シェアを分配するステップ、及び前記第2シェアを分配するステップのうちの少なくとも一方は、前記第1参加者及び/又は前記第2参加者との各々の暗号化通信チャネルを提供するステップを含む、請求項1に記載のコンピュータにより実施される方法。
【請求項5】
前記第3シェアは、楕円鍵のシェアを用いて及びシェアをマスクして、生成される、請求項1に記載のコンピュータにより実施される方法。
【請求項6】
前記第3シェアのうちの少なくとも1つは、前記第1参加者のうちの1つと前記第2参加者のうちの1つを含む参加者のペアにより生成される、請求項1に記載のコンピュータにより実施される方法。
【請求項7】
前記暗号システムは楕円曲線暗号システムであり、前記第1秘密-公開鍵ペア及び前記第2秘密-公開鍵ペアの各々の公開鍵は、対応する秘密鍵による楕円曲線基準点の乗算により、前記対応する秘密鍵に関連付けられ、前記第3秘密鍵は、前記第1秘密鍵と前記第2秘密鍵を加算したものである、請求項1に記載のコンピュータにより実施される方法。
【請求項8】
コンピュータにより実装されるシステムであって、
プロセッサと、
実行可能命令を含むメモリであって、前記実行可能命令は、前記プロセッサによる実行の結果として、前記コンピュータにより実装されるシステムに請求項1~7のいずれかに記載の方法によりデジタルアセットの制御を移転させる、メモリと、
を含むシステム。
【請求項9】
実行可能命令を格納している非一時的コンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムのプロセッサにより実行された結果として、前記コンピュータシステムに、請求項1~7のいずれに記載の方法によりデジタルアセットの制御を移転させる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【発明の概要】
【0001】
本発明は、概して、データのセキュリティ及びコンピュータに基づくリソースに関する。より具体的には、本発明は、暗号通貨及び暗号法に関し、楕円曲線暗号法、楕円曲線デジタル署名アルゴリズム(Elliptic Curve Digital Signature Algorithm:ECDSA)、及び閾値暗号法にも関する。本発明は、ブロックチェーンにより実装される暗号通貨に関連して利益をもたらすために使用できるが、これに関して限定されず、より広範な適用可能性を有し得る。本発明は、一実施形態では、閾値署名方式を提供するとして記載され得る。
【0002】
本願明細書では、私たちは、全ての形式の電子的、コンピュータに基づく、分散型台帳を包含するために用語「ブロックチェーン」を使用する。これらは、総意に基づくブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、並びにこれらの変形を含む。他のブロックチェーン実装が提案され開発されているが、ブロックチェーン技術の最も広く知られているアプリケーションは、Bitcoin台帳である。Bitcoinは、ここでは、便宜上及び説明の目的で参照されることがあるが、本発明はBitcoinブロックチェーンと共に使用することに限定されず、代替のブロックチェーン実装及びプロトコルが本発明の範囲に包含されることに留意すべきである。
【0003】
ブロックチェーンは、コンピュータに基づく非集中型の分散型システムとして実装されるピアツーピアの電子台帳であり、ブロックにより構成され、ブロックはまたトランザクションにより構成される。各トランザクションは、ブロックチェーンシステムの中の参加者間でデジタルアセットの制御の移転を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、これらのブロックは一緒に繋げられて、起源以来ブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能な記録を生成する。
【0004】
非集中化の概念は、Bitcoin方法にとって基本的である。非集中化システムは、分散型又は集中型システムと異なり、単一の障害点が存在しないという利点を提供する。したがって、非集中化システムは、拡張されたレベルのセキュリティ及び信頼性を提供する。このセキュリティは、楕円曲線暗号法及びECDSAのような知られている暗号化技術の使用により更に拡張される。
【0005】
しかしながら、Bitcoinプロトコル自体は、本願の出願時において任意の有意な攻撃に対して強靱であることが証明されているが、Bitcoinネットワークを補うまたはそれに基づき構築された交換およびウォレットに対する攻撃が存在する。Bitcoinの価値が増大するにつれ、Mt Gox及びBitfinexに関連するような、より多くの出来事が標準的な集中型システムにおいて生じる可能性がある。
【発明が解決しようとする課題】
【0006】
したがって、このようなシステムのセキュリティを更に向上するソリューションの必要がある。本発明は、特にこのような利点を提供する。
【課題を解決するための手段】
【0007】
本発明は、添付の請求の範囲に定められた方法及びシステムを提供する。
【0008】
本発明によると、デジタルアセットの制御を移転する方法が提供され得る。前記方法は、
複数の第1参加者の間で、少なくとも1つの第1シークレット値のシェアを分配するステップであって、少なくとも1つの前記第1シークレット値は、準同型特性を有する暗号化システムの第1秘密-公開鍵ペアの第1秘密鍵であり、前記第1シークレット値は、前記第1シークレット値の第1閾数の前記シェアによりアクセス可能であり、前記第1シークレット値の前記第1閾数のシェアが無い場合にアクセス可能ではなく、前記デジタルアセットへのアクセスは、前記第1秘密鍵による第1暗号化メッセージへのデジタル署名により提供される、ステップと、
前記複数の第1参加者の間で、少なくとも1つの第2シークレット値のシェアを分配するステップであって、少なくとも1つの前記第2シークレット値は、前記暗号化システムの決定性鍵であり、前記第2シークレット値は、前記第2シークレット値の第2閾数の前記シェアによりアクセス可能であり、前記第2シークレット値の前記第2閾数のシェアが無い場合にアクセス可能ではない、ステップと、
第2暗号化メッセージを提供するステップであって、前記デジタルアセットへのアクセスは、前記暗号化システムの第2秘密-公開鍵ペアの第2秘密鍵による前記第2暗号化メッセージへのデジタル署名により提供され、前記第2秘密鍵は前記決定性鍵により前記第1秘密鍵に関連付けられる、ステップと、
少なくとも1つの第3シークレット値のシェアを生成するステップであって、少なくとも1つの前記第3シークレット値は、前記第2秘密鍵により署名された前記第2暗号化メッセージであり、前記第2暗号化メッセージは、前記第3シークレット値の第3閾数の前記シェアを用いて前記第2秘密鍵により署名でき、前記第3シークレット値の前記第3閾数のシェアが無い場合に署名できない、ステップと、
を含む。
【0009】
第2暗号化メッセージを提供するステップであって、前記デジタルアセットへのアクセスは、前記暗号化システムの第2秘密-公開鍵ペアの第2秘密鍵による前記第2暗号化メッセージのデジタル署名により提供され、前記第2秘密鍵は、前記決定性鍵により前記第1秘密鍵に関連付けられる、ステップと、少なくとも1つの第3シークレット値のシェアを生成するステップであって、少なくとも1つの前記第3シークレットは、前記第2秘密鍵により署名された前記第2暗号化メッセージであり、前記第2暗号化メッセージは、前記第3シークレット値の第2閾数の前記シェアを用いて前記第2秘密鍵により署名でき、前記第3シークレット値の前記第3閾数のシェアが無い場合に署名できない、ステップと、により、これは、デジタルアセットの制御が第1秘密鍵の閾数のシェアから、第2秘密鍵の閾数のシェアへと、セキュア且つ簡易な方法で決定性鍵を使用することにより移転されることを可能にするという利点を提供する。また、決定性鍵のシェアを分配するステップによると、これは、署名方式における参加者の人数を容易に変更できるという利点を提供する。その結果、例えば、参加者のうちの1人以上のセキュリティが傷付けられた場合に、運用の更なる信頼性およびセキュリティが達成できる。これは、署名方式において参加者の人数を容易に増大することを可能にするという更なる利点も提供する。
【0010】
前記方法は、前記暗号化システムを用いて暗号化された、前記決定性鍵のバージョンを、複数の第2参加者に分配するステップであって、前記準同型特性は、前記第1公開鍵および前記決定性鍵の前記バージョンからの、前記第2公開鍵の導出を可能にする、ステップ、を更に含んでよい。
【0011】
各々の前記第1および/または第2参加者に通信された前記シェアは、前記第1および/または第2参加者により互いにアクセス不可能であってよい。
【0012】
これは、セキュリティ、および秘密鍵の認可されない使用の防止を提供するという利点を提供する。
【0013】
前記第1および/または第2参加者に前記シェアを通信する前記ステップは、前記第1および/または第2参加者にそれぞれの暗号化通信チャネルを提供するステップを含んでよい。
【0014】
少なくとも1つの前記第1シークレット値のシェアを分配する前記ステップは、
複数の第4参加者に、第3参加者に知られている第4シークレット値のそれぞれの第1シェアを分配するステップであって、前記第1シェアは、前記暗号化システムの少なくとも1つの第3秘密-公開鍵ペアを用いて暗号化され、前記第4参加者が前記第4シークレット値を決定するために、第4閾数の第1シェアが必要である、ステップと、
複数の前記第4参加者の各々から、前記第4参加者に知られているそれぞれの第5シークレット値の少なくとも1つの第2シェアを受信するステップであって、前記第2シェアは、前記暗号化システムの少なくとも1つの第4秘密-公開鍵ペアを用いて暗号化され、前記第4参加者以外の参加者が前記第5シークレット値を決定するために、第5閾数の第2シェアが必要である、ステップと、
複数の前記第2シェアから、前記第1シークレット値の第3シェアを形成するステップであって、前記第1シークレット値を決定できるために、前記第1閾数の第3シェアが必要である、ステップと、
を含んでよい。
【0015】
複数の前記第2シェアから、前記第1シークレット値の第3シェアを形成するステップであって、前記第1シークレット値を決定可能にするために、前記第1閾数の第3シェアが必要である、ステップにより、前記第4および第5シークレット値に対応する秘密鍵を開示するまたはメモリに格納する必要がなくなるので、方法のセキュリティを向上するという利点を提供する。
【0016】
前記第4および第5シークレット値の前記第1および第2シェアは、それぞれのShamir秘密共有方式を用いて生成されてよい。
【0017】
前記方法は、前記暗号化システムを用いて暗号化された、前記第1シェアのバージョンを、複数の前記第4参加者の各々に通信するステップ、を更に含んでよい。
【0018】
これは、異なる第4参加者から受信したシェアの整合性をチェックできるという利点を提供し、それにより、方法のセキュリティを傷つけることなく、疑わしく信頼できない参加者を無視できるという利点を提供する。
【0019】
前記方法は、前記暗号化システムを用いて暗号化された、少なくとも1つの第1シークレット値のバージョンを決定するステップ、を更に含んでよい。
【0020】
複数の前記第1シェアは、それぞれ、第1多項式関数の値であり、前記第1シークレット値は、前記第1閾数の前記シェアから前記多項式関数を導出することにより、決定されてよい。
【0021】
複数の前記第1シェアは、それぞれ、第2多項式関数の値であってよく、前記方法は、前記暗号化システムを用いて暗号化された、前記第2多項式関数の係数のバージョンを、複数の前記第4参加者の各々に通信するステップ、を更に含んでよい。
【0022】
これは、前記第3参加者から直接受信した前記第1シェアと、前記第4参加者から受信した、前記暗号化システムを用いて暗号化された前記第1シェアと、の整合性を、方法のセキュリティを傷つけることなく、前記第2多項式関数を再構成することにより、検証できるという利点を提供する。
【0023】
前記方法は、前記第3参加者から直接受信した前記第1シェアのバージョンと、複数の前記第4参加者から受信した、前記暗号化システムを用いて暗号化された、前記第1シェアのバージョンと、の整合性を検証するステップ、を更に含んでよい。
【0024】
これは、方法のセキュリティを傷つけることなく、信頼できない可能性のある参加者を識別できるという利点を提供する。
【0025】
前記方法は、前記第4参加者から受信した、前記暗号化システムを用いて暗号化された、前記第1シェアのバージョンと、別の前記第4参加者から受信した、前記暗号化システムを用いて暗号化された、前記第1シェアのバージョンと、の整合性を検証するステップ、を更に含んでよい。
【0026】
これも、方法のセキュリティを傷つけることなく、信頼できない可能性のある参加者を識別できるという利点を提供する。
【0027】
前記方法は、値0を有する、第6シークレット値のそれぞれの第4シェアを、複数の第4参加者に分配するステップであって、前記第4シェアは、前記暗号化システムの少なくとも1つの第5秘密-公開鍵ペアを用いて暗号化される、ステップ、を更に含んでよい。
【0028】
これは、シェアおよび/または秘密鍵を更新することを可能にするという利点を提供し、それにより、セキュアではないまたは違反した参加者を参加から除去できる。
【0029】
前記方法は、前記第4参加者から、少なくとも1つの前記第4シェアを受信し、前記第3シェアおよび第4シェアから、前記第1シークレット値の第5シェアを形成するステップであって、前記第1シークレット値を決定するために、第6閾数の第5シェアが必要である、ステップ、を更に含んでよい。
【0030】
少なくとも1つの前記第1シークレット値は、複数の前記第1参加者の間でJRSS(joint random secret sharing)を用いて共有されてよい。
【0031】
これは、任意の単一の第1参加者が第1シークレット値へのアクセスを有することを防ぐことにより、セキュリティを向上するという利点を提供する。
【0032】
少なくとも1つの前記第1シークレット値を共有するステップは、JZSS(joint zero secret sharing)により生成されたシェアをマスクするステップを含んでよい。
【0033】
これは、システムのセキュリティを傷つけることなく、デジタル署名を容易に生成させるという利点を提供する。
【0034】
前記暗号化システムは楕円曲線暗号化システムであってよく、各々の前記公開-秘密鍵ペアの前記公開鍵は、前記秘密鍵による楕円曲線基準点の乗算により、対応する秘密鍵に関連付けられてよく、前記第2秘密鍵は、前記決定性鍵の前記第1秘密鍵への加算により、前記第1秘密鍵に関連付けられてよい。
【0035】
本発明は、
プロセッサと、プロセッサによる実行の結果として、システムに本願明細書に記載のコンピュータにより実施される方法のいずれかの実施形態を実行させる実行可能命令を含むメモリと、
を含むシステムも提供する。
【0036】
本発明は、実行可能命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムのプロセッサにより実行された結果として、少なくとも、前記コンピュータシステムに、本願明細書に記載のコンピュータにより実施される方法を実行させる、非一時的コンピュータ可読記憶媒体も提供する。
【図面の簡単な説明】
【0037】
本発明の上述の及び他の態様は、本願明細書に記載の実施形態から明らかであり、及びそれを参照して教示される。本発明の実施形態は、単なる例を用いて及び添付の図面を参照して以下に説明される。
図1】暗号通過の形式のデジタルアセットの制御を移転するための、本発明を実施するシステムの概略図である。
図2】種々の実施形態が実装できるコンピューティング環境を示す概略図である。
【発明を実施するための形態】
【0038】
<先行研究>
シャミア秘密共有方式(Shamir Secret Sharing Scheme:SSSS)
シャミア(1979)は、最初に、鍵の分散型管理を可能にするディーラーに基づくシークレット共有方式を導入した。この方式に関連する問題は、検証できないディーラーを信用する必要から生じる。この形式の方式は、本願に開示するシステムと完全に互換性があり、ここに示す処理を通じて生成される個別鍵スライスのグループ配信のために使用できる。
【0039】
共同ランダム秘密共有(Joint Random Secret Sharing:JRSS、Pedersen,1992)
この手順の明記された目的は、任意の参加者がシークレットを知ること無く、参加者グループが共同でシークレットを共有する方法を生成することである。各参加者は、ランダム値を彼らのローカルシークレットとして選択し、グループによりSSSSを用いて導出された値を配信する。各参加者は、次に、自身のものを含む参加者からの全てのシェアを加算する。この和は、共同ランダムシークレットシェアである。単一の誠実な参加者により提供されるランダム性は、結合されたシークレット値の信頼性を維持するのに十分である。この状態は、(n-1)人の他の参加者全員が意図的に非ランダムシークレット値を選択した場合でも、真である。
【0040】
共同ゼロ秘密共有(Joint Zero Secret Sharing:JZSS、Ben-Or,1988)
JZSSはJRSSと同様であるが、各参加者がランダム値の代わりに0を共有することが異なる。この技術を使用して生成されたシェアは、JRSSアルゴリズムの中で任意の可能性のある弱点(weak point)を除去するのを支援する。
【0041】
Desmedt[1987]は、グループ指向型暗号法の概念を導入した。この処理は、参加者のうちの選択された一部のみがメッセージを解読することを許可される方法で、参加者が人々のグループへメッセージを送信することを可能にした。このシステムでは、メンバは、送信者が公開鍵を用いてメンバを知る必要があるかどうかを知らされていて、メンバから独立に保たれるグループの単一の公開鍵が存在する場合、グループは匿名である。本願に開示するシステムは、両方の方法を統合し、知られている匿名の送信者及び署名者が、グループ内で同時に存在することを可能にする。
【0042】
<方法及び実装>
最初に、セキュア通信チャネルが、国際特許出願WO2017/145016に詳細に記載された方法で、参加者間に確立される。その結果、データは、他の参加者に利用可能にされることなく、参加者間で交換できる。
【0043】
セキュア通信チャネルが参加者間に確立されると、第1秘密鍵dAのシェアdA(i)は、以下に記載する方法を用いて第1参加者のグループの間に分配される。
【0044】
アルゴリズム1:鍵生成
ドメインパラメータ(CURVE, Cardinality n, Generator G)
インプット: N/A
アウトプット: 鍵シェアdA1、dA2、...、dAN
アルゴリズム1の方法は以下の通りである。
【0045】
1) (N)のうちの各参加者p(i)は、ECC公開鍵(または本実装ではBitcoinアドレス)を全ての他の参加者と交換し、ここで1≦i≦Nである。このアドレスは、グループアイデンティティアドレスであり、任意の他の目的で使用される必要がない。
【0046】
留意すべきことに、これは、例えば国際特許出願WO2017/145016に開示されるように導出されたアドレス、および該出願に開示された処理から参加者の各々の間の共有された値に基づく鍵である。
【0047】
2) 各参加者p(i)は、全ての他のパーティから秘密である方法で、ランダムな係数を有する次数(k-1)の多項式fi(x)を選択する。
【0048】
この関数は、多項式の自由項として選択された参加者のシークレットa0 (i)の影響を受ける。この値は共有されない。この値は、導出された秘密鍵を用いて計算される。
【0049】
fi(h)は、参加者p(i)により選択された関数f(x)の点(x=h)における値の結果として定められ、参加者p(i)の基本式は、以下の関数として定められる:
i(h)は、参加者p(i)により選択された関数f(x)の点(x=h)における値の結果として定められ、参加者p(i)の基本式は、以下の関数として定められる:
f(x)=Σp=0 (k-1) apxp mod n
この式で、a0は各参加者p(i)のシークレットであり、共有されない。
【0050】
したがって、各参加者p(i)は、該参加者のシークレットとして定義される自由項a0 (i)を有する次数(k-1)の多項式として表される秘密に保たれた以下の関数fi(x)を有する:
fi(x)=Σγ=0 (k-1) aγxγ mod n
【0051】
3) 各参加者p(i)は、上述のようにP(h)の公開鍵を用いて参加者P(h)∀h={1,...,(i-1),(i+1),...,N}へのfi(h)を暗号化し、復号するためにP(h)の値を交換する。
【0052】
Znがフィールド(field)であり、ECC秘密鍵として選択された値に対してnを法としてラグランジュ補間を有効に実行できる場合、シャミアのシークレット共有方式SSSS(Shamir’s Secret Sharing Scheme)[5]がZnに対して実施できるという結論に至る条件が存在する。
【0053】
4) 各参加者P(i)は、全ての参加者に以下の値をブロードキャストする。
a) ak (i)G∀k={0,...,(k-1)}
b) fi(h)G∀h={1,...,N}
【0054】
上式の変数hに関連付けられた値は、参加者P(h)の位置であり得る。その結果、参加者P(h)が方式の中で第3参加者を表す場合、h=3、または等価に、参加者により使用されるECC公開鍵の値を整数として表してよい。いずれの実装についても使用例およびシナリオが存在する。後者の実装では、値h={1,…,N}は、個々の参加者の利用した公開鍵にマッピングされた値の配列により置き換えられ得る。
【0055】
5) 各参加者P(h≠i)は、各他の参加者から受信したシェアとの、受信したシェアの一貫性を検証する。つまり:
Σk=o (k-1)hk ak (i) G = fi(h)G
そして、fi(h)Gは、参加者のシェアと一致する。
【0056】
6) 各参加者P(h≠i)は、該参加者(P(h≠i))により所有され且つ受信されたシェアが他の受信されたシェアと一致するかを検証する:
a0 (i)G=Σh∈Bβjfi(h)G ∀P(h≠i)
【0057】
実際に、これは、参加者が、受信したシェアから共有シークレットを復元し得るが、代わりに、Gにより乗算されたシェアから、基準点Gにより乗算された共有シークレットを復元する処理を実行することを意味する。これが一致しない場合、参加者はプロトコルを拒否し、再び開始する。
【0058】
7) 参加者p(i)は彼らのシェアdA(i)を次のように計算する:
SHARE(p(i))=dA(i)h=1 jfh(i) mod n
ここで、SHARE(p(i))∈Zn
及び
ここで、
【数1】
【0059】
ここで、演算「Exp-Interpolate(f1,...,fN)」は、シェアf1,...,fNから共有シークレットdAを復元するために通常使用される方法で、例えばシャミア秘密共有方式の場合にはラグランジュ係数を用いる補間により、シェアf1×G,...,fN×Gから共有シークレット値G×dAを復元する演算を実行することを意味する。
【0060】
戻り値: (dA(i),QA)
参加者p(i)は、署名を計算する際にシェアを使用する。この役割は、任意の参加者により、または署名を集める処理において調整者(coordinator)として機能するパーティp(c)により、行うことができる。参加者p(c)は、変化し、トランザクションに署名するために十分なシェアを集めようとする度に同じパーティである必要はない。
【0061】
したがって、秘密鍵シェアdA(i)∈Zn *は、他の参加者のシェアを知らずに、生成される。
【0062】
アルゴリズム2:秘密鍵を更新する
インプット: 秘密鍵dAの参加者Piのシェアを示すdA(i)
アウトプット: 参加者Piの、新しい秘密鍵シェアdA(i)
アルゴリズム2は、秘密鍵を更新するため、およびプロトコルにランダム性を追加するために使用できる。
【0063】
1) 各参加者は、ゼロ(0)を自由項とする次数(k-1)のランダム多項式を選択する。これは、アルゴリズム1と類似するが、参加者は全ての他の参加者の選択されたシークレットがゼロであることを検証しなければならない。
【0064】
以下に留意すべきである。
【数2】
ここで、0は楕円曲線上の無限遠における点である。
【0065】
この式を用いて、全てのアクティブな参加者は以下の関数を検証する:
【数3】
ゼロシェアを生成する: zi∈Zn *
【0066】
2) dA(i)’=dA(i)+zi
【0067】
3) 戻り値: dA(i)
【0068】
参加者の集合は、アルゴリズム1に従い秘密鍵シェアdA1,dA2,...,dANを構成する。新しい鍵シェアDk1,Dk2,...,DkNは、集合の中の各参加者に導入される。これらのシェアは、上述のアルゴリズム1を用いて構成されてよい。アルゴリズム1では、参加者の閾シェアが、予め知られていない共有シークレットDkを構成可能であってよい。代替として、Dkは予め知られていてよく(例えば決定性鍵)、シェアは、アルゴリズムと同様の方法で構成されてよいが、予め知られているDkは多項式の中の自由項として選択される。いずれの場合にも、集合の中の各参加者にはスライスDk1,Dk2,...,DkNだけが知られているが、以下は全員に知られている:
【数4】
【0069】
全ての参加者は以下の第1公開鍵を知っているので:
【数5】
【0070】
彼らは以下を計算できる:
【数6】
【0071】
ここで、第1V1Sおよび第2V2S秘密鍵はV2S=V1S+Dkにより関連付けられるので、彼らはdAの彼らのスライスまたはDkをブロードキャストしない。個々のシェアdA1,...,dAN、およびDk1,...,DkNは、各々の個々の参加者にだけに知られたままである。
【0072】
新しいアドレスP2Sが生成され、誰が主な資金を制御するかを変更するトランザクションtxがこれに署名する。つまり、P1SからP2Sへの支払いは、アドレスP1Sを用いて署名できる。
【0073】
Dk集合は、P1S集合からのグループとして(または閾数または全メンバのいずれかとして)、または新しいグループ、のいずれかとして設定できる。Dkの各閾スライスは、別個に割り当てることができるが、P1SおよびDkが別個に制御される場合、これは二重署名構造を作り出し、P1SおよびDkの両方がトランザクションtxに署名するためにそれぞれの閾レートで要求されることに留意すべきである。更に、P1SおよびDkは同じメンバまたは同じ割合を必要としないことに留意すべきである。
【0074】
アルゴリズム3:署名生成
インプット:
署名されるべきメッセージ: e=H(m)
秘密鍵シェア: dA1,...,dAN、ここで、dA(i)∈Zn *
決定性鍵: Dk1,...,DkN、ここで、Dki∈Zn *
秘密鍵シェアdA1,dA2,...,dANは、アルゴリズム1を用いて生成される。決定性鍵シェアDk1,Dk2,...,DkNは、アルゴリズム1を用いて、多項式の中の自由項としてランダムな定数を用いて、または、自由項として予め知られている決定性鍵Dkを用いて、生成される。
【0075】
アウトプット:
署名: (r,s) ここで、r,s∈Zn *
署名は、秘密鍵のシェアdAおよび決定性鍵のシェアDkの両方を署名に組み込む方法を用いて生成される。これは以下のように詳細に説明される。
【0076】
先ず、各参加者は、アルゴリズム1を用いて一次的な(emphemeral)鍵シェアを生成する:
ki∈Zn *
【0077】
新しいマスクシェアが上述のアルゴリズム1を用いて生成される:
αi∈Zn *
【0078】
ゼロマスクシェアが上述のアルゴリズム2を用いて生成される:
βi∈Zn、 ci∈Zn
【0079】
各参加者はαi、βi、 ciを知っており、それらは他のだれにも知られていない。
【0080】
1) e=H(m)メッセージ(署名されるべきトランザクション)を分配する。
【0081】
以下をブロードキャストする:
【数7】
【0082】
2) 以下を計算する:
【数8】
【0083】
ここで、αはマスクシェアαiに対応する秘密鍵であり、演算「Interpolate(ν1,...,νN)」は、例えばラグランジュ補間係数を用いて、シェアν1,...,νNから共有シークレットμを取得することを意味する。
【0084】
3) 以下を計算する:
【数9】
【0085】
4) (Rx,Ry)を計算する。ここで、
【数10】
【0086】
5) r:=rx=Rx mod nを定める。
【0087】
r=0ならば、やり直す。
【0088】
6) 以下をブロードキャストする:
Si:=ki(e+[dAi+Dki]r)+ci mod n
dAiおよびDkiが参加者の異なる集合を表す場合、各集合からの2人の参加者は各々の個々のSiをブロードキャストするために通信しなければならないことに留意する。
【0089】
7)
【数11】
【0090】
S=0ならば、やり直す。
【0091】
8) 戻り値: (r,s)
【0092】
9) 次式に由来するトランザクションを構成する:
【数12】
【0093】
これは、(r,s)署名を有する標準的なBitcoinトランザクションである。どの点もdAを有しない、または、(Dkが既存の知られている値と分離されてない限り)Dkが再構成される。
【0094】
図1を参照すると、Bitcoinのような暗号通貨額のようなデジタルアセット2の制御を移転する本発明を実施する方法が記載される。最初に、複数の第1参加者4の間で、上述のアルゴリズム1を用いて、第1秘密鍵dAのシェアdAiが分配される。アセット2を第3パーティ14に移転するために、第1秘密鍵dAは、第1秘密鍵dAの第1閾数6のシェアdAiを用いてアクセス可能であり、第1秘密鍵dAの第1閾数6のシェアdAiが存在しない場合にアクセス不可能である。決定性鍵DkのシェアDkiは、複数の第2参加者4の間で分配される。その結果、決定性鍵Dkは、決定性鍵Dkの第2閾数10のシェアDkiを用いてアクセス可能であり、第2閾数10のシェアDkiが存在しない場合にアクセス不可能である。上述のアルゴリズム3の処理に従い署名シェアSiを生成した後に、デジタルアセット2へのアクセスは、第3閾数12の署名シェアSiに基づく第2秘密鍵dA+Dkによるデジタル署名により提供される。

図2を参照すると、本開示の少なくとも一実施形態を実施するために使用され得るコンピューティング装置2600の説明のための簡略ブロック図が提供される。種々の実施形態で、コンピューティング装置2600は、上述の図示のシステムのうちのいずれかを実装するために使用されてよい。例えば、コンピューティング装置2600は、データサーバ、ウェブサーバ、ポータブルコンピューティング装置、パーソナルコンピュータ、又は任意の電子コンピューティング装置として使用するために構成されてよい。図2に示すように、コンピューティング装置2600は、主メモリ2608及び永久記憶装置2610を含む記憶サブシステム2606と通信するよう構成され得る1つ以上のレベルのキャッシュメモリ及びメモリ制御部(集合的に2602とラベル付けされる)を備える1つ以上のプロセッサを含んでよい。主メモリ2608は、図示のように、動的ランダムアクセスメモリ(DRAM)2618及び読み出し専用メモリ(ROM)2620を含み得る。記憶サブシステム2606及びキャッシュメモリ2602は、本開示で説明されたようなトランザクション及びブロックに関連付けられた詳細事項のような情報の記憶のために使用されてよい。プロセッサ2602は、本開示で説明されたような任意の実施形態のステップ又は機能を提供するために利用されてよい。
【0095】
プロセッサ2602は、1つ以上のユーザインタフェース入力装置2612、1つ以上のユーザインタフェース出力装置2614、及びネットワークインタフェースサブシステム2616とも通信できる。
【0096】
バスサブシステム2604は、コンピューティング装置2600の種々のコンポーネント及びサブシステムが意図した通りに互いに通信できるようにするメカニズムを提供してよい。バスサブシステム2604は、単一のバスとして概略的に示されるが、バスサブシステムの代替の実施形態は、複数のバスを利用してよい。
【0097】
ネットワークインタフェースサブシステム2616は、他のコンピューティング装置及びネットワークへのインタフェースを提供してよい。ネットワークインタフェースサブシステム2616は、幾つかの実施形態では、コンピューティング装置2600の他のシステムからデータを受信し及びそれへデータを送信するインタフェースとして機能してよい。例えば、ネットワークインタフェースサブシステム2616は、データ技術者が、装置をネットワークに接続することを可能にする。その結果、データ技術者は、データセンタのような遠隔地にいがなら、データを装置へ送信し、データを装置から受信できる。
【0098】
ユーザインタフェース入力装置2612は、キーボード、統合型マウス、トラックボール、タッチパッド、又はグラフィックタブレットのような指示装置、スキャナ、バーコードスキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンのようなオーディオ入力装置、及び他の種類の入力装置のような、1つ以上のユーザ入力装置を含んでよい。通常、用語「入力装置」の使用は、コンピューティング装置2600に情報を入力する全ての可能な種類の装置及びメカニズムを含むことを意図する。
【0099】
1つ以上のユーザインタフェース出力装置2614は、ディスプレイサブシステム、プリンタ、または音声出力装置のような非視覚的ディスプレイ、等を含んでよい。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、又はプロジェクションのような平面装置、又は他のディスプレイ装置を含んでよい。通常、用語「出力装置」の使用は、コンピューティング装置2600から情報を出力する全ての可能な種類の装置及びメカニズムを含むことを意図する。1つ以上のユーザインタフェース出力装置2614は、例えば、ユーザインタフェースを提示して、ここに記載したプロセス及び変形を実行するアプリケーションとのユーザ相互作用が適切であるとき、そのような相互作用を実現するために使用されてよい。
【0100】
記憶サブシステム2606は、本開示の少なくとも1つの実施形態の機能を提供する基本プログラミング及びデータ構造を記憶するコンピュータ可読記憶媒体を提供してよい。アプリケーション(例えば、プログラム、コードモジュール、命令)は、1つ以上のプロセッサにより実行されると、本開示の1つ以上の実施形態の機能を提供し、記憶サブシステム2606に格納されてよい。これらのアプリケーションモジュール又は命令は、1つ以上のプロセッサ2602により実行されてよい。記憶サブシステム2606は、更に、本開示に従い使用されるデータを格納するレポジトリを提供する。例えば、主メモリ2608及びキャッシュメモリ2602は、プログラム及びデータのための揮発性記憶を提供できる。永久記憶装置2610は、プログラム及びデータの永久(不揮発性)記憶を提供でき、磁気ハードディスクドライブ、取り外し可能媒体に関連付けられた1つ以上のフロッピディスクドライブ、取り外し可能媒体に関連付けられた1つ以上の光ドライブ(例えば、CD-ROM、又はDVD、又はBlue-Ray)ドライブ、及び他の同様の記憶媒体を含んでよい。このようなプログラム及びデータは、本開示に記載した1つ以上の実施形態のステップを実行するためのプログラム、及び本開示に記載したトランザクション及びブロックに関連付けられたデータを含み得る。
【0101】
コンピューティング装置2600は、ポータブルコンピュータ装置、タブレットコンピュータ、ワークステーション、又は後述する任意の他の装置を含む種々のタイプのものであってよい。さらに、コンピューティング装置2600は、1つ以上のポート(例えば、USB、ヘッドフォンジャック、光コネクタ、等)を通じてコンピューティング装置2600に接続可能な別の装置を含み得る。コンピューティング装置2600に接続され得る装置は、光ファイバコネクタを受けるよう構成される複数のポートを含んでよい。したがって、この装置は、光信号を、処理のために装置を接続するポートを通じてコンピューティング装置2600に送信される電気信号に変換するよう構成されてよい。コンピュータ及びネットワークの絶えず変化する特性により、図2に示したコンピューティング装置2600の説明は、装置の好適な実施形態を説明する目的の特定の例としてのみ意図される。図2に示したシステムより多くの又は少ないコンポーネントを有する多くの他の構成が可能である。
【0102】
上述の実施形態は、本発明を限定するのではなく、説明すること、及び当業者は添付の特許請求の範囲により定められる本発明の範囲から逸脱することなく多くの代替的実施形態を考案できることに留意すべきである。特許請求の範囲において、括弧内の任意の参照符号は、請求項を限定することを意図しない。用語「有する」及び「含む」(comprising、comprises)等は、任意の請求項又は明細書全体に列挙されたもの以外の要素またはステップの存在を排除しない。本願明細書では、「有する」は「有する又は構成される」を意味し、「含む」は「含む又は構成される」を意味する。要素の単数の参照は、該要素の複数の参照を排除しない。逆も同様である。本発明は、幾つかの別個の要素を含むハードウェアにより、及び適切にプログラムされたコンピュータにより、実装できる。幾つかの手段を列挙する装置クレームでは、これらの手段のうちの幾つかは、1つの同じハードウェアアイテムにより具現化されてよい。単に特定の手段が相互に異なる従属請求項に記載されるという事実は、これらの手段の組み合わせが有利に使用されないことを示さない。

<参考文献>
1) Ben-Or, M., Goldwasser, S., Wigderson, A.: “Completeness theorems for noncryptographic fault-tolerant distributed computation”. In: Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing. pp. 1-10. STOC ’88, ACM, New York, NY, USA (1988)
2) Chaum, David (1983). "Blind signatures for untraceable payments" (PDF). Advances in Cryptology Proceedings of Crypto. 82 (3): 199-203.
3) Desmedt. Yuo (1987). “Society and Group Oriented Cryptography: A New Concept”. In A Conference on the Theory and Applications of Cryptographic Techniques on Advances in Cryptology (CRYPTO '87), Carl Pomerance (Ed.). Springer-Verlag, London, UK, UK, 120-127.
4) Feldman. P. “A practical scheme for non-interactive verifiable secret sharing”. In Proceedings of the 28th IEEE Annual Symposium on Foundations of Computer Science, pages 427-437, 1987.
5) Gennaro, R., Jarecki, S., Krawczyk, H., Rabin, T.: “Robust threshold DSS signatures”. In: Proceedings of the 15th Annual International Conference on Theory and Application of Cryptographic Techniques. pp. 354-371. EUROCRYPT’96, SpringerVerlag, Berlin, Heidelberg (1996)
6) Ibrahim, M., Ali, I., Ibrahim, I., El-sawi, A.: “A robust threshold elliptic curve digital signature providing a new verifiable secret sharing scheme”. In: Circuits and Systems, 2003 IEEE 46th Midwest Symposium on. vol. 1, pp. 276-280 (2003)
7) Pedersen, T.: “Non-interactive and information-theoretic secure verifiable secret sharing”. In: Feigenbaum, J. (ed.) Advances in Cryptology - CRYPTO ’91, LNCS, vol. 576, pp. 129-140. Springer (1992)
8) Shamir, Adi (1979), "How to share a secret", Communications of the ACM, 22 (11): Pp. 612-613
図1
図2
【外国語明細書】