Email and Encryption

In view of the NSA brouhaha, I’ve been thinking about encrypted email as a first step in keeping my private business private. Like most of you, I’m the proverbial “nothing to hide” netizen but I also have an instinctive dislike (to put it mildly) of others snooping into my business, as innocent and boring as it is.

Sadly, this is a difficult problem. I have long had the necessary software installed and I routinely sign all my email. That’s the easy part. The hard part is getting everyone else to get, use, and publish their own PGP key. If folks would do that, email would be a reasonably secure communication medium. The problem is that Aunt Millie (1) doesn’t see the point, and (2) finds even the simple PGP procedures too difficult to understand.

Still, I’d like to do something to encourage greater PGP use. If you don’t already have a published key, get one and use it whenever you can. If you’re not sure how to get started—that seems unlikely for Irreal readers—here’s some instructions on installing PGP for Windows, Linux, and Mac OS X. It’s very easy to install PGP on any of these OS so there’s really no reason not to. I urge you to do so if you haven’t already and to start using it.

There are many benefits aside from ameliorating our paranoia. Imagine that your bank digitally signed their emails to you. That, alone, would cripple the phishing of banking credentials. Imagine that everyone signed their emails. That would essentially end phishing altogether and end the particularly nasty spammer tactic of stealing address books and forging one of your friend’s email from address for sending you spam or malware.

If you’ve got any ideas on how to encourage greater PGP use or ways that that greater use could benefit us, please leave a comment. As things stand now, we’re getting hit by criminals on the one side and the government on the other (insert your own snark here).

Posted in General | Tagged | Leave a comment

Cracking Passwords

Last May, Ars Technica published a chilling article on password cracking that I’ve been meaning to write about for a while. I urge you to take a look at it even if you’re just a user but especially if you design and implement security systems for Web sites.

The article is about what happens when 3 password cracking experts were asked to recover 16,449 passwords that were hashed (unsalted) with MD5. That, of course, is a fairly low bar but, sadly, all too many Web sites do exactly that. The results:

  1. The most successful cracker recovered 14,734 passwords (89.6%) in 20 hours using a commodity PC with a single GPU.
  2. The second most successful cracker recovered 13,486 passwords (82%) in a bit over an hour using 2 GPUs.
  3. The least successful cracker recovered 62% in approximately an hour.

For the Web site implementer the lesson is clear: you must use salted passwords and keystretch them with bcrypt, scrypt, PBKDF2, or something similar. If you don’t, even modest effort will recover almost all of your users’ passwords.

For users, the lesson is even more urgent. You must use secure passwords. The problem is what that means. It took just two minutes and 32 seconds to brute force all passwords (upper and lower case alphanumerics, numbers, and symbols) of length 8 or less. Even if passwords are salted and keystretched, passwords less than 8 characters are going to fall pretty quickly.

But it gets worse. According to Ars, the following passwords were recovered

":LOL1313le" "Coneyisland9/," "momof3g8kids," "1368555av,"
"n3xtb1gth1ng," "qeadzcwrsfxv1331," "m27bufford," "J21.redskin,"
"Garrett1993*," and "Oscar+emmy2"

They are hardly obvious and seem to be secure but they were still recovered. That’s because the crackers and the tools they use understand how users choose their passwords and can quickly try the probable combinations. Go read the article to find out how the crackers really work to understand why these passwords fell to their efforts.

As I’ve said many times, your best bet is to use a password manager such as 1Password or KeePass and have them generate long, random passwords that differ for each site. The “long” will protect from brute-force attacks and the “random” will protect from rule-based combining of common base words. Again, read the article to see why that last point is important.

One last lesson that’s implicit in the above but should be stated explicitly: don’t reuse your passwords. All it takes is one lazy implementer on some unimportant site for your (reused) password to be recovered. If you reuse it for, say, your bank account you’re going to be sorry.

Posted in General | Tagged | Leave a comment

Quickdocs Documentation

Quickdocs keeps getting better and better. Now they have nicely formatted documentation for the Quicklisp packages. These are nice enough and easy enough to access that I use them for my primary package documentation. They’re a lot easier to bring up than navigating through your local Quicklisp tree to get to the documentation that’s installed with the package. You can’t just bookmark those because the name of the source subdirectory changes when a package is upgraded.

The combination of Quicklisp and Quickdocs has, I think, been a real game changer for Lisp libraries. Previously they were hard to find, tricky to install, and were sometimes not documented. All that’s changed now and we have an ecosystem of well-documented libraries that work across a large range of Lisp implementations. It’s a good time to be a Lisp developer. Of course, it’s always been a good time; just not always popular.

Posted in Programming | Tagged , | Leave a comment

Marc Battyani Interview

Vsevolod Dyomkin has another great entry in his series of interviews with Lisp hackers over at Lisp, The Universe and Everything. This time it’s with Marc Battyani, a Lisp hacker and entrepreneur whose company, NovaSparks, builds ultra-low-latency FPGA-based supercomputers for the financial industry. That might not seem like fertile ground for Lisp but it is.

Besides its expected use in prototyping, testing, and experimenting with algorithms, Battyani uses Lisp to build domain specific languages that compile to VHDL to program the FPGAs. This is pretty neat stuff and Battyani gives a nice overview of it.

This is a good interview and well worth your time if you’re a Common Lisp programmer or interested in being one. It’s a fairly short read so it’s a perfect companion to your morning cup of coffee.

Posted in General | Tagged , | Leave a comment

Lisp Web Tales

Pavel Penev is writing a book, Lisp Web Tales, about Web applications and Common Lisp. He describes it as a set of tutorials and examples. I’ve been meaning to write about this for some time because it seems like a nice way to explore Common Lisp in an environment that is likely to be familiar to most Irreal readers. I know far more about Lisp than I do about writing Web apps so I’m looking at this as a way of learning more about Web apps in the context of Lisp. Most readers, I’m sure, will look at it in the opposite way: a chance to learn Lisp in the context of Web apps.

Penev estimates that the book is about 80% complete so presumably he will be fleshing out the examples and polishing the text. In the mean time, the book looks to be ready for study. The link above takes you to a table of contents with links to the full text. You can also buy the book in PDF, EPUP, or MOBI. I’ve done that as a way of supporting the author but you can, if you like, just stick to the Web version. The book is being sold by Leanpup.com, which offers all updates for free so you needn’t worry that work on it is ongoing.

Posted in Programming | Tagged , | Leave a comment

Emacsy

Shane Celis has announced that Emacsy was accepted as a Google Summer of Code project. Celis describes Emacsy as an embeddable Emacs-like library for non-text applications: Emacs OS without the text editor. The idea is to bring the Emacs way of doing things to other applications. Emacsy will be built on top of Guile Scheme, which is already embeddable in C and C++ applications.

Celis’s post gives a hint of what he’s aiming at but for the real details you should see his Google SoC application. It seems like an interesting project and I’m looking forward to seeing the results. Take a look and see if you don’t agree.

Posted in General | Tagged | Leave a comment

Iain M. Banks, RIP

We knew this was coming but damn!

Posted in General | 1 Comment

Obsessed

I’ve been completely obsessed with the unfolding NSA scandal all day (Sunday). I spent most of the day reading various news articles and posts on it. I’m too angry to write about that so here’s a cheerful tweet on the astounding world we live in instead.

Posted in General | 4 Comments

Dropbox and the NSA

I’ve written many, many, many, many times that if you are using Dropbox for private information that you don’t want others to have access to you better be encrypting it. And if you’re not, you have only yourself to blame when (not if) if it gets published on the Internet.

Now we learn that the US government is planning to add Dropbox to its Prism providers. As I write this there is some question as to what this means: are the providers willingly giving the NSA access to their users data or is the NSA intercepting the data outside of the providers’ servers. In the end, it doesn’t matter. You should assume that the US government has access to any data you store on Dropbox. If that data is securely encrypted, you are probably secure—at least if your encryption key isn’t passowrd—but if you’re depending on Dropbox to keep your secrets, you’re screwed. DON’T DO THAT!

If there’s anything we can learn from the Prism scandal it’s that you absolutely can’t store sensitive data in the cloud without encrypting it with STRONG crypto. I’m using Dropbox as an exemplar here but the same principals apply to any other cloud storage. Dropbox is probably one of the most reliable providers but even it is not immune to deep packet inspection of its traffic within the Internet nor warrants, no matter how specious.

Posted in General | Tagged | 1 Comment

Where Are My Torrents?

Matt Might wonders why he can’t find a torrent for a BBC show.

Posted in General | Tagged , | Leave a comment