This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LP-AM263P: Doubts regarding symmetric keys.

Part Number: LP-AM263P

Tool/software:

Hi Nikhil, 
    

         In my case we send encrypted data through CAN communication to the receiver which is another am263p-LP . In order to decrypt the CAN Data , receiver should be aware of the symmetric key used by the Sender . 

         Is there any way we share the symmetric key to the receiver ? So that, both the sender and receiver have the common symmetric key .
        
         and also provide me the guidance how to generate a symmetric key . 



  • Hi Sravya,

    Let me get back to you on this early next week

    Thanks and Regards,

    Nikhil Dasan

  • For this usecase,

    There are multiple ways to achieve this.

    1. For AM263Px, you can use SMEK that is efused onto both the devices as an encryption key

    2. If you don't want to risk the SMEK root keys, you could use the concept of Keyring here, where you are providing a keyring certificate that consists of a symmetric key to both the devices using our keyring import service. Here the keyring certificate is signed and encrypted using the root keys.

    As the device AM263Px has PKA crypto accelerator, it does not support key generation of Asymmetric keys (i.e. Private and Public keys), Hence Key exchange using ECDH does not make sense here.

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil , 

      Is it possible that all AM263Px-LP boards share the same root key?

  • Hi,

    There are no restrictions from HW or SW in doing an efuse of same root keys on different LP boards. However, from a system's perspective, you would have to decide if you want to use the same root keys and the data being encrypted and Decrypted using the root keys.

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil , 

      I tried executing the code as you showed in the video, but I'm still facing the same issue. It's getting stuck in a loop somewhere in the code. I'm attaching the video below—check it once.

  • Hi Nikhil,

    Could you please explain how the keyring concept works in the context of sharing a symmetric key between a sender and a receiver — for example, between a vendor and a customer?

    Imagine a vehicle with two ECU modules: ECU1 is sending encrypted CAN data to ECU2. ECU2 needs to decrypt the CAN data, but before it can do so, it requires the symmetric key during the initial phase of communication.

    How can we securely send this symmetric key to ECU2?

  • Keyring is imported to the HSM in the form of a certificate. 

    You would create a x509 certificate with a specific symmetric key (where the key is encrypted using the root keys (SMEK/BMEK) in ECU1 and ECU2 accordingly for individual device), and the certificate is signed using the root keys (SMPK/BMPK) present in ECU1 and ECU2 accordingly for individual device

    Then you would pass these certificates to the HSM of each ECU using the keyring Import service, so that these keys are stored in the HSM Secure RAM of each ECU.

    Now both the devices has the same symmetric keys.

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil,

    Okay, I understood the keyring concept — thanks for the explanation. But Nikhil, my requirement is about how to securely transmit a symmetric key, which is generated using TRNG, from one device to another.

    I think the keyring concept might not be helpful in this case, because in order to verify the certificate, the receiver must have knowledge of the sender’s root keys. If there were only one customer card, we could do something like flashing it directly or use any manual method. However, in my case, there are more than 30 customer cards, and we are not allowed to access the customer cards directly.

    Can you please suggest any other ways?

  • Hi,

    Does the sender know the root keys efused onto the customer boards?

  • Hi Nikhil,

    If you’re asking whether the sender knows the customer’s root keys — the answer is no. The sender has no knowledge of the customer’s root key.

    Even if the root key is shared for one device, it will be different for another device of the same type. So, we can’t use the root key to encrypt the symmetric key.

  • I believe from the TIFS point of view, the above-mentioned methods are validated and tested.

    As this is more of application specific stack implementation, this should be looked into a third party stack to get a whole solution for end to end secure system communication.

    Thanks and Regards,

    Nikhil Dasan