nRF5 SDK is not maintained anymore
More Info: Consider nRF Connect SDK for new designs

Peer Manager Library – OOB LE Secure Connection CSRK key distribution

Hello,

I have a question about “Peer Manager” BLE library.  

Based on documentation & usage example (https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/lib_pm_usage.html) the pm_sec_params_set is used in order to configure how the Peer Manager behaves.

I am trying an OOB LE Secure connection with CSRK key distribution set on security configuration parameters (please see below).

// ........ 
sec_param.bond = true;
sec_param.mitm = true;
sec_param.lesc = 1;
sec_param.keypress = 0;
sec_param.io_caps = BLE_GAP_IO_CAPS_DISPLAY_YESNO;
sec_param.oob = true;
sec_param.min_key_size = 7;
sec_param.max_key_size = 16;
sec_param.kdist_own.enc = 0;
sec_param.kdist_own.id = 1;
sec_param.kdist_own.sign = 1; //!!!!!!!!!!
sec_param.kdist_peer.enc = 0; 
sec_param.kdist_peer.id = 1;
sec_param.kdist_peer.sign = 1; //!!!!!!!!!!
// .........

After a short analysis in the Peer Manager Library I saw that signing property is not supported (pm_sec_params_set returns 7 ).

// pm_sec_params_set(...) -> sm_sec_params_set(...) -> sec_params_verify(...)

static bool sec_params_verify(ble_gap_sec_params_t * p_sec_params)
{
    // NULL check.
    if (p_sec_params == NULL)
    {
        return false;
    }

    ...
    ...

    // Signing is not supported.
    if (p_sec_params->kdist_own.sign || p_sec_params->kdist_peer.sign)
    {
        return false;
    }

    ...
    ...

}

I am wonder if you know something about this limitation.

Based on BLE Core spec. Vol 3, Part H, Section 2.4.3.2 and Vol 3, Part H, Section 3.6.1 when using LE Secure Connections the CSRK may be distributed.

Thank you in advance.

Adrian

Parents Reply Children
No Data
Related