Реплика: знание секретных ключей и криптографические операции
Всегда ли требуется знать значение секретного ключа, чтобы провести ту или иную атаку на систему аутентификации с подменой стороны? Вовсе нет.
Понятно, что знание значения секретного ключа позволяет успешно выполнить любые криптографические операции (подпись, получение общего секрета, доказательство знания ключа и пр.), однако для подавляющего большинства практических протоколов – достаточно доступа к некоторому оракулу, который может выполнять одну конкретную операцию с секретным ключом, само значение ключа при этом остаётся внутри оракула.
Хрестоматийный пример – HSM (аппаратный модуль безопасности): здесь ключ может быть принципиально неизвлекаемым – генерируется внутри модуля, операции выполняются тоже внутри. Так, для получения значения электронной подписи оракулу передаётся значение хеш-функции от документа, а в ответ приходит значение подписи. В большинстве практических случаев электронная подпись используется в качестве способа получения доказательства доступа к секретному ключу (например, в TLS и др.). При этом нетрудно придумать сценарии, когда доступ к нужному оракулу позволяет нагенерировать, скажем, подписей впрок. Это подразумевает некоторый дефект в атакуемом протоколе, потому что проверочное значение должно быть непредсказуемым, но тем не менее. А вот уже к возникновению “нужных оракулов с ключами” могут приводить ошибки в реализации верхнеуровневых протоколов.
Адрес записки: https://dxdt.ru/2023/08/07/10702/
Похожие записки:
- "Яндекс.Браузер" и российские сертификаты TLS в вебе
- Про цепочки, RSA и ECDSA
- Обновление описания TLS
- Техническое: poison-расширение и SCT-метки в Certificate Transparency
- Обновление описания TLS
- Статья о Certificate Transparency
- Недокументированные возможности автомобильного ПО
- Техническое описание TLS: обновление 2022
- Неверные обобщения "принципа Керкгоффса"
- Microsoft и DNS-over-HTTPS
- Ретроспектива заметок: ключ по фотографии
Написать комментарий