Статус документа
Статус документа

Р 1323565.1.028-2019 Информационная технология (ИТ). Криптографическая защита информации. Криптографические механизмы защищенного взаимодействия контрольных и измерительных устройств

     5.7 Описание протокола


В этом подразделе дается детальное описание последовательности действий, производимых клиентом и сервером в ходе выполнения протокола выработки ключей.

Действия, описываемые в 5.7.1 и 5.7.3, выполняются клиентом; действия, описываемые в 5.7.2 и 5.7.4, выполняются сервером.

5.7.1 Формирование сообщения ClientHelloMessage

На первом этапе протокола выработки ключей клиентом выполняется процедура инициализации, в ходе которой клиент формирует сообщение ClientHelloMessage, см. В.5.1, а также, при необходимости, дополнительные расширения.

Для формирования сообщения ClientHelloMessage клиент выполняет последовательность действий:

а) клиент вырабатывает случайную последовательность октетов длиной 32 октета и помещает ее в поле ClientHelloMessage.random;

б) клиент выбирает идентификатор одной из эллиптических кривых, определяемых типом данных EllipticCurvelD, см. В.3.9;

     Рисунок 5 - Схема выработки ключей для протокола передачи прикладных данных

в) клиент вырабатывает случайное целое число , удовлетворяющее неравенствам , где q порядок точки P, определяемой параметрами эллиптической кривой, выбранной клиентом на предыдущем шаге.

Примечания

1 Вырабатываемое клиентом значение является криптографически опасной информацией, знание которой может привести к определению вырабатываемой ключевой информации и нарушению конфиденциальности передаваемой информации. В связи с этим рекомендуется удалять значение на следующем шаге, сразу после использования.

2 Использование одного и того же генератора случайных чисел для выработки значения и случайной последовательности октетов длиной 32 октета может быть потенциально опасным - нарушитель может использовать передаваемые в открытом виде элементы последовательности для определения секретного значения . В связи с этим рекомендуется использование различных генераторов случайных чисел для генерации значения и случайной последовательности октетов длиной 32 октета. В случае невозможности применения различных генераторов, рекомендуется использовать генератор, удовлетворяющий Р 1323565.1.012-2017;

г) клиент вычисляет точку кривой и помещает координаты вычисленной точки в поля структуры ClientHelloMessage.EllipticCurvePoint, т.е.

     ;

     ;

     ;

д) если клиент хочет использовать для аутентификации сервера предварительно распределенный ключ аутентификации ePSK, то клиент определяет:

     ClientHelloMessage.idpsk.present = isPresent;

     ClientHelloMessage.idpsk.type = ePSKKey;