REST API Security Token Digest via Nonce and Timestamp

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for providing secure access to web services over the Internet face challenges in ensuring scalability, user-friendliness, and security, particularly for REST API invocations, which are vulnerable to message replay and spoofing attacks due to the lack of standardized security measures.

Innovation Solution

A system that establishes a secure communication channel using HTTPS and employs a security tokenizer to generate a digest from a security token, nonce, and timestamp, ensuring confidentiality, integrity, and non-repudiation through cryptographic hashing, and supports various token types like SAML and asymmetric keys.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If REST API invocations use standard HTTP protocols, then user-friendliness and scalability are maintained, but security against message replay and spoofing attacks deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoiduser-friendliness
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a security token (SAML token, Kerberos ticket, or asymmetric key) as an intermediary element between the client and REST API. This token serves as a mediator that carries authentication information without requiring changes to the underlying HTTP protocol, thus maintaining user-friendliness while enhancing security against message replay and spoofing attacks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The security token is nested within the existing HTTP request structure, allowing the security mechanism to be embedded within the familiar REST API invocation process. The token is included as part of the request parameters, enabling secure communication without disrupting the user-friendly HTTP interface.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Reliability

If cryptographic security measures are implemented, then protection against attacks is improved, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidcomplexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The client automatically generates and manages security tokens without requiring complex manual configuration. The system handles cryptographic operations self-service style, where the client retrieves tokens from authentication systems and automatically incorporates them into REST API requests, reducing operational complexity while maintaining strong security.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The security token mechanism serves multiple functions simultaneously: authentication, authorization, and protection against message replay and spoofing attacks. This multi-functionality reduces the need for separate security components, thereby reducing overall system complexity while enhancing security coverage.

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

3Speed

If security tokens are stored locally, then authentication speed is improved, but loss of information and security vulnerabilities increase

Engineering Contradiction:
Improveauthentication speedVSAvoidsecurity vulnerability
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

Security tokens are retrieved and cached in advance during authentication sessions, allowing fast subsequent API calls without repeating the full authentication process. This preliminary action of token retrieval during login maintains authentication speed while the token's temporary nature and automatic expiration prevent long-term storage vulnerabilities.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The security token mechanism is dynamic, with tokens having limited lifetimes and being automatically invalidated after use or expiration. This dynamic approach allows fast authentication while eliminating the static storage vulnerability, as tokens cannot be permanently stored and must be continuously validated during active sessions.

Inventive Principle:
Principle #15Dynamics

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach enhances the security of REST API invocations by encrypting communication, protecting against attacks, and providing non-repudiation, while being scalable and user-friendly, and allows for dynamic token management without local storage.

Implementation Method 1

The client can then determine a security token digest using the security token, the nonce, and the timestamp. Specifically, the client can determine the security token digest by applying a cryptographic hash function to the security token, the nonce, and the timestamp.

Methodology Applied
Scientific EffectCryptographic hashing:

Implementation Method 2

the secure communication channel can be an HTTPS (Hypertext Transfer Protocol over Secure Socket Layer) session

Methodology Applied
Scientific EffectEncryption:

Data Source

PatentUS8621598B2Method and apparatus for securely invoking a rest API
Publication Date: 2013.12.31 INTUIT INC
  • US8621598B2 patent drawing
  • US8621598B2 patent drawing
  • US8621598B2 patent drawing

AI summary

An embodiment of the present invention provides a system that enables a user to securely invoke a REST (Representational State Transfer) API (Application Programming Interface) at an application server. A client can establish a secure communication channel with an application server, and can send a request to the application server to invoke the REST API. The client can then receive a security token from an authentication system in response to authenticating the user with the authentication system. Next, the client can receive a nonce and a timestamp from the application server. The client can then determine a security token digest using the security token, the nonce, and the timestamp. Next, the client can resend the request to the application server to invoke the REST API with the security token digest. The application server can invoke the REST API if the security token digest is valid.