IP Library Granted Patent US 11,469,886
Granted Patent B2
US 11,469,886 · App. 16/667,847 · Granted Oct 11, 2022

System or method to implement record level access on metadata driven blockchain using shared secrets and consensus on read

Inventor: Prithvi Krishnan Padmanabhan (San Ramon, CA)
Assignee: salesforce.com, inc.
H04L9/085G06F16/13G06F16/162G06F16/1837H04L9/0637H04L9/0822H04L9/0825H04L9/0838H04L9/0894H04L9/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,469,886
App. No.
16/667,847
Granted
Oct 11, 2022
Kind
B2
Abstract

A method performed by a system of a host organization for providing access controls for data a blockchain, the system providing a blockchain interface to a blockchain on behalf of a plurality of tenants of the host organization each serving as nodes in a blockchain network. The method includes receiving a request including an identifier of a requestor, the request to access transaction data having defined privileges, requesting access to the transaction data from nodes in the blockchain network, a request for access including the identifier of the requestor, receiving at least one shared secret from an owner node in the blockchain network indicating consensus to access the transaction data by the requestor, and denying access to the transaction data in response to receiving insufficient shared secrets from the nodes indicating the requestor does not meet requirements of the defined privileges of the transaction data.

Claims (34)

1. A method performed by a system of a host organization for providing access controls for data in a blockchain, the system providing a blockchain interface to the blockchain on behalf of a plurality of tenants of the host organization that serve as nodes in a blockchain network, the method comprising:

receiving a request including an identifier of a requestor, the request to access transaction data having defined privileges;

requesting access to the transaction data from nodes in the blockchain network, the requesting access including the identifier of the requestor;

receiving one or more shared secrets from one or more owner nodes in the blockchain network, wherein receiving the one or more shared secrets indicates approval by the respective one or more owner nodes to access the transaction data by the requestor; and

denying access to the transaction data in response to receiving an insufficient number of the one or more shared secrets from the one or more owner nodes to establish consensus by the blockchain network, indicating the requestor does not meet requirements of the defined privileges of the transaction data.

2. The method of claim 1 , further comprising:

determining whether the identifier of the requestor has read access privileges before requesting access to the transaction data.

3. The method of claim 1 , further comprising:

receiving a request to write data associated with the transaction data; and

determining whether the request to write is permitted by the privileges of the transaction data by a smart contract.

4. The method of claim 1 , wherein the transaction data is decrypted in response to receiving a threshold number of shared secrets.

5. The method of claim 1 , wherein a decryption key is recovered from received shared secrets.

6. The method of claim 1 , wherein denying access to the transaction data is in response to a number of received shared secrets being below a threshold for recovering a key for encryption.

7. The method of claim 1 , further comprising:

defining object and metadata for the transaction data to be stored in the blockchain including identification of access privileges for objects and fields.

8. A computer system of a host organization configured to perform a method for providing a right to forget data in a blockchain, the computer system providing a blockchain interface to the blockchain on behalf of a plurality of tenants of the host organization that serve as nodes in a blockchain network, the computer system comprising:

a computer readable medium having stored therein the blockchain interface and a permissions manager; and

a processor coupled to the blockchain interface, the processor configured to execute the blockchain interface and the permissions manager, the permissions manager to receive a request including an identifier of a requestor, the request to access transaction data having defined privileges, to request access to the transaction data from nodes in the blockchain network, the requesting access including the identifier of the requestor, to receive one or more shared secrets from one or more owner nodes in the blockchain network, wherein receiving the one or more shared secrets indicates approval by the respective one or more owner nodes to access the transaction data by the requestor, and to deny access to the transaction data in response to receiving an insufficient number of the one or more shared secrets from the one or more owner nodes to establish consensus by the blockchain network, indicating the requestor does not meet requirements of the defined privileges of the transaction data.

9. The computer system of claim 8 , wherein the permissions manager is further to determine whether the identifier of the requestor has read access privileges before requesting access to the transaction data.

10. The computer system of claim 8 , wherein the permissions manager is further to receive a request to write data associated with the transaction data, and to determine whether the request to write is permitted by the privileges of the transaction data by a smart contract.

11. The computer system of claim 8 , wherein the transaction data is decrypted in response to receiving a threshold number of shared secrets.

12. The computer system of claim 8 , wherein a decryption key is recovered from received shared secrets.

13. The computer system of claim 8 , wherein denying access to the transaction data is in response to a number of received shared secrets being below a threshold for recovering a key for encryption.

14. The computer system of claim 8 , wherein the permissions manager is further to define object and metadata for the transaction data to be stored in the blockchain including identification of access privileges for objects and fields.

15. A non-transitory computer-readable medium having stored therein a set of instructions, which when executed cause a computer system of a host organization to perform a set of operations of a method for managing read access of data in a blockchain, the computer system providing a blockchain interface to the blockchain on behalf of a plurality of tenants of the host organization that serve as nodes in a blockchain network, the set of operations comprising:

receiving a request including an identifier of a requestor, the request to access transaction data having defined privileges;

requesting access to the transaction data from nodes in the blockchain network, the requesting access including the identifier of the requestor;

receiving one or more shared secrets from an-one or more owner nodes in the blockchain network, wherein receiving the one or more shared indicates approval by the respective one or more owner nodes to access the transaction data by the requestor; and

denying access to the transaction data in response to receiving an insufficient number of the one or more shared secrets from the one or more owner nodes to establish consensus by the blockchain network, indicating the requestor does not meet requirements of the defined privileges of the transaction data.

16. The non-transitory computer-readable medium of claim 15 , the set of operations further comprising: determining whether the identifier of the requestor has read access privileges before requesting access to the transaction data.

17. The non-transitory computer-readable medium of claim 15 , the set of operations further comprising: receiving a request to write data associated with the transaction data; and determining whether the request to write is permitted by the privileges of the transaction data by a smart contract.

18. The non-transitory computer-readable medium of claim 15 , wherein the transaction data is decrypted in response to receiving a threshold number of shared secrets.

19. The non-transitory computer-readable medium of claim 15 , wherein a decryption key is recovered from received shared secrets.

20. The non-transitory computer-readable medium of claim 15 , wherein denying access to the transaction data is in response to a number of received shared secrets being below a threshold for recovering a key for encryption.

Assignments (2)
CHANGE OF NAME Recorded Feb 17, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062794/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2019
From: PADMANABHAN, PRITHVI KRISHNAN
To: SALESFORCE.COM, INC.
Reel/Frame 050921/0596 →
Continuity (2)
Provisional Application 62851589 · May 22, 2019
Related Publication 20200374106A1 · Nov 26, 2020
Cited By (11)
US 12,354,089 US 12,375,281 US 12,380,430 US 12,452,066 US 12,469,077 US 12,526,155 US 12,609,917 US 12,632,442 US 12,645,674 US 12,670,151 US 12,688,196