IP Library › Granted Patent US 10,325,428
Granted Patent B1
US 10,325,428 · App. 15/987,349 · Granted Jun 18, 2019

Access control using device location tracking and blockchains

Inventors: Manu J. Kurian (Dallas, TX); Joseph B. Castinado (Northglenn, CO)
Assignee: Bank of America Corporation
G07C9/00103G07C9/00309G07C2009/0019
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,325,428
App. No.
15/987,349
Granted
Jun 18, 2019
Kind
B1
Abstract

An access control system that includes Internet of Things sensors and a controller within a controlled area. The controller is configured to detect a guest device for a guest, to link a guest block chain account with the guest, to identify a sponsor associated with the guest, and to identify a sponsor block chain account for the sponsor. The controller is further configured to publish an access control contract to the block chain. The access control contract includes executable instructions for publishing a transaction in the block chain transferring a validation token from the sponsor block chain account to the guest block chain account and conditions linked with the executable instructions. The controller is configured to determine whether the conditions have been satisfied and to send a trigger message that triggers the access control contract to execute the instructions in response to determining the conditions have been satisfied.

Claims (117)

1. An access control system, comprising:

a plurality of Internet of Things (IoT) sensors within a controlled area, wherein each IoT sensor is configured to:

determine a current guest location based on a signal strength between an IoT sensor and a guest device; and

determine a current sponsor location based on a signal strength between an IoT sensor and a sponsor device; and

a controller in signal communication with the plurality of IoT sensors, comprising:

a memory operable to store a block chain ledger comprising a plurality of block chain transactions; and

a network interface configured to receive data from the plurality of IoT sensors; and

an access control engine operably coupled to the memory and the network interface, configured to:

detect a guest device for a guest within the controlled area;

link a guest block chain account with the guest;

identify a sponsor associated with the guest;

identify a sponsor block chain account linked with the sponsor;

publish an access control contract to the block chain, wherein the access control contract comprises:

executable instructions for publishing a transaction in the block chain transferring a validation token from the sponsor block chain account to the guest block chain account, wherein the validation token indicates the guest is authorized to access the controlled area; and

conditions linked with the executable instructions, wherein:

 the conditions identify a range threshold value indicating a maximum distance between a current guest location and a current sponsor location; and

 the instructions are executed when the conditions are satisfied;

periodically determine whether the conditions have been satisfied, wherein determining whether the conditions have been satisfied configures the access control engine to:

receive the current guest location from one or more IoT sensors;

receive the current sponsor location from one or more IoT sensors;

determine a location difference between the current guest location and the current sponsor location; and

determine the conditions have been satisfied when the location difference is less than the range threshold value; and

send a trigger message to the access control contract in response to determining the conditions have been satisfied, wherein sending the trigger message triggers the access control contract to execute the instructions that transfer a validation token from the sponsor block chain account to the guest block chain account.

2. The system of claim 1 , wherein:

the conditions identify a time period; and

wherein determining whether the conditions have been satisfied configures the access control engine to:

determine a current time; and

determine the conditions are satisfied when the location difference is less than the range threshold value when the current time is within the time period.

3. The system of claim 1 , wherein the access control engine is further configured to:

determine the guest is in a restricted access area based on the current guest location; and

reduce the range threshold value used for determining whether the conditions have been satisfied in response to determining that the guest is in a restricted area.

4. The system of claim 1 , wherein:

the access control contract comprises:

termination instructions to suspend transferring credits from the sponsor block chain account to the guest block chain account; and

termination conditions linked with the termination instructions wherein the termination instructions are executed when the termination conditions are satisfied; and

the access control engine is further configured to:

determine the guest has left the controlled area; and

send a terminate message to the access control contract in response to determining the guest has left the controlled area, wherein sending the terminate message triggers the access control contract to execute the terminate instructions to suspend transferring credits from the sponsor block chain account to the guest block chain account.

5. The system of claim 1 , wherein periodically determining whether the conditions have been satisfied occurs at predetermined time intervals.

6. The system of claim 1 , wherein the plurality of IoT sensors are configured to use near-field communication (NFC) to determine the signal strength between an IoT sensor and the guest device.

7. The system of claim 1 , wherein:

the validation token is invalid after a predetermined amount of time; and

the guest loses authorization to access the controlled area when there are no valid validation tokens.

8. An access control method, comprising:

detecting, by an access control engine implemented by a processor, a guest device for a guest within a controlled area;

linking, by the access control engine, a guest block chain account with the guest;

identifying, by the access control engine, a sponsor associated with the guest;

identifying, by the access control engine, a sponsor block chain account linked with the sponsor;

publishing, by the access control engine, an access control contract to a block chain, wherein the access control contract comprises:

executable instructions for publishing a transaction in the block chain transferring a validation token from the sponsor block chain account to the guest block chain account, wherein the validation token indicates the guest is authorized to access the controlled area; and

conditions linked with the executable instructions, wherein:

the conditions identify a range threshold value indicating a maximum distance between a current guest location and a current sponsor location; and

the instructions are executed when the conditions are satisfied;

periodically determining, by the access control engine, whether the conditions have been satisfied, comprising:

receiving the current guest location from one or more Internet of Things (IoT) sensors;

receiving the current sponsor location from one or more IoT sensors;

determining a location difference between the current guest location and the current sponsor location; and

determining the conditions have been satisfied when the location difference is less than the range threshold value; and

sending, by the access control engine, a trigger message to the access control contract in response to determining the conditions have been satisfied, wherein sending the trigger message triggers the access control contract to execute the instructions for transferring a validation token from the sponsor block chain account to the guest block chain account.

9. The method of claim 8 , wherein:

the conditions identify a time period; and

determining whether the conditions have been satisfied further comprises:

determining a current time; and

determining the conditions are satisfied when the location difference is less than the range threshold value when the current time is within the time period.

10. The method of claim 8 , further comprising:

determining, by the access control engine, the guest is in a restricted access area based on the current guest location; and

reducing, by the access control engine, the range threshold value used for determining whether the conditions have been satisfied in response to determining that the guest is in a restricted area.

11. The method of claim 8 , wherein:

the access control contract comprises:

termination instructions to suspend transferring credits from the sponsor block chain account to the guest block chain account; and

termination conditions linked with the termination instructions wherein the termination instructions are executed when the termination conditions are satisfied; and

further comprising:

determining, by the access control engine, the guest has left the controlled area; and

sending, by the access control engine, a terminate message to the access control contract in response to determining the guest has left the controlled area, wherein sending the terminate message triggers the access control contract to execute the terminate instructions to suspend transferring credits from the sponsor block chain account to the guest block chain account.

12. The method of claim 8 , wherein periodically determining whether the conditions have been satisfied occurs at predetermined time intervals.

13. The method of claim 8 , wherein determining the current guest location comprises using near-field communication (NFC) to determine the signal strength between an IoT sensor and the guest device.

14. The method of claim 8 , wherein:

the validation token is invalid after a predetermined amount of time; and

the guest loses authorization to access the controlled area when there are no valid validation tokens.

15. An access control device, comprising:

a memory operable to store a block chain ledger comprising a plurality of block chain transactions; and

a network interface configured to receive data from a plurality of Internet of Things (IoT) sensors; and

an access control engine operably coupled to the memory and the network interface, configured to:

detect a guest device for a guest within a controlled area;

link a guest block chain account with the guest;

identify a sponsor associated with the guest;

identify a sponsor block chain account linked with the sponsor;

publish an access control contract to the block chain, wherein the access control contract comprises:

executable instructions for publishing a transaction in the block chain transferring a validation token from the sponsor block chain account to the guest block chain account, wherein the validation token indicates the guest is authorized to access the controlled area; and

conditions linked with the executable instructions, wherein:

the conditions identify a range threshold value indicating a maximum distance between a current guest location and a current sponsor location; and

the instructions are executed when the conditions are satisfied;

periodically determine whether the conditions have been satisfied, wherein determining whether the conditions have been satisfied configures the access control engine to:

receive the current guest location from one or more IoT sensors;

receive the current sponsor location from one or more IoT sensors;

determine a location difference between the current guest location and the current sponsor location; and

determine the conditions have been satisfied when the location difference is less than the range threshold value; and

send a trigger message to the access control contract in response to determining the conditions have been satisfied, wherein sending the trigger message triggers the access control contract to execute the instructions that transfer a validation token from the sponsor block chain account to the guest block chain account.

16. The device of claim 15 , wherein:

the conditions identify a time period; and

wherein determining whether the conditions have been satisfied configures the access control engine to:

determine a current time; and

determine the conditions are satisfied when the location difference is less than the range threshold value when the current time is within the time period.

17. The device of claim 15 , wherein the access control engine is further configured to:

determine the guest is in a restricted access area based on the current guest location; and

reduce the range threshold value used for determining whether the conditions have been satisfied in response to determining that the guest is in a restricted area.

18. The device of claim 15 , wherein:

the access control contract comprises:

termination instructions to suspend transferring credits from the sponsor block chain account to the guest block chain account; and

termination conditions linked with the termination instructions wherein the termination instructions are executed when the termination conditions are satisfied; and

the access control engine is further configured to:

determine the guest has left the controlled area; and

send a terminate message to the access control contract in response to determining the guest has left the controlled area, wherein sending the terminate message triggers the access control contract to execute the terminate instructions to suspend transferring credits from the sponsor block chain account to the guest block chain account.

19. The device of claim 15 , wherein periodically determining whether the conditions have been satisfied occurs at predetermined time intervals.

20. The device of claim 15 , wherein:

the validation token is invalid after a predetermined amount of time; and

the guest loses authorization to access the controlled area when there are no valid validation tokens.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2018
From: KURIAN, MANU J.; CASTINADO, JOSEPH B.
To: BANK OF AMERICA CORPORATION
Reel/Frame 045884/0059 →
Cited By (2)
US 12,406,272 US 12,651,500