Proxy Server Authentication with Automatic IP-Port User Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing user authentication methods with proxy servers are often interactive and cumbersome, failing to authenticate users effectively in scenarios where traditional login credentials are not feasible, such as with non-browser applications or devices without shared cookie storage.
Innovation Solution
A system and method that uses a combination of client public IP address and proxy server port number as a tuple to uniquely identify users, enabling non-interactive and automatic authentication by routing requests through proxy servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If traditional interactive authentication methods are used with proxy servers, then user identity can be verified, but the authentication process becomes cumbersome and non-feasible for non-browser applications or devices without shared cookie storage
Solution Approach 1:
The system enables self-service authentication by having the client device automatically perform authentication without user interaction. The HTTP agent on the client device automatically extracts credentials from the browser's cookie storage and uses them to authenticate with the proxy server, eliminating the need for manual login steps.
Solution Approach 2:
The invention introduces an intermediary mechanism where the browser's cookie storage acts as a credential repository that the HTTP agent can access. This intermediary allows the authentication system to work across different applications and devices by leveraging the browser's existing authentication state without requiring direct user interaction.
2Reliability
If proxy servers are deployed to authenticate users, then user identity tracking is enabled, but the deployment and maintenance complexity increases
Solution Approach 1:
The proxy server is designed to perform multiple functions: it acts as both an authentication server and a caching server. The server can authenticate users through the automatic credential extraction mechanism while also caching web content to reduce bandwidth usage and improve performance, thereby justifying the deployment complexity through multiple benefits.
Solution Approach 2:
The authentication functionality is segmented into a separate HTTP agent component on the client device, which handles credential extraction and authentication requests independently. This segmentation allows the proxy server to focus on authentication and caching without being burdened by the complexity of credential management across different applications.
3Reliability
If manual authentication is required for each application, then security is maintained, but productivity and user experience deteriorate
Solution Approach 1:
The system maintains continuous authentication state by leveraging the browser's persistent cookie storage. Once a user authenticates in the browser, the credentials are automatically available to the HTTP agent for subsequent proxy server authentications without requiring the user to re-enter credentials, thus maintaining security while enabling continuous productive action across applications.
Data Source
AI summary
A system and method for implementing a non-interactive and automatic way of facilitating user authentication with a proxy server is disclosed. At least, the technique disclosed includes determining a request to access a web server by a Hypertext Transfer Protocol (HTTP) agent on a client device, retrieving a proxy configuration file from a Uniform Resource Locator (URL) assigned to the client device, determining, using the proxy configuration file, a host name and a port number of a proxy server corresponding to the request, and routing, from the HTTP agent to the proxy server, the request using the host name and the port number of the proxy server, the proxy server configured to look up a user mapping table using a set of proxy connection information and uniquely identify a user of the client device based on the look up, the set of proxy connection information including a combination of a public Internet Protocol (IP) address of the client device, the host name of the proxy server, and the port number of the proxy server.


