Mobile Device Coprocessor Architecture for Code Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesecurity against forgery attacksVSAvoidnetwork dependency and data consumption
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveresistance to reverse engineeringVSAvoidapplication structure analysis
Core Design Contradiction:
ReliabilityVSManufacturing precision

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improveprocessor architectureVSAvoidprotection against forgery attacks
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3057022B1Mobile device and method for operating same
Publication Date: 2019.08.28 FOUND OF SOONGSIL UNIV IND COOP
  • EP3057022B1 patent drawingFigure 1
  • EP3057022B1 patent drawingFigure 2
  • EP3057022B1 patent drawingFigure 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.