Dynamic Authentication Scheme Selection in Distributed Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing facilities, client-side authentication scheme selection introduces latency and is labor-intensive, especially when multiple microservices need to switch to new authentication schemes, leading to overloading and errors due to complex authentication logic and library updates.
Innovation Solution
Implementing a service-side authentication scheme selection at the authentication service using a request monitor that analyzes authentication requests for 'hints' to determine suitable schemes, allowing dynamic scheme selection and reducing authentication logic at microservices, enabling efficient deployment of new schemes with a single authentication endpoint.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If client-side authentication scheme selection is implemented, then microservices can authenticate to platform services, but latency is introduced and the system becomes labor-intensive when switching authentication schemes
Solution Approach 1:
An authentication endpoint acts as an intermediary between microservices and the authentication service. This endpoint receives authentication requests from multiple microservices and dynamically selects appropriate authentication schemes, eliminating the need for each microservice to independently discover and select authentication schemes, thereby reducing latency and complexity
Solution Approach 2:
Instead of having microservices select authentication schemes client-side, the system inverts the selection logic to server-side by implementing authentication scheme selection at the authentication service. This reversal centralizes the decision-making process, reducing client-side complexity and authentication latency
2Adaptability or versatility
If multiple authentication schemes are deployed with client-side selection, then various authentication needs can be met, but the system becomes labor-intensive and error-prone when updating authentication libraries
Solution Approach 1:
The authentication endpoint serves as a mediator that shields microservices from authentication scheme complexity. It receives generic authentication requests and handles scheme-specific logic internally, allowing authentication schemes to be updated or added without requiring changes to microservice authentication libraries
Solution Approach 2:
The authentication system is segmented into distinct components: microservices that send authentication requests, an authentication endpoint that routes requests, and an authentication service that implements multiple schemes. This segmentation allows independent updates of authentication schemes without affecting microservices
3Reliability
If authentication logic is distributed across multiple microservices, then each service can authenticate independently, but the overall system complexity increases and maintenance becomes difficult
Solution Approach 1:
The authentication endpoint acts as a central intermediary that consolidates authentication logic. Microservices maintain independence by sending requests to this endpoint, while the endpoint centralizes the complex logic of selecting and managing multiple authentication schemes, reducing overall system complexity
Data Source
AI summary
Techniques of dynamic authentication scheme selection in distributed computing systems are disclosed herein. One example technique includes analyzing a received authentication request for an indicator of an authentication scheme that is supported by a computing service submitting the authentication request. The example technique can also include determining whether the authentication scheme associated with the indicator is also supported by the authentication service and in response to determining that the authentication scheme associated with the indicator is also supported by the authentication service, initiating an authentication process with the computing service according to the authentication scheme that is supported by both the computing service and the authentication service. As such, the authentication scheme can be dynamically selected at the authentication service for the received authentication request.


