Register Access Control via Ownership Variables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in securely managing access to registers across different privilege levels, particularly when handling exceptions, as they often rely on exception handling code to save and restore register contents, which can lead to insecure access and data exposure.

Innovation Solution

The implementation of a register access control system that utilizes ownership variables to restrict access based on exception levels, employing target-constrained load and store instructions to ensure that data is saved and restored within protected regions, preventing access by higher privilege levels when operating outside the intended context.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If exception handling code saves and restores register contents, then register data can be preserved across exceptions, but security is compromised as higher privilege levels can access protected register data

Engineering Contradiction:
Improveregister data preservationVSAvoidunauthorized access to register data
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent segments register access control by introducing ownership variables that associate each register with a specific exception level. This segmentation allows different exception levels to have differentiated access rights to different registers, preventing higher privilege levels from accessing registers owned by lower privilege levels while still allowing proper saving and restoring of register contents during exception handling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary access control mechanism between the processing circuitry and registers. The ownership variable acts as an intermediary that mediates access requests by comparing the current exception level with the registered owner, allowing legitimate access for saving/restoring while blocking unauthorized access from higher privilege levels.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If higher exception levels can access all registers, then exception handling is simplified, but data exposure occurs to hypervisor programs

Engineering Contradiction:
Improveexception handling simplicityVSAvoiddata exposure
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent applies local quality by making access control properties specific to each register through ownership variables. Instead of a blanket access policy for all registers, each register has its own ownership association with a specific exception level, allowing precise control over which registers can be accessed at each privilege level while maintaining simple exception handling for authorized registers.

Inventive Principle:
Principle #3Local quality

3Object-affected harmful factors

If register access is restricted by ownership variables, then security is enhanced, but access control complexity increases

Engineering Contradiction:
Improveunauthorized access preventionVSAvoidaccess control mechanism
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent implements self-service by having the access control mechanism automatically compare the current exception level with the ownership variable stored in each register. The system serves itself by autonomously determining whether access should be granted or denied based on the pre-configured ownership associations, eliminating the need for complex external access control logic while maintaining strong security.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10762226B2Register access control
Publication Date: 2020.09.01 ARM LTD
  • US10762226B2 patent drawing
  • US10762226B2 patent drawing
  • US10762226B2 patent drawing

AI summary

A data processing system 2 operates at a plurality of exception levels ELx and supports the use of protected execution environments. A register bank 16 contains registers having associated ownership variables indicating an owning exception level. Register access control circuitry 30 is responsive to the ownership values for respective registers to control access to those registers by processing circuitry 14 in dependence upon the ownership values. Target-constrained data transfer operations and associated program instructions may be provided which are able to access data values in registers not owned by the exception level associated with the execution of those program instructions, but are limited to perform data transfers to or from memory locations within a memory 6 indicated by an architected storage pointer for the owning exception level. Target-unconstrained transfer instructions at a given exception level are not able to access register data value marked as owned by a different exception level.