(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-07-06
(54)【発明の名称】一方向接続を介したデジタル資産所有物の移転
(51)【国際特許分類】
G06Q 20/38 20120101AFI20220629BHJP
H04L 9/32 20060101ALI20220629BHJP
G06Q 20/06 20120101ALI20220629BHJP
【FI】
G06Q20/38 316
H04L9/32 200Z
G06Q20/06 300
G06Q20/38 322
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021566164
(86)(22)【出願日】2020-05-06
(85)【翻訳文提出日】2022-01-07
(86)【国際出願番号】 IL2020050496
(87)【国際公開番号】W WO2020225814
(87)【国際公開日】2020-11-12
(32)【優先日】2019-05-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520295258
【氏名又は名称】ジーケーエイト リミテッド
【氏名又は名称原語表記】GK8 LTD
【住所又は居所原語表記】6 Yona Kremenetski Street, 1st Floor, Tel Aviv, ISRAEL
(74)【代理人】
【識別番号】110002952
【氏名又は名称】特許業務法人鷲田国際特許事務所
(72)【発明者】
【氏名】シャマイ シャハル
(72)【発明者】
【氏名】ラメッシュ リオル
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055AA15
5L055AA71
(57)【要約】
隔離デバイスに格納されるデジタル資産のセキュリティを強化する方法であって、各アカウントがデジタル資産の制限値を格納するよう構成されるユーザの複数のアカウントと隔離デバイスとを関連付けることであって、複数のアカウントのそれぞれには非対称暗号鍵ペア(各アカウントを暗号化する一意的な秘密鍵と、各アカウントを特定する対応する公開鍵とを含む)が割り当てられ、一方向セキュアチャネルを介しデジタル資産を統制するネットワークに接続される1つ以上の計算ノードに複数のアカウントのそれぞれに割り当てられた公開鍵を送信することと、移転される値を累積的に格納し、各アカウントに格納される制限された値を放出する1つ以上のアカウントの秘密鍵を1つ以上の計算ノードに送信することによって、デジタル資産の値を移転することとによる方法。
【特許請求の範囲】
【請求項1】
隔離デバイスに格納されるデジタル資産のセキュリティを強化する方法であって、ユーザに関連する隔離デバイスの少なくとも1つのプロセッサを利用して、
各アカウントがデジタル資産の制限値を格納するよう構成される前記ユーザの複数のアカウントと前記隔離デバイスとを関連付けることであって、前記複数のアカウントのそれぞれには複数の非対称暗号鍵ペアのそれぞれが割り当てられ、前記複数の非対称暗号鍵ペアのそれぞれは、各アカウントを暗号化する一意的な秘密鍵と、前記各アカウントを識別する対応する公開鍵とを含む、関連付けすることと、
一方向セキュアチャネルを介し前記デジタル資産を統制する複数の計算ノードを含むネットワークに接続される少なくとも1つの計算ノードに前記複数のアカウントのそれぞれに割り当てられた前記公開鍵を送信することと、
移転される値に等しい前記デジタル資産の制限された値を格納し、前記複数のアカウントの少なくとも1つのアカウントに格納される前記制限された値を放出する前記少なくとも1つのアカウントの前記秘密鍵を前記少なくとも1つの計算ノードに送信することによって、前記デジタル資産の値を移転することと、
を実行する、方法。
【請求項2】
前記デジタル資産は、暗号通貨を含み、
前記隔離デバイスは、暗号通貨ウォレットである、請求項1に記載の方法。
【請求項3】
前記デジタル資産は、ファイアット通貨のデジタル取引のための命令を含む、請求項1に記載の方法。
【請求項4】
前記デジタル資産の制限された値は、事前設定される、請求項1に記載の方法。
【請求項5】
前記デジタル資産の値を移転する前に、前記複数の計算ノードの少なくとも一部の間の合意に従って前記少なくとも1つの計算ノードによって報告された前記複数のアカウントに格納される前記デジタル資産の値全体を有効にすることを更に含む、請求項1に記載の方法。
【請求項6】
前記複数のアカウントのそれぞれは、何れか所与の時間において2つの状態の一方にあり、
前記2つの状態の使用準備完了状態では、各アカウントは、前記デジタル資産のゼロの値を格納し、受け取った値の少なくとも一部を格納するのに利用可能であり、
前記2つの状態の使用状態では、前記各アカウントは、前記デジタル資産の制限された値を格納し、更なるデジタル資産を格納するのに利用可能でない、請求項1に記載の方法。
【請求項7】
前記複数のアカウントのそれぞれは、各アカウントが前記2つの状態の間の複数の遷移周期をサポートするように複数の使用をサポートするよう構成され、
前記使用準備完了状態に現在ある各アカウントは、受け取った値の少なくとも一部が前記各アカウントに格納されているとき、前記使用状態に切り替わり、
前記使用状態に現在ある各アカウントは、前記各アカウントに格納される前記制限された値が前記隔離デバイスから移転されるとき、前記使用準備完了状態に切り替わり、新たな非対称暗号鍵ペアが、前記各アカウントに対して識別される使用サイクルの数に基づいて前記各アカウントに対して作成される、請求項6に記載の方法。
【請求項8】
前記少なくとも1つの計算ノードによって計算される受信された制限された長さの文字列に従って決定される前記デジタル資産の値を受け取るステップを更に含み、
前記受け取られた値は、前記隔離デバイスと前記少なくとも1つの計算ノードとによって共有される決定的に計算される順序に従って増加的にインデックス付けされる前記複数のアカウントの少なくとも1つの使用準備完了アカウントに格納され、前記複数のアカウントの最も直近に使用されたアカウントに続くインデックスを有する前記少なくとも1つの使用準備完了アカウントは、前記受け取られた値と前記制限された値とに従って決定される、請求項7に記載の方法。
【請求項9】
前記移転された値は、自由使用状態から前記使用状態に最も直近に切り替わった前記複数のアカウントの少なくとも1つの使用されたアカウントから移転される、請求項8に記載の方法。
【請求項10】
前記複数の非対称暗号鍵ペアは、前記ユーザに一意的に割り当てられたシードを利用して決定的に生成される、請求項7に記載の方法。
【請求項11】
少なくとも1つの乱数発生器を利用して前記シードをランダムに生成することを更に含む、請求項10に記載の方法。
【請求項12】
前記複数のアカウントに割り当てられた前記複数の非対称暗号鍵ペアは、前記複数のアカウントのそれぞれのインデックスと前記シードとに基づいて決定的に生成される、請求項10に記載の方法。
【請求項13】
複数の新たな非対称暗号鍵ペアが、前記隔離デバイスに対して前記ユーザによって実行される各初期化処理中に前記複数のアカウントに対して生成され、
前記複数の新たな非対称暗号鍵ペアのそれぞれは、前記隔離デバイスに対して実行される初期化処理の数、各アカウントのインデックス及び前記シードに基づいて決定的に生成される、請求項11に記載の方法。
【請求項14】
前記初期化処理は、前記隔離デバイスの最初の初期化処理と、前記隔離デバイスの復旧処理とから構成される群のメンバーであり、
前記復旧処理は、メモリ消去を受けた前記隔離デバイスと、前記ユーザのスクラップされる隔離デバイスと交換するため前記ユーザに関連する隔離デバイスとから構成される群のメンバーである少なくとも1つの故障の後に前記隔離デバイスを復元するよう実行される、請求項13に記載の方法。
【請求項15】
各初期化処理中、前記隔離デバイスは、所定数の使用サイクルの間の以前の各初期化処理中に前記複数のアカウントの少なくとも一部に対して生成される前記公開鍵を前記少なくとも1つの計算ノードに送信する、請求項13に記載の方法。
【請求項16】
前記移転された値が、最も直近の初期化前に受け取られた値が格納された少なくとも1つの使用されたアカウントから移転された場合、前記隔離デバイスは、前記少なくとも1つのアカウントに格納される前記制限された値を放出するため、以前の全ての初期化処理中に前記少なくとも1つのアカウントに対して生成される前記秘密鍵を前記少なくとも1つの計算ノードに送信する、請求項13に記載の方法。
【請求項17】
前記使用状態から自由使用状態への各アカウントの各遷移後に生成される前記新たな秘密鍵は、前記少なくとも1つの計算ノードが前記アカウントのシードから前記使用サイクルの少なくとも一部に対して生成される前記秘密鍵を導出することを可能にするため、前記隔離デバイスが以前の各初期化処理の初期化シードを送信するように、前記各アカウントの使用サイクルの数、前記初期化処理の数及び前記シードに基づいて計算される初期化シードを利用して決定的に生成される、請求項16に記載の方法。
【請求項18】
前記隔離デバイスが、最も直近の初期化の前記初期化シードを送信することによって、以前の全ての初期化処理に対して前記少なくとも1つのアカウントの秘密鍵を発行するように、各初期化処理に対して計算された前記初期化シードは、前記複数のアカウントのそれぞれに対して事前に計算された後続の初期化処理の前記初期化シードから決定的に導出される、請求項17に記載の方法。
【請求項19】
前記複数のアカウントに格納される前記デジタル資産の全体的な値と、前記隔離デバイスに対して実行される初期化処理の数との少なくとも1つを含む、前記隔離デバイスのバックアップ値符号化状態情報を計算することを更に含む、請求項13に記載の方法。
【請求項20】
復元処理中、少なくとも1つの制限された長さの文字列が、バックアップ値を符号化するため受け取られ、
前記隔離デバイスは、前記バックアップ値を利用して、復旧処理中に前記隔離デバイスに提供される状態情報の少なくとも一部を有効にする、請求項19に記載の方法。
【請求項21】
前記一意的なシードを利用して、前記復旧処理中に前記隔離デバイスに提供される偽の状態情報の検出をサポートして前記バックアップ値を計算することを更に含み、
前記隔離デバイスは、前記一意的なシードを利用して受信した状態情報に対して計算された他の値と前記バックアップ値との間のマッチングによって、前記提供された状態情報を検証する、請求項20に記載の方法。
【請求項22】
前記バックアップ値は更に、バックアップの作成時間を含み、
前記隔離デバイスは、前記バックアップ値から導出される前記作成時間に基づいて前記受信した状態情報の有効性を判定する、請求項21に記載の方法。
【請求項23】
前記ネットワークの前記複数の計算ノードの計算ノードのグループと通信することによって、前記デジタル資産の値を移転することを更に含み、
前記移転される値の移転元の少なくとも1つのアカウントの秘密鍵が、各々が前記グループの計算ノードの各々に送信される複数の鍵コンポーネントとして構成され、
前記少なくとも1つのアカウントから前記制限された値を放出するのに必要とされる前記秘密鍵が、前記グループの計算ノードの所定の一部の前記鍵コンポーネントを集約することによって構成される、請求項1に記載の方法。
【請求項24】
前記移転される値を格納する少なくとも1つのアカウントに対して非対称暗号鍵ペアが導出される第1の部分データ値と第2の部分データ値とを互いに発行することによって、前記デジタル資産の値が前記隔離デバイスと他の隔離デバイスとの間で移転可能となるように、前記デジタル資産を格納、移転及び受け取る前記他の隔離デバイスを利用することを更に含む、請求項1に記載の方法。
【請求項25】
前記第1の部分データ値は、前記隔離デバイスに割り当てられた第1の一意的なシードを利用して前記隔離デバイスによって計算され、
前記第2の部分データ値は、前記他の隔離デバイスに割り当てられた第2の一意的なシードを利用して前記他の隔離デバイスによって計算される、請求項24に記載の方法。
【請求項26】
第1の部分データ値のそれぞれは、特定の第1の部分データ値が与えられると、前記特定の第1の部分データ値に後続する全ての第1の部分値が前記特定の第1の部分データ値から決定的に推論可能となるように、先行する第1の部分データ値に基づいて計算され、
第2の部分データ値のそれぞれは、特定の第2の部分データ値が与えられると、前記特定の第2の部分データ値に先行する全ての第2の部分値が前記特定の第2の部分データ値から決定的に推論可能となるように、後続する第2の部分データ値に基づいて計算される、請求項24に記載の方法。
【請求項27】
前記デジタル資産の値を前記隔離デバイスから前記他の隔離デバイスに移転するため、前記隔離デバイスは、前記他の隔離デバイスが特定のアカウントとそれに先行するアカウントとに格納される指定されたデジタル資産値へのアクセスを有するように、前記特定のアカウントとそれに先行するアカウントとが、移転された値によって規定される前記デジタル資産の指定された値を累積的に格納する前記複数のアカウントの特定のアカウントと前記隔離デバイスにおいて関連付けされる前記第1の部分データ値を前記他の隔離デバイスと共有する、請求項26に記載の方法。
【請求項28】
前記デジタル資産の値を前記他の隔離デバイスから前記隔離デバイスに移転するため、前記他の隔離デバイスは、前記隔離デバイスが特定のアカウントとそれに先行するアカウントとに格納される指定されたデジタル資産値へのアクセスを有するように、前記特定のアカウントとそれに先行するアカウントとが、移転された値によって規定される前記デジタル資産の指定された値を累積的に格納する前記複数のアカウントの特定のアカウントと前記他の隔離デバイスにおいて関連付けされる前記第2の部分データ値を前記隔離デバイスと共有する、請求項26に記載の方法。
【請求項29】
隔離デバイスに格納されるデジタル資産のセキュリティを強化するためのユーザに関連する隔離デバイスであって、
一方向セキュアチャネルと、
少なくとも1つの制限された長さの文字列を受け取るよう構成される制限容量インタフェースと、
コードを格納する記憶媒体と、
前記一方向セキュアチャネル、前記制限容量インタフェース及び前記記憶媒体に結合され、前記コードを実行する少なくとも1つのプロセッサと、
を有し、
前記コードは、
各々がデジタル資産の制限された値を格納するよう構成されるユーザの複数のアカウントと前記隔離デバイスとを関連付けるコード命令であって、前記複数のアカウントの各々には複数の非対称暗号鍵ペアの各々が割り当てられ、前記複数の非対称暗号鍵ペアの各々は一意的な秘密鍵と対応する公開鍵とを含む、コード命令と、
前記デジタル資産を統制する複数の計算ノードを含むネットワークに接続される少なくとも1つの計算ノードに前記複数のアカウントの各々に割り当てられた前記公開鍵を前記一方向セキュアチャネルを介し送信するコード命令と、
移転される値に等しい前記デジタル資産の制限された値を格納し、前記少なくとも1つのアカウントに格納された前記制限された値を放出する前記複数のアカウントの少なくとも1つの前記秘密鍵を前記少なくとも1つの計算ノードに送信することによって、前記デジタル資産の値を移転するコード命令と、
を含む、隔離デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本出願は、その内容が参照によりその全体が援用される、2019年5月7日に出願された米国特許出願第16/404,843号の優先権の利益を主張する。
本出願はまた、2019年12月5日に出願された“SECURE CONSENSUS OVER A LIMITED CONNECTION”という名称のPCT特許出願PCT/IL2019/051330、及び、2019年2月14日に出願された“CRYPTOCURRENCY WALLET AND CRYPTOCURRENCY ACCOUNT MANAGEMENT”という名称のPCT特許出願PCT/IL2019/050181に関連する。上記出願の内容は全て参照によってその全体がいかに完全に与えられるように援用される。
【0002】
本発明は、それのいくつかの実施例では、接続が制限された隔離デバイスに記憶されたデジタル資産のセキュリティの向上に関し、より詳細には、限定することなく複数の制限された値アカウントを利用して接続制限された隔離デバイスに格納されるデジタル資産のセキュリティの向上に関する。
【背景技術】
【0003】
現代では、金融取引は、長い間、ファイアット(リアル)通貨を移転し、従って、従来の実際の通貨取引を代替するためのデジタルベースの取引命令を用いて主として行われてきた。
【0004】
近年、ブロックチェーンベースの暗号通貨の導入は、デジタル通貨、実際には国家、中央銀行などの何れか1つの単一のエンティティによって統制されない仮想通貨の更なる利用のための道を開いてきた。
【0005】
デジタル通貨、特に暗号通貨を使用することは、多くの利点を提供する一方、デジタル資産、特に暗号通貨は本来的に悪意のある攻撃を受けやすい膨大なコンピュータネットワークによって統制されているため、大きなセキュリティ上の懸念を与える可能性がある。デジタル資産を利用した取引は、本質的に、ネットワーク接続を必要とし、このネットワーク接続は、ユーザアカウントを記憶する電子デバイス(デジタルウォレット)を、これらのアカウントに記憶されたデジタル資産に対する制御を取得しようとする試みにおいて悪意のある当事者によって開始されたこのような悪意のある攻撃に更にさらす。
【発明の概要】
【0006】
本発明の第1の態様によると、隔離デバイスに格納されるデジタル資産のセキュリティを強化する方法であって、ユーザに関連する隔離デバイスの1つ以上のプロセッサを利用して、
各アカウントがデジタル資産の制限値を格納するよう構成される前記ユーザの複数のアカウントと前記隔離デバイスとを関連付けること。前記複数のアカウントのそれぞれには複数の非対称暗号鍵ペアのそれぞれが割り当てられ、前記複数の非対称暗号鍵ペアのそれぞれは、各アカウントを暗号化する一意的な秘密鍵と、前記各アカウントを識別する対応する公開鍵とを含む。
一方向セキュアチャネルを介し前記デジタル資産を統制する複数の計算ノードを含むネットワークに接続される1つ以上の計算ノードに前記複数のアカウントのそれぞれに割り当てられた前記公開鍵を送信すること。
移転される値に等しい前記デジタル資産の制限された値を格納し、前記各アカウントに格納される前記制限された値を放出する前記1つ以上のアカウントの前記秘密鍵を前記1つ以上の計算ノードに送信することによって、前記デジタル資産の値を移転すること。
を実行する、方法が提供される。
【0007】
本発明の第2の態様によると、隔離デバイスに格納されるデジタル資産のセキュリティを強化するためのユーザに関連する隔離デバイスであって、
一方向セキュアチャネルと、
1つ以上の制限された長さの文字列を受け取るよう構成される制限容量インタフェースと、
コードを格納する記憶媒体と、
前記一方向セキュアチャネル、前記制限容量インタフェース及び前記記憶媒体に結合され、前記コードを実行する少なくとも1つのプロセッサと、
を有し、
前記コードは、
各々がデジタル資産の制限された値を格納するよう構成されるユーザの複数のアカウントと前記隔離デバイスとを関連付けるコード命令。前記複数のアカウントの各々には複数の非対称暗号鍵ペアの各々が割り当てられ、前記複数の非対称暗号鍵ペアの各々は一意的な秘密鍵と対応する公開鍵とを含む。
前記デジタル資産を統制する複数の計算ノードを含むネットワークに接続される1つ以上の計算ノードに前記複数のアカウントの各々に割り当てられた前記公開鍵を前記一方向セキュアチャネルを介し送信するコード命令。
前記移転される値に等しい前記デジタル資産の制限された値を格納し、前記少なくとも1つのアカウントに格納された前記制限された値を放出する前記複数のアカウントの少なくとも1つの前記秘密鍵を前記少なくとも1つの計算ノードに送信することによって、前記デジタル資産の値を移転するコード命令。
を含む、隔離デバイスが提供される。
【0008】
第1及び/又は第2の態様の更なる実現形態では、前記デジタル資産は、暗号通貨を含む。前記隔離デバイスは、暗号通貨ウォレットである。
【0009】
第1及び/又は第2の態様の更なる実現形態では、前記デジタル資産は、ファイアット通貨のデジタル取引のための命令を含む。
【0010】
第1及び/又は第2の態様の更なる実現形態では、前記デジタル資産の制限された値は、事前設定される。
【0011】
第1及び/又は第2の態様の任意選択的な実現形態では、前記デジタル資産の値を移転する前に、前記複数の計算ノードの少なくとも一部の間の合意に従って前記1つ以上の計算ノードによって報告された前記複数のアカウントに格納される前記デジタル資産の値全体が有効にされる。
【0012】
第1及び/又は第2の態様の更なる実現形態では、前記複数のアカウントのそれぞれは、何れか所与の時間において2つの状態の一方にあり、前記2つの状態の使用準備完了状態では、各アカウントは、前記デジタル資産のゼロの値を格納し、受け取った値の少なくとも一部を格納するのに利用可能であり、前記2つの状態の使用状態では、前記各アカウントは、前記デジタル資産の制限された値を格納し、更なるデジタル資産を格納するのに利用可能でない。
【0013】
第1及び/又は第2の態様の更なる実現形態では、前記複数のアカウントのそれぞれは、各アカウントが前記2つの状態の間の複数の遷移周期をサポートするように複数の使用をサポートするよう構成され、
前記使用準備完了状態に現在ある各アカウントは、受け取った値の少なくとも一部が前記各アカウントに格納されているとき、前記使用状態に切り替わり、
前記使用状態に現在ある各アカウントは、前記各アカウントに格納される前記制限された値が前記隔離デバイスから移転されるとき、前記使用準備完了状態に切り替わり、新たな非対称暗号鍵ペアが、前記各アカウントに対して識別される使用サイクルの数に基づいて前記各アカウントに対して作成される。
【0014】
第1及び/又は第2の態様の任意選択的な実現形態では、前記デジタル資産の値が、前記少なくとも1つの計算ノードによって計算される受信された制限された長さの文字列に従って決定される。前記受け取られた値は、前記隔離デバイスと前記少なくとも1つの計算ノードとによって共有される決定的に計算される順序に従って増加的にインデックス付けされる前記複数のアカウントの1つ以上の使用準備完了アカウントに格納される。前記複数のアカウントの最も直近に使用されたアカウントに続くインデックスを有する前記使用準備完了アカウントは、前記受け取られた値と前記制限された値とに従って決定される。
【0015】
第1及び/又は第2の態様の更なる実現形態では、前記移転された値は、自由使用状態から前記使用状態に最も直近に切り替わった前記複数のアカウントの少なくとも1つの使用されたアカウントから移転される。
【0016】
第1及び/又は第2の態様の更なる実現形態では、前記複数の非対称暗号鍵ペアは、前記ユーザに一意的に割り当てられたシードを利用して決定的に生成される。
【0017】
第1及び/又は第2の態様の任意選択的な実現形態では、1つ以上の乱数発生器を利用して前記シードがランダムに生成される。
【0018】
第1及び/又は第2の態様の更なる実現形態では、前記複数のアカウントに割り当てられた前記複数の非対称暗号鍵ペアは、前記複数のアカウントのそれぞれのインデックスと前記シードとに基づいて決定的に生成される。
【0019】
第1及び/又は第2の態様の更なる実現形態では、複数の新たな非対称暗号鍵ペアが、前記隔離デバイスに対して前記ユーザによって実行される各初期化処理中に前記複数のアカウントに対して生成される。前記複数の新たな非対称暗号鍵ペアのそれぞれは、前記隔離デバイスに対して実行される初期化処理の数、各アカウントの前記インデックス及び前記シードに基づいて決定的に生成される。
【0020】
第1及び/又は第2の態様の更なる実現形態では、前記初期化処理は、前記隔離デバイスの最初の初期化処理と、前記隔離デバイスの復旧処理とから構成される群のメンバーであり、前記復旧処理は、メモリ消去を受けた前記隔離デバイスと、前記ユーザのスクラップされる隔離デバイスと交換するため前記ユーザに関連する隔離デバイスとから構成される群のメンバーである少なくとも1つの故障の後に前記隔離デバイスを復元するよう実行される。
【0021】
第1及び/又は第2の態様の更なる実現形態では、各初期化処理中、前記隔離デバイスは、所定数の使用サイクルの間の以前の各初期化処理中に前記複数のアカウントの少なくとも一部に対して生成される前記公開鍵を前記少なくとも1つの計算ノードに送信する。
【0022】
第1及び/又は第2の態様の任意選択的な実現形態では、前記移転された値が、最も直近の初期化前に受け取られた値が格納された少なくとも1つの使用されたアカウントから移転された場合、前記隔離デバイスは、前記少なくとも1つのアカウントに格納される前記制限された値を放出するため、以前の全ての初期化処理中に前記少なくとも1つのアカウントに対して生成される前記秘密鍵を前記少なくとも1つの計算ノードに送信する。
【0023】
第1及び/又は第2の態様の任意選択的な実現形態では、前記使用状態から前記自由使用状態への各アカウントの各遷移後に生成される前記新たな秘密鍵は、前記少なくとも1つの計算ノードが前記アカウントのシードから前記使用サイクルの少なくとも一部に対して生成される前記秘密鍵を導出することを可能にするため、前記隔離デバイスが以前の各初期化処理の初期化シードを送信するように、前記各アカウントの使用サイクルの数、前記初期化処理の数及び前記シードに基づいて計算される初期化シードを利用して決定的に生成される。
【0024】
第1及び/又は第2の態様の任意選択的な実現形態では、前記隔離デバイスが、最も直近の初期化の前記初期化シードを送信することによって、以前の全ての初期化処理に対して前記少なくとも1つのアカウントの秘密鍵を発行するように、各初期化処理に対して計算された前記初期化シードは、前記複数のアカウントのそれぞれに対して事前に計算された後続の初期化処理の前記初期化シードから決定的に導出される。
【0025】
第1及び/又は第2の態様の任意選択的な実現形態では、前記複数のアカウントに格納される前記デジタル資産の全体的な値と、前記隔離デバイスに対して実行される初期化処理の数との少なくとも1つを含む、前記隔離デバイスの状態情報を符号化するようバックアップ値が計算される。
【0026】
第1及び/又は第2の態様の更なる実現形態では、復元処理中、少なくとも1つの制限された長さの文字列が、前記バックアップ値を符号化するため受け取られ、前記隔離デバイスは、前記バックアップ値を利用して、復旧処理中に前記隔離デバイスに提供される状態情報の少なくとも一部を有効にする。
【0027】
第1及び/又は第2の態様の任意選択的な実現形態では、前記一意的なシードを利用して、前記復旧処理中に前記隔離デバイスに提供される偽の状態情報の検出をサポートして前記バックアップ値が計算される。前記隔離デバイスは、前記一意的なシードを利用して前記受信した状態情報に対して計算された他の値と前記バックアップ値との間のマッチングによって、前記提供された状態情報を検証する。
【0028】
第1及び/又は第2の態様の更なる実現形態では、前記バックアップ値は更に、前記バックアップの作成時間を含む。前記隔離デバイスは、前記バックアップ値から導出される前記作成時間に基づいて前記受信した状態情報の有効性を判定する。
【0029】
第1及び/又は第2の態様の任意選択的な実現形態では、前記ネットワークの前記複数の計算ノードの計算ノードのグループと通信することによって、前記デジタル資産の値が移転される。前記移転される値の移転元の少なくとも1つのアカウントの秘密鍵が、各々が前記グループの計算ノードの各々に送信される複数の鍵コンポーネントとして構成される。前記少なくとも1つのアカウントから前記制限された値を放出するのに必要とされる前記秘密鍵が、前記グループの計算ノードの所定の一部の前記鍵コンポーネントを集約することによって構成される。
【0030】
第1及び/又は第2の態様の任意選択的な実現形態では、前記移転される値を格納する少なくとも1つのアカウントに対して非対称暗号鍵ペアが導出される第1の部分データ値と第2の部分データ値とを互いに発行することによって、前記デジタル資産の値が前記隔離デバイスと他の隔離デバイスとの間で移転可能となるように、前記デジタル資産を格納、移転及び受け取る前記他の隔離デバイスが利用される。
【0031】
第1及び/又は第2の態様の更なる実現形態では、前記第1の部分データ値は、前記隔離デバイスに割り当てられた第1の一意的なシードを利用して前記隔離デバイスによって計算され、前記第2の部分データ値は、前記他の隔離デバイスに割り当てられた第2の一意的なシードを利用して前記他の隔離デバイスによって計算される。
【0032】
第1及び/又は第2の態様の任意選択的な実現形態では、第1の部分データ値のそれぞれは、特定の第1の部分データ値が与えられると、前記特定の第1の部分データ値に後続する全ての第1の部分値が前記特定の第1の部分データ値から決定的に推論可能となるように、先行する第1の部分データ値に基づいて計算される。第2の部分データ値のそれぞれは、特定の第2の部分データ値が与えられると、前記特定の第2の部分データ値に先行する全ての第2の部分値が前記特定の第2の部分データ値から決定的に推論可能となるように、後続する第2の部分データ値に基づいて計算される。
【0033】
第1及び/又は第2の態様の更なる実現形態では、前記デジタル資産の値を前記隔離デバイスから前記他の隔離デバイスに移転するため、前記隔離デバイスは、前記他の隔離デバイスが特定のアカウントとそれに先行するアカウントとに格納される指定されたデジタル資産値へのアクセスを有するように、前記特定のアカウントとそれに先行するアカウントとが、移転された値によって規定される前記デジタル資産の指定された値を累積的に格納する前記複数のアカウントの特定のアカウントと前記隔離デバイスにおいて関連付けされる前記第1の部分データ値を前記他の隔離デバイスと共有する。
【0034】
第1及び/又は第2の態様の更なる実現形態では、前記デジタル資産の値を前記他の隔離デバイスから前記隔離デバイスに移転するため、前記他の隔離デバイスは、前記隔離デバイスが特定のアカウントとそれに先行するアカウントとに格納される指定されたデジタル資産値へのアクセスを有するように、前記特定のアカウントとそれに先行するアカウントとが、移転された値によって規定される前記デジタル資産の指定された値を累積的に格納する前記複数のアカウントの特定のアカウントと前記他の隔離デバイスにおいて関連付けされる前記第2の部分データ値を前記隔離デバイスと共有する。
【0035】
本開示の他のシステム、方法、特徴及び効果は、以下の図面及び詳細な説明を検討することにより、当業者に明らかになるであろう。そのような追加のシステム、方法、特徴及び効果の全てが本説明に含まれ、本開示の範囲内にあり、添付の請求項によって保護されることが意図される。
【0036】
別段の規定がない限り、ここで使用される全ての技術用語及び/又は科学用語は、本発明が属する技術分野の当業者によって通常理解されるものと同じ意味を有する。ここに説明されるものと類似又は同等の方法及び題材が、本発明の実施例の実施又は試験において利用可能ができるが、例示的な方法及び/又は題材が以下に説明される。矛盾する場合、定義を含む特許明細書が優先する。さらに、題材、方法及び具体例は、例示にすぎず、必ずしも限定することを意図するものではない。
【0037】
本発明の実施例の方法及び/又はシステムの実施は、選択されたタスクを手動、自動又はそれらの組合せで実行又は完了することを含んでもよい。さらに、本発明の方法及び/又はシステムの実施例の実際の機器及び装置によると、いくつかの選択されたタスクは、ハードウェア、ソフトウェア、ファームウェア又はオペレーティングシステムを使用するそれらの組合せによって実施することができる。
【0038】
例えば、本発明の実施例による選択されたタスクを実行するためのハードウェアは、チップ又は回路として実現可能である。ソフトウェアとして、本発明の実施例による選択されたタスクは、複数のソフトウェア命令が何れか好適なオペレーティングシステムを使用するコンピュータによって実行されるとして実現可能である。本発明の例示的な実施例では、ここで説明される方法及び/又はシステムの例示的な実施例による1つ以上のタスクは、複数の命令を実行するための計算プラットフォームなどのデータプロセッサによって実行される。任意選択的には、データプロセッサは、命令及び/又はデータを記憶する揮発性メモリ、及び/又は、命令及び/又はデータを記憶するための、磁気ハードディスク及び/又は着脱可能媒体などの不揮発性ストレージを含む。任意選択的には、ネットワーク接続もまた提供される。ディスプレイ及び/又はキーボード若しくはマウスなどのユーザ入力デバイスもまた、任意選択的に提供される。
【図面の簡単な説明】
【0039】
本発明のいくつかの実施例が、添付した図面を参照して例示的に示される。図面を詳細に参照して、図示された特徴は本発明の実施例の例示的な議論と例示のためであることが強調される。これに関して、図面と共になされる説明は、本発明の実施例がどのように実施されてもよいかを当業者に明確にする。
【
図1】本発明のいくつかの実施例によるデジタル資産の取引をサポートする接続制限された隔離デバイスとユーザの複数の制限値アカウントとを関連付ける例示的な処理のフローチャートである。
【
図2】本発明のいくつかの実施例によるデジタル資産の取引をサポートする接続制限された隔離デバイスとユーザの複数の制限値アカウントとを関連付ける例示的なシステムの概略図である。
【
図3】本発明のいくつかの実施例によるデジタル資産を記憶するのに利用される接続制限された隔離デバイスと関連付けされた複数の制限値アカウントの非対称暗号鍵ペアの例示的な構成の概略図である。
【
図4】本発明のいくつかの実施例による複数の制限値アカウントにデジタル資産を記憶するのに利用される接続制限された隔離デバイスの例示的な初期化シーケンスの概略図である。
【
図5】本発明のいくつかの実施例による複数の制限値アカウントにデジタル資産を記憶するのに利用される接続制限された隔離デバイスを利用してデジタル資産の値を受信する例示的なシーケンスの概略図である。
【
図6】デジタル資産を記憶するのに利用される接続制限された隔離デバイスに関連付けされる制限値アカウントにおける以降のオーダリングによるデジタル資産の例示的な割当の概略図である。
【
図7】本発明のいくつかの実施例によるデジタル資産を記憶するのに利用される接続制限された隔離デバイスに関連付けされる再利用される制限値アカウントの非対称暗号鍵ペアの例示的な構成の概略図である。
【
図8】本発明のいくつかの実施例による複数の制限値アカウントにデジタル資産を記憶するのに利用される接続制限された隔離デバイスを利用してデジタル資産の値を転送する例示的なシーケンスの概略図である。
【
図9】本発明のいくつかの実施例による複数の制限値アカウントにデジタル資産を記憶するのに利用される接続制限された隔離デバイスの例示的なシーケンスの概略図である。
【
図10】本発明のいくつかの実施例によるデジタル資産を記憶するのに利用される復元された接続制限された隔離デバイスの非対称暗号鍵ペアの第1の例示的な構成の概略図である。
【
図11】本発明のいくつかの実施例によるデジタル資産を記憶するのに利用される復元された接続制限された隔離デバイスの非対称暗号鍵ペアの第2の例示的な構成の概略図である。
【
図12】本発明のいくつかの実施例による複数の制限値アカウントにデジタル資産を記憶し、バックアップを利用して復元処理を検証するのに利用される接続制限された隔離デバイスのバックアップを作成する例示的なシーケンスの概略図である。
【
図13】本発明のいくつかの実施例によるデジタル資産を記憶するため複数の制限された値アカウントに関連付けされる2つの接続制限された隔離デバイスを含む例示的なシステムの概略図である。
【発明を実施するための形態】
【0040】
本実施例は、接続制限された隔離デバイス(isolated device)に記憶されたデジタル資産のセキュリティの向上に関し、より詳細には、限定することなく、複数の制限値アカウント(limited value account)を利用して接続制限された隔離デバイスに記憶されるデジタル資産のセキュリティの向上に関する。
【0041】
本発明のいくつかの実施例によると、ユーザのデジタル資産アカウントを当該ユーザに関連する複数の制限値アカウントに分割する方法、システム及びコンピュータプログラムプロダクトが提供される。制限値アカウントは更に、例えば、暗号通貨ウォレットなどのユーザのデジタルウォレット(コールドウォレット)として機能する1つ以上の隔離デバイスと関連付けされてもよい。
【0042】
デジタル資産は、主として暗号通貨を指しうるが、ファイアットマネー、株式(ストック)及び/又はその他のデジタル取引のための命令など、デジタル資産の他の形式を更に含んでもよい。デジタル資産の制限された値と制限値アカウントの数とは、複数の制限値アカウントへのデジタル資産の実際的に何れかの値(金額)の格納をサポートするよう設定されてもよい。
【0043】
隔離デバイスは、ネットワークとの接続、特に計算ノードのコミュニティネットワークとインタフェースをとるのに用いられるデバイスとの接続を有してもよく、計算ノードの一部は信頼されたものでなく、悪意がある可能性があり、分散処理のため配備されうる。具体的には、コミュニティネットワークは、複製がコミュニティネットワークの複数の計算ノードのそれぞれによって個別に保持される分散台帳を維持することによって、暗号通貨ブロックチェーン(例えば、ビットコイン、イーサリアムなど)を統制するよう配備されたブロックチェーンネットワークなど、デジタル資産を統制するよう配備される。
【0044】
可能な限りネットワークから隔離デバイスを隔離するため、隔離デバイスは、ネットワークから切断及び隔離された大変制限された(データ)容量入力インタフェースのみをサポートしながら、コミュニティネットワークの計算ノードの少なくとも一部にデータを送信するための一方向セキュアチャネルをサポートするよう構成されてもよい。制限容量入力インタフェースは、手動及び/又は自動で操作されてもよい。例えば、制限容量入力インタフェースは、関連するユーザによって挿入される制限された長さの文字列を受け取りうるユーザ入力インタフェースを含んでもよい。他の例では、制限データ入力インタフェースは、コンピュータパンチカードリーダに手動及び/又は自動で挿入されるパンチカードに符号化されたデータを読み取るよう構成されるコンピュータパンチカードリーダを含んでもよい。また、隔離デバイスは、ネットワークから実際上隔離され、従って、ネットワークベースの攻撃に高度に免れる。
【0045】
複数の制限値アカウントのそれぞれは、隔離デバイスによって生成される各自の非対称暗号鍵ペアと関連付けされる。各非対称暗号鍵ペアは、各制限値アカウントを暗号化する一意的な秘密鍵と、各制限値アカウントを識別するアドレスとして機能する対応する公開鍵とを含む。秘密鍵による制限値アカウントの暗号化は、特定の制限値アカウントに格納されるデジタル資産が各自の秘密鍵を利用してのみアクセスされうる(移転のため)ことを意味する。公開鍵は、デジタル資産を各自の制限値アカウントに移転する(受け取る)のに利用される。
【0046】
制限値アカウントの非対称暗号鍵ペアを生成した後、隔離デバイスは、例えば、ブロックチェーンネットワークなど、デジタル資産を統制するコミュニティネットワークの計算ノードの1つ以上にアカウントの少なくとも一部の公開鍵を発行してもよい。また、公開鍵によると、1つ以上の他のユーザから移転された(受け取られた)デジタル資産は、アカウントの1つ以上格納されてもよい。
【0047】
当然ながら、複数のデジタル資産受取取引は、制限値アカウントに移転された受け取られたデジタル資産の価値又は値が、例えば、複数の計算ノードによって維持されるブロックチェーン分散台帳にコミュニティネットワークによって記録されるため、隔離デバイス(コールドウォレット)に関与することなく実行されうる。
【0048】
デジタル資産受取取引によって隔離デバイスを更新することは、典型的には、隔離デバイスを最新及び/又は他のユーザの1つ以上へのデジタル資産の移転取引を行う前に維持するため実行されてもよい。これは、デジタル資産の移転を実行するため、隔離デバイスはまずそれの関連する制限値アカウントの何れがデジタル資産を実際に格納するかを特定する必要がある。
【0049】
ホットウォレットとしてユーザによって用いられるアクセスデバイス及び/又は計算ノードの1つ以上は、隔離デバイスに関連する制限値アカウントに格納されるデジタル資産の値を符号化する制限長文字列を計算してもよい。計算された制限長文字列は、その後、それの制限容量入力インタフェースを介し隔離デバイスに挿入されてもよい。隔離デバイスは、それに関連する制限値アカウントに格納されるデジタル資産の値を識別するための制限長文字列を復号化してもよい。
【0050】
隔離デバイスは、制限容量入力インタフェースを介し、典型的には、ユーザによって手動により挿入(タイプ)された極めて制限された入力データしか受信しないため、デジタル資産を格納する各アカウントの識別を隔離デバイスに通知することは、作業量が多く、ひどく大変で誤りがちな処理でありうる。
【0051】
この制約を解消するため、アクセスデバイス(ホットウォレット)は、受け取られるデジタル資産が各アカウントに割り当てられる増加するインデックスに従って以降の制限値アカウントに格納される以降の順序付けを維持するよう構成される。また、アカウントに格納されるデジタル資産によって隔離デバイスをリポスト(更新)することは、隔離デバイスに関連する全てのアカウントに格納されるデジタル資産の値全体を符号化する制限長文字列を単に計算することによって実行されてもよい。
【0052】
隔離デバイスは、報告されたデジタル資産の値全体を抽出してもよい。以降の順序付けによって、また、制限値アカウントのそれぞれが格納しうる制限された値及び抽出されたデジタル資産の値全体に基づいて、隔離デバイスは、制限値アカウントの何れが利用されるか識別してもよい(すなわち、使用状態において)。本来的には、以降の順序付けのため、使用されるアカウントは、最も小さいインデックスを有する以降のアカウントである。
【0053】
任意選択的には、隔離デバイスは、参照によりその内容の全体がここに援用される、2018年12月6日に出願された“Secure Consensus over a Limited Connection”という名称の仮特許出願第62/775,942号に記載される検証方法を利用して、コミュニティネットワークの計算ノードの少なくとも一部によって報告されたデジタル資産値を検証する。
【0054】
他のユーザの1つ以上の1つ以上のアカウントにデジタル資産の値を移転するため、隔離デバイスは、コミュニティネットワークの少なくとも一部に対して、移転された値を累積的に格納する使用される制限値アカウントの1つ以上の秘密鍵を発行してもよい。隔離デバイスは、ホットウォレットとして機能する計算ノードの1つ以上及び/又はアクセスデバイスに一方向セキュアチャネルを介しこれらの秘密鍵を送信することによって、秘密鍵を発行する。秘密鍵が公衆に利用可能になると、各アカウントに格納されるデジタル資産の資金がアクセス可能であり、他のユーザのアカウントに移転されうる。
【0055】
以降の順序付けを継続的に維持し、デジタル資産を格納しない1つ以上のアカウントがデジタル資産を格納するアカウントの間に配置される状況を回避するため、制限値アカウントは、複数の使用をサポートするよう構成される。これは、制限値アカウントのそれぞれがデジタル資産を受け取り、その後、デジタル資産が移転され、デジタル資産を受け取るなどであってもよいことを意味する。従って、各制限値アカウントは、使用準備完了状態と使用状態との間のそれが遷移する複数の使用サイクルを経過してもよい。
【0056】
隔離デバイスは、デジタル資産の移転元の放出される各アカウントの秘密鍵を発行するため、公知の秘密鍵は現在使用不可であり、隔離デバイスは、放出されるアカウントに対して新たな秘密鍵を生成してもよい。新たな秘密鍵は、それの次の使用サイクルにおいて放出されるアカウントに対して使用される。さらに、隔離デバイスは、隔離デバイスに割り当てられた一意的なシードに基づいて、これらの放出される各アカウントに対して新たな非対称暗号鍵ペアを決定的に生成してもよい。作成後、隔離デバイスは、これらのアカウントの公開鍵(新たに生成された暗号鍵ペアに含まれる)を発行し、従って、アカウントをデジタル資産を受け取るのに再使用可能かつ利用可能にしてもよい。例えば、隔離デバイスは、ハッシュ関数などの1つ以上の決定的な鍵派生関数を適用し、制限値アカウントのインデックス番号と一意的なシードとに基づいて、非対称暗号鍵ペアを生成してもよい。
【0057】
本発明のいくつかの実施例によると、隔離デバイスは、複数の初期化処理、具体的には、最初の初期化処理に続く複数の復旧処理をサポートするよう構成される。復旧処理は、新たな隔離デバイスを使用して、以前に使用されたスクラップされた隔離デバイスなどを置換して、メモリ消去などの隔離デバイスに対する1つ以上の失敗の後に実行されてもよい。このような失敗の後、隔離デバイスは復元され、ユーザに対して作成され、コミュニティネットワークによって記録される複数の制限値アカウントと再関連付けされ、デジタル資産資金をすでに格納してもよい。失敗によって、ユーザの制限値アカウントにおいて実行されるデジタル資産取引履歴が、例えば、ブロックチェーンネットワークなどのコミュニティネットワークによって追跡及び記録される一方、隔離デバイス自体は、このトラックレコード履歴を格納しないかもしれず、従って、制限値アカウントに格納されるデジタル資産資金は、ユーザに利用可能でないかもしれない。
【0058】
各初期化処理中、最初の初期化と各復旧処理との何れかに対して、隔離デバイスは、隔離デバイスに割り当てられた一意的なシードに基づいて、複数の制限値アカウントのための複数の新しい非対称暗号鍵ペアを決定的に生成してもよい。例えば、隔離デバイスは、ハッシュ関数などの1つ以上の決定的鍵導出関数を適用し、一意的なシード、制限値アカウントのインデックス番号及び開始番号(すなわち、隔離デバイス及び/又は関連するユーザに対して実行される初期化処理の回数)に基づいて、非対称暗号鍵ペアを生成してもよい。
【0059】
さらに、隔離デバイスは、トラックレコード履歴を有さず、制限値アカウントの1つ以上が異なる初期化シーケンス中に使用されている可能性があるため、隔離デバイスは、制限値口座の何れが使用され、例えば、暗号通貨ブロックチェーン内にデジタル資産を格納しているか認識していない可能性がある。従って、使用中である、すなわち、デジタル資産を格納する制限値アカウントを識別するため、隔離デバイスは、一意的なシードを使用して、以前の全ての初期化処理中と制限値アカウントの少なくともいくつかの全ての使用サイクルにおいて生成された非対称暗号鍵ペアを再生してもよい。
【0060】
そして、隔離デバイスは、計算ノード及び/又はアクセスデバイス(ホットウォレット)の1つ以上が公開鍵を使用して、復元された隔離デバイスに関連する制限値アカウントの何れが使用されるか、すなわち、デジタル資産を格納するかを識別できるように、全ての以前の初期化処理中に生成されたアカウントの少なくともいくつかの公開鍵をコミュニティネットワークに公開してもよい。
【0061】
本発明のいくつかの実施例によると、初期化処理に続いて1つ以上の使用されるアカウントからデジタル資産を移転する際に隔離デバイスによってコミュニティネットワークに送信される秘密鍵の数を減らすことによって通信負荷を低減するため、隔離デバイスは、各初期化処理中に各アカウントの非対称暗号鍵ペアを、以前の初期化処理からの派生物として計算してもよい。初期化処理(具体的には、復旧処理)に続いて、隔離デバイスは、それの関連する制限値アカウントに対して行われたデジタル資産の受取及び移転処理のトラックレコードを失いうる。従って、隔離デバイスは、以前の初期化処理中にデジタル資産がロードされうるため、使用される制限値アカウントの1つ以上の秘密鍵を決定することができないことがある。また、デジタル資産が移転される移転元の使用される制限値アカウントの制御(放出)を移転するため、隔離デバイスは、最も直近の非対称暗号鍵ペアが導出された特定の値を発行してもよい。この特定の値を用いて、ホットウォレットとして機能する計算ノード及び/又はアクセスデバイスは、全ての以前の初期化処理の間及び全ての使用サイクルにおいて、制限値アカウントに対して作成された秘密鍵(及び各秘密鍵から導出された公開鍵)を推測してもよい。これは、各使用サイクルの間及び各初期化処理中にデジタル資産が移転される(資金を送る)移転元の特定の制限値アカウントに対して生成された秘密鍵を別々に送信する必要性を排除し、従って、通信負荷を有意に低減する。
【0062】
本発明のいくつかの実施例によると、制限値アカウントに記憶されたデジタル資産をさらに保護するため、ユーザは、複数の隔離デバイス、具体的には、2つの隔離デバイスに関連付けらされてもよい。2つの隔離デバイスは、隔離デバイスの各々が制限値アカウントの一部のみに対する制御を有し、他のアカウントにはアクセスしないよう構成される。制限値アカウント、特にデジタル資産を格納する使用される口座に対する制御は、アカウントに対する制御が当該アカウントに格納されたデジタル資産へのアクセスを可能にする2つの隔離デバイスの間で転送されてもよい。例えば、第1の隔離デバイスは、ここで上述されるようなコールドウォレットとして機能してもよい一方、第2の隔離デバイスは、非常に安全でアクセス不能な場所、例えば、金庫室(vault)などに格納されうるベリーコールドウォレット(very cold wallet)として機能してもよい。
【0063】
複数の制限値アカウントを使用することは、デジタル資産、具体的には、暗号通貨を格納するための既存の方法と比較して、大きな利益及び利点を提供しうる。第1に、各アカウントはユーザによって所有されるデジタル資産の制限された値しか格納しないため、1つ以上のアカウントが悪意のある当事者によって危険にさらされたとしても、悪意のある当事者は、ユーザによって所有されるデジタル資産の制限された値に対するアクセスのみを有してもよい。これは、ユーザによって所有される全てのデジタル資産を格納する単一のアカウントにユーザが関連付けされうる現在存在する方法とは対照的である。そのような方法では、単一のアカウントを危険にさらすことは、ユーザのデジタル資産資金の完全な損失をもたらしうる。
【0064】
さらに、各々が制限値アカウントの一部のみを排他的に制御する2つの隔離デバイス(コールドウォレット及びベリーコールドウォレット)を使用することは更に、隔離デバイスの1つが危険にさらされたとしても、悪意のある当事者が他のデバイスによって制御されるアカウントにアクセスしないかもしれないため、悪意のある当事者によって危険にさらされることに対する制限値アカウントの耐性及び堅牢性を高めうる。
【0065】
さらに、多数の制限値アカウントは、データを受け取るための制限容量入力インタフェースを有する隔離デバイスを更新するためにエラーとなる傾向がある主要な時間がかかり、面倒な労力によってユーザに負担をかけうるいくつかの管理、追跡及び記録の問題を生じさせる可能性がある。以降の順序付けを適用することは、非常に限定された量のデータしか隔離デバイスに提供されず、そこから、制限値アカウントの使用を管理、追跡及び記録するために必要とされる全ての又は少なくとも大部分の情報を自動的かつ決定的に導出しうるため、更新処理を有意に減少させうる。
【0066】
復旧処理中に非対称暗号鍵ペアを、前の初期化処理(初めての初期化又は復旧)の間に生成された非対称暗号鍵ペアからの派生物として生成することは、初期化処理に続く追跡レコードを有さない隔離デバイスが決定することができないかもしれず、従ってネットワーク負荷を有意に低減する、使用される制限値アカウントからデジタル資産を移転する際に隔離デバイスによってコミュニティネットワークに送信されるデータ量を有意に低減しうる。
【0067】
本発明の少なくとも1つの実施例を詳細に説明する前に、本発明は、以下の説明に記載され、及び/又は図面及び/又は具体例に示される構成要素及び/又は方法の構成及び配置の詳細にそれの出願において必ずしも限定されないことを理解されたい。本発明は、他の実施例も可能であり、様々な方法で実施又は実行することも可能である。
【0068】
当業者によって理解されるように、本発明の態様は、システム、方法又はコンピュータプログラムプロダクトとして実現されてもよい。さらに、本発明の態様は、完全なハードウェア実施例、完全なソフトウェア実施例(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、又は全てが一般にここで“回路”、“モジュール”又は“システム”として参照されうるソフトウェアとハードウェアとの態様を組み合わせる実施例の形態をとってもよい。さらに、本発明の態様は、ここに実現されるコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読媒体に実現されるコンピュータプログラムプロダクトの形態をとってもよい。
【0069】
1つ以上のコンピュータ可読媒体の何れかの組み合わせが利用されてもよい。コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持及び格納することが可能な有形のデバイスとすることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、限定されることなく、例えば、電子、磁気、光学、電磁気、赤外線又は半導体システム、装置、デバイス又はこれらの何れか適切な組み合せであってもよい。コンピュータ可読記憶媒体のより具体的な具体例(非網羅的なリスト)は、1つ以上の配線を有する電気接続、携帯コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、携帯コンパクトディスク読み取り専用メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス又は上記の何れか適切な組み合せを含むであろう。本文書のコンテクストにおいて、コンピュータ可読記憶媒体は、命令実行システム、装置又はデバイスによって利用されるか、又は関連して利用されるプログラムを内蔵又は記憶することが可能な何れか有形の媒体であってもよい。
【0070】
コンピュータ可読信号媒体は、例えば、ベースバンドにおいて又は搬送波の一部として、コンピュータ可読プログラムコードが組み込まれた伝搬データ信号を含んでもよい。そのような伝搬信号は、限定されることなく、電磁、光学又はこれらの何れか適切な組み合わせを含む各種形態の何れかをとってもよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置又はデバイスによって利用され、又は関連して利用されるプログラムを通信、伝搬又は移送することが可能な何れかのコンピュータ可読媒体であってもよい。
【0071】
コンピュータ可読媒体上に具現化されたコンピュータ可読プログラム命令を含むコンピュータプログラムコードは、限定されることなく、無線、有線、光ファイバケーブル、RFなど又は上記の何れか適切な組み合せを含む何れか適切な媒体を利用して送信されてもよい。
【0072】
本発明の態様のための処理を実行するためのプログラムコードは、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語と、“C”プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の何れかの組み合わせによって記述可能である。
【0073】
プログラムコードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上で、部分的にリモートコンピュータ上で、又は全体的にリモートコンピュータ又はサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む何れかのタイプのネットワークを介しユーザのコンピュータに接続されてもよく、あるいは、外部コンピュータに接続されてもよい(例えば、インターネットサービスプロバイダを用いてインターネットを介して)。プログラムコードは、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はワイヤレスネットワークなどのネットワークを介して、コンピュータ可読記憶媒体、外部コンピュータ又は外部記憶デバイスからそれぞれの計算/処理デバイスにダウンロード可能である。
【0074】
本発明の態様は、本発明の実施例による方法、装置(システム)及びコンピュータプログラムプロダクトのフローチャート図及び/又はブロック図を参照してここで説明される。フローチャート図及び/又はブロック図の各ブロックと、フローチャート図及び/又はブロック図のブロックの組み合せとは、コンピュータ可読プログラム命令によって実現可能であることを理解されたい。
【0075】
図におけるフローチャート及びブロック図は、本発明の各種実施例によるシステム、方法及びコンピュータプログラムプロダクトの可能な実現形態のアーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図における各ブロックは、指定された論理機能を実現するための1つ以上の実行可能命令を含む命令のモジュール、セグメント又は一部を表しうる。いくつかの代替的な実現形態では、ブロックに記載されている機能が図に記載されている順序外で行われてもよい。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行されてもよく、あるいは、ブロックは含まれる機能に応じてときどき逆の順序で実行されてもよい。また、ブロック図及び/又はフローチャート図の各ブロックと、ブロック図及び/又はフローチャート図におけるブロックの組み合わせとは、指定された機能又は動作を実行するか、あるいは、特定用途向けハードウェア及びコンピュータ命令の組み合わせを実行する特定用途向けハードウェアベースシステムによって実現可能であることに留意されたい。
【0076】
ここで図面を参照して、
図1は、本発明のいくつかの実施例によるデジタル資産取引をサポートするため制限接続隔離デバイスとユーザの複数の制限値アカウントを関連付ける例示的な処理のフローチャートを示す。例示的な処理100は、暗号通貨(例えば、ビットコイン、イーサリアムなど)などのデジタル資産を格納するためのデジタルウォレットとして使用される制限された接続性(接続)を有する隔離デバイスによって実行されてもよい。他の例示的な実施例では、隔離デバイスは、ファイアットマネー(真の通貨)のデジタル取引のための命令を発行するのに利用されてもよく、デジタル取引のための命令は、デジタル資産とみなされてもよい。他の例示的な実施例では、隔離デバイスは、例えば、企業、法人、投資ファンドなどの1つ以上の金融エンティティの株式のために利用されてもよい。隔離デバイスは、典型的には、隔離デバイスを使用して自らのデジタル資産を安全な方法で記憶するユーザに関連付けされる。
【0077】
特に、隔離デバイスは、仮想通貨ブロックチェーンなどのブロックチェーンを維持するブロックチェーンネットワークなどのデジタル資産を統制する計算ノードのネットワークに接続されるデバイスなどの1つ以上のデバイスにデータを出力(送信)するのに利用される物理的に改ざん耐性のある一方向セキュア接続を有してもよい。隔離デバイスは更に、特に制限された長さの文字列などの手動及び/又は自動挿入された制限されたデータ量を受け取るために利用される制限された入力インタフェースを含んでもよい。従って、ブロックチェーンネットワークなどの何れかのネットワークから高く隔離されると、隔離デバイスは、具体的には、隔離デバイスに格納されるデジタル資産に対するアクセス及び制御を取得及び/又は危険にさらすため、悪意のある当事者によって開始されるネットワーク攻撃に対して高度にロバストであって影響を受けない。
【0078】
隔離デバイスに格納されたデジタル資産資金のセキュリティを改善するため、悪意のある当事者及び危険をさらすリスクに対する隔離デバイスのエクスポージャは、各アカウントがデジタル資産の制限された値を格納するよう構成される複数のアカウントに隔離デバイスに格納されたデジタル資産を分割することによって制限されてもよい。また、1つ以上の制限値アカウントが危険にさらされる場合であっても、悪意のある当事者は、ユーザのデジタル資産資金の有意に小さな値に対してのみアクセス及び制御を取得してもよい。
【0079】
隔離デバイスがストレージスティックなどのバックアップストレージデバイスに取り付け可能である場合、制限された値は、例えば、アカウント内の制限値の所望の粒度、隔離デバイスに格納されるデジタル資産全体などの1つ以上の割当てパラメータに従って動的に設定及び調整されてもよい。しかしながら、外部の脅威に対して高度に影響を受けない隔離デバイスを維持することが望まれるため、制限値は複数のアカウントに対して予め規定されてもよい。制限値は、全てのアカウントに対して同様であってもよいし、あるいは、隔離デバイス及びデジタル資産を規制する計算ノードのネットワークによって共有される1つ以上の事前に規定された方式に従って設定されてもよい。
【0080】
デジタル資産の値が受け取られると、すなわち、他のユーザに関連付けられた1つ以上の他のアカウントから関連付けられたユーザに移転されると、受け取られた値は、受け取られた値を累積的に格納可能な1つ以上の制限値アカウントに格納される。デジタル資産の値が移転されるとき、すなわち、関連付けられたユーザから他のユーザに関連付けられた1つ以上の他のアカウントに移転されると、移転される値は、移転される値を累積的に格納する1つ以上の制限値アカウントから移転される。
【0081】
本発明のいくつかの実施例によるデジタル資産取引をサポートするため、ユーザの複数の制限値アカウントを制限接続隔離デバイスに関連付けるための例示的なシステムの概略図である
図2が参照される。例示的なシステム200は、デジタル資産を規制する複数の計算ノード204を含むコミュニティネットワーク、例えば、暗号通貨取引を追跡、ログ処理及び記録するため分散型台帳ブロックチェーンを維持するブロックチェーンネットワークと通信するよう構成される隔離デバイス202を含んでもよい。
【0082】
計算ノード204は、例えば、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイドエリアネットワーク(WAN)、市町村エリアネットワーク(MAN)、セルラネットワーク、インターネットなどを含むネットワーク230を介し互いに通信可能なコンピュータ、サーバ、処理ノード、ネットワークノード、クラウド計算リソース、スマートフォン、タブレット及び/又は1つ以上の有線及び/又は無線ネットワークなどを含んでもよい。
【0083】
隔離デバイス202は、1つ以上の他のデバイスとの一方向セキュア通信チャネルを実現するための一方向送信機210と、処理100などの処理を実行するためのプロセッサ212と、プログラムコード(プログラムストア)及び/又はデータを格納するためのストレージ214とを有してもよい。隔離デバイス202は更に、制限された、典型的には非常に少ない容量のデータを受け取るためのセキュアな制限容量入力インタフェース216を含んでもよい。隔離デバイス202は、ユーザ208に関連付けされてもよい。
【0084】
本発明のいくつかの実施例によると、具体的には、暗号通貨ブロックチェーンアプリケーションに対して、隔離デバイス202は、関連するユーザ208の暗号通貨資金を格納するため、ユーザ208のアカウントに関連付けされたコールドウォレットを実現してもよい。コールドウォレット隔離デバイス202は、ネットワーク230から切断及び隔離されるため、コールドウォレットは、アカウントのアクセス及び制御を取得し、コールドウォレットから暗号通貨資金を移転するため、コールドウォレットを危険にさらすように向けられたネットワークベースの悪意のある攻撃に対して高い免疫がありうる。
【0085】
一方向送信機210は、データ送信のみに適合され、従って、データを受け付けることができない1つ以上の有線、無線及び/又は光送信インタフェースを含んでもよい。一方向送信機210は、一方向送信機210から送信されるデータを危険にさらすことは不可能であって、及び/又は検出可能で報告されるように、物理的に改ざん耐性を有してもよい。さらに、一方向送信機210は、暗号化されたデータを送信してもよく、従って、信頼できてセキュアな一方向通信チャネルを形成してもよい。一方向送信機210は、例えば、データを光学的に符号化するよう構成される光ベース(例えば、赤外線、レーザなど)の送信機を含んでもよい。特に、一方向送信機210は、潜在的に(盗聴)悪意のあるデバイスによって傍受されないかもしれない特別な受信機に向けられた指向された光パターンを送信してもよい。他の例では、一方向送信機210は、有線及び/又は無線を介しデータを送信するよう構成されるシリアル送信機、無線周波数(RF)送信機などの有線及び/又は無線送信機を含んでもよい。他の例では、一方向送信機210は、1つ以上の計算ノード204への送信のためにスキャン及び復旧されうるデータを符号化するQRコードを表示するための画面、プロジェクタなどのディスプレイを含んでもよい。他の例では、一方向セキュア通信チャネルは、ハードウェア記憶媒体、例えば、CD-ROMディスク及び/又は、好ましくはワンタイム使用ディスポーザブルディスクなどのハードウェア記憶媒体を使用して実現されてもよい。そのようなケースでは、一方向送信機210は、ハードウェア記憶媒体にデータを書き込む、焼く及び/又はプログラムするよう適合される媒体アクセスインタフェースを含んでもよい。そして、焼き付けられたハードウェア記憶媒体は、1つ以上の計算ノード204に提供されてもよく、従って、隔離デバイス202から計算ノード204にデータを安全に移転する。
【0086】
同質又は異質なプロセッサ212は、並列処理のためにクラスタ及び/又は1つ以上のマルチコアプロセッサとして配置された1つ以上の処理ノードを含んでもよい。ストレージ214は、1つ以上の非一時的メモリデバイス、例えば、ROM、フラッシュアレイ、ハードドライブ、SSD、磁気ディスクなどの永続的不揮発性デバイス、及び/又はRAMデバイス、キャッシュメモリなどの1つ以上の揮発性デバイスの何れかを含んでもよい。
【0087】
プロセッサ212は、例えば、ストレージ214などの非一時的媒体(プログラムストア)に格納され、プロセッサ212などの1つ以上のプロセッサによって実行される複数のプログラム命令を含む、プロセス、スクリプト、アプリケーション、エージェント、ユーティリティ、ツールなどの1つ以上のソフトウェアモジュールを実行してもよい。例えば、プロセッサ212は、プロセス100を実行するためのアカウントマネージャアプリケーション220を実行してもよい。アカウントマネージャ220は更に、例えば、回路、コンポーネント、集積回路(IC)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)など、隔離デバイス202と一体化及び/又は結合された1つ以上のハードウェア要素を利用及び/又は実現してもよい。例えば、アカウントマネージャ220は、1つ以上の暗号鍵、例えば、当該技術分野で公知の秘密キーと公開キーとを含む非対称暗号鍵ペアを作成するための乱数生成器を利用してもよい。他の例では、アカウントマネージャ220は、ハードウェアセキュリティモジュール(HSM)を利用して、1つ以上の機能、例えば、公開鍵インフラストラクチャ(PKI)、メッセージ署名、鍵射出、データベース暗号化などを利用してもよい。
【0088】
制限容量入力インタフェース216は、手動及び/又は自動挿入されうる、制限され、典型的には非常に少量のデータを受け取るよう構成されてもよい。例えば、制限容量入力インタフェース216は、関連するユーザ208によってタイプされたデータのテキスト文字列を受信するためユーザ208と対話するためのキーボード、タッチスクリーンなどの1つ以上のユーザインタフェースを含んでもよい。他の例では、制限容量入力インタフェース216は、例えば、コンピュータパンチカードリーダに手動及び/又は自動挿入される1つ以上のパンチカードに符号化された文字列など、データを読み取るよう構成されたコンピュータパンチカードリーダを含んでもよい。ユーザインタフェースは更に、ユーザ208にデータを出力するためのディスプレイ、スピーカ、イヤホンなどの1つ以上の出力インタフェースを含んでもよい。
【0089】
異なる地理的位置に配置されてもよい計算ノード204の性質及び配置のため、隔離デバイス202は、ネットワーク230に接続された1つ以上のアクセスデバイス206を介し1つ以上の計算ノード204と通信してもよい。アクセスデバイス206は、一方向送信機210によって実現される一方向セキュアチャネルを介し隔離デバイス202からデータを受け取り、ネットワーク230を介し1つ以上の計算ノード204に受け取ったデータをブロードキャストしてもよい。例えば、アクセスデバイス206は、隔離デバイス202の光源一方向送信機210によって送信された光学的に符号化されたデータを受信するよう構成された光学受信機を含んでもよい。他の例では、アクセスデバイス206は、隔離デバイス202の有線及び/又は無線一方向送信機210によって送信されたデータを受信するよう構成された有線及び/又は無線受信機を含んでもよい。他の例では、アクセスデバイス206は、隔離デバイス202のディスプレイ一方向送信機210によって生成及び表示されるQRコードからデータをスキャン及び復旧するよう構成されたスキャナを含んでもよい。
【0090】
さらに、アクセスデバイス206は、例えば、スマートフォン、タブレット、コンピュータ、サーバなど、コミュニティネットワークの一部であって、ユーザにアクセス可能な計算ノード204などの計算ノードによって実現されてもよい。他の例では、アクセスデバイス206は、コミュニティネットワークの一部でなく、ネットワーク230を介し1つ以上の計算ノード204と通信可能である、例えば、スマートフォン、タブレット、ラップトップ、デスクトップ、スマートウォッチ、スマートメガネなど、ユーザ208にアクセス可能なネットワークデバイスを含んでもよい。
【0091】
アクセスデバイス206は、計算ノード204のコミュニティネットワークから受信した情報をユーザ208に提示するよう構成されてもよい。例えば、アクセスデバイス206は、隔離デバイス202によって格納されたデジタル資産アカウントに関する状態情報を提示してもよい。さらに、アクセスデバイス206は、コミュニティネットワークから受信したアカウント状態情報に基づいて計算された1つ以上の制限長文字列を提示してもよい。また、具体的には、隔離デバイス202がユーザ208の暗号通貨アカウントを格納するコールドウォレットである場合、アクセスデバイス206は、ホットウォレット、すなわち、ネットワーク230を介しコミュニティネットワークに接続されるユーザ208に関連付けられたデバイスとみなされてもよい。
【0092】
ここで上述したように、一方向送信機210によって実現にされる一方向セキュア通信チャネルを介し隔離デバイス202によって送信されるデータは、暗号化されてもよい。当該暗号化は、1つ以上の暗号化方式、例えば、各計算ノード204に送信されるデータを暗号化し、これにより、少なくともいくつかの計算ノード204の各々によって一方向のセキュアで信頼できるチャネルを確立するため、計算ノード204の少なくとも一部のそれぞれと関連付けされる暗号化-解読鍵ペアなどを利用して実現されてもよい。隔離デバイス202はまた、隔離デバイス202によって受信されたデータの検証及び隔離デバイス202から送信されたデータの認証をサポートするため、このような暗号化-解読鍵ペアに関連付けされてもよい。特に、計算ノード204に関連する暗号化-解読鍵ペアは、例えば、秘密鍵と公開鍵などを含む非対称暗号鍵ペアを含んでもよい。各計算ノードと共に隔離デバイス202に関連する非対称暗号鍵ペアの公開鍵は、公開して共有され、従って、各デバイスのアドレスに対する基礎として機能する。例えば、各制限値アカウントのアドレスは、1つ以上のハッシュ関数を公開鍵に適用し、各制限値アカウントのアドレスとして機能するハッシュ値を生成することによって作成されてもよい。各計算ノード204に関連する非対称暗号鍵ペアの秘密鍵と共に隔離デバイス202の秘密鍵は、秘密に保持され、それの秘密鍵を使用して、それにアドレス指定されたメッセージを解読可能なデバイスである各デバイスにのみ利用可能である。
【0093】
暗号化されたデータの送信を実現するため、少なくとも一部の計算ノード204の各々の暗号(公開)鍵は、隔離デバイス202に利用可能でなければならない。具体的には、隔離デバイス202は、アクセスデバイス206の暗号(公開)鍵を取得しなければならない。計算ノード204及び/又はアクセスデバイス206のこれらの暗号鍵は、1つ以上の技術を利用して隔離デバイス202に提供されてもよい。例えば、計算ノード204の1つ以上に関連する暗号鍵は、例えば、ユーザ208によって挿入される(タイプインされる)制限長文字列として制限容量入力インタフェース216を介し隔離デバイス202に提供されてもよく、及び/又は制限容量入力インタフェース216に手動及び/又は自動挿入される1つ以上のパンチカードに符号化されてもよい。任意選択的には、1つ以上の計算ノード204の少なくともいくつかに関連する暗号鍵は、その内容の全体が参照によりここに援用される、2018年12月6日に出願された“Secure Consensus over a Limited Connection”という名称の仮特許出願第62/775,942号に記載される1つ以上の信頼されるコントローラを利用して、隔離デバイス202に利用可能とされる。
【0094】
処理100及び装置200が、単一のユーザ208に関連し、単一のアクセスデバイス206を介しネットワーク230に接続する単一の隔離デバイス202について説明される。しかしながら、処理100及び装置200は各ユーザ208に関連し、複数のアクセスデバイス206を介しネットワーク230に接続する複数の隔離デバイス202をサポートするよう拡張されてもよいため、これは限定するものと解釈されるべきではない。
【0095】
また、明確化のため、隔離デバイス202は、処理100を実行するよう以下で説明される。しかしながら、隔離デバイス202のプロセッサ212によって実行されるアカウントマネージャ220は実際に処理100を実行するソフトウェアモジュールであることは明らかである。
【0096】
102に示されるように、処理100は、隔離デバイス202のユーザ208に一意的に関連付けされるシードを隔離デバイス202に割り当てることによって開始される。一意的なシードは、デジタル資産、すなわち、デジタル資産取引(受け取り及び/又は移転)と共に使用するため、ユーザ208に関連付けされる。ユーザ208は、隔離デバイス202及び/又はユーザ208のデジタル資産アカウントに関連付けされた1つ以上の他の隔離デバイス202の復元、再初期化及び/又は障害復旧をサポートするため、一意的なシードを格納、ログ処理及び/又は記録してもよい。
【0097】
ユーザ208が関連する一意的なシードを有しない場合、シードは、1つ以上の方法及び/又は実現形態を利用して最初に生成されてもよい。例えば、ユーザ208は、乱数生成器に基づく1つ以上のデバイスを利用して、一意的なシードを生成し、例えば、制限長文字列としてシードをタイプするなど、制限容量入力インタフェース216を利用して、隔離デバイス202にシードを挿入してもよい。他の例では、ユーザ208によって操作される隔離デバイス202は、1つ以上の統合された乱数生成器を利用して、一意的なシードを生成してもよい。このような場合、隔離デバイス202は、ユーザ208が生成されたシードを格納、ログ処理及び/又は記録することを可能にするため、例えば、ディスプレイ、スピーカなどの1つ以上のユーザインタフェースを介しユーザ208に提示してもよい。
【0098】
以下に詳細に説明される隔離デバイス202の復旧処理の場合、ユーザ208は、関連する一意的なシードをすでに有してもよく、従って、制限容量入力インタフェース216を使用して、当該シードを隔離デバイス202に挿入してもよい。
【0099】
104に示されるように、隔離デバイス202は、各アカウントがデジタル資産の制限された値を格納するよう構成される複数のアカウントに関連付けられる。デジタル資産は、例えば、暗号通貨(例えば、ビットコイン、イーサリアムなど)を含んでもよい。他の例示的な実施例では、デジタル資産は、ファイアットマネー(実通貨)のデジタル取引のための命令を含んでもよい。
【0100】
各制限値アカウントに対して規定される制限された値は、予め定義されてもよい。制限された値は、全ての制限値アカウントについて同様であってもよいし、あるいは、それは、隔離デバイス202及びデジタル資産を規制する計算ノード204のネットワークによって共有される1つ以上の事前に規定された方式に従って設定されてもよい。例えば、第1のアカウントは、特定のデジタル資産の値を格納するように設定されてもよく、各アカウントは、それの先行するアカウントと比較して、デジタル資産の2倍の値を格納してもよい。制限値アカウントの数は、割当てパラメータの1つ以上に従って設定されてもよい。例えば、アカウントの数は、市場で入手可能なデジタル価値の全ての値を格納することをサポートするよう設定されてもよい。任意選択的には、隔離デバイス202には、特定数のアカウントが最初に割り当てられ、必要に応じて、追加のアカウントが規定、作成及び隔離デバイス202に割り当てられてもよい。
【0101】
各制限値アカウントには、秘密鍵と公開鍵とを含む非対称暗号鍵ペアが割り当てられる。コミュニティネットワークに公開される各制限値アカウントの公開鍵は、各自のアカウントを識別するための各自のアドレスとして機能してもよい。実際には、各制限値のアドレスは、例えば、公開鍵からハッシュ値を生成するために1つ以上のハッシュ関数を適用するなどして、公開鍵から導出される。各制限値アカウントのアドレスは、デジタル資産資金、特にデジタル資産の制限値を各自のアカウントに移転するため(他のユーザによって)利用されてもよい。各制限値アカウントの秘密鍵は、隔離デバイス202によってのみ利用可能であり、隔離デバイス202のみがデジタル資産資金、具体的には、各自のアカウントに格納されたデジタル資産の制限値を、典型的には他のユーザの他のアカウントにアクセス及び移転してもよいように、各自のアカウントを暗号化するのに利用されてもよい。
【0102】
例えば、隔離デバイス202がコールドウォレットとして機能する暗号通貨の実施例では、1つ以上のハッシュ関数を使用して各アカウントの公開鍵に対して計算されたハッシュ値が、各自のアカウントのアドレスとして機能してもよい。ハッシュ値は、暗号通貨の制限値を各自のアカウントに移転するため他のユーザによって利用されてもよく、すなわち、隔離デバイス202は暗号通貨値を受け取る。各アカウントの秘密鍵は、各アカウントに格納された暗号通貨の制限値を他のユーザに移転するため、隔離デバイス202が各自のアカウントにアクセスすることによって使用されてもよい。
【0103】
106に示されるように、隔離デバイス202は、複数の制限値アカウントに対して複数の非対称暗号鍵ペアを生成する。隔離デバイス202は、一意的なシードが与えられると、同一の非対称暗号鍵ペアが各アカウントに対して生成及び再生成されるように、隔離デバイス202に割り当てられた一意的なシードに基づいて決定的な方法で非対称暗号鍵ペアを生成する。特に、隔離デバイス202は、一意的なシードに基づいて、複数の制限値アカウントのそれぞれについてアカウントシードを計算してもよい。例えば、隔離デバイス202は、各アカウントのインデックスに基づいて各アカウントのアカウントシードを計算してもよい。各制限値アカウントのアカウントシードに基づいて、隔離デバイス202は、各自のアカウントのための非対称暗号鍵ペアを生成してもよい。
【0104】
本発明のいくつかの実施例によるデジタル資産を格納するため利用される制限接続隔離デバイスに関連する複数の制限値アカウントのための非対称暗号鍵ペアの例示的な構成の概略図である
図3が参照される。一意的なシード302が割り当てられた隔離デバイス202などの隔離デバイスは、一意的なシード302に基づいて、複数の制限値アカウントのそれぞれについて非対称暗号鍵ペア306を生成してもよい。非対称暗号鍵ペア306の各々は、各々の制限値アカウント304を暗号化するための一意的な秘密鍵と、各々の制限値アカウント304を識別するためのアドレスとして機能する公開鍵とを含む。例えば、隔離デバイス202は、シード302に基づいて、インデックス0によりインデックス付けされた制限値アカウント302_0に対する非対称暗号鍵ペア306_0を生成してもよい。他の例では、隔離デバイス202は、シード302に基づいて、インデックス1によりインデックス付けされた制限値アカウント304_1に対する非対称暗号鍵ペア306_1を生成してもよい。他の例では、隔離デバイス202は、シード302に基づいて、インデックスNによりインデックス付けされた制限値アカウント304_Nに対する非対称暗号鍵ペア306_Nを生成してもよい。
【0105】
隔離デバイス202は、非対称暗号鍵ペア306が一意的なシード302が与えられると再生成されうるように、非対称暗号鍵ペア306を決定的に生成するための1つ以上の鍵派生関数、アルゴリズム及び/又は技術を適用してもよい。例えば、隔離デバイス202は、1つ以上のハッシュ関数を使用して、非対称暗号鍵ペア306を生成してもよい。例えば、隔離デバイス202は、以下の式1で表される式に従って各アカウント304の秘密鍵を計算してもよい。
式1:
private key=HASH(seed,account index)
各自の公開鍵は、当該分野において知られるような秘密鍵から導出されてもよく、ADR(アカウントインデックス)として記されてもよく、ここで、ADRはアドレスを表す。具体的には、上述したように、暗号通貨の実施例について、アドレス(ADR)は、1つ以上のハッシュ関数を利用して公開鍵に対して計算されるハッシュ値であってもよい。
【0106】
【0107】
108に示されるように、隔離デバイス202は、例えば、アクセスデバイス206への一方向セキュアチャネルを介し、コミュニティネットワークにアカウントの公開鍵を送信することによって、公開鍵、すなわち、複数の制限値アカウントの少なくともいくつかのアドレスを公開する。コミュニティネットワークに送信されると、デジタル資産は、各自の公開鍵を利用して1つ以上の制限値アカウントに移転されてもよい。例えば、暗号通貨の実施例では、隔離デバイス202は、公開鍵をブロックチェーンネットワークに送信し、1つ以上の他のユーザ、すなわち、暗号通貨の所有者が、隔離デバイス202に関連する1つ以上の制限値アカウントに暗号通貨を移転することを可能にする。
【0108】
本発明のいくつかの実施例による複数の制限値アカウントにデジタル資産を格納するのに利用される制限接続隔離デバイスの例示的な初期化シーケンスの概略図である
図4が参照される。例示的な初期化シーケンス400は、隔離デバイス202などの隔離デバイスを初期化するため実行されてもよい。第1に、隔離デバイス202に関連するユーザ208などのユーザは、処理100のステップ102に記載されるように、隔離デバイスに一意的なシードを割り当ててもよい(402)。
【0109】
隔離デバイス202は、特に、一方向セキュアチャネルを介したセキュア通信を介し、アクセスデバイス206と当然に通信する必要がある。例えば、隔離デバイス202がコールドウォレットとして機能し、アクセスデバイス206がホットウォレットとして機能する暗号通貨の実施例では、コールドウォレットは、暗号通貨取引を行うためホットウォレットと通信する。
【0110】
従って、ユーザ208は、隔離デバイス202の公開鍵をアクセスデバイス206に提供してもよい(404)。制限値アカウントの公開鍵と混同されるべきでない当該公開鍵は、隔離デバイス202から受信したメッセージを認証するため利用されてもよい。例えば、隔離デバイス202が一方向セキュアチャネルを介しアクセスデバイス206に暗号化されたメッセージを送信すると仮定する。隔離デバイスの公開鍵を利用して、アクセスデバイス206は、暗号化されたメッセージが隔離デバイス202から発信されたことを検証してもよい。同様に、ユーザ208は、アクセスデバイス206の公開鍵を隔離デバイス202に提供してもよい(406)。アクセスデバイス206の公開鍵を利用して、隔離デバイスは、アクセスデバイス206から受信したデータを認証してもよい。特に、隔離デバイス202は、制限容量入力インタフェース216を介し隔離デバイス202に挿入され、アクセスデバイス206によって生成される制限長文字列を検証してもよい。
【0111】
隔離デバイス202は、処理100のステップ106に記載されるように、隔離デバイス202に関連付けされた複数の制限値アカウントに対する非対称暗号鍵ペアを生成してもよい(408)。その後、隔離デバイス202は、処理100のステップ108に記載されるように、アクセスデバイス206を介しコミュニティネットワークに制限値アカウントの少なくともいくつかの公開鍵を送信してもよい(410)。
【0112】
【0113】
当然ながら、制限値アカウントは、制限された値を格納するよう構成されるため、各アカウントは、2つの状態の一方であってもよい。第1の状態である使用準備完了状態では、各アカウントは、デジタル資産の0の値を格納してもよく、従って、隔離デバイス202によって受け取られたデジタル資産を格納するため利用可能である。特に、各自の使用準備完了口座は、受け取られたデジタル資産価値の少なくとも一部を構成してもよい制限値を格納してもよい。第2の状態である使用状態では、各アカウントは、デジタル資産の制限値をすでに格納し、従って、隔離デバイス202によって受け取られうる追加的なデジタル資産を格納するのに利用不可である。
【0114】
110に示されるように、隔離デバイス202は、1つ以上の他のユーザによって隔離デバイス202に関連付けされた1つ以上の制限値アカウントに転送されたデジタル資産の値を受け取ってもよい。ここで上述したように、制限値アカウントの少なくともいくつかの公開鍵は、コミュニティネットワークに公開され、従って、他のユーザがデジタル資産を隔離デバイス202の制限値アカウントに移転することを可能にする。
【0115】
当然ながら、複数のデジタル資産受取取引は、隔離デバイス202(コールドウォレット)を関与させることなく、むしろアクセスデバイス206(ホットウォレット)のみで実行されてもよく、それは、受け取られたデジタル資産値が、例えば、複数の計算ノード204によって維持されるブロックチェーン分散台帳などのコミュニティネットワークによって記録されるためである。
【0116】
受け取られたデジタル資産は、使用準備完了状態にあり、(受け取られた値の少なくとも一部である)制限値が格納された後に使用状態に切り替えられる(遷移される)制限値アカウントの1つ以上に格納されてもよい。
【0117】
隔離デバイス202をデジタル資産受取取引によって更新することは、典型的には、隔離デバイス202を最新に維持するため、及び/又はデジタル資産の1つ以上の他のユーザへの移転取引を行う前に維持するため、実行されてもよい。これは、デジタル資産の移転を行うため、隔離デバイス202はまず、それの関連する制限値アカウントの何れが実際にデジタル資産を格納しているか、すなわち、どのアカウントが使用状態にあるか特定する必要があるためである。デジタル資産を格納するアカウントを特定した後、隔離デバイス202は、使用されるアカウントの1つ以上に格納されたデジタル資産の制限値を移転してもよい。
【0118】
アクセスデバイス206は、隔離デバイスに関連付けされた制限値アカウントに格納されたデジタル資産の価値を符号化する制限長文字列を計算してもよい。そして、計算された制限長文字列は、制限容量入力インタフェース216を介し隔離デバイス202に挿入されてもよい。そして、隔離デバイス202は、隔離デバイス202に関連付けされた制限値アカウントに格納されたデジタル資産の価値を特定するため、制限長文字列を復号化してもよい。
【0119】
隔離デバイス202は、典型的にはユーザ208によって手動で挿入(タイプ)された極めて制限された入力データのみを制限容量入力インタフェース216を介し受け取ってもよい。従って、具体的には、隔離デバイス202に対してデジタル資産を格納する各アカウントを特定することは、労力を要し、退屈であり、誤りを起こしやすいプロセスでありうる。
【0120】
この障害を克服するため、アクセスデバイス206は、インデックス0を有する第1のアカウントから始まるインデックスに従って、受け取られたデジタル資産資金を後続の制限値アカウントに格納するよう構成される。アカウントに格納されるデジタル資産を隔離デバイスに報告するため、アクセスデバイス206は、隔離デバイス202に関連するアカウントに格納されたデジタル資産の全価値を符号化する制限長文字列を単に計算してもよい。
【0121】
隔離デバイス202は、報告されたデジタル資産値を抽出してもよく、報告された値と各アカウントが格納しうる制限値とに基づいて、隔離デバイス202は、何れの制限値アカウントが使用状態にあるか、すなわち、何れのアカウントがデジタル資産の指定された制限値を格納するか特定してもよい。
【0122】
任意選択的には、隔離デバイス202は、その内容の全てが参照によりここに援用される、2018年12月6日に出願された“Secure Consensus over a Limited Connection”という名称の仮特許出願第62/775,942号に記載された検証方法を利用してアクセスデバイス206によって報告されたデジタル資産値を少なくともいくつかの計算ノード204によって検証する。
【0123】
本発明のいくつかの実施例による複数の制限値アカウントにデジタル資産を格納するため利用される制限接続隔離デバイスを使用して、デジタル資産の値を受け取る例示的なシーケンスの概略図である
図5が参照される。例示的なデジタル資産受取シーケンス500は、隔離デバイス202に関連付けされた制限値アカウントにおいて入手可能なデジタル資産資金の情報によって、隔離デバイス202などの隔離デバイスを更新するため実行されてもよい。隔離デバイス202に関連付けされた1つ以上の制限値アカウントにおいてデジタル資産値が受け取られる1つ以上の受取取引502が、コミュニティネットワーク、例えば、処理100のステップ110に記載されるような暗号通貨ブロックチェーンネットワークにおいて検出、追跡及び記録(ログ)されてもよい。隔離デバイス202の更新504は、典型的には、関連するユーザ208によって開始され、処理100のステップ110に記載されるように実行されてもよい。
【0124】
【0125】
112に示されるように、典型的には、関連するユーザ208の指示に応答して、隔離デバイス202は、隔離デバイス202に関連付けされる1つ以上の制限値アカウントから1つ以上の他のユーザに移転されるデジタル資産の値を移転してもよい。
【0126】
隔離デバイス202は、使用状態にあって、移転されたデジタル資産の値を累積的に格納する1つ以上の制限値アカウントの秘密鍵をネットワークコミュニティに、特にアクセスデバイス206に送信することによって、デジタル資産の価値を移転してもよい。換言すれば、隔離デバイス202は、各制限長アカウントが一緒に合成されると、移転された値に等しい(又は任意選択的に超過する)デジタル資産の制限値を格納する1つ以上の使用される制限値アカウントの秘密鍵を送信する。アクセスデバイス206がこれらのアカウントの秘密鍵を有すると、アクセスデバイス206(例えば、ホットウォレット)は、これらのアカウントにアクセスし、他のユーザへの移転のためにこれらのアカウントに格納されたデジタル資産の制限値を抽出してもよい。
【0127】
任意選択的には、1つ以上の制限値アカウントからデジタル資産を移転する前に、隔離デバイス202は、それの制限値アカウントに格納されたデジタル資産の値をコミュニティネットワークに照会及び検証する。ここで上述したように、隔離デバイス202は、その内容の全てが参照によりここに援用される、2018年12月6日に出願された“Secure Consensus over a Limited Connection”という名称の仮特許出願第62/775,942号に記載された検証方法を利用して、計算ノード204の少なくともいくつかに照会及び検証リクエストを発信してもよい。
【0128】
上述したように、何れのアカウントが現在使用状態にあるかを隔離デバイス202に通知する手間を簡略化及び低減するため、使用される制限長アカウントの後続の順序付けが維持される必要がある。これは、移転されるデジタル資産値を移転する際、隔離デバイスが、使用状態にあって、移転されるデジタル資産の値を累積的に格納する1つ以上の後続する制限値アカウントを選択し、これらの以降に使用されるアカウントの秘密鍵を送信することを意味する。特に、隔離デバイス202は、最も直近に使用された制限値アカウント、すなわち、受け取られたデジタル資産の値が格納され、従って使用準備完了状態から使用状態に最も直近に切り替えられた(遷移した)アカウントから移転される価値を移転する。また、ユーザ208に入手可能なデジタル資産の全資金は、第1のアカウント(すなわち、インデックス0を有するアカウント)から始まる後続の制限値アカウントに格納される。
【0129】
例えば、移転される値が最も直近に使用された単一のアカウント口座において利用可能であると仮定すると、隔離デバイス202は、当該最も直近に使用された単一のアカウントの秘密鍵をアクセスデバイス206に送信することによって、当該最も直近に使用された単一のアカウントから制限値を移転する。他の例では、移転される値が3つの最も直近に使用されたアカウントにおいて利用可能であると仮定すると、隔離デバイス202は、これら3つの最も直近に使用されたアカウントの秘密鍵をアクセスデバイス206に送信することによって、これら3つの最も直近に使用されたアカウントから制限値を移転する。
【0130】
この規範が隔離デバイス202に関連する制限値アカウントの免疫性を更に増大させるのに役立つことに留意されたい。これは、アクセスデバイス206(ホットウォレット)が悪意のある当事者によって危険にさらされる場合、最も直近に使用された(“新しい”)使用されたアカウントが悪意のあるアクセスの影響を受けやすくなる一方、アクセスデバイス206を危険にさらした時間より前の最も以前に使用された(“古い”)アカウントが信頼できる可能性があるためである。従って、デジタル資産を放出することによって、最も直近に使用されたアカウントに格納された資金が、悪意のある当事者が危険にさらした時間の前にアカウントにアクセス及び制御する能力を低減及び阻止し、従って、信頼できるアカウントに格納されたデジタル資産資金の盗難を阻止してもよい。
【0131】
しかしながら、隔離デバイス202は、移転される値の移転元の制限値アカウントの秘密鍵を送信(発行)したため、これらの秘密鍵はもはや秘密でなく、現在の使用準備完了アカウントに対して利用されないかもしれない。
【0132】
使用される制限値アカウント(すなわち、使用状態のアカウント)の以降の順序付けを維持するため、各制限値アカウントは、複数回の使用、すなわち、制限値アカウントが使用準備完了状態と使用状態との間で遷移する複数の使用サイクルに対して構成されてもよい。上述されるように、使用準備完了状態に現在ある制限値アカウントは、受け取ったデジタル資産の値の少なくとも一部がアカウントに格納されると、使用状態に切り替わる。補完的に、使用状態に現在ある制限値アカウントは、アカウントに格納された制限値がアカウント(隔離デバイス202)から移転されると、使用準備完了状態に切り替わる。これは、使用状態から使用準備完了状態に遷移する各アカウントに対して新しい非対称暗号鍵ペアを生成することによって実現される。
【0133】
隔離デバイス202は、使用状態から使用準備完了状態に遷移した各アカウントに対して生成された新しい非対称暗号鍵ペアをコミュニティネットワークに発行し、従って、これらのアカウントをデジタル資産の資金の受け取りに利用可能としてもよい。特に、隔離デバイス202は、一方向セキュアチャネルを介しアクセスデバイス206にそれらを送信することによって、新たに生成された非対称暗号鍵ペアを発行してもよい。
【0134】
本発明のいくつかの実施例によるデジタル資産を格納するのに利用される制限接続隔離デバイスに関連する制限値アカウントにおける以降の順序付けによるデジタル資産の例示的な割当ての概略図である
図6が参照される。制限値アカウント304などの複数の制限値アカウントは、隔離デバイス202などの隔離デバイスに関連付けされてもよい。制限値アカウント304の数は、割当てパラメータの1つ以上、例えば、0からNのインデックス付けされたN個の制限値アカウント、アカウント304_0,304_1,304_2,304_3,304_4から304_Nまでなどの従って設定されてもよい。
【0135】
まず602に示されるように、全ての制限値アカウント304は、デジタル資産の資金を格納しなくてもよく、従って、使用準備ができている、すなわち、デジタル資産の指定された制限された価値を格納する準備ができているとき、使用準備完了状態にありうる。
【0136】
604に示されるように、デジタル資産の値が隔離デバイス202によって受信される(特に、隔離デバイス202に関連付けされたユーザ208によって受信される)と仮定すると、受け取られたデジタル資産の値は、最も小さいインデックスの使用準備完了アカウント304、本例では、アカウント304_0から始まる後続のアカウント304に格納される。さらに、受け取られたデジタル資産の値が最初の3つのアカウント304_0、304_1及び304_2に対して設定される累積制限値に等しいと仮定すると、これらのアカウントは使用状態に切り替わる(遷移する)。
【0137】
606に示されるように、デジタル資産の値が隔離デバイス202から移転されると仮定すると、移転されるデジタル資産の値は、最も直近に使用されたアカウント304、本例では、アカウント304_2から始まる以降のアカウント304から移転される。さらに、移転されるデジタル資産の値がアカウント304_2に対して設定された累積的な制限値に等しいと仮定すると、このアカウントは使用準備完了状態に切り替わる。
【0138】
608に示されるように、デジタル資産の別の値が隔離デバイス202によって受け取られると仮定すると、受け取られたデジタル資産の値は、最も小さいインデックスの使用準備完了アカウント304、本例では、アカウント304_2から始まる後続のアカウント304に格納される。さらに、受け取られたデジタル資産の値がアカウント304_2と304_3に対して設定された累積的な制限値に等しいと仮定すると、これらのアカウントは使用状態に切り替わる。
【0139】
610に示されるように、デジタル資産の別の値が隔離デバイス202から移転されると仮定すると、移転されるデジタル資産の値は、最も直近に使用されたアカウント304、本例では、アカウント304_3から始まる後続のアカウント304から移転される。さらに、移転されるデジタル資産の値がアカウント304_3に対して設定された制限値に等しいと仮定すると、このアカウントは使用準備完了状態に切り替わる。
【0140】
本発明のいくつかの実施例によるデジタル資産を格納するのに利用される制限接続隔離デバイスに関連する再利用される制限値アカウントのための非対称暗号鍵ペアの例示的な構成の概略図である
図7が参照される。
図3に示されるように、一意的なシード302などの一意的なシードが割り当てられた隔離デバイス202などの隔離デバイスは、制限値アカウント304などの各制限値アカウントに対して、非対称暗号鍵ペア306などの非対称暗号鍵ペアを生成してもよい。各非対称暗号鍵ペア306は、各自の秘密鍵と対応する公開鍵とを含む。
【0141】
しかしながら、隔離デバイス202は、アカウント304のインデックスだけでなく、それの以前の使用回数、すなわち、アカウント304が使用状態から使用準備完了状態に遷移した(切り替わった)使用サイクルの回数にもまた基づいて、非対称暗号鍵ペア306を生成してもよい。ここで上述したように、隔離デバイス202は、一意的なシード302、アカウント番号及び使用された周期を利用して再生成されるように、非対称暗号鍵ペア306を決定的に生成してもよい。再び
図3について説明されたように、隔離デバイス202は、鍵導出関数、アルゴリズム及び/又は方法の1つ以上を利用して、非対称暗号鍵ペア306を生成してもよい。例えば、隔離デバイス202は、以下の式2で表される式に従って各アカウント304の秘密鍵を計算してもよい。
式2:
private key=HASH(seed,account index,use cycle number)
【0142】
それぞれの公開鍵は、当該技術分野で知られているように秘密鍵から導出されてもよく、ADR(account index,use cycle number)として指定されてもよい。ここで上述したように、暗号通貨の実施例では、アドレス(ADR)は、ハッシュ関数の1つ以上を使用して公開鍵に対して計算されたハッシュ値であってもよい。
【0143】
また、各制限値アカウント304は、各アカウント304に対して最初に生成された非対称暗号鍵ペアと、各アカウント304の各使用サイクルに対して生成された非対称暗号鍵ペアとを含む、複数の非対称暗号鍵ペア306に関連付けされてもよい。しかしながら、最も直近に生成された非対称暗号鍵ペアのみが、それの秘密鍵がコミュニティネットワークに公開されていないため、有効である。使用サイクルの数は、各アカウント304が異なる回数使用されてもよいため、制限値アカウント304の間で変化してもよい。例えば、制限値アカウント304_0(インデックス0)がM(0)-1回使用され、すなわち、M(0)-1の使用サイクルを経過したと仮定すると、制限値アカウント304_0は、M(0)個の非対称暗号鍵ペア306_0を有し、ここで、非対称暗号鍵ペア306_0_M(0)のみが有効である。他の例では、制限値アカウント302_1がM(1)回使用された、すなわち、M(1)-1の使用サイクルを経過したと仮定すると、制限値アカウント304_1は、M(1)個の非対称暗号鍵ペア306_1を有してもよく、非対称暗号鍵ペア306_1_M(1)のみが有効である。他の例では、制限値アカウント304_NがM(N)-1回使用された、すなわち、M(N)-1の使用サイクルを経過したと仮定すると、制限値アカウント304_Nは、非対称暗号鍵ペア306_N_M(N)のみが有効であるM(N)個の非対称暗号鍵ペア306_Nを有してもよい。使用サイクル数M(0)、M(1)~M(N)は、制限値アカウント304間で異なってもよいことが強調されるべきである。
【0144】
本発明のいくつかの実施例による複数の制限値アカウントにデジタル資産を格納するのに利用される制限接続隔離デバイスを使用してデジタル資産の値を移転する例示的なシーケンスの概略図である
図8が参照される。例示的なデジタル資産移転シーケンス800は、隔離デバイス202に関連付けされた1つ以上の制限値アカウントに格納されたデジタル資産の資金を移転するため、隔離デバイス202などの隔離デバイスによって実行されてもよい。上述されるように、移転される値を移転する前に、隔離デバイス202は、処理100のステップ110において説明されるように、隔離デバイス202に関連する制限値アカウントに格納されるデジタル資産の資金の全価値に関する情報によって更新されてもよい(802)。任意選択的には、処理100のステップ112に記載されるように、隔離デバイス202は、その内容の全体が参照によりここに援用される仮特許出願第62/755,942号に記載されるように、ブロックチェーンの1つ以上の計算デバイス204に(アクセスデバイス206を介し)1つ以上のクエリを発行することによって、それに提供される情報を検証してもよい(804)。使用されるアカウントの1つ以上に格納される制限されたデジタル資産の値を移転するため、隔離デバイス202は、デジタル資産の値の移転元のアカウントの秘密鍵をアクセスデバイス206に送信することによって、このアカウントに対する制御をアクセスデバイス206に移転し(806)、従って、これらのアカウントの各々に格納された制限されたデジタル資産の値を放出する。放出されたアカウントの秘密鍵を発行した後、隔離デバイス202は、使用状態から使用準備完了状態に切り替わった放出された各アカウントに対して新しい非対称暗号鍵ペアを生成する(808)。隔離デバイス202は、新たに生成された非対称暗号鍵ペアから導出される放出された制限値アカウント304の公開鍵をアクセスデバイス206に送信してもよい(810)。例えば、暗号通貨の実施例では、隔離デバイス202は、制限値アカウント304の公開鍵をアクセスデバイス206に送信してもよい。処理800は、本質的にデジタル資産の資金を1つ以上の他のユーザの1つ以上の他のアカウントに移転するため実行される。ホットウォレットとして機能するアクセスデバイス206及び/又は1つ以上の計算ノード204は、ここで、放出されたアカウントに格納されたデジタル資産の資金にアクセスすることができ、従って、コミュニティネットワーク、例えば、ブロックチェーンネットワークによって制御される1つ以上の他のユーザの1つ以上のアカウントにこれらのデジタル資産を移転してもよい(812)。ホットウォレットとして機能するアクセスデバイス206及び/又は1つ以上の計算ノード204は、隔離デバイス202(コールドウォレット)との通信とは独立して、即座に及び/又は1つ以上のスケジューリングされたイベントに従ってデジタル資産取引を実行してもよい。
【0145】
本発明のいくつかの実施例によると、隔離デバイス202は、複数の初期化処理をサポートするよう構成される。特に、隔離デバイス202は、隔離デバイス202の最初の初期化処理に続く複数の復旧処理をサポートするよう構成される。
【0146】
隔離デバイス202に関連付けされたユーザ208が最初にデジタル資産を使用するためコミュニティネットワークとの自らのアカウントを確立するとき、最初の初期化処理は、シーケンス400に記載されるように実行されてもよい。例えば、暗号通貨のケースでは、最初の初期化処理は、隔離デバイス202を暗号通貨ブロックチェーン内のユーザ208の新しいアカウントに関連付けるため実行される。
【0147】
復旧処理は、隔離デバイス202に対する1つ以上の障害に続いて実行され、その後、隔離デバイス202は、ユーザ208のために作成され、すでにデジタル資産の資金を格納しうる複数の制限値アカウントに復元及び再関連付けされる必要がある。障害のため、ユーザ208の制限値アカウントにおいて実行されたデジタル資産取引履歴は、例えば、ブロックチェーンネットワークなどのコミュニティネットワークによって追跡及び記録されるが、隔離デバイス202自体は、このトラックレコード履歴を格納せず、従って、制限値アカウントに格納されたデジタル資産の資金は、ユーザ208に利用可能でなくてもよい。
【0148】
隔離デバイス202の障害は、例えば、隔離デバイスのメモリが消去され、従って、隔離デバイス202は、ローカルに格納されたトラックレコード履歴を有さない。他の例では、復旧処理は、スクラップされた、例えば、破壊された、損傷を受けた、失われたなどのユーザ208の前の隔離デバイス202を置換する新たな隔離デバイス206を初期化するため実行されてもよく、従って、当然ながらローカルに格納されるトラックレコード履歴を有さない。
【0149】
各初期化処理中、シーケンス300に記載されるような最初の初期化処理と、以下に記載されるような各復旧処理との何れかのため、隔離デバイス202は、一意的なシード302に基づいて、複数の制限値アカウントに対して複数の新しい非対称暗号鍵ペアを決定的に生成してもよい。
【0150】
さらに、隔離デバイス202は、トラックレコード履歴を有さず、1つ以上の制限値アカウントが異なる初期化シーケンス中に使用されたため、隔離デバイス202は、制限値アカウントの何れが使用され、例えば、暗号通貨ブロックチェーンにデジタル資産を格納しているかを知らないかもしれない。従って、一意的なシード302を利用して、使用される制限値アカウントを識別するため、すなわち、デジタル資産を格納するため、隔離デバイス202は、制限値アカウントの少なくともいくつかの全ての使用サイクルについて、全ての以前の初期化処理中に生成された非対称暗号鍵ペアを再生成してもよい。その後、隔離デバイス202は、計算ノード204及び/又はアクセスデバイス206の1つ以上が、復元された隔離デバイス202に関連する何れかの制限値アカウントが使用されるか、すなわち、デジタル資産を格納するかを特定するために後期鍵を利用しうるように、全ての以前の初期化処理及び使用サイクル中に生成された制限値アカウントの少なくとも一部の公開鍵をコミュニティネットワークに発行してもよい。
【0151】
隔離デバイス202が非対称暗号鍵ペアを再現し、それぞれの公開鍵を発行する制限値アカウントの数は、1つ以上の実現形態及び/又は規範に従って設定されてもよい。例えば、隔離デバイス202は、例えば、市販されているデジタル価値の全価値など、最大のデジタル資産の値を格納するのに充分な数の制限値アカウントの公開鍵を再生成及び発行してもよい。他の例では、隔離デバイス202は、所定数(及び典型的には多数)の制限値アカウントの公開鍵を再生成及び発行してもよい。計算ノード204及び/又はアクセスデバイス206の1つ以上は、隔離デバイス202によって公開鍵が発行されたアカウントが使用中であるか、すなわち、デジタル資産を格納しているかをブロックチェーンにおいてチェックしてもよい。使用されるアカウントの以降の順序付けによって、計算ノード204及び/又はアクセスデバイス206は、最も大きなインデックスの使用されたアカウントを特定し、それに応じて、隔離デバイス202が追加のアカウントのために公開鍵を再生成及び発行する必要があるか否かを決定してもよい。公開鍵が発行された最も大きなインデックスの制限値アカウントが使用されないケースでは、計算ノード204及び/又はアクセスデバイス206は、ブロックチェーン内で追加のアカウントがチェックされる必要がないと判定してもよい。しかしながら、公開鍵が発行された最も大きなインデックスの制限値アカウントが使用されるケースでは、計算ノード204及び/又はアクセスデバイス206は、追加的なより大きなインデックスのアカウントが使用中であると判断してもよい。従って、計算ノード204及び/又はアクセスデバイス206は、以前に発行されたアカウントの後に、追加の制限値アカウントの公開鍵を再生成及び発行するよう隔離デバイス202に要求してもよい。
【0152】
本発明のいくつかの実施例による複数の制限値アカウントにデジタル資産を格納するのに利用される制限接続隔離デバイスを復旧する例示的なシーケンスの概略図である
図9が参照される。例示的な復旧シーケンス900は、隔離デバイス202などの隔離デバイスを復元するため実行されてもよい。
【0153】
まず、隔離デバイス202に関連付けされたユーザ208などのユーザは、処理100のステップ102において説明されるように、隔離デバイスに一意的なシード302などの一意的なシードを提供してもよい(902)。特に、一意的なシード302は、ユーザ208に対して過去にすでに生成されているため、復旧処理中に、ユーザ208は、例えば、制限容量入力インタフェース216を介し隔離デバイス202に自らの一意的なシード302を提供してもよい。例えば、ユーザ208は、復元された隔離デバイス202の制限容量入力インタフェース216において、一意的なシード302を含む制限長文字列を入力してもよい。
【0154】
ユーザ208は、隔離デバイス202に以前の初期化処理の回数をさらに提供(通知)してもよい(904)。例えば、現在の復旧処理が隔離デバイス206に対して実行される3回目の復旧処理であると仮定すると、ユーザ208は、最初の初期化処理があった後に2つの復旧処理が続くため、3つの初期化を示してもよい。ユーザ208は、制限容量入力インタフェース216を使用して、例えば、制限容量入力インタフェース216によって提供されるユーザインタフェースを介し制限長文字列を入力することによって、当該情報を隔離デバイスに提供してもよい。
【0155】
復元された隔離デバイス202とアクセスデバイス206との間のセキュア通信をサポートするため、ユーザ208は、シーケンス400に記載されるように、隔離デバイス202の公開鍵をアクセスデバイス206に提供してもよい(906)。同様に、ユーザ208は、シーケンス400に記載されるように、アクセスデバイス206の公開鍵を隔離デバイス202に提供してもよい(908)。
【0156】
一意的なシード302を利用して、隔離デバイス202は、現在の復旧処理が完了した後にアカウントに対して使用される複数の制限値アカウントの少なくとも一部について、新しい非対称暗号鍵ペアを決定的に生成してもよい(910)。
【0157】
隔離デバイス202は、一意的なシード302を利用して、少なくとも一部のアカウントに対して以前の全ての初期化処理中に生成された非対称暗号鍵ペアをさらに再現してもよい。これは、以前の初期化処理中に非対称暗号鍵ペアが一意的なシード302を利用して決定的に生成され、従って、一意的なシード302を利用して再現可能であるため、容易に実行されうる。
【0158】
その後、隔離デバイス202は、コミュニティネットワークに対して、以前の全ての初期化処理中に生成された全てのアカウントの公開鍵(そこからアカウントアドレスが計算されうる、例えば、ハッシュ値)と、現在の復旧処理中に生成された新しい公開鍵とを発行(送信)してもよい(912)。発行された公開鍵を利用して、1つ以上の計算ノード204及び/又はアクセスデバイス206は、復元された隔離デバイス202に関連する制限値アカウントの何れが使用されるか、すなわち、デジタル資産を格納するか特定するため、コミュニティネットワーク、例えば、ブロックチェーンに照会してもよい。
【0159】
いくつかの実施例では、隔離デバイス202は、以前の全ての初期化処理に対して全てのアカウントの非対称暗号鍵ペアを再現及び発行する。しかしながら、隔離デバイス202は、以前の全ての初期化処理中にアカウントの一部に対して生成された非対称暗号鍵ペアを再現及び発行してもよい。それが必要とされる場合、アクセスデバイス206からのリクエストに応答して、ユーザ208は、以前の全ての初期化処理中における追加的及び/又は全てのアカウントに対して生成された非対称暗号鍵ペアを再現するよう隔離デバイスに指示してもよい。
【0160】
その後、アクセスデバイス206は、デジタル資産が格納される制限値アカウントを識別する制限長文字列を計算してもよい。隔離デバイス202及びアクセスデバイス206は、制限値アカウントとの間でデジタル資産の資金を移転及び受け取るための以降の順序づけ方式を採用するため、デジタル資産を格納するアカウントは、最も小さいインデックスのアカウント、例えば、インデックス0のアカウント(304_0)から始まる順番で順序付けされる。従って、アクセスデバイス206は、隔離デバイス202に関連する全てアカウントに格納されたデジタル資産の全資金を示す制限長文字列を単に計算してもよい。
【0161】
ユーザ208は、アクセスデバイス206によって計算される各自の制限長文字列を制限容量入力インタフェース216を介し隔離デバイス202に提供することによって、復元された隔離デバイス202に関連付けされた制限長アカウントに格納されたデジタル資産の全資金によって隔離デバイス202を更新してもよい(914)。隔離デバイス202は、復元された隔離デバイス202に関連付けされた制限値アカウントに格納されるデジタル資産の全資金の価値を抽出してもよい。使用されるアカウントの以降の順序付けによって、制限長文字列から抽出されたデジタル資産の全資金に基づいて、隔離デバイス202は、通知されたデジタル資産の全資金に従って何れのアカウントが利用されるか容易に決定し、各制限値アカウントは格納してもよい。
【0162】
隔離デバイス202が更新され、制限値アカウントの何れがそれの制限された値を格納するか(すなわち、使用状態にある)を決定した後、隔離デバイス202は、初期化処理の何れの間に、アカウントの1つ以上が使用状態に遷移したか、すなわち、何れの初期化処理の間に、受け取られた値の少なくとも一部がアカウントに格納されたかを依然として認識しないかもしれない。
【0163】
デジタル資産の特定の値を移転するよう要求されると、隔離デバイス202は、移転される値に等しいデジタル資産を累積的に格納するアカウント304の1つ以上に対して全ての初期化処理中に生成される秘密鍵を発行してもよい。特に、以降の順序付けを維持するため、隔離デバイス202は、受け取られたデジタル資産が最も直近に充填された1つ以上のアカウント304、すなわち、使用準備完了状態から使用状態に最も直近に遷移したアカウントの秘密鍵を発行する。
【0164】
本発明のいくつかの実施例によるデジタル資産を格納するのに使用される復旧された制限接続隔離デバイスの非対称暗号鍵ペアの第1の例示的な構成の概略図である
図10が参照される。
図3及び
図7において説明されたように、一意的なシード302などの一意的なシードが割り当てられた隔離デバイス202などの隔離デバイスは、一意的なシード302に基づいて、複数の制限値アカウント304のそれぞれに対して非対称暗号鍵ペア306などの非対称暗号鍵ペアを生成してもよい。ここで上述されたように、隔離デバイス202は、シード302、アカウント304のインデックス及び使用サイクル数に基づいて、制限長アカウント304のそれぞれに対して一意的な秘密鍵及び対応する公開鍵を含む非対称暗号鍵ペア306を生成してもよい。
【0165】
しかしながら、隔離デバイス202は、アカウント304のインデックス及び使用サイクル数だけでなく初期化処理数にも基づいて、非対称暗号鍵ペア306を生成してもよい。従って、隔離デバイス202は、一意的なシード302、アカウント304のインデックス、アカウント304の使用サイクル数及び初期化処理数に基づいて、非対称暗号鍵ペア306を決定的に生成してもよい。また、非対称暗号鍵ペア306は、一意的なシード302が与えられると、決定的に再現されてもよい。再び、
図3及び
図7について説明されたように、隔離デバイス202は、鍵導出関数、アルゴリズム及び/又は方法の1つ以上を利用して、非対称暗号鍵ペア306を生成してもよい。例えば、隔離デバイス202は、以下の式3に従って1つ以上のハッシュ関数を利用して各アカウント304の秘密鍵を計算してもよい。
式3:
private key=HASH(HASH(HASH(seed,account index),use cycle number),initialization number)
秘密鍵から導出される各自の公開鍵は、ADR(account index,use cycle number,initialization number)として計算されてもよい。
【0166】
あるいは、隔離デバイス202は、以下の式4に従ってハッシュ関数を利用して各アカウントの秘密鍵を計算してもよい。
式4:
private key=HASH(HASH(HASH(seed,account index),initialization number),use cycle number)
補完的に、秘密鍵から導出される各自の公開鍵は、ADR(account index,initialization number,use cycle number)として計算されてもよい。
【0167】
また、各制限値アカウント304は、各アカウントの各使用サイクルに対して生成される非対称暗号鍵ペアと、各アカウントに対して最初に生成される非対称暗号鍵ペアとを含む複数の非対称暗号鍵ペア306と関連付けされてもよい。さらに、各制限値アカウントは、各初期化処理に対して生成される複数の非対称暗号鍵ペアと関連付けされてもよい。
【0168】
従って、隔離デバイス202がX回の初期化処理を経過したと仮定する。さらに、各初期化処理に続く期間中、1つ以上の制限値アカウント304は複数回、すなわち、複数の使用サイクルで使用された可能性があると仮定する。従って、各アカウント304は、各ブランチがそれぞれの初期化処理(1からX)に対応し、ブランチ内の各レベルがそれぞれの使用サイクルに対応する、非対称暗号鍵ペア306のツリーに関連付けされてもよい。例えば、アカウント304_0が最初の(初めての)初期化処理に続く期間中にM(0,0)回(M(0,0)の使用サイクル)使用されたと仮定すると、初期化処理0のアカウント304_0のブランチは、M(0,0)+1個の非対称暗号鍵ペア306を含む。アカウント304_0が2番目の初期化処理(すなわち、第1の復旧処理)に続く期間中にM(0,1)回(M(0,1)の使用サイクル)使用されたと仮定すると、初期化処理1のアカウント304_0のブランチは、M(0,1)+1個の非対称暗号鍵ペア306を含む。同様に、アカウント304_0が初期化処理Xに続く期間中にM(0,X)回(M(0,X)の使用サイクル)使用されたと仮定すると、初期化処理Xのアカウント304_0のブランチは、M(0,X)+1個の非対称暗号鍵ペア306を含む。
【0169】
隔離デバイス202は、隔離デバイス202に関連する他の制限値アカウント304に対して同じ構成を適用してもよい。例えば、アカウント304_Nが、最初の初期化処理に続く期間中にM(N,0)回((M(N,0)の使用サイクル)使用されたと仮定すると、初期化処理0のためのアカウント304_Nのブランチは、M(N,0)+1個の非対称暗号鍵ペア306を含む。アカウント304_Nが、第2の初期化処理(すなわち、第1の復旧処理)に続く期間中にM(N,1)回(M(N,1)の使用サイクル)利用されたと仮定すると、初期化処理1に対するアカウント304_Nのブランチは、M(N,1)+1個の非対称暗号鍵ペア306を含む。同様に、アカウント304_Nが初期化処理Xに続く期間中にM(N,X)回(M(N,X)の使用サイクル)利用されたと仮定すると、初期化処理XのためのアカウントNのブランチは、M(N,X)+1個の非対称暗号鍵ペア306を含む。
【0170】
ここで上述したように、デジタル資産の特定の値を移転するよう要求されると、隔離デバイス202は、最も直近に使用状態に遷移し、移転された値を累積的に格納する1つ以上のアカウント304の全ての使用サイクルの全ての初期化処理中に生成された秘密鍵を発行してもよい。以降の順序付けスキームのため、制限値アカウント304の複数のアカウントは、複数回利用されてもよく、すなわち、使用準備完了状態と使用状態との間で複数回遷移してもよい。これは、これらの非常に利用されたアカウント304に対して生成される複数の非対称暗号鍵ペア306を生じさせ、従って、これらのアカウント304内のデジタル資産の資金を放出するため、隔離デバイス202が送信しなければならない多数の秘密鍵を生じさせる。非対称暗号鍵ペア306の数、従って、秘密鍵の数は更に、複数の初期化処理の場合には増加される。
【0171】
隔離デバイス202によって送信及び発行される必要がある秘密鍵の数を減らすため、各初期化処理中に生成される非対称暗号鍵ペア306は、隣接する初期化処理からの導出に基づいて決定的に生成されてもよい。また、共通する鍵値が、隔離デバイスによってコミュニティネットワークに送信されてもよく、特に、共通する鍵値を使用するアクセスデバイス206は、以前の全ての初期化処理中にアカウントに対して生成される秘密鍵を決定的に再現してもよい。
【0172】
本発明のいくつかの実施例によるデジタル資産を格納するのに利用される復旧された制限接続隔離デバイスのための非対称暗号鍵ペアの第2の例示的な構成の概略図である
図11が参照される。以下は、隔離デバイス202などの隔離デバイスに関連する制限値アカウント304などの単一の制限値アカウントについて説明されるが、それは、隔離デバイス202に関連する他の制限値アカウントの何れか、例えば、アカウント304_0~304_Nに適用される。
【0173】
図10に示されるように、一意的なシード302などの一意的なシードが割り当てられた隔離デバイス202は、一意的なシード302に基づいて、複数の制限値アカウント304の各々に対して非対称暗号鍵ペア306などの非対称暗号鍵ペアを生成してもよい。しかしながら、
図10で説明された例示的な構成とは対照的に、
図11における非対称暗号鍵ペア306の構成は、後続の初期化処理の初期化シード1102からの一方向導出として各初期化処理について計算される初期化シード1102に基づいて、全ての使用サイクルの全ての制限値アカウントに対して非対称暗号鍵ペア306を生成することによって行われる。各使用サイクルに続く制限値アカウント(1~N)に対して隔離デバイス202によって生成される非対称暗号鍵ペア306は、現在適用されている初期化処理に対して計算される初期化シード1102から導出される。これは、特定の初期化処理に続いて、隔離デバイス202が前の初期化処理の初期化シード1102を発行することを可能にし、従って、計算ノード204が連続する初期化処理の間にアカウント304に対して生成される秘密鍵を損なう(開示する)ことなく、アカウント304の秘密鍵を再現することを可能にする。これは、特定の初期化処理の初期化シード1102が与えられると、計算ノード204及び/又はアクセスデバイス206が、特定の(最も直近の)初期化処理に先行する全ての初期化処理の初期化シード1102を計算してもよいが、特定の(最も直近の)初期化処理に続く初期化処理の初期化シード1102を計算することができないためである。従って、計算ノード204及び/又はアクセスデバイス206は、以降の初期化処理の間に生成されて有効になるアカウント304の秘密鍵を再現することはできない。
【0174】
例えば、隔離デバイス202は、初期化処理Xの制限値アカウント0に対して初期化シード1102_0_Xを予め計算してもよい。その後、隔離デバイス202は、初期化シード1102_0_Xから決定的導出として初期化処理Xに先行する全ての初期化処理に対する制限値アカウント0に対して複数の初期化シード1102_0を計算してもよい。例えば、隔離デバイス202は、制限値アカウント0に対して、初期化シード1102_0_Xから初期化シード1102_0_X-1(初期化処理X-1に対する)を計算し、初期化シード1102_0_X-1から初期化シード1102_0_X-2(初期化処理X-2に対する)を計算し、以下同様に、初期化シード1102_0_0(初期化処理0に対する)まで計算してもよい。各使用サイクルにおいて制限値アカウント0に対して生成される非対称暗号鍵ペア306は、現在適用されている初期化処理の初期化シード1102_0から導出される。隔離デバイス202は、他の制限値アカウント1~Nの少なくとも一部に対して同様に適用してもよい。例えば、隔離デバイス202は、複数の初期化シード1102_1が初期化処理Xに先行する全ての初期化処理において制限値アカウントNに対して計算される初期化処理Xにおける制限値アカウント1に対して初期化シード1102_1_Xを計算してもよい。他の例では、隔離デバイス202は、複数の初期化シード1102_Nが初期化処理Xに先行する全ての初期化処理の制限値アカウントNに対して計算されうる初期化処理Xの制限値アカウントNに対して初期化シード1102_N_Xを計算してもよい。
【0175】
隔離デバイス202と計算ノード204及び/又は少なくともアクセスデバイス206とによって共有及び認識されるこの構成によると、1つ以上のアカウント304から制限された値を移転するとき、これらのアカウント204の秘密鍵を発行するため、隔離デバイス202は、最も直近の初期化処理の初期化シード1102を送信するだけでよい。これは、当然ながら、以前の初期化処理中にデジタル資産が格納された使用済みの制限値アカウントに対して実行されてもよい。これは、隔離デバイス202がそのような口座に精通しているため、現在の初期化処理中にデジタル資産が格納された制限値アカウントに対して必要とされなくてもよい。最も直近の初期化処理の初期化シード1102を使用して、計算ノード204及び/又はアクセスデバイス206は、現在及び過去の全ての初期化処理に対して放出されたアカウント204の秘密鍵を決定的に生成し、従って、これら放出されたアカウント204に格納されたデジタル資産の資金へのアクセスを取得してもよい。しかしながら、一方向導出のため、以降の初期化処理の間にこれらのアカウントに対して生成される秘密鍵は、以前に発行された初期化シード1102からは導出されない可能性があるため、危険にさらされない。
【0176】
隔離デバイス202は初期化シード1102を予め計算しているため、初期化シード1102の数Xは予め定められている。しかしながら、必要が生じる場合、例えば、初期化処理の数が所定数Xを超えている場合、隔離デバイス202は、他の初期化シード1102_X+Yを計算してもよい。その後、隔離デバイス202は、初期化シード1102_X+Yからの決定的導出として初期化処理X+Y(及び初期化処理Xに先行する)に先行する全ての初期化処理に対して複数の初期化シード1102を計算してもよい。例えば、隔離デバイス202は、初期化シード1102_X+Yから初期化シード1102_X+Y-1(初期化処理X+Y-1に対する)を計算し、初期化シード1102_X+Y-1から初期化シード1102_X+Y-2(初期化処理X+Y-2に対する)を計算し、以下同様に、初期化シード1102_X+1(初期化処理X+1に対する)を計算してもよい。
【0177】
他の例示的な実施例では、各初期化処理の間に生成される非対称暗号鍵ペア306は、各初期化処理のために計算される初期化シード1102からの導出に基づいて決定的に生成されてもよい。
【0178】
最初の初期化処理の間、隔離デバイス202は、最初の初期化処理のための初期化シード1102_0を計算してもよい。さらに、最初の初期化処理の間、隔離デバイス202は、非対称暗号解読鍵ペア(例えば、RSA)の解読キーを発行(送信)してもよい。第2の初期化処理の間、隔離デバイス202は、第2の初期化処理の初期化シード1102_1を計算し、第2の初期化シード1102_1に基づいて生成された暗号鍵を用いて第1の初期化シード1102_0を暗号化してもよい。第3の初期化処理の間、隔離デバイス202は、第3の初期化処理の初期化シード1102_2を計算し、第3の初期化シード1102_2に基づいて生成された暗号鍵を用いて第1の初期化シード1102_1を暗号化してもよい。最初の初期化処理中に実行されるように、各初期化処理の間、隔離デバイス202は解読鍵を発行する。
【0179】
隔離デバイス202は、各初期化処理に対してこの手順を繰り返してもよい。デジタル資産の値が特定のアカウント304から移転されると、隔離デバイス202は、最も直近の初期化処理において特定のアカウント304について計算される初期化シード1102を発行することによって、当該特定のアカウント304の秘密鍵を発行してもよい。その後、復号化キーを使用して、1つ以上の計算ノード204及び/又はアクセスデバイス206は、以前の全ての初期化処理の初期化シード1102を解読してもよい。
【0180】
本発明のいくつかの実施例によると、隔離デバイス202は、隔離デバイス202に関連する複数の制限値アカウント304に関する状態情報のバックアップを作成してもよい。状態情報は、例えば、複数のアカウント304に格納されたデジタル資産の全価値、隔離デバイス202に対して実行された初期化処理数などを含んでもよい。さらに、復旧処理中に隔離デバイス202にバックアップをロードする労力を低減するため、隔離デバイス202は、状態情報を符号化した制限長文字列を含んでもよいバックアップ値を計算してもよい。隔離デバイス202は、1つ以上の関数、アルゴリズム及び/又は方法を適用して、バックアップ値を生成してもよく、例えば、隔離デバイス202は、1つ以上のハッシュ関数を使用して、状態情報のハッシュ値を計算してもよい。
【0181】
隔離デバイス202は、1つ以上のバックアップ規則に従って、例えば、定期的に、(ユーザ208による)命令に応答してなど、バックアップ値を計算してもよい。隔離デバイス202によって計算されたバックアップ値は、ユーザ208がアクセスできる1つ以上の格納位置に格納されてもよい。例えば、隔離デバイス202は、ユーザ208がそれをコピーし、ハードコピーとして格納することができるように、隔離デバイス202のディスプレイ上に計算されたバックアップ値を提示してもよい。他の例では、隔離デバイス202は、1つ以上のリモート位置、例えば、ブロックチェーン、ストレージサーバなどに格納するため、ネットワーク230を介しバックアップ値を送信してもよい。他の例では、隔離デバイス202は、例えば、隔離デバイス202に取り付け可能な記憶媒体デバイス(スティック)などの取り付け可能な記憶媒体にバックアップ値を格納してもよい。
【0182】
上述したように、初期化処理中、特に復旧処理中、状態情報は、制限容量入力インタフェース216を介し隔離デバイス202に挿入されてもよい。提供される状態情報は、隔離デバイス202に関連付けされた複数のアカウント304に格納されるデジタル資産の全価値、隔離デバイス202に対して実行される初期化処理数などを含んでもよい。
【0183】
初期化処理中に提供された状態情報を検証するため、バックアップ値、特に、最も直近のバックアップ値がまた、例えば、制限容量入力インタフェース216を介し挿入される制限長文字列として、隔離デバイスに提供されてもよい。その後、隔離デバイスは、提供された状態情報に対して符号化値を計算するため、バックアップ値を計算するのに使用されるものと同じ機能、アルゴリズム及び/又は方法を適用してもよい。計算された符号化値とバックアップ値との比較に基づいて、隔離デバイス202は、提供された状態情報を検証するか、あるいは、提供された状態情報が偽物である、信頼できない及び/又は期限切れであることを検出してもよい。隔離デバイス202は更に、隔離デバイス202のディスプレイを介し比較及び/又は検証の結果を提示してもよい。
【0184】
隔離デバイス202によって生成された後、バックアップ値が有効であり、改ざん、変更及び/又は操作されていないことを保証するため、隔離デバイス202は、隔離デバイス202に割り当てられた一意的なシード302に基づいてバックアップ値を計算してもよい。例えば、隔離デバイス202は、一意的なシード302に基づいてハッシュを計算することによって、バックアップ値を計算してもよい。従って、バックアップ値は、隔離デバイス202の一意的なシード302にアクセスできない他の典型的な主体によって、偽造、変更及び/又は操作されないようにしてもよい。
【0185】
バックアップ値の信頼性及び有効性を更に高めるため、隔離デバイス202は、現在の日時に基づいてバックアップ値を更に計算してもよい。また、初期化(回復)処理中、隔離デバイス202は更に、バックアップ値の作成日時と、従って、符号化された状態情報が関連する日時を決定してもよい。従って、隔離デバイス202及び/又は隔離デバイス202に関連するユーザ208は、初期化処理中に提供された日時に基づいて、提供されたバックアップ値が最も直近の状態情報に関連する、有効である及び/又は反映しているかを決定及び検証してもよい。
【0186】
任意選択的には、初期化処理の1つ以上の間、隔離デバイス202は、アクセスデバイス206によって報告される状態情報の少なくとも一部を、少なくとも一部の計算ノード204によって検証する。隔離デバイス202は、その内容の全体が参照によりここに援用される2018年12月6日に出願された“Secure Consensus over a Limited Connection”という名称の仮特許出願第62/775,942号に記載される検証方法を利用して、状態情報及び/又はその一部を検証してもよい。
【0187】
本発明のいくつかの実施例による複数の制限値アカウントにデジタル資産を格納し、バックアップを利用して復旧処理を検証するのに利用される制限接続隔離デバイスのバックアップを作成する例示的なシーケンスの概略図である
図12が参照される。例示的なバックアップ及び復元シーケンス1200は、1つ以上のバックアップ値を作成し、それらを初期化(復旧)処理中に使用して隔離デバイス202に提供された状態情報を検証するため、隔離デバイス202などの隔離デバイスによって実行されてもよい。
【0188】
バックアップフェーズの間、隔離デバイス202は、隔離デバイス202によって現在特定されるように、制限値アカウント、格納されるデジタル資産値、初期化処理数などを反映する状態情報のためのバックアップを作成してもよい(1202)。隔離デバイス202は更に、ハッシュ値などの状態情報のバックアップのための各バックアップ値を計算してもよい。
【0189】
その後、隔離デバイス202は、例えば、1つ以上のブロックチェーンに格納するため、ネットワーク230を介しバックアップ値を送信する(1204)など、計算されたバックアップ値を出力してもよい。
【0190】
例えば、隔離デバイス202が失敗した後、例えば、メモリ消去の実施、スクラップ及び新しい隔離デバイス202への置換など、ユーザ208に関連付けされた隔離デバイス202を復元するため、検証及び復元フェーズが実行されてもよい。初期化(復元)処理中に復元された隔離デバイス202によって実行される検証及び復元フェーズ中、復元された隔離デバイス202は、隔離デバイス202に関連付けられた、具体的には、ユーザ208に関連付けされた制限値アカウントに関する状態情報を受信してもよい(1206)。状態情報は、ブロックチェーンを検査、照会及び/又は監視する計算ノード204及び/又はアクセスデバイス206の1つ以上によって収集されてもよい。アクセスデバイス206は、収集された状態情報を符号化した1つ以上の制限長文字列を生成してもよい。制限長文字列は、制限容量入力インタフェース216を介して(ユーザ208によって)挿入されてもよい。
【0191】
復元された隔離デバイス202は、ステップ1206において提供される状態情報に対して符号化値を計算してもよい(1208)。特に、復元された隔離デバイス202は、バックアップ値を作成するのに利用される関数、アルゴリズム及び/又は方法を利用して符号化値を計算する。
【0192】
復元された隔離デバイス202は更に、1つ以上のバックアップ処理中にブロックチェーンにおいて以前に計算及び格納されたバックアップ値を受信してもよい。
【0193】
復元された隔離デバイス202は、提供された状態情報に対して計算された符号化値と過去に計算されたバックアップ値との間の比較に基づいて、バックアップ処理の1つ以上の間に提供された状態情報を検証してもよい(1212)。
【0194】
ここで上述したように、ブロックチェーンへの格納に加えて及び/又は代わりに、制限値アカウントの状態情報を表すバックアップ値の1つ以上が、例えば、ハードコピー、取り付け可能な記憶媒体などの1つ以上の代替的な位置に格納されてもよい。このような場合、復元された隔離デバイス202は、各ソースからバックアップ値を受信してもよい。例えば、ハードコピーの場合、ユーザ208は、ハードコピーに記録されたバックアップ値を復元された隔離デバイス202に挿入してもよい。他の例では、復元された隔離デバイス202は、復元された隔離デバイス202に取り付けられた取り付け可能な記憶媒体に格納されたバックアップ値を抽出してもよい。
【0195】
上述されるように、本発明のいくつかの実施例によると、隔離デバイス202は、アクセスデバイス206などの単一のデバイス(計算ノード)ではなく、計算ノード204などのコミュニティネットワークの複数の計算ノードと通信してもよい。特に、コールドウォレットとして使用される隔離デバイス202は、例えば、ブロックチェーンを統制(維持)するブロックチェーンネットワークを構成する計算ノード204のグループと一方向セキュア通信を介し通信してもよい。また、計算ノード204のグループは、ホットウォレットとして機能しうる。そのような展開は、悪意のある当事者が複数の計算ノード204を危険にさらし、制御を取得することが著しく困難になりうるため、デジタル資産取引の安全性を有意に増大させうる。
【0196】
このような展開を実現するため、隔離デバイス202には、当然ながら計算ノード204にメッセージを送信するため、グループの計算ノード204の公開鍵が提供される必要がある。補完的には、計算ノード204のグループには、隔離デバイス202から受信したメッセージの認証をサポートするため、隔離デバイス202の公開鍵が提供される。
【0197】
任意選択的には、グループの計算ノード204の少なくとも一部に割り当てられる公開鍵は、その内容の全体が参照によりここに援用される2018年12月6日に出願された“Secure Consensus over a Limited Connection”という名称の仮特許出願第62/775,942号に記載される1つ以上の信頼されるコントローラを利用して隔離デバイス202に利用可能とされる。
【0198】
ここで上述したように、デジタル資産の価値を1つ以上の他のユーザの1つ以上のアカウントに移転するため、隔離デバイス202は、移転される値を累積的に格納する1つ以上の制限値アカウント304の秘密鍵を発行し、従って、これらのアカウント304に格納されるデジタル資産を放出する。
【0199】
しかしながら、隔離デバイス202は、増大したセキュリティを維持するため複数の計算ノード204(グループ)と通信するため、グループの何れの計算ノード204も放出された制限値アカウント304の完全な秘密鍵を受け取らないことが不可欠である。このような場合、放出された制限値アカウント304の秘密鍵は、それぞれがグループの計算ノード204のそれぞれに送信される複数の鍵コンポーネントとして送信される。従って、グループの計算ノード204の何れも放出されたアカウント304の完全な秘密鍵及び/又は完全な初期化シードを個別には有さず、従って、放出されたアカウント304に対する制御を排他的には取得することはできない。
【0200】
計算ノード204のグループの少なくとも一部に送信された鍵コンポーネントの集約のみが、放出されたアカウント304の完全な秘密鍵及び/又は放出されたアカウント304の秘密鍵が導出されうる完全な初期化シードをもたらしうる。当該一部のメンバーである計算ノード204、当該一部の最小数の計算ノード204及び/又は当該一部内の各計算ノード204の重要性(重み)は、予め規定されてもよい。
【0201】
鍵コンポーネントの集約は、マルチパーティ計算(MPC)のための1つ以上のアルゴリズム、プロトコル及び/又は技術に従って計算ノード204の少なくとも一部によって実行されてもよい。例えば、隔離デバイス202は、放出された各アカウント304の秘密鍵及び/又は初期化シード1102を、グループの計算ノード204のそれぞれに送信される複数の鍵コンポーネントに分割してもよい。各鍵コンポーネントを使用して、計算ノード204の一部はMPCに関与し、放出されたアカウント304の秘密鍵の有効な署名を作成し、放出されたアカウント304に格納されたデジタル資産の資金の制御を取得するため、互いに交渉してもよい。他の例では、例えば、マルチシグ(マルチシグネチャ)などの1つ以上の閾値暗号化アルゴリズム及び/又は閾値署名アルゴリズムは、放出された各アカウント304の完全な秘密鍵を使用して共同で署名するため、それぞれの鍵コンポーネントを集約するよう計算ノード204の少なくとも一部によって適用されてもよい。
【0202】
本発明のいくつかの実施例によると、ユーザ208は、隔離デバイス202などの他の隔離デバイスに関連付けされる。使用される制限値アカウント304(使用状態にあるアカウント)の少なくとも一部に対する制御と、これらのアカウント304に格納されたデジタル資産に対する制御とは、隔離デバイス202Aの後に設計された第1の隔離デバイス202と、隔離デバイス202Bの後に設計された第2の隔離デバイス202との間で移転可能である。
【0203】
第1の隔離デバイス202Aと第2の隔離デバイス202Bとの間の通信は、仲介者として機能するユーザ208が第1の隔離デバイス202Aと第2の隔離デバイス202Bとの制限容量入力インタフェース216を操作し、それらの間で1つ以上の制限長文字列を移転することによって実行されてもよい。従って、ユーザ208によって実行されるこの通信は、信頼できるものであって、信頼されると想定される。
【0204】
第1の隔離デバイス202Aは、特に上述されたような暗号通貨のデジタル資産のコールドウォレットとして利用されてもよく、第2の隔離デバイス202Bは、ベリーコールドウォレットとして利用されてもよい。第1の隔離デバイス202Aと第2の隔離デバイス202Bとの双方が、ユーザ208の複数の制限値アカウント304に関連付けされてもよい。
【0205】
第2の隔離デバイス202B(ベリーコールドウォレット)は、金庫室などの高度に安全な場所に保持されてもよく、第2の隔離デバイス202Bと第1の隔離デバイス202Aとの間で1つ以上の制限値アカウント304に対する制御を移転するため随時更新されてもよい。具体的には、「最も古い」使用されるアカウント304、すなわち、デジタル資産が受け取られた最も以前に使用されたアカウント304に対する制御は、第1の隔離デバイス202A(コールドウォレット)から第2の隔離デバイス202B(ベリーコールドウォレット)に移転されてもよい。これらの「最も古い」アカウント304は、隔離デバイス202Aが通信するアクセスデバイス206及び/又は1つ以上の計算ノード204において可能な悪意のある介在に先行してもよいため、高い確率で信頼できうる。従って、隔離デバイス202の1つ、具体的には、第1の隔離デバイス202Aが、例えば、悪意のある当事者によってハッキング及び/又は盗難された場合であっても、第2の隔離デバイス202Bの制御下にあるアカウントは、悪意のある当事者にアクセス可能でなくかもしれない。補完的には、1つ以上のアカウントに対する制御が第2の隔離デバイス202Bから第1の隔離デバイス202Aに移転されるとき、これら移転されるアカウントは、第2の隔離デバイス202Bによって制御される「最新の」アカウント、すなわち、デジタル資産が受信された最も直近に使用されたアカウント304である。
【0206】
例えば、第1の隔離デバイス202A(コールドウォレット)における暗号通貨の特定の値を複数の使用されるアカウント304に累積した後、ユーザ208は、使用されたアカウント304の少なくともいくつかに対する制御を第1の隔離デバイス202Aから第2の隔離デバイス202Bに移転してもよい。第2の隔離デバイス202Bは、非常に制限されたアクセスによりかなり安全な場所に保持されるため、第2の隔離デバイス202Bによって制御されるアカウント304は、非常にアクセスしにくく、従って、よりセキュアとなりうる。他の例では、暗号通貨の特定の値が複数の使用されるアカウント304における第2の隔離デバイス202Bに蓄積されると仮定すると、他のユーザの1つ以上の他のアカウントへの暗号通貨の移転を行う必要がありうるユーザ208は、第2の隔離デバイス202Bから第1の隔離デバイス202Aに使用されるアカウント304の少なくとも一部に対する制御を移してもよい。
【0207】
第1の隔離デバイス202A及び第2の隔離デバイス202Bのそれぞれは、2つの隔離デバイス202の何れも完全な一意的なシード302を有さないように、ユーザ208に割り当てられた一意的なシード302の部分的なシードを格納する。完全な一意的なシード302は、バックアップ、例えば、ユーザ208などによって保持されるハードコピーに格納されてもよい。
【0208】
特定の使用されるアカウント304に対する制御は、複数の制限値アカウント304のそれぞれに関連付けされた部分的なデータ値を互いに発行することによって、第1の隔離デバイス202Aと第2の隔離デバイス202Bとの間で移転される。あるアカウント304に関連する部分的なデータ値は、受信した隔離デバイス202によって、当該アカウントの非対称暗号鍵ペアを導出し、当該アカウント304の秘密鍵を再現し、ある使用されるアカウント304に格納されたデジタル資産の制限値にアクセスするのに利用されてもよい。
【0209】
第1の隔離デバイス202Aと第2の隔離デバイス202Bとの間で交換される部分的なデータ値は、第1の隔離デバイス202Aと第2の隔離デバイス202Bとのそれぞれに割り当てられた部分的なシードから導出されてもよい。また、第1の隔離デバイス202Aは、第1の隔離デバイス202Aに排他的に利用可能な第1の部分に基づいて第1の部分的なデータ値を計算してもよく、第2の隔離デバイス202Bは、第2の隔離デバイス202Bに排他的に利用可能な第2の部分に基づいて第2の部分的なデータ値を計算してもよい。
【0210】
さらに、第1の隔離デバイス202Aと第2の隔離デバイス202Bとの間で交換される第1及び第2の部分的なデータ値は、先行又は後続の部分的なデータ値がそれぞれ後続又は先行のデータ値から導出されうるように、互いに再帰的に導出されてもよい。例えば、第1の隔離デバイス202Aは、特定の第1の部分的なデータ値が与えられると、特定の第1の部分的なデータ値に続く全ての第1の部分的な値が、特定の第1の部分的なデータ値から決定的に推論可能であるように、先行する第1の部分的なデータ値に基づいてそれぞれの第1の部分データ値を計算してもよい。他の例では、第2の隔離デバイス202Bは、特定の第2の部分的なデータ値が与えられると、特定の第2の部分的なデータ値に先行する全ての第2の部分的な値が特定の第2の部分的なデータ値から決定的に推論可能であるように、後続の第2の部分的なデータ値に基づいてそれぞれの第2の部分的なデータ値を計算してもよい。
【0211】
これは、数値例を介し提示されてもよい。N+1個の制限値アカウントがあると仮定する。第1の隔離デバイス202A及び第2の隔離デバイス202Bは、例えば、H及びH´ハッシュ関数などの1つ以上の値導出関数を利用してもよい。
【0212】
第1の隔離デバイス202Aは、以下の式5に従ってN+1個のアカウント304の各アカウント304iに対して複数の第1の部分的な値Ci(i∈0,・・・,N)を計算してもよい。ここで、SeedAは第1の隔離デバイス202Aの部分的なシードである。式5から明らかなように、第1の部分的な各値(i+1)は、先行する第1の部分的な値(i)から導出される。
式5:
C[0,N]→[0,1]256
C0=H´(SeedA)
Ci+1=H(Ci)
【0213】
第2の隔離デバイス202Bは、以下の式6に従って各アカウント304iに対して複数の第2の部分的な値Vi(i∈0,・・・,N)を計算してもよい。ここで、SeedBは第2の隔離デバイス202Bの部分的なシードである。式6から明らかなように、第1の部分的な各値(i)は、後続する第2の部分的な値(i+1)から導出される。
式6:
V[0,N]→[0,1]256
VN=H´(SeedB)
Vi=H(Vi+1)
【0214】
アカウント304iの秘密鍵、特にアカウント304iの非対称暗号鍵ペア(秘密鍵を含む)の導出元のシードSiは、例えば、以下の式7に従ってXOR関数などの1つ以上の関数を利用して計算されてもよい。
式7:
Si=Vi XOR CN-i
【0215】
初期状態では、第1の隔離デバイス202Aが第1の部分的な値C0を格納し、第2の隔離デバイス202Bが第2の部分的な値V0を格納する。第2の隔離デバイス202Bは、第2の部分的な値V0を第1の隔離デバイス202Aに移転してもよい(ユーザ208は、仲介者として移転を行う)。
【0216】
第1の隔離デバイス202Aは、使用されるアカウント304に対する制御を第2の隔離デバイス202Bに(ユーザ208を介し)移転することによって、1つ以上の使用されるアカウント304に格納された特定のデジタル資産の値を第2の隔離デバイス202Bに移転してもよい。このため、第1の隔離デバイス202Aは、第2の隔離デバイス202Bに使用されるアカウント304のうちで最も小さいインデックスを有する使用されるアカウント304の第1の部分的な値Ciを移転してもよい。
【0217】
第2の隔離デバイス202Bは、使用されるアカウント304に対する制御を第1の隔離デバイス202Aに(ユーザ208を介し)移転することによって、1つ以上の使用されるアカウント304に格納された特定のデジタル資産の値を第1の隔離デバイス202Aに移転してもよい。このため、第2の隔離デバイス202Bは、第1の隔離デバイス202Aに使用されるアカウント304のうちで最も大きいインデックスを有する使用されるアカウント304の第2の部分的な値Viを移転してもよい。
【0218】
例えば、初期状態において、第1の隔離デバイス202Aが第2の隔離デバイス202Bに5つのアカウント304に対する制御を移転すると仮定する。第1の隔離デバイス202Aは、第1の部分的な値を第2の隔離デバイス202Bに移転してもよい。従って、第2の隔離デバイス202Bは、第1の部分的な値CN-0,CN-1,CN-2,CN-3,CN-4を(再帰的に)推論してもよく、従って、アカウントシードS0,S1,S2,S3,S4を計算してもよく、従って、アカウント0~4に格納されたデジタル資産に対する制御を取得してもよい。実際には、第1の隔離デバイス202Aは、デジタル資産が第2の隔離デバイス202Bの制御下にある使用されるアカウントから移転されるときにのみ、第1の部分的な値を第2の隔離デバイス202Bに移転してもよい。それまでは、第2の隔離デバイス202Bに当該情報を移転する必要は実際にはない。
【0219】
さらに、第1の隔離デバイス202Aは、V0及びそれの5つの後続のハッシュ値からV5を推定した後、第2の部分的な値V0を破棄する(メモリから消去する)。従って、第1の隔離デバイス202Aは、第2の部分的な値V5~VNを(再帰的に)推論してもよく、従って、アカウントシードS5~SNを計算してもよく、最初の5つのアカウントを除く全てのアカウントに格納されたデジタル資産に対する制御を取得する。
【0220】
第1の隔離デバイス202Aが3つの更なるアカウント304に対する制御を第2の隔離デバイス202Bに移転すると仮定すると、第1の隔離デバイス202Aは、第1の部分的な値V5を第2の隔離デバイス202Bに移転し、V5及びそれの3つの後続のハッシュ値からV8を推論した後、第2の部分的な値V5を破棄(メモリから消去)してもよい。第2の隔離デバイス202Bは、第1の部分的な値CN-0,CN-1,CN-2,CN-3,CN-4,CN-5,CN-6,CN-7を(再帰的に)推論し、アカウントシードS0,S1,S2,S3,S4,S5,S6,S7を計算してもよく、従って、アカウント0~7に格納されるデジタル資産に対する制御を取得する。
【0221】
さらに、第1の隔離デバイス202Aは、V5及びそれの3つの後続のハッシュ値からV8を推定した後、第2の部分的な値V5を破棄する(メモリから消去する)。従って、第1の隔離デバイス202Aは、第2の部分的な値V8~VNを推論してもよく、従って、アカウントシードS8~SNを計算してもよく、最初の8つのアカウントを除く全てのアカウントに格納されたデジタル資産に対する制御を取得する。
【0222】
ここで第2の隔離デバイス202Bが4つのアカウント304に対する制御を第1の隔離デバイス202Aに移転すると仮定する。第2の隔離デバイス202Bは、第2の部分的な値V4を第1の隔離デバイス202Aに移転してもよい。従って、第1の隔離デバイス202Aは、第2の部分的な値V4~VNを推論してもよく、従って、アカウントシードS4~SNを計算してもよく、最初の4つのアカウントを除く全てのアカウントに格納されるデジタル資産に対する制御を取得する。
【0223】
さらに、第2の隔離デバイス202Bは、CN-7及びそれの4つの先行するハッシュ値からCN-3を(再帰的に)推論した後、第1の部分的な値CN-7を破棄する(メモリから消去する)。第1の部分的な値C3を有する第2の隔離デバイス202Bは、アカウントシードS0~S3を依然として計算し、アカウント0~3に格納されるデジタル資産に対する制御を維持してもよい。
【0224】
上述したように、第1の隔離デバイス202Aと第2の隔離デバイス202Bとの間でユーザ208によって行われる移転セッションは、信頼でき、信頼される。しかしながら、悪意ある当事者は、第1及び第2の部分的な値の1つ以上のペアを取得するため、隔離デバイスの間で移転されるメッセージを傍受し、及び/又はセッションを監視してもよい。これらの傍受された第1及び第2の部分を使用して、悪意のある当事者は、1つ以上の制限値アカウント304に対する制御を取得し、これらのアカウント304に格納されたデジタル資産に対するアクセス及び制御を取得してもよい。
【0225】
可能な解決策は、第1の隔離デバイス202Aと第2の隔離デバイス202Bとの間で転送されるメッセージを暗号化し、悪意のある当事者による盗難及びメッセージの傍受を防ぐことである。しかしながら、悪意のある当事者は、隔離デバイス202A及び/又は202Bの一方を危険にさらし(盗難、ハッキングなど)、過去の暗号化されたメッセージを抽出するため、危険にさらされた隔離デバイス202のメモリを探索してもよい。その後、悪意のある当事者は、メッセージを解読し、第1及び第2の部分的な値の1つ以上のペアを取得してもよい。
【0226】
このようなセキュリティの脆弱性を克服し、移転セッションの信頼性を確保するため、第1の隔離デバイス202A及び第2の隔離デバイス202Bは、悪意のある当事者によって転送されたメッセージが傍受されたとしても、メッセージセキュリティを保証しうる1つ以上の高度なセキュアプロトコルを利用してもよい。例えば、第1の隔離デバイス202A及び第2の隔離デバイス202Bは、公衆チャネルを介して暗号鍵を安全に交換するため、Diffie-Hellman鍵交換(DH)プロトコルを利用してもよい。
【0227】
Diffie-Hellman鍵交換(DH)プロトコルを利用して、第1の隔離デバイス202A及び第2の隔離デバイス202Bは、シード値など共通の秘密を共有してもよい。その後、第1の隔離デバイス202Aと第2の隔離デバイス202Bとはそれぞれ、共有される秘密から導出される暗号鍵を作成し、それらのメモリから共通の秘密を消去してもよい。これは、例えば、第1の隔離デバイス202A及び第2の隔離デバイス202Bの最初の初期化処理中などに1回実行されてもよい。
【0228】
第1の隔離デバイス202Aと第2の隔離デバイス202Bとは、それらの暗号鍵を利用して、互いに転送するメッセージを暗号化してもよい。
【0229】
1つ以上の所定の同期イベント中、第1の隔離デバイス202A及び第2の隔離デバイス202Bのそれぞれは、以前の同期イベント中に作成された以前の暗号鍵から導出された新しい暗号鍵を作成してもよい。新しい暗号鍵は、ハッシュ関数などの1つ以上の一方向関数を利用して、以前の暗号鍵が新しい暗号鍵から推論されないように、以前の暗号鍵から決定的に作成される。第1の隔離デバイス202A及び第2の隔離デバイス202Bは、その後、それらのメモリから以前の暗号鍵を消去する。この処理は、当然ながら最初の初期化処理に続く第1の同期イベントの間、新しい暗号鍵が共有される秘密から導出された暗号鍵から導出されるように、共有される秘密から導出された最初の暗号鍵から始まる。
【0230】
メッセージは絶えず置換された暗号鍵により暗号化されるため、第1の隔離デバイス202Aと第2の隔離デバイス202Bの一方又は双方が危険にさらされたとしても、各自の暗号鍵が新しいものにすでに置換されている可能性があるため、メモリから抽出された過去のメッセージは解読されなくてもよい。
【0231】
同期イベントは、所定の回数だけ実行されてもよい。例えば、同期イベントは、例えば、月に1回など、所定の期間毎にスケジューリングされてもよい。他の例では、同期イベントは、各々のメッセージが新しい暗号鍵で暗号化されるように、転送されるメッセージ毎に規定されてもよい。他の例では、同期イベントは、10個のメッセージなど、所定数の転送されるメッセージ毎に行われるよう規定されてもよい。もちろん、同期イベントは、上記の例示的な時間及び/又は処理の何れかの組み合せとして規定されてもよい。
【0232】
本出願から生じる特許の期間中、多数の関連するシステム、方法及びコンピュータプログラムが開発され、セキュアチャネル及びブロックチェーンという用語の範囲はこのような全ての新しい技術を事前に含むことが意図されることが期待される。
【0233】
“含む”、“有する”などの用語とそれらの派生語は、“限定することなく含む”を意味する。
【0234】
“からなる”という用語は、“限定して含む”を意味する。
【0235】
ここに用いられるように、“ある”及び“その”の単数形は、コンテクストがそうでないと明確に示さない場合、複数の参照を含む。例えば、“化合物”又は“少なくとも1つの化合物”という用語は、それらの混合を含む複数の化合物を含んでもよい。
【0236】
本出願を通じて、本発明の各種実施例が範囲の形式で提示されうる。範囲形式の記載は単なる便宜上及び簡単化のためのものであり、本発明の範囲に対する非フレキシブルな限定として解釈されるべきでないことが理解されるべきである。従って、範囲の記載は範囲内の各数値と共に可能な全ての部分範囲を具体的に開示したとみなされるべきである。例えば、1~6などの範囲の記載は、1~3、1~4、1~5、2~4、2~6、3~6などの部分範囲と共に、1,2,3,4,5,6などの当該範囲内の各数値を具体的に開示したとみなされるべきである。これは、範囲の幅にかかわらず適用される。
【0237】
数値範囲がここに示されるときは常に、それは、示された範囲内の何れかの引用される数字(小数又は整数)を含むことを意味する。第1の示された数と第2の示された数“との間の範囲決め/範囲”と、第1の示された数と第2の示された数“との間の範囲/範囲決め”とは、ここに互換的に利用され、第1の示された数と第2の示された数及びそれの間の全ての小数及び整数を含むことが意図される。
【0238】
明確化のため別個の実施例のコンテクストにおいて説明される本発明の特定の特徴はまた、単一の実施例において組み合わされて提供されてもよいことが理解される。逆に、簡単化のため単一の実施例のコンテクストにおいて説明される本発明の様々な特徴は、別々に、何れか適切なサブコンビネーションにおいて、又は本発明の他の何れか説明された実施例で適切なものとして提供されてもよい。様々な実施例のコンテクストにおいて説明される特定の特徴は、本実施例がこれらの要素なしでは動作不能でない限り、これらの実施例の本質的な特徴とみなされるべきではない。
【0239】
ここに記載された実施例は、それらの具体的な実施例に関連して記載されたが、多数の代替、修正及び変形が当業者には明らかであろうことは明らかである。従って、それは、添付した請求項の趣旨及び広い範囲内にあるそのような代替、修正及び変形の全てを包含することが意図される。
【0240】
本明細書において言及される全ての刊行物、特許及び特許出願は、あたかも各個々の刊行物、特許又は特許出願が参照によりここに援用されるように具体的かつ個別に示されたかのように、その全体が参照によりここに組み込まれる。さらに、本出願における何れかの参考文献の引用又は識別は、そのような参考文献がここに記載される実施例の先行技術として利用可能であることを容認するものとして解釈されるべきではない。セクションの見出しが使用される限り、それらは必ずしも限定するものと解釈されるべきではない。さらに、本出願の何れかの優先権書類は、その全体が参照によりここに援用される。
【国際調査報告】