Could this ex-NSA hotshot protect your email from hacking?
fortune.com
fortune.com
What do you think of Virtru? I was hoping you would comment on this article since you're an actual crypto expert.
Encryption-by-plugin seems less bad than encryption-by-javascript, but their entire business model depends on us trusting Virtru for key escrow. This doesn't seem any better than trusting Apple for iMessage or Google for Gmail. Am I missing anything?
Edit: I guess a malicious attacker would need to take two steps for the information. One for the encryption key hosted at Virtru, then a second step to actually capture the emailed message.
The key escrow bothers me, too, though. It requires key escrow without a HSM (far as I know) and under U.S. jurisdiction. Plus, a high assurance system resistant to nation-states is time-consuming to put together. Their development speed, client support, and price indicate they're using a low assurance process with mainstream components. So, their escrow is at risk to both a court order and hackers. Not to mention malicious insiders.
I'll pass...
1 - https://www.virtru.com/faq/ 2 - https://www.virtru.com/blog/virtrus-open-source-strategy/ 3 - https://www.mailvelope.com/
Solving secure email in a strong way takes incredible expertise in the email standards, common ways their implemented (prevent breaking stuff), OS interfaces, language, some cryptography, and protocol design. Every strong, usable product w/ legacy compatibility has a whole team backing it with a track record in these. They're also expensive. So, I have my doubts any time I see something like "these few people will solve secure email, on every device, and for only $48 a year." Unlikely lol...
- mailbombs exist - you can generate input that takes a lot of memory and/or CPU to process for almost any real-world parser - DoS is usually trivial (and compromise is within reach of advanced adversaries) - you really want to limit the depth to which you parse MIME, doubly so if the parser is recursive - decoding headers is really hard even if you just decode everything to UTF-8 - just because something claims to be text/plain doesn't mean that it's actually 7-bit, actually the character set it claims to be, doesn't contain any "interesting" Unicode characters, etc etc etc. - receivers can and do MIME-sniff - UTF-8 is actually pretty damn scary (rendering an arbitrary bytestring as UTF-8... should be safe, but there is at least one Linux graphics toolkit that will just not show the textfield if you include any application-specific characters, and rendering combined characters has had bugs in the past) - ...
I assume you're familiar with the above; I just mean to point out that securely handling e-mail is hard.
I was familiar with some of that but not others. Thanks for the list both for the extra details I learned and so people new to this will see some of the gotchas. Curious, has anyone put together a comprehensive treatment of most of the issues and solutions that you know of?
Standard Mail Guard [1] and GEMSOS [2] (esp crypto seals) informed my approach. I just applied what I could of that (minus MLS) to build a proxy that just wrapped them up and sent them through a guard. Still had to deal with headers, transport was way easier, and left most to the client. The best example I know in commercial space that does it similarly (probably better) is Nexor [3]. Especially with Sentinel. Such architectures let designers make many tradeoffs in security vs performance vs compatibility. Simplistic example: security stuff in dedicate process might let me use safer language, better verification tools, MAC policy, compiler obfuscations, etc. Wouldn't be as easy if operating within the client's privileges or language.
[1] https://cryptosmith.files.wordpress.com/2014/10/mailguard.pd...
[3] https://www.nexor.com/sixa-technology
(Note: I don't endorse it's assurance/code so much as architecture and strategy. EAL4+ is not high assurance lol. It's probably not cheap, either.)
Note: I keep my designs and essays on Schneier's blog, etc just to get them out there in hopes of public benefit. I'll send you some of them if you want so long as I get credit for that part of whatever you or Fox does with them. Usually all I ask for although paid consulting is a bonus I don't turn down. ;)
I've looked at your work before, but I'd be happy to receive some more. Two points, though: (a) I'm incredibly busy right now, so don't expect a prompt response, and (b) we don't talk a lot about what we do, so don't expect to see a lot of credits in (open) print. (My apologies for both!)
The escrow is also a problem. There's the risk of hackers, malicious insiders, courts in regular legal system, and the court in the secret legal system. If you do escrow, it needs to run on the most secure and tamper-resistant systems you can throw at it w/ 3rd parties verifying this. Given above risks, it's better if they don't do escrow and instead switch to a private/public key model. Bernstein et al have given us some really fast and secure software for that, too. They just auto-generate the key-pairs locally & handle the public key management instead. Would be a nice improvement.