Object authentication
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.
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.