Virtual Memory Encryption for SOC Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Embedded computing systems face security vulnerabilities due to the lack of encryption for data transferred between a system-on-chip (SOC) and external memory, making them susceptible to reverse engineering and hacking, while adding cryptographic pipeline stages increases costs and is not feasible for existing SOCs.

Innovation Solution

Implementing a memory hierarchy with a scratchpad memory level between caches and external memory to encrypt data before storage in external memory and decrypt it on demand, allowing for increased security without dedicated cryptographic hardware between DRAM and caches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cryptographic pipeline stages are added between DRAM and caches, then data security is improved, but device cost and complexity increase

Engineering Contradiction:
Improvedata securityVSAvoidcryptographic hardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the encryption/decryption functionality from dedicated cryptographic hardware pipeline stages and relocates it to software-based virtual memory management. The virtual memory manager performs encryption/decryption operations on demand when data is transferred between encrypted external memory and unencrypted caches, eliminating the need for dedicated cryptographic hardware while maintaining security.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The virtual memory manager acts as an intermediary between the encrypted external memory and unencrypted caches. It mediates the data transfer process by encrypting data before writing to external memory and decrypting data when reading from external memory, thereby providing security without requiring dedicated cryptographic hardware in the memory pipeline.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If all data is encrypted in external memory, then security is improved, but data access performance deteriorates due to additional encryption/decryption operations

Engineering Contradiction:
Improvedata securityVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies partial encryption by encrypting only the data stored in external memory while keeping data in caches unencrypted. This selective encryption approach provides security for the most vulnerable data (stored externally) without the performance penalty of encrypting all data paths, including those within the secure SOC boundary.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The virtual memory manager performs encryption/decryption operations in advance during memory management tasks rather than during data access operations. Encryption occurs when data is written to external memory, and decryption occurs when data is read, preparing the data state before it is needed for processing.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If a memory hierarchy with scratchpad memory is implemented, then data security is improved without dedicated hardware, but device complexity increases

Engineering Contradiction:
Improvedata securityVSAvoidmemory hierarchy complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The virtual memory manager performs multiple functions: it manages virtual memory addresses, handles page faults, and performs encryption/decryption operations. By combining these functions into a single software-based manager, the patent avoids adding dedicated hardware for each function while providing comprehensive security through the memory hierarchy.

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

Solution Approach 2:

The patent uses a virtual memory layer that copies data between virtual addresses and physical memory addresses. This virtual memory copying mechanism provides an additional layer of abstraction and security, allowing the system to encrypt data at the virtual memory level without requiring dedicated cryptographic hardware in the physical memory path.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10423541B1Using encryption within a computing system
Publication Date: 2019.09.24 AMAZON TECH INC
  • US10423541B1 patent drawing
  • US10423541B1 patent drawing
  • US10423541B1 patent drawing

AI summary

The following description is directed to the use of encryption by a computing system. In one example, a method can include determining whether information associated with a logical address is stored unencrypted within an on-chip memory of an integrated circuit or whether the information associated with the logical address is stored encrypted within an off-chip memory external to the integrated circuit. When the information is not stored unencrypted within the on-chip memory and is stored encrypted within the off-chip memory: a page associated with the logical address can be retrieved from the off-chip memory containing the encrypted information; the retrieved page can be decrypted to generate unencrypted information; and the unencrypted information can be stored in a frame of the on-chip memory.