Format Preserving Encryption for Object Code Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for protecting sensitive object code are not cryptographically robust and often require additional resources, making them vulnerable to malicious manipulation and reverse-engineering, while also disrupting existing systems when attempting to preserve the code's structure.

Innovation Solution

Format-preserving encryption (FPE) is applied to object code, where each instruction is encrypted separately to maintain its original format, using a deterministic encryption scheme with a tweak to introduce variability, ensuring that only authorized users can execute the encrypted code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional protection protocols are applied to object code, then security is improved, but system complexity and resource requirements increase

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies format-preserving encryption that transforms object code while maintaining its original format and structure. By changing the encryption parameters to preserve the code's bytecode format, the system achieves strong security without requiring additional protective layers or complex validation mechanisms, thus improving security while avoiding increased system complexity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The encryption process creates a cryptographic copy of the original object code that maintains the same format and structure. This encrypted copy can be directly executed by existing systems without modification, eliminating the need for additional runtime protection mechanisms or complex deployment infrastructure

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If format preservation is attempted during encryption, then compatibility with existing systems is improved, but security robustness deteriorates

Engineering Contradiction:
ImprovecompatibilityVSAvoidsecurity robustness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent uses format-preserving encryption with specific parameter configurations that maintain the bytecode format while applying strong cryptographic transformations. The encryption parameters are carefully selected to preserve the structural integrity of the code (opcodes, parameters, control flow) while ensuring cryptographic robustness against analysis and reverse engineering

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The format-preserving encryption acts as an intermediary transformation that bridges strong cryptographic protection and system compatibility requirements. It mediates between the need for secure obfuscation and the requirement for existing systems to execute the code without modification, achieving both goals simultaneously

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If deterministic encryption with tweak is applied, then variability and security are improved, but encryption complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidencryption complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The encryption process segments the object code into individual instructions, each with opcodes and parameters. The tweak value is applied systematically to each segment, ensuring variability across the entire codebase while maintaining a manageable encryption process that operates on discrete, well-defined units rather than treating the code as an undifferentiated block

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10452564B2Format preserving encryption of object code
Publication Date: 2019.10.22 MICRO FOCUS LLC
  • US10452564B2 patent drawing
  • US10452564B2 patent drawing
  • US10452564B2 patent drawing

AI summary

Format preserving encryption of object code is disclosed. One example is a system including at least one processor and a memory storing instructions executable by the at least one processor to identify object code to be secured, where the object code comprises a list of instructions, each instruction comprising an opcode and zero or more parameters. A format preserving encryption (FPE) is applied to the received object code, where the FPE is applied separately to a sub-plurality of instructions in the list of instructions, to generate an encrypted object code comprising a sub-plurality of encrypted instructions. An encrypted object code is provided to a service provider, where the encrypted object code comprises the sub-plurality of encrypted instructions, and any unencrypted portions of the object code.