Live data from Hacker News

Show HN: Open-source private home security camera system (end-to-end encryption)

github.com

11–20 of 34 posts

Re: Show HN: Open-source private home security camera system (end-to-end encryption)

#11
post #7

What wasn't immediately clear to me is that you're meant to set up Raspberry Pis with a Pi camera attached, and that serves as the camera device. This then provides E2E encryption directly between the Pi and the Secluso mobile app via a cloud relay service that just shovels the encrypted bytes. Contrast with https://frigate.video/ , which is a locally installed NVR server that pulls camera feeds over the LAN (from a…

There are two comments/questions here and I'll try to address them one by one.

Secluso vs. Frigate: I think you correctly mentioned some of the differences. We intend Secluso to be replacement for Ring-like WiFi cameras. Therefore, it needs to be easy to set up and use and provide similar functions to a Ring camera: the user plugs in the camera, opens the app, scan a QR code and perform a pairing process, and the camera is ready to use with its strong end-to-end encryption. The self-hosted version of Secluso requires a few more steps, but we've tried to automate it as much as possible. Home Assistant and Frigate are great platforms that are capable of providing good privacy (although they don't support advanced end-to-end encryption that Secluso does with forward secrecy and post-compromise security through MLS), but they require several steps, e.g., prepare/configure the IP camera, install and configure Frigate, integrate Frigate with Home Assistant, and configure remote viewing via cloud relay or VPN. Also, they are typically used with wired (Ethernet) IP cameras. WiFi IP cameras are possible but the RTSP stream between the camera and hub will be unencrypted, which might be vulnerable to eavesdropping.

Need for cloud relay: We have considered STUN and we are planning to deploy MLS over WebRTC for livestreaming (using the DAVE protocol) to improve the livestream performance. But this doesn't completely eliminate the need for a relay. If a STUN connection cannot be made due to some restrictions in one of the networks (that the camera and app are connected to), we will need to fall back to the relay. Also, if the phone is off/disconnected when an event video is recorded, we would like to transfer it (encrypted) to the relay ASAP in case something happens to the camera (e.g., it's taken by the intruder).

Re: Show HN: Open-source private home security camera system (end-to-end encryption)

#14

This is great, congrats! Do you think it would be possible to use ESP32 (RISC-V CPUs) based cameras? Both for cost reduction and availability of the hardware reasons. Maybe with a ChaCha20-based cipher instead of AES?

When embedded SoCs are _much_ more likely to have AES accelerators, why are you looking to ChaCha20 for encrypting video?

Re: Show HN: Open-source private home security camera system (end-to-end encryption)

#16

This is great, congrats! Do you think it would be possible to use ESP32 (RISC-V CPUs) based cameras? Both for cost reduction and availability of the hardware reasons. Maybe with a ChaCha20-based cipher instead of AES?

ESP32: We haven't tested them. I would guess that they won't be able to handle the workload (on-device AI, encryption, and video encoding if there's no hardware encoder).

Ciphersuite: We use OpenMLS and we can choose any of the ciphersuites supported by it. We are using its post-quantum secure ciphersuite (MLS_256_XWING_CHACHA20POLY1305_SHA256_Ed25519).

Re: Show HN: Open-source private home security camera system (end-to-end encryption)

#17

This looks like a great project at first glance. One thing I did not see answered was how storage is handled. Is there a way to view historical video (even an hour ago)?

The videos are stored in the mobile app and you can view them when you need. The camera captures videos when it detects an event, e.g., a person, encrypts them, and sends them to the mobile app. The app decrypts them and stores them locally, allowing the user to view them when needed. The app also allows for livestreaming and it keeps the livestreamed video locally as well.

So only when viewing the steam or also receiving in background? If in the background that means wiping the battery in no-time.

Re: Show HN: Open-source private home security camera system (end-to-end encryption)

#18

Why not release the iOS app in all regions?

Hi u/HelloUsername, thanks for the question.

Apple has not approved our documentation for 23 countries in Europe yet. They require it for the European Union Digital Services Act [see https://developer.apple.com/help/app-store-connect/manage-co...]. Note that the Android app is available in these (both in the Google Play Store as well as Obtainium).

France, specifically, is excluded due to needing a specific French encryption declaration form. [https://developer.apple.com/help/app-store-connect/manage-ap...] - as we do not have a lawyer to consult, we decided it would be best to hold off on this to be certain we do it right.

For some other specific countries outside of Europe, such as North Korea, we are required to abide by export laws in the US. We tend to try to go on the safe side when excluding, as we do not have a lawyer to consult.

Please let me know if you have any other questions!

Re: Show HN: Open-source private home security camera system (end-to-end encryption)

#19

This is great, congrats! Do you think it would be possible to use ESP32 (RISC-V CPUs) based cameras? Both for cost reduction and availability of the hardware reasons. Maybe with a ChaCha20-based cipher instead of AES?

When embedded SoCs are _much_ more likely to have AES accelerators, why are you looking to ChaCha20 for encrypting video?

RSIC-V based are probably the most widely available microcontrollers / dev boards, but they unfortunately don't have AES accelerators. On the other hand, ChaCha20 (or ChaCha12) run great on them.

Re: Show HN: Open-source private home security camera system (end-to-end encryption)

#20

This is great, congrats! Do you think it would be possible to use ESP32 (RISC-V CPUs) based cameras? Both for cost reduction and availability of the hardware reasons. Maybe with a ChaCha20-based cipher instead of AES?

ESP32: We haven't tested them. I would guess that they won't be able to handle the workload (on-device AI, encryption, and video encoding if there's no hardware encoder). Ciphersuite: We use OpenMLS and we can choose any of the ciphersuites supported by it. We are using its post-quantum secure ciphersuite (MLS_256_XWING_CHACHA20POLY1305_SHA256_Ed25519).

From what I understand, some camera modules for ESP32 have built-in video encoding, so basically the ESP32 will only have to manage the encryption + network.

If you are interested, take a look at what SeeedStudio are doing. I think It's worth exploring for very cheap cameras, but yeah, no AI (without an additional accelerator).

Post reply on HN