api rastreo coronavirus

Me he estado esperando un tiempo prudencial para preparar esta pieza, y es que el tema, como veremos, tiene su miga.

Por si andas perdido, te lo resumo.

¿Cómo funciona el sistema de rastreo de personas infectadas por coronavirus de Apple y Google?

Recientemente Apple y Google se han puesto de acuerdo para desarrollar juntos un sistema de rastreo global de personas infectadas de coronavirus.

El sistema funcionará, al menos en esta primera fase (mediados de mayo), mediante una app que PROACTIVAMENTE el usuario tiene que descargar en su dispositivo móvil, aunque ya se sabe que en la fase 2 del proyecto la API que gestiona este tipo de tracing vendrá directamente incluida en el sistema (Android e iOS), pudiendo el usuario entonces conceder o no permiso a X aplicación para que haga uso de ella.

Las dos tecnológicas están ultimando ya su API, que podrán usar únicamente desarrolladores con certificado gubernamental y sanitario para crear sus respectivas Apps que serán ofrecidas a la ciudadanía, y en algunos casos puede que sean hasta obligatorias de instalar.

Estas aplicaciones se basan en el paradigma de contact tracing, o rastreo de contactos, una de las medidas recomendadas por la OMS (EN) para la lucha contra brotes epidémicos.

Y el funcionamiento es el siguiente:

  1. La app estaría continuamente en segundo plano compartiendo el token ID del usuario con los que haya alrededor mediante bluetooth.
  2. Si un usuario es diagnosticado de COVID19, puede alertar al sistema de que así ha sido, haciéndolo de forma pública (sus contactos sabrán que él está infectado) o de forma privada.
  3. En el momento en el que un usuario alerta de que está infectado, y según cómo esté parametrizada la aplicación (algo que, recalco, depende de cada país), se avisaría mediante notificación o SMS (de nuevo depende del país) a TODOS los usuarios que han estado potencialmente expuestos al coronavirus, por supuesto sin dar a conocer la identidad de dicha persona (a no ser, como decía anteriormente, que el usuario expresamente prefiriera hacerlo y entonces solo a sus contactos de agenda con los que ha estado en contacto físico en los últimos días/horas).
app coronavirus contact tracing

¿Qué medidas de seguridad y privacidad se están tomando en este sistema de tracing?

La primera parada obvia es fruncir el ceño, ya que a fin de cuentas Google, una empresa de análisis de datos, está detrás del proyecto.

Pero fíjate, en este caso creo que no hay mucho de lo que preocuparse en cuanto a la privacidad/seguridad de la información, más allá de los intrínsecos a cualquier tratamiento de datos, y por varios motivos:

  • A la API solo podrán acceder una muy limitada lista de desarrolladores: Únicamente los gubernamentales y del sector sanitario, y únicamente con el fin de crear una app que tenga esta funcionalidad.
  • Los datos con los que se trabaja están anonimizados: Es más, tras las críticas iniciales, los chicos de Apple y Google se han puesto las pilas, y a lo que tendrá acceso el desarrollador (gobiernos y organizaciones sanitarias) es, en todo caso, a unos datos cifrados que incluyen listados de tokens (las claves que identifican al usuario en el sistema) generados aleatoriamente (la versión inicial de la API eran tokens creados a partir de datos identificativos del dispositivo, pero ahora no tienen correlación, y por ende no pueden a priori volverse identificativos).
  • El cifrado es el adecuado: En la nueva versión los metadatos de comunicación también van cifrados (importante para reducir las ínfulas de control gubernamental). Y el cifrado se ha cambiado por uno de tipo AES, que es un estándar considerado bastante seguro en la actualidad.
  • La gestión temporal: Este es otro tema del que se ha hablado poco y a mi me parece importantísimo. En la nueva versión sólo se registran los tiempos de exposición entre usuarios con un máximo de 30 minutos. Es decir, que el sistema, a lo sumo, puede saber que el token A (un usuario) ha estado cerca del token B (otro usuario) entre 0 minutos y 30 min. Saber que alguien ha estado más de media hora a nivel puramente epidemiológico no aporta mayor valor, pero sí podría tenerlo a nivel de un hipotético sistema de control de la ciudadanía (se puede saber entonces que una persona vive con otra, o que suelen estar juntas, lo que establece algún tipo de relación entre ellas). Y dos apuntes más:
    • La información se guardará un máximo de 14 días (más no tiene sentido para el COVID19).
    • Y será cada aplicación la encargada de decidir qué límite temporal tiene en cuenta para decidir si potencialmente has estado expuesto (un país puede decidir que por ejemplo todos los contactos superiores a 5 minutos sean alertados, y otro país considerar que todos los superiores a 10 minutos deben ser alertados).
  • El sistema funciona mientras el usuario quiera que lo haga: Por último, hay que recordar que al menos hasta el momento la idea es ofrecer esto mediante una app de terceros. Una app que tú puedes instalar o no en tu dispositivo (al menos mientras no se obligue gubernamentalmente), y que tiene que incluir un botón de switch off que active o desactive el tracing. Más adelante (en esa fase 2 que se espera llegue dentro de varios meses), esta funcionalidad estará incluida en el propio sistema operativo, y el usuario la podrá gestionar desde Ajustes. Sin olvidar que es deber del usuario informar si al final ha contraído el coronavirus a la aplicación. Hasta el momento no existe una manera de que automáticamente la aplicación reciba la información del sistema sanitario nacional.
rastreo coronavirus españa

El problema de las distancias

Aquí entra ya mi reflexión crítica, puesto que al sistema le veo dos problemáticas importantes.

Por un lado está el que yo llamo «el problema de las distancias», y es que dependiendo del dispositivo que tengamos y las condiciones donde se de ese contacto, la gestión de las distancias del bluetooth puede variar significativamente.

Para que nos entendamos, la tecnología bluetooth es capaz de ofrecer información de más o menos a cuánta distancia estaba el dispositivo fuente del dispositivo objetivo en función de la intensidad de la señal emitida.

A mayor cantidad de potencia, se entiende que hay mayor proximidad, y viceversa.

El problema es que la falta de una potencia superior puede deberse también a otros criterios. Las paredes, cuerpos humanos, la proximidad de varios teléfonos a la vez, o incluso el llevar el teléfono en el bosillo en vertical o en horizontal, pueden complicar las mediciones. 

Lo comentaba el antiguo coordinador nacional de Tecnología de Información Sanitaria del Departamento de Sanidad y Seguridad social de EEUU Farzad Mostashari en una entrevista reciente para The Verge (EN):

«Si estoy en un espacio muy amplio y abierto, mi Bluetooth puede conectarse con el de otra persona, incluso aunque esté a dos metros de distancia. Pero podríamos estar cada uno de un lado de una pared en un piso, y nuestro Bluetooth se conectaría como si tuviéramos un encuentro cercano. Podríamos estar en otras plantas del mismo edificio y también se conectaría. Alguien podría pasar a mi lado en bicicleta al aire libre y nuestros Bluetooth se podrían conectar».

Y ponía varios ejemplos:

«Si dos personas están de pie espalda contra espalda, literalmente tocándose las espaldas, deberían representar un caso de contacto. Pero si sujetan sus teléfonos de forma que las señales tengan que viajar a través de sus cuerpos, la intensidad podría resultar débil y malinterpretarse como distancia. Por otro lado, si estamos separados por paredes muy finas de un piso, eso podría interpretarse como un caso de contacto cuando definitivamente no lo es. Todos los objetos y superficies a nuestro alrededor pueden influir en la señal de una forma u otra, e incluso el software puede añadir confusión, por ejemplo, si uno usa Android y el otro, iPhone.»

Así que junta en el mismo saco dispositivos con un chip de bluetooth más o menos potente, con todas las particularidades en la gestión de los datos que haga cada sistema operativo, y los infinitos condicionantes que pueden surgir en un entorno real (la calle, un restaurante…), y tienes el caldo de cultivo perfecto para el caos.

¿Te preocupa tu Seguridad y Privacidad Online?

He diseñado este curso online en 8 módulos en el que cubriremos todos los fundamentos de la ciberseguridad, ayudándote paso por paso a configurar la seguridad y privacidad de tus cuentas digitales y de tus dispositivos.

El problema de los falsos positivos/negativos

De nuevo no es algo que un servidor se saque de la manga.

Scheinier lo comentaba de pasada en un artículo reciente (EN) en su blog.

El sistema tal y como está pensado tiene una tasa de acierto condicionada a un porcentaje de falsos positivos y falsos negativos alarmante:

  • Falsos positivos: Cada aplicación tendrá una definición diferente de un contacto (lo que explicaba antes). Digamos que es menos de seis pies durante más de diez minutos. La tasa de falsos positivos es el porcentaje de contactos que no resultan en transmisiones. Y esto ocurre por varias razones.
    • Uno, los sistemas de ubicación y proximidad de la aplicación, basados ​​en GPS y Bluetooth, simplemente no son lo suficientemente precisos como para capturar cada contacto.
    • Dos, la aplicación no se dará cuenta de ninguna circunstancia atenuante, como paredes o particiones.
    • Y tres, no todos los contactos resultan en transmisión; la enfermedad tiene una tasa de transmisión inferior al 100% (por razones obvias).
  • Falsos negativos: esta es la velocidad con la que la aplicación no puede registrar un contacto cuando se produce una infección. Y esto también se debe a varias razones.
    • Uno, errores en la ubicación de la aplicación y los sistemas de proximidad.
    • Dos, las transmisiones que se producen de personas que no tienen la aplicación (incluso Singapur no obtuvo una tasa de adopción superior al 20% para la aplicación).
    • Y tres, no todas las transmisiones son el resultado de ese contacto definido con precisión: el virus a veces viaja más lejos.

Que no voy a ser yo quien eche por tierra la propuesta de Google y Apple, pero es que le veo muchos flecos que para colmo son difícilmente parcheables.

Por que no, el debate «cuñado» aquí no es si debemos anteponer la vida de nuestros familiares a la privacidad y seguridad (disclaimer: joder, por supuesto), sino si esta exposición de privacidad/seguridad va a ofrecer realmente una mejora sustancial en la esperanza de vida de nuestros allegados.

Que en todo esto hablamos de probabilidades, pero teniendo en cuenta el conocimiento actual, quería dejar como reflexión una pregunta:

¿De qué nos va a servir una aplicación que no siempre va a poder alertarnos de que potencialmente estamos infectados (falsos negativos), y que para colmo cuando nos alerte potencialmente puede estar equivocada (falsos positivos)?

Si una app como esta va a marcar la diferencia. Si el riesgo, a fin de cuentas, merece la pena.

________

¿Quieres conocer cuáles son mis dispositivos de trabajo y juego preferidos?

Revisa mi setup de trabajo, viaje y juego (ES).

Y si te gustaría ver más de estos análisis por aquí. Si el contenido que realizo te sirve en tu día a día, piénsate si merece la pena invitarme a lo que vale un café, aunque sea digitalmente.