Partial Policy Evaluation for API Authorization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Micro-service applications face challenges in implementing complex access controls due to their small, well-defined nature, making it impractical to incorporate and maintain traditional access control systems, which are often cumbersome and difficult to update dynamically.

Innovation Solution

A system for defining, distributing, and enforcing API authorization policies using local agents co-located with entity machines, which evaluate policies and parameters to authorize API calls, allowing for partial evaluation to precompute static portions offline, reducing runtime computation and enabling dynamic updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional access control systems are incorporated into micro-service applications, then authorization capabilities are provided, but application complexity and maintenance difficulty increase

Engineering Contradiction:
Improveauthorization capabilityVSAvoidapplication complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the authorization logic from the micro-service application code and places it in a separate policy management system. The application code becomes simpler by removing access control implementations, while the extracted policy engine handles authorization independently, resolving the contradiction between providing authorization capability and maintaining application simplicity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a policy engine as an intermediary component between the application and the access control logic. This mediator handles all authorization decisions through separate policy files, allowing the application to remain simple while still providing comprehensive authorization capabilities through the intermediate policy layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If access control rules are coded within application code base, then authorization is enforced, but dynamic modification becomes difficult

Engineering Contradiction:
Improveauthorization enforcementVSAvoiddynamic modification capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent transforms the static access control rules embedded in code into dynamic policy files that can be modified without recompiling the application. The policy engine reads these external policy files and enforces authorization dynamically, allowing rules to be changed at runtime to improve adaptability while maintaining enforcement reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the form of access control rules from hardcoded parameters in the application code to externalized policy file parameters. This parameter transformation allows the same application code to enforce different authorization rules by simply changing the policy file contents, enabling dynamic modification while maintaining consistent enforcement mechanisms.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If complex access controls are incorporated into micro-service applications, then security is improved, but functional complexity and maintenance burden increase

Engineering Contradiction:
ImprovesecurityVSAvoidmaintenance ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent extracts complex access control logic from the micro-service application and places it in a dedicated policy management system. This extraction maintains security by preserving the authorization enforcement capability while reducing the maintenance burden on application developers, as policy changes no longer require code modifications or recompilation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a policy management intermediary that handles complex security rules separately from the application code. This intermediary maintains security by enforcing authorization policies while simplifying maintenance, as the policy engine can be configured and updated independently without affecting the application codebase or requiring developer intervention for policy changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12118102B1Partial policy evaluation
Publication Date: 2024.10.15 APPLE INC
  • US12118102B1 patent drawing
  • US12118102B1 patent drawing
  • US12118102B1 patent drawing

AI summary

Some embodiments provide a method for evaluating a policy for authorizing an API (Application Programming Interface) call to an application. Based on a first set of parameters available before receiving the API call, the method evaluates only a portion of the policy to produce a partially evaluated policy. The method stores the partially evaluated policy in a cache. The method then receives an API call to authorize, and determines whether the API call should be authorized by fully evaluating the policy, using the partially evaluated policy retrieved from the cache first storage, and a second set of parameters associated with the API call. The method responds to the API call with a policy decision based on the fully evaluated authorization policy.