Articulo de referencia

Protocolo TCN

{{Cite web|url=https://www.covid-watch.org/|title=Covid Watch|date=2020-02-19|website=Covid Watch|language=en|access-date=2020-06-02|archive-date=2020-08-06|archive-url=https://...

El Protocolo de Números de Contacto Temporales , o Protocolo TCN , es un protocolo de alerta de exposición anónimo , descentralizado y de código abierto desarrollado por Covid Watch [ 1 ] en respuesta a la pandemia de COVID-19 . [ 5 ] [ 6 ] [ 7 ] [ 8 ] El equipo de Covid Watch, que comenzó como una colaboración de investigación independiente entre la Universidad de Stanford y la Universidad de Waterloo, fue el primero en el mundo en publicar un libro blanco , [ 9 ] desarrollar, [ 3 ] y de código abierto [ 10 ] tecnología de alerta de exposición Bluetooth totalmente anónima en colaboración con CoEpi [ 2 ] después de escribir una entrada de blog [ 11 ] sobre el tema a principios de marzo.

El Protocolo TCN de Covid Watch recibió una importante cobertura mediática [ 12 ] y fue seguido por protocolos descentralizados similares a principios de abril de 2020, como DP-3T , PACT [ 13 ] y el marco de notificación de exposición de Google/Apple . Covid Watch ayudó entonces a otros grupos como la Coalición TCN y MIT SafePaths [ 14 ] a implementar el Protocolo TCN dentro de sus proyectos de código abierto para impulsar el desarrollo de tecnología descentralizada y fomentar la interoperabilidad global de las aplicaciones de rastreo de contactos y alerta de exposición, un aspecto clave para lograr una adopción generalizada. [ 15 ] Los voluntarios y el personal de la organización sin fines de lucro Covid Watch también crearon una aplicación móvil completamente de código abierto para enviar alertas de exposición anónimas, primero utilizando el Protocolo TCN [ 16 ] y luego utilizando el muy similar Marco de Notificación de Exposición (ENF) de Google/Apple. [ 17 ] [ 18 ]

El protocolo, al igual que BlueTrace y el proyecto de rastreo de contactos de Google/Apple , utiliza Bluetooth Low Energy para rastrear y registrar encuentros con otros usuarios. [ 19 ] [ 20 ] [ 21 ] La principal diferencia entre TCN y protocolos como BlueTrace radica en que el servidor central de informes nunca tiene acceso a los registros de contactos ni es responsable de procesarlos ni de informar a los clientes sobre dichos contactos. [ 22 ] [ 23 ] Dado que los registros de contactos nunca se transmiten a terceros, ofrece importantes ventajas en cuanto a privacidad en comparación con enfoques como el utilizado en BlueTrace. [ 24 ] [ 25 ] [ 26 ] Sin embargo, este enfoque, por su propia naturaleza, no permite la intervención humana en la notificación, lo que podría generar falsos positivos si los informes no son verificados por las agencias de salud pública. [ 19 ] : p. 6

El protocolo TCN se hizo famoso por ser uno de los primeros protocolos de rastreo de contactos digitales ampliamente difundidos [ 15 ] [ 27 ] [ 28 ] junto con BlueTrace, [ 29 ] el marco de Notificación de Exposición y el proyecto Pan-European Privacy-Preserving Proximity Tracing (PEPP-PT). [ 30 ] [ 31 ] También destacó por su incorporación de la tecnología blockchain , [ 32 ] y su influencia sobre el proyecto de Google/Apple. [ 33 ] [ 20 ] [ 34 ] [ 35 ] [ 36 ]

Descripción general

El protocolo TCN funciona a partir de números de contacto temporales (TCN), identificadores semialeatorios derivados de una semilla. [ 37 ] Cuando dos clientes se encuentran, se genera un TCN único, se intercambia y se almacena localmente en un registro de contactos. [ 38 ] Luego, una vez que un usuario da positivo en la prueba de infección, se envía un informe a un servidor central. Cada cliente en la red recopila los informes del servidor y verifica de forma independiente sus registros de contactos locales en busca de un TCN contenido en el informe. Si se encuentra un TCN coincidente, el usuario ha estado en contacto cercano con un paciente infectado y el cliente le advierte. Dado que cada dispositivo verifica localmente los registros de contactos, y por lo tanto estos nunca se transmiten a terceros, el servidor central de informes no puede determinar por sí mismo la identidad ni el registro de contactos de ningún cliente en la red. Esto contrasta con protocolos de la competencia como BlueTrace, donde el servidor central de informes recibe y procesa los registros de contactos de los clientes. [ 39 ]

Números de contacto temporales

Todo el protocolo se basa en el principio de los números de contacto temporales (TCN), un identificador único y anónimo de 128 bits generado de forma determinista a partir de un valor semilla en el dispositivo del cliente. Los TCN se utilizan para identificar a las personas con las que un usuario ha estado en contacto, y la semilla se utiliza para informar de forma concisa sobre la infección a un servidor central de informes. La autenticidad de los informes TCN se verifica mediante una clave secreta que solo posee el cliente.

Generación

Para generar un TCN, primero se crean una clave de autorización de informe (RAK) y una clave de verificación de informe (RVK) como claves de firma y verificación de un esquema de firma (par RAK-RVK). En la implementación de referencia, este par se crea utilizando el esquema de firma Ed25519 . [ 40 ] : línea 13 Luego, utilizando la RAK, se genera una clave de contacto temporal inicial (TCK) mediante el algoritmotdok0=H_tdok(rak){\displaystyle tck_{0}=H\_tck(rak)}, dóndeH_tdok(){\displaystyle H\_tck()}es la función hash SHA-256 comoH_tdok(s)=SHA256(por H_TCK'||s){\displaystyle H\_tck(s)=SHA256({\text{b'H}}\_{\text{TCK'}}||s)}Este TCK no se utiliza para generar ningún TCN, sino que se utiliza en el siguiente TCK; donde todos los TCK futuros se calculan utilizando el algoritmo.tdoki=H_tdok(rvk||tdoki1){\displaystyle tck_{i}=H\_tck(rvk||tck_{i-1})}A continuación, se genera un TCN de 128 bits a partir de un TCK dado utilizando el algoritmo.tdonortei>0=H_tdonorte(lmi_16(i)||tdoki){\displaystyle tcn_{i>0}=H\_tcn(le\_u16(i)||tck_{i})}, dónde lmi_16(){\displaystyle le\_u16()}formatea un número proporcionado como un entero sin signo de 2 bytes little endian , [ 41 ] yH_tdonorte(){\displaystyle H\_tcn()}es la función hash SHA-256 comoH_tdonorte(s)=SHA256(por H_TCN'||s)[0:128]{\displaystyle H\_tcn(s)=SHA256({\text{b'H}}\_{\text{TCN'}}||s)[0:128]}El siguiente diagrama muestra el proceso de derivación clave:

Los TCN son únicos para cada interacción con el dispositivo, y los pares RAK-RVK se alternan a intervalos regulares para permitir que un cliente informe solo sobre períodos de contacto específicos.

Informes

Cuando un cliente desea presentar un informe para los índices TCNs>0{\displaystyle s>0}ami{\displaystyle e}, estructura el informe comormipagort=rvk||tdoks1||lmi_16(s)||lmi_16(mi)||metromimetroo{\displaystyle report=rvk||tck_{s-1}||le\_u16(s)||le\_u16(e)||memo}. Luego se calcula una firma utilizando el RAK y se transmite al servidor comos_rmipagort=rmipagort||sigramo{\displaystyle s\_report=report||sig}.

Debido a que cualquier TCK dado solo puede usarse para derivar TCN indexados iguales o superiores, al enviartdoks1{\displaystyle tck_{s-1}}ningún encuentro previotdonortes1{\displaystyle tcn_{s-1}}se pueden calcular. Sin embargo, no hay límite superior para los encuentros calculados usando el mismo par RAK-RVK, razón por la cual se repiten con frecuencia. Para evitar que los clientes calculen TCN no utilizados,mi{\displaystyle e}indica el último índice TCN generado con el RVK dado. [ 42 ] : líneas. 49–61 Además, dado que el RVK se utiliza para calcular un TCK, ytdoks1{\displaystyle tck_{s-1}}Se proporciona, no se pueden derivar TCN válidos en el período de informe a partir de un informe ilegítimo. El único TCN correcto que se puede calcular a partir de un RVK que no coincide ytdoks1{\displaystyle tck_{s-1}}estdonortes1{\displaystyle tcn_{s-1}}, el TCN antes del inicio del período de informe.

Una vez recibido el informe, los clientes recalculan individualmente los TCK y TCN para un período determinado utilizando los algoritmos originales:tdoks=H_tdok(rvk||tdoks1)tdonortes=H_tdonorte(lmi_16(s)||tdoks)tdoks+1=H_tdok(rvk||tdoks)tdonortes+1=H_tdonorte(lmi_16(s+1)||tdoks+1)...tdokmi=H_tdok(rvk||tdokmi1)tdonortemi=H_tdonorte(lmi_16(mi)||tdokmi){\displaystyle {\begin{array}{lcr}tck_{s}=H\_tck(rvk||tck_{s-1})\\tcn_{s}=H\_tcn(le\_u16(s)||tck_{s})\\tck_{s+1}=H\_tck(rvk||tck_{s})\\tcn_ {s+1}=H\_tcn(le\_u16(s+1)||tck_{s+1})\\...\\tck_{e}=H\_tck(rvk||tck_{e-1})\\tcn_{e}=H\_tcn(le\_u16(e)||tck_{e})\end{array}}}Los dispositivos cliente utilizan esta función para comprobar sus registros de contactos locales en busca de posibles encuentros con el paciente infectado, pero tiene la doble ventaja de verificar los informes, ya que los informes falsos nunca producirán TCN coincidentes.

Memorándum

En la estructura del informe, el memo es un espacio para mensajes de formato libre que difieren entre las implementaciones de TCN. La sección tiene entre 2 y 257 bytes y se compone de una etiqueta que identifica la implementación específica, así como un par de datos y longitud de datos. Tiene el formato de metromimetroo=tagramo||lminorte(data)||data{\displaystyle memo=etiqueta||len(datos)||datos}Los datos están estandarizados para diferentes etiquetas y pueden ser los siguientes:

Especificaciones técnicas

El protocolo se divide en dos responsabilidades: el encuentro entre dos dispositivos que ejecutan aplicaciones TCN y la notificación de posibles infecciones a los usuarios que hayan estado en contacto con un paciente. Para los fines de esta especificación, estas áreas se denominan protocolo de enlace y notificación de infecciones . El protocolo de enlace se ejecuta mediante Bluetooth LE y define cómo dos dispositivos reconocen la presencia del otro. La notificación de infecciones se basa en HTTPS y define cómo se distribuyen las notificaciones de infección entre los clientes.

Apretón de manos de encuentro

Cuando dos dispositivos se encuentran dentro del alcance uno del otro, intercambian un handshake que contiene TCN. Para lograr esto, el handshake de encuentro opera en dos modos (ambos con dos submodos), orientado a la difusión y orientado a la conexión. El modo orientado a la difusión opera usando los modos emisor y observador, mientras que el modo orientado a la conexión opera usando periférico y central. Los dos modos se utilizan para sortear ciertas limitaciones del dispositivo, particularmente con respecto a las restricciones de iOS vigentes antes de la versión 13.4. [ 43 ] En ambos modos, el protocolo se identifica con el UUID0xC019 de 16 bits .

En el modo de difusión, un emisor anuncia un TCN de 16 bytes utilizando el campo de datos de servicio de los datos de anuncio. El observador lee el TCN de este campo. En el modo orientado a la conexión, el periférico anuncia mediante el UUID. El servicio expone un paquete de lectura y escritura para compartir TCN. Tras compartir un TCN, el dispositivo central se desconecta del periférico.

Notificación de infecciones

Cuando un usuario da positivo en la prueba de infección, sube un informe firmado a un servidor central, lo que permite calcular sus contactos de los últimos 14 días. Los dispositivos cliente descargan periódicamente los informes del servidor y consultan sus registros de contactos locales mediante el algoritmo de verificación. Si se encuentra una coincidencia, la aplicación notifica al usuario sobre la posible infección.

Coalición TCN

El 5 de abril de 2020, Covid Watch y otros grupos fundaron la Coalición TCN global, que se había unido en torno a un enfoque esencialmente similar y protocolos en gran medida superpuestos, con el objetivo de reducir la fragmentación y permitir la interoperabilidad global de las aplicaciones de rastreo y alerta, un aspecto clave para lograr una adopción generalizada. [ 44 ] La Coalición TCN también ayudó a establecer el marco de Derechos de Datos para el Rastreo y Alerta de Contactos Digitales , que funciona como una declaración de derechos para los usuarios de dichas aplicaciones. [ 45 ]

Actualmente, el protocolo es utilizado por los miembros de la Coalición TCN, CoEpi [ 46 ] [ 47 ] y Covid Watch , [ 48 ] [ 22 ] y probablemente fue una fuente de inspiración para el proyecto similar de rastreo de contactos de Google/Apple . [ 35 ] [ 34 ]

Véase también

Referencias

  1. 1 2 "Covid Watch" . Covid Watch . 19 de febrero de 2020. Archivado del original el 6 de agosto de 2020. Consultado el 2 de junio de 2020 .
  2. 1 2 "Sitio web de CoEpi" . CoEpi . 17 de marzo de 2020. Archivado del original el 27 de junio de 2011. Recuperado el 17 de marzo de 2020 .
  3. 1 2 "Primera implementación del protocolo de alerta de exposición anónima" . GitHub . Recuperado el 17 de marzo de 2020 .
  4. Sponås, Jon Gunnar. "Cosas que debes saber sobre el alcance de Bluetooth" . blog.nordicsemi.com . Consultado el 18 de abril de 2020 .
  5. Universidad de Stanford (09/04/2020). "Investigadores de Stanford ayudan a desarrollar una aplicación de alerta sobre el coronavirus centrada en la privacidad" . Noticias de Stanford . Consultado el 22/04/2020 .
  6. "Una de las víctimas de la pandemia de COVID-19 podrían ser los derechos de privacidad" . JapanTimes . 31 de marzo de 2020. Archivado del original el 30 de marzo de 2020. Consultado el 31 de marzo de 2020 .
  7. "Qué necesitan las aplicaciones de rastreo de coronavirus que preservan la privacidad para tener éxito" . VentureBeat . 13 de abril de 2020. Archivado del original el 16 de abril de 2020. Consultado el 18 de abril de 2020 .
  8. Shendruk, Amrita Khalid, Amanda (16 de abril de 2020). "Cómo Bluetooth podría llevar el rastreo digital de contactos para Covid-19 a miles de millones" . Quartz . Recuperado el 19 de abril de 2020 .{{cite web}}: CS1 maint: varios nombres: lista de autores ( enlace )
  9. "Documento técnico de Covid Watch" . Covid Watch . 2020-03-20. Archivado del original el 2021-10-15 . Consultado el 2020-03-20 .
  10. "Covid Watch Github" . Github . 17 de marzo de 2020. Consultado el 17 de marzo de 2020 .
  11. "Entrada de blog sobre la introducción al Bluetooth para relojes Covid" . Internet Archive . 7 de marzo de 2020. Archivado del original el 10 de abril de 2020. Consultado el 7 de marzo de 2020 .
  12. "Cobertura informativa de Covid Watch" . Covid Watch . 2 de junio de 2020. Archivado del original el 3 de agosto de 2020. Consultado el 2 de junio de 2020 .
  13. "Primer documento de MIT PACT" (PDF) . PACT MIT . 8 de abril de 2020. Archivado del original el 9 de abril de 2020. Consultado el 8 de abril de 2020 .
  14. "Las señales Bluetooth de tu teléfono inteligente podrían automatizar el rastreo de contactos de Covid-19 preservando la privacidad" . MIT News . 8 de abril de 2020. Consultado el 8 de abril de 2020 .
  15. 1 2 "Commit inicial de la Coalición TCN · TCNCoalition/TCN@1b68b92" . GitHub . Consultado el 18 de abril de 2020 .
  16. "Aplicación TCN de código abierto para iOS Covid Watch" . Github . 17 de marzo de 2020. Consultado el 17 de marzo de 2020 .
  17. ^ "Covid Watch iOS G/A EN Github Repo" . Github . 2020-06-02 . Consultado el 2 de junio de 2020 .
  18. ^ "Repositorio de Github de Covid Watch" . Github . 2020-03-07 . Consultado el 7 de marzo de 2020 .
  19. 1 2 Jason Bay, Joel Kek, Alvin Tan, Chai Sheng Hau, Lai Yongquan, Janice Tan, Tang Anh Quy. "BlueTrace: Un protocolo que preserva la privacidad para el rastreo de contactos impulsado por la comunidad a través de las fronteras" (PDF) . Agencia de Tecnología del Gobierno . Archivado del original (PDF) el 20 de abril de 2020. Recuperado el 12 de abril de 2020 .{{cite web}}: CS1 maint: varios nombres: lista de autores ( enlace )
  20. 1 2 "¿El rastreo de contactos de Covid-19 de Apple y Google supone un riesgo para la privacidad?" . Wired . ISSN 1059-1028 . Consultado el 18 de abril de 2020 . 
  21. "ZCash: Aplicación de rastreo de contactos que preserva la privacidad en blockchain de la Coalición de Números de Contacto Temporales (TCN)" . Noticias sobre criptomonedas - TCAT . 12 de abril de 2020. Consultado el 18 de abril de 2020 .
  22. 1 2 TCNCoalition/TCN , Coalición TCN, 18 de abril de 2020 , consultado el 18 de abril de 2020
  23. "Especificación del protocolo PACT" (PDF) . PACT MIT . Archivado del original (PDF) el 18 de abril de 2020. Consultado el 23 de abril de 2020 .
  24. "Aisshwarya Tiwar: COVID-19: Zcash (ZEC) y TCN desarrollan una aplicación de rastreo de contactos que preserva la privacidad | IoT Council" . www.theinternetofthings.eu . Archivado del original el 14 de mayo de 2020. Consultado el 19 de abril de 2020 .
  25. Nabben, Kelsie (2020-04-14). Enfoques sin confianza para la infraestructura digital en la crisis de COVID-19 .
  26. Lorenz Cuno Klopfenstein; Saverio Del Priori; Gian Marco Di Francesco; Ricardo Maldini; Brendan Dominic Paolini; Alessandro Bogliolo (2020). Ariadna digital: empoderamiento ciudadano para el control de epidemias . arXiv : 2004.07717 . Código Bib : 2020arXiv200407717C .
  27. "Investigadores de Stanford ayudan a desarrollar una aplicación de alerta sobre el coronavirus centrada en la privacidad" . techxplore.com . Consultado el 19 de abril de 2020 .
  28. "¿Nos ayudarán los teléfonos inteligentes a mantener bajo control la COVID-19?" . www.news.gatech.edu . Archivado del original el 20 de abril de 2020 . Consultado el 20 de abril de 2020 .
  29. "Singapur lanza la aplicación móvil TraceTogether para reforzar los esfuerzos de rastreo de contactos de COVID-19" . CNA . Archivado del original el 20 de marzo de 2020. Consultado el 20 de abril de 2020 .
  30. "Aplicaciones y sitios web sobre COVID-19: la "Iniciativa paneuropea de rastreo de proximidad que preserva la privacidad" y las directrices de las autoridades de supervisión" . Inside Privacy . 2 de abril de 2020. Consultado el 20 de abril de 2020 .
  31. Valence, Henry de (6 de abril de 2020). "Comparación de protocolos de rastreo de contactos privados: DP-3T y CEN" . The Zcash Foundation . Recuperado el 22 de abril de 2020 .
  32. "ZCash: Aplicación de rastreo de contactos que preserva la privacidad en blockchain de la Coalición de Números de Contacto Temporales (TCN)" . Noticias sobre criptomonedas - TCAT . 12 de abril de 2020. Consultado el 19 de abril de 2020 .
  33. "Demostración de 15 herramientas de rastreo de contactos y otras herramientas diseñadas para mitigar el impacto de la COVID-19" . TechCrunch . 5 de junio de 2020. Consultado el 31 de octubre de 2020 .
  34. 1 2 "Apple y Google se asocian en tecnología de rastreo de contactos de Covid-19 | Hacker News" . news.ycombinator.com . Consultado el 20 de abril de 2020 .
  35. 1 2 "Covid Watch celebra el anuncio de Apple y Google sobre el rastreo de contactos de COVID-19" . www.covid-watch.org . Archivado del original el 19 de abril de 2020. Consultado el 18 de abril de 2020 .
  36. "Rastreo de contactos en el mundo real | Light Blue Touchpaper" . 12 de abril de 2020. Consultado el 20 de abril de 2020 .
  37. "Rastreo de contactos basado en números de contacto temporales" . lucumr.pocoo.org . Consultado el 19 de abril de 2020 .
  38. "Protegiendo vidas y libertad: cómo el rastreo de contactos puede frustrar la COVID-19 y al Gran Hermano" . ncase.me . Consultado el 19 de abril de 2020 .
  39. Liauw, 🇸🇬 Frank (2020-04-09). "TraceTogether: bajo el capó" . Medium . Consultado el 2020-04-18 .
  40. "TCNCoalition/TCN/src/keys.rs" . GitHub . Consultado el 19 de abril de 2020 .
  41. ^ "nom::le_u16 - Óxido" . docs.rs. ​Consultado el 18 de abril de 2020 .
  42. "TCNCoalition/tcn-client-android/src/main/java/org/tcncoalition/tcnclient/TcnKeys.kt" . GitHub . Consultado el 19 de abril de 2020 .
  43. "r/iOSBeta - [ Característica ] La versión beta de iOS 13.4 habilita la compatibilidad con BLE de largo alcance (solo iPhone 11/11 Pro)" . reddit . 3 de marzo de 2020. Consultado el 18 de abril de 2020 .
  44. "Coalición TCN · Una coalición global para protocolos de rastreo de contactos digitales que priorizan la privacidad para combatir la COVID-19" . tcn-coalition.org . Archivado del original el 4 de julio de 2021. Consultado el 16 de abril de 2020 .
  45. Reed <questions@dcta-datarights.org>, Harper. "Derechos de datos para el rastreo y alerta de contactos digitales · Descripción general" . dcta-datarights.com . Consultado el 16 de abril de 2020 .
  46. "¿Nos ayudarán los teléfonos inteligentes a mantener bajo control la COVID-19? | Mirage News" . Mirage News . 15 de abril de 2020. Consultado el 19 de abril de 2020 .
  47. ^ Co-Epi/app-android , CoEpi, 19 de abril de 2020 , consultado el 19 de abril de 2020
  48. "Covid Watch" . www.covid-watch.org . Archivado del original el 6 de agosto de 2020. Consultado el 19 de abril de 2020 .
  • Covid Watch archivado el 17/04/2020 en Wayback Machine .
  • Coalición TCN Archivado el 4 de julio de 2021 en Wayback Machine
  • Especificación e implementación de referencia