Dynamic Runtime Data Encoding for DRM Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Digital Rights Management (DRM) and other security systems are vulnerable to tampering attacks that allow adversaries to reverse engineer and access sensitive data once it is decrypted, as the encryption measures can be compromised by unauthorized access to the media player or audio-visual system.
Innovation Solution
A method and apparatus for dynamically encoding data at runtime by tagging data elements with encoding identifiers in the source code, randomly selecting obfuscation algorithms from a library at build-time and runtime, and using these algorithms to encode, decode, or re-encode data, ensuring continuous flux and protection against attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is stored in clear text in memory for processing, then program execution is simple and efficient, but the data becomes vulnerable to tampering attacks and reverse engineering
Solution Approach 1:
The patent applies dynamics by randomly selecting and switching between multiple obfuscation algorithms at runtime. The encoding scheme is not static but dynamically changes during program execution, making it difficult for attackers to reverse engineer the data protection mechanism while maintaining efficient program execution.
Solution Approach 2:
The patent changes the parameter of encoding by using different obfuscation algorithms with varying encoding schemes. The system selects from multiple algorithms with different parameters (encoding methods, key lengths, transformation types), allowing flexible adjustment of security levels while managing complexity.
2Reliability
If a single obfuscation algorithm is used for encoding data, then the implementation is simple, but the diversity of encoding is limited making it easier to break
Solution Approach 1:
The patent segments the encoding process by dividing it into multiple independent obfuscation algorithms. Each algorithm handles a portion of the encoding task, and they are combined through random selection. This segmentation provides encoding diversity while managing complexity through modular design.
Solution Approach 2:
The patent creates a universal encoding system that can perform multiple encoding functions using a single framework. The system manages multiple obfuscation algorithms that can be interchangeably selected, providing multi-functionality in data protection while maintaining a unified management structure.
3Reliability
If data is continuously encoded and decoded during runtime, then protection against reverse engineering is improved, but the processing time and computational overhead increase
Solution Approach 1:
The patent applies preliminary action by pre-compiling and injecting multiple obfuscation algorithms into the program before runtime. The selection and setup of encoding mechanisms are prepared in advance, reducing the computational overhead during actual data processing while maintaining continuous protection effectiveness.
Data Source
AI summary
A method is provided to dynamically encode data at runtime with a tagged data element in a program associated with an obfuscation algorithm randomly selected during runtime. Instructions for invoking the obfuscation algorithm are generated when a compiler encounters the tagged variable in the source code. At runtime, unencoded data is encoded by the obfuscation algorithm when the unencoded data is copied to the tagged data element; encoded data is re-encoded by the obfuscation algorithm when the encoded data is copied from a differently tagged data element to the tagged data element, wherein the differently tagged data element is associated with a different obfuscation algorithm; and encoded data is decoded by the obfuscation algorithm when the encoded data is copied from the tagged data element to an untagged data element.


