Skip to content

Commit

Permalink
[MATTER-308][RT1060] Updating the RT1060 all cluster app readme to gi…
Browse files Browse the repository at this point in the history
…ve more information about AES key to use to encrypt the Matter manufacturing dataset

Signed-off-by: Gatien Chapon <[email protected]>
  • Loading branch information
chapongatien committed Aug 30, 2022
1 parent fb01108 commit 1223652
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
9 changes: 9 additions & 0 deletions examples/all-clusters-app/nxp/rt1060/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,15 @@ user@ubuntu:~/Desktop/git/connectedhomeip$ cd ../../../../examples/all-cluster/n

See [Guide for writing manufacturing data on NXP devices](../../../platform/nxp/doc/manufacturing_flow.md)

Other comments:

The RT1060 all cluster app demonstrates the usage of encrypted Matter manufacturing data storage. Matter manufacturing data should be encrypted before flashing them to the RT1060 flash.

For development purpose the RT1060 all cluster app code could use the hardcoded AES 128 software key. This software key should be used only during development stage.

For production usage, it is recommended to use the OTP key which needs to be fused in the RT1060 SW_GP2. The application note AN12800 should be followed to get more information. In this case the all cluster app should be updated to indicate to the DCP module to use the OTP key instead of the software key.
For that the call to "dataReaderEncryptedDCPInstance->SetAes128Key(&aes128TestKey[0]);" should be changed to "dataReaderEncryptedDCPInstance->SetKeySelected(arg);" with the arg value specifying where the OTP key is stored (kDCP_OCOTPKeyLow for [127:0] of SW_GP2 or kDCP_OCOTPKeyHigh for [255:128] of SW_GP2).

<a name="flashdebug"></a>

## Flashing and debugging
Expand Down
2 changes: 1 addition & 1 deletion examples/all-clusters-app/nxp/rt1060/main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ uint8_t __attribute__((section(".heap"))) ucHeap[configTOTAL_HEAP_SIZE];
/*
* Test key used to encrypt factory data before storing it to the flash.
* The software key should be used only during development stage.
* For production usage, it is recommended to use the OTP key which needs to be fused in the RT160 SW_GP2.
* For production usage, it is recommended to use the OTP key which needs to be fused in the RT1060 SW_GP2.
*/
static const uint8_t aes128TestKey[] __attribute__((aligned)) = {0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c};
Expand Down

0 comments on commit 1223652

Please sign in to comment.