logoalt Hacker News

Retr0idyesterday at 3:22 PM5 repliesview on HN

Signal uses the DRM APIs to mitigate threats like Microsoft Recall, but it doesn't stop the app itself from reading its own data.

I don't really see how it's possible to mitigate client compromise. You can decrypt stuff on a secure enclave but at some point the client has to pull it out and render it.


Replies

bogwogyesterday at 3:41 PM

> I don't really see how it's possible to mitigate client compromise

Easy: pass laws requiring chat providers to implement interoperability standards so that users can bring their own trusted clients. You're still at risk if your recipient is using a compromised client, but that's a problem that you have the power to solve, and it's much easier to convince someone to switch a secure client if they don't have to worry about losing their contacts.

show 2 replies
maqpyesterday at 10:21 PM

>I don't really see how it's possible to mitigate client compromise.

You could of course offload plaintext input and output along with cryptographic operations and key management to separate devices that interact with the networked device unidirectionally over hardware data diodes, that prevent malware from getting in or getting the keys out.

Throw in some v3 Onion Services for p2p ciphertext routing, and decent ciphersuite and you've successfully made it to at least three watch lists just by reading this. Anyway, here's one I made earlier https://github.com/maqp/tfc

londons_exploreyesterday at 4:01 PM

> don't really see how it's possible to mitigate client compromise.

Think of the way DRM'ed video is played. If the media player application is compromised, the video data is still secure. Thats because the GPU does both the decryption and rendering, and will not let the application read it back.

show 3 replies
willis936yesterday at 3:24 PM

By avoiding untrustworthy clients. All Windows devices should be considered compromised after last year.

show 3 replies
HumblyTossedyesterday at 3:34 PM

This. The gap in E2E is the point at which I type in clear text and the point at which I read clear text. Those can be exploited.