![](https://www.eff.org/files/2016/12/09/2fa-1.png)
What is Two Factor Authentication?
Two-factor authentication also known as multi-factor authentication is a security process. In this, a user has to authenticate themselves by two authentication factors. This is done in order to protect against malicious authentication bypass attacks. Two-factor authentication provides much more security than single-factor authentication. Rather than just a passcode or password for authentication, this process provides two factors. The first being the password and the second might be a security token like OTP(One Time Password) on the registered phone number.
Passwords can easily be brute-forced by the attackers. The password cracking methods are getting easier with time. 2FA or two-factor authentication provides additional security to the authentication process. This makes it hard for the attacker to gain access to the victim’s profile or device. Gaining access to maliciously could result in the exploitation of sensitive information. Therefore, the victim’s password should not only be a way of authentication.
What are the factors for Authentication?
There are several ways in which a user gets authenticated. The most common method of two-factor authentication includes a passcode and another factor that ensures the integrity of the user. Here is the list of all the possible factors on which users get authenticated :
1] Knowledge Factor: This is purely based on the knowledge of the user, for example, passwords or passcodes, and pins.
2] Possession Factor: This is something that the user has, for example, a cellphone number or email id.
3] Location Factor: In this factor, the user location gets authenticated from where the user logged in. There is a specified range of locations in which the user of the specified applications get authorized to use. So, only the users within the range get to log in.
4] Inherence Factor: This is basically the biometric factor, such as fingerprint or face unlock, etc.
5] Time Factor: This factor restricts the user to use or initialize the specific application within a certain range of time.
How does Two-Factor Authentication work?
The first step involves the user logging in to a website or web application. The application’s server recognizes the user through a username or password. For the processes that don’t involve any username or passwords, the application or the website generates a security key that is encrypted. This key is unique for every user. The decryption key is private and this process gets done in the background. The site then prompts the user for the second stage of authentication. The second step might be a security token like OTP(One Time Password). Then the application verifies the security to the user. After this second authentication gets done, the user is allowed to login and use the resources of the application. This is how the integrity of the user can be checked with two-factor authentication.
Downsides
The idea of two-factor authentication is to have a compromise between additional security layers and user urgency. Sometimes, when you log in to a web application using two-factor authentication, it verifies the device and you are only allowed to use the resources on the same device for a certain session. For example, if the user is in some urgency to login and uses the resources. If the security token for further verification gets late then the user gets inconvenient. Another main reason becomes that some users lock themselves out of their account and lose lots of important sensitive data and resources. So, increasing the layers of security creates problems for various users. It is inconvenient to provide multilayer authentication within certain limits.
Why should you turn on Two-Factor Authentication?
Using only one factor by consideration of security purposes is not quite enough. For example, signatures can be forged and passwords can be leaked or intercepted. This can be done by breaking into the server they are stored on or specific malware known as keyloggers can intercept all the keystrokes from your machine which would result in password leakage. Most of the companies rely on remote working, two factor authentication allows to identify the authenticity of employees. It reduces the work of help desks to reset the passwords from time to time. This increases the productivity of work.