IP Library Granted Patent US 12695606
Granted Patent B2
US 12695606 · App. 18/209,001 · Granted Jul 28, 2026

Fault-tolerant access to digital assets without storing sensitive security data for decryption

Inventor: Nicolas Leoutsarakos (Montreal, CA)
H04L9/0861H04L9/0894H04L9/3026
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12695606
App. No.
18/209,001
Granted
Jul 28, 2026
Kind
B2
Abstract

An encryption key is created, and sensitive security data is sourced from it and from live data collected in real-time from a user context by a group functions. Subsequently, indicators to functions are stored and the encryption key with the sensitive security data is deleted. Redundancy is provided so that the decryption key can be created from different combinations of functions. A decryption key is later generated with sensitive security data using one or more stored indicators of the one or more functions to obtain an instance of live data in real-time from a current user context. Failing to generate the correct decryption key will result in repeating the creation of the decryption key with different groups of functions until access is granted or combinations of redundant stored functions are exhausted.

Claims (58)

1 . A method in a security device for securing and providing access to protected digital assets, with live data redundancy and without using stored sensitive security data, for decryption, the method comprising:

receiving a request to protect a digital asset, and in response:

defining and storing a group of functions for sensitive security data collection and a plurality of distinct subgroups of functions needed for decryption, wherein the sensitive security data is derived from live data retrieved in real-time from a user context, and wherein a function describes a live data requirement that is converted to an X value upon collection;

creating an encryption key from a first subgroup of functions from a plurality of distinct subgroups of functions, wherein the plurality of distinct subgroups are each selected from the group of functions;

encrypting the digital asset with the encryption key sourced from the first subgroup of functions using the live data, for storage;

generating a polynomial, wherein coefficients to the polynomial are derived from bits of the encryption key;

calculating Y values as solutions to the polynomial, by using a plurality of distinct X values sourced from the plurality of distinct subgroups of functions using the live data including the first subgroup of functions; and

deleting the encryption key and the live sensitive data, and storing the identifiers of the plurality of the subgroups of functions and a Y value associated with each of the plurality of subgroups of functions;

subsequently receiving a request for access to the digital asset, and in response:

obtaining from a subgroup of functions current-live sensitive data in real-time from a current user context,

creating a decryption key wherein bits of the decryption key are derived from the coefficients of a polynomial, wherein the coefficients are regenerated from both the stored Y-values and the current-live sensitive data, wherein the current-live sensitive data is sourced from a subgroup of functions from the plurality of subgroups; and

decrypting the digital asset with the decryption key, derived from current live sensitive security data, for access to the digital asset.

2 . The method of claim 1 , further comprising:

evaluating the polynomial a number of times that exceeds the number of coefficients.

3 . The method of claim 1 , wherein the regenerating the polynomial step comprises regenerating the polynomial by regenerating the coefficients to construct the decryption key wherein bits of the decryption key are derived from the coefficients.

4 . The method of claim 1 , wherein the step of creating the decryption key further comprises:

creating (x, y) pairs with stored (indicator, y) pairs, wherein using the one or more indicators of one or more functions to obtain a current instance of live data in real-time from a current user context and output current sensitive data, and combining the current sensitive data to derive x-values.

5 . The method of claim 1 , wherein the step of creating the decryption key further comprises:

a number of (x, y) pairs necessary to create the decryption key matches a number of coefficients of the polynomial.

6 . The method of claim 1 , wherein the step of creating the decryption key further comprises: using a polynomial interpolation algorithm to calculate the integer coefficients of a polynomial with (x, y) pairs.

7 . The method of claim 1 , wherein the step of creating the decryption key further comprises:

converting each integer coefficient into bits and combining the bits of all coefficients to form the decryption key.

8 . The method of claim 1 , wherein if the creation of the decryption key fails, the method further comprises:

repeating the creation of the decryption key with groups of (indicator, y) pairs until combinations of stored (indicator, y) pairs, are exhausted.

9 . The method of claim 1 , wherein current user context comprises but not limited to combinations of: live data obtained on the fly from intellect, memory, biometrics, dexterity, physical movement and proximity of the user; and live data obtained on the fly from the hardware, software and communication identification characteristics of the security device; and live data obtained on the fly from peripheral devices accessible by the security device over WiFi, USB, Bluetooth or cellular communications; and live data obtained on the fly from current GMT time and current physical and Internet locations.

10 . The method of claim 1 , wherein the encryption key comprises: at least one of a password, a token, a cryptographic key, a resource ID, a device ID, an app ID, a nonce, and a challenge string.

11 . The method of claim 1 , wherein the digital asset comprises one or more of: a digital file, an account leading to a digital file, an online service, a data streaming packet, a crypto wallet, login credentials and access credentials to a physical-hardware object.

12 . The method of claim 1 , wherein the functions designated by the indicators comprise one or more of: user facing functions, device detection and identification functions, peripheral devices detection and communication functions, and physical and Internet location detection and sensing functions.

13 . The method of claim 1 , wherein the live data comprises but not limited to one or more of: a fingerprint, a retina scan, a voice sample, a user image, an operating system type, an operating system version, a list of installed applications, a peripheral smartphone, a peripheral network switch, a peripheral router, a GPS location, DNS data, and an IP address.

14 . The method of claim 1 , wherein indicators of functions comprise one or more of: a function name, a function ID, a URL, a programming language interface, a programming language pointer, a callback, and a database record with a function body.

15 . The method of claim 1 , wherein the received request to protect the digital asset is received across a data communication network from a client device, and the sensitive security data from key encryption is also received from the client device.

16 . A non-transitory, computer-readable medium storing source code that, when executed by a processor, performs a method in a security device for securing and providing access to protected digital assets, with live data redundancy and without using stored sensitive security data, for decryption, the method comprising:

receiving

a request to protect a digital asset, and in response:

defining and storing a group of functions for sensitive security data collection and a plurality of distinct subgroups of functions needed for decryption, wherein the sensitive security data is derived from live data retrieved in real-time from a user context, and wherein a function describes a live data requirement that is converted to an X value upon collection;

creating an encryption key from a first subgroup of functions from a plurality of distinct subgroups of functions, wherein the plurality of distinct subgroups are each selected from the group of functions;

encrypting the digital asset with the encryption key sourced from the first subgroup of functions using the live data, for storage;

generating a polynomial, wherein coefficients to the polynomial are derived from bits of the encryption key;

calculating Y values as solutions to the polynomial, by using a plurality of distinct X values sourced from the plurality of distinct subgroups of functions using the live data including the first subgroup of functions; and

deleting the encryption key and the live sensitive data, and storing the identifiers of the plurality of the subgroups of functions and a Y value associated with each of the plurality of subgroups of functions;

subsequently receiving a request for access to the digital asset, and in response:

obtaining from a subgroup of functions current-live sensitive data in real-time from a current user context,

creating a decryption key wherein bits of the decryption key are derived from the coefficients of a polynomial, wherein the coefficients are regenerated from both the stored Y-values and current-live sensitive data, wherein the current-live sensitive data is sourced from a subgroup of functions from the plurality of subgroups; and

decrypting the digital asset with the decryption key, derived from the current live sensitive security data, for access to the digital asset.

17 . A digital assets server to secure and provide access to protected digital assets, with live data redundancy and without using stored sensitive security data, for decryption, the digital assets server comprising:

a processor;

a network interface communicatively coupled to the processor and to the hybrid wireless network; and

a memory, communicatively coupled to the processor and storing source code, that when executed by the processor, cause the processor to:

a receive a request to protect a digital asset, and in response, defines a group of functions for initial sensitive security data collection and a plurality of distinct subgroups of functions needed for decryption, wherein the initial sensitive security data is live data retrieved in real-time from a user context, and wherein a function describes a live data requirement that is converted to an X value upon collection,

wherein the encryption creates an encryption key from a first subgroup of functions from a plurality of distinct subgroups of functions, wherein the plurality of distinct subgroups are each selected from the group of functions,

wherein the encryption encrypts the digital asset with the encryption key of the first subgroup of functions using the live sensitive data, for storage,

wherein the encryption generates a polynomial, wherein coefficients to the polynomial are derived from bits of the encryption key,

wherein the encryption calculates Y values as solutions to the polynomial, by using a plurality of distinct X values from the plurality of distinct subgroups of functions using the live sensitive data including the first subgroup of functions, and

wherein the encryption deletes the encryption key and the live sensitive data, and stores identifiers of the plurality of subgroups of functions and a Y value associated with each of the subgroups of functions;

wherein the monitoring subsequently receives a request for access to the digital asset, and in response,

the decryption module obtains from a subgroup of functions current-live sensitive data in real-time from a current user context,

wherein the encryption creates a decryption key wherein bits of the decryption key are derived from the coefficients of a polynomial, wherein the coefficients are regenerated from both the stored Y-values and the current-live sensitive data from a subgroup of functions from the plurality of subgroups, and

wherein the decryption decrypts the digital asset with the decryption key, derived from current sensitive security data for access to the digital asset.