Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: 2fa, totp, sms, u2f, security

Как реализовать двухфакторную аутентификацию?

Проверяет знание методов усиления безопасности при входе пользователя.

Короткий ответ

В 2FA требуется сочетание «что-то, что вы знаете» (пароль) и «что-то, что вы имеете» (код из SMS, TOTP‑генератор или аппаратный токен). Используют SMS/Email, RFC 6238 TOTP (Google Authenticator), аппаратные ключи U2F/WebAuthn или push‑уведомления.

Длинный ответ

Методы второго фактора:

  • SMS/Email: простой, но менее безопасный (SIM‑swap).

  • TOTP: приложение‑генератор на основе времени (Authy, Google Authenticator).

  • U2F/WebAuthn: аппаратные токены (YubiKey).

Этапы реализации:

  • Регистрация: генерируете секрет и отображаете QR‑код для TOTP или привязываете устройство.

  • Хранение: секреты в безопасном хранилище (HashiCorp Vault, зашифрованная БД).

  • Аутентификация: после проверки пароля запрашиваете код и сверяете с TOTP‑алгоритмом или проверяете U2F‑ответ.

Интеграция в Python:

pyotp для TOTP:

import pyotp
secret = pyotp.random_base32()
totp = pyotp.TOTP(secret)
code = totp.now()

webauthn для FIDO2.

Выбор метода зависит от требуемого уровня безопасности и удобства пользователя.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Python

    Python

Ключевые слова

#2fa

#totp

#sms

#u2f

#security

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.