Двухфакторная аутентификация – безусловное достижение в области информационной безопасности, дающее огромную защиту ценой сравнительно небольшого неудобства. Однако, в ее наиболее распространенной реализации – одноразовых паролях (TOTP) – есть один маленький недосмотр. В момент подключения приложения-аутентификатора к аккаунту секретный ключ, связывающий их, передается в открытом виде, и, чисто теоретически, может быть перехвачен. Вероятность этого довольно низка, но мы все-таки расскажем, как снизить ее до нуля.
Помимо TOTP существует еще одна парадигма двухфакторной аутентификации: U2F (Universal Second Factor) и ее наиболее актуальная реализация – протокол WebAuthn. Они подразумевают наличие отдельного устройства (обычно в форме флешки), на котором хранится секретный ключ. Преимущество такого подхода в том, что секретный ключ никогда не передается в открытом виде. К сожалению, на данный момент очень немногие сервисы поддерживают U2F.
Сделать U2F-аутентификатор самостоятельно нельзя, его нужно покупать. Самый популярный бренд на данный момент – YubiKey.
Правда, в случае обыска U2F становится палкой о двух концах. С одной стороны, маленький аутентификатор гораздо проще спрятать или уничтожить, чем относительно громоздкий смартфон. С другой стороны, если недоброжелатели его все-таки найдут, то смогут воспользоваться им без ввода дополнительных паролей, которые были бы необходимы на смартфоне.