Format Preserving Encryption for Object Code Security
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If traditional protection protocols are applied to object code, then security is improved, but system complexity and resource requirements increase
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
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
2Adaptability or versatility
If format preservation is attempted during encryption, then compatibility with existing systems is improved, but security robustness deteriorates
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
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
3Reliability
If deterministic encryption with tweak is applied, then variability and security are improved, but encryption complexity increases
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
Data Source
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.


