Back to results
US 11,057,187 B2Granted
Blockchain-assisted hash-based data signature system and method
AssigneeGuardtime SA
InventorsAhto Buldas, Risto Laanoja, Ahto Truu
Life of this patent
Estimating the term…
Abstract
A set of secret, indexed keys is generated and used in requests from a signing entity to a signing server for digital signature of messages. The signing server maintains a counter as well as a hash tree that aggregates requests during a round into a root value that is stored in an append-only data structure in a repository. Each signing entity is associated with a leaf of the hash tree. After a signature is formed, the counter for the requesting signing entity is incremented, whereby the secret key that was used cannot be used again.
Claims7
A method for digitally securing data comprising:
- generating a plurality of pre-generated keys as a set of unpredictable digital values;
- from at least one signing entity via a respective device, receiving at a signing server a query for a signature of a message said request comprising a randomizing function of the message and a current key, said key being one of a plurality of the pre-generated keys;
- maintaining a counter of ones of the pre-generated keys previously used by the signing entity;
- maintaining a hash tree data structure having a plurality of input leaves and a root value;
- during each of a series of rounds, including a current round, associating with the signing entity a respective one of the input leaves of the hash tree, each round corresponding to an aggregation interval;
- returning to the signing entity parameters of a first hash chain corresponding to a path through the hash tree from a hash of the query and a current counter value up to the root value of the hash tree for the round during which the request is received;
- submitting the root value for registration in a repository and receiving confirmation of registration;
- and
- incrementing the counter associated with the signing entity, whereby the current key is made unusable for signing in subsequent rounds;
- computing mathematical key bindings of each pre-generated key to a respective sequence number;
- computing a public key by aggregating the key bindings into a public key hash tree;
- associating respective second hash chains with the pre-generated keys, each said second hash chain defining a computation path from the respective pre-generated key to the public key;
- generating a signature of the message, said signature comprising the current counter value, the current key, the respective second hash chain, an identifier of the respective round, and the respective first hash chain;
- and incrementing a spent key counter within the signing entity.
11 more elements
Dependencies are inferred from the claim text.