4 ms·
You are wrong on practically every account: > Joe Developer sees this advice and decides not to write crypto software. False. Moe Manager stomps his foot and
by crpatino 12y ago
You are wrong on practically every account:
> Joe Developer sees this advice and decides not to write crypto software.
False. Moe Manager stomps his foot and makes Joe Developer wire together "something good enough", regardless of Joe's qualifications. Since neither Joe nor Moe are able to tell how good a crypto system is, they invariably end up with something in the awful-to-kludge spectrum. Both Moe and Joe need to be repeatedly reminded that they don't know enough about this non trivial problem to make good enough calls.
> That's unambiguously bad, because the software industry thrives on failing a lot until a good solution is found.
"Unambiguosly bad" is a thought stopper, a rhetoric trick. This just means that since you don't like any of the options made available to you by reality (like... paying big bucks to a real expert), self deception is preferable.
Now, the fact that our software industry thrives on failure... I am ashamed to say that this just means our industry is really good at externalizing the consequences of our own incompetence to the customers. This is all good and fun, until real lives are on the line. Crypto is one of those cases, so it is one of those lines you don't cross.
> 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".
Are you familiar with the term "Security by Design"? It is one of those pesky realities I was talking about. It basically says that you cannot create a product giving no concern to security, sprinkle some crypto fairy dust on top of it, and magically turn it into a secure product. If you try to do that, you'll end up with a product with broken security.
Which is not all that bad in practice. There are lots of useful products that we all are better of having in insecure form than not having at all. But if the whole point of product X is to be "Y, but done securely" there is no redeeming feature that can save X from the axe.
- diminoten 12y agoI'm not sure how to respond to this. On one hand you talk about "rhetorical show stoppers", and on the other hand you reply to a statement I've made with the one word sentence, "False.", and in another sentence you say I'm "wrong on practically every account". I guess I could point out that there lies, in a continuum of software, a place for experimental products which offer nothing other than the exploration of an idea and the opportunity to refine said idea through testing and discussion. I could also point out that your strawman of "sprinkle some crypto fairy dust" is entirely irrelevant to this conversation, and that your lack of understanding of how threat actors are modeled is evident in your inability to comprehend a tool that might protect against certain threats but can acceptably not protect against all threats. But I think those points would fall on the "ears" of someone who just wants to be combative. Maybe someone else will pick up where you left off and engage in a more honest and less antagonizing manner, but this deep in the comment tree, "here be dragons".
- crpatino 12y agoI guess am sorry that we ended up in bitter ends of a pointy discussion. For what's worth, I was not trolling. I stand by anything that I said (specially the "sprinkle of crypto fairy dust", which I have seen IRL more often that I wish). If I am ignorant or not, I am by definition unqualified to tell. Other than that, if you prefer to have non combative discussions, please stop bossing professionals around and tell them what to do. Specially if they are not providing a service you paid money for.
- diminoten 12y agoI am a professional and I "boss" other professionals around on this topic (admittedly, mostly other topics, but this specific one does come up) for a living. But it's funny, because what you're saying here (don't "boss" people around) is similar to what I am saying, with regard to experimental crypto software. The crypto experts need to let the developers develop, and find a constructive way to contribute to that process, rather than chicken-little every time a bug appears. Imagine software that comes out, stating: "This software is not meant to do anything other than hide your porn from your mother. Please do not use this software to do anything other than protect yourself against a threat who has limited understanding of computers and software." As that software matures, the disclaimer could expand to, "This software is not meant to do anything other than protect information against low-level criminal activity. Please do not use this software to do anything other than to protect your information from larceny or identity theft. This software will not protect you against a sophisticated or well-resourced actor." Eventually expanding to, "This software has been tested by a community of crypto experts. While there is currently no known reason why this software won't protect your information from all bad actors, there is no guarantee in place that your information is absolutely safe. Always exercise extreme caution when protecting your data from sophisticated actors." The idea being that, once an experimental piece of software becomes "good enough", it can be used to protect against a more diverse threat model. The idea that you have to ship an NSA-proof product on day 1 is completely unfeasible and will never happen, and the crypto scientists out there need to realize that.
- deleted 12y ago