IP Library Granted Patent US 11,940,984
Granted Patent B2
US 11,940,984 · App. 17/549,578 · Granted Mar 26, 2024

Audit records monitoring using a blockchain structure

Inventors: Ezer Farhi (Givatavim, IL); Peleg Atar (Nes Tziona, IL); Nataly Beigel (Modiin, IL); Gal Silverstein (Tel Aviv-Jaffa, IL); Michael Mualem (Petah Tikva, IL); Danielle Filin Horovitz (Hashason, IL); Alona Raz (Petach Tikva, IL)
Assignee: DOCUSIGN, INC.
G06F16/2365G06F16/27H04L9/3247H04L9/50
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,940,984
App. No.
17/549,578
Granted
Mar 26, 2024
Kind
B2
Abstract

A centralized auditing system receives an audit block containing one or more audit files generated by an audit agent running in an audited device. The audit block additionally stores a first digital signature corresponding to a previous audit block, and a second digital signature generated based at least on the one or more audit files and the first digital signature. After receiving the audit block, the auditing system verifies the integrity of the received audit block based on the second digital signature stored in the audit block and/or the first digital signature corresponding to the previous audit block. In response to verifying the integrity of the received audit block, the auditing system adds the received audit block to an audit register. Moreover, the auditing system adds the one or more audit files included in the audit block to an audit database.

Claims (69)

1. A method comprising:

receiving, by a centralized records auditing system, an audit block, the audit block comprising one or more audit files generated by an audit agent running in an audited device, a first digital signature corresponding to a previous audit block, and a second digital signature generated based at least on the one or more audit files and the first digital signature, the centralized records auditing system including an audit block store having an audit register;

verifying, by the centralized records auditing system, an integrity of the received audit block, wherein verifying the integrity of the received audit block comprises:

identifying the previous audit block in the audit register;

retrieving the second digital signature stored in the identified previous audit block; and

comparing the first digital signature stored in the received audit block with the retrieved second digital signature stored in the identified previous audit block;

responsive to verifying the integrity of the received audit block:

storing, by the centralized records auditing system, the received audit block in the audit register, the audit register comprising a plurality of audit blocks, each audit block of the audit register linked to a second audit block preceding the audit block by the second digital signature of the second audit block, and

adding, by the centralized records auditing system, the one or more audit files included in the audit block to an audit database of the centralized records auditing system that is operatively coupled to the audit block store; and

responsive to determining a trigger condition is met, verifying, by the centralized records auditing system, the integrity of the audit register, wherein verifying the integrity of the audit register comprises, for each audit block of the plurality of audit blocks of the audit register:

verifying the second digital signature of the audit block, and

comparing the first digital signature corresponding to the previous audit block and stored in the audit block with the second digital signature stored in the previous audit block.

2. The method of claim 1 , wherein verifying the integrity of the received audit block further comprises: retrieving a public key associated with the audited device;

and verifying the second digital signature stored in the audit block using the retrieved public key.

3. The method of claim 1 , wherein identifying the previous block in the audit register comprises: identifying the audit register associated with the audit agent that generated the audit block; and identifying a last audit block in the identified audit register.

4. The method of claim 1 , wherein adding the received audit block to the audit register comprises: storing the audit block in the audit block store storing other audit blocks of the audit register.

5. The method of claim 1 , wherein adding the one or more audit files included in the audit block to the audit database comprises:

for each audit file included in the audit block:

generating at least one audit record based on information included in the audit file; and

storing the generated audit record in the audit database.

6. The method of claim 1 , further comprising: responsive to verifying the integrity of the received audit block, sending an acknowledgment message to the audit agent of the audited device.

7. The method of claim 1 , wherein the trigger condition is a set amount of time elapsing from a previous verification of an integrity of the audit register.

8. The method of claim 1 , further comprising:

responsive to determining the trigger condition is met, verifying the audit database, wherein verifying the audit databases comprises,

for each audit record stored in the audit database:

identifying an audit file stored in an audit block of the audit register, and

comparing information stored in the audit record with information stored in the identified audit file.

9. The method of claim 1 ,

responsive to determining the trigger condition is met, verifying the audit database, wherein verifying the audit database comprises for each audit file of a plurality of audit files stored in each audit block of the audit register:

identifying an audit record stored in the audit database, and

comparing information stored in the identified audit record with information stored in the audit file.

10. The method of claim 1 , wherein the audit register comprises a blockchain.

11. The method of claim 10 , wherein the audit register comprises a centralized blockchain.

12. The method of claim 1 , wherein the first digital signature stored in the audit block is stored as the second digital signature in the previous audit block.

13. IThe method of claim 1 , wherein the second digital signature is generated by applying a cryptographic signing algorithm using a private key to a message including the one or more audit files and the first digital signature.

14. Non-transitory computer-readable storage media storing executable instructions that, when executed by a hardware processor, cause the processor to perform steps comprising:

receive, at a centralized records auditing system, an audit block, the audit block comprising one or more audit files generated by an audit agent running in an audited device, a first digital signature corresponding to a previous audit block, and a second digital signature generated based at least on the one or more audit files and the first digital signature, the centralized records auditing system including an audit block store having an audit register;

verify, at the centralized records auditing system, an integrity of the received audit block, wherein to verify the integrity of the received audit block, the instructions cause the hardware processor to:

identify the previous audit block in the audit register;

retrieve the second digital signature stored in the identified previous audit block; and

compare the first digital signature stored in the received audit block with the retrieved second digital signature stored in the identified previous audit block;

responsive to verifying the integrity of the received audit block, at the centralized records auditing system:

store the received audit block in the audit register, the audit register comprising a plurality of audit blocks, each audit block of the audit register linked to a second audit block preceding the audit block by the second digital signature of the second audit block, and

add the one or more audit files included in the audit block to an audit database of the centralized records auditing system that is operationally coupled to the audit block store; and

responsive to determining a trigger condition is met, verify the integrity of the audit register, wherein to verify the integrity of the audit register, the instructions cause the hardware processor to, for each audit block of the plurality of audit blocks of the audit register:

verify the second digital signature of the audit block, and

compare the first digital signature corresponding to the previous audit block stored in the audit block with the second digital signature stored in the previous audit block.

15. The non-transitory computer-readable storage media of claim 14 , wherein to add the one or more audit files included in the audit block to the audit database the instructions cause the hardware processor to:

for each audit file included in the audit block:

generate at least one audit record based on information included in the audit file; and

store the generated audit record in the audit database.

16. The non-transitory computer-readable storage media of claim 14 , wherein the instructions further cause the hardware processor to:

responsive to verifying the integrity of the received audit block, send an acknowledgment message to the audit agent of the audited device.

17. The non-transitory computer-readable storage media of claim 14 , wherein the instructions further cause the hardware processor to:

responsive to determining the trigger condition is met, verify the audit database, wherein to verify the audit database the instructions cause the hardware processor to, for each audit record stored in the audit database:

identify an audit file stored in an audit block of the audit register, and

compare information stored in the audit record with information stored in the identified audit file.

18. A document system comprising processing circuitry and a non-transitory computer-readable storage media storing instructions that, when executed by the processing circuitry, cause the processing circuitry:

receive, at a centralized records auditing system, an audit block, the audit block comprising one or more audit files generated by an audit agent running in an audited device, a first digital signature corresponding to a previous audit block, and a second digital signature generated based at least on the one or more audit files and the first digital signature, the centralized records auditing system including an audit block store having an audit register;

verify, at the centralized records auditing system, an integrity of the received audit block, wherein to verify the integrity of the received audit block, the instructions cause the processing circuitry to:

identify the previous audit block in the audit register;

retrieve the second digital signature stored in the identified previous audit block; and

compare the first digital signature stored in the received audit block with the retrieved second digital signature stored in the identified previous audit block;

responsive to verifying the integrity of the received audit block, at the centralized records auditing system:

store the received audit block in the audit register, the audit register having a plurality of audit blocks, each audit block of the audit register linked to a second audit block preceding the audit block by the second digital signature of the second audit block, and

add the one or more audit files included in the audit block to an audit database of the centralized records auditing system that is operationally coupled to the audit block store; and

responsive to determining a trigger condition is met, verify the integrity of the audit register, wherein to verify the integrity of the audit register, the instructions cause the processing circuitry to, for each audit block of the plurality of audit blocks of the audit register:

verify the second digital signature of the audit block, and

compare the first digital signature corresponding to the previous audit block stored in the audit block with the second digital signature stored in the previous audit block.

Assignments (2)
PATENT SECURITY AGREEMENT Recorded May 23, 2025
From: DOCUSIGN, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 071337/0240 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: FARHI, EZER; ATAR, PELEG; BEIGEL, NATALY; SILVERSTEIN, GAL; MUALEM, MICHAEL; HOROVITZ, DANIELLE FILIN; RAZ, ALONA
To: DOCUSIGN, INC.
Reel/Frame 058488/0517 →