<?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>nrf_dfu_set_peer_data returns 8 and does NOT start DFU bootloader</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/38718/nrf_dfu_set_peer_data-returns-8-and-does-not-start-dfu-bootloader</link><description>I am having trouble turning on bonds for DFU. 
 First of all, before I describe this pain, can I choose to avoid this battle by just allowing unbonded devices to DFU? e.g. set NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS = 0, and NRF_DFU_BLE_REQUIRES_BONDS </description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 21 Sep 2018 18:36:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/38718/nrf_dfu_set_peer_data-returns-8-and-does-not-start-dfu-bootloader" /><item><title>RE: nrf_dfu_set_peer_data returns 8 and does NOT start DFU bootloader</title><link>https://devzone.nordicsemi.com/thread/149884?ContentTypeID=1</link><pubDate>Fri, 21 Sep 2018 18:36:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c6595a22-381e-42b4-abb6-022891df2ee8</guid><dc:creator>Andrew Ong</dc:creator><description>&lt;p&gt;I actually meant &amp;quot;with bonds&amp;quot; in both cases--because configuration 1 is what I currently have working.&amp;nbsp;I think your answer remains the same though. Thanks for clarifying!&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_dfu_set_peer_data returns 8 and does NOT start DFU bootloader</title><link>https://devzone.nordicsemi.com/thread/149809?ContentTypeID=1</link><pubDate>Fri, 21 Sep 2018 11:17:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80086117-5ca9-4b94-b121-f33dcaf913f6</guid><dc:creator>Sigurd</dc:creator><description>&lt;p&gt;I assume you meant &amp;quot;without bonds&amp;quot; for&amp;nbsp;configuration 1. But yes,&amp;nbsp;your understanding is correct. But note that the attacker won&amp;#39;t have the private key, you are supposed to keep that a secret. With configuration 2, the&amp;nbsp;&lt;span&gt;bootloader will only accept&amp;nbsp;DFU images from the device that triggered the DFU mode, (and that device need to be bonded.)&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_dfu_set_peer_data returns 8 and does NOT start DFU bootloader</title><link>https://devzone.nordicsemi.com/thread/149778?ContentTypeID=1</link><pubDate>Fri, 21 Sep 2018 08:40:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1a6368e5-5e09-4b5c-9f01-896fdcdd988f</guid><dc:creator>Andrew Ong</dc:creator><description>&lt;p&gt;I still don&amp;#39;t understand what the difference is between using configuration 1:&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dfu_unbonded.c&lt;/li&gt;
&lt;li&gt;with bonds&lt;/li&gt;
&lt;li&gt;&lt;span&gt;NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS = 0, and NRF_DFU_BLE_REQUIRES_BONDS = 0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;and using configuration 2:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dfu_bonded.c&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;with bonds&lt;/li&gt;
&lt;li&gt;&lt;span&gt;NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS = 1, and NRF_DFU_BLE_REQUIRES_BONDS = 1&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;it sounds like the only difference is that in configuration 1, the attacker could intercept&amp;nbsp;the connection and DFU another payload as long as the payload is signed with the private key, whereas in configuration 2, the attacker has no chance to intercept because the bond info is passed to the bootloader, is that right?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_dfu_set_peer_data returns 8 and does NOT start DFU bootloader</title><link>https://devzone.nordicsemi.com/thread/149767?ContentTypeID=1</link><pubDate>Fri, 21 Sep 2018 08:06:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:03c2a3b5-abfa-4c9c-b2ab-14ad918b728d</guid><dc:creator>Sigurd</dc:creator><description>&lt;p&gt;No,&amp;nbsp;the init package with the new firmware would need to be signed with the private key, so even if an attacker connected to the device in DFU mode, he would need to know the private key to upload a new firmware image.&lt;/p&gt;
&lt;p&gt;There is also some information about DFU with and without bonds &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.2.0/service_dfu.html?cp=4_0_0_3_3_5_2#secure_dfu_buttonless_bonded"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_dfu_set_peer_data returns 8 and does NOT start DFU bootloader</title><link>https://devzone.nordicsemi.com/thread/149713?ContentTypeID=1</link><pubDate>Thu, 20 Sep 2018 22:08:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1bf22482-f0dc-4e2d-a56b-c207222abc58</guid><dc:creator>Andrew Ong</dc:creator><description>&lt;p&gt;Are you implying that&amp;nbsp;if&amp;nbsp;NRF_DFU_BLE_REQUIRES_BONDS = 0, the application bond is NOT forwarded to the bootloader and an attacker could intercept the connection and DFU another payload?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_dfu_set_peer_data returns 8 and does NOT start DFU bootloader</title><link>https://devzone.nordicsemi.com/thread/149674?ContentTypeID=1</link><pubDate>Thu, 20 Sep 2018 14:24:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:12d60911-7b03-4ccb-9a14-51806c0fada8</guid><dc:creator>Sigurd</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="androng"]The DFU still requires bonding because my&amp;nbsp;attr_md.wr_auth = 1;. So then what is the point of&amp;nbsp;NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS = 1, and NRF_DFU_BLE_REQUIRES_BONDS = 1 and using the &amp;quot;dfu_bonded.c&amp;quot; file?&amp;nbsp;[/quote]
&lt;p&gt;&amp;nbsp;Please see this &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/37845/does-nrf_dfu_ble_buttonless_supports_bonds-enforce-a-preexisting-bond-when-in-bootloader-mode/145872#145872"&gt;answer&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_dfu_set_peer_data returns 8 and does NOT start DFU bootloader</title><link>https://devzone.nordicsemi.com/thread/149586?ContentTypeID=1</link><pubDate>Thu, 20 Sep 2018 09:09:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:725d4704-5da4-4f47-b705-8634bfbf7bbf</guid><dc:creator>Andrew Ong</dc:creator><description>&lt;p&gt;OMG IT WORKS&lt;/p&gt;
&lt;p&gt;I was able to DFU my device twice with the &amp;quot;dfu_unbonded.c&amp;quot; file!&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;my iPhone bonded&lt;/li&gt;
&lt;li&gt;&lt;span&gt;NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS = 0, and NRF_DFU_BLE_REQUIRES_BONDS = 0 &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;attr_md.wr_auth = 1 on the DFU characteristic;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;The DFU still requires bonding because my&amp;nbsp;attr_md.wr_auth = 1;. So then what is the point of&amp;nbsp;NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS = 1, and NRF_DFU_BLE_REQUIRES_BONDS = 1 and using the &amp;quot;dfu_bonded.c&amp;quot; file?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>