TrueCrypt security audit presses on, despite developers jumping ship
arstechnica.com
arstechnica.com
The cryptography audit for Truecrypt is going to be run much differently than the software security audit. We'll have more to say about it next week, but for now: it's something in between a "public bug bounty" and a "summer of code" program. Me, Nate, and several other crypto people will be working not as consultants to the projects, but as "mentors" (I hate that term) leading developers interested in cryptography.
As to why the audit is proceeding: it's obvious, at least to me. Tens of thousands of people will continue to use Truecrypt no matter what we do, and if nobody takes a serious and organized look at its cryptography, the circumstances behind the conclusion of its development will create yet another Internet Crypto Urban Legend.
It's not a signal.
Taking that for granted for a moment, would this security audit be for the folks who've already become part of this class of "elites", or is this something one would do in an effort to be taken seriously in the security community by those currently in it?
The fact that you managed to inject that bogus complaint into this particular story, which, if you'd read the just 142 words I wrote a little carefully, is obviously the exact opposite of what you're "concerned" about, is all the more annoying.
What "draws my ire" is cryptographic incompetence. Cryptographic incompetence gets people hurt. I do not give a shit about how those developers feel.
For whatever it's worth to anyone else reading this: you will rarely ever see me get pissy about an incompetent amateur breaking crypto. Breaking crypto is what you're supposed to do to get good at crypto.
I'm not going to give you a break so long as you don't give folks who are trying to create things a break. Bad crypto gets people killed, but no crypto does too, and perhaps your elitist attitude (and it's not just you, it's the community at large) is why we have only TrueCrypt and nothing else.
No part of my attitude impacts how many FDE solutions we have. We don't have lots of FDE systems because, unlike terribly broken Javascript cryptography applications, FDE systems are very difficult to write.
Apropos neither of those last two statements: it's not clear to me that you understand what's actually being announced in this Ars story.
As for the article, I haven't actually commented on it whatsoever; I was commenting on your announcement. It's interesting to me you wrote that, but whatever.
If you have questions about the Truecrypt Phase 2 audit, and I'm in a position to answer them, I will endeavor to do that.
If you're interested in learning more about cryptography, we'd like to talk to you about working on the audit directly, reporting to an advisor. As I understand it, many of these auditor roles will have stipends associated with them.
If you're aware of an elite cadre of crypto people that might be available to serve in the auditor roles, I'd love to know about it. The overwhelming majority of the people that do our crypto challenges have zero prior crypto experience, and many of those are the same people we hope to see staffing Phase 2 of the audit.
Teaching a bunch of developers some new stuff about cryptography would be a nice knock-on benefit of the audit, but it's important that I be clear that the funding for this audit was earmarked for actually improving the security situation for Truecrypt. So we'll probably be somewhat selective about the audit team. I'll have more to say about this next week. This all got sprung on me very quickly, like I said, because of this week's events.
So, no, the security situation has not already improved.
If you don't have access to crypto, you can take other precautions. If you use bad crypto, you can be lulled into a false sense of security. There is nothing more dangerous than thinking you are secure, when in actuality, you aren't.
First, I think that if you cannot think of an alternative to crypto, you should think twice about doing anything that could get you or your friends killed.
Second, I urge you to consider the difference between these two developers:
Developer A is just learning crypto. She makes many mistakes and builds some truly horrible systems. But, she is just learning and she never actually intends for anyone to use her systems.
Developer B thinks she is a crypto god. She releases a tool and claims it is incredibly secure. However, it contains fatal flaws.
If someone bullies developer A, I think that many people would jump to her defense. On the other hand, developer B is a very dangerous person whose hubris has created a dangerous situation.
So, rather than learning exactly enough cryptography to built an application that appears to journalists to be secure but actually isn't, Developer C takes the time to read papers and actually code up crypto attacks.
Man, we love Developer C. Developer C is awesome. Developer C is going to learn so much building crypto attacks. There's a good chance that after doing that for just a couple months, Developer C will discover novel variations of crypto attacks nobody has thought of yet. From that work, everyone (who really cares about crypto) will benefit.
At the end of this process, Developer C will not only be terrifying, but also in a vastly better position to implement sound cryptography than other developers. Ironically, though, the experience of seeing so much broken cryptography is going to make Developer C hesitant to publish random new cryptographic tools the moment they hit their text editor. Like Adam Langley and Trevor Perrin, they will quietly hone their designs for months or even years, making sure they've gotten things right before getting other people to risk their secrets by using them.
Developer C is just getting started now. We love Developer C. We have an avalanche of crypto exercises for them to play with, and, if they know they're interested and engaged, there's a good chance I want to talk to Developer C about helping with the Truecrypt audit this summer.
People run into trouble when they try to pass themselves off as being more qualified than they are.
Pilots are also a bunch of elitist snobs. I wouldn't fly with anyone else.
Nevertheless, at this moment there's a PHP programmer somewhere in the world writing new code that stores passwords hashed with one round of MD5.
[1] https://madiba.encs.concordia.ca/~x_decarn/truecrypt-binarie...
EDIT: big fucker I should say