Microprocessor Atomic Encrypt Send Instruction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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
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.
Data Source
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.


