Client-Side Local Encryption for Single Sign-On

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Single Sign-On (SSO) systems face a security flaw in encrypting client-side application data, as the client-side portion cannot generate an encryption key when login credentials are managed by an external authentication source, making it impractical to securely encrypt and decrypt data.

Innovation Solution

A client-side application generates a random encryption key and encrypts locally-stored data with it, using a key-encrypting key derived from a pseudorandom function to ensure secure encryption and decryption, even when login credentials are managed by a trusted third party.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If SSO system is used to manage login credentials externally, then ease of operation and password fatigue reduction is improved, but the ability to generate encryption keys on client-side deteriorates

Engineering Contradiction:
Improveease of operationVSAvoidencryption key generation capability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The encryption key generation process is segmented into two parts: a random key generated and stored locally on the client device, and a key-encrypting key derived from SSO authentication. This segmentation allows the system to maintain both ease of operation through SSO and reliability through local key generation capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The client-side application generates and stores a random encryption key in advance, before SSO authentication occurs. This preliminary action ensures that the encryption key is already available on the client device, resolving the contradiction by preparing the key generation capability beforehand rather than requiring it during the SSO authentication process.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If encryption key is derived from user password, then encryption security is improved, but practicality deteriorates when credentials are managed by external authentication source

Engineering Contradiction:
Improveencryption securityVSAvoidpracticality
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

Instead of deriving the encryption key from the user password (traditional approach), the patent inverts the approach by generating a random encryption key locally and using the SSO-authenticated key-encrypting key to encrypt that random key. This inversion resolves the contradiction by making the encryption key independent of the password while maintaining both security and practicality.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent introduces an intermediary random encryption key that mediates between the SSO system and the encrypted data. The SSO system generates a key-encrypting key that encrypts the random encryption key, which in turn encrypts the application data. This intermediary structure allows the system to maintain encryption security without requiring direct password-based key derivation, thus resolving the contradiction between security and practicality.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If client-side data is encrypted without local key generation, then device security is improved, but data accessibility deteriorates

Engineering Contradiction:
Improvedevice securityVSAvoiddata accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The random encryption key is generated and stored locally on the client device in advance, before any encryption operations occur. This preliminary action ensures that the decryption capability remains on the client device, maintaining data accessibility while the SSO-based key-encrypting key provides the security layer.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The encryption system is segmented into two layers: the data encryption key stored locally on the client device for accessibility, and the key-encrypting key generated by the SSO system for security. This segmentation resolves the contradiction by placing different security and accessibility functions in different locations within the system.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11368445B2Local encryption for single sign-on
Publication Date: 2022.06.21 WICKR INC
  • US11368445B2 patent drawing
  • US11368445B2 patent drawing
  • US11368445B2 patent drawing

AI summary

The present disclosure describes techniques that allow for a client-side application, located on a first client device, to generate a random encryption key and encrypt locally-stored application data with the random encryption key. The random encryption key is used in lieu of a password-derived encryption key. In order to ensure that the client-device application is unable to decrypt the locally-stored encrypted application data prior to authenticating with an external authentication source (i.e., SSO, IdP), the random encryption key is encrypted with a key-encrypting key derived using a pseudorandom function (PRF). By using a PRF, the first device is able to authenticate to the first server and derive a secure key as part of the authentication process. Accordingly, the present disclosure describes techniques for securing data on a client device when credentials are managed by an external authentication system.