8 ms·
It ends up being a product of the fact that the smartest crypto folks aren't software developers, and the smartest software developers (or the most innovative -
by diminoten 12y ago
It ends up being a product of the fact that the smartest crypto folks aren't software developers, and the smartest software developers (or the most innovative -- the guys starting companies or building products) aren't crypto folks.
So you have a bunch of what are effectively scientists who aren't all that familiar with how products get made (first build something, release it, then refine it over time through feedback) and you have a bunch of developers who aren't familiar with how security products are managed (you don't release anything until you're willing to put people's lives on your product).
What you're left with is an ecosystem of developers releasing code that's not cryptographically sound because they need feedback and a community to help them refine the software, and crypto scientists who scream bloody murder every time they find a bug because, "what if the next Snowden uses your new tool!?!"
Everyone's right in this argument, it's just hard to bridge the gap between these two very different schools of thought.
- Nursie 12y agoWith fairly minimal training one can learn to use existing, secure constructions. Hell, there are now protocols designed specifically for this, open source ones at that. In fact everyone who even considers touching anything crypto-related should know one simple thing - do not invent your own schemas!
- diminoten 12y agoIf it's minimal, can you please outline the training required to write secure code? Perhaps you could forward that minimal training to the openssl folks, and maybe you could singlehandedly solve the security crisis currently taking place in software.
- Nursie 12y ago>> If it's minimal, can you please outline the training required to write secure code? Nope, because that's not what I claimed.
- diminoten 12y agoThen can you please outline specifically what training would be required to accomplish... whatever it is you did claim that was, "relatively minimal"? What classes? What books? What certifications or degrees?
- Nursie 12y agoPersonally I would recommend (if this is a serious question and you're not just trying to challenge my assertion about minimal training) putting yourself through Coursera's Crypto 101, and learning to use a library like NaCl, or borrow a well-reviewed open protocol like TextSecure, which is in TextSecure, Signal and (lately) WhatsApp. I'm not saying that with minimal training you can write an OpenSSL equivalent, or even create a novel cryptosystem on top of OpenSSL, people writing software products generally shouldn't be creating novel cryptosystems in the first place (and I speak as someone that implements crypto-systems for a living, usually very well defined crypto-systems from banking standards).
- diminoten 12y agoI'm highly doubtful that a person who's done the training you've recommended will be capable of writing secure software. The fact that you think it's that easy is a wonderful example of why there's such a disconnect between developers and crypto experts.
- Nursie 12y agoFor the second time, I didn't claim they could write secure software! I'm not even claiming I can write secure software, it's a hard problem. What they can do is use existing, secure constructions, which at least gives them a fighting chance. Inventing new stuff does not.
- diminoten 12y agoYou did claim they could write secure software, at least that's what you wrote. If that's not what you meant, then I understand.
- tptacek 12y agoSnowden and Greenwald actually used one of the most popular of those tools, as you know, and according to the person who did the most conclusive, reputable, and devastating security analysis of that tool, they used it during a time when it was catastrophically broken. The clear message you are trying to communicate is that the security community hyperventilates over security problems to the detriment of the community. That's not what happens. Look at Lavabit --- another example: the problem with serverside encrypted Internet email was absolutely written off as hyperventilation, to the detriment of every single Lavabit user, whose communications were almost certainly recorded and are, as a result of the way Lavabit handled a request for Snowden's communications, retroactively decrypted.
- diminoten 12y agoSince 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.
- wglb 12y ago> smartest crypto folks aren't software developers, This dismisses the talents of DJB who is one of the better software developers and a very good cryptographer.