Application Server Validation Using Public-Private Key Pairs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large database systems face security risks and efficiency bottlenecks due to the need for each user device to authenticate with the database for every API call, leading to increased load and latency, as well as potential malicious access before session validation is complete.

Innovation Solution

Implementing user device validation at the application server using a public-private key pair, where the application server transmits the private key to the user device and verifies the session establishment message based on the corresponding public key, reducing the need for database interactions and enhancing security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If authentication is performed at the database for every API call, then security is improved, but system efficiency deteriorates due to increased load and latency

Engineering Contradiction:
ImprovesecurityVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces an application server as an intermediary between user devices and the database. The application server validates session tokens and manages authentication, preventing direct authentication calls to the database. This mediator handles the authentication bottleneck by processing validation requests locally rather than requiring database involvement for every API call, thus maintaining security while improving system efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The authentication process is segmented into two distinct phases: initial authentication at the database (which establishes a session token) and subsequent validation at the application server (which uses the session token). This segmentation separates the heavy authentication workload from the database, allowing the database to focus on data operations while the application server handles validation, thereby resolving the contradiction between security and efficiency.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If connection is established before validation, then ease of operation is improved, but security deteriorates due to potential malicious attacks

Engineering Contradiction:
Improveconnection establishmentVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements preliminary validation of the session token at the application server before establishing any database connection. The application server verifies the authenticity and validity of the session token in advance, ensuring that only authenticated user devices can proceed to establish database connections. This preliminary security check prevents malicious attacks while maintaining ease of operation for legitimate users.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The application server performs preliminary anti-action by validating the session token and blocking unauthorized access attempts before they can reach the database. By checking the authenticity of the connection request in advance and rejecting invalid sessions, the system prevents potential malicious attacks while allowing legitimate connections to proceed smoothly, thus resolving the security-ease of operation contradiction.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS11303449B2User device validation at an application server
Publication Date: 2022.04.12 SALESFORCE INC
  • US11303449B2 patent drawing
  • US11303449B2 patent drawing
  • US11303449B2 patent drawing

AI summary

Methods, systems, and devices for validation at an application server are described. The application server may validate a user device utilizing a public-private key pair, and may refrain from establishing a database connection until the user device is validated. For example, the application server may transmit a private key and a public key identifier to the user device. When the application server receives a session establishment message that is based on a private key and that contains the public key identifier, the application server may determine the public key of the public-private key pair based on the identifier. The application server may validate that the session establishment message is received from the user device based on the private key and the determined public key. Based on this validation procedure, the application server may establish a database connection with a database, granting the validated user device access to requested data.