Inter-Application Mutual Authentication via Pasteboard and Cryptographic Challenges
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current user computing device operating environments restrict direct communication between foreground and background service applications, leading to uncertainty about the identity of the intended receiving application, as multiple applications can share the same URL, compromising secure data transmission.
Innovation Solution
A method involving an application authentication system that generates a session key based on request parameters, a random nonce, and a timestamp, allowing requesting and invited applications to authenticate and exchange cryptographic keys through a pasteboard, ensuring secure communication by verifying user authentication credentials.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If service applications communicate indirectly via a pasteboard to bypass operating environment restrictions, then communication between foreground and background applications is enabled, but certainty of the receiving application's identity is lost
Solution Approach 1:
The patent introduces an authentication system as an intermediary that mediates between the requesting application and the invited application. This system verifies identities through cryptographic challenges and responses, ensuring reliable identity verification while maintaining the indirect pasteboard communication method required by the operating environment constraints.
Solution Approach 2:
The patent changes the communication parameters by introducing cryptographic elements (challenges, responses, session keys) into the pasteboard interaction. Instead of plain text communication, the applications exchange authenticated data with verified identities, transforming the unreliable indirect communication into a secure and verifiable process.
2Ease of operation
If multiple service applications share the same URL for inter-application communication, then ease of access is improved, but uncertainty about the intended receiving application increases
Solution Approach 1:
The patent implements a feedback mechanism where the requesting application sends a cryptographic challenge to the invited application, and the invited application responds with a verified cryptographic response. This feedback loop confirms the identity of the receiving application, preventing identity loss even when multiple applications share the same URL for access.
3Reliability
If direct communication between service applications is restricted by the operating environment, then security control is improved, but communication flexibility is reduced
Solution Approach 1:
The patent adds a new dimension to the communication process by introducing cryptographic authentication layers. Instead of restricting communication to simple direct or indirect methods, the system operates in an enhanced dimension where pasteboard communication is augmented with cryptographic challenges, responses, and session key exchanges, maintaining both security control and communication flexibility.
Data Source
AI summary
A requesting application transmits a session key request comprising request parameters to an application authentication system, which generates a random nonce and current timestamp, calculates a session key, and transmits the session key and session key parameters to the requesting application. The requesting application creates a pasteboard, generates a random challenge, calculates an output of a function with the random challenge as input, posts the output on the pasteboard, launches an invited application, and transmits the session key parameters and the pasteboard name to the invited application with which the user initiates an authentication session by providing credentials. The invited application requests a session key from the application authentication system, which confirms the authentication session, calculates a second session key, and transmits it to the invited application, which accesses the pasteboard, determines the random challenge, and posts the function output at an expected value. The requesting application confirms the output.


