Client-Side Authentication Token Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing authentication solutions for online communications require a trusted server for authentication, leading to increased latency, potential unauthorized use of client credentials due to trusting third parties, and lack of client input during authentication sessions.
Innovation Solution
A client-side authentication system using a browser and authentication module that generates a security token by hashing a timestamp, plug-in ID, and public ID, allowing for client-side authentication without relying on a trusted server for every request, thus reducing latency and protecting client credentials.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a trusted server is used to perform authentication of plug-in requests, then authentication security is improved, but authentication latency increases by approximately two hundred milliseconds
Solution Approach 1:
The patent performs authentication in advance by generating a security token that contains authentication credentials before the actual plug-in request is made. The security token is generated client-side using a private key, and the public key is stored on the server for later verification. This preliminary authentication action eliminates the need for real-time server authentication, thus reducing latency while maintaining security.
Solution Approach 2:
The patent extracts the authentication function from the trusted server and implements it client-side through the authentication module. By taking out the authentication logic from the server and placing it on the client device, the system eliminates the round-trip time to the server during authentication while maintaining the security benefits of server-based authentication through cryptographic verification.
2Adaptability or versatility
If client credentials are entrusted to a third-party trusted server, then authentication functionality is improved, but security risk increases due to potential malfeasance by the third party
Solution Approach 1:
The patent extracts the sensitive authentication credentials (private key) from the third-party server and stores them locally on the client device. This extraction of the secret key from the untrusted environment to a controlled client environment eliminates the security risk of third-party malfeasance while maintaining the ability to perform authentication through the security token mechanism.
Solution Approach 2:
The patent introduces a public key as an intermediary that allows verification of authentication without exposing the private key. The public key acts as a mediator between the client and server, enabling the server to verify authentication credentials without having access to the sensitive private key, thus eliminating the security risk while maintaining authentication functionality.
3Reliability
If a trusted server performs authentication, then authentication control is improved, but client input capability during authentication session is reduced
Solution Approach 1:
The patent performs the authentication control action in advance by generating the security token before the authentication session begins. This preliminary action establishes the authentication credentials upfront, allowing the client to have full input capability during the session without needing continuous server verification, thus maintaining both control and ease of operation.
Data Source
AI summary
A system and method for client-side authentication is disclosed. A client device comprises a browser and an authentication module. The browser is configured to receive a cookie and a timestamp via the network and determine a plug-in ID. The authentication module is communicatively coupled to the browser to receive the cookie, the timestamp and the plug-in ID. The authentication module determines a signing key and a public ID based at least in part on the cookie. The authentication module signs the timestamp, plug-in ID and the public ID using the signing key. The authentication module concatenates the public ID, the timestamp, the plug-in ID and the signature to form an authenticated plug-in URL using the security token. The browser loads the authenticated plug-in URL to display a plug-in and begin an authenticated session that expires at a time specified by the time-based security token.


