В соответствии с каким стандартом осуществляется процесс формирования и проверки электронной подписи
В соответствии с положениями пункта 5 части 4 статьи 8 Федерального закона от 6 апреля 2011 г. N 63-ФЗ "Об электронной подписи" (Собрание законодательства Российской Федерации, 2011, N 15, ст. 2036; 2019, N 26, ст. 3889) и абзаца третьего пункта 1 Положения о Министерстве цифрового развития, связи и массовых коммуникаций Российской Федерации, утвержденного постановлением Правительства Российской Федерации от 2 июня 2008 г. N 418 (Собрание законодательства Российской Федерации, 2008, N 42, ст. 4825; 2018, N 40, ст. 6142), приказываю:
1. Утвердить Формат электронной подписи, обязательный для реализации всеми средствами электронной подписи, согласно приложению к настоящему приказу.
Регистрационный N 60631
УТВЕРЖДЕН
приказом Министерства
цифрового развития, связи
и массовых коммуникаций
Российской Федерации
от 14.09.2020 N 472
ФОРМАТ
электронной подписи, обязательный для реализации всеми средствами электронной подписи
1. Настоящий формат электронной подписи, обязательный для реализации всеми средствами электронной подписи (далее - Формат), устанавливает требования к структуре и содержанию информации в электронной подписи (далее - ЭП).
2 Спецификация абстрактной синтаксической нотации версии один определена в ГОСТ Р ИСО/МЭК 8824-1-2001 "Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации" (принят и введен в действие постановлением Госстандарта России от 6 сентября 2001 г. N 375-ст, опубликован в ноябре 2001 г. ИПК "Издательство стандартов", ИУС 11-2001).
5. В случае если участник электронного взаимодействия является владельцем действующего сертификата ключа проверки электронной подписи, Формат имеет вид следующей структуры:
5.1. Поле version (типа CMSVersion) определяет версию синтаксиса ЭП, которая зависит от сертификатов, типа подписываемых данных и информации о подписывающих сторонах:
5.2. Поле digestAlgorithms (тип DigestAlgorithmldentifiers) включает в себя идентификаторы используемых алгоритмов хэширования и связанные с ними параметры и определяется следующим образом:
В качестве идентификатора алгоритма хэширования указывается объектный идентификатор алгоритма, определенного ГОСТ Р 34.11-2012 "Информационная технология. Криптографическая защита информации. Функция хэширования" 3 (далее - ГОСТ Р 34.11-2012). Указанный объектный идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:
3 ГОСТ Р 34.11-2012 "Информационная технология. Криптографическая защита информации. Функция хэширования" (утвержден и введен в действие приказом Федерального агентства по техническому регулированию и метрологии от 7 августа 2012 г. N 216-ст, опубликован в апреле 2013 г. ФГУП "СТАНДАРТИНФОРМ", ИУС 3-2013, поправка ИУС 6-2018).
для алгоритма с длиной выхода 256 бит:
для алгоритма с длиной выхода 512 бит:
5.3. Поле encapContentlnfo (тип EncapsulatedContentlnfo) содержит подписываемые данные (eContent) вместе с их типом (eContentType) и определяется следующим образом:
В случае если поле eContent присутствует, то в нем содержится подписываемый электронный документ. Если поле eContent отсутствует, электронный документ хранится в отдельном файле.
5.4. В поле certificates (тип CertificateSet) может включаться дополнительная информация о сертификатах. В данное поле может быть включена информация о сертификатах подписывающих сторон.
5.4.1. Основной синтаксис типа Certificate представлен следующим образом:
Поле signatureAlgorithm (тип SignatureAlgorithmldentifier) определяет идентификатор использованного алгоритма ЭП и связанные с ним параметры:
В настоящем Формате в качестве идентификатора алгоритма ЭП указывается объектный идентификатор алгоритма, определенного ГОСТ Р 34.10-2012 "Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи" 1 (далее - ГОСТ Р 34.10-2012). Указанный объектный идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:
1 ГОСТ Р 34.10-2012 "Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи" (утвержден и введен в действие приказом Федерального агентства по техническому регулированию и метрологии от 7 августа 2012 г. N 215-ст, опубликован в апреле 2013 г. ФГУП "СТАНДАРТИНФОРМ", ИУС 3-2013, переиздание сентябрь 2018 г.).
для алгоритма с длиной выхода 256 бит:
для алгоритма с длиной выхода 512 бит:
5.4.4. Поле v2AttrCert (типа AttributeCertificateV2) определяет сертификат атрибута Х.509 версии 2 в соответствии с пунктом 9 Требований к форме квалифицированного сертификата ключа проверки электронной подписи, утвержденных приказом ФСБ России от 27.12.2011 N 795:
5.5 В поле crls (тип RevocationInfoChoices) может быть включена дополнительная информация об отзыве сертификатов:
5.5.1. Поле crl (типа CertificateList) определяет список аннулированных сертификатов (CRL). Для вычисления подписи данные, которые должны быть подписаны, представляются в ASN.1-коде по DER-правилам:
5.6. В поле signerInfos (тип SignerInfos) содержится информация о каждой подписывающей стороне электронного документа.
5.6.1. Поле sid (тип SignerIdentifier) определяет сертификат подписывающей стороны, необходимый для проверки подлинности ЭП.
В структуре ЭП должен использоваться вариант определения сертификата путем задания значения issuerAndSerialNumber.
5.6.2. Поле digestAlgorithm (тип DigestAlgorithmIdentifier) определяет идентификаторы использованного в данной ЭП алгоритма хэширования и связанные с ним параметры.
В качестве идентификатора алгоритма хэширования указывается объектный идентификатор алгоритма, определенного ГОСТ Р 34.11-2012. Указанный объектный идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один определяется следующим образом:
для алгоритма с длиной выхода 256 бит:
для алгоритма с длиной выхода 512 бит:
5.6.3. Поле signedAttrs (тип SignedAttributes) должно определять дополнительную подписываемую информацию (далее - подписываемые атрибуты). Обязательные к включению подписываемые атрибуты определяются следующим образом:
5.6.4. Поле signature (тип SignatureValue) содержит строку бит, полученную в результате процесса формирования ЭП:
5.6.5. Поле unsignedAttrs (тип UnsignedAttributes) определяет дополнительную неподписываемую информацию (далее - неподписываемые атрибуты):
6. Обязательными подписываемыми атрибутами являются:
6.1. Тип содержимого (Content-type). Должен быть добавлен в атрибут id-contentType с объектным идентификатором вида "1.2.840.113549.1.3";
6.2. Строка бит, являющаяся выходным результатом функции, отображающей строки бит в строки бит фиксированной длины и удовлетворяющей следующим условиям:
по данному значению функции невозможно на период действия сертификата вычислить исходные данные, отображаемые в этом значении;
для заданных исходных данных невозможно на период действия сертификата вычислить другие исходные данные, отображаемые в этом значении;
Результат функции, отображающей строки бит в строки бит фиксированной длины и удовлетворяющей указанным условиям должен быть добавлен в атрибут id-messageDigest с объектным идентификатором вида "1.2.840.113549.1.4";
6.3. Хэш-код от набора полей сертификата, позволяющих однозначно его идентифицировать, должен быть добавлен в атрибут id-aa-signingCertificateV2 с объектным идентификатором вида "1.2.840.113549.1.9".
7. В случае если участник электронного взаимодействия не является владельцем действующего сертификата ключа проверки электронной подписи, Формат должен иметь вид следующей структуры:
certificationRequestInfo - подписываемая информация;
SignatureAlgorithm - информация об алгоритме ЭП, который использовался при формировании ЭП структуры certificationRequestInfo;
signature - ЭП структуры certificationRequestInfo, сформированная с использованием алгоритма, указанного в SignatureAlgorithm.
7.1. Структура CertificationRequestInfo в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:
version - номер версии стандарта (в данном формате данное поле должно принимать значение 0)
subject - имя субъекта, владеющего ключом ЭП, имеющее тип Name, которое заполняется в соответствии с Требованиями к форме квалифицированного сертификата ключа проверки электронной подписи, утвержденными приказом ФСБ России от 27.12.2011 г. N 795;
subjectPKInfo - набор элементов, содержащих информацию о ключе проверки ЭП и имеющих структуру SubjectPublicKeyInfo;
attributes - набор атрибутов.
Структура SubjectPublicKeyInfo в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:
algorithm - алгоритм и набор параметров алгоритма ЭП;
subjectPublicKey - ключ проверки ЭП.
Поле algorithm структуры SubjectPublicKeyInfo задается структурой AlgorithmIdentifier, описанной в ГОСТ Р ИСО/МЭК 9594-8 и содержащей следующие поля:
algorithm - идентификатор алгоритма ЭП;
parameters - параметры открытого ключа алгоритма ЭП.
Поле algorithm структуры AlgorithmIdentifier должно содержать следующий идентификатор алгоритма:
для алгоритма ГОСТ Р 34.10-2012 с длиной ключа 256 бит идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:
для алгоритма ГОСТ Р 34.10-2012 с длиной ключа 512 бит идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:
Поле parameters структуры AlgorithmIdentifier имеет структуру GostR3410-2012-PublicKeyParameters, которая в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:
publicKeyParamSet - идентификатор параметров ключа проверки ЭП, соответствующего алгоритму ЭП ГОСТ Р 34.10-2012;
digestParamSet - идентификатор хэш-функции ГОСТ Р 34.11-2012.
данное поле не следует использовать, если используется алгоритм ЭП ГОСТ Р 34.10-2012 с длиной ключа 512 бит;
данное поле должно присутствовать, если используется алгоритм ЭП ГОСТ Р 34.10-2012 с длиной ключа 256 бит при следующих значениях поля publicKeyParamSet:
при этом он должен быть равен идентификатору алгоритма хэширования ГОСТ Р 34.11-2012 с длиной выхода 256 бит:
данное поле не следует использовать, если используется алгоритм ЭП ГОСТ Р 34.10-2012 с длиной ключа 256 бит при следующем значении поля publicKeyParamSet:
данное поле должно отсутствовать, если используется алгоритм ЭП ГОСТ Р 34.10-2012 с длиной ключа 256 бит при следующих значениях поля publicKeyParamSet:
Поле subjectPublicKey структуры SubjectPublicKeyInfo содержит ключ проверки ЭП, который задается парой координат (х,у), определенной ГОСТ Р 34.10-2012, представляется следующим образом:
ключ проверки ЭП, соответствующий алгоритму ГОСТ Р 34.10-2012 с длиной ключа 256 бит, имеет представление GostR3410-2012-256-PublicKey, которое задается байтовой строкой длины 64 байта, где первые 32 байта содержат представление координаты х в формате little-endian (младший бит записывается первым), а последние 32 байта содержат представление координаты у в формате little-endian;
ключ проверки ЭП, соответствующий алгоритму ГОСТ Р 34.10-2012 с длиной ключа 512 бит, имеет представление GostR3410-2012-512-PublicKey, которое задается байтовой строкой длины 128 байт, где первые 64 байта содержат представление координаты х в формате little-endian, а последние 64 байта содержат представление координаты у в формате little-endian.
Ключи проверки ЭП GostR3410-2012-25 6-PublicKey и GostR3410-2012-512-PublicKey должны быть представлены в ASN.1-коде по DER-правилам в виде строки байт (OCTET STRING) в соответствии с ГОСТ Р ИСО/МЭК 8825-1:
7.2. Поле algorithm структуры signatureAlgorithm содержит идентификатор алгоритма ЭП и связанных с ним параметров, который используется при формировании ЭП структуры CertificationRequestlnfo с использованием ключа ЭП:
для алгоритма ГОСТ Р 34.10-2012 с длиной ключа 256 бит идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:
для алгоритма ГОСТ Р 34.10-2012 с длиной ключа 512 бит идентификатор в соответствии со спецификацией абстрактной синтаксической нотации версии один представляется следующим образом:
Поле parameters структуры signatureAlgorithm должно отсутствовать.
7.3. Поле signature структуры CertificationRequest содержит ЭП подписываемой информации.
Результатом работы алгоритма ЭП ГОСТ Р 34.10-2012 с длиной ключа 256 бит является два числа г и s, определенные ГОСТ Р 34.10-2012 и имеющие длину 256 бит каждое.
При использовании алгоритма ГОСТ Р 34.10-2012 с длиной ключа 256 бит поле signature задается битовой строкой (BITSTRING) длины 512 бит; при этом первые 256 бит содержат число s в представлении big-endian (старший бит записывается первым), а вторые 256 бит содержат число r в представлении big-endian.
Результатом работы алгоритма ЭП ГОСТ Р 34.10-2012 с длиной ключа 512 бит является два числа r и s, определенные ГОСТ Р 34.10-2012 и имеющие длину 512 бит каждое.
При использовании алгоритма ГОСТ Р 34.10-2012 с длиной ключа 512 бит поле signature задается битовой строкой (BITSTRING) длины 1024 бит; при этом первые 512 бит содержат число s в представлении big-endian, а вторые 512 бит содержат число r в представлении big-endian.
Разработан формат электронной подписи (ЭП), обязательный для реализации всеми средствами ЭП.
Средства электронной подписи должны обеспечивать возможность создания нескольких ЭП в одном документе с сохранением данных, описывающих контекст, содержание, структуру документов, а также обеспечивающих управление документами в используемых информсистемах.
Приказ Министерства цифрового развития, связи и массовых коммуникаций РФ от 14 сентября 2020 г. N 472 "Об утверждении Формата электронной подписи, обязательного для реализации всеми средствами электронной подписи"
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Процессы формирования и проверки электронной цифровой подписи
Information technology. Cryptographic data security. Signature and verification processes of electronic digital signature
Дата введения 2019-06-01
1 Область применения
Настоящий стандарт рекомендуется применять при создании, эксплуатации и модернизации систем обработки информации различного назначения.
4 Общие положения
- генерация ключей (подписи и проверки);
В настоящем стандарте процесс генерации ключей (подписи и проверки) не рассмотрен. Характеристики и способы реализации данного процесса определяются вовлеченными в него субъектами, которые устанавливают соответствующие параметры по взаимному согласованию.
Механизм цифровой подписи определяется посредством реализации двух основных процессов (см. раздел 6):
- формирование подписи (см. 6.1);
- проверка подписи (см. 6.2).
ГОСТ Р 34.10-2012
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Процессы формирования и проверки электронной цифровой подписи
Information technology. Cryptographic data security. Generation and verification processes of electronic digital signature
Дата введения 2013-01-01
3 Термины, определения и обозначения
2 Нормативные ссылки
В настоящем стандарте использована ссылка на следующий стандарт:
ГОСТ Р 34.11-94 Информационная технология. Криптографическая защита информации. Функции хэширования
3.1 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями:
дополнение (appendix): Строка бит, формируемая из цифровой подписи и произвольного текстового поля.
ключ подписи (signature key): Элемент секретных данных, специфичный для субъекта и используемый только данным субъектом в процессе формирования цифровой подписи.
ключ проверки подписи (verification key): Элемент данных, математически связанный с ключом подписи и используемый проверяющей стороной в процессе проверки цифровой подписи.
параметр схемы ЭЦП (domain parameter): Элемент данных, общий для всех субъектов схемы цифровой подписи, известный или доступный всем этим субъектам.
последовательность псевдослучайных чисел (pseudo-random number sequence): Последовательность чисел, полученная в результате выполнения некоторого арифметического (вычислительного) процесса, используемая в конкретном случае вместо последовательности случайных чисел.
[ИСО 2382-2:1976 [1]]
последовательность случайных чисел (random number sequence): Последовательность чисел, каждое из которых не может быть предсказано (вычислено) только на основе знания предшествующих ему чисел данной последовательности.
[ИСО 2382-2:1976 [1]]
3.1.10 свидетельство (witness): Элемент данных, представляющий соответствующее доказательство достоверности (недостоверности) подписи проверяющей стороне.
случайное число (random number): Число, выбранное из определенного набора чисел таким образом, что каждое число из данного набора может быть выбрано с одинаковой вероятностью.
[ИСО 2382-2:1976 [1]]
хэш-код (hash-code): Строка бит, являющаяся выходным результатом хэш-функции.
хэш-функция (collision-resistant hash-function): Функция, отображающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам:
1) по данному значению функции сложно вычислить исходные данные, отображаемые в это значение;
2) для заданных исходных данных сложно вычислить другие исходные данные, отображаемые в то же значение функции;
3) сложно вычислить какую-либо пару исходных данных, отображаемых в одно и то же значение.
2 В настоящем стандарте в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями установлено, что термины "хэш-функция", "криптографическая хэш-функция", "функция хэширования" и "криптографическая функция хэширования" являются синонимами.
[электронная цифровая] подпись (signature); ЭЦП: Строка бит, полученная в результате процесса формирования подписи.
1 Строка бит, являющаяся подписью, может иметь внутреннюю структуру, зависящую от конкретного механизма формирования подписи.
2 В настоящем стандарте в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями установлено, что термины "электронная подпись", "цифровая подпись" и "электронная цифровая подпись" являются синонимами.
3.2 Обозначения
В настоящем стандарте применены следующие обозначения:
- множество всех двоичных векторов длиной бит;
- множество всех двоичных векторов произвольной конечной длины;
- множество всех целых чисел;
- простое число, 3;
- конечное простое поле, представляемое как множество из целых чисел ;
- минимальное неотрицательное число, сравнимое с по модулю ;
Настоящий стандарт содержит описание процессов формирования и проверки электронной цифровой подписи (ЭЦП), реализуемой с использованием операций в группе точек эллиптической кривой, определенной над конечным простым полем.
Необходимость разработки настоящего стандарта вызвана потребностью в реализации электронной цифровой подписи разной степени стойкости в связи с повышением уровня развития вычислительной техники. Стойкость электронной цифровой подписи основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции по ГОСТ Р 34.11-2012.
Настоящий стандарт разработан с учетом терминологии и концепций международных стандартов ИСО 2382-2 [1], ИСО/МЭК 9796 [2]-[3], ИСО/МЭК 14888 [4] - [7] и ИСО/МЭК 10118 [8] - [11].
1 Область применения
Настоящий стандарт рекомендуется применять при создании, эксплуатации и модернизации систем обработки информации различного назначения.
2 Нормативные ссылки
В настоящем стандарте использована нормативная ссылка на следующий стандарт:
ГОСТ Р 34.11-2012 Информационная технология. Криптографическая защита информации. Функция хэширования
Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодно издаваемому информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по соответствующим ежемесячно издаваемым информационным указателям, опубликованным в текущем году. Если ссылочный стандарт заменен (изменен), то при пользовании настоящим стандартом следует руководствоваться заменяющим (измененным) стандартом. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.
3 Термины, определения и обозначения
3.1 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями:
дополнение (appendix): Строка бит, формируемая из цифровой подписи и произвольного текстового поля.
ключ подписи (signature key): Элемент секретных данных, специфичный для субъекта и используемый только данным субъектом в процессе формирования цифровой подписи.
ключ проверки подписи (verification key): Элемент данных, математически связанный с ключом подписи и используемый проверяющей стороной в процессе проверки цифровой подписи.
параметр схемы ЭЦП (domain parameter): Элемент данных, общий для всех субъектов схемы цифровой подписи, известный или доступный всем этим субъектам.
последовательность псевдослучайных чисел (pseudo-random number sequence): Последовательность чисел, полученная в результате выполнения некоторого арифметического (вычислительного) процесса, используемая в конкретном случае вместо последовательности случайных чисел.
последовательность случайных чисел (random number sequence): Последовательность чисел, каждое из которых не может быть предсказано (вычислено) только на основе знания предшествующих ему чисел данной последовательности.
3.1.10 свидетельство (witness): Элемент данных, представляющий соответствующее доказа-тепьство достоверности (недостоверности) подписи проверяющей стороне.
случайное число (random number): Число, выбранное из определенного набора чисел таким образом, что каждое число из данного набора может быть выбрано с одинаковой вероятностью.
хэш-код (hash-code): Строка бит, являющаяся выходным результатом хэш-функции.
хэш-функция (collision-resistant hash-function): Функция, отображающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам:
1) по данному значению функции сложно вычислить исходные данные, отображаемые в это значение;
2) для заданных исходных данных сложно вычислить другие исходные данные, отображаемые в то же значение функции;
3) сложно вычислить какую-либо пару исходных данных, отображаемых в одно и то же значение.
2 В настоящем стандарте в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями установлено, что термины "хэш-функция", "криптографическая хэш-функция", "функция хэширования" и "криптографическая функция хэширования" являются синонимами.
[электронная цифровая] подпись (signature); ЭЦП : Строка бит, полученная в результате процесса формирования подписи.
1 Строка бит, являющаяся подписью, может иметь внутреннюю структуру, зависящую от конкретного механизма формирования подписи.
2 В настоящем стандарте в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями установлено, что термины "электронная подпись", "цифровая подпись" и "электронная цифровая подпись" являются синонимами.
В настоящем стандарте применены следующие обозначения:
множество всех двоичных векторов длиной l бит;
множество всех двоичных векторов произвольной конечной длины;
множество всех целых чисел;
простое число, р > 3;
конечное простое поле, представляемое как множество из p целых чисел ;
минимальное неотрицательное число, сравнимое с b по модулю р;
конкатенация (объединение) двух двоичных векторов;
коэффициенты эллиптической кривой;
порядок группы точек эллиптической кривой;
порядок подгруппы группы точек эллиптической кривой;
нулевая точка эллиптической кривой;
точка эллиптической кривой порядка q;
точка эллиптической кривой - ключ проверки подписи;
4 Общие положения
- генерация ключей (подписи и проверки подписи);
В настоящем стандарте процесс генерации ключей (подписи и проверки подписи) не рассмотрен. Характеристики и способы реализации данного процесса определяются вовлеченными в него субъектами, которые устанавливают соответствующие параметры по взаимному согласованию.
Механизм цифровой подписи определяется посредством реализации двух основных процессов (см. раздел 6):
- формирование подписи (см. 6.1);
- проверка подписи (см. 6.2).
Установленная в настоящем стандарте схема цифровой подписи должна быть реализована с использованием операций группы точек эллиптической кривой, определенной над конечным простым полем, а также хэш-функции.
Криптографическая стойкость данной схемы цифровой подписи основывается на сложности решения задачи дискретного логарифмирования в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции. Алгоритмы вычисления хэш-функции установлены в ГОСТ Р 34.11-2012.
Параметры схемы цифровой подписи, необходимые для ее формирования и проверки, определены в 5.2. В настоящем стандарте предусмотрена возможность выбора одного из двух вариантов требований к параметрам.
Настоящий стандарт не определяет процесс генерации параметров схемы цифровой подписи. Конкретный алгоритм (способ) реализации данного процесса определяется субъектами схемы цифровой подписи исходя из требований к аппаратно-программным средствам, реализующим электронный документооборот.
Цифровая подпись, представленная в виде двоичного вектора длиной 512 или 1024 бита, должна вычисляться с помощью определенного набора правил, изложенных в 6.1.
5 Математические объекты
Для определения схемы цифровой подписи необходимо описать базовые математические объекты, используемые в процессах ее формирования и проверки. В данном разделе установлены основные математические определения и требования, предъявляемые к параметрам схемы цифровой подписи.
5.1 Математические определения
Эллиптической кривой Е, определенной над конечным простым полем (гдер > 3 - простое число), называется множество пар (х, у), х, , удовлетворяющих уравнению
где a, и не сравнимо с нулем по модулю р.
Инвариантом эллиптической кривой называется величина J(E), удовлетворяющая уравнению
Пары (х, у), где х, y - элементы поля , удовлетворяющие уравнению (1), называются "точками эллиптической кривой E"; х и у - соответственно х- и у-координатами точки.
Точка эллиптической кривой обозначается Q(x, у) или просто Q. Две точки эллиптической кривой равны, если равны их соответствующие х- и у-координаты.
На множестве точек эллиптической кривой E определена операция сложения, обозначаемая знаком "+". Для двух произвольных точек и эллиптической кривой E рассматривают несколько случаев.
Для точек и , координаты которых удовлетворяют условию , их суммой называется точка , координаты которой определяются сравнениями
Если выполнены равенства и , то координаты точки определяются следующим образом:
Если выполнены условия и , то сумма точек и называется нулевой точкой О без определения ее х- и у-координат. В этом случае точка называется отрицанием точки Для нулевой точки О выполнены равенства
где Q - произвольная точка эллиптической кривой Е.
Относительно введенной операции сложения множество точек эллиптической кривой E вместе с нулевой точкой образуют конечную абелеву (коммутативную) группу порядка m, для которого выполнено неравенство
Точка Q называется "точкой кратности k" или просто "кратной точкой эллиптической кривой E", если для некоторой точки Р выполнено равенство
5.2 Параметры цифровой подписи
Параметрами схемы цифровой подписи являются:
- простое число р - модуль эллиптической кривой;
- эллиптическая кривая E, задаваемая коэффициентами a, ;
- целое число m - порядок группы точек эллиптической кривой E;
- простое число q - порядок циклической подгруппы группы точек эллиптической кривой E, для которого выполнены следующие условия:
- точка эллиптической кривой Е, с координатами , удовлетворяющая равенству qP=O;
Каждый пользователь схемы цифровой подписи должен обладать личными ключами:
- ключом подписи - целым числом d, удовлетворяющим неравенству ;
- ключом проверки подписи - точкой эллиптической кривой Q с координатами , удовлетворяющей равенству dP=Q.
К приведенным выше параметрам схемы цифровой подписи предъявляют следующие требования:
- должно быть выполнено условие , для всех целых t = 1, 2, . В, где В = 31, если , и B = 131, если ;
- должно быть выполнено неравенство ;
- инвариант кривой должен удовлетворять условиям: .
5.3 Двоичные векторы
Для определения процессов формирования и проверки цифровой подписи необходимо установить соответствие между целыми числами и двоичными векторами длины l бит.
Рассмотрим следующий двоичный вектор длиной l бит, в котором младшие биты расположены справа, а старшие - слева:
где равно либо 1, либо 0.
Число соответствует двоичному вектору , если выполнено равенство
Для двух двоичных векторов
соответствующих целым числам и , операция конкатенации (объединения) определяется следующим образом:
Объединение представляет собой двоичный вектор длиной 2l бит, составленный из компонент векторов , и .
Формулы (11) и (12) определяют способ разбиения двоичного вектора длиной 2l бит на два двоичных вектора длиной l бит, конкатенацией которых он является.
6 Основные процессы
Для реализации данных процессов необходимо, чтобы всем пользователям были известны параметры схемы цифровой подписи, соответствующие требованиям 5.2.
Кроме того, каждый пользователь должен иметь ключ подписи d и ключ проверки подписи , которые также должны соответствовать требованиям 5.2.
6.1 Формирование цифровой подписи
Шаг 2 - вычислить целое число , двоичным представлением которого является вектор h, и определить
Если е = 0, то определить е = 1.
Шаг 3 - сгенерировать случайное (псевдослучайное) целое число k, удовлетворяющее неравенству
Шаг 4 - вычислить точку эллиптической кривой С = кР и определить
где - х-координата точки С.
Если r = 0, то вернуться к шагу 3.
Шаг 5 - вычислить значение
Если s = 0, то вернуться к шагу 3.
Шаг 6 - вычислить двоичные векторы и , соответствующие r и s, и определить цифровую подпись как конкатенацию двух двоичных векторов.
Схема процесса формирования цифровой подписи приведена на рисунке 2.
Рисунок 2 - Схема процесса формирования цифровой подписи
6.2 Проверка цифровой подписи
Шаг 1 - по полученной подписи вычислить целые числа r и s. Если выполнены неравенства , то перейти к следующему шагу. В противном случае подпись неверна.
Шаг 3 - вычислить целое число , двоичным представлением которого является вектор , и определить
Если е = 0, то определить е = 1.
Шаг 4 - вычислить значение . (20)
Шаг 5 - вычислить значения
Шаг 6 - вычислить точку эллиптической кривой и определить
где - х-координата точки С.
Шаг 7 - если выполнено равенство R = r, то подпись принимается, в противном случае - подпись неверна.
Схема процесса проверки цифровой подписи приведена на рисунке 3.
Рисунок 3 - Схема процесса проверки цифровой подписи
Системы обработки информации. Словарь. Часть 2. Арифметические и логические операции
(Data processing - Vocabulary - Part 2: Arithmetic and logic operations)
(Information technology - Security techniques - Digital signature schemes giving message recovery - Part 2: Integer factorization based mechanisms)
(Information technology - Security techniques - Digital signature schemes giving message recovery - Part 3: Discrete logarithm based mechanisms)
Информационные технологии. Методы защиты. Цифровые подписи с приложением. Часть 1. Общие положения
(Information technology - Security techniques - Digital signatures with appendix - Part 1: General)
Информационные технологии. Методы защиты. Цифровые подписи с приложением. Часть 2. Механизмы, основанные на разложении на множители
(Information technology - Security techniques - Digital signatures with appendix - Part 2: Integer factorization based mechanisms)
Информационные технологии. Методы защиты. Цифровые подписи с приложением. Часть 3. Механизмы на основе дискретного логарифма
(Information technology - Security techniques - Digital signatures with appendix - Part 3: Discrete logarithm based mechanisms)
Информационные технологии. Методы защиты. Цифровые подписи с приложением. Часть 3. Механизмы на основе дискретного логарифма. Изменение 1. Алгоритм русской цифровой подписи эллиптической кривой, алгоритм цифровой подписи Шнора, алгоритм цифровой подписи Шнора для эллиптической кривой и полный алгоритм цифровой подписи Шнора для эллиптической кривой
(Information technology - Security techniques - Digital signatures with appendix - Part 3: Discrete logarithm based mechanisms. Ammendment 1. Elliptic Curve Russian Digital Signature Algorithm, Schnorr Digital Signature Algorithm, Elliptic Curve Schnorr Digital Signature Algorithm, and Elliptic Curve Full Schnorr Digital Signature Algorithm)
Информационные технологии. Методы защиты информации. Хэш-функции. Часть 1. Общие положения
(Information technology - Security techniques - Hash-functions - Part 1: General)
Информационные технологии. Методы защиты информации. Хэш-функции. Часть 2. Хэш-функции с использованием алгоритма шифрования п-битными блоками
(Information technology - Security techniques - Hash-functions - Part 2: Hash-functions using an n-bit block cipher)
Информационные технологии. Методы защиты информации. Хэш-функции. Часть 3. Выделенные хэш-функции
(Information technology - Security techniques - Hash-functions - Part 3: Dedicated hash-functions)
Информационные технологии. Методы защиты информации. Хэш-функции. Часть 4. Хэш-функции с применением арифметики в остаточных классах
(Information technology - Security techniques - Hash-functions - Part 4: Hash-functions using modular arithmetic)
* Оригиналы международных стандартов ИСО/МЭК находятся в ФГУП "Стандартинформ" Федерального агентства по техническому регулированию и метрологии.
Откройте актуальную версию документа прямо сейчас или получите полный доступ к системе ГАРАНТ на 3 дня бесплатно!
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Национальный стандарт РФ ГОСТ Р 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-ст
Введение
Настоящий стандарт содержит описание процессов формирования и проверки электронной цифровой подписи (ЭЦП), реализуемой с использованием операций в группе точек эллиптической кривой, определенной над конечным простым полем.
Необходимость разработки настоящего стандарта вызвана потребностью в реализации электронной цифровой подписи разной степени стойкости в связи с повышением уровня развития вычислительной техники. Стойкость электронной цифровой подписи основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции по ГОСТ Р 34.11-2012.
Настоящий стандарт разработан с учетом терминологии и концепций международных стандартов ИСО 2382-2* [1], ИСО/МЭК 9796* [2]-[3], ИСО/МЭК 14888* [4]-[7] и ИСО/МЭК 10118* [8]-[11].
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - Примечание изготовителя базы данных.
3.1 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями:
3.1.1 дополнение (appendix): Строка бит, формируемая из цифровой подписи и произвольного текстового поля.
3.1.2 ключ подписи (signature key): Элемент секретных данных, специфичный для субъекта и используемый только данным субъектом в процессе формирования цифровой подписи.
3.1.3 ключ проверки подписи (verification key): Элемент данных, математически связанный с ключом подписи и используемый проверяющей стороной в процессе проверки цифровой подписи.
3.1.4 параметр схемы ЭЦП (domain parameter): Элемент данных, общий для всех субъектов схемы цифровой подписи, известный или доступный всем этим субъектам.
3.1.6 последовательность псевдослучайных чисел (pseudo-random number sequence): Последовательность чисел, полученная в результате выполнения некоторого арифметического (вычислительного) процесса, используемая в конкретном случае вместо последовательности случайных чисел.
Примечание - Адаптировано из ИСО 2382 [1].
3.1.7 последовательность случайных чисел (random number sequence): Последовательность чисел, каждое из которых не может быть предсказано (вычислено) только на основе знания предшествующих ему чисел данной последовательности.
Примечание - Адаптировано из ИСО 2382 [1].
3.1.10 свидетельство (witness): Элемент данных, представляющий соответствующее доказательство достоверности (недостоверности) подписи проверяющей стороне.
3.1.11 случайное число (random number): Число, выбранное из определенного набора чисел таким образом, что каждое число из данного набора может быть выбрано с одинаковой вероятностью.
Примечание - Адаптировано из ИСО 2382 [1].
3.1.13 хэш-код (hash-code): Строка бит, являющаяся выходным результатом хэш-функции.
3.1.14 хэш-функция (collision-resistant hash-function): Функция, отображающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам:
1) по данному значению функции сложно вычислить исходные данные, отображаемые в это значение;
2) для заданных исходных данных сложно вычислить другие исходные данные, отображаемые в то же значение функции;
3) сложно вычислить какую-либо пару исходных данных, отображаемых в одно и то же значение.
3 В настоящем стандарте в целях сохранения терминологической преемственности с нормативными документами, действующими на территории государства, принявшего настоящий стандарт, и опубликованными ранее на русском языке научно-техническими изданиями установлено, что термины "хэш-функция", "криптографическая хэш-функция", "функция хэширования" и "криптографическая функция хэширования" являются синонимами.
3.1.15 [электронная цифровая] подпись (signature); ЭЦП: Строка бит, полученная в результате процесса формирования подписи.
2 Строка бит, являющаяся подписью, может иметь внутреннюю структуру, зависящую от конкретного механизма формирования подписи.
ГОСТ Р 34.10-2001
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Процессы формирования и проверки электронной цифровой подписи
Information technology. Cryptographic data security.
Formation and verification processes of [electronic] digital signature
Дата введения 2002-07-01
1 РАЗРАБОТАН Главным управлением безопасности связи Федерального агентства правительственной связи и информации при Президенте Российской Федерации с участием Всероссийского научно-исследовательского института стандартизации (ВНИИстандарт)
ВНЕСЕН Федеральным агентством правительственной связи и информации при Президенте Российской Федерации
2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 12 сентября 2001 г. N 380-ст
2 Нормативные ссылки
В настоящем стандарте использована ссылка на следующий стандарт:
ГОСТ Р 34.11-2012 Информационная технология. Криптографическая защита информации. Функция хэширования
Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.
3 Термины, определения и обозначения
Предисловие
1 РАЗРАБОТАН Центром защиты информации и специальной связи ФСБ России с участием Открытого акционерного общества "Информационные технологии и коммуникационные системы" (ОАО "ИнфоТеКС")
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации"
5 ПЕРЕИЗДАНИЕ. Сентябрь 2018 г.
2 Нормативные ссылки
В настоящем стандарте использована нормативная ссылка на следующий межгосударственный стандарт:
ГОСТ 34.11-2018 Информационная технология. Криптографическая защита информации. Функция хэширования
Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочного стандарта в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если ссылочный стандарт заменен (изменен), то при пользовании настоящим стандартом следует руководствоваться заменяющим (измененным) стандартом. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.
Предисловие
Цели, основные принципы и основной порядок проведения работ по межгосударственной стандартизации установлены в ГОСТ 1.0-2015 "Межгосударственная система стандартизации. Основные положения" и ГОСТ 1.2-2015 "Межгосударственная система стандартизации. Стандарты межгосударственные, правила и рекомендации по межгосударственной стандартизации. Правила разработки, принятия, обновления и отмены"
Сведения о стандарте
1 РАЗРАБОТАН Центром защиты информации и специальной связи ФСБ России с участием Открытого акционерного общества "Информационные технологии и коммуникационные системы" (ОАО "ИнфоТеКС")
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации"
3 ПРИНЯТ Межгосударственным советом по метрологии, стандартизации и сертификации (протокол от 29 ноября 2018 г. N 54)
За принятие проголосовали:
Краткое наименование страны по МК (ИСО 3166) 004-97
Сокращенное наименование национального органа по стандартизации
Минэкономики Республики Армения
4 Приказом Федерального агентства по техническому регулированию и метрологии от 4 декабря 2018 г. N 1059-ст межгосударственный стандарт ГОСТ 34.10-2018 введен в действие в качестве национального стандарта Российской Федерации с 1 июня 2019 г.
5 Настоящий стандарт подготовлен на основе применения ГОСТ Р 34.10-2012
6 ВВЕДЕН ВПЕРВЫЕ
Информация об изменениях к настоящему стандарту публикуется в ежегодном информационном указателе "Национальные стандарты", а текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячном информационном указателе "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
ВНЕСЕНА поправка, опубликованная в ИУС N 1, 2021 год
Поправка внесена изготовителем базы данных
1 Область применения
Стандарт рекомендуется использовать в новых системах обработки информации различного назначения, а также при модернизации действующих систем.
3 Определения и обозначения
В настоящем стандарте использованы следующие термины:
3.1.1 дополнение (appendix): Строка бит, формируемая из цифровой подписи и произвольного текстового поля (ИСО/МЭК 148881-1 [3]).
3.1.6 последовательность псевдослучайных чисел (pseudo-random number sequence): Последовательность чисел, полученная в результате выполнения некоторого арифметического (вычислительного) процесса, используемая в конкретном случае вместо последовательности случайных чисел (ИСО 2382-2 [1]).
3.1.7 последовательность случайных чисел (random number sequence): Последовательность чисел, каждое из которых не может быть предсказано (вычислено) только на основе знания предшествующих ему чисел данной последовательности (ИСО 2382-2 [1]).
3.1.11 случайное число (random number): Число, выбранное из определенного набора чисел таким образом, что каждое число изданного набора может быть выбрано с одинаковой вероятностью (ИСО 2382-2 [1]).
3.1.13 хэш-код (hash-code): Строка бит, являющаяся выходным результатом хэш-функции (ИСО/МЭК 148881-1 [3]).
3.1.14 хэш-функция (hash-function): Функция, отображающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам:
1) по данному значению функции сложно вычислить исходные данные, отображенные в это значение;
2) для заданных исходных данных трудно найти другие исходные данные, отображаемые с тем же результатом;
3) трудно найти какую-либо пару исходных данных с одинаковым значением хэш-функции.
3.1.15 [электронная] цифровая подпись (digital signature): Строка бит, полученная в результате процесса формирования подписи. Данная строка имеет внутреннюю структуру, зависящую от конкретного механизма формирования подписи.
Примечание - В настоящем стандарте в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями, установлено, что термины "цифровая подпись" и "электронная цифровая подпись (ЭЦП)" являются синонимами.
В настоящем стандарте использованы следующие обозначения:
- множество всех двоичных векторов длиной 256 бит;
- множество всех двоичных векторов произвольной конечной длины;
Z - множество всех целых чисел;
- простое число, >3;
- конечное простое поле, представляемое как множество из целых чисел ;
- минимальное не отрицательное число, сравнимое с по модулю ;
- конкатенация (объединение) двух двоичных векторов;
, - коэффициенты эллиптической кривой;
- порядок группы точек эллиптической кривой;
- порядок подгруппы группы точек эллиптической кривой;
- нулевая точка эллиптической кривой;
- точка эллиптической кривой порядка ;
- целое число - ключ подписи;
- точка эллиптической кривой - ключ проверки;
Введение
Настоящий стандарт содержит описание процессов формирования и проверки электронной цифровой подписи (ЭЦП), реализуемой с использованием операций в группе точек эллиптической кривой, определенной над конечным простым полем.
Необходимость разработки настоящего стандарта вызвана потребностью в реализации электронной цифровой подписи разной степени стойкости в связи c повышением уровня развития вычислительной техники. Стойкость электронной цифровой подписи основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции по ГОСТ 34.11.
Настоящий стандарт разработан с учетом терминологии и концепций международного стандарта ИСО 2382 [1], а также международных стандартов серий ИСО/МЭК 9796* [2], [3], ИСО/МЭК 14888* [4]-[6] и ИСО/МЭК 10118* [7]-[10].
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - Примечание изготовителя базы данных.
Введение
Настоящий стандарт содержит описание процессов формирования и проверки электронной цифровой подписи (ЭЦП), реализуемой с использованием операций группы точек эллиптической кривой, определенной над конечным простым полем.
Стандарт разработан взамен ГОСТ Р 34.10-94. Необходимость разработки настоящего стандарта вызвана потребностью в повышении стойкости ЭЦП к несанкционированным изменениям. Стойкость ЭЦП основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции по ГОСТ Р 34.11.
Настоящий стандарт терминологически и концептуально увязан с международными стандартами ИСО 2382-2 [1], ИСО/МЭК 9796 [2], серии ИСО/МЭК 14888 [3] - [5] и серии ИСО/МЭК 10118 [6] - [9].
Примечание - Основная часть стандарта дополнена тремя приложениями:
- А - дополнительные термины в области ЭЦП;
- Б - описание контрольного примера;
- В - перечень публикаций (библиография) в области ЭЦП.
1 Область применения
Настоящий стандарт рекомендуется применять при создании, эксплуатации и модернизации систем обработки информации различного назначения.
Читайте также: