Dynamic Device Identifier Binding for Software Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software applications with modularized components are vulnerable to security threats where a software layer can be extracted from a legitimate device and used on an unauthorized device, compromising sensitive information.
Innovation Solution
A method is implemented to securely bind a software application to a communication device by generating a dynamic device identifier during initialization, which is verified during runtime to ensure execution only on the original device, preventing unauthorized use.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If software applications are modularized with separate software layers, then ease of manufacture and adaptability are improved, but security vulnerability increases as layers can be extracted and used on unauthorized devices
Solution Approach 1:
The patent implements dynamic device identifiers that change based on the runtime environment. The binding information is not static but dynamically generated and verified, making extracted software layers ineffective on unauthorized devices since they cannot replicate the dynamic binding verification process.
Solution Approach 2:
The patent introduces a server as an intermediary that generates and manages binding information. This intermediary layer prevents direct extraction and reuse of software layers by requiring server-mediated authentication, where the server verifies device identifiers and provides binding information that ties the software to specific authorized devices.
2Reliability
If device binding verification is implemented, then security is improved, but device complexity and processing overhead increase
Solution Approach 1:
The patent performs binding verification at initialization time before the software application becomes operational. By completing the authentication and binding check in advance, the system avoids repeated verification overhead during runtime while ensuring security, thus reducing overall processing complexity.
Solution Approach 2:
The patent extracts the complex verification logic to a separate server environment. The mobile device only needs to communicate binding information and device identifiers to the server, which handles the computationally intensive verification processes. This extraction reduces the complexity burden on the resource-constrained mobile device.
Data Source
AI summary
Techniques for securely binding a software application to a communication device may include sending a set of device identifiers associated with the computing device to a server, receiving a server-generated dynamic device identifier that is generated based on the set of device identifiers; and storing the server-generated dynamic device identifier during initialization of the application. During runtime execution of the application, the application may receive a request to execute an application specific task. In response to receiving the request, the application may generate a runtime dynamic device identifier, determine whether the runtime dynamic device identifier matches the server-generated dynamic device identifier, execute the application specific task when the runtime dynamic device identifier matches the server-generated dynamic device identifier; and prevent the application specific task from being executed when the runtime dynamic device identifier does not match the server-generated dynamic device identifier.


