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) и как он работает?