IP Library Granted Patent US 12665897
Granted Patent B1
US 12665897 · App. 18/615,595 · Granted Jun 23, 2026

Object authentication

Inventors: Sandeep Nair (Odessa, FL); Matthew E. Nunn (Frisco, TX); Julio Caraballo (Woodcliff Lake, NJ); Jason Edward Morris (London, GB); Udaya Chandupatia (Frisco, TX); Partha S. Peddi (Riverview, FL)
Assignee: CITIGROUP TECHNOLOGY, INC.
H04L63/083G06F8/65H04L9/3226H04L9/3268H04L63/0823H04L63/0869
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 12665897
App. No.
18/615,595
Granted
Jun 23, 2026
Kind
B1
Abstract

Machines, devices, and other objects are configured to use authorization tokens to verify object identities without human input. In examples, the object uses a password to validate the object's identity to an authorization server to obtain an access token for use in multiple applications. In another example, the object uses a certificate to validate the object's identity to an authorization server to obtain an access token. In other examples, any other suitable identifying data may be used to validate the object's identity to an authorization server to obtain an access token. The process of using passwords, certificates, or other validation processes to obtain tokens or other authorization mechanisms allows the object to authenticate themselves without human interaction and to use a single identity to access services from multiple service providers that trust a central authorization server.

Claims (44)

1 . A system, comprising:

a storage device; and

one or more processors communicatively coupled to the storage device, wherein the one or more processors execute application code instructions that are stored in the storage device to cause the system to:

receive, from a service provider device, a request for updating software for an object operating independently from a human;

retrieve, from a remote system comprising a password vault, a machine-generated password previously linked to the one or more processors of a human-independent machine, wherein the machine-generated password is used to authenticate the object operating independently from a human when receiving a software update for the object operating independently from a human;

communicate the machine-generated password to an authorization server;

receive an access token from the authorization server;

transmit, to the service provider device, a second request for data for the software update from the service provider device;

communicate the access token to the service provider device; and

receive the data for the software update based on the access token being valid.

2 . The system of claim 1 , wherein the authorization server validates the machine-generated password by fetching an encrypted password for the one or more processors from a virtual directory.

3 . The system of claim 1 , wherein the application code instructions further cause the one or more processors to request the machine-generated password for the system from the password vault.

4 . The system of claim 1 , wherein the application code instructions further cause the one or more processors to receive a session token from the service provider device.

5 . The system of claim 1 , wherein the service provider device communicates a session token to the one or more processors upon receipt of the access token.

6 . The system of claim 1 , wherein the system is an appliance.

7 . The system of claim 1 , wherein the system comprises an application operating on a computing device.

8 . The system of claim 1 , wherein the data is an update to software operating on the one or more processors.

9 . The system of claim 1 , wherein the data is retrieved by the service provider device from a database.

10 . The system of claim 1 , wherein the service provider device validates the access token received from the one or more processors by comparing the access token to an authorization server signature.

11 . A method, comprising:

receive, from a service provider device, a request for updating software for an object operating independently from a human;

transmitting, from a computing device operating independently from a human to a remote server comprising a certificate authority, a certificate request for a previously generated certificate that corresponds to the computing device;

receiving, by the computing device the previously generated certificate, wherein the previously generated certificate is used to authenticate the object operating independently from a human when receiving a software update for the object operating independently from a human;

communicating, by the computing device, the previously generated certificate to an authorization server;

receiving, by the computing device, an access token from the authorization server;

transmitting, to the service provider device, a second request for data for the software update from the service provider device;

communicating, by the computing device, the access token to the service provider device; and

receiving, by the computing device, the data for the software update based on the access token being valid.

12 . The method of claim 11 , further comprising validating, by the authorization server, a subject domain name received from the computing device and an issuer domain name of the previously generated certificate to establish an identity via a virtual directory.

13 . The method of claim 11 , further comprising negotiating, by the computing device and the authorization server, a mutual security protocol.

14 . The method of claim 11 , further comprising receiving, by the computing device, a session token from the service provider device.

15 . The method of claim 11 , wherein the service provider device validates the access token received from the computing device by comparing the access token to an authorization server signature.

16 . A method, comprising:

receive, from a service provider device, a request for updating software for an object operating independently from a human;

receiving, by a computing device operating independently from a human from a remote credential vault, a credential corresponding to an application on the computing device, wherein the credential corresponding to the application has been previously linked to the application;

communicating, by the computing device, the credential corresponding to the application to an authorization server, wherein the credential is used to authenticate the object operating independently from a human when receiving a software update for the object operating independently from a human;

receiving, by the computing device, an access token from the authorization server;

transmitting, to the service provider device, a second request for data for the software update from the service provider device;

communicating, by the computing device, the access token to the service provider device; and

receiving, by the computing device, the data for the software update based on the access token being valid.

17 . The method of claim 16 , wherein the credential is a username and password.

18 . The method of claim 16 , wherein the credential is a certificate from a certificate authority.

19 . The method of claim 16 , wherein the authorization server verifies the credential with a virtual directory.

20 . The method of claim 16 , wherein the service provider device validates the access token received from the computing device by comparing the access token to an authorization server signature.