<?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>DFU 52840</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/42910/dfu-52840</link><description>Hi all 
 nrf52840 Development board,sdk is nRF5_SDK_15.2.0_9412b96,PC is windows 10 
 I want to use the DFU to update my file,but I find that only the Init packet is signatured.If the attacker uses the init packet which is signatured and adds his aclicious</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 25 Jan 2019 09:42:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/42910/dfu-52840" /><item><title>RE: DFU 52840</title><link>https://devzone.nordicsemi.com/thread/167844?ContentTypeID=1</link><pubDate>Fri, 25 Jan 2019 09:42:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e604ed9c-d98c-476f-b3d8-0f63c94147ee</guid><dc:creator>mijiale</dc:creator><description>&lt;p&gt;&lt;span style="background-color:#ffffff;"&gt;Thank you very much for your reply！&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU 52840</title><link>https://devzone.nordicsemi.com/thread/167561?ContentTypeID=1</link><pubDate>Thu, 24 Jan 2019 09:02:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:18d93b43-17d0-4a01-9299-d38778afcf4d</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Mijiale,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;you are correct that its only the init packet that contains a signed hash of the firmware, but this does not mean that one can update arbitrary firmware just by using a Init packet from a previous update.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The init packet signature is actually an encrypted hash of the firmware image, this encrypted hash is de-crypted on the receiver side and compared to the hash of the received data(i.e. firmware). If the&amp;nbsp; data is modified after the signature is created(i.e. the hash of the data is calculated and encryted), then the hash comparison on the receiver side will fail.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-1530095f80844da890a38d7ab2e60430/pastedimage1548317137081v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Hence, this method&amp;nbsp; ensures three things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Efficiency&lt;/strong&gt;: Its more efficient to sign the hash instead of&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Integrity&lt;/strong&gt;:&amp;nbsp; If the data (i.e. the firmware) is changed after the image was signed or the signature is changed, then the post-validation of the data will fail as the hashes will not be identical.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Authenticity&lt;/strong&gt;: The recipient knows that the data is coming from a trusted source.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Best regards&lt;br /&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>