Mobile Device Coprocessor Architecture for Code Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile application programs are vulnerable to forgery attacks, particularly due to the insecurity of existing forgery detection technologies that can be bypassed by analyzing the application structure, and existing protection methods are unreliable in variable Internet environments.
Innovation Solution
A mobile device architecture that separates core codes from general codes and executes them using a coprocessor, preventing exposure to the main processor and reducing the risk of reverse engineering, with communication facilitated by a coprocessor driver.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If core codes are protected by storing separated files in a server under Internet environment, then security against forgery attacks is improved, but reliability deteriorates due to unstable Internet connection and excessive data consumption
Solution Approach 1:
The patent extracts core codes from the main application program and stores them separately in a protected memory area that is inaccessible to the main processor. This separation allows the core functionality to be protected without requiring external server communication, thereby eliminating network dependency while maintaining security.
Solution Approach 2:
The patent introduces a coprocessor as an intermediary between the main processor and the protected core codes. The coprocessor manages access to core codes and executes them in isolation, providing security without requiring Internet connection or external server interaction.
2Reliability
If code obfuscation technique is used to prevent reverse engineering, then security is improved, but manufacturing precision deteriorates because the application structure can still be easily analyzed
Solution Approach 1:
The patent segments the application into two distinct parts: general codes executed by the main processor and core codes executed by the coprocessor. This segmentation prevents reverse engineers from analyzing the complete application structure, as the critical core codes are isolated in a separate execution environment with different instruction sets and memory spaces.
Solution Approach 2:
The patent moves core code execution to a different dimensional space - a separate coprocessor with its own instruction set architecture and memory space. This dimensional separation makes static analysis and reverse engineering significantly more difficult, as tools designed for analyzing standard application structures cannot directly access or analyze the protected core codes.
3Device complexity
If all codes are executed by main processor, then device complexity is reduced, but security deteriorates because core codes are exposed to forgery attacks
Solution Approach 1:
The patent divides code execution responsibilities between two processors: the main processor handles general application codes, while the coprocessor handles protected core codes. This segmentation provides security against forgery attacks while maintaining relatively simple device architecture by using a standard coprocessor configuration.
Solution Approach 2:
The patent applies different quality characteristics to different parts of the system: the main processor uses standard execution environments for general codes, while the coprocessor provides enhanced security characteristics for core codes. This local differentiation of execution environments achieves security without requiring complete system redesign.
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
Provided are a mobile device and a driving method thereof. The mobile device includes: a main processor that executes general codes of a mobile application program; a coprocessor that executes core codes of the mobile application program; and a coprocessor driver that is connected between the main processor and the coprocessor to enable communication therebetween. The general codes include commands executable at the main processor, and the core codes include commands executable at the coprocessor. According to the present invention, when the mobile application program is installed, the core codes are separated from the mobile application program at a level equal to or lower than an operating system, and installed on an additionally provided core code storage which the main processor and the general codes can't directly access, thereby preventing the core codes from being exposed and increasing resistance for reverse engineering.