Seguridad

Modelo de seguridad de las taquillas inteligentes

Objetivo: aunque alguien controle por completo la nube, es decir, el servidor, la base de datos y una cuenta de administrador, nadie puede abrir un compartimento ocupado. La taquilla verifica cada apertura por sí misma, sin internet.

Quién puede abrir un compartimento y con qué

La taquilla solo confía en las claves de su archivo de confianza, que se copia durante la instalación y nunca pasa por la nube. La clave raíz del operador se guarda sin conexión.

01

Destinatario

Código de 6 dígitos o código QR en el móvil. La taquilla compara hashes HMAC. El código se fija al cargar el paquete y no cambia después.

02

Remitente

Código de 8 dígitos. Solo abre compartimentos libres.

03

Carga del repartidor

Token QR firmado con la clave de la nube. Una carga solo abre compartimentos vacíos y no puede modificar un paquete que ya está dentro.

04

Recogida del repartidor

Token QR firmado con la clave del dispositivo del transportista, certificada por la clave raíz del operador. La nube no puede falsificarlo.

05

Técnico

Token de servicio firmado con la clave de un dispositivo de técnico certificado.

06

Soporte, apertura remota

Passkey del operador más el código que muestra la pantalla de la taquilla. Sin ese código hacen falta dos personas distintas con dos claves distintas. Como máximo 3 por hora.

RS485

Vigilancia del bus de cerraduras

La mayoría de las placas de cerraduras no autentican los comandos. Cualquiera con acceso a los cables RS485 puede abrir compartimentos con un adaptador barato. La taquilla es el único maestro legítimo de la línea, así que trata como sospechoso todo lo que no haya solicitado.

  • Panel de servicio abiertoEl interruptor del panel indica apertura y no se ha usado ningún token de servicio en los últimos 30 minutos.
  • Tráfico ajenoBytes en la línea sin que la taquilla haya enviado ninguna petición, o respuestas a peticiones que nunca hizo.
  • Ruido3 o más respuestas corruptas en un minuto.
  • Dispositivo de retransmisión intercalado5 respuestas seguidas más lentas que 3 veces el tiempo normal más 25 ms.
  • Puerta forzadaEl sensor de una puerta indica que está abierta aunque la taquilla no la ha abierto en el último minuto.
  • Cable cortadoTodas las placas que respondían enmudecen a la vez. El evento indica los compartimentos con paquetes.

Qué ocurre después

El paquete tras una puerta forzada queda retenido: su código deja de funcionar y el compartimento sigue ocupado hasta que lo recoja un repartidor. Tras detectar tráfico ajeno o una puerta forzada, la taquilla desactiva las bobinas que las placas mantienen activadas. La nube abre una alerta de intrusión o de anomalía y envía un webhook. Todo esto funciona con las placas existentes.

Lo que la vigilancia no puede hacer

La vigilancia detecta un ataque, no lo detiene. Más allá de un cable cortado, la taquilla no ve nada hasta que se restablece la conexión. Sin interruptor en el panel, su apertura pasa inadvertida. Solo una placa que verifique la firma de los comandos puede bloquear el propio ataque.

Cada puerta tiene un sensor. La taquilla lo contrasta cada 0,5 s con sus propias órdenes.

Registro probatorio encadenado por hash

Cada evento de la taquilla se enlaza con el anterior mediante SHA-256. La nube comprueba la cadena al recibir los eventos y genera una alerta si se rompe. Ninguna entrada puede modificarse ni eliminarse sin que se note, por lo que el registro sirve como prueba en caso de disputa.

Actualizaciones firmadas

Solo la clave de publicación del archivo de confianza de la taquilla puede firmar una actualización, nunca la clave de la nube. La taquilla verifica la firma, el SHA-256 y el tamaño, rechaza versiones anteriores y restaura la versión previa si la nueva no arranca.

Protecciones en el backend

  • Cada taquilla se conecta por mTLS con su propio certificado, válido solo para esa taquilla
  • Código de registro de un solo uso, válido durante 24 horas y almacenado únicamente como hash
  • Contraseñas de administrador con argon2id, roles, comprobaciones de CSRF y Origin, CSP
  • 5 inicios de sesión fallidos bloquean la cuenta durante 15 minutos, por IP y por combinación de cuenta e IP
  • Claves de API almacenadas como hash, con ámbitos y un límite de 10 peticiones por segundo
  • Webhooks solo por HTTPS, direcciones privadas bloqueadas al conectar y sin redirecciones
  • Los códigos del destinatario nunca llegan al servidor a través de enlaces: permanecen en el fragmento de la URL
  • Los datos de tarjeta nunca llegan a nuestro sistema: el pago se realiza en la página del proveedor

Riesgos residuales, sin rodeos

01

Códigos del destinatario en la nube

La nube genera los códigos y envía el SMS, de modo que una nube comprometida podría conocerlos. Cada código solo funciona en persona ante la taquilla, uno cada vez, con registro de cámara y de eventos, y el teclado se bloquea tras 5 errores. No existe la apertura masiva en remoto.

02

Ataques físicos

El software no puede impedir que alguien fuerce el armario. El guardián del bus lo detecta y los paquetes afectados quedan retenidos.

03

Taquillas de otros fabricantes

Las taquillas importadas desde la nube de otro fabricante son de solo lectura y se marcan como no cubiertas por estas garantías.

04

Almacenamiento de claves

Guardar las claves raíz en un HSM o tarjeta inteligente y la clave TLS de la taquilla en un TPM está en la hoja de ruta para instalaciones en producción.

Revisión independiente

En noviembre de 2026, una revisión interna de seguridad analizó la retirada de paquetes, el almacenamiento de códigos, la regla de las dos personas, los ataques de degradación de versión, la reutilización de tokens tras un reinicio, el aislamiento entre clientes, el abuso del inicio de sesión y los ataques SSRF a través de webhooks. Todos los hallazgos están corregidos y documentados.

Pruebe los ataques usted mismo

La taquilla de demostración incluye herramientas de ataque: una orden de apertura ajena, ruido en la línea, un dispositivo de retransmisión, un cable cortado y un panel de servicio. Observe qué notifica el guardián.