В современном мире мы постоянно сталкиваемся с многофакторной (в частности двухфакторной, 2FA) аутентификацией. Поговорим о том, что же это значит.
Факторы аутентификации – категории свойств пользователя, которые доказывают что он это он, свойства которые делают человека уникальным. Такие свойства в контексте авторизации еще называют credentials. Обычно выделяют три фактора:
• Что пользователь знает. Самый распространенный: пароль, секретный вопрос.
• Чем владеет. Это ключ от механического замка, карточка с чипом, электронный токен. Приложения для генерации TOTP/HOTP кодов вроде Authenticator позволяют использовать в качестве этого фактора мобильный девайс.
• Чем является. Биометрические данные: отпечаток пальца, голос, сетчатка глаза.
Иногда выделяют дополнительные факторы:
• Где находится. Доступ к ресурсу разрешен только из корпоративной сети внутри офиса.
• Что делает. Поведенческий фактор. Windows picture password, No CAPTCHA reCAPTCHA. С развитием машинного обучения этот фактор будет всё больше встречаться в будущем.
Стоит заметить что, например, аутентификация по отпечатку пальца+сетчатке глаза не является двухфакторной, потому что это креденшлы одного и того же фактора.