You are one data breach away from having your entire online life turned upside down. The problem is passwords, which are hopelessly fragile ways to secure valuable resources.
Don’t be lulled into a false sense of security by the belief that creating a longer, more complex, harder-to-guess password will somehow make you safer online. You can create a password that is so long and complex it takes you five minutes to type, and it will do nothing to protect you if the service where you use that password stores it improperly and then has their server breached. It happens all the time.
Even with reasonable policies in place to ensure that passwords are strong, randomly generated, and not reused, people are still the weakest link in the security chain. Social engineering can convince even intelligent people to enter their credentials on a phishing site or give them up over the phone.
The solution is two-factor authentication, aka 2FA. (Some services, being sticklers for detail, call it multi-factor authentication or two-step verification, but 2FA is the most widely used term, so that’s the nomenclature I’ve chosen to use here.)
Turning on 2FA for a service changes the security requirements, forcing you to provide at least two proofs of identity when accessing a secure service. Those two forms of authentication can come from any combination of at least two of the following elements:
“Something you know,” such as a password or PIN
“Something you are,” such as a fingerprint or other biometric ID
If someone steals your password and tries to sign in from an unknown device, they need to supply a second form of identification, usually in the form of a numeric code. If the sign-in request were from someone who had stolen my account credentials, they’d be stopped dead in their tracks. Without that code, they can’t continue the sign-in process.
For the most part, the two-factor authentication systems you see in place today use the first item (your password) and the last item (your smartphone). Smartphones have become ubiquitous, making them ideal security devices.
Your smartphone can assist with authentication by providing a unique code that you use along with your password to sign in. You can acquire that code in one of two ways: Sent as a text message from the service, or generated by an app installed on your phone. (Some services also allow you to approve a push notification on your smartphone.)
A report from Microsoft concluded that 2FA works, blocking 99.9% of automated attacks. If a service provider supports multi-factor authentication, Microsoft recommends using it, even if it’s as simple as SMS-based one-time passwords. A separate report from Google offered similar conclusions.
Two-factor authentication will stop most casual attacks dead in their tracks. It’s not perfect, though. A determined attacker who is directly targeting a specific account might be able to find ways to work around it, especially if they can hijack the email account used for recovery or redirect phone calls and SMS messages to a device they control. But if someone is that determined to break into your account, you have a bigger problem.
Ready to get started? Setting up additional security for most online services requires minimal technical skills. If you can use your smartphone’s camera, type a six-digit number, and tap OK in a dialog box, you have all the skills required. The most difficult part of the job is finding the page that has the relevant settings.
Here’s everything you need to know on how to enable 2FA to step up your security.
If you’re using SMS messages, all you need to do is associate a mobile phone number with your account. (You can also use a virtual phone line, such as a Google Voice number, that can receive SMS messages.) Configure the account to send a code to that number whenever you sign in on an untrusted device. The screenshot below, for example, shows what this option looks like when enabled on the online money platform Wise.
When you set up this form of 2FA on an account for the first time, you’re typically required to re-enter your password and then enter the phone number where you want to receive authentication codes. After you complete that process, you’ll receive a code on that device. Enter the code to confirm you received it, and the 2FA setup is complete, with the service marking that device as trusted. (This is also a good time to generate a recovery code, print it out, and file that code in a safe place so you can recover it in the event your primary 2FA method is unavailable.)
Some services allow you to set up a trusted email address to receive authentication codes. The process is identical to the one for using text messages. Enter your preferred email address, wait for a code to arrive in your email app, and enter the code to confirm that this method works.
To set up an authenticator app as a trusted device, you have to first prove that you can sign into the service using your password, then prove that you are who you say you are on the trusted device, using biometrics or a PIN.
That initial configuration process requires a data connection. After that, everything happens on your device. The process is governed by a well-accepted standard — the Time-based One-Time Password algorithm (TOTP) — which uses the authenticator app as a sophisticated calculator that generates codes using the current time on your device and the shared secret. The online service uses the same secret and its own timestamp to generate codes that it compares against your entry. Both sides of the connection can adjust for time zones without problem, although your codes will fail if the time on your device is wrong.
To get started, you first need to install the authenticator app on the mobile device you want to use as your second authentication factor. Here are some authenticator apps for you to consider:
If you carry an iOS device, you can get the Google Authenticator app from the App Store. (It’s optimized for use on iPhones but should work on an iPad as well.) On Android devices, install the Google Authenticator app from the Google Play Store.
The Microsoft Authenticator app, which uses the same standard to create authentication tokens, is available for Android devices from the Google Play Store and for iOS devices from the App Store.
If you use 1Password as your password manager, 2FA support is built into the 1Password app on all platforms. For details on how to use the One-Time Password feature, see this 1Password support page. A popular open-source option, Bitwarden, offers similar features.
After you install the app for your device, the next step is to set it up to work with each account where you have enabled 2FA.
The setup process typically requires that you enter a shared secret (a long text string) using the mobile app. All of the mobile apps I listed above support using a smartphone camera to take a picture of a QR code, which contains the shared secret for your account. That’s much easier than entering a complex alphanumeric string manually.
The screenshot below, for example, is the QR code I saw when setting up a Dropbox account.
In your authenticator app, choose the option to add a new account, choose the bar code option, aim the smartphone at the bar code on your computer screen, and wait for the app to fill in the necessary fields.
After you set up the account in the authenticator app, it begins generating codes based on the shared secret and the current time. To complete the setup process, enter the current code from the authenticator app.
The next time you try to sign in with a new device or web browser, you’ll need to enter the current code, as displayed by the authenticator app.
Some 2FA settings include an option to generate special app passwords for use with ancient apps that don’t support modern authentication. The security settings for your account should guide you through that process. (But really, if you are using an app that’s so outdated it requires an app password, you are living in the Pleistocene era and you should replace it with a modern alternative.)
As part of the 2FA setup process, you should also generate one or more recovery codes, which you can print out and store in a safe place. In the event your smartphone is lost or damaged, you can use those codes to regain access to your account.
If you use SMS text messages as a second factor for authentication, transferring your number to the new phone will seamlessly transfer your 2FA setup too.
Some authenticator apps allow you to generate codes on multiple devices. 1Password and Authy both fall into this category. Set up the app on the new phone, install the app, sign in, and then check each account to confirm that the codes generated on the new phone work properly. Microsoft Authenticator allows you to back up codes to the cloud and restore them on a new device. For step-by-step instructions, see “Back up and recover account credentials in the Authenticator app.” Authy offers a similar feature.
For Google Authenticator and other no-frills apps, however, you’ll need to manually re-create each account on the new device. Install the authenticator app on your new device and repeat the setup process for each account you used with your old phone. Setting up an account on a new authenticator app in this fashion automatically disables codes generated by the old device.
Turning on 2FA for a service changes the security requirements, forcing you to provide at least two proofs of identity when accessing a secure service for the first time on an unknown device. After you successfully meet that challenge, you usually have the option to categorize the device as trusted, which means that 2FA requests should be relatively rare on the devices you use regularly.
The best authentication method is the one you’re most comfortable with, assuming you have a choice at all. Whenever possible, you should set up at least two verification options, to avoid the risk of being locked out of your account.
When I have a choice, I prefer the option to use an authenticator app rather than receiving codes via text message, and so should you, for two good reasons. The first reason is a matter of simple logistics. There are times when you have access to the internet (via a wired connection or Wi-Fi) but can’t receive a text message, because your cellular signal is weak or nonexistent, or you’re using a different SIM while traveling. The second reason is the small but real chance that an attacker will social-engineer their way through your mobile carrier’s defenses to acquire a SIM card with your phone number, a process called SIM swapping or simjacking.
The most popular 2FA app is Google Authenticator, which is available on iOS and Android. But because the process for generating secure tokens is based on open standards, there are plenty of alternatives! One highly regarded alternative is Authy, a free, cross-platform authenticator app that allows you to manage codes on multiple devices with the ability to back up and sync those credentials.
Or maybe you don’t need a dedicated authenticator app at all. Increasingly, password managers like Bitwarden and 1Password include the ability to generate 2FA codes and sync them along with the password repository.
If you prefer, you can also mix and match authenticator apps on a trusted device. I use 1Password to save both passwords and 2FA codes for most sites and services, making sign-in even more seamless. However, I use the separate Microsoft Authenticator app for high-value accounts, including verification codes for setting up 1Password on a new device. I go into more detail about your authenticator app options here: “Protect yourself: How to choose the right two-factor authenticator app.”
When I started writing about this technology, more than a decade ago, 2FA support was relatively rare. Today, it’s commonplace and increasingly becoming a checklist feature that security-conscious customers demand from online services.
Google accounts, including both consumer Gmail and business Google Workspace accounts, offer a wide range of two-step verification alternatives and now support passkeys. This support page will get you started: 2-Step Verification (google.com).
Administrators of Microsoft 365 business and enterprise subscriptions manage user authentication with Microsoft’s cloud-based identity and access management platform, Entra ID (formerly known as Azure Active Directory). If your IT department has enabled this feature, follow these instructions: “Set up your Microsoft 365 sign-in for multi-factor authentication”.
For Apple accounts, two-factor authentication requires that you supply a six-digit verification code when signing in on a new device for the first time. Apple assumes you have another trusted Apple device handy. (You can use a trusted phone number if you don’t have access to another device signed in to your Apple account.) Official instructions are in this Apple Support article: “Two-factor authentication for Apple ID”.
2FA support is ubiquitous among social media services (Facebook, X/Twitter, Instagram, and so on). Every online storage service worth considering supports 2FA, as do most domain registrars and web hosting companies. If you’re unsure about a specific service, the best place to check is a superb open source information repository called the 2FA Directory, which is run by a Swedish nonprofit, the 2factorauth group, and maintained on GitHub.
And if a high-value service you rely on doesn’t support 2FA, well, maybe you should consider switching to one that does.
You probably have login credentials at dozens of online services that support 2FA, so the best strategy is to make a prioritized list and work your way through it. I suggest following these priorities:
Password/identity managers: Using a password manager is perhaps the most important way to ensure that you have a strong, unique password for every service, but that also creates a single point of attack. Adding 2FA shores up that potential weakness. Note that for some password management software, 2FA support is a paid option.
Microsoft, Google, and Apple accounts: If you use services from any of these major platform companies, adding 2FA support is essential. Fortunately, it’s also easy. (See the previous section for links to detailed instructions.)
Email accounts: If a bad actor can take over your email account, they can often wreak havoc, because email messages are a standard means of sending password reset links. Messages sent from a compromised email account can also be used to attack your friends and co-workers (by sending malware-laden attachments, for example). If you use Outlook.com, Exchange Online, Gmail, or Google Workspace, your email account uses the identity verification method associated with your Microsoft or Google account. If you use a different email service, you’ll need to set up 2FA separately.
Social media accounts: As with email, the biggest risk associated with a hacked Facebook or Instagram account is that it will be used against your friends and associates. Even if you’re a lurker who rarely posts anything on social media, you should protect these accounts.
Banks and financial institutions: Most banks and credit card companies have made significant investments in back-end fraud detection programs, which is why 2FA options are typically limited compared with other categories. Nonetheless, it’s worth exploring these settings and securing them as much as possible.
Shopping and online commerce: Any site where you’ve saved a credit card number should be secured.