>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Rust

Cómo construir una cámara de vigilancia privada en Raspberry Pi sin nubes ni suscripciones

Comprar una cámara inteligente para el hogar lista para usar casi siempre implica un compromiso. Por un lado, es conveniente abrir una aplicación en tu teléfono y ver lo que sucede en la habitación. Por otro lado, la transmisión de video de tu sala de estar o pasillo va directamente a los servidores de otra persona — Amazon, Google o fabricantes chinos sin nombre. A esto se suman las noticias habituales sobre filtraciones de datos, suscripciones pagadas para el almacenamiento de archivos, y el riesgo de que un proveedor simplemente cierre sus servidores un día.

Hace poco me encontré con un proyecto interesante llamado Secluso, que intenta resolver este problema de la manera correcta. Es un sistema de videovigilancia para el hogar para microordenadores Raspberry Pi con cifrado de extremo a extremo honesto (E2EE), donde incluso el servidor de relé de datos intermedio opera bajo un principio de confianza cero.

Private home security without cloud surveillance

Quién está detrás del proyecto y cuál es la idea

El proyecto es desarrollado por Ardalan Amiri Sani, profesor en la Universidad de California, Irvine, especializado en seguridad informática, y el ingeniero John Kachman. El repositorio secluso/core contiene código en Rust.

La idea principal de los autores es simple. El usuario debería obtener una solución lista para usar que pueda configurarse en cinco minutos, mientras garantiza el aislamiento criptográfico de miradas indiscretas. Sin nubes cerradas. El video se cifra en la placa Raspberry Pi y solo se descifra en tu teléfono inteligente.

Cómo funciona la arquitectura

La mayoría de las soluciones DIY de videovigilancia como MotionEye o ZoneMinder tropiezan cuando se trata del acceso remoto. Si quieres ver la transmisión fuera de tu red Wi-Fi doméstica, tienes que lidiar con direcciones IP estáticas, DNS dinámico, reenvío de puertos o configurar tu puerta de enlace doméstica.

Secluso resuelve el problema de manera diferente:

  1. La cámara y el teléfono se comunican a través de un relé intermedio.
  2. Cualquier VPS Linux económico puede servir como el relé.
  3. El servidor de relé está aislado y no tiene acceso a las claves de cifrado. Reenvía el tráfico ciegamente, viendo solo paquetes cifrados.

A demo picture of our Secluso Deploy tool

Toda la criptografía está diseñada teniendo en cuenta el modelado de amenazas. El protocolo implementa secreto hacia adelante y protección contra compromisos futuros. Si alguien obtiene acceso a tu VPS de relé, solo verá un flujo binario cifrado y no podrá descifrar ni las grabaciones archivadas ni la transmisión en vivo.

Otro punto interesante es Reproducible Builds. Los creadores hicieron que los binarios de tiempo de ejecución, la utilidad de despliegue, la imagen personalizada del sistema operativo Secluso y la aplicación Android puedan compilarse desde el código fuente y verificarse byte a byte contra las versiones oficiales. Para proyectos enfocados en la privacidad, este enfoque merece respeto.

Requisitos de hardware

La lista de componentes para comenzar es mínima:

  • Placa Raspberry Pi Zero 2W.
  • Módulo de cámara Raspberry Pi V1, V2, o cualquier módulo basado en sensores Sony IMX219 / OmniVision OV5647.
  • Tarjeta microSD para escribir la imagen.
  • Tu propio VPS Linux con acceso SSH para el relé (para pruebas, los autores ofrecen acceso de prueba temporal a su servidor).
  • Teléfono inteligente iOS o Android.

A demo picture of our Secluso Deploy tool

Proceso de configuración e impresiones

Por lo general, construir sistemas como este en una Pi se convierte en una configuración interminable, instalación de controladores de cámara y ajustes de systemd. El equipo de Secluso escribió una utilidad de escritorio separada llamada Secluso Deploy para eliminar la monotonía.

El proceso es el siguiente:

  1. Descarga Secluso Deploy a tu computadora.
  2. El programa genera claves de cifrado únicas directamente en tu máquina y las graba en la imagen del sistema operativo Secluso.
  3. La utilidad se conecta a través de SSH a tu VPS y despliega automáticamente el componente del servidor de relé allí.
  4. Escribe la imagen lista en una unidad flash, insértala en el Pi Zero 2W y enciéndelo.
  5. Descarga la aplicación oficial desde App Store o Google Play y escanea el código QR de emparejamiento generado por Deploy.

Después de eso, tu teléfono se conecta a la cámara. A través del cliente móvil, obtienes acceso a una transmisión de video en vivo, notificaciones de eventos y visualización de clips guardados cifrados.

Para quién es este proyecto

Secluso es ideal para quienes:

  • Quieren vigilar su apartamento, taller o casa de campo sin confiar su espacio personal a servicios de terceros.
  • Buscan un uso para un Raspberry Pi Zero 2W que está acumulando polvo en un estante.
  • Quieren entender la arquitectura de transmisiones de video cifradas de extremo a extremo en Rust y los principios de relé de confianza cero.

El proyecto todavía está evolucionando, la lista de sensores de cámara compatibles actualmente está limitada a los módulos Pi comunes, pero la funcionalidad principal funciona de manera confiable. Si estás cansado de los ecosistemas cerrados con suscripciones por cada gigabyte de archivo de video, secluso/core definitivamente vale la pena revisar. El código fuente es abierto bajo la licencia GPLv3, y la documentación sobre el modelo criptográfico está justo ahí en el repositorio.

Proyectos relacionados