Secure Token Transfer via Server Mediator
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing devices with protected and unprotected operating system portions face challenges in transferring tokens, such as single sign-on tokens, due to security policies that prevent interaction between these portions, leading to cumbersome user experiences during initialization and authentication processes.
Innovation Solution
A server generates a key corresponding to a token received from a computing device's unprotected portion, stores it in a database, and sends the key to the protected portion, allowing secure retrieval and transfer of the token by compiling a second application signed with the key, which can be used to decrypt the token.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If security policies prevent interaction between protected and unprotected portions of a computing device, then security is improved, but token transfer capability deteriorates
Solution Approach 1:
A server acts as an intermediary between the unprotected portion (first application) and protected portion (second application) of the computing device. The server receives tokens from the first application, stores them securely, and retrieves them upon request from the second application using cryptographic keys. This mediator approach enables token transfer across security boundaries without compromising the isolation enforced by security policies.
Solution Approach 2:
The system segments the token transfer process into distinct components: token generation in the unprotected portion, secure storage on the server, key management separate from token storage, and token retrieval in the protected portion. This segmentation allows each component to operate within its security context while achieving overall token transfer functionality.
2Adaptability or versatility
If tokens are transferred between isolated portions, then authentication capability is improved, but system complexity increases
Solution Approach 1:
The server as intermediary centralizes the complexity of token management, including secure storage, cryptographic key handling, and retrieval logic. This externalizes system complexity from the computing device itself, allowing the device's protected and unprotected portions to remain relatively simple while achieving enhanced authentication capability through the server's coordinated operations.
3Reliability
If repeated logins are required between protected and unprotected portions, then security isolation is maintained, but user experience deteriorates
Solution Approach 1:
The system performs preliminary authentication in the unprotected portion, obtaining a token that is then stored on the server. When the user needs access in the protected portion, the system retrieves the pre-obtained token using cryptographic keys, eliminating the need for repeated authentication. This preliminary action maintains security isolation while significantly improving user experience by avoiding redundant logins.
4Ease of operation
If cryptographic keys are stored on the device, then token decryption capability is improved, but security risk increases
Solution Approach 1:
The cryptographic key storage and management functionality is extracted from the computing device and relocated to the server. The server stores tokens and manages cryptographic keys in a secure environment, while the computing device only holds minimal authentication credentials. This extraction removes the security risk of storing decryption keys on the device while maintaining the capability to decrypt tokens when needed through server-mediated operations.
Data Source
AI summary
Methods and systems for providing a token to a protected portion of a computing device are described herein. A computing device may comprise a first portion and a second portion, and the second portion may be prevented by a security policy from interacting with the first portion. A server may receive, from a first application executing on a first portion of the computing device, a token. The server may generate a key based on the token. The server may send the key to a second portion of the computing device. The second portion of the computing device may send a request for the token, and the request may comprise the key. The server may send the token to the second portion of the computing device. The token may be encrypted such that the unencrypted token is not available to the server.


