Privastead - sistema de cámaras de seguridad para el hogar personal de código abierto (compatible con cifrado de extremo a extremo)
(github.com/privastead)Privastead es una solución de cámaras de seguridad para el hogar que garantiza la privacidad y usa cifrado de extremo a extremo. Sus principales ventajas son las siguientes:
- Cifrado de extremo a extremo basado en el protocolo Messaging Layer Security (MLS) mediante una implementación de OpenMLS.
- Solución solo de software que funciona con cámaras IP existentes, con supuestos mínimos de confianza sobre las cámaras IP.
- Hub de cámara, código MLS de la app móvil y servidor no confiable implementados en Rust.
Componentes
La solución de cámaras Privastead consta de tres componentes:
- Un hub de cámara que se ejecuta en una máquina local e interactúa directamente con la cámara IP.
- Una app móvil que recibe notificaciones de eventos y permite la transmisión en vivo remota de la cámara.
- Un servidor no confiable que retransmite mensajes cifrados entre el hub y la app. Además, usa Google Firebase Cloud Messaging (FCM) para las notificaciones, y FCM tampoco es confiable.
Modelo de amenazas y garantías
La principal ventaja de la solución de cámaras Privastead es que ofrece fuertes garantías de privacidad mediante cifrado de extremo a extremo. En concreto, hace los siguientes supuestos:
- Se asume que la máquina local que ejecuta el hub y el smartphone que ejecuta la app móvil son seguros y no han sido comprometidos.
- Se asume que el servidor es completamente no confiable y está bajo el control de un adversario.
- Se hacen supuestos mínimos de confianza sobre la cámara IP. Es decir, se asume que la cámara no tiene una tarjeta de interfaz de red privada que pueda conectarse a internet por sí sola (por ejemplo, celular), por lo que es recomendable que el usuario lo compruebe y verifique explícitamente. Fuera de eso, no se puede confiar en la cámara IP, y Privastead no conecta la cámara directamente a internet, sino directamente al hub.
Ofrece las siguientes garantías:
- Solo el hub y la app móvil pueden acceder al video sin cifrar.
- El servidor no puede descifrar el video.
- Proporciona confidencialidad hacia adelante y seguridad post-compromiso mediante MLS.
- Actualmente no oculta ante un adversario (que controle el servidor y/o el canal FCM) el momento en que ocurren los eventos ni las transmisiones en vivo.
Cámaras compatibles
En teoría, Privastead puede ser compatible con cualquier cámara IP (u otra cámara con una interfaz abierta). El prototipo actual depende del soporte RTSP y ONVIF de la cámara. RTSP se usa para el streaming de video desde la cámara y ONVIF para consultar eventos. Hasta ahora se han probado las siguientes cámaras:
- Amcrest, modelo: IP4M-1041W
Sistemas operativos móviles compatibles
- Android
Smartphones probados (versión del SO)
- Google Pixel 8 Pro (Android 14)
Entorno de ejecución probado para el hub
- Ubuntu (requiere
ffmpeg)
Principales limitaciones (actuales)
- La app solo puede emparejarse con una sola cámara.
- El hub de cámara solo admite una sola cámara.
- El hub de cámara solo puede emparejarse con una sola instancia de la app.
- Con alta resolución y alta tasa de cuadros de la cámara, el rendimiento puede convertirse en un cuello de botella.
Miembros del proyecto
- Fundador del proyecto: Ardalan Amiri Sani (profesor de ciencias de la computación en UC Irvine, especialista en seguridad informática y privacidad)
1 comentarios
Opiniones de Hacker News
Hay una opinión que enfatiza la necesidad de investigar a fondo antes de iniciar un nuevo proyecto
Se comparte la experiencia de configurar cámaras de seguridad usando Frigate y Home Assistant
Se muestra una reacción positiva a un proyecto que hizo reconsiderar la instalación de cámaras de seguridad
Se menciona una solución de código abierto llamada Scrypted, que ofrece E2EE mediante su integración con HomeKit
Se presenta Tokay Lite PCB, que ofrece diseños de hardware y firmware de código abierto para cámaras y sensores de movimiento
Se sugiere que SMS por correo electrónico podría ser mejor que usar Google Firebase para el envío de mensajes
Se enfatiza la importancia de una detección de personas confiable y de la integración con API o MQTT
Se comparte una experiencia exitosa usando Motion y se menciona que se necesita un procesador central
Se brinda información sobre cámaras con función de Secure Boot
Hay una solicitud para que se explique en qué el diseño de seguridad del proyecto es mejor en comparación con Home Assistant