Sunday, September 12, 2010

Secret Numbers

I recently moved from New York to Atlanta to take a postdoc at Georgia Tech's Algorithms and Randomness Center. Georgia Tech is a great place to do computer science research, and I am excited to have started working there. I hope to soon blog about ARC and also about my time at Yahoo! Research, but not in this post -- this post is about something I have to do every time I move or get a new job: give lots of people my "secret" numbers.

In 1936, when the Social Security Administration arose from the New Deal, Social Security Numbers (SSNs) were assigned to people to keep track of their accounts. By 1986, the government started using these numbers for tax purposes. And today, Social Security Numbers have basically become national identification numbers.

It's a number we're supposed to keep secret because with it, others can steal our identity and unearth our private information. It is also a number that we're supposed to put in clear-text on tax forms, car purchases, credit card papers, job materials, apartment applications, college applications, doctor's visits, pet adoption forms, appliance rental paperwork, etc. Soon, I feel like I'll need to give my SSN to train conductors and clerks at the supermarket. Yes, I know I'm technically allowed not to give out my SSN number, but this may leave a potential employer or apartment landlord unhappy with me. Being left out of a job or house is possibly worse than giving an nth person my SSN.

Unfortunately Social Security Numbers are not the only examples of this sort of thing. The same problem arises with credit card numbers, routing and account numbers on checks, and even numbers on college id cards. I only pick on the Social Security system because it's the most glaring example of this phenomenon, and possibly the most serious.

The most frustrating thing about this situation is that there is no need for our system to work this way. For example, we could use public key cryptography, where each person has a public and private key (with the public key verifiable by the government) -- people could sign whatever forms they needed to with their private  keys without compromising their integrity. Or if that's too hard, we could have the government generate one-time-use checkable identification numbers that we could give out to untrusted sources. Or we could have two sets of numbers: one that we use for taxes/credit and another that's not secret, but checkable in some database. Or we could do away with this whole national ID thing all-together. I'm sure there are many better solutions.

But that's not how bureaucracy works, and sometimes the short-term cost of switching systems is too high for politicians to do anything about it, even if switching would be better in the longer term. For now, I just have to hope that the dozens of people I shared my secrets with this last week won't abuse our broken system.

This document has some more information about the security of your SSN number.