Build System Plugins Encrypting Application Components

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for protecting mobile software applications from unauthorized access and modification are inadequate, as they primarily focus on application code, leaving resources such as images, audio, and text data vulnerable to hacking and rebranding.

Innovation Solution

A build system that employs multiple encryption and decryption modules during the build operation to generate an enhanced application, where application components are encrypted by different plugins and decrypted automatically during execution, reducing the likelihood of detectable patterns and increasing security for all application components, not just the code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard encryption methods are used during build operation, then security of application code is improved, but resources such as images, audio, and text data remain vulnerable to hacking and rebranding

Engineering Contradiction:
Improvesecurity of application codeVSAvoidprotection coverage of all application components
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The build tool plugin is designed to encrypt multiple types of application components (code, resources, assets) through a universal encryption interface. The plugin can process different data types (images, audio, text, code) using the same encryption mechanism, thereby extending security protection from just application code to all application components without requiring separate protection systems for each component type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Difficulty of detecting and measuring

If multiple encryption plugins are used during build operation, then resistance to pattern detection is improved, but build system complexity increases

Engineering Contradiction:
Improveresistance to pattern detectionVSAvoidbuild system complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The encryption system is divided into multiple independent build tool plugins, each handling different encryption algorithms or component types. This segmentation allows the system to use diverse encryption methods for different application components, making pattern detection more difficult while keeping each individual plugin relatively simple and manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The build tool acts as an intermediary that coordinates multiple encryption plugins during the build process. It manages the complexity of integrating multiple encryption methods by providing a unified interface and automation, thereby reducing the operational complexity burden on users despite the sophisticated multi-plugin architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If application components are encrypted during build operation, then unauthorized access is prevented, but automatic decryption during execution must be implemented

Engineering Contradiction:
Improveprotection against unauthorized accessVSAvoiddecryption mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The encrypted application components contain embedded decryption capabilities that allow them to be automatically decrypted during execution without external intervention. The system serves itself by including the necessary decryption logic within the application package, eliminating the need for separate key management systems or external decryption services.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Decryption keys and algorithms are prepared and embedded into the application components during the build operation, before the application is deployed. This preliminary preparation ensures that decryption capabilities are already in place when the application runs, enabling automatic decryption without requiring complex runtime key distribution or setup mechanisms.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3398103B1A build system with plugins for encryption of application components
Publication Date: 2019.08.21 GUARDSQUARE NV
  • EP3398103B1 patent drawingFigure 1
  • EP3398103B1 patent drawingFigure 2
  • EP3398103B1 patent drawingFigure 3

AI summary

There is described a build system (10) for generating an enhanced application (130) comprising at least one encrypted application component (134) during a build operation. The build system (10) comprises a build tool (20) and two or more build tool plugins (40). The build tool plugins (40) each comprise an encryption module (42) and a decryption module (46).