Voucher-Based Authentication for Untrusted Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for linking untrusted applications to server systems are inefficient, leading to increased cognitive burden on users, slower operation, and higher energy consumption, particularly in battery-operated devices, due to the need for frequent authentication and process switching.

Innovation Solution

The implementation of a voucher system that pre-authorizes predefined operations, allowing untrusted applications to send commands directly to the server system without invoking a trusted process, thereby bypassing the need for constant authentication and reducing process switching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a trusted process is invoked every time a user initiates a request from an untrusted process, then security authentication is ensured, but the total number of processes running on the electronic device increases and user experience deteriorates

Engineering Contradiction:
Improvesecurity authenticationVSAvoidtotal number of processes
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary authentication when the untrusted application is initially launched or when it attempts to access server resources. Once authenticated, the application receives a session token that allows it to make subsequent requests without requiring repeated authentication through a trusted process, thereby reducing the number of active processes while maintaining security

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary authentication mechanism where a session token or voucher acts as a mediator between the untrusted application and the server. This token validates the application's identity and permissions, allowing direct communication with the server without requiring the presence or intervention of a trusted process for each request

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a trusted process is invoked every time a user initiates a request from an untrusted process, then command authentication is ensured, but operation speed decreases and energy consumption increases

Engineering Contradiction:
Improvecommand authenticationVSAvoidoperation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

Authentication is performed in advance when the untrusted application first connects to the server or when it requests elevated permissions. The server issues a session token that validates subsequent commands, eliminating the need for repeated authentication handshakes and thereby increasing operation speed while maintaining command authentication

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Once an untrusted application is authenticated and receives a session token, it can continue to operate and send commands to the server continuously without interruption or repeated authentication cycles. This continuous operation mode improves speed by eliminating repeated authentication overhead while the server continuously validates commands using the session token

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If a trusted process is invoked every time a user initiates a request from an untrusted process, then secure communication is achieved, but cognitive burden on the user increases

Engineering Contradiction:
Improvesecure communicationVSAvoidcognitive burden
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements self-service authentication where the untrusted application automatically handles the authentication process with the server using session tokens. The user does not need to manually approve or verify each command, as the system autonomously manages security credentials and validates communications in the background, reducing cognitive burden while maintaining secure communication

Inventive Principle:
Principle #25Self-service

4Reliability

If conventional authentication methods are used, then server security is maintained, but energy consumption increases particularly in battery-operated devices

Engineering Contradiction:
Improveserver securityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Authentication and security handshakes are performed in advance when the application is launched or when it first accesses server resources. The server issues session tokens that are cached and reused for subsequent operations, eliminating the need for repeated energy-intensive authentication protocols and thereby reducing overall energy consumption while maintaining server security

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Once authenticated, the application maintains a continuous session with the server using cached credentials and session tokens. This allows multiple commands and data exchanges without repeating the full authentication cycle, significantly reducing energy consumption during continuous operation while the server continuously validates requests using the session information

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10003590B2Methods and systems for linking untrusted applications to server systems
Publication Date: 2018.06.19 META PLATFORMS INC
  • US10003590B2 patent drawing
  • US10003590B2 patent drawing
  • US10003590B2 patent drawing

AI summary

An electronic device with a display detects an input in a user interface for a second application not associated with a server system. In response to detecting the first input, the device sends a first request from the second application to a first application associated with the server system. In response to the first request, the device sends a first command from the first application to the server system on behalf of the second application. The first command is a command for performance of a first operation at the server system. The first operation corresponds to the input detected by the device. The device receives a voucher, or an indication that a voucher has been created, at the second application pre-authorizing performance of a predefined second operation at the server system upon receipt, by the server system, of a second command from the second application.