cómo funciona, qué está bien, qué está mal y qué falta

Radar COVID lanzó ayer su código en España. Según lo previsto, la Secretaría de Estado de Digitalización e Inteligencia Artificial (SEDIA) publicado en GitHub el código de su aplicación de seguimiento. Queríamos conocer en profundidad los detalles técnicos de la aplicación, analizando en detalle este código publicado.

Linuxct, ingeniero de software, nos ha ayudado a comprender y tener una visión más completa del código publicado en GitHub, así que analizar en detalle el funcionamiento de la aplicación.

Entendiendo el código COVID de Radar, ¿cómo funciona la aplicación?

Para poder analizar a fondo el código hemos contado con la ayuda de Linuxct, ingeniero de software y colaborador habitual en Desarrolladores XDA. Después de hablar con él, podemos detallar la información sobre lo que se ha publicado en GitHub, qué está bien, qué está mal y qué falta.
Este análisis se ha realizado en la versión de Android, desarrollado en Kotlin, uno de los lenguajes de programación más populares.

¿Cómo funciona Radar COVID desde un punto de vista técnico?

  • Tan pronto como abrimos la aplicación por primera vez, llama al servidor solicitando la emisión de un simbólico de usuario. Estas simbólico Permiten identificar el terminal (no la persona) y son autogenerados por el servidor, no estando vinculados a una persona, sino a un dispositivo. Es sobre una medida de seguridad ampliamente utilizada.

Radar COVID utiliza DP3T como kit de desarrollo, un protocolo abierto que se utiliza en aplicaciones de rastreo de contactos

  • Cuando la aplicación obtiene este token, lo utiliza tanto para solicitar al servidor los datos de los textos que muestra la aplicación en la pantalla de bienvenida (que dependerá del idioma que elijamos) como para solicitar los datos de configuración de DP3T al servidor. El llamado DP3T (Seguimiento de proximidad descentralizado que preserva la privacidad) es el SDK (kit de desarrollo de software) que se utiliza para desarrollar las aplicaciones de seguimiento, es decir, un protocolo de desarrollo compartido por estas aplicaciones y que ya era de código abierto.

  • Cuando se inicializa DP3T, es el encargado de pedirle al usuario que active Bluetooth y le dé permiso a la aplicación para conectarse al El sistema de notificación de Google para la exposición a COVID, integrado en el propio sistema operativo.

En otras palabras, la aplicación identifica al usuario con un simbólico, solicita los datos de configuración y posteriormente Nos pide que le demos permisos para conectarnos a Bluetooth y al sistema de notificaciones de Google..

Luego de sincronizar los datos y refrescarse, la app Radar Covid puede mostrar en la pantalla de inicio si estamos con una exposición baja o con un alto riesgo de exposición

Cómo explicamos cuando se lanza la aplicación, Radar COVID enviar notificaciones a los usuarios sobre posibles contactos positivos, siempre que los usuarios con COVID hayan denunciado el caso a la autoridad sanitaria correspondiente a través del código correspondiente que esta proporcione.

Desde un punto de vista técnico, la aplicación marca ‘alto riesgo de exposición’ después de sincronizar datos de DP3T, comenzando a mostrar pautas y tiempos de confinamiento necesarios en función de los datos obtenidos del servidor.

Notificación

¿Y los códigos que nos dan para denunciar lo positivo? Cuando la autoridad sanitaria nos da el código de 12 dígitos, Lo ingresamos en la aplicación y esta información se envía a un servidor (la información solo sale de nuestro dispositivo para enviar el código).

De este servidor el número de PCR se comprueba en la base de datos y si es positivo. Después de la verificación, los datos se envían de vuelta a la aplicación y nos muestra el alto riesgo de exposición mencionado anteriormente. Debe tenerse en cuenta que cuando informa que su PCR es positivo, El identificador no se envía (el token del que hablamos anteriormente) por lo que un número de PCR no se puede vincular a un dispositivo.

¿Qué pasa con los permisos de la aplicación?

Permisos

Uno de los puntos que más preocupa a los usuarios es cómo se encuentran la privacidad y los permisos en Radar COVID. Como explica el experto, la aplicación utiliza los permisos adecuados y necesarios para realizar sus funciones.

  • android.permission.INTERNET: permite la comunicación con DP3T y el backend del servidor.
  • android.permission.ACCESS_ NETWORK _STATE: permite que la aplicación sepa si el dispositivo está conectado a Internet.
  • android.permission.BLUETOOTH: utilizado para comunicarse entre dispositivos a través de DP3T
  • android.permission.REQUEST_ IGNORE _BATTERY _OPTIMIZATIONS– Permitir que la aplicación se ejecute en cualquier momento en segundo plano, permitiendo que las sincronizaciones entre la aplicación y el servidor se produzcan en los momentos adecuados.

La aplicación no accede a los permisos de ubicación, teléfono o contactos del usuario, por lo que no podrá ser identificado de ninguna forma. Acerca de Por qué Covid Radar no funciona sin GPS activo en Android, se debe a la tecnología Escaneo de Bluetooth El sistema operativo de Google, que requiere una ubicación activa para rastrear a través de Bluetooth.

Todo sobre Radar COVID y privacidad: que permisos requiere y como funcionan

Qué «sale mal» en el código publicado de Radar COVID

Radar Covid Europa

Después de lanzar el código COVID de Radar ha habido dos críticas principales. El primero es que el historial de desarrollo de la aplicación no se ha publicado, es decir, el histórico con todos los datos y gestiones que se han ido dando desde el inicio de su desarrollo.

Radar Covid tiene dos claros puntos débiles en este momento: no se ha publicado el historial de la aplicación con el progreso completo y, por otro lado, hay partes del código que difieren entre la versión de GitHub y la versión de Android

El hecho de que no haya historial de la aplicación significa que solo tenemos la foto actual del código, la última versión de la aplicación. No sabemos cómo se ha construido ni las decisiones que se han tomado. Respecto a esta historia, solicitada por más de 200 académicos en un «manifiesto a favor de la transparencia en los desarrollos de software público»Linuxct considera que va de la mano de discrepancias en el código, el otro punto criticado en Radar Covid.

Tenga en cuenta que lo que sucedió con las discrepancias de código entre la versión de Google Play y la versión que lanzaron a GitHub se resolvería si publicaran el historial de GitHub, para saber realmente qué estaban haciendo y por qué. funcionalidades que ahora han desaparecido del código fuente

Imagen 2020 09 10 11 47 58 Los puntos finales no están presentes en el código subido a GitHub

Pero, ¿cuáles son estas discrepancias? Específico, hay una lista más extensa de puntos finales en la versión de Google Play, servicios internos que no existen en el código de GitHub y código detectado que no está presente en la versión de GitHub. En cuanto a los endpoints, son aquellas URL a las que la aplicación realiza llamadas para interactuar con el servidor. Por otro lado, hay detalles curiosos, como ese La versión de Android usa código para detectar root (que es bastante obsoleto ya que se basa en el antiguo SuperSU y no en Magisk). Este código no está en la versión cargada en GitHub.

Las discrepancias entre la versión de Android y la carga a GitHub se pueden explicar si la aplicación se actualiza con el código actual.

¿Cómo se puede explicar esto? Con una actualización a la versión actual de Covid Radar para Android, que incluye las líneas de código que se ven en la versión de GitHub, según explicó el experto.

Mi forma de entenderlo es que en algún momento actualizarán la versión de Google Play con el código que han subido a GitHub y que este código desaparece. Lo veo como un «mal menor» pero «bueno saberlo» …

El resumen que podemos conseguir con toda esta información es que, aunque la aplicación cumple con lo que promete, la aplicación publicada en GitHub no es exactamente la misma que en Android. Como explica Linuxct, «esto puede deberse a que Google está pendiente de aprobar una posible actualización de carga de código a Play Store y por esta razón las versiones difieren». Por otra parte, No hay rastro del historial de la aplicación, pero una foto actual de la última versión.

A pesar de esto, la aplicación ha demostrado estar seguro, no exponer la privacidad de los usuarios, por lo que cualquier usuario que quiera instalarlo en su teléfono puede hacerlo con la tranquilidad de que sus datos están seguros.

Es revisión completa del código se puede leer en el GitHub de Linuxct, en el que la información de este artículo se desarrolla en términos más específicos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *