Seguridad de emparejamiento BLE

Soy nuevo en la tecnología BLE fuera de usarlo para Arduino (RFduino). Estoy tratando de hacerlo para que cada teléfono que puede ver el dispositivo no puede emparejarse con el RFduino. Lo que estoy confundido es que sé BLE tiene medidas de seguridad, pero ¿cómo voy a implementar estos.

Mirando a esta pregunta parece que se puede utilizar el addr MAC para la seguridad? https://stackoverflow.com/questions/22712632/pair-ble-device-with-android Así que supongo que lo que debo hacer es que el usuario introduzca el MAC correcto addr para el dispositivo y si no coincide con ellos pueden ' t conectar

¿Qué realmente no entiendo es cómo agregar una clave privada / pública de emparejamiento a la comunicación entera que asumo que es la mejor manera de la práctica de hacer esto? Cualquier ayuda sería apreciada.

BLE proporciona Integridad y Confidencialidad a su comunicación, pero no Autenticación. Esto significa que una vez que la conexión se establece, es muy difícil de hackear, pero usted tiene que asegurarse de que usted no está conectado a un usuario malintencionado!

La autenticación de clave privada pública sería un buen punto de partida. Es posible que desee que el RFDuino contenga la clave privada. Cuando intenta conectarse a él, firmará algo de una manera que sólo el propietario de clave privada podría firmar y puede verificar esto utilizando su clave pública. Ahora puede estar seguro de que está conectado con la persona adecuada.

La seguridad es una cosa muy difícil de implementar correctamente, sin embargo, por lo que es posible que desee mirar alrededor si alguien ya ha implementado una biblioteca como esta para Bluetooth.

  1. Android soporta BLE en la versión 4.3 superior.
  2. Para hacer la comunicación con Arduino necesita utilizar los servicios GATT y UUID.

El UUID predeterminado utilizado por android es " 0000180F-0000-1000-8000-00805f9b34fb ".

Proporcione su propio ID de UUID.

Para obtener más detalles útiles, visite este enlace: http://developer.android.com/reference/android/bluetooth/BluetoothGattService.html

  • BLE apoyo periférico Android-L ejemplo
  • Bluetooth LE Scan no funciona
  • BluetoothGatt writeCharacteristic devuelve false
  • Datos de BLE fuera de banda de Android
  • BluetoothLeScanner.startScan con Android 6.0 no detecta dispositivos
  • BluetoothGatt.writeCharacteristic () siempre devuelve false.
  • Android Bluetooth Scan para dispositivos clásicos y BTLE
  • Android 4.3: BLE: Comportamiento de filtrado de startLeScan ()
  • Android AOSP - Definición de intervalo de exploración y escanear ventana en código fuente android
  • Nodificación de la señal de la señal de Bluetooth
  • Android Bluetooth baja energía - iBeacon
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.