<?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 improve the security of BLE data in our specific use case</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/66647/how-to-improve-the-security-of-ble-data-in-our-specific-use-case</link><description>Hello, guys! 
 We are in an evaluation phase of our future product. Our plan is to use nRF52840-based module and the latest SDK 17.0.2 or FreeRTOS or Zephyr RTOS (will be decided later). 
 Here is a short description of the use-case: 
 The device containing</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 05 Oct 2020 13:04:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/66647/how-to-improve-the-security-of-ble-data-in-our-specific-use-case" /><item><title>RE: How to improve the security of BLE data in our specific use case</title><link>https://devzone.nordicsemi.com/thread/272989?ContentTypeID=1</link><pubDate>Mon, 05 Oct 2020 13:04:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:985eb0a9-3a54-43fe-8b7e-59e669fbde3c</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;I see. It should be possible for you to implement&amp;nbsp;the mechanism you come up with&amp;nbsp;based on the crypto libraries that are available in the SDK.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to improve the security of BLE data in our specific use case</title><link>https://devzone.nordicsemi.com/thread/272957?ContentTypeID=1</link><pubDate>Mon, 05 Oct 2020 12:04:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f252c159-4d32-44f0-99ff-88d14245edc3</guid><dc:creator>bojan</dc:creator><description>&lt;p&gt;Hello, @Einar Thorsrud&lt;/p&gt;
&lt;p&gt;Thanks for your reply.&lt;/p&gt;
[quote userid="7377" url="~/f/nordic-q-a/66647/how-to-improve-the-security-of-ble-data-in-our-specific-use-case/272919#272919"]I do not follow this. Using BLE bonding with LESC gives a high degree of security, and I do not see how the links you provide argue against that. You may have other reasons for using custom security, but it is not given that doing something non-standard will give a higher degree of security.[/quote]
&lt;p&gt;Even though my links are not relevant we can&amp;#39;t afford pairing and bonding. On the pressure of a button we need to:&lt;/p&gt;
&lt;p&gt;1) Establish a BLE connection&lt;/p&gt;
&lt;p&gt;2) Send data packet (challenge)&lt;/p&gt;
&lt;p&gt;3) Wait for the response&lt;/p&gt;
&lt;p&gt;4) Disconnect&lt;/p&gt;
&lt;p&gt;Consequently, this challenge-response mechanism with custom data encryption seems to be the way to go with.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to improve the security of BLE data in our specific use case</title><link>https://devzone.nordicsemi.com/thread/272919?ContentTypeID=1</link><pubDate>Mon, 05 Oct 2020 09:39:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3581167-fcef-425f-9494-83429a3d933c</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi Bojan,&lt;/p&gt;
&lt;p&gt;I want to mention a few points in addition to what have allready been discussed.&lt;/p&gt;
[quote user="bojan"]We can not benefit from the security BLE is enabling after pairing and bonding. Moreover, that kind of security seems not to be enough nowadays (&lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/intro-to-application-level-security-using-the-ecb-" rel="noopener noreferrer" target="_blank"&gt;link&lt;/a&gt;, &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/2895/ble-security" rel="noopener noreferrer" target="_blank"&gt;link&lt;/a&gt;).[/quote]
&lt;p&gt;I do not follow this. Using BLE bonding with LESC gives a high degree of security, and I do not see how the links you provide argue against that. You may have other reasons for using custom security, but it is not given that doing something non-standard will give a higher degree of security.&lt;/p&gt;
[quote user=""]&amp;nbsp;- &lt;span style="background-color:rgba(204, 255, 255, 1);"&gt;What would be the ways to protect that kind of data transfer from spoofing attacks?&lt;/span&gt; To disable sniffing unique ID and reproducing it from the faulty device[/quote]
&lt;p&gt;Using standard BLE pairing you could (and should) always required to encrypt the link when connection to device there is allready a bond with. You could probably also do something similar with a custom security scheme if you really want to do it yourself. Alternatively you could use a form of challenge-response mechanism. You would need a way to handle and distribute keys though, and that would be up to you. You could also use random resoleable addresses (based on IRK), but even though the attacker don&amp;#39;t have the IRK it could spoof the currently used address, so it may not help much. There are probably other approaches that could be used as well.&lt;/p&gt;
[quote user=""]&lt;span style="background-color:rgba(255, 153, 204, 1);"&gt; Can we benefit from them for doing data encryption/decryption?&lt;/span&gt; &amp;nbsp;[/quote]
&lt;p&gt;Yes you could do that. I suggest you refer to the &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/crypto_examples_nrf_crypto.html"&gt;nrf_crypto examples&lt;/a&gt; in the SDK, as well as the &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/lib_crypto.html"&gt;nrf_crypto documentation&lt;/a&gt;.&lt;/p&gt;
[quote user=""]What we would need on the phone side for the reverse operation decryption/encryption?[/quote]
&lt;p&gt;You would need support for the same algorithm and the corresponding key.&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to improve the security of BLE data in our specific use case</title><link>https://devzone.nordicsemi.com/thread/272773?ContentTypeID=1</link><pubDate>Fri, 02 Oct 2020 14:34:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7fb22098-0bba-4008-86c8-7b3be1b9bc64</guid><dc:creator>bojan</dc:creator><description>&lt;p&gt;Hey,&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/himanshu"&gt;Himanshu&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;Thanks for your feedback! Our data exchange process should execute in an instant (as fast as possible after the button is pressed).&lt;/p&gt;
&lt;p&gt;We can not benefit from the security BLE is enabling after pairing and bonding. Moreover, that kind of security seems not to be enough nowadays (&lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/intro-to-application-level-security-using-the-ecb-" rel="noopener noreferrer" target="_blank"&gt;link&lt;/a&gt;, &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/2895/ble-security" rel="noopener noreferrer" target="_blank"&gt;link&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;It seems that we need to encrypt our data on the application level. I wonder if we can benefit from that encryption hardware built into nRF52840.&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Bojan.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to improve the security of BLE data in our specific use case</title><link>https://devzone.nordicsemi.com/thread/272772?ContentTypeID=1</link><pubDate>Fri, 02 Oct 2020 14:27:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:488b8bf2-56d4-44ea-9e9a-2cc5e6a36b9d</guid><dc:creator>Himanshu</dc:creator><description>&lt;p&gt;I am not expert here but as far as I understand you must perform pairing/bonding between the devices. This will enable the central and peripheral devices to establish shared secret keys. With this shared secret both will be able to securely perform communications ( The shared&amp;nbsp; secret keys are necessary for encryption and decryption). Without pairing a peripheral is as good as a beacon device, wherein any interceptor can read it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>