Touchscreen Input Security via Secure Execution Environment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Touchscreen input devices face security vulnerabilities as high-level operating systems (HLOS) can be susceptible to attacks, allowing unauthorized access to user inputs, especially when the touchscreen driver is executed in a trusted execution environment (TEE) and relies on mapping information from an insecure HLOS.
Innovation Solution
Implementing a secure execution environment with a touchscreen driver that generates and manages keypad images independently, converting input location coordinates to characters or symbols within the secure environment, and providing these images to the insecure execution environment for display, ensuring that input processing remains secure and isolated from potential HLOS vulnerabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the touchscreen driver is executed in the TEE and relies on mapping information from HLOS, then the system can utilize the flexibility of touchscreen configuration, but the security of input data is compromised due to HLOS vulnerabilities
Solution Approach 1:
The system is divided into two separate execution environments: TEE (secure) and HLOS (insecure). The touchscreen driver is segmented and executed exclusively in the TEE, while HLOS handles only display rendering. This segmentation prevents HLOS from accessing sensitive input data while maintaining touchscreen configuration flexibility through inter-environment communication protocols.
Solution Approach 2:
A secure communication interface acts as an intermediary between TEE and HLOS. The TEE generates keypad images and receives touchscreen inputs securely, then communicates with HLOS only through defined interfaces for display purposes. This intermediary mechanism allows HLOS to render the UI while preventing it from accessing or modifying sensitive input data.
2Ease of operation
If HLOS controls the display and keyboard mapping, then visual feedback and user interface flexibility are improved, but unauthorized access to input information becomes possible
Solution Approach 1:
The sensitive functions of keyboard mapping and input processing are extracted from HLOS and relocated to the TEE. HLOS retains only the non-sensitive display rendering function, while the TEE handles key generation, mapping, and input processing. This extraction eliminates HLOS's ability to access input data while preserving visual feedback quality through controlled rendering.
Solution Approach 2:
Different parts of the system are assigned different security qualities: the TEE operates with high security constraints for input processing, while HLOS operates with lower security constraints for display rendering. This local quality differentiation allows visual feedback to be rendered flexibly in HLOS while maintaining strict security for input data in the TEE.
3Device complexity
If the touchscreen provides only coordinate output without tactile feedback, then device integration is simplified, but secure input becomes more difficult to implement
Solution Approach 1:
The system creates a virtual representation of physical keyboard feedback through software-generated keypad images displayed on the touchscreen. The TEE generates these visual representations that simulate physical key presses, providing users with visual confirmation of input while maintaining the simplified touchscreen hardware architecture. This copying approach delivers tactile-like feedback without requiring additional physical components.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
A method and apparatus is provided for securely obtaining input from a touchscreen. A secure execution environment may be implemented (e.g., at a processor), where the secure execution environment may include a touchscreen driver. A keypad image may be sent from the secure execution environment to be displayed by a touchscreen. An input location may be received at the secure execution environment from the touchscreen driver. Such input location may be converted at the secure execution environment into a character, symbol, or a request to change the keypad image displayed at the touchscreen. In one implementation, the secure execution environment may further implement a display driver which sends the keypad image to the touchscreen. The secure execution environment may implement driver keypad image mapping function that maps the keypad image to a character set.