4.3 Migrating Applications with Unsupported Features

If any of the unsupported features of the ATECC508A are implemented in an application, some changes will be required to the application code in order to use the ATECC608B. The following sections describe possible alternate methods to implement these features.

OTP Consumption Mode

If the OTP Consumption mode was used in an ATECC508A design, it cannot be directly implemented by the ATECC608B. However, the capability can be implemented in an alternate method, through the use of the monotonic counters.

If the monotonic counters are not used, one of them can be configured to replicate the OTP Consumption mode. The number of bits set to ‘1’ in the OTP zone must be converted into the equivalent count value for the monotonic counter. This value would be provisioned as the initial counter value. While any monotonic counter can be used for this purpose, monotonic counter 1 is recommended, as monotonic counter 0 could be connected to a key slot and used to limit key usage.

LastKeyUse

The LastKeyUse functionality was only implemented on slot 15 of the ATECC508A. An alternate method to implement this capability can be enabled on this slot through the use of the SlotConfig.LimitedUse bit and a monotonic counter.

To replicate the functionality to be as close as possible to that of the ATECC508A, the count value of the monotonic counter needs to be set to replicate the count implemented on the ATECC508A design, using the LastKeyUse field.

Important: If another slot contains a key that was previously using the limited key use functionality, implementing a limited use on slot 15 may not be feasible.

Selector Byte

The selector byte functionality was only available in the SWI mode of the ATECC508A. There is no capability within the ATECC608B to replicate or emulate this functionality.