<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to configure so that both immutable and upgradable bootloader are MCUBoot</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/111161/how-to-configure-so-that-both-immutable-and-upgradable-bootloader-are-mcuboot</link><description>Hello, I&amp;#39;m using the nrf5340 and nrf Connect SDK 2.6.1. Currently the MCUBoot is immutable and the cpuapp image is encrypted (it contains IP and secrets). The MCUBoot is kept confidential to not leak the private key. We now want the MCUBoot to be upgradable</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 21 May 2024 13:37:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/111161/how-to-configure-so-that-both-immutable-and-upgradable-bootloader-are-mcuboot" /><item><title>RE: How to configure so that both immutable and upgradable bootloader are MCUBoot</title><link>https://devzone.nordicsemi.com/thread/485150?ContentTypeID=1</link><pubDate>Tue, 21 May 2024 13:37:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:93e2046b-2761-4d90-b2d1-2148fc17a483</guid><dc:creator>AHaug</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It is as you state no documentation or samples for a second stage MCUboot on top of a first stage MCUboot due to there not being any support for this. It is not impossible to do, but you are 100% on your own w.r.t creating this and really not recommended due to all the considerations with security and &lt;span&gt;SPU regions&lt;/span&gt;. MCUboot is originally created to be a first stage bootloader and NSIB is something Nordic has created to allow for MCUboot to be an uppgradable second stage bootlaoder.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to configure so that both immutable and upgradable bootloader are MCUBoot</title><link>https://devzone.nordicsemi.com/thread/484827?ContentTypeID=1</link><pubDate>Fri, 17 May 2024 14:29:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:730cd590-db88-446a-9a1d-46adf2e61e8a</guid><dc:creator>franchan</dc:creator><description>&lt;p&gt;Hello Andreas,&lt;/p&gt;
&lt;p&gt;Thank you for your reply! For my deeper understanding, I have these additional question:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;... as we don&amp;#39;t support FW decryption in &lt;strong&gt;NSIB&lt;/strong&gt; ...&lt;/em&gt;&lt;br /&gt;Thank you for confirming the NSIB cannot be used for such purpose (only checking signatures). Could you confirm that it is impossible to configure a 1st stage &lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;MCUBoot&lt;/strong&gt;&lt;/span&gt; (instead of NSIB) image as immutable and a different 2nd stage mutable MCUBoot image? I did not find documentation nor a sample illustrating such use case.&lt;/p&gt;
&lt;p&gt;Kind&amp;nbsp; regards, francis&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to configure so that both immutable and upgradable bootloader are MCUBoot</title><link>https://devzone.nordicsemi.com/thread/483489?ContentTypeID=1</link><pubDate>Wed, 15 May 2024 11:57:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dc6b0c92-7177-4d01-aaca-8a9eecff2f47</guid><dc:creator>AHaug</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s a summary of the discussion I had with&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Upgradable MCUboot and keys in the firmware image is not supported as we don&amp;#39;t support FW decryption in NSIB and any custom implementation will have to be a proprietary solution.&amp;nbsp;NSIB only does signature validation of the second stage bootloader and chooses to boot into it if the signature is valid.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So what we understand your motivation as is that you wish to do this because of an assumption (or custom implementation) that your private keys can not be a part of a MCUboot image, which is why you say you need to have encryption of the second stage bootloader as well. To encrypt MCUboot to be able to store a key in the FW image is not a secure solution and will only give you a false sense of security. The only keys that is recommended to keep within MCUBoot FW image which you send as FW upgrade are public keys.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Instead we recommend that you use Key Management Unit (KMU) to securely handle your keys. This will also protect the keys from hostile accessing through the CPU.&amp;nbsp;Symmetrical keys or private keys used for DFU needs to be placed on the device during production, and with the nRF5340 you have the option to put the keys within the KMU.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s some samples and documentation that showcases and explains KMU some more:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/tfm/provisioning_image/README.html"&gt;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/tfm/provisioning_image/README.html&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/keys/hw_unique_key/README.html"&gt;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/keys/hw_unique_key/README.html&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;And the blogpost&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/persistent-storage-of-keys-and-data-using-the-nrf-connect-sdk"&gt;Persistent storage of keys and data using the nRF Connect SDK&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Do also note that as a side note that MCUboot does also support symmetrical keys (AES KW) and private keys (ECIES, where a hybrid algorithm that uses ECC-keys does a handshake to set up symmetrical FW encryption keys. Both of the must under no circumstances be sent over the air.&lt;/p&gt;
&lt;p&gt;To summarize we recommend that you store the keys in KMU and use MCUboot as is with TF-M enabled. FW keys on a device without TF-M enabled will cause that anyone that has local access will be able to decrypt whatever they wish with the key or to do any other hostile actions.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to configure so that both immutable and upgradable bootloader are MCUBoot</title><link>https://devzone.nordicsemi.com/thread/483289?ContentTypeID=1</link><pubDate>Tue, 14 May 2024 12:44:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e042e821-5bc9-4275-84a5-c119961c3743</guid><dc:creator>AHaug</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve picked up your case and will ask the bootloader team for clarification on some of your question. I will write you a summary of the discussion when we have a conclusion, hopefully within tomorrow.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>