This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
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

ble_app_uart example with Device manager

Hi

I use proprietary service to transmit data between iOS and nRF51822. The example I referred to is below.

C:\Keil\ARM\Device\Nordic\nrf51822_v6.0.0.43681_Backup\Board\pca10001\s110\experimental\ble_app_uart

I need the data be encrypted with high security protection in case middle man can steal the data on the air. In this example, it seems transmitting raw data directly without any security protection.

  1. How can I modify the source code with AES ECB or CCM?
  2. How about device manager?? As far as I known, it manages bonding with multi-centrals. Does it already include AES encryption? If I add device manager in this example, is it feasible?
  3. If Device manger added in nRF51822, shall UART apps need to modify, too?

Edit: Format, please use the previewer when asking questions.

    1. In BLE 128-bit AES encryption is used. The central device sends a pairing request to the peripheral. The peripheral handles this and sends back a pairing response. Please see this.
    2. The device manager just stores the bond information, encryption keys and so on, so that you don't need to pair the devices on every connection.
    3. It depends, if you have certain events that needs to be handled in the app, it needs to be modified. We have an example that includes the device manager in ble_app_uart, please see this. This uses static passkey and doesn't require any changes to the app.

    It is important to remember that how (or when) you encrypt the link is as important as the strength of the encryption. If an attacker is able to sniff the pairing process, he can simply uses the same keys to decrypt the encrypted link.

Related