13 ms·
Since our prior conversations, I've softened on my stance and at this point I think it's mostly just a UX issue. I don't think you or any other expert is wrong
by diminoten 12y ago
Since our prior conversations, I've softened on my stance and at this point I think it's mostly just a UX issue. I don't think you or any other expert is wrong in being as... "hyper" about the problems in current software. I just think "your" (as the stand-in for crypto experts everywhere) solutions are, while strong, not the best UX, and I consider UX to be a critical part of security -- if people won't use it, then it's not good.
All I'm saying here is that there's a disconnect between security and usability that needs to be bridged, and sometimes one side forgets about the difficulty of correctly implementing the other.
- tptacek 12y agoI'm sorry, but just to make sure I'm getting my point across, I'm going to restate it more simply: Security people freak out at new amateur encryption tools because when they don't, those tools get adopted by hapless users who entrust real secrets with them. It's not a theoretical concern; it happens over and over again in the real world. It happened to Snowden twice, once with Cryptocat and once with Lavabit. In both instances, crypto experts begged people not to use those tools. In both instances, misguided privacy advocates pushed back on the crypto experts. The tools either didn't get fixed (because, in Lavabit's case, they couldn't be) or didn't get fixed in time. Almost certainly, NSA has decrypted intercepts as a result. It's happening right now with other tools. It will, with certainty:100%, happen again with Cryptocat. During the snake oil era of medicine, people used to take radium tonics as a cure-all. That's what these tools are: radium tonics.
- diminoten 12y agoThat's not really what I'm talking about, though it is a manifestation. "Don't use the tool" is a cryptographically sound piece of advice, given what you know about the specific implementation, but it's utterly useless for Cryptocat, from a product standpoint. What's a developer supposed to do when a crypto expert just says, "no"? That's terrible feedback, it needs to be better, and it can be better (sometimes it actually is better, I think you've mentioned in the past that you've lent a hand to Cryptocat). As with every other "theory vs. practice" discussion, the theorists need to tone down the rhetoric, and the practitioners need to actually listen to what the theorists are saying.
- tptacek 12y agoTo be clear: I've never done anything to help Cryptocat, nor will I. The right thing to happen with Cryptocat is for it to be scrapped. Its security issues pervade beyond bad cryptography. Its users are literally better off with Google Hangouts or iMessage. And, in fact, the same was true of Lavabit: there was no recommendation that would allow a mail service that worked (for users) the same way Google Mail to resist serious attacks. But that was the premise of the system! It needed to be scrapped.
- diminoten 12y agoAnd this is the nonuseful advice that the crypto experts need to stop giving. Joe Developer sees this advice and decides not to write crypto software. That's unambiguously bad, because the software industry thrives on failing a lot until a good solution is found. There needs to be a way to develop crypto software that falls in a land of, "Don't use this yet, but maybe someday after we're done testing it, you can start using it and be secure" rather than "nope, just scrap the whole thing".
- kasey_junk 12y agoI am not a crypto expert and don't have a position wrt this particular problem domain but: "the software industry thrives on failing a lot until a good solution is found" may be at the heart of the disagreement. It is true that some parts of the software industry are best served by this style of iterative failure based progress, but it is unfair to say that the entirety of software is best developed this way. There exist whole classes of problems where the failure modes of their solutions are quite simply worse than any potential value those solutions can provide. Those class of problems should NOT be iteratively developed, rather they should be rigorously engineered and formally verified. I suspect your disagreement stems from whether you think crypto systems exist inside or outside that problem set.
- wglb 12y agoWhere software industry thrives on failing a lot until a good solution is found. Except where it is important. Failing a lot in crypto can have deadly consequences that are not visible until it is too late.
- some_furry 12y agoIt doesn't help that Nadim seems to have stopped supporting Cryptocat to focus on Peer.io instead.