Application Attestation Engine for Compromised Mobile Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing mobile device attestation methods are ineffective against compromised devices, as hackers can spoof attestation by rooting or altering software, leading to security breaches and unauthorized access to servers.
Innovation Solution
Implementing a secure attestation engine in a trusted execution environment (TEE) that conditions access to attestation data based on initial verification of application identity and state, using a secure element to store attestation keys and certificates, and performing multi-layered attestation to ensure the legitimacy and trustworthiness of applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional mobile device attestation methods are used, then device identification is simplified, but security reliability deteriorates because hackers can spoof attestation by rooting or altering software
Solution Approach 1:
The attestation system is segmented into multiple independent layers: client device attestation layer, application attestation layer, and server verification layer. Each layer performs specific verification functions, with the application attestation layer specifically targeting software integrity and identity verification independent of device root status
Solution Approach 2:
A dedicated attestation engine acts as an intermediary component between the application and the server. This intermediary performs preliminary verification of application identity and state before allowing server access, preventing direct attacks on the server while maintaining security without requiring complex device-level modifications
2Reliability
If multi-layered attestation is implemented to verify application identity and state, then security against compromised devices is improved, but the complexity of the attestation process increases
Solution Approach 1:
The system performs preliminary attestation verification before allowing application access to server resources. The attestation engine verifies application identity and state in advance, establishing trust before the actual data transfer or processing occurs, thereby preventing security breaches rather than responding to them
Solution Approach 2:
The attestation process is divided into distinct sequential steps: device attestation (optional), application attestation (mandatory), and server verification. This segmentation allows each verification layer to operate independently with well-defined interfaces, making the overall complex process more manageable and implementable
3Reliability
If access to attestation data is conditioned on initial verification of application identity, then unauthorized access is prevented, but the speed of application access is reduced
Solution Approach 1:
Application identity and state verification is performed in advance before the application attempts to access server resources. This preliminary action establishes security clearance status beforehand, allowing subsequent access operations to proceed at full speed without repeated verification delays
Solution Approach 2:
Once application attestation is successfully completed and the application is authorized, the system maintains continuous access without requiring repeated verification. The attestation result is valid for the duration of the session, allowing uninterrupted and high-speed access to server resources throughout the application's operational lifecycle
Data Source
AI summary
A device receives, from an application, a request to access an attestation key stored in a secure element of the device. The device obtains an attestation policy, by which to verify an identity of the application. The device examines an application file associated with the application, to determine whether the application file satisfies the attestation policy. The device selectively generates a temporary key based on a result of examining the application file. The temporary key may be used to access the attestation key. The temporary key may be generated based on the application file satisfying the attestation policy, and may not be generated based on the application file not satisfying the attestation policy.


