IP Library Granted Patent US 11,606,209
Granted Patent B2
US 11,606,209 · App. 17/054,285 · Granted Mar 14, 2023

Blockchain based access control using time-dependent obfuscation of access tokens

Inventors: Gary Mawdsley (Manchester, GB); Dmitry Tishkovsky (Manchester, GB)
Assignee: LOCKULAR LIMITED
H04L9/3213G06F21/602H04L9/3297
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,606,209
App. No.
17/054,285
Granted
Mar 14, 2023
Kind
B2
Abstract

There is provided a computer-implemented method for managing third-party access to data, to increase data security and/or privacy. The method comprises receiving, from a third-party computer, a request to access data, wherein the request is indicative of at least one requested operation. A validity of each of the requested operations is determined in dependence on permission data stored in a distributed public ledger. The permissions data defines, for said third-party computer, a set of permissible operations and one or more permissible data attributes associated with each of the set of permissible operations. The request and the validity are logged in the distributed public ledger. For each of the requested operations, if the requested operation is valid, there is created, on the public ledger, an electronic token enabling the third-Valid party computer to obtain access to one or more of the permissible data attributes associated with the requested operation, wherein the electronic token comprises information indicative of a location of the data attributes. A time-dependent transformation is applied to an element of the electronic token, and the electronic token is communicated from the public ledger to the third-party computer.

Claims (59)

1. A computer-implemented method for managing third-party access to data, comprising:

receiving, from a third-party computer, a request to access data, wherein the request is indicative of at least one requested operation;

determining a validity of each of the at least one requested operations indicated in the request in dependence on permission data stored in a distributed public ledger, wherein said permissions data defines, for said third-party computer, a plurality of permissible operations and one or more permissible data attributes associated with each of the plurality of permissible operations, wherein each of the plurality of permissible operations is an operation which may be performed using the data;

logging the request and the validity in the distributed public ledger;

for each of the at least one requested operations, if the requested operation is valid, creating, on the public ledger, an electronic token enabling the third-party computer to obtain access to one or more of the permissible data attributes associated with the requested operation, wherein the electronic token comprises a reverse obfuscation transformation for reversing obfuscation applied to the data attributes and at least one URL indicative of a location of the obfuscated data attributes;

applying a time-dependent transformation to the reverse obfuscation transformation to create an access transformation;

communicating the electronic token from the public ledger to the third-party computer;

following the at least one URL to the location of the obfuscated permissible data attributes;

sending, to the distributed public ledger from the location of the obfuscated permissible data attributes, a query to determine the validity of the URL, wherein determining the validity of the URL comprises checking whether the request was logged in the distributed public ledger;

logging information contained in the URL in the distributed public ledger; and

if the URL is determined to be valid:

selecting, at the public ledger, a further time-dependent transformation;

communicating the further time-dependent transformation to the location of the obfuscated permissible data attribute;

applying the further time-dependent transformation to the obfuscated permissible data attribute; and

returning the obfuscated permissible data attribute to the third-party computer.

2. The method of claim 1 , wherein determining the validity of each of the at least one requested operations comprises determining if each of the at least one requested operations is a permissible operation.

3. The method of claim 1 , further comprising a step of logging the permission data in the distributed public ledger.

4. The method of claim 1 , further comprising a step of logging the electronic token in the distributed public ledger.

5. The method of claim 1 , wherein the distributed public ledger provides nonrepudiation of the request and the validity.

6. The method of claim 1 , wherein the distributed public ledger is a blockchain.

7. The method of claim 1 , further comprising a step of communicating the request to a host of the data.

8. The method of claim 1 , wherein the URL further comprises an ID of the third-party computer and an ID of an owner of the data.

9. The method of claim 1 , comprising a step of selecting the time-dependent transformation, which step comprises starting a time window, wherein the electronic token is not sufficient to enable access to the permissible data after the time window lapses.

10. The method of claim 9 , wherein the step of selecting a further time-dependent transformation comprises determining if the time window has lapsed and selecting the further time-dependent transformation in dependence thereon.

11. The method of claim 10 , wherein, if the time window has not lapsed, the further time-dependent transformation is selected to be the inverse of the time-dependent transformation applied to the element of the electronic token.

12. The method of claim 1 , wherein:

the data requested is in at least a first fragment and a second fragment, wherein the first and second fragments are stored separately; and

creating the electronic token comprises including in the electronic token information corresponding to the locations of the first and second fragments.

13. The method of claim 12 , further comprising the step of retrieving transformation information corresponding to the fragments of data, and wherein creating the electronic token comprises including the transformation information in the electronic token; and optionally wherein the time-dependent transformation is applied to the transformation information.

14. A computing apparatus comprising a memory and one or more processors, wherein the memory comprises computer readable code which, when executed by the one or more processors, is arranged to perform a method, the method comprising the steps of:

receiving, from a third-party computer, a request to access data, wherein the request is indicative of at least one requested operation;

determining a validity of each of the at least one requested operations indicated in the request in dependence on permission data stored in a distributed public ledger, wherein said permissions data defines, for said third-party computer, a plurality of permissible operations and one or more permissible data attributes associated with each of the plurality of permissible operations, wherein each of the plurality of permissible operations is an operation which may be performed using the data;

logging the request and the validity in the distributed public ledger;

for each of the at least one requested operations, if the requested operation is valid, creating, on the public ledger, an electronic token enabling the third-party computer to obtain access to one or more of the permissible data attributes associated with the requested operation, wherein the electronic token comprises a reverse obfuscation transformation for reversing obfuscation applied to the data attributes and at least one URL indicative of a location of the obfuscated data attributes;

applying a time-dependent transformation to the reverse obfuscation transformation to create an access transformation;

communicating the electronic token from the public ledger to the third-party computer;

following the at least one URL to the location of the obfuscated permissible data attributes;

sending, to the distributed public ledger from the location of the obfuscated permissible data attributes, a query to determine the validity of the URL, wherein determining the validity of the URL comprises checking whether the request was logged in the distributed public ledger;

logging information contained in the URL in the distributed public ledger; and

if the URL is determined to be valid:

selecting, at the public ledger, a further time-dependent transformation;

communicating the further time-dependent transformation to the location of the obfuscated permissible data attribute;

applying the further time-dependent transformation to the obfuscated permissible data attribute; and

returning the obfuscated permissible data attribute to the third-party computer.

15. A non-transitory computer-readable data storage medium storing computer-readable instructions which, when executed by one or more processors, perform a method comprising steps of:

receiving, from a third-party computer, a request to access data, wherein the request is indicative of at least one requested operation;

determining a validity of each of the at least one requested operations indicated in the request in dependence on permission data stored in a distributed public ledger, wherein said permissions data defines, for said third-party computer, a plurality of permissible operations and one or more permissible data attributes associated with each of the plurality of permissible operations, wherein each of the plurality of permissible operations is an operation which may be performed using the data;

logging the request and the validity in the distributed public ledger;

for each of the at least one requested operations, if the requested operation is valid, creating, on the public ledger, an electronic token enabling the third-party computer to obtain access to one or more of the permissible data attributes associated with the requested operation, wherein the electronic token comprises a reverse obfuscation transformation for reversing obfuscation applied to the data attributes and at least one URL indicative of a location of the obfuscated data attributes;

applying a time-dependent transformation to the reverse obfuscation transformation to create an access transformation;

communicating the electronic token from the public ledger to the third-party computer;

following the at least one URL to the location of the obfuscated permissible data attributes;

sending, to the distributed public ledger from the location of the obfuscated permissible data attributes, a query to determine the validity of the URL, wherein determining the validity of the URL comprises checking whether the request was logged in the distributed public ledger;

logging information contained in the URL in the distributed public ledger; and

if the URL is determined to be valid:

selecting, at the public ledger, a further time-dependent transformation;

communicating the further time-dependent transformation to the location of the obfuscated permissible data attribute;

applying the further time-dependent transformation to the obfuscated permissible data attribute; and

returning the obfuscated permissible data attribute to the third-party computer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2021
From: MAWDSLEY, GARY; TISHKOVSKY, DMITRY
To: LOCKULAR LIMITED
Reel/Frame 055257/0085 →
CHANGE OF NAME Recorded Jan 5, 2021
From: DATA SIGNALS LIMITED
To: LOCKULAR LIMITED
Reel/Frame 054806/0993 →
Priority Claims (1)
GB 1809225 · Jun 5, 2018 · national
Continuity (1)
Related Publication 20210075616A1 · Mar 11, 2021