IP Library Granted Patent US 12,645,765
Granted Patent B2
US 12,645,765 · App. 18/710,134 · Granted Jun 2, 2026

Secure information delivery in an untrusted environment

Inventor: Joseph Shannon Duncan (Conway, AR)
Assignee: LiveRamp, Inc.
G06F21/10H04L63/0281H04L63/0442H04L63/0807
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 12,645,765
App. No.
18/710,134
Granted
Jun 2, 2026
Kind
B2
Abstract

A system for secure delivery of data, algorithms, or intellectual property into an untrusted environment utilizes an embedded transcoder within the client computing environment. The embedded transcoder takes advantage of cloud computing functionality to isolate the embedded transcoder from the client application, with a proxy junction between the client application and embedded transcoder. Communication to a provider cloud environment is maintained through a generic authentication appliance system (GAAS) with a client-facing application programming interface (API), with the GAAS also communicating to the customer cloud environment components through the proxy junction. To provide the client application permission to access specific components within the provider application, the API authorizes the client application through tokens activated with public/private keys.

Claims (65)

1 . A method for securely delivering information in an untrusted environment, comprising the method steps of:

at an embedded transcoder hosted in a consumer cloud environment, generating an appliance public key and an appliance private key;

at a client application hosted in the consumer cloud environment, sending a set of customer credentials and an initialization (INIT) request to a proxy function hosted within the consumer cloud environment;

at the proxy function, requesting an application public key and an appliance token that comprises an appliance identifier (appliance ID) and the appliance public key from the embedded transcoder;

at the embedded transcoder, responding to the proxy function by sending to the proxy function the application public key and the appliance token;

at the proxy function, requesting from a generic authentication appliance system (GAAS) an authorization and INIT packet, and sending the application public key and appliance token to the GAAS;

at the GAAS, validating the application public key and returning to the proxy function an INIT token, wherein the INIT token comprises a payload comprising a public section and a private section;

at the proxy function, sending the INIT token to the embedded transcoder;

at the embedded transcoder, validating a signature on the INIT token using the appliance public key;

at the proxy function, sending a transcode request to the embedded transcoder;

at the embedded transcoder, receiving a transcode request and returning results; and

at the proxy function, validating the application public key and the appliance token received from the embedded transcoder, and sending the application public key and the appliance token to the client application.

2 . The method of claim 1 , wherein the appliance public key is signed by an application private key within the embedded transcoder and sent to the proxy function along with application public key, and wherein the proxy function forwards the signed appliance public key and the application public key to the GAAS.

3 . The method of claim 2 , wherein the step of validating the application public key comprises the step of calling a secrets manager from the GAAS and validating if the application public key exists within the secrets manager.

4 . The method of claim 3 , further comprising the step of, after the GAAS validates the appliance token with the application public key, extracting the appliance public key out of the appliance token and then storing the appliance public key in the secrets manager.

5 . The method of claim 4 , wherein the private section of the INIT token is encrypted with a private key.

6 . The method of claim 5 , wherein the INIT token comprises secret data for use by the embedded transcoder.

7 . The method of claim 6 , further comprising the step of, before returning to the proxy function the INIT token, validating at an identification application programming interface source of truth (IDAPI) the set of customer credentials by retrieving the secret data from the IDAPI at the GAAS.

8 . The method of claim 7 , further comprising the step of encrypting the secret data at the GAAS using the appliance public key.

9 . The method of claim 8 , further comprising the steps of:

signing the INIT token at the GAAS with an encode key and sending the INIT token to the proxy function;

at the proxy function, sending the INIT token to the embedded transcoder;

at the embedded transcoder, validating the INIT token with a decode key; and

the embedded transcoder enabling itself to serve requests after the INIT token validation is successful.

10 . The method of claim 9 , further comprising the steps of:

calling the proxy function from the client application with a SMART token and a set of transcode data;

calling the embedded transcoder from the proxy function to validate the SMART token and receive the set of transcode data;

processing the transcode data at the embedded transcoder and returning a set of transcode data results to the proxy function; and

sending the set of transcode data results from the proxy function to the client application.

11 . The method of claim 10 , further comprising the steps of:

sending a refresh request from the client application to the proxy function;

passing the refresh request from the proxy function to the GAAS;

sending a request from the GAAS to the IDAPI for a new IDAPI token and secret data;

returning the IDAPI token and secret data from the IDAPI to the GAAS;

creating a new SMART token using the IDAPI token and secret data within the GAAS;

sending the new SMART token from the GAAS to the proxy function; and

sending the new SMART token from the proxy function to the client application.

12 . The method of claim 11 , further comprising the steps of:

generating a metrics data request within the customer cloud environment, and sending the metrics data request to the proxy function;

sending the metrics data request from the proxy function to the embedded transcoder;

generating a set of metrics at the embedded transcoder;

embedding the set of metrics in a metrics token at the embedded transcoder;

encoding the metrics token with the appliance private key at the embedded transcoder, and sending the metrics token to the proxy function;

sending the metrics token from the proxy function to the GAAS, and decoding the metrics token at the GAAS with the appliance public key to recover the set of metrics; and

writing the set of metrics to an external logging service.

13 . A system for securing delivering information in an untrusted environment, comprising:

a consumer cloud computing environment comprising a plurality of hardware processors and associated memories;

a provider cloud computing environment comprising a plurality of hardware processors and associated memories, wherein the provider cloud computing environment is connected to the consumer cloud computing environment across an electronic communications network;

a client application hosted in the consumer cloud computing environment, wherein the client application is configured to process a set of client data and send a set of customer credentials and an initialization (INIT) request to a proxy function;

an embedded transcoder in the consumer cloud computing environment, wherein the embedded transcoder is positioned within a network isolated environment within the consumer cloud computing environment wherein the client application has restricted access, and wherein the embedded transcoder is configured to:

generate an appliance public key and an appliance private key;

provide an appliance token to the proxy function in response to a request, wherein the appliance token comprises an appliance identifier and the appliance public key;

validate a signature on an INIT token using a decode key;

receive a transcode request from the proxy function and return transcode results; and

house the decode key, the appliance public key, and the appliance private key;

a generic authentication appliance system (GAAS) hosted in the provider cloud computing environment, wherein the GAAS is configured to control access to one or more provider applications in the consumer cloud computing environment, receive the appliance public key and the appliance token from the proxy function, validate the application public key, and generate an INIT token comprising an INIT header, an INIT payload, and an INIT signature, wherein the INIT payload comprises a public section and a private section;

and

wherein the proxy function is configured to pass communications between the client application and the GAAS, request the application public key and the appliance token from the embedded transcoder, send the application public key and the appliance token to the GAAS, receive the INIT token from the GAAS and forward the INIT token to the embedded transcoder, send a transcode request to the embedded transcoder, validate a response from the embedded transcoder, and return the validated response to the client application.

14 . The system of claim 13 , wherein the GAAS comprises an application programming interface (API) configured to communicate with the client application and provide access to provider applications hosted at the consumer cloud computing environment.

15 . The system of claim 14 , wherein the embedded transcoder comprises a container housing provider source code, provider algorithms, or provider intellectual property, or some combination thereof, and wherein the network isolated environment restricts access to the embedded transcoder from the client application.

16 . The system of claim 15 , wherein the proxy function is further configured to submit an API request to the GAAS to receive an authentication token.

17 . The system of claim 16 , wherein the proxy function is further configured to send the authentication token and the set of client data to the embedded transcoder, and in response the embedded transcoder is further configured to process the set of client data and render a set of results.

18 . The system of claim 17 , further comprising an identification application programming interface source of truth (IDAPI) hosted in the provider cloud computing environment and in communication with the GAAS, wherein the IDAPI is configured to validate data from the GAAS as a source of truth for the system.

19 . The system of claim 18 , wherein the embedded transcoder houses the decode key, an application public key and an application private key.

20 . The system of claim 19 , further comprising a secrets manager, wherein the GAAS is configured to validate an existence of the application public key within the secrets manager in response to an INIT request generated by the proxy function.

Continuity (2)
Provisional Application 63281420 · Nov 19, 2021
Related Publication 20250007895A1 · Jan 2, 2025
References Cited (29)
US 8307413B2 · Smadja et al. · 2012 [cited by applicant]
US 8782393B1 · Rosthstein et al. · 2014 [cited by applicant]
US 10341302B2 · Khazan et al. · 2019 [cited by applicant]
US 10700865B1 · Hendrick et al. · 2020 [cited by applicant]
US 11095706B1 · Ankam et al. · 2021 [cited by applicant]
US 11146398B2 · Haque et al. · 2021 [cited by applicant]
US 11394710B1 · Royal · 2022 [cited by examiner]
US 11805127B1 · Sundar · 2023 [cited by examiner]
US 20160065555A1 · Branden · 2016 [cited by examiner]
US 20160226831A1 · Kim et al. · 2016 [cited by applicant]
US 20170286696A1 · Shetty et al. · 2017 [cited by applicant]
US 20170286698A1 · Shetty et al. · 2017 [cited by applicant]
US 20180367526A1 · Huang · 2018 [cited by examiner]
US 20190007409A1 · Totale et al. · 2019 [cited by applicant]
US 20200007531A1 · Koottayi · 2020 [cited by examiner]
US 20200076794A1 · de Boer · 2020 [cited by examiner]
US 20200213297A1 · Suraparaju · 2020 [cited by examiner]
US 20210218742A1 · Cook · 2021 [cited by examiner]
US 20210288794A1 · O'Neill · 2021 [cited by examiner]
US 20210409403A1 · Lewin · 2021 [cited by examiner]
US 20220078016A1 · Haque · 2022 [cited by examiner]
US 20220353261A1 · Totale · 2022 [cited by examiner]
Jason Barto and Stefan Natu, Building secure machine learning environments with Amazon SageMaker, Feb. 10, 2021. [cited by applicant]
Amazon Web Services, Build a Secure Enterprise Machine Learning Platform on AWS, May 11, 2021. [cited by applicant]
Azure, Azure guidance for secure isolation, Oct. 11, 2021. [cited by applicant]
Saeed Aghabozorgi and Stefan Natu , Private package installation in Amazon SageMaker running in internet-free mode, Nov. 30, 2020. [cited by applicant]
AWS-Samples, Amazon SageMaker secure MLOps, Sep. 30, 2021. [cited by applicant]
Xianrui Meng, Joan Feigenbaum, Privacy-Preserving XGBoost Inference, Dec. 31, 2020. [cited by applicant]
Extended European Search Report in corresponding EPO Patent Application No. 22896566.1, dated Apr. 7, 2025. [cited by applicant]