Hardware Borrow Checker with Cryptographic Enforcement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software-based borrow checking in computing systems relies on assumptions that may not be valid in all environments, such as compiler correctness and absence of physical attacks, leading to vulnerabilities in memory safety and concurrency.

Innovation Solution

Implementing cryptographic enforcement of borrow checking in computing hardware through the introduction of new instructions in the instruction set architecture and compiler techniques that maintain metadata for memory allocations and automatically check it against embedded metadata in pointers, ensuring resilience even when these assumptions are violated.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software-based borrow checking is implemented, then memory safety and concurrency errors are mitigated, but security vulnerabilities arise due to reliance on unverified assumptions about compiler correctness and system software

Engineering Contradiction:
Improvememory safetyVSAvoidsecurity vulnerabilities
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces hardware as an intermediary layer between software and memory. The hardware borrow checker circuitry independently verifies borrow-checking rules without relying on software assumptions, acting as a trusted mediator that eliminates security vulnerabilities while maintaining memory safety guarantees

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the software-based borrow checking mechanism with a hardware-based mechanism. By implementing borrow checking logic in hardware circuitry rather than software, the system eliminates dependencies on compiler correctness and system software assumptions, providing security-free memory safety enforcement

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If hardware-based cryptographic enforcement of borrow checking is implemented, then security and reliability are enhanced, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the borrow checking functionality into distinct hardware components: metadata storage units, pointer validation circuitry, and enforcement logic. This segmentation allows complex security functions to be implemented as modular, manageable hardware blocks rather than a monolithic complex system

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware borrow checker is designed to handle multiple borrow-checking operations universally through a single enforcement mechanism. The same hardware circuitry validates different types of pointers, enforces various borrow rules, and manages metadata for diverse memory allocations, reducing overall hardware complexity through functional consolidation

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

Data Source

PatentUS12008374B2Cryptographic enforcement of borrow checking
Publication Date: 2024.06.11 INTEL CORP
  • US12008374B2 patent drawing
  • US12008374B2 patent drawing
  • US12008374B2 patent drawing

AI summary

The technology includes allocating an object in a memory and setting an ownership identifier (ID) in the allocated object, the allocated object being associated with a first variable in a program and setting a matching ownership ID in a pointer to the allocated object. When the allocated object is accessed during execution of the program by a processor, an exception is generated when the ownership ID in the allocated object does not match the ownership ID in the pointer, and execution of the program is continued when the ownership ID in the allocated object does match the ownership ID in the pointer.