two-factor authentication
Security Breaches and Two-Factor Authentication
It seems the news has been rife with stories of security breaches lately. As a past and present federal contractor, the OPM breach impacted me directly. That and one other breach impacted my current client. The lessons I took from these and earlier breaches were:
- Use a password manager
- Enable 2-factor authentication wherever it's offered
The availability of two-factor authentication has been growing (somewhat unevenly, but any growth is good), but it wasn’t until I responded to a tweet from @felixsalmon asking about two-factor authentication that I discovered how loosely some people define two-factor authentication. According to this New York Times interactive piece, most U.S. banks offer two-factor authentication. That statement can only be true if “two-factor” is defined as “any item in addition to a password”. By that loose standard, most banks do offer two-factor authentication because the majority of them will prompt you for an additional piece of “out of wallet” information if you attempt to log in from a device with an IP address they don’t recognize. Such out-of-wallet information could be a parent’s middle name, your favorite food, the name of your first pet, or some other piece of information that only you know. While it’s better than nothing, I don’t consider it true two-factor authentication because:
- Out-of-wallet information has to be stored
- The out-of-wallet information might be stored in plain-text
- Even if out-of-wallet information is stored hashed, hashed & salted, or encrypted with one bank, there's no guarantee that's true everywhere the information is stored (credit bureaus, health insurers, other financial institutions you have relationships with, etc)
True two-factor authentication requires a time-limited, randomly-generated piece of additional information that must be provided along with a username and password to gain access to a system. Authentication applications like the ones provided by Google or Authy provide a token (a 6-digit number) that is valid for 30-60 seconds. Some systems provide this token via SMS so a specific application isn’t required. By this measure, the number of banks and financial institutions that support is quite a bit smaller. One of the other responses to the @felixsalmon tweet was this helpful URL: https://twofactorauth.org/. The list covers a lot of ground, including domain registrars and cryptocurrencies, but might not cover the specific companies and financial institutions you work with. In my case, the only financial institution I currently work with that offers true two-factor authentication is my credit union–Tower Federal Credit Union. Hopefully every financial institution and company that holds our personal information will follow suit soon.