Thwarting attacks that involve analyzing hardware sensor output
First Claim
1. A portable electronic device, comprising:
- a processor;
a hardware sensor integrated in the portable electronic device, the hardware sensor operable to produce hardware sensor output indicative of orientation or motion or both of the portable electronic device within an environment;
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;
a memory coupled to the processor, the memory storing;
an operating system;
a sensor driver for use by the operating system to interface with the hardware sensor;
a user-input driver for use by the operating system to interface with the hardware user-input component, the user-input driver and operating system jointly operable to detect touch events involving the elements; and
a software application,wherein the software application is executable by the processor as a process that runs in foreground during times when the operating system is operable to notify the process of any detected touch events involving the elements and that runs in background during times when the operating system is operable not to notify the process of any detected touch events involving the elements, andwherein, while the software application is executed by the processor as the process, the sensor driver or the operating system or both are configured to control what hardware sensor output produced by the hardware sensor, if any, is available to the process as follows;
any of the hardware sensor output sampled using the sensor driver during time periods throughout which the process is running in the foreground and produced by the hardware sensor is available to the process, and any of the hardware sensor output sampled using the sensor driver during time periods throughout which the process is running in the background and produced by the hardware sensor is not available to the process.
4 Assignments
0 Petitions
Accused Products
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.
-
Citations
32 Claims
-
1. A portable electronic device, comprising:
-
a processor; a hardware sensor integrated in the portable electronic device, the hardware sensor operable to produce hardware sensor output indicative of orientation or motion or both of the portable electronic device within an environment; 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; a memory coupled to the processor, the memory storing; an operating system; a sensor driver for use by the operating system to interface with the hardware sensor; a user-input driver for use by the operating system to interface with the hardware user-input component, the user-input driver and operating system jointly operable to detect touch events involving the elements; and a software application, wherein the software application is executable by the processor as a process that runs in foreground during times when the operating system is operable to notify the process of any detected touch events involving the elements and that runs in background during times when the operating system is operable not to notify the process of any detected touch events involving the elements, and wherein, while the software application is executed by the processor as the process, the sensor driver or the operating system or both are configured to control what hardware sensor output produced by the hardware sensor, if any, is available to the process as follows;
any of the hardware sensor output sampled using the sensor driver during time periods throughout which the process is running in the foreground and produced by the hardware sensor is available to the process, and any of the hardware sensor output sampled using the sensor driver during time periods throughout which the process is running in the background and produced by the hardware sensor is not available to the process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A portable electronic device, comprising:
-
a processor; a hardware sensor integrated in the portable electronic device, the hardware sensor operable to produce hardware sensor output indicative of orientation or motion or both of the portable electronic device within an environment; 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; a memory coupled to the processor, the memory storing; an operating system; a sensor driver for use by the operating system to interface with the hardware sensor; a user-input driver for use by the operating, system to interface with the hardware user-input component, the user-input driver and operating system jointly operable to detect touch events involving the elements; and a software application, wherein the software application is executable by the processor as a process that runs in foreground during times when the operating system is operable to notify the process of any detected touch events involving the elements and that runs in background during times when the operating system is operable not to notify the process of any detected touch events involving the elements, and wherein, while the software application is executed by the processor as the process, the sensor driver or the operating system or both are configured to control what hardware sensor output produced by the hardware sensor integrated in the portable electronic device, if any, is available to the process as follows;
any of the hardware sensor output sampled using the sensor driver during touch event windows that occur during time periods throughout which the process is running in the background and produced by the hardware sensor is not available to the process, and any of the hardware sensor output sampled using the sensor driver at all other times during execution of the software application and produced by the hardware sensor is available to the process, wherein a touch event window of the touch event windows starts prior to detection of a particular touch event involving one of the elements and ends sometime after detection of the particular touch event. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method performed in a portable electronic device, the method comprising:
-
controlling, by a sensor driver of the portable electronic device or an operating system of the portable electronic device or both, what hardware sensor output produced by a hardware sensor integrated in the portable electronic device, if any, is available to a process resulting from execution of a software application by a processor of the portable electronic device, as follows; making any of the hardware sensor output sampled using the sensor driver during time periods throughout which the process is running in foreground and produced by the hardware sensor available to the process; and making any of the hardware sensor output sampled using the sensor driver during time periods throughout which the process is running in background and produced by the hardware sensor not available to the process, wherein the hardware sensor output is indicative of orientation or motion or both of the portable electronic device within an environment, 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 the operating system of the portable electronic device is operable to notify the process of any detected 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 touch events involving the elements. - View Dependent Claims (30, 31)
-
-
32. 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, by a sensor driver of the portable electronic device or an operating system of the portable electronic device or both, what hardware sensor output produced by a hardware sensor integrated in the portable electronic device, if any, is available to a process resulting from execution of a software application by a processor of the portable electronic device, as follows; making any of the hardware sensor output sampled using the sensor driver during time periods throughout which the process is running in foreground and produced by the hardware sensor available to the process; and making any of the hardware sensor output sampled using the sensor driver during time periods throughout which the process is running in background and produced by the hardware sensor not available to the process, wherein the hardware sensor output is indicative of orientation or motion or both of the portable electronic device within an environment, 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 the operating system of the portable electronic device is operable to notify the process of any detected 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 touch events involving the elements.
-
Specification