Double-Encrypted Intermediate Language Library Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for protecting Common Intermediate Language (CLI) from hacking and reverse engineering are inadequate, as they can be easily reversed engineered and cracked, leading to increased development and maintenance costs for cross-platform applications.

Innovation Solution

An apparatus and method that involves generating a secure intermediate language library by double-encrypting the intermediate language library using a first XOR encryption algorithm and a second AES encryption algorithm, and loading it into main memory, where it is decrypted and stored with scrambled header-related information to prevent static analysis attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the intermediate language library is encrypted using double encryption algorithms, then security against reverse engineering is improved, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies nested encryption by encrypting the intermediate language library with a first encryption algorithm and then encrypting the result with a second encryption algorithm. This double encryption approach nests one encryption layer within another, significantly enhancing security against reverse engineering while managing the increased complexity through systematic layering of protective measures.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Reliability

If the intermediate language library is encrypted and stored in main memory, then protection from static analysis attacks is improved, but execution speed deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent performs preliminary decryption of the intermediate language library into main memory before execution. By decrypting the library in advance and storing it in accessible memory locations, the system ensures that the code is available in an executable format when needed, minimizing execution delays while maintaining security during storage and transmission.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If header-related information is scrambled to prevent reverse engineering, then security is improved, but difficulty of detecting and measuring increases

Engineering Contradiction:
ImprovesecurityVSAvoiddifficulty of detecting and measuring
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies asymmetry by selectively scrambling only the header-related information of the intermediate language library while leaving the executable code portions intact. This asymmetric treatment of different data segments provides effective protection against reverse engineering of critical metadata without completely obscuring the functional code, thereby balancing security with detectability.

Inventive Principle:
Principle #4Asymmetry

Data Source

PatentUS10867017B2Apparatus and method of providing security and apparatus and method of executing security for common intermediate language
Publication Date: 2020.12.15 INKA ENTWORKS INC
  • US10867017B2 patent drawing
  • US10867017B2 patent drawing
  • US10867017B2 patent drawing

AI summary

Disclosed are an apparatus and a method for providing security and an apparatus and a method for executing security to protect a common intermediate language. An apparatus for providing security storing an execution package generated by assembling an execution engine library and an intermediate language library generated by compiling a plurality of files includes: an intermediate language extraction unit configured to extract the intermediate language library from the execution package; and an encryption unit configured to provide a secure intermediate language library by encrypting the intermediate language library extracted from the intermediate language extraction unit through a first encryption algorithm and encrypting the encrypted intermediate language library through a second encryption algorithm, thereby protecting the common intermediate language from hacking.