What is the encryption function in the NUC505 series? How to use it?

Post Reply
Dylan Hsieh
Posts: 31
Joined: 22 Mar 2017, 09:54

29 Mar 2017, 09:44

As the NUC505 series uses SPI Flash, anyone can get code in Flash simply through the SPI interface. Thus, the NUC505 provides an encryption mechanism to protect the SPI Flash internal code to prevent data from being stolen.

The NUC505 uses MTP (Multiple-Time Programmable) memory to set the encryption key. The encryption key (or data) is encrypted with the key, and the incorrect key cannot be used to read the correct data from the SPI Flash. When the MTP function is enabled, the CPU accessed data is automatically decoded by the MTP key, so unencrypted code cannot be executed.
Image
The MTP encryption function can be enabled by using the ICP tool. There are four encryption procedures, including MTP key, offset and identification (ID) code. The encryption program will vary according to the location for programming to increase the security. First, specify the key, and then set the offset. The ID code will grab the value set according to the pre-determined offset. If the value is not the same, programming may be erroneous. Therefore, during programming, the user needs to hide the ID code at the offset. The ID code must be the same as the ID code set by the encryption, so that the NUC505 can be executed normally.

The MTP encryption function can be enabled by using the ICP tool. There are four encryption procedures, including MTP key, offset and identification (ID) code. The encryption program will vary according to the location for programming to increase the security. First, specify the key, and then set the offset. The ID code will grab the value set according to the pre-determined offset. If the value is not the same, programming may be erroneous. Therefore, during programming, the user needs to hide the ID code at the offset. The ID code must be the same as the ID code set by the encryption, so that the NUC505 can be executed normally. User can set the MTP options as shown in Figure 1. After the MTP key is set, the MTP option can be enabled for encrypted programming, as shown in Figure 2. When the programmed bin file has been encrypted, at this time the Disable Cipher option of the ICP tool needs to be enabled, as shown in Figure 3, to avoid second code encryption error.

Image
Figure 1. MTP Settings

Image
Figure 2. Enable MTP for Programming

Image
Figure 3. Enable “Disable Cipher” Option

Refer to the following document for detailed information:
AN_0010_ICP_Programming_Guide_EN_Rev1.00.pdf

Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 1 guest