Hacker News new | past | comments | ask | show | jobs | submit login

Are there any video chat clients with end-to-end encryption?

I was trying to do this by piping the output of my webcam to openssl and then to netcat, which sends the packets to a publicly addressable server (Amazon instance) that relays the encrypted packets to another computer behind a firewall, that decrypts the video stream and plays it in MPlayer. It works, but the latency is about 10 seconds. To reduce the latency, I could delta-encode the video stream, leverage the GPU somehow, but I'm not sure how to get the latency down to the 200ms required for seamless conversation. Also, it should be noted that there is little code behind this, mainly just unix utilities and pipes.

PS: Also I could remove the Amazon piece and forge a direct P2P connection using NAT hole punching if the routers on both ends permit, but this is not always reliable and isn't a huge source of latency.




Apparently FaceTime [1] and iMessage are end-to-end encrypted with unique session keys. Whether Apple has access to those keys is not known though (the key exchange isn't documented as far as I can tell).

1. http://www.zdnet.com/blog/apple/facetime-calls-are-encrypted...


Any communication that you don't set the keys/are able to track them should be considered unencrypted in my opinion.


I keep expecting to see more research into side channel attacks for encrypted video. A fair amount of work has been done for similar attacks on audio streams with VBR codecs. Secure encrypted voice requires using a codec in CBR mode, but that's not really possible for video. It's perhaps likely that video is too complex to leak anything usable through that type of side channel, but I haven't seen much discussion either way.


"Are there any video chat clients with end-to-end encryption?"

Jitsi claims to. ( http://www.jitsi.org )


I had end-to-end encrypted video chat bodged together using libvlc and SRTP streams at one point, but it was incredibly user-unfriendly and getting latency down below 1 second was easier said than done. VLC really wasn't designed for this kind of application.


Assuming TLS is still unbroken, RTMPS (Flash RTMP over TLS tunnel) offers the most accessible form of end-to-end encryption.

To avoid intermediaries you'd have to run your own Flash server (e.g. Red5) though.


WebRTC clients should be encrypted and secure, since it's P2P communication.


How does it handle the key management necessary to prevent a man-in-the-middle attack?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: