Ir directamente al contenido
Español
  • No hay sugerencias porque el campo de búsqueda está vacío.

HandScanner: arquitectura técnica y seguridad

Protocolos de seguridad y transmisión de datos

Diagram

Equipo

  • Autenticación: usa autenticación criptográfica RSA y certificados para comprobar su identidad y establecer confianza entre el equipo y la nube.

  • El cifrado SSL/TLS protege los datos.

    • Todos los datos y las actualizaciones de software viajan por canales cifrados con SSL/TLS.
  • Los datos se transmiten en JSON, un formato estructurado.

    • Estos paquetes se envían de forma segura con SSL/TLS y los procesa AWS Lambda (ver abajo).

__________________________________________________________________________________________

Backend

  • Usa AWS IoT Core (el servicio de Internet de las Cosas de Amazon Web Services).
    • El enrutamiento de mensajes usa MQTT sobre TLS (Message Queuing Telemetry Transport) o HTTPS (Hypertext Transfer Protocol Secure).
  • AWS Lambda procesa los datos JSON que llegan desde IoT Core:
  • Amazon API Gateway
    • Recibe solicitudes HTTP(S) RESTful de:

      • Los equipos (por ejemplo, para enviar actualizaciones).

      • Los dashboards (por ejemplo, para mostrar datos).

  • Todas las respuestas REST van comprimidas en zip y codificadas en base64, y el contenido viaja cifrado.

__________________________________________________________________________________________

Frontend

  • React (framework de JavaScript)
  • Usa cifrado SSL/TLS vía HTTPS para entregar el contenido de forma segura.

  • El frontend usa exclusivamente TypeScript.

__________________________________________________________________________________________

Cómo funciona la conexión

  • Toda la comunicación la inicia el equipo ("phone home") mediante conexiones de salida.
  • No requiere acceso de entrada, redirección de puertos ni aperturas en el firewall.
  • Al conectarse a la red, el HandScanner envía actualizaciones de estado y telemetría a nuestra plataforma en la nube y revisa si hay instrucciones de actualización. Después descarga las actualizaciones de software o configuración por HTTPS de salida.

__________________________________________________________________________________________

Resumen y permisos de red necesarios

  • Que el tráfico de entrada esté bloqueado no es problema.
  • Permite conexiones de salida por TCP 443, TCP 80, UDP 53, UDP 67/68 y UDP 123 hacia los destinos de abajo.
  • Si se filtra el tráfico de salida, agrega esos dominios a la lista de permitidos.
  • No se requieren direcciones IP fijas. Si la red filtra por MAC, te compartiremos antes la dirección MAC de cada equipo para que la agreguen a la lista de permitidos.
  • Con esta configuración, los equipos seguirán enviando actualizaciones de estado y descargando actualizaciones de software y configuración sin ningún acceso de entrada.

__________________________________________________________________________________________

Patrones de tráfico

  • Señal de vida MQTT cada 3 minutos, además de al escanear, cada 5 min, cada 20 min, al conectarse a la red y cada 59 min.
  • Autenticación HTTPS cada hora.
  • Transferencia de archivos S3 al arrancar, durante actualizaciones y al escanear.
  • Revisión de portal cautivo al conectarse a la red.
  • Sincronización de hora NTP al abrir la app.

Destino

Puerto

Protocolo

Para qué sirve

Router (local)

53

UDP

Resolución de nombres DNS

Router (local)

67, 68

UDP

Asignación de direcciones DHCP

a16pvx628lslju-ats.iot.us-east-1.amazonaws.com

443

TCP (MQTT over TLS)

Señal de vida, estado y resultados de escaneo

c17vf01fhrpedp.credentials.iot.us-east-1.amazonaws.com/role-aliases/s3uploadrolealias/credentials

443

TCP (HTTPS)

Autenticación del equipo y credenciales temporales

*.s3.amazonaws.com

443

TCP (HTTPS)

Transferencia de archivos grandes (actualizaciones)

clients3.google.com/generate_204

80

TCP (HTTP GET)

Detección de portal cautivo

pathspot.app/blank

80

TCP (HTTP GET)

Detección de portal cautivo

1.us.pool.ntp.org

123

UDP (SNTP)

Sincronización de hora