LPCXpresso55S69 - PUF-based challenge-response function, what's the closest you can get?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPCXpresso55S69 - PUF-based challenge-response function, what's the closest you can get?

794 Views
hmo058
Contributor I

Hi, I am looking to send an arbitrary challenge (could be random data of a specified length for example) to the LPCXpresso55S69 and receive a response based on some internal PUF logic. NOTE: I have the LPC connected to an arduino mkr 1010 WiFi through USART which will be communicating with a server using wifi and I am merely looking to use the 55S69 as a PUF challenge-response function in my system.

1. I have been looking at the manuals for a while now, and it seems like the (KEK) is encrypted (and can be decrypted with the AC). First of all, does this mean that a threat with physical access could technically extract the AC if stored in flash, and reconstruct/decrypt the KEK?

2. To achieve my desired functionality, would I have to do the following steps (?):

SETUP (OFFLINE):

  1. Enroll PUF, then START it using the activation code.
  2. GenerateKey and receive a derived key using the KEK
  3. Send both KEK AC and derived key AC to Arduino -> Server
  4. Server sends request request to arduino -> 55s69 with the KEK AC + derived key AC + CHALLENGE in order to use the PUF to encrypt the challenge or other manipulations in order to generate a response.

2. Did I understand the functionalities correctly, and is there a better way of doing this? I technically don't care about any return value from the PUF and or AES engine as long as it is a consistent response.

3. Is there a way to extract a consistent response from the PUF with respect to a certain input without using these two sequential AC steps?

Regards, Henrik

0 Kudos
Reply
1 Reply

760 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

For the PUF function, the PUF is used to save key, but the key saved in PUF can not be read out even if you open the package.

For example, you can save the AES key to the PUF, when AC(activation code), you can enable the key, the AES can encrypt/decrypt massage with the key saved in PUF with a dedicated channel to get the key from PUF.

This is SDK package website:

https://mcuxpresso.nxp.com/en/welcome

You can download sdk for LPC55S69.

There is example of PUF in driver_examples group.

xiangjun_rong_0-1701921057677.png

 

Hope it can help you

BR

XiangJun Rong

0 Kudos
Reply