Seguridad y cifrado
Una sesión remota muestra la pantalla de otra persona y le permite trabajar en su equipo. ShareDesk está diseñado para que solo los dos equipos de la sesión puedan verla, el cliente decida quién entra y cada paso se pueda comprobar.
- Cifrado de extremo a extremo. La pantalla, el sonido, las entradas, el portapapeles, el chat, los archivos, el terminal y los túneles viajan cifrados directamente entre los dos equipos. Las claves nunca salen de ellos.
- Nuestro servidor solo conecta. Ayuda a los dos equipos a encontrarse y transmite la solicitud de conexión. No puede ver ni descifrar la sesión.
- Dispositivos verificados. Cada instalación tiene su propia clave. Ambos lados demuestran quiénes son, y un código de seguridad le permite comprobarlo en las dos pantallas.
- El cliente mantiene el control. Nadie entra sin un sí o sin una contraseña definida por el propietario, un banner muestra cada sesión y un clic basta para finalizarla.
1. Cifrado de extremo a extremo
Cada sesión se cifra de extremo a extremo con los estándares abiertos que también usan los servicios de videollamada (WebRTC). Siempre está activo y no se puede desactivar:
- La pantalla viaja como flujo SRTP cifrado con AES-GCM; las claves se acuerdan directamente entre los dos equipos mediante DTLS.
- Todo lo demás – ratón y teclado, portapapeles, chat, sonido, transferencias de archivos, el terminal y los túneles a otros dispositivos – viaja en canales cifrados con DTLS de la misma conexión.
- Las claves solo existen en los dos equipos. Se crean de nuevo para cada conexión y nunca se envían a nuestro servidor ni a un servidor de retransmisión.
2. Lo que hace nuestro servidor – y lo que no
Antes de que dos equipos puedan comunicarse directamente, tienen que encontrarse. Esa es la única tarea de nuestro servidor:
- Transmite la solicitud de conexión: el nombre, la empresa y la foto del técnico, y la dirección IP de la que procede la solicitud, para que el cliente pueda decidir.
- Transmite los datos técnicos que ambos equipos necesitan para llegar el uno al otro. Se eliminan en cuanto se han recogido; lo que quede se borra en pocos minutos.
- Todo esto funciona por HTTPS. Un ID de ShareDesk solo lo puede usar su propio equipo, así que nadie puede hacerse pasar por otro.
- Nunca recibe la sesión en sí: ni pantalla, ni entradas, ni archivos, ni chat.
Cuando una red no permite una conexión directa, la sesión pasa por un servidor de retransmisión. Un servidor de retransmisión solo reenvía los datos ya cifrados; no tiene claves y no puede leerlos.
3. Dispositivos verificados y código de seguridad
El cifrado solo vale tanto como la certeza de que habla con el equipo correcto. ShareDesk lo comprueba por sí mismo:
- Cada instalación de ShareDesk tiene su propia clave de dispositivo (ECDSA P-256), guardada en el llavero del Mac o, en Windows, protegida por el sistema.
- Al inicio de cada sesión, ambos equipos firman esa misma conexión con su clave de dispositivo, dentro del canal cifrado. Un equipo que no puede demostrar su clave no obtiene sesión.
- Los equipos conocidos se recuerdan. Si un ID de ShareDesk conocido aparece de repente con otra clave, la app ShareDesk finaliza la sesión en lugar de continuar sin avisar.
- Ambos lados muestran un código de seguridad de seis dígitos. Si es el mismo en las dos pantallas, no hay nadie en medio.
En el visor web la conexión se cifra igual, pero un navegador no tiene clave de dispositivo propia. Esas sesiones aparecen como «sin verificar (navegador)» en el equipo del cliente.
4. El cliente decide
- Se muestra cada solicitud. El cliente ve el nombre, la empresa y la foto del técnico, el ID de ShareDesk y de dónde procede la solicitud, y elige qué puede hacer el técnico. «Aceptar» solo se activa tras un momento y no se puede pulsar con la tecla Retorno, así que nada se acepta por accidente. Las solicitudes sin respuesta desaparecen a los 60 segundos.
- Siete permisos independientes: control, portapapeles, archivos, sonido, pantalla de privacidad, terminal y túneles. Cada uno se puede desactivar antes o durante una sesión; sin «control», el técnico solo puede mirar.
- Siempre visible. Durante una sesión, un banner muestra quién está conectado, con un botón Finalizar y un botón para ocultar la pantalla. Si el técnico graba la sesión, el banner lo indica.
- El micrófono del cliente. Los técnicos solo oyen al cliente mientras su micrófono está activado. El banner lo muestra, y el cliente puede desactivarlo en cualquier momento. Si la sesión no lo permite, primero se pregunta a la persona que está delante del equipo; en una sesión desatendida en la que nadie responde en 30 segundos, se activa.
- Bloquear y limitar. Los ID se pueden bloquear; las listas de permitidos y bloqueados aceptan ID y direcciones IP. El servidor retiene las solicitudes rechazadas repetidamente del mismo ID.
- Solo una contraseña de acceso desatendido, una contraseña de un solo uso o un técnico en quien el cliente ha decidido confiar se saltan la pregunta – ver más abajo.
5. Acceso desatendido
Para llegar a sus propios equipos sin nadie delante de la pantalla, les asigna una contraseña. ShareDesk nunca envía esa contraseña:
- El equipo no guarda la contraseña en sí, solo un valor derivado de ella, en su llavero, legible solo en ese dispositivo.
- Para conectarse, la app del técnico responde a un reto aleatorio de un solo uso (HMAC-SHA256) y así demuestra que conoce la contraseña sin revelarla. Una prueba no se puede reutilizar y está ligada a la conexión cifrada.
- Tras cinco contraseñas o códigos incorrectos, el ID se bloquea durante diez minutos.
- Además se pueden exigir códigos de autenticación de dos factores (TOTP, como con las apps de autenticación); cada código funciona una sola vez.
- En la ventana de inicio de sesión tras un reinicio solo están disponibles la pantalla y el control – sin archivos, terminal ni túneles.
- Opcionalmente, el Mac se bloquea al terminar la última sesión.
Si guarda una contraseña de acceso desatendido en su libreta de direcciones con la sesión iniciada, la clave derivada se almacena con su cuenta y se comparte con los miembros del equipo con quienes comparte ese equipo, para que también puedan conectarse. Use una contraseña segura y comparta esos equipos solo con personas que deban tener acceso.
6. Cuentas de técnico
Las cuentas son opcionales; son para equipos que quieren una libreta de direcciones compartida, perfiles y un registro de sesiones.
- Las contraseñas solo se almacenan como hash bcrypt y necesitan al menos diez caracteres.
- Un inicio de sesión es válido 180 días como máximo; al cerrar sesión termina en el acto. El servidor solo guarda un hash de él, y el Mac lo guarda en el llavero.
- Los intentos fallidos repetidos de inicio de sesión se ralentizan por dirección y por cuenta.
- Los enlaces de invitación caducan a los 30 días.
- El inicio de sesión con autenticación de dos factores se puede activar para cada cuenta: tras la contraseña, un código de una app de autenticación o un código de recuperación de un solo uso. Las apps de Mac y Windows también lo piden.
- Las llaves de acceso permiten a los técnicos iniciar sesión en la cuenta web con Touch ID, Face ID, Windows Hello o su teléfono en lugar de una contraseña; una llave de acceso cuenta como inicio de sesión con autenticación de dos factores.
7. Apps y actualizaciones firmadas
- La app de Mac está firmada con un Apple Developer ID, usa el hardened runtime y está notarizada por Apple.
- Las actualizaciones están firmadas (Ed25519). La app solo instala una actualización si la firma coincide con nuestra clave – en Mac y en Windows.
8. Datos y ubicación
- Nuestros servidores los opera MarketVision AG en Suiza.
- Sin cuenta, el servidor no guarda nada de sus sesiones más allá de los datos de conexión de corta duración mencionados. Con cuenta, almacena su libreta de direcciones, sus perfiles y – si lo sincroniza – su registro de sesiones; la política de privacidad lo enumera todo, incluidos los informes de diagnóstico y cuánto tiempo se conservan los datos.
- La app no usa seguimiento, analítica ni publicidad. El sitio web usa Google Tag Manager con un banner de consentimiento; la política de privacidad lo describe.
9. ¿Ha encontrado una vulnerabilidad?
Avísenos antes de publicarla: info@marketvision.ch. Describa lo que ha encontrado y cómo reproducirlo; le responderemos y lo corregiremos lo antes posible.