This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

I'd like to ask you about BLE Secure Mode 1 Level 4.

Hi,

What we are currently using is nRF52832, the central product is SDK16, and the peripheral product is SDK13.

Does SDK17 only support BLE Secure Mode 1 Level 4?

Are there any directions supported by SDK13 and SDK16?

I need your help.

Parents
  • Security Mode 1 Level 4 is described as follows: "LESC MITM protected encrypted link using a 128-bit strength encryption key required." So MITM, LESC, and a 128-bit encryption key is required. So if the MITM and LESC are set to 1, and you have set an encryption key, that means you are in SEC MODE 1 Level 4. You can also do something like what some later SDK versions do, where the BLE_GAP_EVT_CONN_SEC_UPDATE reads the security mode and level and prints it out using NRF_LOG_INFO. This is usually done in ble_evt_handler() with the following code.

            case BLE_GAP_EVT_CONN_SEC_UPDATE:
                NRF_LOG_INFO("BLE_GAP_EVT_CONN_SEC_UPDATE");
                NRF_LOG_INFO("Security mode: %u. Security level: %u",
                             p_ble_evt->evt.gap_evt.params.conn_sec_update.conn_sec.sec_mode.sm,
                             p_ble_evt->evt.gap_evt.params.conn_sec_update.conn_sec.sec_mode.lv);
                break;

    Best regards,

    Simon

Reply
  • Security Mode 1 Level 4 is described as follows: "LESC MITM protected encrypted link using a 128-bit strength encryption key required." So MITM, LESC, and a 128-bit encryption key is required. So if the MITM and LESC are set to 1, and you have set an encryption key, that means you are in SEC MODE 1 Level 4. You can also do something like what some later SDK versions do, where the BLE_GAP_EVT_CONN_SEC_UPDATE reads the security mode and level and prints it out using NRF_LOG_INFO. This is usually done in ble_evt_handler() with the following code.

            case BLE_GAP_EVT_CONN_SEC_UPDATE:
                NRF_LOG_INFO("BLE_GAP_EVT_CONN_SEC_UPDATE");
                NRF_LOG_INFO("Security mode: %u. Security level: %u",
                             p_ble_evt->evt.gap_evt.params.conn_sec_update.conn_sec.sec_mode.sm,
                             p_ble_evt->evt.gap_evt.params.conn_sec_update.conn_sec.sec_mode.lv);
                break;

    Best regards,

    Simon

Children
Related