JPWO2021249717A5 - - Google Patents

Download PDF

Info

Publication number
JPWO2021249717A5
JPWO2021249717A5 JP2022575356A JP2022575356A JPWO2021249717A5 JP WO2021249717 A5 JPWO2021249717 A5 JP WO2021249717A5 JP 2022575356 A JP2022575356 A JP 2022575356A JP 2022575356 A JP2022575356 A JP 2022575356A JP WO2021249717 A5 JPWO2021249717 A5 JP WO2021249717A5
Authority
JP
Japan
Prior art keywords
node
child node
file
check
parent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022575356A
Other languages
Japanese (ja)
Other versions
JP2023528649A (en
Publication date
Priority claimed from GB2008951.2A external-priority patent/GB2595927A/en
Application filed filed Critical
Publication of JP2023528649A publication Critical patent/JP2023528649A/en
Publication of JPWO2021249717A5 publication Critical patent/JPWO2021249717A5/ja
Pending legal-status Critical Current

Links

Claims (28)

ブロックチェーン上にオーバーレイされたツリー構造を使用する方法であって、前記ツリー構造は、複数のノードとノード間のエッジとを含み、各ノードは、前記ブロックチェーン上に記録された異なるトランザクションであり、各エッジは、それぞれの子ノードからそれぞれの親ノードに接続し、前記エッジは、トランザクションIDを含む各トランザクションによって形成され、各子ノードは、前記子ノードのそれぞれのペイロードにおいて前記それぞれの親ノードの前記トランザクションIDを指定し、前記親ノードのうちの1つは、前記ツリー構造のルートノードであり、前記方法は、
前記ブロックチェーンを検査して、前記ツリー構造の少なくとも一部を識別するステップであって、ターゲット子ノードの前記それぞれのペイロードにおいてファイルの記録を含む前記子ノードのうちの前記ターゲット子ノードを少なくとも識別することと、前記ツリー構造を通って前記ターゲット子ノードから前記ルートノードに戻る1つまたは複数のエッジを含むパスを識別することとを含む、ステップと、
チェックを実行するステップであって、
A)前記ターゲット子ノードから前記ルートノードに戻る前記識別されたパスに沿ったエッジごとに、前記それぞれの子ノードが前記それぞれの親ノードに関連付けられた鍵によって署名されていることをチェックすることと、
B)前記ファイルの現在のインスタンスが前記ターゲット子ノードに含まれる前記記録と一致することをチェックすることと
を含む、ステップと、
少なくともチェックA)およびB)が肯定的であるという条件で、前記ファイルの前記現在のインスタンスを検証するステップと
を含む方法。
1. A method of using a tree structure overlaid on a blockchain, the tree structure including a plurality of nodes and edges between the nodes, each node being a different transaction recorded on the blockchain, each edge connecting a respective child node to a respective parent node, the edges being formed by each transaction including a transaction ID, each child node specifying the transaction ID of the respective parent node in a respective payload of the child node, one of the parent nodes being a root node of the tree structure, the method comprising:
inspecting the blockchain to identify at least a portion of the tree structure, the portion including at least identifying a target child node among the child nodes that includes a file record in the respective payload of a target child node, and identifying a path including one or more edges through the tree structure from the target child node back to the root node;
performing a check,
A) for each edge along the identified path from the target child node back to the root node, checking that the respective child node is signed by a key associated with the respective parent node;
B) checking that the current instance of the file matches the record contained in the target child node;
and providing that at least checks A) and B) are positive, validating said current instance of said file.
前記検証するステップを条件として、ユーザが前記ファイルの前記現在のインスタンスに対して要求されたアクションを実行することを可能にするステップを含む、請求項1に記載の方法。 The method of claim 1, further comprising the step of allowing a user to perform a requested action on the current instance of the file, subject to the step of verifying. 前記方法は、前記ユーザのコンピュータ機器上のオペレーティングシステムまたはファイルシステムによって実行され、前記オペレーティングシステムまたはファイルシステムは、前記ユーザが前記コンピュータ機器を使用して前記要求されたアクションを実行することを可能にする前に前記チェックを実施するように構成される、請求項2に記載の方法。 The method of claim 2, wherein the method is performed by an operating system or file system on the user's computing device, the operating system or file system being configured to perform the check before allowing the user to use the computing device to perform the requested action. 前記要求されたアクションは、前記ファイルを読み出すこと、前記ファイルを修正すること、前記ファイルを実行すること、または前記ファイルを削除することのうちの1つを含む、請求項2または3に記載の方法。 The method of claim 2 or 3, wherein the requested action includes one of reading the file, modifying the file, executing the file, or deleting the file. 前記ターゲット子ノードの前記ペイロードは、1つまたは複数の許可されたアクションの指示をさらに含み、前記オペレーティングシステムまたはファイルシステムは、前記要求されたアクションが前記ターゲット子ノードにおいて示された前記許可されたアクションのうちの1つであるというさらなる条件でのみ、前記要求されたアクションを可能にすることを実行するように構成される、請求項2から4のいずれか一項に記載の方法。 The method of any one of claims 2 to 4, wherein the payload of the target child node further includes an indication of one or more permitted actions, and the operating system or file system is configured to perform the requested action only with the further condition that the requested action is one of the permitted actions indicated in the target child node. 前記1つまたは複数の許可されたアクションは、前記ファイルを読み出すこと、前記ファイルを修正すること、前記ファイルを実行すること、または前記ファイルを削除することのうちの1つまたは複数を含む、請求項5に記載の方法。 The method of claim 5, wherein the one or more permitted actions include one or more of reading the file, modifying the file, executing the file, or deleting the file. 前記ターゲット子ノードの前記ペイロードは、1つまたは複数の許可されたユーザの指示をさらに含み、前記オペレーティングシステムまたはファイルシステムは、前記アクションを要求する前記ユーザが前記ターゲット子ノードの前記ペイロードにおいて示された許可されたユーザであるというさらなる条件でのみ、前記要求されたアクションを可能にすることを実行するように構成される、請求項2から6のいずれか一項に記載の方法。 The method of any one of claims 2 to 6, wherein the payload of the target child node further includes an indication of one or more authorized users, and the operating system or file system is configured to perform the requested action only with the further condition that the user requesting the action is an authorized user indicated in the payload of the target child node. 前記方法は、前記ファイルの前記現在のインスタンスの完全性を検証するために、アンチウィルスソフトウェアまたは別のアプリケーションによって実行される、請求項1または2に記載の方法。 The method of claim 1 or 2, wherein the method is performed by antivirus software or another application to verify the integrity of the current instance of the file. それぞれの親ノードに関連付けられた前記鍵は、前記親ノードのペイロードに含まれることによって前記親ノードに関連付けられる、請求項1から8のいずれか一項に記載の方法。 The method of claim 1 , wherein the key associated with each parent node is associated with the parent node by being included in the payload of the parent node. 各トランザクションは、ロックスクリプトを含む少なくとも1つの出力と、それぞれの他のトランザクションの出力を指し示し、かつ前記それぞれの他のトランザクションの前記出力をロック解除するためのロック解除スクリプトを含む少なくとも1つの入力とを含む、請求項1から9のいずれか一項に記載の方法。 The method of any one of claims 1 to 9, wherein each transaction includes at least one output that includes a lock script and at least one input that points to an output of a respective other transaction and includes an unlock script for unlocking the output of the respective other transaction. 各子ノードの前記入力は、前記それぞれの親ノードの前記鍵によって署名され、A)は、前記パスに沿った各子ノードの前記入力が、前記それぞれの親ノードの前記鍵によって署名されていることをチェックすることを含む、請求項10に記載の方法。 11. The method of claim 10, wherein the input of each child node is signed by the key of the respective parent node , and A) comprises checking that the input of each child node along the path is signed by the key of the respective parent node . 各子ノードの前記ペイロードは、前記それぞれの子ノードの前記出力のうちの1つまたは複数に含まれる、請求項10または11に記載の方法。 The method of claim 10 or 11, wherein the payload of each child node is included in one or more of the outputs of the respective child node. 前記記録は、少なくとも前記ファイルの明示的なコピーを含み、B)は、前記ファイルの前記現在のインスタンスが、前記ターゲット子ノードの前記ペイロードに記録された前記コピーと同じであることをチェックすることを含む、請求項1から12のいずれか一項に記載の方法。 The method of any one of claims 1 to 12, wherein the recording includes at least an explicit copy of the file, and B) includes checking that the current instance of the file is the same as the copy recorded in the payload of the target child node. 前記記録は、少なくともプレイメージのハッシュを含み、前記プレイメージは前記ファイルを含み、B)は、前記ファイルの現在のインスタンスを含む前記プレイメージの前記現在のインスタンスの前記ハッシュが、前記ターゲット子ノードの前記ペイロードに記録された前記ハッシュと同じであることを少なくともチェックすることを含む、請求項1から13のいずれか一項に記載の方法。 The method of any one of claims 1 to 13, wherein the recording includes at least a hash of a pre-image, the pre-image including the file, and B) includes at least checking that the hash of the current instance of the pre-image including the current instance of the file is the same as the hash recorded in the payload of the target child node. 前記記録は、ハッシュツリーのリーフとして複数のファイルから生成された、前記ハッシュツリーのハッシュルートを含み、前記ファイルは、前記複数のファイルのうちの1つであり、B)は、前記複数のファイルの現在のインスタンスから計算された前記ハッシュルートが、前記ターゲット子ノードに記録された前記ハッシュルートと同じであることをチェックすることを含む、請求項1から14のいずれか一項に記載の方法。 15. The method of claim 1, wherein the record includes a hash root of the hash tree generated from a plurality of files as a leaf of the hash tree, the file being one of the plurality of files, and B) includes checking that the hash root calculated from a current instance of the plurality of files is the same as the hash root recorded in the target child node. 前記親ノードのうちの少なくとも1つは、前記親ノードのうちの別の親ノードの子ノードである中間親ノードである、請求項1から15のいずれか一項に記載の方法。 The method of any one of claims 1 to 15, wherein at least one of the parent nodes is an intermediate parent node that is a child node of another of the parent nodes. 前記少なくとも1つの中間親ノードは、前記パスが2つ以上のエッジを含むように、前記ターゲット子ノードと前記ルートノードとの間の前記パスに沿った少なくとも1つのノードを含む、請求項16に記載の方法。 The method of claim 16, wherein the at least one intermediate parent node includes at least one node along the path between the target child node and the root node such that the path includes two or more edges. 前記少なくとも1つの中間親ノードは、前記ファイルを含むフォルダを表すフォルダノードを含む、請求項17に記載の方法。 The method of claim 17, wherein the at least one intermediate parent node includes a folder node that represents a folder that contains the file. 前記少なくとも1つの中間親ノードは、ユーザノードを含み、前記ルートノードに関連付けられた前記鍵は、システム管理者の鍵であり、前記ユーザノードに関連付けられた前記鍵は、ユーザの鍵である、請求項17に記載の方法。 The method of claim 17, wherein the at least one intermediate parent node includes a user node, the key associated with the root node is a system administrator key, and the key associated with the user node is a user key. 前記チェックは、C)前記ルートノードが信頼できるエンティティによって署名されていることをチェックするという追加のチェックを含み、前記検証することは、前記チェックC)が肯定的であることをさらに条件とする、請求項1から19のいずれか一項に記載の方法。 The method of any one of claims 1 to 19, wherein the check includes an additional check C) of checking that the root node is signed by a trusted entity, and the verifying is further conditioned on the check C) being positive. 前記信頼できるエンティティはシステム管理者である、請求項20に記載の方法。 The method of claim 20, wherein the trusted entity is a system administrator. 前記ルートノードの入力は、前記信頼できるエンティティによって署名され、前記チェックC)は、前記ルートノードの入力が前記信頼できるエンティティによって署名されていることをチェックすることを含む、少なくとも請求項10に従属する請求項20または21に記載の方法。 A method according to claim 20 or 21, depending at least on claim 10, in which the root node input is signed by the trusted entity, and the check C) includes checking that the root node input is signed by the trusted entity. 前記チェックは、D)前記ターゲット子ノードがグラフ構造の他のどの子ノードの親ノードでもないことをチェックするというさらなるチェックを含み、前記検証することは、前記チェックD)が、前記ターゲット子ノードが前記他の子ノードのどの子ノードの親でもないと決定することをさらに条件とする、請求項1から22のいずれか一項に記載の方法。 23. The method of claim 1, wherein the check includes a further check of D) checking that the target child node is not a parent node of any other child node of a graph structure, and wherein the verifying is further conditioned on the check D) determining that the target child node is not a parent node of any child node of the other child node. 新しいエッジを介して前記ターゲット子ノードに新しい子ノードを付加することによって、前記ブロックチェーン上の前記グラフ構造に記録された前記ファイルを後に更新するステップを含み、前記新しい子ノードは、前記新しい子ノードのペイロードにおいて前記更新されたファイルの記録を含む、請求項23に記載の方法。 24. The method of claim 23, further comprising: subsequently updating the file recorded in the graph structure on the blockchain by appending a new child node to the target child node via a new edge, the new child node including a record of the updated file in the payload of the new child node. 前記ターゲット子ノードは、前記記録の終了時間をさらに指定し、前記チェックは、E)現在の時間が前記ターゲット子ノードにおいて指定された前記終了時間よりも遅くないという点で前記記録が失効していないことをチェックするという別のチェックを含み、前記検証は、前記チェックE)が、前記現在の時間が失効していないと決定することをさらに条件とする、請求項1から24のいずれか一項に記載の方法。 25. The method of claim 1, wherein the target child node further specifies an end time of the record, and the check includes another check: E) checking that the record has not expired in that the current time is not later than the end time specified in the target child node, and the verification is further conditioned on check E) determining that the current time has not expired. 前記ツリー構造はメタネットグラフである、請求項1から25のいずれか一項に記載の方法。 The method of any one of claims 1 to 25, wherein the tree structure is a meta-net graph. コンピュータシステムであって、
1つまたは複数の処理ユニットを含む処理装置と、
1つまたは複数のメモリユニットを含むメモリと
を備え、
前記メモリは、前記処理装置上で実行されるように構成されたコードを記憶し、前記コードは、前記処理装置上で実行されると、請求項1から26のいずれか一項に記載の動作を実行するように構成されている、システム。
1. A computer system comprising:
a processing device including one or more processing units;
a memory including one or more memory units,
27. A system, wherein the memory stores code configured to be executed on the processing unit, the code being configured, when executed on the processing unit, to perform the operations of any one of claims 1 to 26.
コンピュータ可読ストレージ上に具現化されたコンピュータプログラムであって、前記コンピュータプログラムは、1つまたは複数の処理ユニット上で実行されると、請求項1から26のいずれか一項に記載の動作を実行するように構成されたコードを含む、コンピュータプログラム。 A computer program embodied on a computer-readable storage device, the computer program comprising code configured to perform the operations of any one of claims 1 to 26 when executed on one or more processing units.
JP2022575356A 2020-06-12 2021-05-12 File verification system and method Pending JP2023528649A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB2008951.2 2020-06-12
GB2008951.2A GB2595927A (en) 2020-06-12 2020-06-12 File verification system and method
PCT/EP2021/062620 WO2021249717A1 (en) 2020-06-12 2021-05-12 File verification system and method

Publications (2)

Publication Number Publication Date
JP2023528649A JP2023528649A (en) 2023-07-05
JPWO2021249717A5 true JPWO2021249717A5 (en) 2024-04-25

Family

ID=71835499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022575356A Pending JP2023528649A (en) 2020-06-12 2021-05-12 File verification system and method

Country Status (6)

Country Link
US (1) US20230224174A1 (en)
EP (1) EP4133395A1 (en)
JP (1) JP2023528649A (en)
CN (1) CN115699003A (en)
GB (1) GB2595927A (en)
WO (1) WO2021249717A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112749144B (en) * 2021-01-15 2023-06-30 云南云电同方科技有限公司 System and method for storing persistent file based on blockchain
US20230038652A1 (en) * 2021-08-03 2023-02-09 Johnson Controls Tyco Ip Holdings, Llp Systems and methods for verifying video authenticity using blockchain

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895666B1 (en) * 2006-09-01 2011-02-22 Hewlett-Packard Development Company, L.P. Data structure representation using hash-based directed acyclic graphs and related method
US11025407B2 (en) * 2015-12-04 2021-06-01 Verisign, Inc. Hash-based digital signatures for hierarchical internet public key infrastructure
US11582042B2 (en) * 2018-03-16 2023-02-14 General Electric Company Industrial data verification using secure, distributed ledger
WO2019195639A1 (en) * 2018-04-05 2019-10-10 Neji, Inc. Programmatic creation of blockchains
JP2022508138A (en) * 2018-11-27 2022-01-19 エヌチェーン ホールディングス リミテッド Systems and methods implemented by computers that store data on the blockchain
US11251963B2 (en) * 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus

Similar Documents

Publication Publication Date Title
JP7361165B2 (en) Systems and methods for managing public software component ecosystems using distributed ledgers
CN110495132B (en) System and method for generating, uploading and executing code blocks within distributed network nodes
JP7092868B2 (en) Digital Asset Traceability and Guarantee with Distributed Ledger
US10460289B2 (en) Auditing certified blockchain checkpoints
US11151236B2 (en) File verification database system
US20190207748A1 (en) Blockchain storage device
US11025430B2 (en) File provenance database system
WO2020161662A1 (en) Authentication, authorization and audit of digital assets using the blockchain
US11671262B2 (en) Asynchronously determining relational data integrity using cryptographic data structures
WO2015101561A1 (en) Method and system for providing transparent trusted computing
US11139960B2 (en) File redaction database system
US20200110905A1 (en) Security hardened software footprint in a computing environment
CN112037058B (en) Data verification method, device and storage medium
Zhang et al. LedgerGuard: Improving blockchain ledger dependability
WO2021079224A1 (en) Data structure for efficiently verifying data
WO2023051308A1 (en) Data verification method and apparatus, device and storage medium
CN116508291A (en) Merck proving entity
TW202231012A (en) Blocking sensitive data
US20230224174A1 (en) File verification system and method
Manevich et al. Redacting transactions from execute-order-validate blockchains
JPWO2021249717A5 (en)
US20230060916A1 (en) Efficient execution of blockchain smart contracts using cloud resource primitives
US20230138797A1 (en) System for generating an authentication credential using non-fungible tokens
US11973878B2 (en) Non-fungible token custody chain for multi-component hardware devices
Xu et al. Dynamic proofs of retrievability with square-root oblivious RAM