Walkie Desk

Detalles técnicos de la seguridad

Esto es una traducción. En caso de discrepancia, prevalecerá la versión italiana.

Esta página es para quien tiene que evaluar Walkie Desk desde el punto de vista técnico. Para una visión general, consulta Seguridad.

Describe el servicio tal como es hoy, en beta: cuando algo cambia, la actualizamos.

Visión general

Walkie Desk tiene cuatro partes: el programa del PC al que se quiere acceder, el navegador de quien se conecta, el servidor de coordinación en walkiedesk.app y un servidor de retransmisión (TURN), que solo se usa cuando los dos dispositivos no consiguen conectarse directamente.

Esquema de Walkie Desk El navegador del técnico y el PC con Walkie Desk se conectan ambos al servidor de coordinación walkiedesk.app mediante TLS (1 y 2). La sesión va directamente entre el navegador y el PC, cifrada de extremo a extremo (3); si la conexión directa no es posible, pasa, igualmente cifrada, por el servidor de retransmisión TURN (4). walkiedesk.appcoordinación Navegadordel técnico PCcon Walkie Desk Retransmisión TURNsolo si hace falta 1 2 3 4 4
  1. Navegador y walkiedesk.app: HTTPS y WebSocket seguro (TLS). Sirven para iniciar sesión en la cuenta y para intercambiar los parámetros de la sesión, firmados por los dispositivos.
  2. PC y walkiedesk.app: WebSocket seguro (TLS) abierto por el servicio de Windows, que siempre verifica el certificado y el nombre del servidor, incluida la comprobación de revocación.
  3. PC y navegador: la sesión propiamente dicha (vídeo, audio del equipo, teclado, ratón, portapapeles, archivos y chat), mediante WebRTC y cifrada de extremo a extremo. El servidor de coordinación no está en este recorrido.
  4. Retransmisión: si la conexión directa no es posible, los mismos paquetes cifrados pasan por el servidor de retransmisión, que no tiene las claves para leerlos.

Cifrado

La sesión usa WebRTC. El vídeo y el audio del equipo viajan con SRTP, con claves negociadas mediante DTLS (DTLS-SRTP); el teclado, el ratón, el portapapeles, los archivos, los mensajes del chat y los comandos viajan en canales de datos (data channels), es decir, SCTP dentro de DTLS. Las claves se negocian entre el PC y el navegador y se quedan allí: no las conocen ni el servidor de coordinación ni el servidor de retransmisión.

En la negociación DTLS cada dispositivo presenta un certificado cuya huella está escrita en los parámetros de la sesión (SDP). Esos parámetros los firman los dispositivos (más abajo): así el navegador sabe que está hablando con el PC correcto, y el PC con el navegador correcto.

Entre los dispositivos y walkiedesk.app todo pasa por HTTPS y WebSocket seguro (TLS), con HSTS.

Vídeo y audio del equipo
SRTP con claves DTLS (DTLS-SRTP); audio codificado con Opus
Teclado, ratón, portapapeles, archivos, chat
canales de datos WebRTC: SCTP sobre DTLS
Firmas de los dispositivos
ECDSA P-256
Hash de los parámetros firmados
SHA-256
Vinculación, QuickSupport e ID y contraseña
CPace, intercambio de claves autenticado por contraseña
Llamadas
DTLS-SRTP entre los dos navegadores; parámetros autenticados con HMAC-SHA-256 y una clave derivada con HKDF de un secreto de un solo uso
Contraseñas de las cuentas
Argon2id
Segundo factor
TOTP o WebAuthn (llave de seguridad o llave de acceso)
Componentes en el PC
libdatachannel, OpenSSL, libsrtp, libsodium, Opus
Componentes en el navegador
la implementación WebRTC de Chrome, Edge o Firefox

Usamos componentes de código abierto muy extendidos que mantenemos actualizados; la lista completa de cada versión (SBOM), con versiones, licencias y procedencia, es pública: Componentes de software.

Identidad de los dispositivos y firma de las sesiones

Cada PC con Walkie Desk y cada navegador de confianza tiene su propio par de claves ECDSA P-256:

Los navegadores de confianza de una persona forman una cadena firmada: el primero la crea, y cada navegador posterior entra en ella solo con una entrada firmada por un dispositivo que ya está en la cadena. Hay tres formas:

Cada PC verifica todas las firmas de la cadena antes de aceptar un navegador, y cuenta él mismo los 10 minutos. El servidor guarda la cadena, pero no puede añadirle ningún navegador, porque no tiene las claves para firmarla. Un PC con una versión anterior de Walkie Desk aplica las reglas anteriores (por ejemplo, también exige la llave de acceso para aprobar un navegador): mientras no se actualice, el área de usuario lo indica y solo ofrece las operaciones que ese PC acepta.

Antes de cada sesión, el PC firma su propuesta de conexión y el navegador firma su respuesta, incluidas las huellas DTLS. Cada parte verifica la firma de la otra con una clave que ya conoce, antes de usar los parámetros.

Qué protege: si alguien en el recorrido de la coordinación, incluido el servidor, sustituyera una huella DTLS para interponerse entre el PC y el navegador, la firma dejaría de ser válida y la sesión se rechazaría. El servidor pone en contacto a los dispositivos, pero no puede hacerse pasar por ellos. Lo que no cubre se explica en Limitaciones conocidas.

Qué ve y qué no ve el servidor

Ve

  • los PC (identificador, clave pública, nombre del equipo, versiones de Windows y del programa), las cuentas y las claves públicas de los navegadores de confianza;
  • los datos de cada sesión: quién se conecta a qué PC, cuándo y durante cuánto tiempo, si pasa por la retransmisión, si se ha grabado (sí o no) y estadísticas técnicas de calidad;
  • los registros técnicos de los servidores, como direcciones IP y páginas solicitadas;
  • en el acceso con ID y contraseña, los intentos fallidos (cuenta, dirección IP, PC, hora) y, para cada usuario, la lista «Recientes» de PC de otras personas a los que se ha conectado;
  • en las llamadas, quién ha llamado a qué PC y cuándo, y los parámetros de conexión (direcciones de red y huellas DTLS).

No ve

  • el contenido de las sesiones: pantalla, audio del equipo, pulsaciones de teclas, ratón, portapapeles, archivos transferidos y mensajes del chat;
  • el audio y el vídeo de las llamadas, ni si el micrófono y la webcam están encendidos;
  • las grabaciones de las sesiones, que se quedan en el dispositivo de quien graba;
  • la contraseña de QuickSupport, la del acceso con ID y contraseña ni la parte secreta del código de vinculación;
  • las claves privadas de los PC y de los navegadores.

El servidor de retransmisión, cuando la sesión pasa por él, transporta solo paquetes cifrados: no tiene las claves para leerlos y no guarda el contenido de las sesiones, los archivos ni los mensajes.

Los servidores están en Italia; los datos y las copias de seguridad se quedan en la Unión Europea. Qué guardamos, durante cuánto tiempo y con qué proveedores: política de privacidad.

Cuenta

Acceso desatendido

QuickSupport

Contra las estafas del falso soporte técnico: Protección contra las estafas.

ID y contraseña

Audio del equipo y llamadas

Programas firmados y códec OpenH264

El instalador de Walkie Desk para Windows, sus programas y QuickSupport están firmados con Authenticode por el editor iDev srl, con sello de tiempo: la firma sigue siendo verificable incluso después de que caduque el certificado. Las bibliotecas de terceros incluidas no las firmamos nosotros.

El códec OpenH264 no está incluido: el programa lo descarga del sitio web de Cisco y solo lo usa si su hash SHA-256 es el esperado.

Cómo comprobar el editor y el hash de un archivo descargado: Seguridad.

Actualizaciones y periodo de soporte

Actualización automática, firma de las versiones con la clave de publicación, ajustes para desactivarla, verificación pública de una versión y versiones anteriores: Actualizaciones.

Limitaciones conocidas

El código de la aplicación web, es decir, el área de usuario y el visor desde el que se conecta el técnico, lo entrega el servidor de walkiedesk.app en cada visita. La firma de los parámetros protege las sesiones frente a quien altere los mensajes de coordinación, pero no frente a un servidor comprometido que entregara al navegador código modificado.

Mitigación actual: una Content Security Policy estricta, que solo permite scripts del mismo dominio y ningún recurso de terceros, salvo el componente de pago de Stripe, únicamente en la página Suscripción. Un visor firmado, verificable sin tener que confiar en el servidor, es una mejora prevista.

Lo mismo vale para la página de llamada que se abre en el navegador del PC, que también sirve walkiedesk.app. Un técnico que ya controla el PC podría abrir él mismo una página de llamada sin la ventana de respuesta: es un poder que ya tiene de todos modos, porque con el control puede abrir cualquier programa o sitio web; la pestaña del navegador y el indicador de micrófono en uso del sistema siguen visibles.

Informar de un problema