Ответы на вопросы 3
.pdf1.Дайте строгое определение и разграничьте понятия идентификации, аутентификации, авторизации и аудита. Приведите по одному практическому примеру для каждого процесса.
1.Идентификация
●Определение: Процесс, в котором субъект заявляет о своей принадлежности к определённой сущности через идентификатор (например, имя пользователя, номер сертификата, адрес устройства). Формально это сопоставление элемента множества имён множеству субъектов системы.
●Пример: Пользователь вводит логин на сайте. Логин сам по себе только заявляет, кто он, без подтверждения подлинности.
2.Аутентификация
●Определение: Процедура проверки истинности идентификации субъекта. Субъект доказывает владение секретом (пароль, токен, криптографический ключ или биометрический признак).
●Пример: Ввод пароля и одноразового кода из SMS для подтверждения личности при входе в интернет-банк.
3.Авторизация
●Определение: Процесс назначения субъекту прав доступа к ресурсам после успешной аутентификации. Может основываться на ролях (RBAC), атрибутах (ABAC) или контексте.
●Пример: После входа сотрудник получает доступ только к файлам своей команды на корпоративном сервере.
4.Аудит
●Определение: Регистрация действий субъекта в системе безопасности — кто, где и когда выполнял операции. Аудит обеспечивает возможность расследования инцидентов и доказательность действий, но не повышает криптографическую стойкость аутентификации.
●Пример: Журналирование успешных и неудачных попыток входа в систему с указанием времени, IP-адреса и идентификатора пользователя.
2.Объясните, почему свойство "отсутствие повторения" является критически важным для протоколов аутентификации. Опишите три различных механизма, реализующих это свойство на практике.
Определение: Свойство протоколов аутентификации, при котором злоумышленник, перехвативший данные предыдущей сессии, не может повторно использовать их для успешного входа. Это критически важно, потому что без него любая перехваченная аутентификационная информация (например, пароль или токен) может быть использована повторно, что делает систему уязвимой к атакам воспроизведения (replay attacks).
Практические механизмы реализации:
1.Одноразовый вызов (nonce, challenge):
○Сервер генерирует случайное число (nonce) для каждой сессии.
○Клиент подписывает или шифрует этот nonce вместе с другими данными.
○Если злоумышленник повторит старое сообщение, сервер обнаружит, что
nonce |
уже |
использовался, |
и |
отклонит |
запрос. |
2.Временные метки (timestamp):
○Каждое сообщение аутентификации содержит отметку времени.
○Сервер принимает только сообщения с актуальной меткой.
○Это предотвращает повторное использование старых сообщений, но
требует |
синхронизированного |
времени. |
3.Одноразовые пароли (OTP) и счётчики:
○Пароли действуют только для одной сессии или определённого периода времени.
○Сервер хранит короткую историю использованных OTP или проверяет счётчик, чтобы предотвратить повторное использование.
3.В чём заключаются принципиальные математические основы безопасности алгоритма RSA? Перечислите не менее трёх критически важных требований к его безопасной реализации, связанных с побочными каналами.
Математические основы RSA:
●Безопасность основана на трудности факторизации больших составных чисел N=p q, где p и q — случайные большие простые числа.
●Ключи формируются так, что e d≡1(modφ(N)), что позволяет реализовать операции шифрования/подписи через возведение в степень по модулю N.
●Подпись проверяется публичным ключом:s^e mod N = m, что гарантирует владение приватным ключом.
Критически важные требования для защиты от побочных каналов:
1.Константное время операций — предотвращает утечку ключей по времени вычислений.
2.Защита CRT-параметров — промежуточные значения p,q,dp,dq не должны утекать.
3.Случайные маскировки и проверка корректности — скрывают зависимость вычислений от битов ключа и предотвращают атаки через электромагнитные/энергетические каналы.
4.Опишите алгоритм формирования цифровой подписи по схеме RSA-PSS. Каково предназначение salt в этом алгоритме и как она повышает стойкость к атакам?
1.Вычисляется криптохеш сообщения h=H(M).
2.Генерируется случайная строка salt длины sss байт.
3.Формируется вспомогательное сообщение M′=(08) h salt и вычисляется его хеш H′.
4.Создаётся блок данных DB=отступ 0x01 salt, маскируется через MGF1 и объединяется с H’ в EM.
5.Вычисляется подпись s=(OS2IP(EM))d mod N.
6.Проверка: s^e mod N должно соответствовать корректно закодированному EM.
Назначение salt:
●Salt вводит рандомизацию в подпись, так что одна и та же подпись для одного сообщения будет различаться при каждом вызове.
●Это повышает стойкость к атакам на повтор и анализ структуры подписи, делая атаки по предсказанию или подбору значительно сложнее.
5.Сравните алгоритмы цифровой подписи Шнорра и ECDSA. Укажите их ключевое структурное различие и объясните, почему детерминированная версия Шнорра считается более предпочтительной с точки зрения безопасности.
Ключевое различие:
Шнорр использует линейную комбинацию случайного числа и приватного ключа в рамках простой группы, а ECDSA опирается на обратимые эллиптические кривые с нелинейной формулой подписи, что делает вычисления сложнее и менее прямыми для
анализа. |
|
|
Детерминированная |
версия |
Шнорра: |
Генерирует одноразовый номер kkk через хеш приватного ключа и сообщения, исключая полностью случайность генератора.
●Преимущество: защищает от утечки ключа при повторном использовании случайного числа и снижает риск атак на слабые генераторы случайных чисел, повышая безопасность.
Практическое влияние: EdDSA развивает идеи детерминированного Шнорра, упрощая реализацию и повышая стойкость к ошибкам генерации случайных чисел, сохраняя строгие математические гарантии безопасности.\
6. В чём состоит главное преимущество криптографии на эллиптических кривых перед RSA с точки зрения размера ключей и производительности при сопоставимом уровне безопасности?
Главное преимущество эллиптических кривых (ECC) перед RSA — более короткие ключи при сопоставимом уровне безопасности, что обеспечивает меньшую нагрузку на процессор и память. Например, 256 битный ключ ECC обеспечивает примерно такую же стойкость, как 3072 битный ключ RSA. Это повышает производительность операций шифрования, подписи и проверки подписи, ускоряет обмен ключами и уменьшает
объём передаваемых данных, что критично для мобильных устройств и встроенных систем.
7. Объясните суть преобразования Фиата-Шамира. Как оно позволяет превратить интерактивный протокол доказательства с нулевым разглашением в неинтерактивную схему цифровой подписи?
Преобразование Фиата Шамира заменяет случайный вызов проверяющей стороны в интерактивном протоколе доказательства с нулевым разглашением на детерминированный хеш от сообщения и первого шага протокола. То есть вместо общения с проверяющим, хеш функции создаёт «искусственный вызов». В результате интерактивное доказательство превращается в неинтерактивную подпись, где отправитель формирует ответ сразу и подписывает сообщение. Проверяющий может самостоятельно вычислить хеш, проверить корректность ответа и убедиться, что секрет был известен, не требуя обмена сообщениями. Это позволяет использовать протоколы нулевого разглашения для цифровых подписей без онлайн-интерактивности.
8. Назовите основную математическую задачу, обеспечивающую стойкость криптосистемы Эль-Гамаля. Опишите уязвимость, возникающую при повторном использовании случайного параметра k при генерации подписи.
Основная математическая задача: стойкость криптосистемы Эль Гамаля обеспечивается трудностью вычисления дискретного логарифма в конечной мультипликативной группе *.
Уязвимость при повторном использовании случайного параметра k: если один и тот же k используется для подписи разных сообщений, злоумышленник может решить линейное уравнение и вычислить секретный ключ x. Поэтому k должен быть уникальным и криптостойким для каждой подписи.
9. Каковы основные причины перехода к постквантовой криптографии? Сравните подходы, лежащие в основе алгоритмов CRYSTALS-Kyber и CRYSTALS-Dilithium.
Причины перехода к постквантовой криптографии: современные алгоритмы на основе RSA и эллиптических кривых уязвимы к квантовым компьютерам (алгоритмы Шора и Гровера). Необходимы схемы, стойкие к квантовым атакам.
CRYSTALS-Kyber: постквантовый механизм согласования ключа (KEM), основан на решётках и задаче обучения с ошибками (LWE/RLWE). Обеспечивает совместное генерирование секретного ключа через инкапсуляцию и декапсуляцию, эффективен по размеру ключей и скорости, безопасен против квантовых атак.
CRYSTALS-Dilithium: постквантовая схема цифровой подписи, также на основе решёток. Использует Фиат-Шамир для преобразования интерактивного доказательства
в подпись, обеспечивает EUF-CMA безопасность. Ключевое отличие: Kyber — для обмена ключами, Dilithium — для подписей.
10.Дайте определение свойствам полноты, корректности и нулевого разглашения для протоколов аутентификации с нулевым разглашением. Проиллюстрируйте эти свойства на примере протокола на квадратах.
Полнота: если пользователь честен и знает секрет, протокол почти всегда его подтверждает.
Корректность: если пользователь не знает секрет, вероятность успешной аутентификации крайне мала. Нулевое разглашение: протокол не раскрывает секрет стороннему наблюдателю.
Пример протокола на квадратах:
1.Пользователь знает секретный путь через сетку квадратов.
2.Сервер случайно выбирает ряд/колонку и просит показать соответствующую клетку.
3.Полнота: честный пользователь всегда проходит проверку.
4.Корректность: кто не знает пути, угадает только с крайне малой вероятностью.
5.Нулевое разглашение: наблюдатель видит только выбранные клетки, но не может восстановить весь секретный путь.
11.Сравните протоколы PAP и CHAP. Объясните, почему CHAP безопаснее, но всё ещё уязвим для оффлайн-атак перебора.
PAP (Password Authentication Protocol) — самый простой протокол аутентификации:
клиент отправляет логин и пароль в открытом виде серверу. Его слабость очевидна: любой перехват трафика раскрывает пароль, что делает PAP неприемлемым для безопасных систем.
CHAP (Challenge-Handshake Authentication Protocol) использует схему
«вызов ответ»: сервер генерирует случайный вызов, клиент вычисляет ответ с использованием пароля, сервер проверяет совпадение. Пароль не передаётся напрямую, что защищает от пассивного перехвата и повторного воспроизведения
(replay attack).
Почему CHAP безопаснее, но уязвим для оффлайн-атак: злоумышленник,
перехватив пару «вызов ответ», не получает пароль напрямую, но может попытаться перебрать словарь возможных паролей локально, сравнивая ожидаемые ответы с перехваченными. Таким образом, CHAP снижает риск немедленного перехвата, но не исключает оффлайн-атаку.
12. Опишите принцип работы одноразовых паролей по стандарту TOTP. В чём состоит ключевое преимущество TOTP перед HOTP и какая новая угроза для них актуальна?
Принцип работы TOTP (Time-based One-Time Password): сервер и клиент имеют общий секретный ключ. На его основе и текущего времени (обычно делённого на шаг, например 30 секунд) генерируется одноразовый код с помощью HMAC. Клиент отправляет этот код, сервер проверяет соответствие — если совпадает, аутентификация успешна.
Ключевое преимущество TOTP перед HOTP: коды зависят от времени, а не от счётчика событий. Это устраняет проблему рассинхронизации счётчика, характерную для HOTP, и ограничивает окно действия кода, делая его недоступным для повторного использования.
Новая актуальная угроза: фишинг и атаки типа «man-in-the-middle» — злоумышленник может мгновенно перехватить одноразовый код и использовать его в реальном времени для доступа к сервису. То есть короткое время действия кода не защищает от прямого подменного использования при интерактивной атаке.
13. Опишите роли Центра распределения ключей, Сервера аутентификации и Сервера выдачи билетов в архитектуре Kerberos. Что такое билет-граната и для чего он используется?
Вархитектуре Kerberos ключевыми компонентами являются:
1.Центр распределения ключей (KDC, Key Distribution Center) — доверенный узел, который управляет всеми секретами пользователей и сервисов. Он состоит из двух логических частей и обеспечивает безопасное распределение ключей для аутентификации и доступа к ресурсам.
2.Сервер аутентификации (AS, Authentication Server) — часть KDC, которая проверяет подлинность пользователя при первой попытке входа. Пользователь отправляет логин, AS проверяет его и выдаёт билет-гранату (TGT, Ticket Granting Ticket), зашифрованный ключом, известным только KDC. TGT служит временным доказательством аутентичности пользователя, позволяя ему обращаться к другим сервисам, не вводя пароль повторно.
3.Сервер выдачи билетов (TGS, Ticket Granting Server) — часть KDC, которая принимает TGT от пользователя и выдаёт «билеты доступа» к конкретным сервисам сети. Пользователь предъявляет TGT, TGS проверяет его и создаёт билет, зашифрованный ключом сервиса, чтобы клиент мог безопасно обращаться к нужному ресурсу.
Билет-граната (TGT) — это зашифрованный билет, который удостоверяет подлинность пользователя перед TGS. Он используется для запроса билетов к конкретным сервисам без повторной аутентификации с вводом пароля, обеспечивая единую точку входа (SSO) и уменьшение передачи секретов по сети.
14. Объясните, чем принципиально отличается цель протокола OAuth 2.0 от цели OpenID Connect. Что такое токен доступа и ID-токен в контексте OIDC?
Принципиальное отличие заключается в цели:
●OAuth 2.0 — протокол делегированной авторизации. Его задача — позволить клиентскому приложению получить доступ к ресурсам пользователя на сервере ресурсов без передачи пароля, то есть контролировать что и на какой срок приложение может делать. OAuth сам по себе не гарантирует, кто именно пользователь.
●OpenID Connect (OIDC) — надстройка над OAuth 2.0 для аутентификации.
OIDC позволяет клиенту получить криптографически проверяемое утверждение о личности пользователя, обеспечивая уверенность, что пользователь действительно является тем, за кого себя выдаёт.
Вконтексте OIDC:
●Токен доступа (access token) — используется клиентом для доступа к защищённым ресурсам на сервере ресурсов. Он подтверждает права (scope) приложения, но не удостоверяет личность пользователя.
●ID-токен (ID token) — содержит информацию о пользователе (например, уникальный идентификатор, имя, email) и подписан удостоверяющим центром,
обеспечивая подтверждение аутентичности.
15.Что такое PKCE и для решения какой конкретной проблемы в OAuth 2.0 он был разработан, особенно для публичных клиентов?
PKCE (Proof Key for Code Exchange) — это расширение протокола OAuth 2.0,
разработанное для повышения безопасности потока авторизации с кодом у публичных клиентов (например, мобильных приложений и SPA), которые не могут безопасно хранить клиентский секрет.
Проблема, которую решает PKCE: злоумышленник может перехватить авторизационный код, отправленный на URI перенаправления, и обменять его на токен доступа, выдав себя за легитимного клиента.
Принцип работы PKCE:
1.Клиент заранее генерирует случайную строку — code verifier и её хеш — code challenge.
2.При запросе авторизации отправляется code challenge, а сервер возвращает код авторизации.
3.При обмене кода на токен клиент отправляет code verifier, и сервер проверяет соответствие с code challenge.
Основная цель — защита публичных клиентов от перехвата кода и повторного использования авторизационного кода.
16. Опишите механизм аутентификации по стандарту FIDO2/WebAuthn. Объясните, благодаря каким двум ключевым особенностям (привязка к источнику и защищённое хранение) эта схема является устойчивой к фишингу. Современные тренды и законодательство.
Механизм аутентификации FIDO2/WebAuthn: пользователь регистрирует аутентификатор (аппаратный ключ или программное хранилище ключей) на сервере. Аутентификатор генерирует пару ключей: приватный ключ остаётся в защищённой среде устройства, публичный ключ передаётся серверу вместе с аттестационными данными. При входе сервер отправляет вызов (challenge), который клиент подписывает приватным ключом. Сервер проверяет подпись с использованием сохранённого публичного ключа.
Две ключевые особенности, обеспечивающие фишинг-устойчивость:
1.Привязка к источнику (origin binding): подпись привязывается к конкретному веб-домену или приложению. Фишинговый сайт не сможет использовать подписанный ответ, так как origin не совпадёт.
2.Защищённое хранение приватного ключа: приватный ключ никогда не покидает аутентификатор, исключая возможность его кражи через сеть или браузер.
Современные тренды и законодательство: государства и крупные платформы активно внедряют FIDO2/WebAuthn для многофакторной аутентификации без пароля. Регуляции (например, GDPR и директива PSD2 в ЕС) стимулируют использование сильной аутентификации, повышая безопасность данных пользователей и снижая риск компрометации учётных записей.
17.Что такое беспарольная аутентификация и каковы её основные преимущества? Что такое Passkey и как он реализует концепцию passwordless?
Беспарольная аутентификация (passwordless) — это метод входа в сервис без использования классических текстовых паролей. Основная идея: идентификация пользователя через криптографические ключи, биометрию или аппаратные токены. Преимущества: фишинг-устойчивость, отсутствие проблем с подбором паролей, удобство для пользователей.
Passkey — реализация passwordless на базе FIDO2/WebAuthn. При регистрации аутентификатор генерирует пару ключей: приватный остаётся на устройстве, публичный хранится на сервере. При входе сервер выдаёт случайный вызов, который клиент подписывает приватным ключом. Так как подпись зависит от сервера, фишинговый сайт не сможет её использовать.
Ключевые особенности, обеспечивающие безопасность:
1.Привязка к источнику: подпись действительна только для конкретного сервера.
2.Защищённое хранение приватного ключа: ключ не покидает устройство,
исключая кражу через сеть.
18. В чём заключается идея адаптивной (контекстной) многофакторной аутентификации? Приведите три примера сигналов (атрибутов контекста), которые может анализировать такая система.
Адаптивная (контекстная) многофакторная аутентификация (MFA) — это подход, при котором система оценивает риск каждой попытки входа и на его основе решает, какие факторы аутентификации требовать. Идея: обычные попытки проходят легко, а подозрительные требуют дополнительных проверок, что снижает трения для пользователей и повышает безопасность.
Примеры сигналов (атрибутов контекста), которые анализирует система:
1.IP-адрес и геолокация: необычная страна или смена сети повышает риск.
2.Устройство: новый или незнакомый отпечаток устройства (User-Agent, TLS fingerprint).
3.Поведенческие признаки: скорость ввода пароля, время входа, необычные действия.
Система агрегирует эти сигналы, оценивает риск и применяет политику — дополнительный фактор, временная блокировка или уведомление. Важно поддерживать баланс между безопасностью и удобством, а при использовании MLмоделей обеспечивать объяснимость решений и защиту персональных данных.
19. Опишите, как работает механизм привязки токена к доказательству владения (Token Binding / DPoP). Какой основной класс атак он помогает предотвратить по сравнению с токенами-носителями?
Механизм Token Binding / DPoP связывает токен с конкретным клиентским ключом, чтобы исключить возможность его использования третьими лицами. Клиент генерирует пару ключей: приватный остаётся у него, публичный регистрируется у авторизационного сервера. При каждом запросе клиент подписывает его приватным ключом и отправляет подпись вместе с токеном. Сервер проверяет подпись с использованием публичного ключа и подтверждает, что токен предъявляется законным владельцем.
Основное преимущество: похищенный токен-носитель (например, JWT или OAuth2 access token) сам по себе становится бесполезным без приватного ключа клиента. Таким образом, механизм предотвращает атаки повторного использования токена третьими лицами (replay attacks, theft of bearer tokens), повышая безопасность публичных клиентов и защищая токены при компрометации канала передачи.
20. Каковы ключевые требования Федерального закона № 152-ФЗ "О персональных данных" и № 572-ФЗ (о Единой биометрической системе) к обработке биометрических данных при построении систем аутентификации?
Ключевые требования ФЗ №152 и №572-ФЗ к обработке биометрических данных в системах аутентификации сводятся к следующим пунктам:
1.Законность и согласие: обработка возможна только при наличии правовой основы — чаще всего добровольного информированного согласия субъекта. Интерфейсы регистрации и входа должны фиксировать согласие, его версию и дату, а также обеспечивать возможность отзыва.
2.Минимизация и ограничение целей: собираются только необходимые данные, используются строго для заявленной цели аутентификации, запрещена произвольная передача биометрии между сервисами.
3.Хранение и защита данных: биометрические шаблоны хранятся в зашифрованном виде, ключи шифрования отделены, доступ ограничен по принципу минимальных привилегий, ведётся журналирование и аудит операций.
4.Сроки хранения и удаление: данные хранятся не дольше необходимого срока, с возможностью автоматического удаления или анонимизации после окончания использования.
5.Права субъекта: возможность доступа к своим биометрическим данным, исправления, удаления или ограничения обработки; процедура обработки отзывов согласия.
6.Аттестация и надзор: операторы должны соответствовать требованиям сертификации, обеспечивать защиту данных, резервное копирование, контроль целостности и готовность к аудитам.
