<?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>Single-bank DFU bare metal - image verification</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/125945/single-bank-dfu-bare-metal---image-verification</link><description>Hello 
 I played with the mcuboot_recovery_entry bare metal dfu sample. I noticed that if I sign an application image with an invalid key (invalid on purpose), the firmware loader still downloads the application and overwrites the old one. Then after</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 18 Dec 2025 11:08:32 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/125945/single-bank-dfu-bare-metal---image-verification" /><item><title>RE: Single-bank DFU bare metal - image verification</title><link>https://devzone.nordicsemi.com/thread/557307?ContentTypeID=1</link><pubDate>Thu, 18 Dec 2025 11:08:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:de3ec4d9-b276-4069-9bc7-a0fe274841b5</guid><dc:creator>PaKa</dc:creator><description>&lt;p&gt;So this is a logical limitation with single bank DFUs.&lt;/p&gt;
&lt;p&gt;1: you check the signature to validate this is an update for you and it is signed correctly&lt;/p&gt;
&lt;p&gt;2: you delete the original image to make space for the new&lt;/p&gt;
&lt;p&gt;3: you download the new image&lt;/p&gt;
&lt;p&gt;4: you validate that the new image is actually what you was promised to get&lt;/p&gt;
&lt;p&gt;5a: image is OK, start using&lt;/p&gt;
&lt;p&gt;5b: image is fake, restart in bootloader mode as original image is gone.&lt;/p&gt;
&lt;p&gt;You can&amp;#39;t validate the image before downloading as you don&amp;#39;t have the space to store it. If this is a requrement then you have to use a dual bank solution. This is part of what you gain when giving away memory to the dual bank.&lt;/p&gt;
&lt;p&gt;To improve resilience against spoofing you should restrict what devices can trigger an DFU, if you only allow this to happen from securely bonded devices then this means you won&amp;#39;t be spoofed by non-connected devices.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Single-bank DFU bare metal - image verification</title><link>https://devzone.nordicsemi.com/thread/557236?ContentTypeID=1</link><pubDate>Wed, 17 Dec 2025 14:22:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8117be94-26ba-4506-8141-c2d0c8c31ee3</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Filip,&amp;nbsp;&lt;br /&gt;Sorry for not getting back earlier. So on NCS baremetal the signature checking is done on the Bootloader/MCUboot side not on the FW loader . This explain why the original image is erased before signature is checked.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;But the device will not be bricked as the image will not be activated due to wrong signature when MCUBoot check that. It will stay in DFU mode and wait for a valid image.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;As mentioned earlier, it doesn&amp;#39;t matter much if you check the signature before or after receiving the image, one can&amp;nbsp;get a valid hash and signature combine with an invalid image to get the same effect.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Single-bank DFU bare metal - image verification</title><link>https://devzone.nordicsemi.com/thread/557162?ContentTypeID=1</link><pubDate>Wed, 17 Dec 2025 07:49:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee6c186e-e588-426a-9b7d-c482d69aee58</guid><dc:creator>tdfilip</dc:creator><description>&lt;p&gt;Hello, is there any update from the NCS Bare Metal team?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Filip&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Single-bank DFU bare metal - image verification</title><link>https://devzone.nordicsemi.com/thread/556108?ContentTypeID=1</link><pubDate>Wed, 03 Dec 2025 12:49:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f7ad460e-1e8f-414c-aa07-515d14397093</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Filip,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So the hash and signature is located at the image trailer. From what you described, seems that the trailer is not sent before the image is received. So you have a point here that one with an invalid image (and a way to put the device to DFU mode) can brick the device with an invalid image.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;However, even if the signature and hash is sent before the image, one can still spoof a valid signature and hash (copy from a valid DFU package) combine with an invalid image. If you want to have a secure authentication, I guess it has to be implemented before the device enter DFU mode.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Anyway, I have forwarded your question internally to NCS Bare Metal team, let&amp;#39;s see what their take on this.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>