IP Library › Granted Patent US 10,706,159
Granted Patent B2
US 10,706,159 · App. 15/623,318 · Granted Jul 7, 2020

Technologies for dynamically protecting memory of mobile compute device with geofencing

Inventors: Siddhartha Chhabra (Hillsboro, OR); Prashant Dewan (Hillsboro, OR)
Assignee: Intel Corporation
G06F21/602G06F21/6218G06F21/78H04L63/107H04W4/021H04W12/08G06F2221/2111H04W88/02
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,706,159
App. No.
15/623,318
Granted
Jul 7, 2020
Kind
B2
Abstract

Technologies for dynamically protecting memory of the mobile compute device include a main memory, a location sensor that produces sensor data indicative of a present location of the mobile compute device, a sensor hub communicatively coupled to the location sensor, and a security engine communicatively coupled to the sensor hub. The sensor hub determines a present location security zone of the mobile compute device based on the present location of the mobile compute device and a geofence policy, which maps locations to location security zones. The security engine encrypts the main memory of the mobile compute device and determines whether the present location security zone has changed relative to a most-previous location security zone of the mobile compute device. If the present location security zone has changed to a safe zone, the security engine decrypts the main memory.

Claims (53)

1. A mobile compute device for dynamically protecting memory of the mobile compute device, the mobile compute device comprising:

a main memory;

a location sensor to produce sensor data indicative of a present location of the mobile compute device; and

a sensor hub communicatively coupled to the location sensor, wherein the sensor hub is to determine a present location security zone of the mobile compute device based on the present location of the mobile compute device and a geofence policy managed by the sensor hub, wherein the geofence policy maps locations to location security zones; and

a security engine communicatively coupled to the sensor hub, wherein the security engine is to (i) encrypt the main memory, (ii) determine whether the present location security zone has changed relative to a most-previous location security zone of the mobile compute device, and (iii) decrypt the main memory of the mobile compute device in a page-by-page progression in response to a determination the present location security zone has changed and is a safe zone;

wherein to decrypt the main memory of the mobile compute device in a page-by-page progression comprises to (i) fetch a next page of main memory to be decrypted; (ii) store an address of the next page in a status register of the security engine; and (iii) decrypt the next page of the main memory of the mobile compute device.

2. The mobile compute device of claim 1 , wherein to determine the present location security zone comprises to determine whether the mobile compute device is presently in a safe zone or an unsafe zone based on the present location of the mobile compute device and the geofence policy.

3. The mobile compute device of claim 1 , wherein the security engine includes a status register, and

wherein the sensor hub is to set an activation status flag of the status register of the security engine to cause the security engine to decrypt the main memory.

4. The mobile compute device of claim 3 , further comprising a dedicated interconnect that communicatively couples the sensor hub to the security engine,

wherein to set the activation status flag comprises to communicate with the security engine over the dedicated interconnect to set the activation status flag of the status register of the security engine.

5. The mobile compute device of claim 1 , wherein the security engine is further to:

monitor for a memory request while decrypting the next page of the main memory;

determine whether the memory request is associated with the next page; and

buffer the memory request while the next page of the main memory is being decrypted in response to a determination that the memory request is associated with the next page.

6. The mobile compute device of claim 5 , wherein the mobile compute device is to perform the memory request associated with the next page in response to a determination that the next page has been decrypted.

7. The mobile compute device of claim 6 , wherein the security engine is to re-encrypt the main memory in a page-by-page progression in response to a determination that the present location security zone of the mobile compute device has changed again and is an unsafe zone.

8. A method for dynamically protecting main memory of a mobile compute device, the method comprising:

encrypting, by the mobile compute device, the main memory;

determining, by the mobile compute device, a present location of the mobile compute device;

determining, by the mobile compute device, a present location security zone of the mobile compute device based on the present location of the mobile compute device and a geofence policy, wherein the geofence policy maps locations to location security zones;

determining, by the mobile compute device, whether the present location security zone has changed relative to a most-previous location security zone of the mobile compute device; and

decrypting, by a security engine of the mobile compute device, the main memory of the mobile compute device in a page-by-page progression in response to a determination the present location security zone has changed and is a safe zone;

wherein decrypting the main memory of the mobile compute device in a page-by-page progression comprises:

fetching, by the security engine, a next page of main memory to be decrypted;

storing, by the security engine, an address of the next page in a status register of the security engine; and

decrypting, by the security engine, the next page of the main memory of the mobile compute device.

9. The method of claim 8 , wherein determining the present location security zone comprises determining, by a sensor hub of the mobile compute device, a present location security zone of the mobile compute device based on the present location of the mobile compute device and a geofence policy maintained by the sensor hub.

10. The method of claim 8 , wherein decrypting the main memory of the mobile compute device comprises decrypting, by a security engine of the mobile compute device, the main memory in response to the determination the present location security zone has changed and is a safe zone.

11. The method of claim 10 , wherein decrypting the main memory of the mobile compute device comprises communicating, by the sensor hub, with the security engine over a dedication interconnect to set a status flag of a status register of the security engine.

12. The method of claim 8 , further comprising:

monitoring, by the mobile compute device, for a memory request while decrypting the next page of the main memory of the mobile compute device;

determining, by the security engine, whether the memory request is associated with the next page; and

buffering, by the security engine, the memory request while decrypting the next page of the main memory in response to a determination that the memory request is associated with the next page.

13. The method of claim 12 , further comprising re-encrypting, by the security engine, the main memory of the mobile compute device in a page-by-page progression in response to a determination that the present location security zone of the mobile compute device has changed again and is an unsafe zone.

14. One or more non-transitory, machine-readable storage media comprising a plurality of instructions stored thereon that, when executed, causes a mobile compute device to:

encrypt the main memory;

determine a present location of the mobile compute device;

determine a present location security zone of the mobile compute device based on the present location of the mobile compute device and a geofence policy, wherein the geofence policy maps locations to location security zones;

determine whether the present location security zone has changed relative to a most-previous location security zone of the mobile compute device; and

decrypt, by a security engine of the mobile compute device, the main memory of the mobile compute device in a page-by-page progression in response to a determination the present location security zone has changed and is a safe zone;

wherein to decrypt the main memory of the mobile compute device in a page-by-page progression comprises to:

fetch, by the security engine, a next page of main memory to be decrypted;

store, by the security engine, an address of the next page in a status register of the security engine; and

decrypt, by the security engine, the next page of the main memory of the mobile compute device.

15. The one or more non-transitory, machine-readable storage media of claim 14 , wherein to determine the present location security zone comprises to determine a present location security zone of the mobile compute device based on the present location of the mobile compute device and a geofence policy maintained by a sensor hub of the mobile compute device.

16. The one or more non-transitory, machine-readable storage media of claim 14 , wherein to decrypt the main memory of the mobile compute device comprises to decrypt the main memory in response to the determination the present location security zone has changed and is a safe zone.

17. The one or more non-transitory, machine-readable storage media of claim 16 , wherein to decrypt the main memory of the mobile compute device comprises to communicate, by the sensor hub, with the security engine over a dedication interconnect to set a status flag of a status register of the security engine.

18. The one or more non-transitory, machine-readable storage media of claim 14 , wherein the plurality of instructions, when executed, further causes the mobile compute device to:

monitor for a memory request while decrypting the next page of the main memory of the mobile compute device;

determine whether the memory request is associated with the next page; and

buffer the memory request while decrypting the next page of the main memory in response to a determination that the memory request is associated with the next page.

19. The one or more non-transitory, machine-readable storage media of claim 18 , wherein the plurality of instructions, when executed, further causes the mobile compute device to re-encrypt the main memory of the mobile compute device in a page-by-page progression in response to a determination that the present location security zone of the mobile compute device has changed again and is an unsafe zone.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2017
From: CHHABRA, SIDDHARTHA; DEWAN, PRASHANT
To: INTEL CORPORATION
Reel/Frame 042981/0099 →
Continuity (1)
Related Publication 20180365432A1 · Dec 20, 2018