<?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>How to configure a secure BLE link between a nRF52840 and a smartphone ?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/67627/how-to-configure-a-secure-ble-link-between-a-nrf52840-and-a-smartphone</link><description>Hi ! 
 I need to develop a BLE communication link between a smartphone (Android first, iOS after) and the BL654 Laird platform (based on nRF52840). 
 I found multiples strategies on this forum but I don&amp;#39;t know which one is the best for my project. 
 Here</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 27 Oct 2020 11:21:31 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/67627/how-to-configure-a-secure-ble-link-between-a-nrf52840-and-a-smartphone" /><item><title>RE: How to configure a secure BLE link between a nRF52840 and a smartphone ?</title><link>https://devzone.nordicsemi.com/thread/277112?ContentTypeID=1</link><pubDate>Tue, 27 Oct 2020 11:21:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:00fb77ac-56b7-4b94-a52f-d73ba973b1ef</guid><dc:creator>MartinD</dc:creator><description>&lt;p&gt;Hi Hung, thanks for your answer.!&lt;/p&gt;
&lt;p&gt;Do you think I can manually encrypt the characteristic data with a pre-shared symmetric key so that the smartphone can only access to it only if it has the key ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;By the way, would it be possible to develop a customized secure communication using characteristics ?&lt;/p&gt;
&lt;p&gt;This layer could stands over an Legacy Just Works pairing method and would permit a user to authenticate and sign data.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Maybe this&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/35856/questions-about-lesc-mitm-and-passkey"&gt;link&lt;/a&gt; would help you to understand what I mean.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to configure a secure BLE link between a nRF52840 and a smartphone ?</title><link>https://devzone.nordicsemi.com/thread/277098?ContentTypeID=1</link><pubDate>Tue, 27 Oct 2020 10:34:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ed2e8b7f-716b-4862-a0cf-57927e3a0cb9</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Martin,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The only mechanism in Bluetooth spec to limit the connection from random peer device is to implement whitelist.&amp;nbsp;&lt;br /&gt;By having a whitelist the device only accepts the connection request from the devices in the list. To create such a list you can implement 2 modes first mode is pairing mode when your device allow pairing from all devices. After it has bonded and has the identity of the central it can switch to normal mode where it only allows connection from the devices in the list.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If&amp;nbsp;such mechanism doesn&amp;#39;t match with what you need, you can implement what you described where the central need to provide an unique ID in a period of time after connection otherwise the connection will be terminated.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In stead of using simply a password (unique ID) you can think of using a challenge-response mechanism to make it more secure. The nRF52 can send a random challenge and the central need to reply with a correct response before your device start to accept command/send data. If you receive no response or wrong response, you can terminate the connection.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;You can also use NFC to transfer such challenge/response as well, this can make it extra secure.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>