Live data from Hacker News

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

github.com

151–160 of 180 posts

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

#151

Earlier quoted context omitted.

I got hit by a truck a few months ago and a dash cam (well, really, scooter cam) could have shown beyond a doubt whose fault it was. I wish I didn't have to be hit by a truck in order to realize this. If something ever happens you're going to want to have had a recording of it.

Instead of video, what if our bodies and property emitted points clouds all the time where visual representation can be recreated, similar to how LiDar does it I’m not sure if thats more or less data to store, but it can show the depth and direction of intrusions into your space

Don't you just love the idea of giving Big Tech and law enforcement literal x-ray vision. That'll go down very well...

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

#152

Earlier quoted context omitted.

Correct, that would be even better, but I didn't have control over the camera firmware. Someone mentioned OpenMiko, which I plan to investigate and see if it can allow me to effectively run the hub inside the camera itself and achieve what you are referring to.

I'd probably change that in your readme then, this is usually called something like encrypted in-flight or transport encryption. End-to-end encryption is a pretty specific term and clearly not what is done here. Even if you use protocols designed for end-to-end encryption that does not matter if the protocols talk with an intermediary (the hub) that decrypts the traffic. For example, if signal still used the signal p…

Agreed, transport encryption is the term to use for this model which is a great model anyway.

You can use e2e if the data-at-rest (e.g., video) file(s) are also 100% encompassing the encrypted in both the camera and the remote server, as well as the mobile app and remote server.

From the client-side, this E2E means no raw data are exposed over network nor in remote storage and that keys are required to view the raw data at either endpoints.

In today's parlance, the undefined portion of E2E is whether the local storage is encrypted as well. Some will argue on this point. Future may (and should) tighten this E2E as well.

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

#153
post #109

Having had cameras and a couple of breakin attempts for a while now my biggest must-have for these sort of things is: - reliable human detection (not just motion) - integration via some sort of API or MQTT etc. This project appears to have no "smarts" in terms of human detection nor APIs which is a shame. Just pure motion detection on its own is ok, but you're going to pick up all sorts of things that you don't care…

> But the second a human steps into my garden and starts approaching the house in the night, all the perimeter floodlights are activated, in-house lights turn on, a fake-yet-loud barking dog MP3 starts playing and I get pushover notifications on my phone that won't stop until I ACK them etc (to wake me up). Wow this setup seems like overkill for a residential setup. I have lived in “bad” neighborhoods before and have…

Curious, does your MP3 plays "Let the Bodies Hit The Floor" by Drowning Pool?

https://genius.com/Drowning-pool-bodies-lyrics

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

#154

Earlier quoted context omitted.

Correct, that would be even better, but I didn't have control over the camera firmware. Someone mentioned OpenMiko, which I plan to investigate and see if it can allow me to effectively run the hub inside the camera itself and achieve what you are referring to.

I'd probably change that in your readme then, this is usually called something like encrypted in-flight or transport encryption. End-to-end encryption is a pretty specific term and clearly not what is done here. Even if you use protocols designed for end-to-end encryption that does not matter if the protocols talk with an intermediary (the hub) that decrypts the traffic. For example, if signal still used the signal p…

The end-to-end encryption part is clear IMO: it's between the hub and the app, both of which are trusted. This is different from an untrusted server decrypting the messages.

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

#155

Earlier quoted context omitted.

Regarding big business, I kind of have the opposite reaction that it has been more community maintained and been the one of the reasons I kind of admired it as a software project. They also tried to make this choice clear by making the tools, documents as accessible as possible. If you look at the history of Rust, the crates, cargo-team, etc, it is mostly community maintained. An example of such community-oriented la…

Your comment persuaded me to have a little look at Rust. And I kinda like what I see. Every time I say to myself "I'll never use that tech", I end up using/learning it.

If you want to watch a talk from a person with good presentation skills on this point, I would recommend the following video: https://youtu.be/cWSh4ZxAr7E?t=3314

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

#156

Earlier quoted context omitted.

I'm not familiar with Scrypted unfortunately. But thanks for the pointer. I'll have to study it to understand its security and privacy implications. I skimmed the docs very quickly but couldn't find info on their use of encryption. About HomeKit: yes, HomeKit uses iCloud end-to-end encryption ( https://support.apple.com/en-us/102651 ) and is certainly superior to those systems that don't use encryption at all or just…

I’m not sure that 1) is such a win for MLS here. If I lose my phone, I want to get all my security footage back by entering my passphrase etc on my new phone. In other words, I want the “encrypted cloud storage” security model from [1], not the encrypted messaging security model from Signal etc. [1] https://eprint.iacr.org/2024/989

Interesting. I think the usage model provided by Privastead is reliable enough (at least for me). I have access to my videos on my phone. If losing the phone is a concern (which should be rare), we can easily add a feature that keeps a copy of the files in the hub too.

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

#157

Using a KEM[1] to create a sealed_box[2] type construct would allow for privacy even in a situation where the camera hardware is physically seized. You could also use ML-KEM (aka Kyber), McEliece-KEM and ECDH or RSA-KEM together to provide post quantum resistance. The traditional symmetric approach (which also has post quantum resistance) in such systems requires the camera hardware to possess the long-lived symmetri…

Privastead/OpenMLS erases past keys from persistent storage in order not to suffer from the vulnerability you mentioned.

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

#158
post #128

If you're like me and you want something that Just Works -- ubiquiti's offering is fully local and has all the features you'd want including alerts, ml detection (on some first party cameras), app, timeline, etc. They recently started allowing third party cameras, too, so all you need is a Cloud Gateway (USG Ultra is $150) and you're good to go.

It is reasonable to assume that Ubiquiti has remote access to your fully local data, given that they run the auth server and also push automatically installed updates.

> they run the auth server

I don't think this is true unless you are logging into your router using the ui.com console. Logging in to my UDM POSTs to the local address and works without a WAN connection.

> also push automatically installed updates

I suppose if you've enabled them.

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

#159

Earlier quoted context omitted.

That didn't answer my question.

Sorry, which question did I miss?

The question of "What is the purpose of introducing the untrusted "server" component?". Looks like you've since replied to this, but it wasn't here or I didn't see it when I dropped the parent comment. The reply also doesn't compare alternatives such as direct use of an object store API. I've fielded a lot of user support questions about installation and would really hesitate to add that extra moving part if it's not strictly necessary.

Overall, we must be coming at this with quite different expectations of what a NVR should do. Not just this but also "when the app fetches a video, the server deletes the ciphertext (in order to be memory efficient)". Some installations of my NVR software are multi-user; I personally use it from multiple devices; etc. So the idea the whole pipeline exists just to transfer event videos to a single Android device results in a system that I would not find useful.

There certainly is space for different approaches. E.g. Frigate's approach is quite different than Moonfire NVR's but obviously is useful in a lot of ways to a lot of people. But my take is that Privastead's approach is going to be pretty niche, and the claim that other NVRs don't offer strong privacy assurance using "end-to-end" (on-prem server to client) encryption is untrue.

Also, I find it inaccurate to say it's mostly implemented in Rust which "provides higher security assurance for the hub". The Amcrest camera you've chosen is essentially developed by a hostile nation-state, and the protocol code you're using to interact with it (ffmpeg) is all written in C, which I find incongruous with the privacy/security goals. In fact, ffmpeg's RTSP and Matroska code is probably the majority of lines of code in the system.

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

#160
I have all my untrusted devices (including cameras) on a VLAN that does not have internet access, but is reachable from my main VLAN (but not the other way around). Then I have frigate and homeassistant running on the main VLAN that can connect to the cameras. I use wireguard to connect when I'm not home.
Post reply on HN