cat_mucius: (Default)
[personal profile] cat_mucius
Пришла в голову одна идея, поцарила и скончалась, не выдержав столкновения с жестокой реальностью. Бедняжку жаль, поэтому хочется почтить её память, озадачив вас небольшой криптографической загадочкой.

Итак, вот есть обычный SSL. Допустим, юзер заходит на сайт, сайт отсылает браузеру сертификат, тот проверяет, что сертификат подлинный, имя сайта совпадает с указанным. Всё ок. Теперь сайту надо доказать, что он впрямь владелец сертификата. Делается так: браузер генерит какое-то случайное значение, шифрует публичным ключом из сертификата, отсылает сайту. Сервер расшифровывает его своим секретным ключом и использует это значение в дальнейших операциях, тем самым доказывая, что и вправду обладает ключом, парным тому, что заверен сертификатом. Классика жанра, введение в асимметричную криптографию. Подробности того, как именно это происходит в SSL, можно до мельчайших деталей узнать из этого замечательнейшего поста.

Теперь: у клиента есть возможность в свою очередь предъявить свой сертификат, чтобы сайт его опознал. Логично было бы предположить, что доказательство владения этим сертификатом происходит схожим образом: сайт шифрует публичным ключом нечто случайное, браузер его расшифровывает ключом секретным, и тем доказывает, что клиент - и вправду хозяин предъявленного.

Но вместо этого из святого писания мы узнаём, что на деле происходит нечто совсем другое. Сервер не отсылает ничего. Клиент же просто берёт все сообщения, которыми обменялся с сервером с начала переговоров и до этого момента, вычисляет по ним хэш, шифрует его секретным ключом и отсылает. Сервер же расшифровывает его публичным и сравнивает со своим хэшем, вычисленным тем же образом. Если совпало - всё ок.

Внимание, вопрос: какая довольно-таки забавная, но неочевидная атака стала бы возможной, если бы дела обстояли так, как я сгоряча предположил?

Profile

cat_mucius: (Default)
cat_mucius

June 2025

S M T W T F S
1 234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 13th, 2025 08:29 pm
Powered by Dreamwidth Studios