API Domain Specific Language for JWT Security Roles

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Role-Based Access Control (RBAC) systems face performance degradation and complexity issues due to large JSON Web Tokens (JWTs), leading to security risks from inadequate or overly broad access, and lack an efficient mechanism to restrict access to records created by a specific user.

Innovation Solution

The system processes an API Domain Specific Language (DSL) to set security roles on an endpoint device, using a novel DSL structure that compresses security roles into a smaller optimized JWT, allowing for granular access control and preventing over-granting by using a self-limiting identifier.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional JWT tokens with detailed role information are used, then security access control is achieved, but network and processing performance degrade due to large token size

Engineering Contradiction:
Improvesecurity access controlVSAvoidnetwork and processing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the security role information into two parts: a compact JWT token containing only essential identification data, and a separate role mapping stored in a database. This segmentation allows the token to remain small for efficient network transmission and processing, while the detailed role information is retrieved on-demand from the database, resolving the contradiction between security control and performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts detailed role information from the JWT token and stores it externally in a database. The JWT token retains only minimal necessary data (user ID, expiration, signature), while the comprehensive role mappings are taken out and stored separately. This extraction reduces token size and improves performance while maintaining security control through the external role database.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If comprehensive security roles are assigned to all resources, then complete access control is achieved, but complexity of role management increases and mistakes occur

Engineering Contradiction:
Improveaccess control completenessVSAvoidrole management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal role mapping system where a single JWT token can represent multiple resources and roles through a standardized mapping structure. The role mapping database serves as a multi-functional repository that handles different resource types (applications, users, customers) and access levels through a unified framework, reducing management complexity while maintaining complete access control.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces a role mapping database as an intermediary between the JWT token and the actual resource access control. This intermediary layer simplifies management by providing a centralized location to define and maintain all role relationships, eliminating the need to hardcode complex role assignments in multiple places and reducing errors.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If role groupings are used to minimize proliferation of specialized roles, then role management is simplified, but role over-granting occurs creating security risks

Engineering Contradiction:
Improverole management simplicityVSAvoidsecurity risk from over-granting
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies local quality by allowing different granularity levels of role assignment in different contexts. The role mapping database enables specific resources to have precise role assignments while other resources use broader role groupings. This localized approach to role specificity prevents over-granting by allowing fine-grained control where needed while maintaining simplicity where appropriate.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent makes the role assignment system dynamic by allowing the endpoint device to query and filter roles based on the specific resource being accessed. Rather than assigning all possible roles statically, the system dynamically determines which roles are actually needed for each resource interaction, preventing over-granting while maintaining management simplicity through the centralized role mapping.

Inventive Principle:
Principle #15Dynamics

4Reliability

If JWT tokens contain all security role information, then access control is enforced, but token size increases making management complex and expensive

Engineering Contradiction:
Improveaccess control enforcementVSAvoidtoken management complexity and cost
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments token information from role mapping information, placing only essential authentication data in the JWT token and storing comprehensive role assignments in a separate database. This segmentation reduces token size and management complexity while maintaining access control enforcement through the combination of token validation and database role verification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses the JWT token as a compact copy or reference to the full role mapping stored in the database. The token contains sufficient information to identify the user and validate authenticity, while the complete role information is copied from the database on-demand during resource access, reducing token management overhead while maintaining security.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20240422199A1Application programming interface (API) domain specific language
Publication Date: 2024.12.19 NCR VOYIX CORP
  • US20240422199A1 patent drawing
  • US20240422199A1 patent drawing
  • US20240422199A1 patent drawing

AI summary

A principal successfully authenticates for a communication session with a target device. One or more Domain Specific Language (DSL) statements/records assigned to the principal are provided to the target device. The target device translates the DSL statements/records into code, which is executed on the target device to custom set security roles of the principal on the target device during the session. In an embodiment, the one or more DSL statements/records are provided to the target device as an optimized JavaScript® Object Notation (JSON) Web Token (JWT); a payload of the optimized JWT comprising the one or more DSL statements/records as a compressed and enhanced JSON object.