API Access Controls via Proof-of-Work Challenges

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing API systems face challenges in distinguishing between malicious and honest requests, leading to potential security breaches and resource inefficiencies, as malicious systems may not expend resources for API access, while honest systems do.

Innovation Solution

Implementing a proof of work mechanism where the API service platform issues computer authorization challenges with a computational cost that is higher for malicious systems than the value they provide, but lower than the resources honest systems are willing to expend, ensuring only legitimate requests gain access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If no authorization challenge is required for API access, then ease of operation is improved, but security deteriorates as malicious systems can access APIs without cost

Engineering Contradiction:
ImproveAPI access convenienceVSAvoidAPI security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary computational work before granting API access by requiring requestors to complete proof-of-work challenges. This advance action ensures that malicious actors must invest resources before gaining access, while legitimate users experience minimal delay due to pre-computed or cached challenge responses.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the difficulty parameter of proof-of-work challenges based on the perceived legitimacy of the requestor and the sensitivity of the API endpoint. By changing the computational cost parameter, the system can prevent abuse while maintaining ease of access for legitimate users who present valid credentials or have established reputations.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If proof of work mechanism is implemented, then security is improved, but device complexity increases due to challenge generation and verification

Engineering Contradiction:
ImproveAPI securityVSAvoidauthorization system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system introduces a proof-of-work service as an intermediary component that handles challenge generation, distribution, and response verification. This mediator architecture separates the security functionality from the core API logic, reducing complexity in the main system while maintaining robust security through specialized dedicated components.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Object-affected harmful factors

If high computational cost challenges are used, then malicious calls are reduced, but honest systems may also be burdened with excessive resource expenditure

Engineering Contradiction:
Improvemalicious API callsVSAvoidcomputational resources for honest requests
Core Design Contradiction:
Object-affected harmful factorsVSUse of energy by moving object

Solution Approach 1:

The system applies proof-of-work challenges selectively rather than universally, using partial action by assessing request characteristics to determine when challenges are necessary. The computational cost is calibrated to be excessive for malicious actors (whose attempts will fail) but reasonable for legitimate users (whose requests will succeed and whose resources are already allocated for the transaction).

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10462138B2Application programming interface access controls
Publication Date: 2019.10.29 GOOGLE LLC
  • US10462138B2 patent drawing
  • US10462138B2 patent drawing
  • US10462138B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for controlling access to APIs. One of the methods includes receiving a request from a client for a computer authorization challenge to access an application programming interface; determining a computer authorization challenge with a difficulty of completion that satisfies a target computational cost for the application programming interface; and providing the computer authorization challenge to the client for access to the application programming interface.