Здравствуйте, Pzz, Вы писали:
N>>PSK этот это запомненный из прошлого состояния соответствующей сессии, если я правильно понял. Но по идее должно этого хватить...
Pzz>Вот мне тоже было как-то непонятно, как можно обеспечить полноценную секурность без предшевствующего контекста и без возможности обменяться случайными числами.
Там контекст как раз передаётся: в ClientHello идёт номер сессии.
Только дальше вопрос, как сервер должен идентифицировать, с кем именно этот номер сессии сравнивать. Например, если по клиентскому IP, то что будет, когда за NAT сидят 100500 клиентов и этих номеров сессий тупо не хватит?
Там целый RFC (5077) под это сделан, но там 16 бит на номер сессии (в 8446 повторено в самом RFC). А тут, мне кажется, меньше 64 (а то и 128) недостаточно.
Pzz>Интересно, а разработчики веб-приложений вообще в курсе, что первая порция данных от клиента уходит с пониженными гарантиями?
По-моему, гарантия достаточна.
Присылаете запрос с указанием номера PSK. Если расшифровано и подпись сошлась — принимается. Иначе — нет, назад идёт "неее, устанавливаем заново".
То, что я говорил выше, это увеличивает количество таких перезапусков при ложных коллизиях, но не даёт чтение чужих данных или их успешную подделку.