<?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>Methods for Bluetooth mesh secure provisioning, and can it be done using the serial interface?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/51957/methods-for-bluetooth-mesh-secure-provisioning-and-can-it-be-done-using-the-serial-interface</link><description>Hi, I have a question about Bluetooth mesh secure provisioning, as it is described in the spec section 5.4.3. 
 The spec states that either 
 1) both OOB public key exchange and static OOB authentication 
 2) OOB input/output authentication 
 is needed</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 10 Sep 2019 13:37:19 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/51957/methods-for-bluetooth-mesh-secure-provisioning-and-can-it-be-done-using-the-serial-interface" /><item><title>RE: Methods for Bluetooth mesh secure provisioning, and can it be done using the serial interface?</title><link>https://devzone.nordicsemi.com/thread/208976?ContentTypeID=1</link><pubDate>Tue, 10 Sep 2019 13:37:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5203c387-1f33-4cd4-824c-d7e2382420e6</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Pilli,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;My understanding is that there must be at least one real (non static) OOB method of exchanging data is used. Either it&amp;#39;s in the ECDH calculation (Public key exchange)&amp;nbsp; or in the authorization phase where the Input/Output/static OOB is used.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you use static OOB, you must not transfer the public key openly (via Bluetooth). The static OOB data can be compromised if the attacker has access to device (read the flash). So if the OOB key is sent over Bluetooth, the attacker can act as Man in the middle (MITM)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can use serial to get the public keys. The protocol on how to send them is on your own. When you receive it you would need to wait for&amp;nbsp;NRF_MESH_PROV_EVT_OOB_PUBKEY_REQUEST event, and then reply with&amp;nbsp;nrf_mesh_prov_pubkey_provide()&lt;/p&gt;
&lt;p&gt;If you want to do output/input OOB, you would need to wait for&amp;nbsp;NRF_MESH_PROV_EVT_OUTPUT_REQUEST then display it or&amp;nbsp;&lt;span&gt;NRF_MESH_PROV_EVT_INPUT_REQUEST then reply with&amp;nbsp;nrf_mesh_prov_auth_data_provide.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;You can find an example of doing output OOB in our demo &lt;a href="https://github.com/NordicPlayground/thingy52-mesh-provisioning-demo"&gt;here&lt;/a&gt;, check out the my_mesh_provisionee.c file .&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>