<?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>Security in BLE/SD</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/18258/security-in-ble-sd</link><description>Hi, 
 I can&amp;#39;t get my head around the cipher and auth used by SD132 in BLE (nrf52832,SDK12). 
 Could someone please explain which HW blocks and SW libs are used for encryption/decrytpion, authorisation and secure DFU? I know this is wide question, but</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 09 Dec 2016 09:18:39 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/18258/security-in-ble-sd" /><item><title>RE: Security in BLE/SD</title><link>https://devzone.nordicsemi.com/thread/70516?ContentTypeID=1</link><pubDate>Fri, 09 Dec 2016 09:18:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ef223559-8a84-4e4e-8ea1-072c8690e33d</guid><dc:creator>OskarM</dc:creator><description>&lt;p&gt;Thanks. After extensive dig-through I could maybe summarize:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;All traffic for BLE is encrypted using AES-128 CCM, the nrf52832 uses the HW module for that. This is done without user interaction and most probaly blocks use access to this module with sd enabled.&lt;/li&gt;
&lt;li&gt;In non secure BLE there was symmetrical key exchange using some custom BLE algorithm, embedded in soft device.&lt;/li&gt;
&lt;li&gt;In LESC (4.2) even during paring ECDH is used for &amp;quot;cipher key&amp;quot; exchange - using micro ECC features&lt;/li&gt;
&lt;li&gt;For parties authentication (to protect against MITM attack) the ECDSA is used (p-256 + SHA256 signing) using micro ECC and/or sha256 libraries&lt;/li&gt;
&lt;li&gt;DFU uses ECDSA to sign data needed for update;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In general since transmission is encrypted after pairing and data is encrypted, the only weak point is the pairing, which is know BLE limitation (except OOB).&lt;/p&gt;
&lt;p&gt;THe most &amp;quot;unknown&amp;quot; here is that to use the LESC features also the phone needs to support that, i.e. has to have BLE 4.2 support.&lt;/p&gt;
&lt;p&gt;regards
oskar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Security in BLE/SD</title><link>https://devzone.nordicsemi.com/thread/70515?ContentTypeID=1</link><pubDate>Fri, 09 Dec 2016 08:43:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:25efb39b-8572-4a8b-8d5b-9f22f53a3a6a</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;The CCM module is used for encryption/decryption.&lt;/p&gt;
&lt;p&gt;For legacy pairing no libraries are needed.&lt;/p&gt;
&lt;p&gt;For LESC the nRF52832 requires an external library, &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v12.2.0/ble_sdk_app_multirole_lesc.html?cp=4_0_0_4_2_1_2"&gt;micro-ecc&lt;/a&gt;, while I believe it is not needed in the nRF52840 (because of the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52840.ps/cc_chapter.html?cp=2_1_0_52#cc_frontpage"&gt;cryptocell&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Authorization is just that the application has to authorize access to an attribute, for example a &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v3.0.0/group___b_l_e___g_a_t_t_s___r_e_a_d___r_e_q___a_u_t_h___m_s_c.html?cp=2_3_0_1_0_2_4_3_13"&gt;read&lt;/a&gt; or write.&lt;/p&gt;
&lt;p&gt;The Secure DFU bootloader supports signing of the image to ensure that the update stems from a trusted source.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>