Cryptographic Pointer Architecture for Speculative TLB Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic computing systems face challenges in proactively blocking out-of-bound memory accesses and ensuring cryptographic isolation of memory regions, leading to potential data corruption and integrity vulnerabilities, particularly in fine-grain workloads like FaaS, due to the need for additional metadata storage and performance impacts.
Innovation Solution
Implementing cryptographic isolation within the processor core by encoding memory addresses with metadata and using cryptographic algorithms to enforce secure memory access, including encryption and decryption of pointers and data, with proactive integrity verification using message authentication codes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cryptographic isolation and proactive integrity verification are implemented within the processor core, then data security and memory isolation are improved, but device complexity increases
Solution Approach 1:
The patent segments the memory address into multiple components: a first portion that is encrypted and a second portion that is plaintext. This segmentation allows the processor to maintain security through encryption of only the necessary address portions while retaining compatibility with existing memory architecture, thereby improving data security without proportionally increasing overall device complexity.
Solution Approach 2:
The encoded pointer structure nests multiple functions within a single data structure: the encrypted address portion, the plaintext address portion, and integrity verification metadata are combined into a unified pointer representation. This nesting approach consolidates security functions into a compact structure, reducing the complexity burden on the processor core while maintaining comprehensive security capabilities.
2Reliability
If additional metadata is stored for cryptographic isolation, then memory region isolation and integrity are improved, but device complexity and performance overhead increase
Solution Approach 1:
The patent merges the integrity verification function directly into the memory address structure itself. The encoded pointer contains both the encrypted address portion and the integrity verification components, eliminating the need for separate metadata storage structures. This merging reduces device complexity by consolidating multiple functions into a single data structure while maintaining comprehensive memory isolation and integrity verification capabilities.
3Reliability
If encrypted memory addresses are used for cryptographic computing, then data security is improved, but productivity and access speed may deteriorate
Solution Approach 1:
The patent applies partial encryption to memory addresses by encrypting only the first portion of the address while leaving the second portion as plaintext. This partial action approach provides sufficient security for cryptographic isolation while minimizing the performance impact compared to full address encryption, thereby balancing data security improvements with productivity maintenance.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
In one embodiment, a processor includes circuitry to decode an instruction referencing an encoded data pointer that includes a set of plaintext linear address bits and a set of encrypted linear address bits. The processor also includes circuitry to perform a speculative lookup in a translation lookaside buffer (TLB) using the plaintext linear address bits to obtain physical address, buffer a set of architectural predictor state values based on the speculative TLB lookup, and speculatively execute the instruction using the physical address obtained from the speculative TLB lookup. The processor also includes circuitry to determine whether the speculative TLB lookup was correct and update a set of architectural predictor state values of the core using the buffered architectural predictor state values based on a determination that the speculative TLB lookup was correct.