Microprocessor Atomic Encrypt Send Instruction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current microprocessors lack a reliable mechanism to ensure that data sent to secure output ports is encrypted, as they allow for unencrypted data transmission through compile-time unresolvable port addressing and lack of encryption in data output instructions.

Innovation Solution

Implementing an atomic output instruction, Atomic_Encrypt_And_Send (AEAS), which receives and encrypts payload data before sending it to secure output ports, and modifying the microprocessor's instruction set architecture to prohibit unencrypted data transmission to secure ports, ensuring encryption is always enforced.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If memory-mapped output is used with runtime address resolution, then output port flexibility is improved, but security verification deteriorates because it cannot be known at compile time whether data is sent to secure ports

Engineering Contradiction:
Improveoutput port flexibilityVSAvoidsecurity verification
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The output port address space is segmented into secure and non-secure regions. The secure region requires encryption while the non-secure region allows plaintext transmission. This segmentation enables the compiler to verify security requirements at compile time for each output instruction based on its destination address.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The secure output region is pre-configured with encryption requirements in the instruction set architecture. The compiler performs preliminary verification at compile time to determine if an output instruction targets the secure region, and generates appropriate encryption instructions beforehand, eliminating the need for runtime security verification.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If multiple output instructions are used for different ports, then port-specific control is improved, but instruction complexity and verification difficulty increase

Engineering Contradiction:
Improveport-specific controlVSAvoidinstruction set complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

A single unified output instruction format is designed that can target both secure and non-secure output ports. The instruction includes a destination port field that the compiler uses to determine the appropriate encryption behavior. This universal instruction simplifies the instruction set while maintaining port-specific control capabilities.

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

3Adaptability or versatility

If encryption is optional for output ports, then system adaptability is improved, but security guarantee deteriorates because unencrypted transmission to secure ports may occur

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidsecurity guarantee
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The encryption requirement is made dynamic based on the destination port address. The instruction set architecture dynamically determines whether encryption is required by checking if the destination port falls within the secure output region. This dynamic approach maintains system adaptability while ensuring security guarantees for secure ports.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If compile-time unresolvable port addressing is allowed, then runtime flexibility is improved, but security verification deteriorates because the destination port is unknown at assembly time

Engineering Contradiction:
Improveruntime flexibilityVSAvoidsecurity verification difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The instruction set architecture is designed to prevent unencrypted transmission to secure ports through compile-time verification. By requiring that all output instructions use resolvable port addresses at assembly time, the compiler can perform preliminary security checks and generate appropriate encryption instructions, preventing security violations before runtime.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS11487887B2Microprocessor atomic secure encrypt and send instruction
Publication Date: 2022.11.01 THE GOVERNMENT OF THE UNITED STATES AS REPRESENTED BY THE SECRETARY OF THE AIR FORCE
  • US11487887B2 patent drawing
  • US11487887B2 patent drawing
  • US11487887B2 patent drawing

AI summary

Various embodiments of the disclosed subject matter provide systems, methods, architectures, mechanisms, apparatus, computer implemented method and/or frameworks configured for guaranteeing that a payload portion of every data packet provided to a secure/encrypted output port of a processor such as a microprocessor is encrypted.