OAuth Refresh Token Encryption in Browser Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current OAuth authentication methods lack secure storage solutions for refresh tokens in browser storage, making them vulnerable to unauthorized access due to the absence of encryption features, which compromises data security and increases the risk of brute force attacks.

Innovation Solution

The proposed solution involves encrypting the OAuth refresh token using a user-provided passcode and a private key generated by the service provider, storing the encrypted token locally in the browser, and requiring the passcode for decryption, thereby enhancing data security and preventing unauthorized access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If OAuth refresh tokens are stored in browser storage without encryption, then ease of operation is improved (no additional authentication steps), but data security deteriorates (vulnerable to unauthorized access and brute force attacks)

Engineering Contradiction:
Improveease of authenticationVSAvoiddata security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary encryption of the refresh token using a key derived from the user's passcode before storing it in browser storage. This preliminary action ensures that even if the storage is compromised, the token remains secure without requiring additional authentication steps at the time of storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary encryption layer between the refresh token and the browser storage. The encryption key, derived from the user's passcode through a key derivation function, acts as a mediator that protects the token while allowing convenient access when the user provides their passcode during authentication.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If refresh tokens are encrypted and stored securely, then data security is improved (protection against brute force attacks), but device complexity increases (encryption operations and key management)

Engineering Contradiction:
Improvedata securityVSAvoidcomplexity of token storage system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service by allowing the user to provide their passcode, which automatically generates the encryption key through a key derivation function. This eliminates the need for complex key management infrastructure while maintaining strong security, as the user themselves provides the authentication credential needed for encryption.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent transforms the storage approach by changing the parameter state of the refresh token from unencrypted plaintext to encrypted ciphertext. The encryption parameter is derived from the user's passcode, creating a secure stored state that can be decrypted only with the corresponding passcode, thereby improving security without requiring complex system architecture.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If encryption keys are stored on the client side, then ease of operation is improved (faster authentication), but data security deteriorates (risk of key compromise if device is lost)

Engineering Contradiction:
Improvespeed of authenticationVSAvoidrisk of unauthorized access
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The passcode serves as an intermediary between the user and the encryption key. Instead of storing the actual encryption key on the client side, the system stores only the passcode and uses a key derivation function to generate the key when needed. This intermediary approach ensures that even if the device is compromised, the encryption key cannot be extracted without the user's passcode.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical storage of encryption keys with a cryptographic key derivation mechanism. Instead of directly storing the key (mechanical approach), the system uses a passcode combined with a key derivation function to generate the key dynamically (cryptographic approach), thereby maintaining speed while improving security against device compromise.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10257169B2Methods and systems of data security in browser storage
Publication Date: 2019.04.09 SALESFORCE INC
  • US10257169B2 patent drawing
  • US10257169B2 patent drawing
  • US10257169B2 patent drawing

AI summary

Mechanisms and methods are provided for managing OAuth access in a database network system, and extending the OAuth flow of authentication to securely store the OAuth encrypted refresh token in the storage available with current browsers or any other non-secure storage on user system.