<?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>pairing procedure &amp;quot;authentication requirement&amp;quot;</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/26853/pairing-procedure-authentication-requirement</link><description>Thank you for reading my question. 
 peripheral project :ble_app_hrs_rscs_relay，SDK14.1 ,S132 
 client project: another manufacturer&amp;#39;s soc 
 I set peripheral peer manager to MITM = 1, IO cap = BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY 
 client&amp;#39;s MITM = 0,</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 15 Nov 2017 17:03:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/26853/pairing-procedure-authentication-requirement" /><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105566?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 17:03:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a72a7cbc-7e28-4c67-8783-409f70f17f9e</guid><dc:creator>Stayhungry</dc:creator><description>&lt;p&gt;As you said, from pm_evt_handler&amp;#39;s p_evt parameter, I&amp;#39;m not even able to know who caused PM_EVT_CONN_SEC_SUCCEEDED event, perhaps caused by pairing request from client, or client access to a higher security attribute, although the latter server would send Insufficient Authentication to the client, but in pm_evt_handler of peripheral&amp;#39;s code i can not know this, and I would not be able to do a disconnect for the latter case because I do not know what is the current case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105570?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 15:49:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b774407-fce9-4a5b-aedb-58f00409206e</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;Yes.&lt;/p&gt;
&lt;p&gt;Yes. Insufficient Authentication will be received if the client tries to access and attribute with a higher security level requirement than the connection is currently in.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105571?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 15:37:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a4374963-e043-48dd-986c-87b5fc7c4d8d</guid><dc:creator>Stayhungry</dc:creator><description>&lt;p&gt;Thank you for your patience, thank you very much.&lt;/p&gt;
&lt;p&gt;According to my understanding: After the Central send pairing request, peripheral will get BLE_GAP_SEC_STATUS_SUCCESS, regardless of MITM, and will not initiate pairing failed, I guess this is what you want to let me know&lt;/p&gt;
&lt;p&gt;BLUETOOTH SPECIFICATION Version 5.0 | Vol 3, Part C page 2071&lt;/p&gt;
&lt;p&gt;&amp;quot;If an authenticated pairing is required but only an unauthenticated pairing has occurred and the link is currently encrypted, the service request shall be
rejected with the error code &amp;quot;Insufficient Authentication.&amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;But in the case of attribute permisson restrictions, which is another idea you mentioned, is it the same? That is, if an NO MITM&amp;#39;s encrypted connection, central access a Level 1 mode3 attribute, what happens? peripheral will also get BLE_GAP_SEC_STATUS_SUCCESS and softdevice send &amp;quot;Insufficient Authentication&amp;quot; to central? I feel so strange, it should be my understanding is not clear.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105567?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 15:06:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bcc04b43-79ed-4c32-a9f7-2597c94968a6</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;You got me wrong. You will always receive BLE_GAP_EVT_AUTH_STATUS on successful pairing. Then you can check the ble_gap_evt_auth_status_t struct that comes with this event. In it you will have sm1_levels. Which will tell you the security level achieved. The result will always be BLE_GAP_SEC_STATUS_SUCCESS if the pairing is successful, even if the pairing is Just Works.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105569?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 13:35:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:46c64bd9-c5fd-4c55-905a-127b7c6c3c74</guid><dc:creator>Stayhungry</dc:creator><description>&lt;p&gt;If I did not get it wrong, what you meant was: If I set an attribute to Level1 mode3, assuming that the connection to the attribute is Level1 mode2 (Just work), it will cause the softdevice send BLE_GAP_EVT_AUTH_STATUS event,
But what is the result? BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP or BLE_GAP_SEC_STATUS_AUTH_REQ? BLE_GAP_SEC_STATUS_SUCCESS?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105568?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 13:24:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a121768c-d55f-413c-bb1c-4865830d5688</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;That would be in the ble_gap_evt_auth_status_t struct, in sm1_levels, available when you get the  BLE_GAP_EVT_AUTH_STATUS event.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105572?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 11:57:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:656d399d-349f-4a70-94a2-a5697689139b</guid><dc:creator>Stayhungry</dc:creator><description>&lt;p&gt;Thank you for providing me with other ideas.&lt;/p&gt;
&lt;p&gt;still have a question:
&amp;quot;So if you set level 3, a pairing resulting in level 2 (Just Works) will not be sufficient, and you can disconnect it if you want to.&amp;quot;&lt;/p&gt;
&lt;p&gt;Where do I get the result of this decision? That is where I execute the disconnect operation in my code.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105565?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 11:07:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e487adac-1d4c-40b9-a4fe-24001dcdc141</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;I&amp;#39;m not sure what your goal with this, but there might be other ways to solve this, not using pairing failed.&lt;/p&gt;
&lt;p&gt;You can for example just disconnect the link if you don&amp;#39;t like the security level the link ends up in. See &lt;a href="https://devzone.nordicsemi.com/question/84957/protecting-write-characteristic-best-option/"&gt;this&lt;/a&gt; for some background information.&lt;/p&gt;
&lt;p&gt;Again, I&amp;#39;m not your sure what your goal is, but you can protect your characteristic values by setting the security level required to access them. So if you set level 3, a pairing resulting in level 2 (Just Works) will not be sufficient, and you can disconnect it if you want to.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105564?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 11:07:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e74dfd9-2795-4600-a7dc-4f7e397265bc</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;Give up Peer Manager? Do you mean to still use Peer Manager, but replying to the BLE_GAP_EVT_SEC_PARAMS_REQUEST directly yourself? Then you must at least be sure not to forward the BLE_GAP_EVT_SEC_PARAMS_REQUEST event to the Peer Manager, and still it might be complications, I&amp;#39;m not sure. Haven&amp;#39;t tested.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105563?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 10:08:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8e3ee724-f893-4fdf-b682-49475c7478ce</guid><dc:creator>Stayhungry</dc:creator><description>&lt;p&gt;Thank you very much for your reply.&lt;/p&gt;
&lt;p&gt;If I want to follow my BLUETOOTH SPECIFICATION Version 5.0 | Vol 3, Part H page 2346 to write my program.&lt;/p&gt;
&lt;p&gt;When IO cap is found insufficient Pairing Failed, then I can only give up peer manager, using the original BLE_GAP_EVT_SEC_PARAMS_REQUEST?&lt;/p&gt;
&lt;p&gt;Device manager to meet my needs? Or I can only write one to manage peer address, LTK, etc.?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105562?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 09:59:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1ff648bf-e2ee-4262-b436-a0ad72e80721</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;My understanding is that &amp;quot;sufficient security properties&amp;quot; is defined by the application.&lt;/p&gt;
&lt;p&gt;When a peripheral gets a pairing request (BLE_GAP_EVT_SEC_PARAMS_REQUEST) it can call:&lt;/p&gt;
&lt;p&gt;sd_ble_gap_sec_params_reply(conn_handle, BLE_GAP_SEC_STATUS_AUTH_REQ,...,...) if it doesn&amp;#39;t like the IO capabilities of the central. See &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___p_a_i_r_i_n_g___a_p_p___e_r_r_o_r___m_s_c.html?cp=2_3_1_1_0_2_1_3_10_2"&gt;this&lt;/a&gt; MSC.&lt;/p&gt;
&lt;p&gt;When a central gets a pairing response (BLE_GAP_EVT_SEC_PARAMS_REQUEST) it can call:&lt;/p&gt;
&lt;p&gt;sd_ble_gap_sec_params_reply(conn_handle, BLE_GAP_SEC_STATUS_AUTH_REQ,...,...) if it doesn&amp;#39;t like the IO capabilities of the peripheral. See &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v5.0.0/group___b_l_e___g_a_p___c_e_n_t_r_a_l___p_a_i_r_i_n_g___j_w___m_s_c.html?cp=2_3_1_1_0_2_1_3_5_2_3"&gt;this&lt;/a&gt; MSC.&lt;/p&gt;
&lt;p&gt;At first look it doesn&amp;#39;t seem like this is supported by the Peer Manager.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105560?ContentTypeID=1</link><pubDate>Mon, 13 Nov 2017 15:40:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e87df70e-4ed7-4b17-ac69-eb5f17458f51</guid><dc:creator>Stayhungry</dc:creator><description>&lt;p&gt;Sorry, I do not know what pcap file mean?Did you mean sniffer&amp;#39;s captured image?&lt;/p&gt;
&lt;p&gt;The reason why I am very confused because:&lt;/p&gt;
&lt;p&gt;If I make central&amp;#39;s MITM = 1, IO cap = BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY, peripheral&amp;#39;s MITM = 0, IO cap = BLE_GAP_IO_CAPS_NONE&lt;/p&gt;
&lt;p&gt;central will send Pairing Failed command with the error code &amp;quot;Authentication Requirements.&amp;quot; These are all the information I get from sniffer&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: pairing procedure "authentication requirement"</title><link>https://devzone.nordicsemi.com/thread/105561?ContentTypeID=1</link><pubDate>Mon, 13 Nov 2017 15:19:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d3179347-778e-4345-8325-735b2bae7a26</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;Can you post the pcap file as an attachment ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>