IP Library Granted Patent US 9,958,964
Granted Patent B2
US 9,958,964 · App. 15/361,862 · Granted May 1, 2018

Altering sampling rate to thwart attacks that involve analyzing hardware sensor output

Inventor: Glenn Daniel Wurster (Kitchener, CA)
Assignee: BlackBerry Limited
G06F3/0346G06F3/02G06F3/0416G06F3/04886G06F21/51G06F21/75G06F21/83G06F2221/033
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 9,958,964
App. No.
15/361,862
Granted
May 1, 2018
Kind
B2
Abstract

A hardware sensor and a hardware user-input component are integrated in a portable electronic device. The hardware sensor is operable to produce hardware sensor output indicative of orientation or motion or both of the device within its environment. The hardware user-input component has multiple elements operable to accept user input through touch. A user-input driver and the device's operating system are jointly operable to detect touch events involving the elements. A software application stored in the device's memory is executable by the device's processor as a process. A sensor driver or the operating system or both are configured to control what hardware sensor output, if any, is receivable by the process. This control may thwart an attack based on analysis of the hardware sensor output, the attack designed to deduce what user input has been made via multiple elements of the hardware user-input component.

Claims (47)

1. A method performed in a portable electronic device, the method comprising:

controlling how hardware sensor output is available to a process resulting from execution of a software application by a processor of the portable electronic device, as follows:

providing samples of the hardware sensor output sampled during time periods throughout which the process is running in foreground to the process at a sampling rate higher than a threshold; and

providing samples of the hardware sensor output sampled during time periods throughout which the process is running in background to the process at a sampling rate lower than the threshold,

wherein the hardware sensor output is indicative of orientation or motion or both of the portable electronic device within an environment, and the hardware sensor output is produced by a hardware sensor integrated in the portable electronic device,

wherein the portable electronic device comprises a hardware user-input component integrated in the portable electronic device, the hardware user-input component having multiple elements operable to accept user input through touch, and

wherein the process runs in the foreground during times when an operating system of the portable electronic device is operable to notify the process of any detected first touch events involving the elements, and the process runs in the background during times when the operating system is operable not to notify the process of any detected second touch events involving the elements.

2. The method as recited in claim 1 , wherein the hardware user-input component comprises a physical tactile keyboard, the elements comprise keys of the keyboard, and the detected first and second touch events comprise key presses or key releases or both.

3. The method as recited in claim 1 , wherein the hardware user-input component comprises a touchscreen, the elements comprise touch sensors, and the detected first and second touch events comprise presses or releases or both.

4. The method as recited in claim 3 , wherein an image of a virtual keyboard is displayable on the touchscreen and the detected first and second touch events comprise one or more of presses, releases, and swipes of keys of the virtual keyboard.

5. The method as recited in claim 1 , wherein the hardware sensor comprises an accelerometer.

6. The method as recited in claim 1 , wherein the hardware sensor comprises a gyroscope.

7. The method as recited in claim 1 , wherein the hardware sensor comprises a magnetometer.

8. The method as recited in claim 1 , wherein the hardware sensor comprises an eye-tracking sensor.

9. A method performed in a portable electronic device, the method comprising:

controlling what hardware sensor output is available to a process resulting from execution of a software application by a processor of the portable electronic device, as follows:

providing samples of the hardware sensor output sampled during touch event windows that occur during time periods throughout which the process is running in background to the process at a sampling rate lower than a threshold; and

providing samples of the hardware sensor output sampled at all other times during execution of the software application to the process at a sampling rate higher than the threshold,

wherein the hardware sensor output is indicative of orientation or motion or both of the portable electronic device within an environment, and the hardware sensor output is produced by a hardware sensor integrated in the portable electronic device,

wherein the portable electronic device comprises a hardware user-input component integrated in the portable electronic device, the hardware user-input component having multiple elements operable to accept user input through touch,

wherein a touch event window starts prior to detection of a touch event involving the elements and ends sometime after detection of the touch event, and wherein the process runs in the background during times when an operating system of the portable electronic device is operable not to notify the process of any detected touch events involving the elements.

10. The method as recited in claim 9 , wherein the hardware user-input component comprises a physical tactile keyboard, the elements comprise keys of the keyboard, and the detected touch events not to be notified to the process comprise key presses or key releases or both.

11. The method as recited in claim 9 , wherein the hardware user-input component comprises a touchscreen, the elements comprise touch sensors, and the detected touch events not to be notified to the process comprise presses or releases or both.

12. The method as recited in claim 11 , wherein an image of a virtual keyboard is displayable on the touchscreen and the detected touch events not to be notified to the process comprise one or more of presses, releases, and swipes of keys of the virtual keyboard.

13. The method as recited in claim 9 , wherein the hardware sensor comprises an accelerometer.

14. The method as recited in claim 9 , wherein the hardware sensor comprises a gyroscope.

15. The method as recited in claim 9 , wherein the hardware sensor comprises a magnetometer.

16. The method as recited in claim 9 , wherein the hardware sensor comprises an eye-tracking sensor.

17. A non-transitory computer-readable medium having stored thereon instructions which, when executed by a processor of a portable electronic device, cause the processor to perform operations comprising:

controlling how hardware sensor output is available to a process resulting from execution of a software application by the processor of the portable electronic device, as follows:

providing samples of the hardware sensor output sampled during time periods throughout which the process is running in foreground to the process at a sampling rate higher than a threshold; and

providing samples of the hardware sensor output sampled during time periods throughout which the process is running in background to the process at a sampling rate lower than the threshold,

wherein the hardware sensor output is indicative of orientation or motion or both of the portable electronic device within an environment, and the hardware sensor output is produced by a hardware sensor integrated in the portable electronic device,

wherein the portable electronic device comprises a hardware user-input component integrated in the portable electronic device, the hardware user-input component having multiple elements operable to accept user input through touch, and

wherein the process runs in the foreground during times when an operating system of the portable electronic device is operable to notify the process of any detected first touch events involving the elements, and the process runs in the background during times when the operating system is operable not to notify the process of any detected second touch events involving the elements.

18. The non-transitory computer-readable medium as recited in claim 17 , wherein the hardware user-input component comprises a physical tactile keyboard, the elements comprise keys of the keyboard, and the detected first and second touch events comprise key presses or key releases or both.

19. The non-transitory computer-readable medium as recited in claim 17 , wherein the hardware user-input component comprises a touchscreen, the elements comprise touch sensors, and the detected first and second touch events comprise presses or releases or both.

20. A non-transitory computer-readable medium having stored thereon instructions which, when executed by a processor of a portable electronic device, cause the processor to perform operations comprising:

controlling what hardware sensor output is available to a process resulting from execution of a software application by the processor of the portable electronic device, as follows:

providing samples of the hardware sensor output sampled during touch event windows that occur during time periods throughout which the process is running in background to the process at a sampling rate lower than a threshold; and

providing samples of the hardware sensor output sampled at all other times during execution of the software application to the process at a sampling rate higher than the threshold,

wherein the hardware sensor output is indicative of orientation or motion or both of the portable electronic device within an environment, and the hardware sensor output is produced by a hardware sensor integrated in the portable electronic device,

wherein the portable electronic device comprises a hardware user-input component integrated in the portable electronic device, the hardware user-input component having multiple elements operable to accept user input through touch,

wherein a touch event window starts prior to detection of a touch event involving the elements and ends sometime after detection of the touch event, and

wherein the process runs in the background during times when an operating system of the portable electronic device is operable not to notify the process of any detected touch events involving the elements.

21. The non-transitory computer-readable medium as recited in claim 20 , wherein the hardware user-input component comprises a physical tactile keyboard, the elements comprise keys of the keyboard, and the detected touch events not to be notified to the process comprise key presses or key releases or both.

22. The non-transitory computer-readable medium as recited in claim 20 , wherein the hardware user-input component comprises a touchscreen, the elements comprise touch sensors, and the detected touch events not to be notified to the process comprise presses or releases or both.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2017
From: WURSTER, GLENN DANIEL
To: RESEARCH IN MOTION LIMITED
Reel/Frame 044331/0821 →
CHANGE OF NAME Recorded Dec 7, 2017
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 044758/0829 →
Continuity (2)
Continuation 13396871 · Feb 15, 2012
Related Publication 20170075435A1 · Mar 16, 2017