IP Library Granted Patent US 10,484,343
Granted Patent B1
US 10,484,343 · App. 15/723,346 · Granted Nov 19, 2019

Distributed logging for securing non-repudiable multi-party transactions

Inventors: Gabriel M. Silberman (Austin, TX); Jean Belanger (Austin, TX); Karen Bennet (Toronto, CA); Michael L. Roberts (Austin, TX); Jay M. Williams (Austin, TX)
Assignee: Cerebri AI Inc.
H04L63/0428G06F21/60G06F21/62G06F21/6218H04L63/08H04L63/12
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,484,343
App. No.
15/723,346
Granted
Nov 19, 2019
Kind
B1
Abstract

Disclosed herein are methods, systems, and processes for distributed logging for securing non-repudiable transactions. Credentials, request information, response information, and action items generated and received by a requesting computing system and a responding computing system, and transmitted between the requesting computing system and the responding computing system are separately recorded and stored in a requestor log maintained by the requesting computing system and in a responder log maintained by the responding computing system.

Claims (86)

1. One or more tangible, non-transitory, machine-readable media storing instructions that when executed by one or more processors effectuate operations comprising:

receiving, with one or more processors, by a responding computing system executing a software-as-a-service application, a request to the SaaS application from a requesting computing system, wherein

the request comprises a requested action to be performed by a service of the SaaS application and a plurality of data items that are parameters of the request upon which a response to the request is to be based, and

the SaaS application and the requesting computing system are operated by different entities in different computing domains;

logging, with one or more processors, a first record of the received request to a first log, wherein:

the first log is accessible for both reading and writing to both the requesting computing system and the SaaS application,

the first log stores, for each of a plurality of previous transactions, corresponding records of previous sent-requests written by the requesting computing system and records of previous received-requests written by the SaaS application, and

the first log is a tamper-evident log having a plurality of entries linked by cryptographic hash pointers to preceding entries;

executing, with one or more processors, the requested action based on the parameters of the request to produce a response of the service of the SaaS application to the request;

sending, with one or more processors, the response to the requesting computing system;

logging, with one or more processors, a second record of the sent response to a second log of the SaaS application that is different from the first log;

determining, with one or more processors, that the sent response matches a received version of the response by:

accessing a third record of the received version of the response written to the first log by the requesting computing system after receiving the requesting computing system receives the sent response, and

determining that the third record corresponds to the second record; and

storing, with one or more processors, in memory, a result of the determination that the sent response matches the received version.

2. The one or more media of claim 1 , wherein the operations comprise:

steps for two-party authenticate-request-response-action with separate logging systems.

3. The one or more media of claim 1 , wherein the operations comprise:

steps for two-party authenticate-request-response-action with separate logging systems with blockchain and separate logging.

4. The one or more media of claim 1 , wherein the operations comprise:

steps for auditing by request and response computing entities in a two-party system.

5. The one or more media of claim 1 , wherein the operations comprise:

steps for recording requests, responses, and results by the requesting computing system using distributed logging.

6. The one or more media of claim 1 , wherein the operations comprise:

steps for requestor-side auditing using a blockchain log.

7. The one or more media of claim 1 wherein the operations comprise:

steps for responder auditing using a blockchain log.

8. The one or more media of claim 1 , wherein:

the first record is a hash digest of at least part of the request.

9. The one or more media of claim 1 , wherein:

the first record is an encrypted version of the first request.

10. The one or more media of claim 1 , wherein:

the first log comprises one or more blockchains hosted, at least in part, by entities other than the entities operating the SaaS application and the requesting computing system.

11. The one or more media of claim 1 , wherein the operations comprise:

determining, for another transaction, that another sent response does not match a received version of the other response and, in response, resending the other sent response.

12. The one or more media of claim 1 , wherein the operations comprise:

determining a state of the first log with a consensus algorithm executed by a plurality of computing devices communicating with one another via a peer-to-peer network.

13. The one or more media of claim 1 , wherein the operations comprise:

determining that the received request matches a sent version of the request that was sent by the requesting computing system by:

accessing a fourth record of the sent version of the request written to the first log by the requesting computing system; and

determining that the fourth record corresponds to the first record.

14. The one or more media of claim 1 , wherein the first log comprises a plurality of distributed ledgers.

15. The one or more media of claim 1 , wherein:

the determination is made without waiting for a majority of computing nodes hosting the first log to complete a consensus determination regarding state of the first log.

16. A method, comprising:

receiving, with one or more processors, by a responding computing system executing a software-as-a-service application, a request to the SaaS application from a requesting computing system, wherein

the request comprises a requested action to be performed by a service of the SaaS application and a plurality of data items that are parameters of the request upon which a response to the request is to be based, and

the SaaS application and the requesting computing system are operated by different entities in different computing domains;

logging, with one or more processors, a first record of the received request to a first log, wherein:

the first log is accessible for both reading and writing to both the requesting computing system and the SaaS application,

the first log stores, for each of a plurality of previous transactions, corresponding records of previous sent-requests written by the requesting computing system and records of previous received-requests written by the SaaS application, and

the first log is a tamper-evident log having a plurality of entries linked by cryptographic hash pointers to preceding entries;

executing, with one or more processors, the requested action based on the parameters of the request to produce a response of the service of the SaaS application to the request;

sending, with one or more processors, the response to the requesting computing system;

logging, with one or more processors, a second record of the sent response to a second log of the SaaS application that is different from the first log;

determining, with one or more processors, that the sent response matches a received version of the response by:

accessing a third record of the received version of the response written to the first log by the requesting computing system after receiving the requesting computing system receives the sent response, and

determining that the third record corresponds to the second record; and

storing, with one or more processors, in memory, a result of the determination that the sent response matches the received version.

17. The method of claim 16 , comprising:

steps for two-party authenticate-request-response-action with separate logging systems.

18. The method of claim 16 , comprising:

steps for two-party authenticate-request-response-action with separate logging systems with blockchain and separate logging.

19. The method of claim 16 , comprising:

steps for auditing by request and response computing entities in a two-party system.

20. The method of claim 16 , comprising:

steps for recording requests, responses, and results by the requesting computing system using distributed logging.

21. The method of claim 16 , comprising:

steps for requestor-side auditing using a blockchain log.

22. The method of claim 16 , comprising:

steps for responder auditing using a blockchain log.

23. The method of claim 16 , wherein:

the first record is a hash digest of at least part of the request.

24. The method of claim 16 , wherein:

the first record is an encrypted version of the first request.

25. The method of claim 16 , wherein:

the first log comprises one or more blockchains hosted, at least in part, by entities other than the entities operating the SaaS application and the requesting computing system.

26. The method of claim 16 , comprising:

determining, for another transaction, that another sent response does not match a received version of the other response and, in response, resending the other sent response.

27. The method of claim 16 , comprising:

determining a state of the first log with a consensus algorithm executed by a plurality of computing devices communicating with one another via a peer-to-peer network.

28. The method of claim 16 , comprising:

determining that the received request matches a sent version of the request that was sent by the requesting computing system by:

accessing a fourth record of the sent version of the request written to the first log by the requesting computing system; and

determining that the fourth record corresponds to the first record.

29. The method of claim 16 , wherein the first log comprises a plurality of distributed ledgers.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Apr 7, 2021
From: CEREBRI FUNDING, LLC
To: CEREBRI AI INC.
Reel/Frame 055851/0571 →
SECURITY INTEREST Recorded Feb 5, 2020
From: CEREBRI AI INC.
To: CEREBRI FUNDING, LLC
Reel/Frame 051729/0930 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2019
From: SILBERMAN, GABRIEL M.; BELANGER, JEAN; BENNET, KAREN; ROBERTS, MICHAEL L.; WILLIAMS, JAY M.
To: CEREBRI AI INC.
Reel/Frame 050268/0103 →
Cited By (2)
US 12,242,930 US 12,380,439