IP Library Granted Patent US 11,057,187
Granted Patent B2
US 11,057,187 · App. 16/531,068 · Granted Jul 6, 2021

Blockchain-assisted hash-based data signature system and method

Inventors: Ahto Buldas (Tallinn, EE); Risto Laanoja (Tallinn, EE); Ahto Truu (Tartu, EE)
Assignee: Guardtime SA
H04L9/0637H04L9/0643H04L9/0869H04L9/3247
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,057,187
App. No.
16/531,068
Granted
Jul 6, 2021
Kind
B2
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.

Claims (21)

1. 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.

2. The method of claim 1 , further comprising performing the steps of claim 1 for each of a plurality of the signing entities and queries during the same current round.

3. The method of claim 2 , further comprising, for each signing entity that has submitted a query during the current round, updating the corresponding leaf of the hash tree to include the respective incremented counter.

4. The method of claim 1 , further comprising registering each root value as an entry in an append-only data structure in the repository.

5. The method of claim 4 , in which the append-only data structure is a blockchain.

6. The method of claim 4 , in which the append-only data structure is a signature and timestamping hash tree infrastructure into which each root value is inputted as a digital input record, said digital signature including values enabling recomputation from a function of each respective root value upward through the signature and timestamping hash tree infrastructure to a calendar value corresponding to a calendar period, whereby said digital signature encodes the calendar period and forms a timestamp for each inputted root value.

7. The method of claim 1 , further comprising:

verifying correct operation of the signing server before registering the root value in the repository, and

if the correct operation of the signing server is verified, returning to the signing server confirmation of registration.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2021
From: BULDAS, AHTO; LAANOJA, RISTO; TRUU, AHTO
To: GUARDTIME SA
Reel/Frame 056291/0826 →
Continuity (2)
Provisional Application 62716980 · Aug 9, 2018
Related Publication 20200052886A1 · Feb 13, 2020