Decentralized DRM for Mobile Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing digital rights management (DRM) systems for mobile applications face challenges such as lack of secure storage on Android devices, vulnerability to root-level access, and inability to function without network connectivity, as well as difficulties in identifying and blocking malicious applications, leading to software piracy and increased development and marketing costs.
Innovation Solution
Implementing a decentralized DRM system that integrates DRM protection directly into mobile applications, using a security token and checksum to verify application integrity and user authorization, allowing execution only on authorized devices and networks, while preventing unauthorized copying and modification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a centralized DRM system requiring online authorization is used, then application execution can be controlled and authorized, but the system cannot function when network connection is unavailable
Solution Approach 1:
The DRM system is segmented into two parts: a server component for authorization and a client component with embedded DRM module for execution. The security token obtained during online authorization is stored locally and used for offline execution, separating the authorization function from the execution function.
Solution Approach 2:
A security token acts as an intermediary between the centralized DRM server and the local application execution. The token carries authorization information that enables the application to run offline without continuous server connection, while still maintaining centralized control through token validation.
2Reliability
If secure storage is used to store encryption keys, then DRM protection is strengthened, but Android devices lack secure storage making keys vulnerable to root-level access
Solution Approach 1:
The encryption keys are extracted from the vulnerable Android device storage and embedded directly into the DRM module within the application package. This removes the keys from the attack surface of the device file system and protects them through the application's own security mechanisms.
Solution Approach 2:
The DRM module containing encryption keys is nested within the application package itself. The module is embedded in the APK file structure, making the keys part of the application's protected code rather than separate vulnerable files on the device.
3Reliability
If DRM protection is coupled with a centralized service, then centralized control is achieved, but the system complexity increases and requires constant server communication
Solution Approach 1:
Authorization is performed in advance through online connection before the application needs to run. The security token is obtained beforehand and stored locally, eliminating the need for constant server communication during application execution and reducing system complexity.
Data Source
AI summary
This disclosure describes systems and associated processes that provide digital rights management for applications. In some embodiments, these system and processes couple DRM protection with individual applications, rather than with a centralized service. For instance, these systems and processes can be implemented in the context of an application store or distribution service that distributes applications for purchase or for free to user devices. Developers can submit applications to the application distribution service for distribution to end users. In response to receiving an application from a developer, the application distribution service can modify the application to include DRM features. The application distribution service can accomplish this modification without input from or the knowledge of the developer. The DRM features included in the modified application can prevent or otherwise reduce copying or modifying of the application.


