Processor Security via Dynamic Instruction Encoding and Secure Zones

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microprocessors are vulnerable to sophisticated security attacks, including side-channel attacks, invasive methods, and reverse engineering, which existing defense mechanisms fail to adequately address, especially against well-resourced attackers.

Innovation Solution

A processor framework with randomized and obfuscated instruction execution, supported by compiler-driven obfuscation and microarchitecture, creates secure zones with unique encoding for each instruction, decoupling encoding from execution and minimizing information lifetime to prevent information leakage and tampering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional fixed encoding of instructions is used, then ease of operation and manufacturing are improved, but security against reverse engineering and side-channel attacks deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidinstruction encoding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies dynamics by making the instruction encoding dynamic rather than static. The encoding of instructions changes at runtime based on secure zone boundaries and randomization, so that the same instruction can have different encodings at different times or in different contexts. This dynamic encoding prevents reverse engineering and side-channel attacks while maintaining operational functionality through the use of decode logic that adapts to the current encoding scheme.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the encoding parameters of instructions randomly and uniquely for each secure zone. Instead of using fixed encoding schemes, the system varies the encoding parameters (such as opcode mappings, operand formats, and instruction length) based on the secure zone context and randomization seeds. This parameter variation makes it infeasible to extract meaningful information through traditional reverse engineering or power analysis techniques.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If randomized and obfuscated instruction execution is implemented, then security against information leakage and tampering is improved, but device complexity and manufacturing difficulty worsen

Engineering Contradiction:
ImprovesecurityVSAvoidprocessor manufacturing
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent segments the processor into multiple secure zones, each with its own randomized encoding scheme. By dividing the instruction stream into discrete secure zones with boundaries, the system can apply different encoding randomization to each zone while maintaining overall functionality. This segmentation approach makes the manufacturing complexity manageable by localizing the randomization logic to specific zones rather than requiring system-wide complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary decode logic that acts as a mediator between the randomized instruction encoding and the underlying processor execution units. This intermediary layer handles the complexity of decoding randomized instructions and translating them into standard internal operations, thereby isolating the manufacturing complexity to a dedicated decode stage rather than propagating it throughout the entire processor design.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If secure zones with unique random encoding are created for each instruction, then information lifetime is minimized and security is improved, but processing speed and productivity deteriorate

Engineering Contradiction:
ImprovesecurityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by pre-establishing secure zone boundaries and encoding schemes during system initialization or compilation. The randomized encoding parameters for each secure zone are determined in advance, allowing the processor to efficiently switch between predefined encoding schemes without requiring complex runtime generation. This preliminary preparation reduces the overhead during actual instruction execution and maintains processing speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements periodic action by organizing instructions into discrete secure zones with clear boundaries. Each secure zone represents a periodic unit of execution with its own encoding scheme. The processor transitions between zones in a periodic manner, resetting or changing encoding parameters at zone boundaries. This periodic structure allows for efficient pipeline management and minimizes the performance impact of encoding changes.

Inventive Principle:
Principle #19Periodic action

4Reliability

If decoupling of encoding from execution is implemented, then security against power and electromagnetic analysis is improved, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidprocessor architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the encoding function from the execution function, creating a separate decode stage that handles all encoding randomization and obfuscation. By taking out the encoding complexity into a dedicated decode component, the execution units can operate with standard, simplified instructions. This extraction reduces the complexity of the execution path while maintaining security through the specialized decode layer that handles randomized encodings.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses copying by maintaining multiple copies of decode logic or encoding tables that correspond to different secure zones and randomization schemes. Instead of having a single complex decode unit that handles all possible encodings, the system uses multiple simpler decode copies, each optimized for specific encoding schemes. This copying approach distributes the complexity across multiple identical or similar components rather than concentrating it in a single complex unit.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11163857B2Securing microprocessors against information leakage and physical tampering
Publication Date: 2021.11.02 BLUERISC INC
  • US11163857B2 patent drawing
  • US11163857B2 patent drawing
  • US11163857B2 patent drawing

AI summary

A processor system comprising: performing a compilation process on a computer program; encoding an instruction with a selected encoding; encoding the security mutation information in an instruction set architecture of a processor; and executing a compiled computer program in the processor using an added mutation instruction, wherein executing comprises executing a mutation instruction to enable decoding another instruction. A processor system with a random instruction encoding and randomized execution, providing effective defense against offline and runtime security attacks including software and hardware reverse engineering, invasive microprobing, fault injection, and high-order differential and electromagnetic power analysis.