Trusted I/O Kernel Isolates Secure Application Channels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern secure architectures face challenges in providing on-demand isolated I/O channels to secure applications on untrusted commodity operating systems, limiting their usefulness and viability due to the need for formal verification, which restricts their functionality and compatibility with large, complex systems.

Innovation Solution

The implementation of a trusted I/O kernel (TK) that isolates I/O channels dynamically, executing at a higher privilege level than the OS, outsources I/O functions to the untrusted OS for verification, and exports driver code to secure applications, minimizing the TK's code base while maintaining security and verifiability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If secure applications include basic services (persistent storage, file systems, networking, I/O) to improve usefulness and viability, then their functionality and adaptability improve, but their size and complexity increase making formal verification difficult

Engineering Contradiction:
Improvefunctionality of secure applicationsVSAvoidsize and complexity of secure application code base
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts basic services (persistent storage, file systems, networking, I/O channels) from the secure application code base and places them in the untrusted commodity OS. The secure application becomes a minimal verified kernel that only contains critical security functions, while relying on the untrusted OS for non-critical services. This extraction resolves the contradiction by maintaining functionality through external services while keeping the verified code base small and simple.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system segments functionality into two distinct parts: a minimal verified secure kernel containing only essential security functions, and external untrusted OS services providing basic functionality. This segmentation allows the secure portion to remain small and verifiable while the functional portion resides in the untrusted environment, resolving the trade-off between size and adaptability.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If secure applications rely on untrusted OS services to reduce their own code base, then verification becomes easier, but security risks increase from relying on untrusted components

Engineering Contradiction:
Improvesize of verified code baseVSAvoidsecurity assurance
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces an intermediary trusted I/O kernel that sits between the secure application and the untrusted OS services. This intermediary verifies and mediates all interactions between the secure application and untrusted components, ensuring that even though the OS is untrusted, the secure application's security requirements are enforced. This resolves the contradiction by allowing small verified code while maintaining security through the intermediary layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If a trusted computing base includes all basic services to guarantee safe co-existence, then security assurance improves, but the TCB becomes bloated, unstable, and unverifiable

Engineering Contradiction:
Improvesecurity assurance of co-existenceVSAvoidsize and complexity of TCB
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts basic services from the trusted computing base and places them in the untrusted commodity OS. The TCB is reduced to only essential security functions that must be verified, while non-critical services (file systems, networking, I/O) are moved to the untrusted environment. This extraction resolves the contradiction by maintaining security assurance for critical functions while eliminating bloat from non-critical services.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system segments the TCB into a minimal verified core containing only essential security functions, with all other services separated into the untrusted OS. This segmentation allows the TCB to remain small and verifiable while still providing security assurance for the secure application through the intermediary trusted I/O kernel.

Inventive Principle:
Principle #1Segmentation

4Reliability

If I/O channels are isolated within the TCB to ensure security, then security assurance improves, but the TCB code base size and complexity increase significantly

Engineering Contradiction:
ImproveI/O channel isolation securityVSAvoidTCB code base size
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a trusted I/O kernel as an intermediary that handles I/O channel isolation. This intermediary manages all I/O operations between the secure application and untrusted OS, verifying and mediating each interaction. By placing I/O handling in this dedicated intermediary layer rather than embedding it throughout the TCB, the system maintains security while avoiding significant increases in TCB code base size and complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10235515B2Method and apparatus for on-demand isolated I/O channels for secure applications
Publication Date: 2019.03.19 CARNEGIE MELLON UNIV
  • US10235515B2 patent drawing
  • US10235515B2 patent drawing
  • US10235515B2 patent drawing

AI summary

A computing platform for on-demand I/O channels, which enable secure application to dynamically connect to diverse peripheral devices of untrusted commodity OSes.