Information technology. Cryptographic data security. Generation and verification processes of electronic digital signature
Дата введения - 1 января 2013 г.
Взамен ГОСТ Р 34.10-2001
Введение
Настоящий стандарт содержит описание процессов формирования и проверки электронной цифровой подписи (ЭЦП), реализуемой с использованием операций в группе точек эллиптической кривой, определенной над конечным простым полем.
Необходимость разработки настоящего стандарта вызвана потребностью в реализации электронной цифровой подписи разной степени стойкости в связи с повышением уровня развития вычислительной техники. Стойкость электронной цифровой подписи основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции по ГОСТ Р 34.11-2012.
Настоящий стандарт разработан с учетом терминологии и концепций международных стандартов ИСО 2382-2 [1], ИСО/МЭК 9796 [2]-[3], ИСО/МЭК 14888 [4] - [7] и ИСО/МЭК 10118 [8] - [11].
1 Область применения
Настоящий стандарт определяет схему электронной цифровой подписи (ЭЦП) (далее - цифровая подпись), процессы формирования и проверки цифровой подписи под заданным сообщением (документом), передаваемым по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного назначения.
Внедрение цифровой подписи на основе настоящего стандарта повышает по сравнению с ранее действовавшей схемой цифровой подписи уровень защищенности передаваемых сообщений от подделок и искажений.
Настоящий стандарт рекомендуется применять при создании, эксплуатации и модернизации систем обработки информации различного назначения.
2 Нормативные ссылки
В настоящем стандарте использована нормативная ссылка на следующий стандарт:
ГОСТ Р 34.11-2012 Информационная технология. Криптографическая защита информации. Функция хэширования
Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодно издаваемому информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по соответствующим ежемесячно издаваемым информационным указателям, опубликованным в текущем году. Если ссылочный стандарт заменен (изменен), то при пользовании настоящим стандартом следует руководствоваться заменяющим (измененным) стандартом. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.
3 Термины, определения и обозначения
3.1 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями:
3.1.1
|
дополнение (appendix): Строка бит, формируемая из цифровой подписи и произвольного текстового поля. [ИСО/МЭК 14888-1:2008, [4]] |
3.1.2
|
ключ подписи (signature key): Элемент секретных данных, специфичный для субъекта и используемый только данным субъектом в процессе формирования цифровой подписи. [ИСО/МЭК 14888-1:2008, [4]] |
3.1.3
|
ключ проверки подписи (verification key): Элемент данных, математически связанный с ключом подписи и используемый проверяющей стороной в процессе проверки цифровой подписи. [ИСО/МЭК 14888-1:2008, [4]] |
3.1.4
|
параметр схемы ЭЦП (domain parameter): Элемент данных, общий для всех субъектов схемы цифровой подписи, известный или доступный всем этим субъектам. [ИСО/МЭК 14888-1:2008, [4]] |
3.1.5
|
подписанное сообщение (signed message): Набор элементов данных, состоящий из сообщения и дополнения, являющегося частью сообщения. [ИСО/МЭК 14888-1:2008, [4]] |
3.1.6
|
последовательность псевдослучайных чисел (pseudo-random number sequence): Последовательность чисел, полученная в результате выполнения некоторого арифметического (вычислительного) процесса, используемая в конкретном случае вместо последовательности случайных чисел. [ИСО 2382-2:1976, [1]] |
3.1.7
|
последовательность случайных чисел (random number sequence): Последовательность чисел, каждое из которых не может быть предсказано (вычислено) только на основе знания предшествующих ему чисел данной последовательности. [ИСО 2382-2:1976, [1]] |
3.1.8
|
процесс проверки подписи (verification process): Процесс, в качестве исходных данных которого используются подписанное сообщение, ключ проверки подписи и параметры схемы ЭЦП, результатом которого является заключение о правильности или ошибочности цифровой подписи. [ИСО/МЭК 14888-1:2008, [4]] |
3.1.9
|
процесс формирования подписи (signature process): Процесс, в качестве исходных данных которого используются сообщение, ключ подписи и параметры схемы ЭЦП, а в результате формируется цифровая подпись. [ИСО/МЭК 14888-1:2008, [4]] |
3.1.10 свидетельство (witness): Элемент данных, представляющий соответствующее доказа-тепьство достоверности (недостоверности) подписи проверяющей стороне.
3.1.11
|
случайное число (random number): Число, выбранное из определенного набора чисел таким образом, что каждое число из данного набора может быть выбрано с одинаковой вероятностью. [ИСО 2382-2:1976, [1]] |
3.1.13
|
хэш-код (hash-code): Строка бит, являющаяся выходным результатом хэш-функции. [ИСО/МЭК 14888-1:2008, [4]] |
3.1.14
|
хэш-функция (collision-resistant hash-function): Функция, отображающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам: 1) по данному значению функции сложно вычислить исходные данные, отображаемые в это значение; 2) для заданных исходных данных сложно вычислить другие исходные данные, отображаемые в то же значение функции; 3) сложно вычислить какую-либо пару исходных данных, отображаемых в одно и то же значение. [ИСО/МЭК 14888-1:2008, [4]] |
Примечания
1 Применительно к области электронной цифровой подписи свойство по перечислению 1) подразумевает, что по известной электронной цифровой подписи невозможно восстановить исходное сообщение; свойство по перечислению 2) подразумевает, что для заданного подписанного сообщения трудно подобрать другое (фальсифицированное) сообщение, имеющее ту же электронную цифровую подпись; свойство по перечислению 3) подразумевает, что трудно подобрать какую-либо пару сообщений, имеющих одну и ту же подпись.
2 В настоящем стандарте в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями установлено, что термины "хэш-функция", "криптографическая хэш-функция", "функция хэширования" и "криптографическая функция хэширования" являются синонимами.
3.1.15
|
[электронная цифровая] подпись (signature); ЭЦП: Строка бит, полученная в результате процесса формирования подписи. [ИСО/МЭК 14888-1:2008, [4]] |
Примечания
1 Строка бит, являющаяся подписью, может иметь внутреннюю структуру, зависящую от конкретного механизма формирования подписи.
2 В настоящем стандарте в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями установлено, что термины "электронная подпись", "цифровая подпись" и "электронная цифровая подпись" являются синонимами.
3.2 Обозначения
В настоящем стандарте применены следующие обозначения:
|
|
- |
множество всех двоичных векторов длиной l бит; |
|
V* |
- |
множество всех двоичных векторов произвольной конечной длины; |
|
Z |
- |
множество всех целых чисел; |
|
р |
- |
простое число, р > 3; |
|
|
- |
конечное простое поле, представляемое как множество из p целых чисел {0, 1, ..., р - 1}; |
|
b(mod р) |
- |
минимальное неотрицательное число, сравнимое с b по модулю р; |
|
М |
- |
сообщение пользователя, |
|
|
- |
конкатенация (объединение) двух двоичных векторов; |
|
a, b |
- |
коэффициенты эллиптической кривой; |
|
m |
- |
порядок группы точек эллиптической кривой; |
|
q |
- |
порядок подгруппы группы точек эллиптической кривой; |
|
О |
- |
нулевая точка эллиптической кривой; |
|
Р |
- |
точка эллиптической кривой порядка q; |
|
d |
- |
целое число - ключ подписи; |
|
Q |
- |
точка эллиптической кривой - ключ проверки подписи; |
|
|
- |
цифровая подпись под сообщением М. |
4 Общие положения
Общепризнанная схема (модель) цифровой подписи (см. ИСО/МЭК 14888-1 [4]) охватывает следующие процессы:
- генерация ключей (подписи и проверки подписи);
- формирование подписи;
- проверка подписи.
В настоящем стандарте процесс генерации ключей (подписи и проверки подписи) не рассмотрен. Характеристики и способы реализации данного процесса определяются вовлеченными в него субъектами, которые устанавливают соответствующие параметры по взаимному согласованию.
Механизм цифровой подписи определяется посредством реализации двух основных процессов (см. раздел 6):
- формирование подписи (см. 6.1);
- проверка подписи (см. 6.2).
Цифровая подпись предназначена для аутентификации лица, подписавшего электронное сообщение. Кроме того, использование ЭЦП предоставляет возможность обеспечить следующие свойства при передаче в системе подписанного сообщения:
- осуществление контроля целостности передаваемого подписанного сообщения;
- доказательное подтверждение авторства лица, подписавшего сообщение;
- защита сообщения от возможной подделки.
Схематическое представление подписанного сообщения показано на рисунке 1.
Рисунок 1 - Схема подписанного сообщения
Поле "Текст", показанное на данном рисунке и дополняющее поле "Цифровая подпись", может, например, содержать идентификаторы субъекта, подписавшего сообщение, и/или метку времени.
Установленная в настоящем стандарте схема цифровой подписи должна быть реализована с использованием операций группы точек эллиптической кривой, определенной над конечным простым полем, а также хэш-функции.
Криптографическая стойкость данной схемы цифровой подписи основывается на сложности решения задачи дискретного логарифмирования в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции. Алгоритмы вычисления хэш-функции установлены в ГОСТ Р 34.11-2012.
Параметры схемы цифровой подписи, необходимые для ее формирования и проверки, определены в 5.2. В настоящем стандарте предусмотрена возможность выбора одного из двух вариантов требований к параметрам.
Настоящий стандарт не определяет процесс генерации параметров схемы цифровой подписи. Конкретный алгоритм (способ) реализации данного процесса определяется субъектами схемы цифровой подписи исходя из требований к аппаратно-программным средствам, реализующим электронный документооборот.
Цифровая подпись, представленная в виде двоичного вектора длиной 512 или 1024 бита, должна вычисляться с помощью определенного набора правил, изложенных в 6.1.
Набор правил, позволяющих принять либо отвергнуть цифровую подпись под полученным сообщением, установлен в 6.2.
5 Математические объекты
Для определения схемы цифровой подписи необходимо описать базовые математические объекты, используемые в процессах ее формирования и проверки. В данном разделе установлены основные математические определения и требования, предъявляемые к параметрам схемы цифровой подписи.
5.1 Математические определения
Эллиптической кривой Е, определенной над конечным простым полем (гдер > 3 - простое число), называется множество пар (х, у), х,
, удовлетворяющих уравнению
, (1)
где a, и
не сравнимо с нулем по модулю р.
Инвариантом эллиптической кривой называется величина J(E), удовлетворяющая уравнению
. (2)
Пары (х, у), где х, y - элементы поля , удовлетворяющие уравнению (1), называются "точками эллиптической кривой E"; х и у - соответственно х- и у-координатами точки.
Точка эллиптической кривой обозначается Q(x, у) или просто Q. Две точки эллиптической кривой равны, если равны их соответствующие х- и у-координаты.
На множестве точек эллиптической кривой E определена операция сложения, обозначаемая знаком "+". Для двух произвольных точек и
эллиптической кривой E рассматривают несколько случаев.
Для точек и
, координаты которых удовлетворяют условию
, их суммой называется точка
, координаты которой определяются сравнениями
, (3)
где .
Если выполнены равенства и
, то координаты точки
определяются следующим образом:
, (4)
где .
Если выполнены условия и
, то сумма точек
и
называется нулевой точкой О без определения ее х- и у-координат. В этом случае точка
называется отрицанием точки
Для нулевой точки О выполнены равенства
, (5)
где Q - произвольная точка эллиптической кривой Е.
Относительно введенной операции сложения множество точек эллиптической кривой E вместе с нулевой точкой образуют конечную абелеву (коммутативную) группу порядка m, для которого выполнено неравенство
. (6)
Точка Q называется "точкой кратности k" или просто "кратной точкой эллиптической кривой E", если для некоторой точки Р выполнено равенство
5.2 Параметры цифровой подписи
Параметрами схемы цифровой подписи являются:
- простое число р - модуль эллиптической кривой;
- эллиптическая кривая E, задаваемая коэффициентами a, ;
- целое число m - порядок группы точек эллиптической кривой E;
- простое число q - порядок циклической подгруппы группы точек эллиптической кривой E, для которого выполнены следующие условия:
; (8)
- точка эллиптической кривой Е, с координатами
, удовлетворяющая равенству qP=O;
- хэш-функция , отображающая сообщения, представленные в виде двоичных векторов произвольной конечной длины, в двоичные векторы длины l бит. Хэш-функция определена в ГОСТ Р 34.11-2012. Если
. Если
.
Каждый пользователь схемы цифровой подписи должен обладать личными ключами:
- ключом подписи - целым числом d, удовлетворяющим неравенству ;
- ключом проверки подписи - точкой эллиптической кривой Q с координатами , удовлетворяющей равенству dP=Q.
К приведенным выше параметрам схемы цифровой подписи предъявляют следующие требования:
- должно быть выполнено условие , для всех целых t = 1, 2, ... В, где В = 31, если
, и B = 131, если
;
- должно быть выполнено неравенство ;
- инвариант кривой должен удовлетворять условиям: .
5.3 Двоичные векторы
Для определения процессов формирования и проверки цифровой подписи необходимо установить соответствие между целыми числами и двоичными векторами длины l бит.
Рассмотрим следующий двоичный вектор длиной l бит, в котором младшие биты расположены справа, а старшие - слева:
, (9)
где равно либо 1, либо 0.
Число соответствует двоичному вектору
, если выполнено равенство
. (10)
Для двух двоичных векторов
,
. (11)
соответствующих целым числам и
, операция конкатенации (объединения) определяется следующим образом:
. (12)
Объединение представляет собой двоичный вектор длиной 2l бит, составленный из компонент векторов , и
.
Формулы (11) и (12) определяют способ разбиения двоичного вектора длиной 2l бит на два двоичных вектора длиной l бит, конкатенацией которых он является.
6 Основные процессы
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Национальный стандарт РФ ГОСТ Р 34.10-2012 "Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи" (утв. приказом Федерального агентства по техническому регулированию и метрологии от 7 августа 2012 г. N 215-ст)
Текст ГОСТа приводится по официальному изданию Стандартинформ (Москва, 2013 г.)
Дата введения - 1 января 2013 г.
Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. N 184-ФЗ "О техническом регулировании", а правила применения национальных стандартов Российской Федерации - ГОСТ Р 1.0-2004 "Стандартизация в Российской Федерации. Основные положения"
1 Разработан Центром защиты информации и специальной связи ФСБ России с участием Открытого акционерного общества "Информационные технологии и коммуникационные системы" (ОАО "ИнфоТеКС")
2 Внесен Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации"
3 Утвержден и введен в действие Приказом Федерального агентства по техническому регулированию и метрологии от 7 августа 2012 г. N 215-ст
4 Взамен ГОСТ Р 34.10-2001