¿Cómo prevenir la suplantación de iBeacons?

Por lo que puedo decir, no hay nada que restrinja a cualquier desarrollador de la programación de su faro para utilizar un determinado UUID, mayor, menor o identificador.

En el caso de crear un iBeacon con un UUID de "foo", ¿qué evitaría que otro desarrollador de crear un beacon con el mismo ID y (de forma accidental o maliciosa) haga que mi aplicación muestre datos incorrectos?

¿He entendido mal cómo funcionan los iBeacons? Por favor, corrija si estoy equivocado.

2 Solutions collect form web for “¿Cómo prevenir la suplantación de iBeacons?”

Esto es absolutamente cierto. He falsificado los iBeacons de Apple Store (para probar este punto) y mis beacons han sido falsificados por la revista Make para la Consumer Electronics Show Scavenger Hunt.

Esto no es un defecto en absoluto. Sólo tiene que diseñar una aplicación que utilice iBeacons para que la suplantación sea relativamente intrascendente. Si diseñas tu aplicación para que no importa mucho, ¿a quién le importa?

Los mecanismos de seguridad específicos apropiados para contrarrestar esto dependen de la aplicación en cuestión, pero hay innumerables posibilidades.

Por ejemplo, para la cacería CES Scavenger, simplemente mantuvimos un registro de auditoría con marcas de tiempo para que sepamos si alguien encontró todos los objetivos de manera imposible rápidamente. Al final nadie hizo esto – nuestros participantes eran todos buenos deportes!

No se puede evitar la suplantación del paquete de anuncio porque no hay ninguna autoridad central que emite identificadores únicos universales (UUID). Los UUID se asignan arbitrariamente a un faro y no se garantiza que sean únicos.

Sin embargo, una vez que haya emparejado la computadora de mano con la baliza, la imagen es diferente. Puede programar un faro (o, más específicamente, un dispositivo similar a un faro) para generar información absolutamente única cuando está emparejada, como una contraseña de una sola vez o algún protocolo de enlace cifrado de clave privada entre su aplicación y el faro emparejado.

El flujo de proceso típico sería:

  1. El microteléfono detecta la emisión de ibeacon, lee UUID + Mayor / Menor.

  2. El teléfono lanza su aplicación (utilizando el evento didEnterRegion).

  3. Las solicitudes de su aplicación para emparejar con el beacon, le envía un comando para generar una respuesta cifrada.

  4. Su aplicación descifra la respuesta. Si tiene éxito, mostrar una cara feliz! Si falla, muestre una cara triste.

Avanzando, sospecho que la mayoría de los sistemas de balizas se implementarán de esta manera. A menos que y hasta que el estándar iBeacon se actualice para acomodar el cifrado, tendrá que ser un enfoque híbrido de ping + par.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.