Capability Permission Interpretation via Flag Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In capability-based architectures, the number of permissions associated with a capability is often constrained by the limited size of capability storage elements, making it difficult to extend permissions without increasing the number of permission flags, which limits flexibility and security.

Innovation Solution

The processing circuitry analyzes capability storage elements using an alternative interpretation of permission flags to derive an enlarged set of permissions, including additional permissions beyond the default set, without adding new flags, allowing for enhanced flexibility and security features like modifiable permissions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of permission flags in a capability is increased to provide more permissions, then the flexibility and security of the capability-based architecture is improved, but the size of the capability storage element increases

Engineering Contradiction:
Improvenumber of permissionsVSAvoidcapability storage element size
Core Design Contradiction:
Adaptability or versatilityVSVolume of moving object

Solution Approach 1:

The patent combines multiple permission flags into a single permission field that can represent multiple permission states. Instead of having separate flags for each permission (read, write, execute, etc.), the invention uses a unified permission field that encodes multiple permission attributes, thereby reducing the overall capability size while maintaining the ability to express multiple permissions.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The permission field is designed to serve multiple functions simultaneously. A single permission field can represent different permission types (read, write, execute, modify) and can be interpreted in different contexts. This multi-functional approach allows the capability to enforce multiple permission checks without requiring separate flags for each permission type.

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

2Adaptability or versatility

If additional permission flags are added to a capability to extend permissions, then the security and flexibility are enhanced, but the device complexity increases

Engineering Contradiction:
Improvepermission flexibilityVSAvoidcapability structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The invention changes the parameter representation from multiple discrete boolean flags to a single multi-state permission field. This parameter transformation reduces the number of individual permission indicators while maintaining the ability to represent complex permission states through different encodings within the unified field.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the capability storage element size is reduced to maintain fixed register sizes, then the efficiency of capability processing is improved, but the number of permissions that can be enforced is reduced

Engineering Contradiction:
Improvecapability processing efficiencyVSAvoidnumber of permissions
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

By merging multiple permission flags into a single permission field, the invention reduces the overall capability size, allowing fixed-size registers to accommodate more capability information. This consolidation maintains processing efficiency while preserving the ability to enforce multiple permissions through the unified field's multiple states.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3631621B1An apparatus and method for interpreting permissions associated with a capability
Publication Date: 2022.10.26 ARM LTD
  • EP3631621B1 patent drawingFigure 1
  • EP3631621B1 patent drawingFigure 2A~2B
  • EP3631621B1 patent drawingFigure 3

AI summary

An apparatus and method are provided for interpreting permissions associated with a capability. The apparatus has processing circuitry for executing instructions in order to perform operations, and a capability storage element accessible to the processing circuitry and arranged to store a capability used to constrain at least one operation performed by the processing circuitry when executing the instructions. The capability identifies a plurality N of default permissions whose state, in accordance with a default interpretation, is determined from N permission flags provided in the capability. In accordance with the default interpretation, each permission flag is associated with one of the default permissions. The processing circuitry is then arranged to analyse the capability in accordance with an alternative interpretation, in order to derive, from logical combinations of the N permission flags, state for an enlarged set of permissions, where the enlarged set comprises at least N+1 permissions. This provides a mechanism for encoding additional permissions into capabilities without increasing the number of permission flags required, whilst still retaining desirable behaviour.