1. HTTP, HTTPS и TLS

  • В чем основные различия между HTTP и HTTPS?
  • Как TLS (Transport Layer Security) улучшает безопасность веба?
  • Что такое TLS рукопожатие и каковы его основные этапы?
  • В чем разница между TLS 1.2 и TLS 1.3?
  • Какие риски безопасности существуют в HTTP и как HTTPS их минимизирует?
  • Как работают удостоверяющие центры (CAs) в TLS?
  • Что происходит, если сайт использует самоподписанный сертификат вместо сертификата от доверенного CA?
  • Что такое HSTS (HTTP Strict Transport Security) и почему это важно?
  • Что такое forward secrecy и как это улучшает безопасность в TLS?

2. Шифрование (симметричное и асимметричное)

  • В чем разница между симметричным и асимметричным шифрованием?
  • Какие алгоритмы симметричного шифрования обычно используются, и когда их следует использовать?
  • Какие алгоритмы асимметричного шифрования обычно используются, и когда их следует использовать?
  • Как работает криптография с открытым ключом в SSL/TLS?
  • Какую роль играет обмен ключами Диффи-Хеллмана в обеспечении безопасности связи?
  • Как работает шифрование RSA в аутентификации?
  • Что такое криптография эллиптической кривой (ECC) и как она соотносится с RSA?

3. Протоколы аутентификации (OAuth, OpenID, SAML)

  • В чем разница между OAuth 2.0 и OpenID Connect?
  • Какие основные роли существуют в OAuth 2.0 (Resource Owner, Client, Authorization Server, Resource Server)?
  • Какие типы грантов в OAuth 2.0 существуют и когда их следует использовать?
  • Что такое Authorization Code Flow в OAuth 2.0 и почему он безопаснее, чем Implicit Flow?
  • Как OAuth 2.0 с PKCE улучшает безопасность в мобильных приложениях?
  • Что такое JWT (JSON Web Token) и как он работает в OAuth аутентификации?
  • Что такое токены доступа и refresh токены, и чем они отличаются?
  • Какие риски безопасности существуют с токенами OAuth и как их можно минимизировать?
  • Чем SAML (Security Assertion Markup Language) отличается от OAuth?
  • В чем разница между OAuth 1.0 и OAuth 2.0?

4. Cookies и Токены в аутентификации

  • В чем разница между аутентификацией на основе сессий и аутентификацией на основе токенов?
  • Что такое HTTP-only cookies и почему они важны для безопасности?
  • Какие флаги Secure, SameSite и HttpOnly существуют в cookies?
  • Как работают JWT (JSON Web Tokens) и каковы их преимущества по сравнению с традиционной аутентификацией на основе сессий?
  • Какие риски безопасности существуют при использовании JWT и как их можно минимизировать?
  • Как работает аутентификация на основе cookies в веб-приложении?
  • Что такое CSRF (Cross-Site Request Forgery) и как его предотвратить?
  • В чем разница между first-party и third-party cookies?
  • Как веб-приложение может обнаружить и предотвратить захват сессии?
  • Как можно отслеживать анонимных пользователей с помощью cookies?

5. Отслеживание анонимных пользователей и сохранение аутентификации

  • Как мы можем отслеживать анонимных пользователей до входа в систему с помощью cookies?
  • Что такое фингерпринтинг и как это отличается от использования cookies?
  • Как приложение может запомнить пользователей без хранения чувствительной информации?
  • Как работает функция “Remember Me” в системах аутентификации?
  • Какие риски безопасности существуют у постоянных cookies и как их можно минимизировать?

6. Многофакторная аутентификация (MFA) и одноразовые пароли (OTP)

  • Что такое многофакторная аутентификация (MFA) и почему она используется?
  • Какие факторы обычно используются в MFA?
  • В чем разница между TOTP (Time-Based OTP) и HOTP (HMAC-Based OTP)?
  • Как работает Google Authenticator?
  • Как SMS OTP сравнивается с OTP, сгенерированными приложением?
  • Какие риски безопасности существуют при использовании SMS OTP и как их можно минимизировать?
  • Как WebAuthn (FIDO2) улучшает безопасность аутентификации?

7. Открытые решения для аутентификации и авторизации

  • Какие открытые библиотеки можно использовать для аутентификации по OAuth 2.0?
  • Какие популярные провайдеры идентификации (IdP) существуют для аутентификации (Okta, Auth0, Keycloak и др.)?
  • Что такое Keycloak и как он помогает в аутентификации?
  • Как можно использовать Auth0 или Firebase Authentication для входа?
  • Как работает LDAP (Lightweight Directory Access Protocol) в аутентификации?

8. Безопасность API и лучшие практики

  • Какие лучшие практики существуют для обеспечения безопасности API аутентификации?
  • Что такое HMAC (Hash-based Message Authentication Code) и как он используется для безопасной аутентификации?
  • Как работает срок действия JWT и почему это необходимо?
  • В чем разница между stateless и stateful аутентификацией?
  • Как ограничение скорости запросов (rate-limiting) и троттлинг помогают предотвращать атаки на аутентификацию?
  • Как обеспечить безопасность паролей при их хранении?
  • Что такое bcrypt, PBKDF2 и Argon2, и как они улучшают безопасность паролей?
  • Как работает OAuth 2.0 в архитектурах микросервисов?
  • Что такое аутентификация устройства и чем она отличается от аутентификации пользователя?

9. Общие угрозы безопасности в аутентификации

  • Что такое защита от brute force атак и как ее можно реализовать?
  • Что такое credential stuffing и как его предотвратить?
  • Что такое политика блокировки учетной записи и как ее следует проектировать?
  • Какие существуют методы аутентификации без пароля и как они работают?
  • Как фишинг влияет на аутентификацию и как его можно минимизировать?
  • Что такое атака “man-in-the-middle” (MITM) и как HTTPS предотвращает ее?

10. Реальные сценарии аутентификации

  • Как бы вы спроектировали систему аутентификации для банковского приложения?
  • Как бы вы реализовали OAuth в мобильном приложении?
  • Как обрабатывать социальный вход (Google, Facebook, GitHub и др.)?
  • Какие плюсы и минусы у аутентификации на основе сессий и токенов?
  • Как вы обеспечите безопасный выход из системы в многоплатформенных сессиях?
  • Как отменить JWT токены при выходе пользователя?
  • Что такое единый вход (SSO) и как он работает?