Securing Stream Buffers in Secure Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing devices face challenges in securely storing and retrieving stream data from sources like cameras and fingerprint sensors, as this data can be vulnerable to tampering or alteration during transmission between the device and the application or operating system, particularly due to playback or middleman attacks.

Innovation Solution

Implementing a secure mode that allocates stream data to a secured buffer in secure memory, providing a secured buffer identifier to both the driver and the application, allowing secure storage and retrieval within a secure framework, thereby preventing unauthorized access and tampering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If stream data is stored in regular memory for general access, then ease of operation is improved, but security and data integrity deteriorate due to vulnerability to tampering and playback attacks

Engineering Contradiction:
Improveaccessibility of stream dataVSAvoiddata integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments memory into distinct secure and non-secure regions. Stream data is allocated to specific buffer types (secure buffers, insecure buffers, shared buffers) based on security requirements. This segmentation allows simultaneous access optimization for general operations while protecting sensitive data in isolated secure memory regions from tampering and unauthorized access.

Inventive Principle:
Principle #1Segmentation

2Reliability

If stream data is stored in secure memory with restricted access, then data integrity is improved, but device complexity increases due to secure buffer management

Engineering Contradiction:
Improvedata integrityVSAvoidbuffer management system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a stream server as an intermediary layer between applications and stream data sources. The stream server manages secure buffer allocation, handles security credentials verification, and coordinates data flow between secure and non-secure components. This intermediary abstracts the complexity of secure memory management from individual applications while maintaining strong security controls through centralized buffer management.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If secure buffers are allocated for all stream data, then security is improved, but loss of energy increases due to restricted memory access operations

Engineering Contradiction:
ImprovesecurityVSAvoidmemory access energy
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by assigning different security levels to different portions of stream data based on specific application requirements. Critical data such as biometric information is stored in secure buffers with restricted access, while non-sensitive data can be stored in faster, less energy-consuming non-secure buffers. This selective approach maintains security for sensitive data while optimizing energy efficiency for general stream processing operations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10705982B2Securing stream buffers
Publication Date: 2020.07.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10705982B2 patent drawing
  • US10705982B2 patent drawing
  • US10705982B2 patent drawing

AI summary

Described are examples for securing stream data received from a stream source. A secure mode can be enabled, based on a request from an application, for storing the stream data captured from the stream source in a secured buffer. The secured buffer can be allocated in a secure memory based at least in part on enabling the secure mode. A secured buffer identifier of the secured buffer can be provided to a driver of a device providing the stream source for storing the stream data captured from the stream source in the secured buffer. The secured buffer identifier of the secured buffer can also be provided to the application for accessing the stream data stored in the secured buffer.