External Dongle for Secure Application Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for executing applications on untrusted devices are complex, time-consuming, and require significant changes to the kernel or operating system, while also penalizing performance and failing to adequately ensure the correctness of application execution.

Innovation Solution

A method utilizing an external dongle to modify and verify the instruction sequences of sensitive applications, ensuring correct execution by connecting with the untrusted device to check results and detect misbehavior, without modifying the underlying device or kernel, and allowing flexible use with any operating system or device implementation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional sandboxing and memory isolation methods are used to ensure correct application execution, then execution correctness is improved, but device complexity and implementation time increase significantly

Engineering Contradiction:
Improveexecution correctnessVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an external dongle as an intermediary device that mediates between the untrusted device and the application execution environment. The dongle verifies application binaries externally and provides runtime monitoring, acting as a mediator that ensures execution correctness without requiring complex modifications to the untrusted device's kernel or operating system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the security verification functionality from the untrusted device's kernel space and places it in an external dongle device. By taking out the complex sandboxing and verification logic from the main system, the patent reduces device complexity while maintaining execution correctness through external validation.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If instruction set randomization is applied to secure application execution, then execution correctness is improved, but performance of other applications deteriorates

Engineering Contradiction:
Improveexecution correctnessVSAvoidapplication performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies security measures locally only to sensitive applications through the external dongle's selective verification and monitoring capabilities. Non-sensitive applications continue to execute without interference, maintaining their normal performance. The dongle focuses its verification efforts on specific applications that require security assurance, rather than applying randomization globally to all applications.

Inventive Principle:
Principle #3Local quality

3Reliability

If complete sandboxing is implemented to prevent compromised device effects, then system security is improved, but ease of operation and user flexibility decrease

Engineering Contradiction:
Improvesystem securityVSAvoiduser flexibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements partial sandboxing through the external dongle that applies security measures only to sensitive applications rather than completely sandboxing the entire system. The dongle performs selective verification and monitoring on a partial basis, providing sufficient security for critical applications while leaving non-sensitive applications and user operations unaffected, thus maintaining user flexibility.

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If kernel or operating system modifications are made to ensure secure execution, then execution correctness is improved, but ease of manufacture and adaptability worsen

Engineering Contradiction:
Improveexecution correctnessVSAvoidOS compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the security verification function into a separate external dongle device that operates independently from the untrusted device's kernel and operating system. This segmentation allows the security functionality to be implemented without modifying various OS kernels, making the solution adaptable to multiple operating systems and device types while ensuring execution correctness for sensitive applications.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP2917866B1Method and system for executing applications in an untrusted environment
Publication Date: 2020.01.01 NEC CORP
  • EP2917866B1 patent drawingFigure 1
  • EP2917866B1 patent drawingFigure 2
  • EP2917866B1 patent drawingFigure 3

AI summary

The present invention relates to a method for executing applications on an untrusted device, comprising the steps of a) Selecting one or more applications as sensitive applications, b) Modifying one or more Instruction sequences of the said one or more sensitive applications by an external dongle, c) Executing the one or more sensitive applications on the untrusted device according to the modified Instruction sequences and d) Checking correct execution of the Instructions of the said modified Instruction sequences by the external dongle. The present invention further relates to a System for executing applications on an untrusted device.