Compare commits

...

2 Commits

Author SHA1 Message Date
jh.chun c72349cf13 NUS characteristic: MITM 인증 완료된 연결만 접근 가능하도록 수정
- SEC_OPEN -> SEC_MITM
- 기존에는 SoftDevice 레벨에서 인증 전 write를 차단하지 않음
2026-04-21 14:08:57 +09:00
jh.chun a0aa180ef1 DFU characteristic: MITM 인증 완료된 연결만 접근 가능하도록 수정
- SEC_OPEN -> SEC_MITM
- 기존에는 페어링 완료 전에도 DFU characteristic write 가능, BLE SMP 타임아웃(30초) 전에 wirte하면 부트로더로 재부팅되어 인증 없이 DFU 모드 진입 가능했음
2026-04-21 14:08:02 +09:00
2 changed files with 8 additions and 8 deletions
@@ -216,9 +216,9 @@ uint32_t ble_dfu_buttonless_char_add(ble_dfu_buttonless_t * p_dfu)
add_char_params.is_var_len = true; add_char_params.is_var_len = true;
add_char_params.max_len = BLE_GATT_ATT_MTU_DEFAULT; add_char_params.max_len = BLE_GATT_ATT_MTU_DEFAULT;
add_char_params.cccd_write_access = SEC_OPEN; add_char_params.cccd_write_access = SEC_MITM;
add_char_params.write_access = SEC_OPEN; add_char_params.write_access = SEC_MITM;
add_char_params.read_access = SEC_OPEN; add_char_params.read_access = SEC_MITM;
return characteristic_add(p_dfu->service_handle, &add_char_params, &p_dfu->control_point_char); return characteristic_add(p_dfu->service_handle, &add_char_params, &p_dfu->control_point_char);
} }
@@ -283,8 +283,8 @@ uint32_t ble_nus_init(ble_nus_t * p_nus, ble_nus_init_t const * p_nus_init)
add_char_params.char_props.write = 1; add_char_params.char_props.write = 1;
add_char_params.char_props.write_wo_resp = 1; add_char_params.char_props.write_wo_resp = 1;
add_char_params.read_access = SEC_OPEN; add_char_params.read_access = SEC_MITM;
add_char_params.write_access = SEC_OPEN; add_char_params.write_access = SEC_MITM;
err_code = characteristic_add(p_nus->service_handle, &add_char_params, &p_nus->rx_handles); err_code = characteristic_add(p_nus->service_handle, &add_char_params, &p_nus->rx_handles);
if (err_code != NRF_SUCCESS) if (err_code != NRF_SUCCESS)
@@ -302,9 +302,9 @@ uint32_t ble_nus_init(ble_nus_t * p_nus, ble_nus_init_t const * p_nus_init)
add_char_params.is_var_len = true; add_char_params.is_var_len = true;
add_char_params.char_props.notify = 1; add_char_params.char_props.notify = 1;
add_char_params.read_access = SEC_OPEN; add_char_params.read_access = SEC_MITM;
add_char_params.write_access = SEC_OPEN; add_char_params.write_access = SEC_MITM;
add_char_params.cccd_write_access = SEC_OPEN; add_char_params.cccd_write_access = SEC_MITM;
return characteristic_add(p_nus->service_handle, &add_char_params, &p_nus->tx_handles); return characteristic_add(p_nus->service_handle, &add_char_params, &p_nus->tx_handles);
/**@snippet [Adding proprietary characteristic to the SoftDevice] */ /**@snippet [Adding proprietary characteristic to the SoftDevice] */