<?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>Which method is recommend for BLE security?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/25728/which-method-is-recommend-for-ble-security</link><description>Hi, 
 I am wondering which is the best method for BLE security to avoid MITM, protect the data (sniffers) and limit connection only to allowed devices for a massive number of BLE devices, example 500 &amp;gt; random and new devices. 
 Peer manager is the recommend</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 25 Oct 2017 12:10:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/25728/which-method-is-recommend-for-ble-security" /><item><title>RE: Which method is recommend for BLE security?</title><link>https://devzone.nordicsemi.com/thread/101370?ContentTypeID=1</link><pubDate>Wed, 25 Oct 2017 12:10:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bd095a22-6609-40a7-9af2-9373c0eabf09</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Marco,&lt;/p&gt;
&lt;p&gt;You can refer to the \examples\ble_central_and_peripheral\experimental\ble_app_multirole_lesc\ to see how to handle LESC.
This &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v5.0.0/group___b_l_e___g_a_p___p_e_r_i_p_h___l_e_s_c___p_a_i_r_i_n_g___j_w___m_s_c.html?cp=2_3_1_1_0_2_1_3_10_6_4"&gt;message sequence chart&lt;/a&gt; would also help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Which method is recommend for BLE security?</title><link>https://devzone.nordicsemi.com/thread/101367?ContentTypeID=1</link><pubDate>Wed, 25 Oct 2017 02:33:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c4e2a1f5-69fe-426a-80fe-5a8089d44f2f</guid><dc:creator>MarcoTull</dc:creator><description>&lt;p&gt;Hi Hung, I was wondering how can I enable &amp;quot;LESC pairing with Just Works&amp;quot; what settings are required on peer_manager_init?&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sec_params.bond           = SEC_PARAMS_BOND;
sec_params.mitm           = SEC_PARAMS_MITM;
sec_params.lesc           = SEC_PARAMS_LESC;
sec_params.keypress       = SEC_PARAMS_KEYPRESS;
sec_params.io_caps        = SEC_PARAMS_IO_CAPABILITIES;
sec_params.oob            = SEC_PARAMS_OOB;
sec_params.min_key_size   = SEC_PARAMS_MIN_KEY_SIZE;
sec_params.max_key_size   = SEC_PARAMS_MAX_KEY_SIZE;
&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Which method is recommend for BLE security?</title><link>https://devzone.nordicsemi.com/thread/101369?ContentTypeID=1</link><pubDate>Wed, 18 Oct 2017 08:47:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf32d081-27fd-4e5b-b6ac-fd39b49998aa</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Yes, you can do that. I don&amp;#39;t see any reason why it wouldn&amp;#39;t work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Which method is recommend for BLE security?</title><link>https://devzone.nordicsemi.com/thread/101368?ContentTypeID=1</link><pubDate>Tue, 17 Oct 2017 16:52:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:75091119-bc01-46f7-8080-012e7661cc41</guid><dc:creator>MarcoTull</dc:creator><description>&lt;p&gt;Hey Hung thanks for the reply, Is possible integrate the LESC into the BLE blinky example for both sides central a peripheral?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Which method is recommend for BLE security?</title><link>https://devzone.nordicsemi.com/thread/101366?ContentTypeID=1</link><pubDate>Tue, 17 Oct 2017 08:56:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d05ee531-0821-44ed-b3ec-a4a908076775</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Marco,&lt;/p&gt;
&lt;p&gt;Petter is away. I will try to help you.&lt;/p&gt;
&lt;p&gt;No, protection against eavesdropping doesn&amp;#39;t help increase security against MITM. MITM is about authentication, how can you be sure the device your central talking to is actually the device you looking at ?
The scenario is you&amp;#39;re using your central device A to pair to a device B, but actually the communication is going to a MITM device, and then that MITM then pair to the device B separately. With Just Work, you have no way of authentication (screen, keyboard etc) when pairing. You can never figure out that you are talking to the wrong guy.&lt;/p&gt;
&lt;p&gt;This is different to eavesdropping, where the two device A-B actually talking to each other, the third guy just listen and &lt;strong&gt;understand&lt;/strong&gt; what&amp;#39;s transmitting between A-B.&lt;/p&gt;
&lt;p&gt;Yes we have &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.0.0/ble_sdk_app_multirole_lesc.html?cp=4_0_0_4_1_1_2"&gt;this example&lt;/a&gt; in the SDK showcasing LESC.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Which method is recommend for BLE security?</title><link>https://devzone.nordicsemi.com/thread/101362?ContentTypeID=1</link><pubDate>Thu, 12 Oct 2017 19:13:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:234c912d-07ed-4edc-97ad-bd27113c6eaf</guid><dc:creator>MarcoTull</dc:creator><description>&lt;p&gt;Hey, Petter thanks for answering, now it is a little clearer and easier to take the route to follow.
Last two quick questions.
In the case the LESC parting with Just Works, it protects against eavesdropping,  does not it make harder a MITM attack?&lt;/p&gt;
&lt;p&gt;I ask it because I had done reverse engineering to BLE devices in the past using a sniffer.&lt;/p&gt;
&lt;p&gt;Second question any example with LESC in nRF5 SDK?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Which method is recommend for BLE security?</title><link>https://devzone.nordicsemi.com/thread/101365?ContentTypeID=1</link><pubDate>Thu, 12 Oct 2017 07:06:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:481e8c0e-a4da-4030-b74a-593e9095e43a</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;My mistake, I didn&amp;#39;t see sniffers in the parentheses there.&lt;/p&gt;
&lt;p&gt;If you don&amp;#39;t have any inputs you have two options (from a Bluetooth perspective):&lt;/p&gt;
&lt;p&gt;-Legacy pairing with Just Works. This does not offer protection against MITM or passive eavesdropping during the pairing process, but if there is no attack during the pairing process the encryption is secure.&lt;/p&gt;
&lt;p&gt;-LESC pairing with Just Works. Offers protection against passive eavesdropping, but not against MITM during the pairing process. If there is not attack during the pairing process the encryption is secure.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Which method is recommend for BLE security?</title><link>https://devzone.nordicsemi.com/thread/101364?ContentTypeID=1</link><pubDate>Wed, 11 Oct 2017 18:08:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5d420be5-d76f-40d4-84e1-d710ed93456f</guid><dc:creator>MarcoTull</dc:creator><description>&lt;p&gt;I am using multiples peripherals to record temperature variations and two central to connect to each peripheral (one per time not multiple connections), The only input for my modules is the temperature sensor, and for my central the only input is the data coming from the peripheral over BLE, I suppose it supports LESC because I am using central and peripheral roles using the SDK13. I would like to protect my devices from malicious attacks and try to keep them as safe as possible. Is not eavesdropping the same that sniffing? or similar to MITM? is there any example or guideline to add peer manager to my devices?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Which method is recommend for BLE security?</title><link>https://devzone.nordicsemi.com/thread/101363?ContentTypeID=1</link><pubDate>Mon, 09 Oct 2017 11:47:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa59560f-55f2-4602-a416-d34f17ce1386</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;The SoftDevice implements the security features that are in the Bluetooth specification. Then you can use the Peer Manager to manage these features. In general we recommend to use the Peer Manager.&lt;/p&gt;
&lt;p&gt;It is difficult to suggest a &amp;quot;best&amp;quot; method without knowing more about your application.&lt;/p&gt;
&lt;p&gt;What kind of device are you making? Does it have any input? Buttons? Keypad? NFC? Does it have any output? LEDs? Screen? NFC? What about its peers? What kind of I/O do they have? Do they peers have support for LESC pairing? Will you be pairing the devices in a safe environment?&lt;/p&gt;
&lt;p&gt;You say you want to protect against MITM attacks, what about passive eavesdropping? Is that a concern?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Which method is recommend for BLE security?</title><link>https://devzone.nordicsemi.com/thread/101371?ContentTypeID=1</link><pubDate>Thu, 05 Oct 2017 19:55:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:857ee730-5316-4bae-a0e2-1434125d0bee</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;BLE Secure Manager layer (which is all what gets implemented in SDK examples because that&amp;#39;s the only &amp;quot;standard&amp;quot;) is suited for &amp;quot;one to one&amp;quot; (or &amp;quot;few to few&amp;quot;) scenarios where only few bonds need to be stored (peer manager works with 8 if I&amp;#39;m not mistaken). Once your initial condition is that you want to have pool of dozens or hundreds of devices which should be able to talk securely to each other then it doesn&amp;#39;t scale easily (because even if you use OOB method listed in following list you should store bonding info for each link which can suddenly make kB of data which must be searchable easily on the fly). From high level you have following basic options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use BLE Security Manager with pre-shared AES key (OOB method). It will work and it will be reasonably secure (AES-128 is not broken by any practical attack) until any device (or other way - e.g. from production or internally form the company/team) gets broken and master key is leaked. Then whole infrastructure is broken and you need to recall/reprogram/update...&lt;/li&gt;
&lt;li&gt;Implement something on application layer (either based on symmetric cipher like AES which leads more or less to the same scheme of pre-shared master keys common for the whole infrastructure which compromises it whole once leaked or something based on more modern schemes which are mixing asymmetric and symmetric keys and build some infrastructure - PKI based or other)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that while probably second way is recommended from cryptography/security stand point it&amp;#39;s not easy to make it correctly and still fast, robust, easy to implement, easy to maintain in the field, easy to produce in the factory... Therefore most of large systems (e.g. which are guarding some top secret things and facilities) are still using simple infrastructure with some secret master AES keys (but all people responsible for it are probably having nightmares about master key leaking almost every night;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>