Asymmetric Authentication - Use Case Example

Last modified by Microchip on 2023/11/09 08:54

Authentication: to authenticate; to prove that something is real, true, or genuine.

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 Manufacturing Public key is sent to the Authority Module to be signed by the Authority Private key.

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 Manufacturing Module Flow

FIGURE 1: Authenticating the Manufacturing Module

Authenticating the End Product

During production, provisioning firmware is run, which supplies the End Product (device) Public Key to the Manufacturing Module.
The Manufacturing Module signs the Device Public key with its Manufacturing Private key and supplies a Device Certificate to the end product.

The Manufacturing Public key and the Manufacturing Certificate are placed in the end product at the time of manufacture.

Manufacturing public key and the Manufacturing certificate are placed in the end product at the time of manufacture

FIGURE 2: Authenticating the End Product

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.​

Up until this point, everything could be recorded and replayed so we need to test (challenge) if the device contains the private key associated with the Public key we just verified.

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.

Chain of Trust has been verified

FIGURE 3: Authenticating the Peripheral