Перейти к основному содержимому

Двухфакторная аутентификация (2FA)

Двухфакторная аутентификация (2FA) — это протокол безопасности, который требует от пользователей подтверждения своей личности с помощью двух независимых учётных данных из разных категорий — обычно чего-либо, что вы знаете (пароль), и чего-либо, что вы имеете (одноразовый код, доставленный на телефон или приложение аутентификатора) — перед предоставлением доступа или привилегированного действия.

Что такое двухфакторная аутентификация?

Двухфакторная аутентификация (2FA), конкретная реализация более широкой концепции многофакторной аутентификации (MFA), — это механизм входа и проверки действий, который требует от пользователя предоставления доказательства из двух различных категорий факторов аутентификации до того, как система предоставит доступ или запишет привилегированное действие. Три признанные категории: факторы знания (пароли, пин-коды, контрольные вопросы), факторы владения (мобильные телефоны, аппаратные токены, приложения аутентификаторы) и факторы принадлежности (биометрика, такая как отпечатки пальцев или геометрия лица). Истинная 2FA система требует факторов из как минимум двух разных категорий — комбинирование двух паролей, например, не подходит.

Технический механизм

Самая распространённая реализация в потребительских веб-приложениях — это TOTP (одноразовый пароль на основе времени), стандартизированный в RFC 6238. Во время регистрации сервер генерирует секретный ключ и делится им с пользователем, обычно через QR-код, который импортируется в приложение аутентификатора, такое как Google Authenticator, Authy или 1Password. После этого и сервер, и приложение независимо вычисляют 6-значный код путём применения HMAC-SHA1 к комбинации общего секрета и текущей временной метки Unix, разделённой на 30-секундные окна. Поскольку обе стороны используют одинаковый алгоритм и секрет, генерируемый ими код идентичен — и действителен только в текущем временном окне.

Другие распространённые механизмы доставки 2FA включают:

Когда 2FA используется на платформах конкурсов и голосования?

Платформы конкурсов развёртывают 2FA чаще всего при создании учётной записи (для проверки того, что реальный номер телефона или адрес электронной почты принадлежат регистранту), при входе для вернувшихся избирателей и иногда как барьер на само действие отправки голоса — особенно для высокопоставленных конкурсов, где каждому зарегистрированному пользователю разрешено ровно один голос. Вариант проверки номера телефона особенно эффективен, поскольку приобретение большого количества уникальных проверенных номеров телефонов несёт значительные затраты и операционные издержки для операторов ботов.

Как голоса взаимодействуют с 2FA

Когда платформа конкурса требует проверенных через 2FA аккаунтов для голосования, каждый голос неявно подкреплён подтверждённым сигналом личности: номер телефона или адрес электронной почты, которые получили одноразовый код при регистрации. Оператор бота, желающий отправить N поддельных голосов, используя защищённые 2FA аккаунты, должен поэтому приобрести N уникальных номеров телефонов или почтовых ящиков, способных получать OTP сообщения, и завершить шаг проверки для каждого — процесс, который не может быть полностью автоматизирован и масштабируется плохо.

SMS-базированная 2FA может быть частично обойдена с использованием сервисов виртуальных номеров телефонов, поэтому более сложные системы предотвращения мошенничества в конкурсах реализуют проверки на уровне оператора связи, которые помечают VoIP или негеографические номера. TOTP-базированная 2FA сложнее в массовом приобретении, потому что требует постоянного управления тайнами для каждого аккаунта. Ключи FIDO2/WebAuthn практически устойчивы к мошенничеству при массовой регистрации, потому что требуется физическое оборудование.

Специфика продавцов и стандартов

2FA — это не продукт одного продавца, а открытая категория, регулируемая стандартами IETF (RFC 6238 для TOTP, RFC 4226 для HOTP) и спецификацией WebAuthn альянса FIDO. Библиотеки реализации существуют для каждого крупного языка программирования. Поставщики облачных идентификаторов, такие как Google Identity Platform, Auth0 и Amazon Cognito, предлагают 2FA как встроенную функцию, которую платформы конкурсов могут включить без написания логики аутентификации с нуля.

Законное использование

2FA — это основной контроль безопасности практически в каждом чувствительном цифровом контексте: интернет-банкинг, корпоративные VPN, входы на биржи криптовалют, государственные электронные услуги, порталы здравоохранения и защита учётных записей социальных сетей. Её развёртывание на платформах голосования служит двойной цели обеспечения уникальности избирателя и обеспечения отслеживаемости для расследований мошенничества.

Угол предотвращения мошенничества

С точки зрения целостности конкурса, 2FA — один из наиболее эффективных структурных элементов управления, потому что он переносит бремя предотвращения мошенничества с обнаружения поведения бота (что является гонкой вооружений) на обеспечение дефицита реальной личности. Номер телефона или почтовый ящик — это конечный, дорогой в приобретении ресурс. Когда каждый голос требует одного такого ресурса и живого шага проверки, экономика крупномасштабного манипулирования голосами кардинально меняется: то, что было ранее достижимо с дата-центром, полным IP-адресов, теперь требует параллельной операции, включающей активы реальной телекоммуникационной инфраструктуры или человеческие фермы, обе из которых вводят правовое воздействие и операционные издержки, которые большинство операторов мошенничества не готовы выдержать.

Из блога — гайды и кейсы

Практические гайды, технические глубокие-дайвы, анонимизированные кейсы.60+ статей. Подборка обновляется.

Victor Williams — founder of Buyvotescontest.com
Victor Williams
Онлайн · обычно отвечаем за 5 мин

Привет 👋 — киньте URL конкурса, в течение часа пришлю расценку. Карта пока не нужна.