| CPC H04L 9/3236 (2013.01) [H04L 9/3073 (2013.01)] | 31 Claims |

|
1. A system, comprising:
a computing device comprising at least one hardware processor; and
memory comprising program instructions stored thereon that are executable by the computing device that, when executed, direct the computing device to:
execute an instance of a client application on the computing device to generate a public-private key pair comprising a public key and a private key using a first public-private key encryption scheme;
generate a self-authorizing identifier (SAID) that is globally unique and immutable to the computing device and the client application executing on the computing device, wherein the self-authorizing identifier is a byte string generated as a hash of the public key using a hash function;
encrypt and store the private key locally on the computing device;
generate a request to register the computing device with a remote service that stores the public key in a distributed ledger remotely from the computing device;
send the request to register the computing device over a network to the remote service that directs the remote service to store the public key in the distributed ledger;
perform an upgrade of the public-private key pair using a second public-private key encryption scheme different than the first public-private key encryption scheme that generates an upgraded public-private key; and
send a request to the remote service to store an upgraded public key of the upgraded public-private key in the distributed ledger upon an authentication of the client device, wherein the SAID remains the hash of a first-generated public key.
|