Народ, всем привет. В наших реалиях защита личных данных довольно важная задача. У каждого из нас есть почтовые сервисы, интернет-банкинг, социальные сети, какие-то игры, вес они хранят информацию, которая может представлять ценность для злоумышленника. Причем стандартная защита при помощи пароля уже давно не считается надёжной, ну просто потому, что люди часто используют простые комбинации, повторяют пароли на разных сайтах или хранят их в доступных местах.
Да, могу сказать по себе, что проблема как раз в количестве всех этих сервисов, которые уже зашкаливают. Паролей может быть огромное количество, всех и не запомнить, а менеджерами паролей умеют пользоваться далеко не каждый. Именно поэтому всё чаще используется двухфакторная аутентификация (2FA), некий дополнительный уровень безопасности, который значительно снижает риск взлома.
Суть двухфакторной аутентификации в том, что для подтверждения личности пользователя недостаточно одного пароля. Вместо этого система требует два типа доказательства:
- первый — это то, что пользователь знает (например, пароль),
- второй — это то, чем он обладает (телефон, аппаратный токен) или чем он является (отпечаток пальца, лицо, голос).
Таким образом, если злоумышленник украдёт пароль, он всё равно не сможет получить доступ к аккаунту без второго фактора. Самый распространённый тип 2FA сегодня, это комбинация пароля и временного кода, который приходит по SMS, по электронной почте, генерируется в специальном приложении или на отдельном устройстве.
Принцип работы большинства этих методов одинаков: система аутентификации отправляет или проверяет одноразовый код, который действителен ограниченное время (обычно 30–60 секунд), после чего становится недействительным. Даже если кто-то перехватит такой код, использовать его можно будет только в течение короткого времени, да и то при наличии правильного пароля.
Наиболее простой и знакомый большинству способ двухфакторной защиты это SMS-коды. При попытке входа пользователь вводит свой пароль, а затем получает сообщение с шестизначным кодом, который нужно ввести на сайте. Это просто и удобно, но, как ни странно, не очень безопасно. Причина в том, что SMS можно перехватить. Существуют атаки через поддельные базовые станции (так называемые IMSI-catcher), а также схемы социальной инженерии, при которых злоумышленник получает доступ к SIM-карте жертвы, например, через её перевыпуск в салоне связи. Поэтому сегодня всё чаще рекомендуют использовать альтернативные способы.
Если Вам нравятся наши статьи, и вы хотите отблагодарить автора (на развитие канала), нам будет очень приятно!
Например, это приложения-генераторы кодов, такие как Google Authenticator, Microsoft Authenticator, Authy и другие. Они используют протокол TOTP (Time-based One-Time Password), при котором одноразовые коды генерируются на основе секретного ключа и текущего времени. При настройке двухфакторной защиты приложение получает уникальный секретный ключ, который хранится в зашифрованном виде.
Затем, каждые 30 секунд, приложение вычисляет новый код по математической формуле, основанной на этом ключе и текущем времени. Сервер, к которому пользователь пытается подключиться, знает тот же ключ (или его хеш) и может проверить, правильный ли код был введён. Это работает даже без подключения к интернету, потому что код зависит только от времени и заранее известного секрета.
Такую систему часто использует в корпоративной среде (в том числе и на моей работе). Тут еще важным моментом является резервное копирование, то есть, если пользователь потеряет доступ к телефону, он может остаться без доступа ко всем аккаунтам, где включён TOTP. Поэтому многие сервисы предлагают создать резервные коды или использовать облачную синхронизацию.
Другой вид двухфакторной защиты — это аппаратные токены. Они бывают разных форм, от простых USB-ключей, которые вставляются в компьютер, до Bluetooth-брелков и устройств с экраном. Такие токены работают по принципу криптографического подтверждения, они генерируют цифровую подпись, уникальную для каждого сайта, и отправляют её серверу, подтверждая подлинность пользователя. При этом токен не раскрывает своего ключа, а злоумышленник не может подделать подпись.
В отличие от кодов, эти устройства не требуют ввода цифр вручную, что удобно и безопасно. Например, при входе на сайт с поддержкой U2F достаточно вставить токен и нажать кнопку на нём.
Существует также биометрическая двухфакторная аутентификация, где в качестве второго фактора выступает нечто уникальное, присущее только пользователю, например, отпечаток пальца, распознавание лица или радужной оболочки глаза. Эти методы становятся всё более распространёнными благодаря распространению устройств с сенсорами биометрии, тех же смартфонов, ноутбуков, планшетов. Однако такие данные сложно заменить, и если пароль можно поменять, то отпечаток пальца уже нет. А при утечке биометрических данных последствия могут быть гораздо серьезнее.
И под конец хочу сказать, что важно понимать, двухфакторная аутентификация не делает систему неуязвимой, но существенно повышает уровень безопасности. Даже если злоумышленник украдёт пароль, ему будет крайне сложно пройти второй уровень защиты, особенно если используется аппаратный токен или TOTP-приложение.
Однако стоит учитывать и возможные риски. Скажем, человек может потерять устройство, или забыть сохранить резервные коды, случайно отключить 2FA или стать жертвой фишинга. помните, у нас недавно была статья на эту тему. Кто не в курсе, напомню, что существуют сайты-клоны, которые подделывают страницы входа и перехватывают не только пароль, но и одноразовый код. Поэтому важно следить за тем, что и куда ты вводишь. Ну, например, следить за URL сайтов, не вводить коды на подозрительных ресурсах, и по возможности включать push-уведомления с подтверждением входа. Но я уже об этом писал, повторяться не буду.
Кстати, у нас есть и другой канал, FIT FOR FUN, про фитнес, бодибилдинг, правильное питание, похудение и ЗОЖ в целом. Кому интересно, ждем вас в гости!