Introduction

Cloning is the unauthorized replication or reproduction of a product, device, or component without proper authorization from the original manufacturer. This can involve copying the product's design, functionality, or identity, often with the intention of creating counterfeit or unauthorized versions for various purposes, such as selling fake products, compromising security, or gaining an unfair competitive advantage.

Every authentic product available in the market will have keys and credentials that uniquely identify the product's brand. Keys or credentials which uniquely identify the product's brand are critical and need to be secured to prevent the products from being cloned. They are required to ensure that both hardware and software are genuine and that genuine firmware is not running on counterfeit hardware.

This document explains the necessity of protecting a product from getting cloned and how the PIC32CM LS60 microcontroller helps achieve protection from cloning.

Abbreviations

The following abbrevations are used in this document:

  • AS: Application Secure
  • ANS: Application Non-Secure
  • ANSC: Application Non-Secure Callable
  • CMSE: Cortex-M Security Extensions
  • DFP: Device Family Pack
  • MCC: MPLAB Code Configurator
  • API: Application Programming Interface
  • SG: Secure Gateway
  • BXNS: Branch with exchange to Non-Secure state
  • BLXNS: Branch with link and exchange to Non-Secure state
  • RN: Random Number
  • MAC: Message Authentication Code
  • Ack: Acknowledgement data
  • PKI: Public Key Infrastructure
  • Nack: No Acknowledgement of data
  • IoT: Internet of Things
  • EEPROM: Electrically Erasable Programmable Read-Only Memory
  • DICE: Device Identifier Composition Engine
  • PKI: Public Key Infrastructure
  • ECDH: Elliptic Curve Diffie Hellman
  • ECDSA: Elliptic Curve Digital Signature Algorithm