<?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>Secure connections with no keyboard and no display</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/47518/secure-connections-with-no-keyboard-and-no-display</link><description>Hello, 
 
 Our peripheral device has no keyboard and no display. 
 Yet we would still like to have the most secured way of communication. 
 For our application, we don&amp;#39;t like a static passkey as anybody with the same mobile app installed could pair. </description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 29 Jan 2020 09:06:07 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/47518/secure-connections-with-no-keyboard-and-no-display" /><item><title>RE: Secure connections with no keyboard and no display</title><link>https://devzone.nordicsemi.com/thread/231556?ContentTypeID=1</link><pubDate>Wed, 29 Jan 2020 09:06:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:893b0d8f-e59e-4ad2-9e85-fd82638a17d8</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Good point, also check out this Nordic Blog post:&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/what-impact-does-the-deprecation-and-withdrawal-of-bluetooth-core-specification-v4-0-and-v4-1-have-on-your-current-and-future-products"&gt;https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/what-impact-does-the-deprecation-and-withdrawal-of-bluetooth-core-specification-v4-0-and-v4-1-have-on-your-current-and-future-products&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;And this thread of known issues with SDKv12.x (including 12.3):&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/16156/what-are-sdk-12-x-0-known-issues"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/16156/what-are-sdk-12-x-0-known-issues&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure connections with no keyboard and no display</title><link>https://devzone.nordicsemi.com/thread/231517?ContentTypeID=1</link><pubDate>Tue, 28 Jan 2020 22:23:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8c9607d8-47d6-4dbb-b84a-67b1e27c83a8</guid><dc:creator>awneil</dc:creator><description>[quote userid="87223" url="~/f/nordic-q-a/47518/secure-connections-with-no-keyboard-and-no-display/231516"]I have a new project like to use nRF51822[/quote]
&lt;p&gt;Note that nRF51 is &lt;strong&gt;not&lt;/strong&gt; recommended for new &lt;strong&gt;BLE&lt;/strong&gt; designs - and has not been for some time now:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/42960/status-of-nrf51-products/169728#169728"&gt;devzone.nordicsemi.com/.../169728&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure connections with no keyboard and no display</title><link>https://devzone.nordicsemi.com/thread/231516?ContentTypeID=1</link><pubDate>Tue, 28 Jan 2020 22:17:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:af0f7328-783e-4570-a0d1-a35514420b9f</guid><dc:creator>martinjiang8</dc:creator><description>&lt;p&gt;Thank you Kenneth, that really helps!&lt;/p&gt;
&lt;p&gt;I have a new project like to use nRF51822 for cost reason, the chip only needs to perform a simple task but has to implement highest security level available in BLE4.2. (authorization and signing)&lt;/p&gt;
&lt;p&gt;I found SDK12.3 is the latest revision which supporting nRF51822, and only one example utilizes the security function which is&amp;nbsp; \nRF5_SDK_12.3.0\examples\ble_central_and_peripheral\experimental\ble_app_multirole_lesc&lt;/p&gt;
&lt;p&gt;But as you can see, it is located in the experimental folder which means it may contain bugs and not yet fully tested.&lt;/p&gt;
&lt;p&gt;Since nRF51822 is a quite mature chip and SDK12.3 was released more than two years ago, do we know is there known issue on this example? Is there any other example available that using secure BLE pairing? Is nRF51822 a viable choice for my application or I have to use nRF52 series instead?&lt;/p&gt;
&lt;p&gt;Thank you in advance,&lt;/p&gt;
&lt;p&gt;Martin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure connections with no keyboard and no display</title><link>https://devzone.nordicsemi.com/thread/223238?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2019 09:13:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fcb09335-050f-414e-be77-6487ccfceb98</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;The easiest is to search all main.c files for &amp;#39;#define SEC_PARAM_LESC&amp;#39;, and then all that is defined as &amp;#39;1&amp;#39; support LESC. Here is the result for nRF5 SDKv16:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;\ble_central\ble_app_gatts\main.c(89) : #define SEC_PARAM_LESC            0                                /**&amp;lt; LE Secure Connections not enabled. */
\ble_central\ble_app_hrs_c\main.c(88) : #define SEC_PARAM_LESC              1                                   /**&amp;lt; LE Secure Connections enabled. */
\ble_central\ble_app_ias\main.c(97) : #define SEC_PARAM_LESC                  0                                       /**&amp;lt; LE Secure Connections not enabled. */
\ble_central\ble_app_rscs_c\main.c(88) : #define SEC_PARAM_LESC              0                                   /**&amp;lt; LE Secure Connections not enabled. */
\ble_central\experimental\ble_app_ots_c\main.c(88) : #define SEC_PARAM_LESC            0                                       /**&amp;lt; LE Secure Connections not enabled. */
\ble_central_and_peripheral\experimental\ble_app_hrs_rscs_relay\main.c(127) : #define SEC_PARAM_LESC                  0                                           /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_alert_notification\main.c(112) : #define SEC_PARAM_LESC                  0                                           /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_ancs_c\main.c(122) : #define SEC_PARAM_LESC                 0                                      /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_bms\main.c(99) : #define SEC_PARAM_LESC                  0                                       //!&amp;lt; LE Secure Connections not enabled.
\ble_peripheral\ble_app_bps\main.c(137) : #define SEC_PARAM_LESC                  0                                       /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_buttonless_dfu\main.c(109) : #define SEC_PARAM_LESC                  0                                           /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_cscs\main.c(130) : #define SEC_PARAM_LESC                  0                                           /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_cts_c\main.c(111) : #define SEC_PARAM_LESC                  0                                           /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_gls\main.c(117) : #define SEC_PARAM_LESC                  1                                           /**&amp;lt; LE Secure Connections enabled. */
\ble_peripheral\ble_app_hids_keyboard\main.c(129) : #define SEC_PARAM_LESC                      0                                          /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_hids_mouse\main.c(119) : #define SEC_PARAM_LESC                  0                                           /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_hrs\main.c(124) : #define SEC_PARAM_LESC                      1                                       /**&amp;lt; LE Secure Connections enabled. */
\ble_peripheral\ble_app_hrs_freertos\main.c(125) : #define SEC_PARAM_LESC                      0                                       /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_hts\main.c(121) : #define SEC_PARAM_LESC                  0                                           /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_ias_c\main.c(105) : #define SEC_PARAM_LESC                  0                                       /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_proximity\main.c(118) : #define SEC_PARAM_LESC                  0                                       /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_rscs\main.c(125) : #define SEC_PARAM_LESC                  0                                       /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_template\main.c(105) : #define SEC_PARAM_LESC                  0                                       /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\ble_app_tile\main.c(101) : #define SEC_PARAM_LESC                  0                                  /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\experimental\ble_app_cgms\main.c(117) : #define SEC_PARAM_LESC                  0                                           /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\experimental\ble_app_cli\main.c(116) : #define SEC_PARAM_LESC                  0                                           /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\experimental\ble_app_lls\main.c(102) : #define SEC_PARAM_LESC                  0                                       /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\experimental\ble_app_lns\main.c(115) : #define SEC_PARAM_LESC                  0                                       /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\experimental\ble_app_queued_writes\main.c(105) : #define SEC_PARAM_LESC                   0                                          /**&amp;lt; LE Secure Connections not enabled. */
\ble_peripheral\experimental\bluetoothds_template\main.c(104) : #define SEC_PARAM_LESC                   0                                          /**&amp;lt; LE Secure Connections not enabled. */&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;However those projects that support NFC can also potentially support LESC (by defining NFC_PAIRING_MODE_LESC_JUST_WORKS in main.c or sdk_config.h), so you also need to search for all main.c filed that have &amp;#39;#define NFC_PAIRING_MODE&amp;#39;. Here is the result for nRF5 SDKv16:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;\ble_peripheral\experimental\ble_app_hids_keyboard_pairing_nfc\main.c(153) :     #define NFC_PAIRING_MODE NFC_PAIRING_MODE_JUST_WORKS
\ble_peripheral\experimental\ble_app_hrs_nfc_pairing\main.c(115) :     #define NFC_PAIRING_MODE NFC_PAIRING_MODE_JUST_WORKS
\ble_peripheral\experimental\ble_nfc_pairing_reference\main.c(63) :     #define NFC_PAIRING_MODE NFC_PAIRING_MODE_JUST_WORKS&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Lastly it also seems the nRF5 SDK examples sometimes use &amp;#39;#define SEC_PARAMS_LESC&amp;#39; (instead of &amp;#39;#define SEC_PARAM_LESC&amp;#39;). So you need to search main.c files also for those, and check if any is defined as&amp;nbsp;&amp;#39;1&amp;#39;:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;\ble_central_and_peripheral\experimental\ble_app_multirole_lesc\main.c(113) : #define SEC_PARAMS_LESC                 1                                               /**&amp;lt; LE Secure Connections pairing required. */&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;To find more information about a specific BLE example you can check out:&lt;br /&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/examples_ble.html?cp=6_1_4_2"&gt;https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/examples_ble.html?cp=6_1_4_2&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A good start may be to use the below two examples, since those two will work out of the box with eachother:&lt;br /&gt;\ble_central\&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/ble_sdk_app_hrc.html?cp=6_1_4_2_0_1"&gt;ble_app_hrs_c&lt;/a&gt;\&lt;br /&gt;\ble_peripheral\&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/ble_sdk_app_hrs.html?cp=6_1_4_2_2_13"&gt;ble_app_hrs&lt;/a&gt;\&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure connections with no keyboard and no display</title><link>https://devzone.nordicsemi.com/thread/223118?ContentTypeID=1</link><pubDate>Mon, 02 Dec 2019 15:35:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9f1e7fb5-d94d-4dfd-bd9d-e7c5151828b5</guid><dc:creator>Mojo</dc:creator><description>&lt;p&gt;Hi &lt;a href="https://devzone.nordicsemi.com/members/kenneth"&gt;Kenneth&lt;/a&gt;, is there any example or info in SDK about that LE secure connection ? Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure connections with no keyboard and no display</title><link>https://devzone.nordicsemi.com/thread/188145?ContentTypeID=1</link><pubDate>Tue, 21 May 2019 08:39:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e2fe23da-62fe-4f3b-9235-0efdd77173fb</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;I suggest look into LE secure connection,&amp;nbsp;t&lt;span&gt;his pairing procedure uses Elliptic Curve Diffie-Hellman cryptography and provide the highest security mode.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure connections with no keyboard and no display</title><link>https://devzone.nordicsemi.com/thread/188003?ContentTypeID=1</link><pubDate>Mon, 20 May 2019 14:31:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d11b4e9f-9903-4f8c-b10b-7ab00a32e30d</guid><dc:creator>awneil</dc:creator><description>[quote userid="64514" url="~/f/nordic-q-a/47518/secure-connections-with-no-keyboard-and-no-display"]&amp;quot;out of bounds&amp;quot; method[/quote]
&lt;p&gt;Note that the term is out of &lt;em&gt;band&lt;/em&gt; - not out of bounds.&lt;/p&gt;
&lt;p&gt;It refers to transferring information outside of the communication &amp;quot;band&amp;quot; - ie, in this case, not via BLE.&lt;/p&gt;
&lt;p&gt;So, yes - you could devise something based on QR codes.&lt;/p&gt;
&lt;p&gt;Do you not want to use NFC?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BTW&lt;/p&gt;
&lt;p&gt;The term &amp;quot;out-of-band&amp;quot; has its roots in telephony:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Signaling_(telecommunications)#In-band_and_out-of-band_signaling"&gt;https://en.wikipedia.org/wiki/Signaling_(telecommunications)#In-band_and_out-of-band_signaling&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Out-of-band_data"&gt;https://en.wikipedia.org/wiki/Out-of-band_data&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>