WO2019135734A1 - Regulating modification - Google Patents

Regulating modification Download PDF

Info

Publication number
WO2019135734A1
WO2019135734A1 PCT/US2018/012076 US2018012076W WO2019135734A1 WO 2019135734 A1 WO2019135734 A1 WO 2019135734A1 US 2018012076 W US2018012076 W US 2018012076W WO 2019135734 A1 WO2019135734 A1 WO 2019135734A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
policy
digital ledger
distributed digital
instructions
Prior art date
Application number
PCT/US2018/012076
Other languages
French (fr)
Inventor
Helen Balinsky
Chris Dalton
Joshua Serratelli SCHIFFMAN
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to EP18898976.8A priority Critical patent/EP3685299A4/en
Priority to PCT/US2018/012076 priority patent/WO2019135734A1/en
Priority to US16/760,532 priority patent/US11356249B2/en
Priority to CN201880085346.2A priority patent/CN111587434A/en
Publication of WO2019135734A1 publication Critical patent/WO2019135734A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • a distributed digital ledger can be used to record information in blocks that are cryptographically linked to one another such that the data in any given block cannot be retroactively changed without the modification of all subsequent blocks, thereby providing an inherent resistance to modification.
  • Multiple nodes in a network can have a copy of the digital ledger and modification at any one node can be validated at each other node of the network.
  • Figure 2 is a schematic representation of message flow in a system as shown in figure 1 , according to an example
  • Figure 3 is a flowchart of a method according to an example
  • Figure 4 is a flowchart of a method according to an example.
  • Figure 5 shows an example of a processor of a node, associated with a memory, according to an example.
  • An example of a distributed digital ledger is a blockchain, in which a list of records of transactions, forming blocks, continuously grows. Each block includes a pointer to a previous block in the form of a hash. Modification of a block, such as to record a new transaction for example, can be effected by a node providing it has access to a cryptographic key that is used for this purpose. Accordingly, providing a node knows the key, it can modify the blockchain.
  • a mechanism to remotely establish trust (or not) in nodes and thus use those established properties as a way of gating access to operations on a distributed digital ledger is provided.
  • a distributed digital ledger can be maintained and updated by secure, dedicated and isolated hardware and can be trusted without extensive community checks.
  • a policy may specify that a particular version of an Operating System is executing on a node that is attempting to modify a digital ledger in a somewhat tighter configuration, a policy may specify that any system performing digital ledger operations is to be utilizing both boot time and runtime firmware, OS and application integrity checks along with hosting the digital ledger code within a hardware supported isolated enclave
  • enforcement of trusted node execution requirements can be accomplished in several ways.
  • a node can embed an attestation of its execution state into a transaction without validating that requirements of a policy have been met.
  • Peers (nodes) on the network can then determine whether the attestation satisfies the consortium's requirements before accepting the transaction as valid
  • the instructions may be provided on a non-transitory computer readable storage medium encoded with instructions, executable by a processor.
  • Figure 5 shows an example of a processor 150 of a node 500, associated with a memory 152
  • node 500 can be the control apparatus node 101 .
  • the memory 152 comprises computer readable instructions 154 which are executable by the processor 150.
  • the instructions 154 comprise instructions to, at least: control access to a cryptographic key 501 (such as key 107 for example) used to enable modification of the distributed digital ledger according to a policy 503 maintained by at least one owner of the distributed digital ledger, and instructions to: request policy data from the first node representing a set of parameters of the first node, and enable access, from the second node, to a cryptographic key stored at the first node.
  • teachings herein may be implemented in the form of a computer software product, the computer software product being stored in a storage medium and comprising a plurality of instructions for making a computer device implement the methods recited in the examples of the present disclosure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

A method for regulating modification of a distributed digital ledger at a node comprises controlling access to a cryptographic key used to enable modification of the distributed digital ledger according to a policy maintained by at least one owner of the distributed digital ledger.

Description

REGULATING MODIFICATION
BACKGROUND
[0001] A distributed digital ledger can be used to record information in blocks that are cryptographically linked to one another such that the data in any given block cannot be retroactively changed without the modification of all subsequent blocks, thereby providing an inherent resistance to modification. Multiple nodes in a network can have a copy of the digital ledger and modification at any one node can be validated at each other node of the network.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Various features of certain examples will be apparent from the detailed description which follows, taken in conjunction with the accompanying drawings, which together illustrate, by way of example only, a number of features, wherein:
[0003] Figure 1 is a schematic representation of a system according to an example;
[0004] Figure 2 is a schematic representation of message flow in a system as shown in figure 1 , according to an example;
[0005] Figure 3 is a flowchart of a method according to an example;
[0006] Figure 4 is a flowchart of a method according to an example; and
[0007] Figure 5 shows an example of a processor of a node, associated with a memory, according to an example.
DETAILED DESCRIPTION
[0008] In the following description, for purposes of explanation, numerous specific details of certain examples are set forth. Reference in the specification to "an example" or similar language means that a particular feature, structure, or characteristic described in connection with the example is included in at least that one example, but not necessarily in other examples
[0009] An example of a distributed digital ledger is a blockchain, in which a list of records of transactions, forming blocks, continuously grows. Each block includes a pointer to a previous block in the form of a hash. Modification of a block, such as to record a new transaction for example, can be effected by a node providing it has access to a cryptographic key that is used for this purpose. Accordingly, providing a node knows the key, it can modify the blockchain.
[0010] Concepts such as‘proof-of-work’ can be used in order to enable such operations to be carried out on the blockchain in a de-centralized fashion by arbitrary nodes. That is, control over blockchain operations is implicit: any one node can attempt to add blocks to the chain but ultimately only transactions/b!ocks that achieve consensus will survive and the work involved in falsifying a transaction is purposely significant. In financial blockchains for example, proof-of-work protocols are competitions, selecting and rewarding a winner with an ability to add a transaction or a block to a blockchain. Trust is established through repetitive community check and acceptance of a new updated blockchain.
[001 1] According to an example, a mechanism to remotely establish trust (or not) in nodes and thus use those established properties as a way of gating access to operations on a distributed digital ledger is provided. Thus, it is possible to enforce (e.g. consortium agreed perhaps) policies over operations on a node using establishment of trust mechanisms for that node and the environment on that node where operations will be carried out. That is, a distributed digital ledger can be maintained and updated by secure, dedicated and isolated hardware and can be trusted without extensive community checks.
[0012] For example, a consortium may decide that writes of a new block to a distributed digital ledger can be carried out by an isolated hardware protected element (where the cryptographic key used to identify the block writer does not leave that hardware protected element for example). Accordingly, safety in this case is not achieved through the amount of work required to falsify transactions but through confidence that parties that can carry out sensitive operations will uphold policy requirements set by the owning consortium. The mechanisms proposed allow control over the amount of trust that should be placed in nodes that can carry out particular operations.
[0013] In an example, there is provided a flexible way of distributing trust to nodes in a network based on a variety of policy criteria. For example, in some cases, a policy may specify that a particular version of an Operating System is executing on a node that is attempting to modify a digital ledger in a somewhat tighter configuration, a policy may specify that any system performing digital ledger operations is to be utilizing both boot time and runtime firmware, OS and application integrity checks along with hosting the digital ledger code within a hardware supported isolated enclave
[0014] According to an example, a policy over which nodes can carry out (what) operations on a distributed digital ledger and the conditions to be upheld in order for those operations to be considered valid is provided. The conditions of such a policy can include one or more of (but are not limited to):
[0015] - the integrity of a stack of components on a remote platform (node) that form the environment and machine-readable executable instructions for carrying out the (distributed) operations;
[0016] - regulation over the establishment and use of sensitive cryptographic material used in generating transactions, for example that an identity credential should reside and be used within a protected hardware environment;
[0017] - a verification (acceptable to the policy) of the configuration of a remote platform used for carrying out remote operations;
[0018] - a verification of the configuration of information flow control rules between elements of the node such as between a main processor and a hardware based functional accelerator; [0019] - more generally, that rules of the distributed digital ledger, access control and generic validity of transactions be hardware enforced.
[0020] In an example, the enforcement of such conditions can be through (though not limited to) use of platform assurance technologies such as trusted platform module (TPM)-based remote attestation combined with enhanced isolation and non-interference mechanisms such as OS-level compartmentalizafion allied with continuous runtime integrity and reporting mechanisms.
[0021] According to an example, enforcement of trusted node execution requirements can be accomplished in several ways. For example, a node can embed an attestation of its execution state into a transaction without validating that requirements of a policy have been met. Peers (nodes) on the network can then determine whether the attestation satisfies the consortium's requirements before accepting the transaction as valid
[0022] In another example, hardware manufacturers and OEMs can control the conditions under which their components are produced and can certify that they will satisfy certain properties of a trusted node. These certifications can be in the form of a public key certificate that the manufacturer provides to the network for example. Transactions by a hardware mechanism can then use this key to sign off on a transaction. In an example, a network can limit transactions to only a subset of public keys that satisfy the consortiums requirements.
[0023] In another example, generation of a valid transaction can be linked to production of a cryptographic proof that is produced in a trusted node. An example could be an encrypted program that produces valid proofs but can only be executed in a secure execution environment or enclave.
[0024] Therefore, policy controlled enforcement over distributed digital ledger operations can be carried out on a node in a way that does not, for example, require heavy proof-of-work protocols but in a way that allows an appropriate level of trust to be placed in the operation of nodes allowed to carry out operations
[0025] Figure 1 is a schematic representation of a system according to an example. In the system 100 of figure 1 , a network of nodes comprises a distributed digital ledger control apparatus node 101 and multiple (n) nodes 103-105. Each node 101 , 103-105 can store in a copy of a distributed digital ledger in a memory. A cryptographic key 107, stored at the node 101 , is used to update or modify the ledger, which can be a blockchain for example. For example, hashes of transactions can be generated using the key, and these can be stored as part of a block along with a copy of the hash of a previous block. Accordingly, access to the key 107 is central to the ability to be able to perform operations on the digital ledger, such as updating or modifying by adding blocks for example.
[0026] According to an example, the node 101 can remotely establish trust in a node 103-105 in order to regulate access to a cryptographic key 107 used to enable modification of the distributed digital ledger according to a policy 109 maintained by control apparatus node 101 . Put another way, a node 103-105 can modify the distributed digital ledger 1 1 1 using the key 107 when it has satisfied certain criteria provided in the policy 109, thereby enabling release of the key 107 by node 101.
[0027] Policy 109 can be a policy that is generated by a consortium of interested parties for example, and which specifies certain criteria or parameters that a node should adhere to or be able to demonstrate that it complies with before it is given access to the key 107 that can be used to modify the ledger 1 1 1. For example, as described above, policy 109 can specify that, in order to use the key 107, a node should be running a certain, fully patched, version of an operating system and only generate information relating to a transaction in a secure execution environment.
[0028] Figure 2 is a schematic representation of message flow in a system as shown in figure 1 , according to an example. A node, such as node 103 for example, can send a request 201 to node 101 for the key 107 so that it can update BC 1 1 1. in response to the request 201 , the node 101 can request 203 policy data from node 103. The request 203 can be in response to request 201 or can be made at the time the node 103 joins the network for example.
[0029] in an example, the node 103 can respond to the request 203 with policy data 205 specifying certain parameters of the node 103, as described above. For example, the node 103 can provide data specifying the status of an operating system and/or node hardware. As described above, the data can indicate whether the node is able to use a secure enclave in order to store and/or process data, and so on.
[0030] The node 101 checks conformity (207) of the policy data 205 provided by node 103 against policy 109. If node 103 fulfils certain criteria as set out in the policy 109, the node 101 can provide (209) the cryptographic key 107 to node 103, or otheavise allow access to the key 107 by node 103. Node 103 can now modify (21 1 ) the digital ledger 1 1 1 using the key 107. For example, node 103 can add records to BC 1 1 1.
[0031] Figure 3 is a flowchart of a method according to an example. More particularly, block 301 of figure 3 is a flowchart of a method for regulating modification of a distributed digital ledger at a node according to an example. The distributed digital ledger can be in the form of a biockchain, in which blocks of records are cryptographically linked to one another, as described above for example.
[0032] In block 301 , a request for a cryptographic key is made by a node in order to enable the node to modify the distributed digital ledger. Access to (or supply of) the cryptographic key is controlled by node 101 (figure 1 ). in order to release or provide access to the key, node 101 can request, in block 303, policy data from the requesting node 103-105 representing a set of parameters of the requesting node 103-105. In response to the request in block 303, the requesting node 103-105 can provide (block 305) policy data to node 101.
[0033] In block 307, node 101 can check the set of parameters provided by the requesting node 103-105 against the policy 109 to determine whether the requesting node 103-105 conforms with the policy 109. In block 309, access to the key is enabled. This can include transmitting the key from node 101 to node 103-105, or node 103-105 retrieving the key from the node 101.
[0034] Figure 4 is a flowchart of a method according to an example. In block 401 , a node 103-105 generates a transaction including an attestation of an execution state of the node. For example, a node 103-105 can generate a transaction that is to form part of a record that will be part of a block in a digital ledger such as a blockchain. The transaction can, for example, provide information on a financial operation, or indeed any other operation that has been executed by the node 103-105. As part of the transaction, the node 103- 105 can include data representing an attestation of its execution state. As described above, this can include information representing a hardware state of the node, an operating system that is executing, provision of secure execution environments and so on. In block 403, node 101 verifies whether the data representing an attestation of the nodes 103-105 execution state conforms with the policy. That is, node 101 determines whether the node 103-105 is in conformity with the policy in order to enable it to control access to the cryptographic key used to enable modification of the distributed digital ledger.
[0035] In block 405, if the node does conform, the key can be provided (or access can be granted). Otheavise (block 407), access to the key is not granted.
[0036] According to an example, a transaction request can be created and certified by a node 103-105. This transaction is not yet part of the digital ledger 1 1 1 The node 101 can receive the certified transactions from the nodes 103- 105 and order them into a block to be appended to a local copy (at the node 101 ) of the ledger 1 1 1. This can then be shared with other nodes in order to “publish” the latest updated BC 1 1 1 .
[0037] In an example, a node 103-105 can be trusted to perform the relevant operations noted above. For example, a node 103-105 can be provided with a private key (which never leaves the node) and other nodes are provided with the public certificate of this node, which they know to trust. As trust is placed into the node, it can be checked/remotely attested to. in an example, a node can receive a certified transaction, validate it according to predefined rules and them it into a block. As such, node 101 , for example, can receive some transactions that are not valid and can therefore reject them if at least one condition/rule is not met
[0038] Examples in the present disclosure can be provided as methods, systems or machine-readable instructions. Such machine-readable instructions may be included on a computer readable storage medium. The storage medium can include one or multiple different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; optical media such as compact disks (CDs) or digital video disks (DVDs); or other types of storage devices.
[0039] The present disclosure is described with reference to flow charts and/or block diagrams of the method, devices and systems according to examples of the present disclosure. Although the flow diagrams described above show a specific order of execution, the order of execution may differ from that which is depicted. Blocks described in relation to one flow chart may be combined with those of another flow chart in some examples, some blocks of the flow diagrams may not be necessary and/or additional blocks may be added. It shall be understood that each flow and/or block in the flow charts and/or block diagrams, as well as combinations of the flows and/or diagrams in the flow charts and/or block diagrams can be realized by machine readable instructions.
[0040] The machine-readable instructions may, for example, be executed by a general-purpose computer, a special purpose computer, an embedded processor or processors of other programmable data processing devices to realize the functions described in the description and diagrams. In particular, a processor or processing apparatus may execute the machine-readable instructions. Thus, modules of apparatus or nodes may be implemented by a processor executing machine readable instructions stored in a memory, or a processor operating in accordance with instructions embedded in logic circuitry. The term 'processor' is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate set etc. The methods and modules may all be performed by a single processor or divided amongst several processors.
[0041] Such machine-readable instructions may also be stored in a computer readable storage that can guide the computer or other programmable data processing devices to operate in a specific mode.
[0042] For example, the instructions may be provided on a non-transitory computer readable storage medium encoded with instructions, executable by a processor.
[0043] Figure 5 shows an example of a processor 150 of a node 500, associated with a memory 152 In an example, node 500 can be the control apparatus node 101 .
[0044] The memory 152 comprises computer readable instructions 154 which are executable by the processor 150. The instructions 154 comprise instructions to, at least: control access to a cryptographic key 501 (such as key 107 for example) used to enable modification of the distributed digital ledger according to a policy 503 maintained by at least one owner of the distributed digital ledger, and instructions to: request policy data from the first node representing a set of parameters of the first node, and enable access, from the second node, to a cryptographic key stored at the first node. Instructions to check the set of parameters of the node against the policy to determine that the node conforms with the policy instructions to attest to the validity of a cryptographic proof generated using a secure execution environment of the second node. Instructions to verify conformance of an attestation included in a transaction generated at the second node and representing an execution state of the second node with the policy
[0045] Such machine-readable instructions may also be loaded onto a computer or other programmable data processing devices, so that the computer or other programmable data processing devices perform a series of operations to produce computer-implemented processing, thus the instructions executed on the computer or other programmable devices provide a operation for realizing functions specified by flow(s) in the flow charts and/or block(s) in the block diagrams.
[0046] Further, the teachings herein may be implemented in the form of a computer software product, the computer software product being stored in a storage medium and comprising a plurality of instructions for making a computer device implement the methods recited in the examples of the present disclosure.
[0047] While the method, apparatus and related aspects have been described with reference to certain examples, various modifications, changes, omissions, and substitutions can be made without departing from the spirit of the present disclosure in particular, a feature or block from one example may be combined with or substituted by a feature/biock of another example.
[0048] The word "comprising" does not exclude the presence of elements other than those listed in a claim, "a" or "an" does not exclude a plurality, and a single processor or other unit may fulfil the functions of several units recited in the claims.
[0049] The features of any dependent claim may be combined with the features of any of the independent claims or other dependent claims.

Claims

1 . A method for regulating modification of a distributed digital ledger at a node, the method comprising: controlling access to a cryptographic key used to enable modification of the distributed digital ledger according to a policy maintained by at least one owner of the distributed digital ledger.
2. A method as claimed in claim 1 , further comprising: receiving a request for access of the cryptographic key from the node.
3. A method as claimed in claim 1 , further comprising: requesting policy data from the node representing a set of parameters of the node.
4. A method as claimed in claim 1 , further comprising: checking the set of parameters of the node against the policy to determine that the node conforms with the policy.
5. A method as claimed in claim 1 , further comprising: enabling access to the cryptographic key.
6. A method as claimed in claim 1 , further comprising: generating a transaction including an attestation of an execution state of the node; and verifying conformance of the attestation with the policy.
7. A method as claimed in claim 1 , further comprising: checking a certificate received from the node representing node hardware parameters; and enabling modification of the distributed digital ledger by the node.
8. A method as claimed in claim 1 , further comprising: generating a cryptographic proof using a secure execution environment of the node; and attesting to the validity of the cryptographic proof.
9. A system, comprising: a distributed digital ledger control apparatus to remotely establish trust in a node to regulate access to a cryptographic key used to enable modification of the distributed digital ledger according to a policy maintained by control apparatus.
10. A system as claimed in claim 9, the distributed digital ledger control apparatus to: check conformance of a node with the policy; and release the cryptographic key to the node.
1 1. A system as claimed in claim 9, the distributed digital ledger control apparatus to: receive a transaction including an attestation of an execution state of the node; and verify conformance of the attestation with the policy.
12. A non-transitory machine-readable storage medium encoded with instructions executable by a processor of a first node for regulating modification of a distributed digital ledger at a second node, the machine-readable storage medium comprising instructions to: request policy data from the first node representing a set of parameters of the first node; and enable access, from the second node, to a cryptographic key stored at the first node.
13. A non-transitory machine-readable storage medium as claimed in claim 12, further encoded with instructions to: check the set of parameters of the node against the policy to determine that the node conforms with the policy.
14. A non-transitory machine-readable storage medium as claimed in claim 12, further encoded with instructions to: attest to the validity of a cryptographic proof generated using a secure execution environment of the second node.
15. A non-transitory machine-readable storage medium as claimed in claim 12, further encoded with instructions to: verify conformance of an attestation included in a transaction generated at the second node and representing an execution state of the second node with the policy.
PCT/US2018/012076 2018-01-02 2018-01-02 Regulating modification WO2019135734A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP18898976.8A EP3685299A4 (en) 2018-01-02 2018-01-02 Regulating modification
PCT/US2018/012076 WO2019135734A1 (en) 2018-01-02 2018-01-02 Regulating modification
US16/760,532 US11356249B2 (en) 2018-01-02 2018-01-02 Regulating modification
CN201880085346.2A CN111587434A (en) 2018-01-02 2018-01-02 Adjustment of modifications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/012076 WO2019135734A1 (en) 2018-01-02 2018-01-02 Regulating modification

Publications (1)

Publication Number Publication Date
WO2019135734A1 true WO2019135734A1 (en) 2019-07-11

Family

ID=67144392

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2018/012076 WO2019135734A1 (en) 2018-01-02 2018-01-02 Regulating modification

Country Status (4)

Country Link
US (1) US11356249B2 (en)
EP (1) EP3685299A4 (en)
CN (1) CN111587434A (en)
WO (1) WO2019135734A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405373B2 (en) * 2018-09-07 2022-08-02 Honeywell International, Inc. Blockchain-based secured multicast communications

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3627434A1 (en) * 2018-09-24 2020-03-25 Youki GmbH System, method and device for performing cryptographically secure transactions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2731043A1 (en) * 2012-11-08 2014-05-14 CompuGroup Medical AG Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
US20170103391A1 (en) * 2015-04-05 2017-04-13 Digital Asset Holdings Digital asset intermediary electronic settlement platform
US9635000B1 (en) * 2016-05-25 2017-04-25 Sead Muftic Blockchain identity management system based on public identities ledger
WO2017147696A1 (en) * 2016-02-29 2017-09-08 Troy Jacob Ronda Systems and methods for distributed identity verification
US20170345105A1 (en) * 2014-03-31 2017-11-30 Monticello Enterprises, Llc System and method for providing multiple payment method options to users in connection with a browser payment request api

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6873988B2 (en) * 2001-07-06 2005-03-29 Check Point Software Technologies, Inc. System and methods providing anti-virus cooperative enforcement
US8532303B2 (en) * 2007-12-14 2013-09-10 Intel Corporation Symmetric key distribution framework for the internet
US8458462B1 (en) * 2008-08-14 2013-06-04 Juniper Networks, Inc. Verifying integrity of network devices for secure multicast communications
US11270263B2 (en) * 2013-09-12 2022-03-08 Netspective Communications Llc Blockchain-based crowdsourced initiatives tracking system
EP3271824A4 (en) * 2015-03-20 2018-09-05 Rivetz Corp. Automated attestation of device integrity using the block chain
US9849364B2 (en) 2016-02-02 2017-12-26 Bao Tran Smart device
CN105827410A (en) 2016-03-11 2016-08-03 邓迪 Block chain transmission method and system with trusted node/satellite node construction
US20190149337A1 (en) * 2016-04-29 2019-05-16 nChain Holdings Limited Implementing logic gate functionality using a blockchain
CN106339939B (en) * 2016-08-26 2020-05-15 南京喜玛拉云信息技术有限公司 Non-tamper-able distributed bill system based on secure hardware and transaction processing method
US20180183586A1 (en) * 2016-12-28 2018-06-28 Intel Corporation Assigning user identity awareness to a cryptographic key
US10762481B2 (en) * 2017-03-21 2020-09-01 The Toronto-Dominion Bank Secure offline approval of initiated data exchanges
US10936711B2 (en) * 2017-04-18 2021-03-02 Intuit Inc. Systems and mechanism to control the lifetime of an access token dynamically based on access token use
CN107273759B (en) * 2017-05-08 2020-07-14 上海点融信息科技有限责任公司 Method, apparatus, and computer-readable storage medium for protecting blockchain data
US10671733B2 (en) * 2017-05-19 2020-06-02 International Business Machines Corporation Policy enforcement via peer devices using a blockchain
GB2565411A (en) * 2017-06-12 2019-02-13 British Telecomm Improved hardware security module management
US11469891B2 (en) * 2017-06-12 2022-10-11 British Telecommunications Public Limited Company Expendable cryptographic key access
US10878248B2 (en) * 2017-10-26 2020-12-29 Seagate Technology Llc Media authentication using distributed ledger
US11294943B2 (en) * 2017-12-08 2022-04-05 International Business Machines Corporation Distributed match and association of entity key-value attribute pairs
US11095446B2 (en) * 2018-02-27 2021-08-17 Anchor Labs, Inc. Cryptoasset custodial system with different rules governing access to logically separated cryptoassets and proof-of-stake blockchain support

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2731043A1 (en) * 2012-11-08 2014-05-14 CompuGroup Medical AG Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
US20170345105A1 (en) * 2014-03-31 2017-11-30 Monticello Enterprises, Llc System and method for providing multiple payment method options to users in connection with a browser payment request api
US20170103391A1 (en) * 2015-04-05 2017-04-13 Digital Asset Holdings Digital asset intermediary electronic settlement platform
WO2017147696A1 (en) * 2016-02-29 2017-09-08 Troy Jacob Ronda Systems and methods for distributed identity verification
US9635000B1 (en) * 2016-05-25 2017-04-25 Sead Muftic Blockchain identity management system based on public identities ledger

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3685299A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405373B2 (en) * 2018-09-07 2022-08-02 Honeywell International, Inc. Blockchain-based secured multicast communications

Also Published As

Publication number Publication date
EP3685299A4 (en) 2021-04-14
US11356249B2 (en) 2022-06-07
US20210218554A1 (en) 2021-07-15
CN111587434A (en) 2020-08-25
EP3685299A1 (en) 2020-07-29

Similar Documents

Publication Publication Date Title
WO2021184963A1 (en) Contract calling method and apparatus
US11431484B2 (en) Blockchain transaction privacy enhancement through broadcast encryption
Nikitin et al. {CHAINIAC}: Proactive {Software-Update} transparency via collectively signed skipchains and verified builds
US10218696B2 (en) Targeted secure software deployment
JP2021525931A (en) Efficient verification for blockchain
KR101861401B1 (en) Binding applications to device capabilities
US11645376B2 (en) Device-based database system
CN101960464B (en) Information processing device
CN110580418A (en) Private data query method and device based on block chain account
CN110580414A (en) private data query method and device based on block chain account
CN110598434B (en) House information processing method and device based on blockchain network, electronic equipment and storage medium
CN111523110A (en) Permission query configuration method and device based on chain codes
EP3292495B1 (en) Cryptographic data
CN115605868A (en) Cross-network identity provisioning
CN115552441A (en) Low trust privilege access management
KR102627868B1 (en) Method and system for authenticating data generated in blockchain
CN116941265A (en) Blockchain network identity management using SSI
CN113261253A (en) Method and system for controlling release of resources
WO2016165215A1 (en) Method and apparatus for loading code signing on applications
US20200074330A1 (en) Recording inference using a blockchain
KR20230005353A (en) Sanctioned Events in a Decentralized Database
CN117043772A (en) Block chain data separation
US11356249B2 (en) Regulating modification
US20220393858A1 (en) Limiting data availability on distributed ledger
WO2019025954A1 (en) System, method, and computer program product providing end-to-end security of centrally accessible group membership information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18898976

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018898976

Country of ref document: EP

Effective date: 20200421

NENP Non-entry into the national phase

Ref country code: DE