NXP Semiconductors
AN13500
EdgeLock A5000 Secure Authenticator for electronic anti-counterfeit protection using device-to-device
authentication
Figures
Device-to-device authentication scenario ..........3
Certificate chain of trust .................................... 4
Certificate hierarchy .......................................... 5
Machine and control unit credentials .................5
Control unit authentication flow ......................... 7
Machine authentication flow ..............................8
A5000 CMake options .....................................11
Principle of the OpenSSL engine .................... 12
Check the installed OpenSSL version .............13
ssscli help ........................................................14
ssscli connect help ..........................................14
ssscli se05x help .............................................15
ssscli readidlist ................................................ 15
Retrieve the pre-provisioned A5000 device
certificats ......................................................... 17
Device certificats in PEM format ..................... 17
Content of the machine certificate ...................18
Content of the control unit certificate ...............19
Retrieve the pre-provisioned A5000 device
certificate's public keys ................................... 19
Device public keys in PEM format ...................20
Content of the device public keys ................... 20
Create the reference key files for the
OpenSSL engine .............................................21
Reference private keys in PEM format ............21
Content of the reference private keys ............. 22
Certification chain of the pre-provisioned
A5000 device certificates ................................ 23
Download the NXP intermediate certificate ..... 23
Convert the NXP intermediate certificate
file nxp_a5000_intermediate_ca.crt" into a
PEM formatted file .......................................... 24
Download the NXP root certificate .................. 24
Convert the NXP root certificate file "nxp_
a5000_root_ca.crt"into a PEM formatted
file ....................................................................24
Control unit authentication flow ....................... 25
OpenSSL - Verify control unit device
certificate ......................................................... 25
OpenSSL - Random numbers generated by
OpenSSL in software ...................................... 26
Plug & Trust Middleware OpenSSL engine
default configuration ........................................27
OpenSSL - Random number generated by
A5000 .............................................................. 27
OpenSSL - A5000 random numbers are
stored in a text file .......................................... 28
OpenSSL - The A5000 signs the random
numbers with the private ECC key stored
inside the A5000 ............................................. 28
Control unit signature ......................................28
OpenSSL - Verify control unit signature .......... 29
Control unit authentication flow ....................... 30
OpenSSL - Verify machine certificate ..............31
OpenSSL - A5000 random numbers are
stored in a text file .......................................... 32
OpenSSL - The A5000 signs the random
numbers with the private ECC key stored
inside the A5000 ............................................. 32
Machine signature ...........................................32
OpenSSL - Verify machine signature .............. 33
SPC03 mutual authentication – principle .........35
SPC03 Encryption and MACing principle ........ 35
A5000 CMake options to enable Platform
SCP ................................................................. 36
A5000Platform SCP plain text key file .............37
A5000 CMake options to enable Platform
SCP ................................................................. 38
AN13500
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2022. All rights reserved.
Application note
Rev. 1.0 — 28 March 2022
44 / 45