2 ms·
If 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 m
by diminoten 12y ago
If 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.
- Nursie 12y agoI think we must be miscommunicating here, I'm genuinely not seeing where I said that (it would not be the first time I have been hilariously unobservant though). The nearest I can see to that is where I said - "With fairly minimal training one can learn to use existing, secure constructions." - which I think I've qualified/explained now?
- tptacek 12y agoHe's misunderstood you, and then run away with his misunderstanding, perhaps because he thinks it's a more interesting back-and-forth to bounce around than what you actually said. My reading of what you wrote is: it doesn't take much training to use Libsodium. To the extent that providing cryptographic security is important, you can solve the problem by delegating it to the Nacl designers and Sodium implementors. That's mostly true. I did not see you making an argument about how simple the entire security problem was to solve.
- diminoten 12y agoPrecisely this. "It's not hard to learn to use a crypto library" is not an interesting conversation, and so I actively tried to have a more interesting conversation about "it's actually pretty damn hard to implement crypto software". Since when is learning a single crypto library the end-all solution to writing good crypto software?
- tptacek 12y agoMy suggestion is: work your way through the Matasano Crypto Challenges. They're free, just sitting there on a static web page, with no signup required. Actually implement cryptographic attacks before trying to design crypto. That's not just my recommendation; it's also what Bruce Schneier has been writing for decades. The problem with my suggestion is that most people who work their way from block cipher attacks through RSA error oracles are "scared straight", and lose the desire to plunk fancy crypto into their applications. Once you see how subtle some of the most devastating attacks are, you start to see why so few crypto engineers write chat apps.
- jerematasno 12y ago> The problem with my suggestion I fail to see the problem...