<?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>nRF9160 Questions related to Immutable, MCUBoot &amp;amp; application</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/67024/nrf9160-questions-related-to-immutable-mcuboot-application</link><description>Hi Lorenzo, 
 I have gone through most of the documentation related to Immutable (SB or b0), McuBoot and application and i have the following queries: 
 
 which one should i choose while building my application b0+MCUBoot+app or b0+app or MCUBoot+app</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 28 Oct 2020 07:23:01 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/67024/nrf9160-questions-related-to-immutable-mcuboot-application" /><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/277288?ContentTypeID=1</link><pubDate>Wed, 28 Oct 2020 07:23:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:af197fe9-6a37-4af9-9d76-5e495366e9c5</guid><dc:creator>shibshab</dc:creator><description>&lt;p&gt;Good stuff, didn&amp;#39;t see your question before now &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/277286?ContentTypeID=1</link><pubDate>Wed, 28 Oct 2020 07:19:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fe4d523a-ce5f-4425-9900-25f83265347b</guid><dc:creator>kk2mkk</dc:creator><description>&lt;p&gt;Never mind i will take it to new thread.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/277123?ContentTypeID=1</link><pubDate>Tue, 27 Oct 2020 12:05:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bc4742bc-390f-4c5f-b244-f853a5cf11c6</guid><dc:creator>kk2mkk</dc:creator><description>[quote userid="6433" url="~/f/nordic-q-a/67024/nrf9160-questions-related-to-immutable-mcuboot-application/275564#275564"]As long as MCUBoot is in the build, you will still have keys in regular flash[/quote]
&lt;p&gt;B0+App is not a workable solution because in this case i lose App upgrade capability which MCUBoot can only do.&lt;/p&gt;
&lt;p&gt;Isn&amp;#39;t it possible to place the MCUBoot keys in OTP area?&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;KK&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/275564?ContentTypeID=1</link><pubDate>Mon, 19 Oct 2020 10:35:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f09f3bd2-c0b2-4059-9b54-34e60608b9c4</guid><dc:creator>shibshab</dc:creator><description>&lt;p&gt;As long as MCUBoot is in the build, you will still have keys in regular flash, as its only B0&amp;#39;s keys that are in OTP, so the attack surface does not decrease by adding B0 to a build configuration which already has MCUBoot included. Does that make sense?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;The most tamper proof key storage configuration would be B0 - app (unfortunately for you I guess) since then all key material is stored in OTP.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/275541?ContentTypeID=1</link><pubDate>Mon, 19 Oct 2020 09:25:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8ba71906-2017-4214-8e7b-5d3cef6b4700</guid><dc:creator>kk2mkk</dc:creator><description>&lt;p&gt;Thanks for the clarification, so irrespective what all features the MCUboot &amp;amp; SB provides if your primary concern is to have tamper proof key storage, one should go for B0+MCUBoot+app, right?&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;KK&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/275477?ContentTypeID=1</link><pubDate>Mon, 19 Oct 2020 05:59:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:73c6f5ca-415a-4a8c-bb5f-7bb20cb77004</guid><dc:creator>shibshab</dc:creator><description>&lt;p&gt;You are correct that B0 makes us of the OTP area in the UICR, which require a special argument for the programmer to delete it. This, however, only makes it more difficult for an attacker to tamper with the metadata used by B0, compared to the MCUBoot where the metadata is stored in regular flash alongside the image.&lt;br /&gt;&lt;br /&gt;In the NCS fork of MCUBoot there is flash protection in place&amp;nbsp;&lt;br /&gt;&lt;a href="https://github.com/nrfconnect/sdk-mcuboot/blob/master/boot/zephyr/main.c#L434"&gt;https://github.com/nrfconnect/sdk-mcuboot/blob/master/boot/zephyr/main.c#L434&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here MCUBoot use the same library (fprotect) as B0, and hence the flash locking itself should be considered equally safe.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/275474?ContentTypeID=1</link><pubDate>Mon, 19 Oct 2020 04:15:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8d60f483-45ae-465b-93b7-6990bc1d4018</guid><dc:creator>kk2mkk</dc:creator><description>[quote userid="6433" url="~/f/nordic-q-a/67024/nrf9160-questions-related-to-immutable-mcuboot-application/274989#274989"]You only need B0 and mcuboot if you have a requirement that the bootloader should be upgradeable (protect against future crypto attacks etc)[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Are you sure that MCUBoot locks the flash? i dont think so, the reason is when we have B0 in place and when we try to flash new image we need to erase the entire chip to ensure the UICR OTP area is been erased for any flash security, but when we have the MCUBoot as a only bootloader and the we try to flash new image it never ask for full chip erase, is my understanding correct?&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;kk&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/275191?ContentTypeID=1</link><pubDate>Thu, 15 Oct 2020 17:56:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d4e8d605-cea8-4e2e-b253-894d5beb586d</guid><dc:creator>kk2mkk</dc:creator><description>[quote userid="6433" url="~/f/nordic-q-a/67024/nrf9160-questions-related-to-immutable-mcuboot-application/274989#274989"]You only need B0 and mcuboot if you have a requirement that the bootloader should be upgradeable (protect against future crypto attacks etc)[/quote]
&lt;p&gt;I was wondering since secure boot and app upgrade&amp;nbsp; features are provided by MCUBoot, do i still need to have an option for MCUBoot upgrade? do you foresee any hard requirement to have mcuboot upgrade...your experience can help me to make a better decision&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote userid="6433" url="~/f/nordic-q-a/67024/nrf9160-questions-related-to-immutable-mcuboot-application/274989#274989"]I don&amp;#39;t follow you, could you explain exactly what you want an example of?[/quote]
&lt;p&gt;Does DFU of the mcuboot and application both can be done using SMP Server approach?&lt;/p&gt;
&lt;p&gt;I have issues in building the SMP server sample, better i will take in to different thread.&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;KK&amp;nbsp; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/274989?ContentTypeID=1</link><pubDate>Thu, 15 Oct 2020 07:24:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d2f8763e-a0a6-44da-9378-970c8126c93c</guid><dc:creator>shibshab</dc:creator><description>&lt;p&gt;&lt;span&gt;You can achieve secure boot without b0, in&amp;nbsp;&lt;/span&gt;&lt;span&gt;the NCS&amp;nbsp;&lt;/span&gt;&lt;span&gt;fork of mcuboot it will lock its own flash area, making it an &amp;quot;immutable bootloader&amp;quot; - which satisfies the secure boot requirement.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;You only need B0 and mcuboot if you have a requirement that the bootloader should be upgradeable (protect against future crypto attacks etc)&lt;/span&gt;&lt;/p&gt;
[quote userid="78215" url="~/f/nordic-q-a/67024/nrf9160-questions-related-to-immutable-mcuboot-application/274930#274930"]I think in question 2 we are discussing about the mucboot upgrade does the same applicable for application upgrade as well? it will great you you could point to some example.[/quote]
&lt;p&gt;I don&amp;#39;t follow you, could you explain exactly what you want an example of?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/274930?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2020 14:23:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b1b5b159-b8e9-4f71-8467-c064eeb77244</guid><dc:creator>kk2mkk</dc:creator><description>&lt;p&gt;1.&lt;/p&gt;
&lt;p&gt;I have a requirement to have secure boot, so is it possible without having b0 just with mcuboot+app?&lt;/p&gt;
&lt;p&gt;At present we are using SLM application since it needs to be build on non secure mode, i need SPM as well along with my application.&lt;/p&gt;
&lt;p&gt;As i also need my application upgrade support i need to have MCUBoot to do that as well, so the bottom line is i should have b0+mcuboot+(smp+app).&lt;/p&gt;
&lt;p&gt;2.&lt;/p&gt;
&lt;p&gt;Let me go through and try it&lt;/p&gt;
&lt;p&gt;3.&lt;/p&gt;
[quote userid="6433" url="~/f/nordic-q-a/67024/nrf9160-questions-related-to-immutable-mcuboot-application/274813#274813"]For your use case, if the image is to be transferred over serial, you would need the feature discussed in question 2.[/quote]
&lt;p&gt;I think in question 2 we are discussing about the mucboot upgrade does the same applicable for application upgrade as well? it will great you you could point to some example.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;KK&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/274813?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2020 08:25:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5818461d-e4c4-4289-b796-d91944ff2a9b</guid><dc:creator>shibshab</dc:creator><description>&lt;p&gt;1. &lt;br /&gt;- If you want&amp;nbsp;an upgradeable bootloader you need b0 and MCUBoot (update the thing that updates the app)&lt;br /&gt;- else if you have an application which consists of SPM and app you cannot use b0 - app&lt;br /&gt;- else if you have an app which does not contain SPM you are free to choose between b0 - app and mcuboot - app&lt;br /&gt;&lt;br /&gt;2.&lt;br /&gt;- This would be done using smp over UART. Transfer the signed mcuboot image over serial to the secondary slot, and then on the next reboot MCUBoot perform the swap to the alternate b1 slot (s0 or s1).&lt;br /&gt;- See this page for more information on the sample:&amp;nbsp;&lt;a href="https://docs.zephyrproject.org/latest/samples/subsys/mgmt/mcumgr/smp_svr/README.html"&gt;docs.zephyrproject.org/.../README.html&lt;/a&gt;&lt;br /&gt;- Some modifications would be needed for this to be capable of updating MCUBoot in addition to the application.&lt;br /&gt;&amp;nbsp; Specifically, you would need some way of communicating whether you want the MCUBoot candidate linked against slot S0 or S1.&lt;br /&gt;&amp;nbsp; Inspiration for how this is handled elsewhere can be seen here:&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/master/subsys/net/lib/fota_download/src/fota_download.c#L260"&gt;github.com/.../fota_download.c&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3.&lt;br /&gt;- This is the &amp;quot;serial recovery&amp;quot; feature, it can not be done while the application is running. Instead (as you say) it requires some manual action during boot-up so that MCUBoot will start in a special mode.&lt;br /&gt;&lt;br /&gt;For your use case, if the image is to be transferred over serial, you would need the feature discussed in question 2.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF9160 Questions related to Immutable, MCUBoot &amp; application</title><link>https://devzone.nordicsemi.com/thread/274812?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2020 08:24:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4c3c88e9-f64b-4164-8b7b-4018f5a2c2fb</guid><dc:creator>&amp;#216;yvind</dc:creator><description>&lt;p&gt;Hello KK,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Sorry for the late reply. I am talking with our NCS team to provide an answer for you.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Kind regards,&lt;br /&gt;Øyvind&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>