[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [openssl-gost] Re: [openssl-gost] Параметры конфига



On 25.06.2018 00:40, Nikolay Shaplov wrote:
В письме от 24 июня 2018 00:33:01 пользователь Igor Ustinov написал:

1. Похоже что для того чтобы нормально задокументировать то какой парамсет
когда используется, и как на это влияет CRYPT_PARAMS, нужно строить
многомерную таблицу с осями Case(TLS, CMS etc), широнабор/ассим.алгоритм,
значение  CRYPT_PARAMS, направление шифрования. (Какие-то из осей внутрь
поля таблицы можно всосать, но ближе к первой нормальной форме оно вот в
такой размерности похоже).
Таблицу строить, конечно, можно, но не нужно. Как показало вскрытие, на
самом деле всё предельно просто: в большинстве случаев OpenSSL сам
знает, какой paramset использовать. Не знает он это в полутора случаях:
1) при зашифровании;
2) при расшифровании голого шифртекста, не сопровождаемого никакой
служебной информацией (этот случай считаю за половину, поскольку сильно
сомневаюсь, что такая ситуация встречается на практике).
В этих полутора случаях используется paramser, указанный в переменной
окружения CRYPT_PARAMS, я если она не задана, то tc26-z.
Во всех остальных случаях OpenSSL сам знает, какой paramset использовать.
Вот "сам знает" у меня как раз и вызывает трепетный ужас. И желание это тайное
знание экспортировать из недр энжина... Инженерное изделие не должно вести
себя в режиме "оно само", должна быть задокументированная цепочка причин и
следствий...

Не понимаю. У тебя же не вызывает трепетный ужас тот факт, что OpenSSL, получив на вход невнятный набор буковок и циферок, сам знает, как его декодировать и как извлекать из декодированной структуры необходимую для расшифрования информацию об использованных алгоритмах и их параметрах. Или когда TLS-клиент и TLS-сервер договорились о номере сайферсьюта, который они будут использовать, и после этого сами знают, какие алгоритмы шифрования, хэширования, подписи использовать. Почему тебя это не пугает? Потому что есть подробные спецификации, что где и как лежит в cms-структуре и что скрывается за данным номером сайфер-сьюта? Так и для ГОСТов они тоже есть.


Но пока что не сейчас...