Buffer Cache for Secure Untrusted Storage Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing devices face challenges in securely allowing untrusted software applications to access storage, as existing solutions are cumbersome and may fail when dealing with large data sizes or limited disk space, often requiring a trade-off between security and operational flexibility.

Innovation Solution

The method involves creating a shared mutable buffer object that provides access to storage pages, using abstract reference objects and a messaging protocol to enable secure data transfer between untrusted entities and the computing device's storage, while maintaining robust security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is copied through various processes executing on the computing device, then security is improved, but ease of operation deteriorates and device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidease of access
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a buffer cache as an intermediary component between the untrusted entity and the storage device. The buffer cache receives data from the storage device and provides it to untrusted entities without requiring direct access to the storage system. This mediator approach enables secure data access while simplifying the operational interface for untrusted software.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the data access path into distinct components: the storage device, the buffer cache, and the untrusted entity. By dividing the access mechanism into separate segments, the system can maintain security through the buffer cache while providing ease of access through the standardized interface, resolving the contradiction between security and operational flexibility.

Inventive Principle:
Principle #1Segmentation

2Reliability

If data is copied to local storage, then security is improved, but productivity deteriorates due to time-consuming copying processes

Engineering Contradiction:
ImprovesecurityVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The buffer cache performs preliminary action by pre-fetching data from the storage device into its own memory structure before it is needed by untrusted entities. This allows the system to maintain security through controlled access while improving productivity by eliminating the time-consuming copying process that would otherwise be required for each data access operation.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If copying processes are used, then security is improved, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidprocess complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The buffer cache serves as a simple intermediary that manages the complexity of secure data access. Rather than implementing complex copying processes throughout the system, the buffer cache provides a straightforward interface that abstracts away the underlying complexity, reducing overall device complexity while maintaining security.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If untrusted entities are restricted from accessing the file system, then security is improved, but adaptability deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidoperational flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The buffer cache provides a universal interface that can serve multiple functions: it secures data access for untrusted entities, enables various types of data operations (read, write, delete), and works with different data sizes and types. This multi-functional approach maintains security while improving adaptability, as the same buffer cache mechanism handles diverse operational requirements without requiring special access privileges.

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

Data Source

PatentUS11392308B2Techniques for implementing user space file systems
Publication Date: 2022.07.19 APPLE INC
  • US11392308B2 patent drawing
  • US11392308B2 patent drawing
  • US11392308B2 patent drawing

AI summary

This application relates to a technique that enables data transfer between an untrusted entity and a storage of a computing device. The technique can include the steps of (1) receiving, from a buffer cache, a pointer referencing a storage location; (2) creating a first abstract reference object based on the pointer, the first abstract reference object including a value; (3) generating a buffer object that provides access to the storage location; (4) sharing access to the buffer object with a first process, where: (i) the first process includes a first reference table, and (ii) the first abstract reference object is inserted into the first reference table; (5) creating a service request that includes the first abstract reference object; (6) transmitting the service request to the first process over a messaging protocol; and (7) initializing the buffer object by associating the value of the first abstract reference object with the buffer object.