LPC55 Debuging Ports Security Solution

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

LPC55 Debuging Ports Security Solution

LPC55 Debuging Ports Security Solution

Background:

 IP protection is important for most customers, Kinetis, LPC54 series and i.MX RT have necessary security features that help us to win customers and markets.
LPC55 series is a new generation of IoT MCU which is used for consumer and industrial market. LPC55 non-S parts are adopted by most customers due to its low-cost and easy-to-use features, but its secure features are different with S parts and is significantly simplified.
LPC55 is designed for secured IoT application, so it’s supposed to hide the SWD/ISP ports after development work is finished. If the SWD/ISP ports are secured, they couldn’t be used any more. While for LPC54 & Kinetis MCU, mass erase command can be used to recover the MCU after the MCU is secured.
However, Customers need the feature to secure the debugging/ISP ports, but they also need to recover them in some cases:
- Reprogramming to update firmware
- Investigate and analyze failed parts returned from end market
- Rescue the MCU if it’s locked and stuck
According to customers’ requirements, NXP support team raised the proposal to implement a solution which can be used to secure and recover the SWD/ISP ports with an IAP backdoor
method.

Solution:

By Operating PFR region, LPC55 could switch between secure and recovery mode.

 

  1. lpc5506_debug_isp_test_20220714: demonstrate how to operate this region to lock Debug Port then how to recovery it. The user interaction could be raised by UART or button;
daweiyou_1-1663116501262.png

        2.hmac_test_20220714: demonstrate one full security flow, 

daweiyou_0-1663116450931.png

 

 

This is a complete solution to secure & recovery debugging/ISP ports on LPC55, and it uses
host machine challenge mechanism to implement security features:
Challenge Host machine against unknown host probe;
Generates dynamic seeds, so that the final encrypt information will be dynamically changed;
The image hash value is device related, that avoids same encrypt info for different image/product;


Customer also could clip the solution to simplify application complexity:
Use UUID for device information only, no seed is needed;
Host machine can use fixed keys instead of image hash values to do info encryption;
Host machine can use UUID lookup table to find out verification key; Every device is programmed with dedicated verification key during production. 

Demonstration:

The attached demos could run at LPC55S06 EVK, and could easily migrate to other LPC55 series.

Labels (2)
Attachments
%3CLINGO-SUB%20id%3D%22lingo-sub-1521316%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELPC55%20Debuging%20Ports%20Security%20Solution%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1521316%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%0A%3CP%3E%3CSTRONG%3EBackground%3A%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3CSPAN%20class%3D%22fontstyle2%22%3E%E2%9E%A2%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle0%22%3EIP%20protection%20is%20important%20for%20most%20customers%2C%20Kinetis%2C%20LPC54%20series%20and%20i.MX%20RT%20have%20necessary%20security%20features%20that%20help%20us%20to%20win%20customers%20and%20markets.%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle2%22%3E%E2%9E%A2%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle0%22%3ELPC55%20series%20is%20a%20new%20generation%20of%20IoT%20MCU%20which%20is%20used%20for%20consumer%20and%20industrial%20market.%20LPC55%20non-S%20parts%20are%20adopted%20by%20most%20customers%20due%20to%20its%20low-cost%20and%20easy-to-use%20features%2C%20but%20its%20secure%20features%20are%20different%20with%20S%20parts%20and%20is%20significantly%20simplified.%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle2%22%3E%E2%9E%A2%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle0%22%3ELPC55%20is%20designed%20for%20secured%20IoT%20application%2C%20so%20it%E2%80%99s%20supposed%20to%20hide%20the%20SWD%2FISP%20ports%20after%20development%20work%20is%20finished.%20If%20the%20SWD%2FISP%20ports%20are%20secured%2C%20they%20couldn%E2%80%99t%20be%20used%20any%20more.%20While%20for%20LPC54%20%26amp%3B%20Kinetis%20MCU%2C%20mass%20erase%20command%20can%20be%20used%20to%20recover%20the%20MCU%20after%20the%20MCU%20is%20secured.%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle2%22%3E%E2%9E%A2%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle0%22%3EHowever%2C%20Customers%20need%20the%20feature%20to%20secure%20the%20debugging%2FISP%20ports%2C%20but%20they%20also%20need%20to%20recover%20them%20in%20some%20cases%3A%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle0%22%3E-%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle0%22%3EReprogramming%20to%20update%20firmware%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle0%22%3E-%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle0%22%3EInvestigate%20and%20analyze%20failed%20parts%20returned%20from%20end%20market%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle0%22%3E-%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle0%22%3ERescue%20the%20MCU%20if%20it%E2%80%99s%20locked%20and%20stuck%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle2%22%3E%E2%9E%A2%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22fontstyle0%22%3EAccording%20to%20customers%E2%80%99%20requirements%2C%20NXP%20support%20team%20raised%20the%20proposal%20to%20implement%20a%20solution%20which%20can%20be%20used%20to%20secure%20and%20recover%20the%20SWD%2FISP%20ports%20with%20an%20IAP%20backdoor%3CBR%20%2F%3Emethod.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3CSPAN%20class%3D%22fontstyle0%22%3ESolution%3A%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22fontstyle0%22%3EBy%20Operating%20PFR%20region%2C%20LPC55%20could%20switch%20between%20secure%20and%20recovery%20mode.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3COL%3E%0A%3CLI%3E%3CSPAN%20class%3D%22fontstyle0%22%3Elpc5506_debug_isp_test_20220714%3A%20demonstrate%20how%20to%20operate%20this%20region%20to%20lock%20Debug%20Port%20then%20how%20to%20recovery%20it.%20The%20user%20interaction%20could%20be%20raised%20by%20UART%20or%20button%3B%3C%2FSPAN%3E%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22daweiyou_1-1663116501262.png%22%20style%3D%22width%3A%20621px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22daweiyou_1-1663116501262.png%22%20style%3D%22width%3A%20621px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F193506i6BC6515D1E2962E8%2Fimage-dimensions%2F621x348%3Fv%3Dv2%22%20width%3D%22621%22%20height%3D%22348%22%20role%3D%22button%22%20title%3D%22daweiyou_1-1663116501262.png%22%20alt%3D%22daweiyou_1-1663116501262.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CP%3E%3CSPAN%20class%3D%22fontstyle0%22%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%202.hmac_test_20220714%3A%20demonstrate%20one%20full%20security%20flow%2C%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22daweiyou_0-1663116450931.png%22%20style%3D%22width%3A%20670px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22daweiyou_0-1663116450931.png%22%20style%3D%22width%3A%20670px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F193505iEE2143B59A71A359%2Fimage-dimensions%2F670x377%3Fv%3Dv2%22%20width%3D%22670%22%20height%3D%22377%22%20role%3D%22button%22%20title%3D%22daweiyou_0-1663116450931.png%22%20alt%3D%22daweiyou_0-1663116450931.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%20class%3D%22fontstyle0%22%3E%E2%9E%A2%20%3CSPAN%20class%3D%22fontstyle2%22%3EThis%20is%20a%20complete%20solution%20to%20secure%20%26amp%3B%20recovery%20debugging%2FISP%20ports%20on%20LPC55%2C%20and%20it%20uses%3CBR%20%2F%3Ehost%20machine%20challenge%20mechanism%20to%20implement%20security%20features%3A%3CBR%20%2F%3E%3C%2FSPAN%3E%E2%96%AA%20%3CSPAN%20class%3D%22fontstyle2%22%3EChallenge%20Host%20machine%20against%20unknown%20host%20probe%3B%3CBR%20%2F%3E%3C%2FSPAN%3E%E2%96%AA%20%3CSPAN%20class%3D%22fontstyle2%22%3EGenerates%20dynamic%20seeds%2C%20so%20that%20the%20final%20encrypt%20information%20will%20be%20dynamically%20changed%3B%3CBR%20%2F%3E%3C%2FSPAN%3E%E2%96%AA%20%3CSPAN%20class%3D%22fontstyle2%22%3EThe%20image%20hash%20value%20is%20device%20related%2C%20that%20avoids%20same%20encrypt%20info%20for%20different%20image%2Fproduct%3B%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22fontstyle0%22%3E%3CSPAN%20class%3D%22fontstyle2%22%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%E2%9E%A2%20%3CSPAN%20class%3D%22fontstyle2%22%3ECustomer%20also%20could%20clip%20the%20solution%20to%20simplify%20application%20complexity%3A%3CBR%20%2F%3E%3C%2FSPAN%3E%E2%96%AA%20%3CSPAN%20class%3D%22fontstyle2%22%3EUse%20UUID%20for%20device%20information%20only%2C%20no%20seed%20is%20needed%3B%3CBR%20%2F%3E%3C%2FSPAN%3E%E2%96%AA%20%3CSPAN%20class%3D%22fontstyle2%22%3EHost%20machine%20can%20use%20fixed%20keys%20instead%20of%20image%20hash%20values%20to%20do%20info%20encryption%3B%3CBR%20%2F%3E%3C%2FSPAN%3E%E2%96%AA%20%3CSPAN%20class%3D%22fontstyle2%22%3EHost%20machine%20can%20use%20UUID%20lookup%20table%20to%20find%20out%20verification%20key%3B%20Every%20device%20is%20programmed%20with%20dedicated%20verification%20key%20during%20production.%3C%2FSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22fontstyle0%22%3E%3CSTRONG%3EDemonstration%3A%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EThe%20attached%20demos%20could%20run%20at%20LPC55S06%20EVK%2C%20and%20could%20easily%20migrate%20to%20other%20LPC55%20series.%3C%2FP%3E%0A%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1521316%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EIndustrial%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ETechnologies%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
No ratings
Version history
Last update:
‎09-13-2022 05:49 PM
Updated by: