IP Library Granted Patent US 10,164,952
Granted Patent B2
US 10,164,952 · App. 15/044,607 · Granted Dec 25, 2018

Method and system for server based secure auditing for revisioning of electronic document files

Inventor: David R. Vandervort (Walworth, NY)
Assignee: Xerox Corporation
H04L63/0442H04L9/3236H04L9/3247H04L63/123H04L63/0823H04L2209/38H04L2209/56
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 10,164,952
App. No.
15/044,607
Filed
Feb 16, 2016
Granted
Dec 25, 2018
Kind
B2
Art Unit
2495
USPC
713/176
Abstract

Methods and systems for providing secure recording of revisions made to electronic documents, using secure methods to validate the recorded changes, are disclosed. An electronic device making a change to an electronic document can transmit the change to the network. An audit log chain is residing on the network and shared among all the nodes on the network. A node on the network can verify a change of document made by other nodes and add a new block to the chain using one-way hashes, making the chain resistant to tampering. If an invalid block is detected, the system can send an auditing alert to the network. The audit log can be strongly resistant to tampering, providing reliable evidence for use in audit compliance, investigations, and business or court record keeping.

Claims (74)

1. A system for securely auditing revisions to an electronic document, the system comprising:

a processing device; and

a hardware-based non-transitory storage medium operably connected to the processing device and configured to store a set of instructions that, when executed, cause the processing device to:

receive a signed data packet, wherein the signed data packet comprises:

a diff data structure that represents a difference between a first version of an electronic document and a revision of the electronic document, and

an identifier associated with a user who created the revision,

wherein the signed data packet is signed with a private key associated with the user,

create a block by grouping the signed data packet and a plurality of additional signed data packets, wherein at least one of the additional signed data packets comprises:

a second diff data structure representing either a second difference between two versions of the electronic document or a difference between two versions of a second electronic document, and

a second identifier associated with a user responsible for the second difference or the difference between two versions of the second electronic document,

access a blockchain on a communication network, validate the block,

if validation of the block succeeds, update the blockchain to include the block so that the blockchain is available to a plurality of authorized additional user electronic devices via the communication network, and

if validation of the block fails, generate an alert and transmit the alert to the communication network.

2. The system of claim 1 , wherein the instructions further comprise additional instructions that, when executed, cause the processing device to:

verify the signed data packet before creating the block; and

upon verification of the signed data packet, create the block.

3. The system of claim 2 , wherein the instructions for causing the processing device to verify the signed data packet comprise additional instructions that, when executed, cause the processing device to:

verify the signed data packet against one or more rules to determine whether the one or more rules are satisfied; and

generate an alert when at least one of the one or more rules is not satisfied.

4. The system of claim 1 , wherein the instructions for causing the processing device to validate the block further comprise instructions that will cause the processing device to:

verify if the block is already validated by an additional node of the system; and

abandon the validation of the block if the block is already validated.

5. The system of claim 1 , wherein the set of instructions further comprises instructions that will cause the processing device to obtain an updated blockchain if the processing device is offline for a period of time.

6. The system of claim 1 , wherein the set of instructions further comprises instructions that will cause the processing device to obtain an updated blockchain if one or more quality criteria associated with validating the block are not satisfied.

7. The system of claim 1 , wherein the signed data packet further comprises at least one of a system name, an uptime, a number of transactions processed, a number of transactions in an unassigned pool, a current time and location of an electronic device that includes the processing device, or a user of the electronic device that includes the processing device.

8. The system of claim 1 , wherein the set of instructions comprises further instructions that will cause the processing device to respond to a request for validation of the processing device.

9. The system of claim 1 , wherein the processing device is a component of a remote server on the communication network.

10. A method for securely auditing revisions to an electronic document, the method comprising:

receiving, by a processing device, a signed data packet, wherein the signed data packet comprises a diff data structure representing a difference between a first version of an electronic document and a revision of the electronic document, and an identifier associated with a user who created the revision, wherein the signed data packet is signed with a private key associated with the user;

creating, by the processing device, a block by grouping the signed data packet and a plurality of additional signed data packets, wherein at least one of the additional signed data packet comprises:

a second diff data structure representing either a second difference between two versions of the electronic document or a difference between two versions of a second electronic document, and

a second identifier associated with a user responsible for the second difference or the difference between two versions of the second electronic document;

accessing a blockchain on a communication network;

validating the block;

if validation of the block succeeds, updating the blockchain to include the block so that the blockchain is available to a plurality of authorized additional user electronic devices via the communication network; and

if validation of the block fails, generating an alert and transmit the alert to the communication network.

11. The method of claim 10 , further comprising:

verifying, by the processing device, the signed data packet before creating the block; and

upon verification of the signed data packet, creating the block.

12. The method of claim 11 , wherein verifying the signed data packet comprises:

verifying the signed data packet against one or more rules to determine whether the one or more rules are satisfied; and

generating an alert when at least one of the one or more rules is not satisfied.

13. The method of claim 10 , wherein validating the block comprises:

verifying if the block is already validated by an additional node of the system; and

abandoning the validation of the block if the block is already validated.

14. The method of claim 10 , further comprising obtaining an updated blockchain if the processing device is offline for a period of time.

15. The method of claim 10 , further comprising obtaining an updated blockchain if one or more quality criteria associated with validating the block are not satisfied.

16. The method of claim 10 , wherein the signed data packet further comprises at least one of a system name, an uptime, a number of transactions processed, a number of transactions in an unassigned pool, a current time and location of a user electronic device that includes the processing device, or a user of the electronic device that includes the processing device.

17. The method of claim 10 , further comprising responding to a request for validation of the processing device.

18. The method of claim 10 , wherein the processing device is a remote server on the communication network.

19. A system for securely auditing revisions to an electronic document, the system comprising:

a processing device; and

a hardware-based non-transitory storage medium operably connected to the processing device and configured to store a set of instructions that, when executed, cause the processing device to:

receive a signed data packet, wherein the signed data packet comprises:

a diff data structure representing a difference between a first version of an electronic document and a revision of the electronic document, and

an identifier associated with a user who created the revision,

wherein the signed data packet is signed with a private key associated with the user,

verify the signed data packet, and

upon verification of the signed data packet,

create a block by grouping the signed data packet and a plurality of additional signed data packets, wherein at least one of the additional signed data packets comprises:

a second diff data structure representing either a second difference between two versions of the electronic document or a difference between two versions of a second electronic document, and

a second identifier associated with a user responsible for the second difference or the difference between two versions of the second electronic document,

access a blockchain on a communication network,

validate the block,

if validation of the block succeeds, update the blockchain to include the block so that the blockchain is available to a plurality of authorized additional user electronic devices via the communication network, and

if validation of the block fails, generate an alert and transmit the alert to the communication network.

20. The system of claim 19 , wherein the instructions for causing the processing device to verify the signed data packet comprises additional instructions that, when executed, cause the processing device to:

verify the signed data packet against one or more rules to determine whether the one or more rules are satisfied; and

generating an alert when at least one of the one or more rules is not satisfied.

21. The system of claim 19 , wherein the instructions for causing the processing device to validate the block further comprising instructions that will cause the processing device to:

verify if the block is already validated by an additional node of the system; and

abandon the validation of the block if the block is already validated.

22. The system of claim 19 , wherein the set of instructions further comprises instructions that will cause the processing device to obtain an updated chain if the processing device is offline for a period of time.

23. The system of claim 19 , wherein the set of instructions further comprises instructions that will cause the processing device to obtain an updated chain if one or more quality criteria associated with validating the block are not satisfied.

Assignments (9)
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 062740/0214 Recorded May 18, 2023
From: CITIBANK, N.A., AS AGENT
To: XEROX CORPORATION
Reel/Frame 063694/0122 →
SECURITY INTEREST Recorded Nov 10, 2022
From: XEROX CORPORATION
To: CITIBANK, N.A., AS AGENT
Reel/Frame 062740/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2016
From: VANDERVORT, DAVID R.
To: XEROX CORPORATION
Reel/Frame 037743/0479 →
Continuity (1)
Related Publication 20170237570A1 · Aug 17, 2017
Cited By (2)
US 12,423,033 US 12,678,067