Asymmetric Authentication - Use Case Example
In terms of computer security, it is a process in which two entities exchange information to authenticate the identity of the other.
In this use case example, we will authenticate an object. It can be an accessory, peripheral, battery, or cartridge. Generally, an object that is removable and replaceable by the consumer. The purpose of authenticating an object is to ensure that it is genuine and it is authorized to connect to a product. Another purpose is to prevent cloning and counterfeiting.
Asymmetric authentication uses asymmetric key algorithms (also known as public key cryptography) where each entity has a public and private key.
The Provisioning Process (Factory Setup)
Initially, we start with an Authority Module pre-provisioned with the Authority Private and Authority Public keys. We also have the Manufacturing Module pre-provisioned with the Manufacturer Private and Manufacturer Public keys. Each manufacturing site will have its own Manufacturing Module.
Authenticating the Manufacturing Module
The resultant Manufacturing Certificate is sent back to the Manufacturing Module. This establishes the manufacturing site as a genuine authorized producer of end products.
Authenticating the End Product
The Manufacturing Public key and the Manufacturing Certificate are placed in the end product at the time of manufacture.
This completes the provisioning of the Chain of Trust.
The Authentication Process (Running in the Field)
All aspects of the authentication process will be done through runtime firmware
Authenticating the Peripheral
Verify the Signer Public Key
The Host requests the Manufacturing Public key and Certificate. The Host verifies the certificate with the Authority Public key.
Verify the Device Public Key
If the verification is successful, the Host requests the Device Public key and Certificate. The Host verifies the certificate with the Manufacturing Public key.
Challenge – Response
If the verification is successful, the Host creates a random number challenge and sends it to the End Product (Peripheral). The End Product signs the random number challenge with the Device Private key.
The signature is sent back to the Host for verification using the Device Public key.
The Chain of Trust has been verified back to the Root of Trust.