OAuth Authorization Server Attested Client Authentication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing OAuth and OpenID Connect protocols do not effectively authenticate clients running on mobile and web applications, leading to suboptimal user experience and security risks, as they do not adhere to REST principles and cannot support multiple-factor authentication without custom solutions.
Innovation Solution
An OAuth authorization server method that uses client attestation tokens, proof of possession of private keys, and a hypermedia-based authentication state machine to authenticate users, ensuring that only attested clients can proceed through the authentication process, thereby reducing the risk of security breaches and enabling REST-compliant APIs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If OAuth and OpenID Connect protocols are used for client authentication, then interoperability and REST-like authentication are achieved, but clients cannot be attested to be authentic (public/unauthenticated clients)
Solution Approach 1:
The system performs preliminary attestation of the client application code before authentication. The attestation process verifies the integrity and authenticity of the client application, issuing an attestation token that proves the client is genuine. This preliminary action ensures that only authenticated clients can proceed with the OAuth flow, resolving the contradiction between interoperability and client authentication.
2Ease of operation
If Single Page Applications (SPA) and mobile applications are deployed, then accessibility and ease of use are improved, but credentials can be obtained through decompilation or source code viewing (security risk)
Solution Approach 1:
The invention extracts the authentication capability from the client application code itself. Instead of embedding credentials in the application, the system uses the application code's integrity as the authentication mechanism. The attestation process verifies the code without exposing any secrets, and the authenticated client uses this attestation token for subsequent OAuth operations, eliminating credential exposure risks while maintaining SPA and mobile app accessibility.
3Productivity
If Resource Owner Password Credentials Grant is used for API-driven login, then authentication can be performed, but it cannot support multiple factors of authentication and does not adhere to REST principles
Solution Approach 1:
The system creates a universal authentication framework that works across multiple authentication methods. The attestation-based client authentication is method-agnostic and can be combined with any user authentication mechanism (password, MFA, biometrics, etc.). The OAuth 2.0 flow provides a unified RESTful interface that supports various grant types and authentication factors, resolving the limitation of password-only authentication while maintaining productivity.
4Adaptability or versatility
If browser-based authentication is required, then OAuth and OpenID Connect can be implemented, but it creates barriers for users and delegates authentication suboptimally
Solution Approach 1:
The invention introduces an attestation service as an intermediary between the client application and the authorization server. This intermediary verifies the client's authenticity through code attestation and issues an attestation token. The client then uses this token directly in OAuth requests without needing to redirect to a browser, eliminating the browser dependency while maintaining protocol compatibility and improving user experience.
Data Source
AI summary
Authentication of a user of an OAuth client by an OAuth authorization server, comprising exposing an authentication state machine, where the states of the state machine are hypermedia-based representations of login resources, and transitions between states are represented by hypermedia links, wherein the authentication state machine is exposed to the client by an API adhering to the principles of REpresentational State Transfer (REST). When the final state of the state machine has been reached, a secondary access token is issued to the client, thereby authenticating the user, wherein hypermedia representations which are sent to the client are encoded so as to be readily parsable by the client.


