- Правова система ipLex360
- Законодавство
- Наказ
ЗАТВЕРДЖЕНО
Наказ Міністерства
юстиції України,
Адміністрації Державної
служби спеціального зв’язку
та захисту інформації України
Зареєстровано в Міністерстві
юстиції України
20 серпня 2012 р.
за № 1401/21713
ВИМОГИ
до формату підписаних даних
I. Загальні положення
1.1. Ці Вимоги визначають формат підписаних даних - відображення електронного цифрового підпису (далі - ЕЦП) у вигляді DER-кодованого блоку (далі - формат ЕЦП), який містить безпосередньо значення ЕЦП як результат криптографічного перетворення набору електронних даних, а також набір додаткових даних, необхідних для перевірки ЕЦП та визнання його дійсності.
1.2. У цих Вимогах терміни вживаються в такому значенні:
атрибути, що не підписуються, - додаткові дані, які включаються до DER-кодованого блоку логічного представлення ЕЦП;
атрибути, що підписуються, - додаткові дані, які включаються до DER-кодованого блоку логічного представлення ЕЦП, стосовно якого разом з набором електронних даних, які підписуються, обчислюється ЕЦП за методикою, визначеною в цих Вимогах;
верифікатор - особа, що перевіряє ЕЦП за допомогою надійного засобу ЕЦП;
значення цифрового підпису - DER-кодований блок, що містить результат криптографічного перетворення набору електронних даних, які підписуються;
набір додаткових даних (дані перевірки) - дані, необхідні для визнання дійсності (достовірності) ЕЦП, тобто кодовані за встановленими правилами поля даних ЕЦП, що призначені для встановлення дійсності ЕЦП, у тому числі в довгостроковому періоді.
Інші терміни застосовуються у значеннях, наведених у
Законі України "Про електронний цифровий підпис",
Порядку акредитації центру сертифікації ключів, затвердженому постановою Кабінету Міністрів України від 13 липня 2004 року № 903,
Правилах посиленої сертифікації, затверджених наказом Департаменту спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України від 13 січня 2005 року № 3 (у редакції наказу Департаменту спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України від 10 травня 2006 року № 50), зареєстрованих у Міністерстві юстиції України 27 січня 2005 року за № 104/10384, інших нормативно-правових актах з питань криптографічного та технічного захисту інформації.
1.4. Усі структури даних формату ЕЦП кодують за правилами DER згідно з міжнародними стандартами ISO/IEC 8825-1:2002 "Information technology - ASN.1 encoding Rules - Part 1: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)" та AMD1:2004 "Support for EX-TENDED-XER".
1.6. Ці Вимоги не дублюють стандарти ДСТУ ETSI TS 101 733:2009, RFC 5652 та RFC 3126, а описують положення цих стандартів та формати полів. У разі виникнення розбіжностей між положеннями зазначених стандартів та положеннями цих Вимог застосовуються положення цих Вимог.
1.7. Положення цих Вимог є обов’язковими для надійних засобів ЕЦП. Правильність реалізації формату підписаних даних у надійних засобах ЕЦП підтверджується сертифікатом відповідності або позитивним експертним висновком за результатами державної експертизи у сфері криптографічного захисту інформації.
Тип формату ЕЦП обирається залежно від порядку зберігання підписаних даних. Структуру даних формату ЕЦП наведено в додатку до цих Вимог.
1.8. ЕЦП обчислюється за криптографічними алгоритмами, визначеними у ДСТУ 4145-2002 "Інформаційні технології. Криптографічний захист інформації. Цифровий підпис, що ґрунтується на еліптичних кривих. Формування та перевіряння", затвердженому наказом Державного комітету України з питань технічного регулювання та споживчої політики від 28 грудня 2002 року № 31 (далі - ДСТУ 4145-2002). Геш-функція обчислюється одним з криптоалгоритмів за:
ГОСТ 34.311-95 "Информационная технология. Криптографическая защита информации. Функция хэширования", затвердженим наказом Державного комітету України з питань технічного регулювання та споживчої політики від 21 жовтня 1997 року № 640 (далі - ГОСТ 34.311-95);
ДСТУ 7564:2014 "Інформаційні технології. Криптографічний захист інформації. Функція гешування", затвердженим наказом Міністерства економічного розвитку і торгівлі України від 02 грудня 2014 року
№ 1431 (далі - ДСТУ 7564-2014).
1.9. В одному форматі ЕЦП можливе використання декількох криптографічних алгоритмів згідно з рекомендованими національними стандартами, перелік яких опубліковано Адміністрацією Держспецзв'язку України.
1.10. Для визначення алгоритму гешування згідно з ГОСТ 34.311-95 поле "algorithm" типу "AlgorithmIdentifier" повинно мати значення:
Gost34311 OBJECT IDENTIFIER ::= ( iso(1) member-body(2) Ukraine(804)
root(2) security(1) cryptography(1) ua-pki(1) alg(1) hash(2) 1 ).
Поле "parameters" повинно бути відсутнє.
При обчисленні значення геш - функції стартовий вектор H функції гешування згідно з ГОСТ 34.311-95 встановлюється рівним 256 нульовим бітам.
В операціях формування та перевіряння підпису при обчисленні значення геш-функції згідно з ГОСТ 34.311-95 повинен використовуватися довгостроковий ключовий елемент (далі - ДКЕ), що вказаний у параметрах ключа підпису.
ДКЕ № 1 використовується як ДКЕ "за умовчанням".
Для сумісності з попередніми рішеннями при перевірці значення геш-функції згідно з ГОСТ 34.311-95 допускається використання ДКЕ, що вказаний у параметрах ключа підпису.
1.11. Для визначення алгоритму гешування згідно з ДСТУ 7564-2014 поле "algorithm" типу "AlgorithmIdentifier" може мати такі значення:
Dstu7564(256) OBJECT IDENTIFIER ::= ( iso(1) member-body(2)
Ukraine(804) root(2) security(1) cryptography(1) pki(1)
alg(1) hash(2) Dstu7564(2) 1 )
Dstu7564(384) OBJECT IDENTIFIER ::= ( iso(1) member-body(2)
Ukraine(804) root(2) security(1) cryptography(1) pki(1)
alg(1) hash(2) Dstu7564(2) 2 )
Dstu7564(512) OBJECT IDENTIFIER ::= ( iso(1) member-body(2)
Ukraine(804) root(2) security(1) cryptography(1) pki(1)
alg(1) hash(2) Dstu7564(2) 3 )
Поле "parameters" повинно бути відсутнє.
При використанні функції гешування за ДСТУ 7564-2014 в операціях формування та перевіряння електронного цифрового підпису режим обчислення геш-значення та генератор випадкових двійкових послідовностей визначається відповідно до
Вимог до формату посиленого сертифіката відкритого ключа, затверджених наказом Міністерства юстиції України, Адміністрації Державної служби спеціального зв’язку та захисту інформації України від 20 серпня 2012 року № 1236/5/453, зареєстрованих у Міністерстві юстиції України 20 серпня 2012 року за № 1398/21710.
В усіх інших операціях обчислення значення геш-функції згідно з ДСТУ 7564-2014 рекомендується використовувати режим гешування з формуванням геш-значення завдовжки 256 бітів.
II. Типи форматів ЕЦП
2.1. Цими Вимогами визначаються такі типи форматів ЕЦП:
"Базовий ЕЦП" (CAdES Basic Electronic Signature - CAdES-BES відповідно до ДСТУ ETSI TS 101 733:2009);
"Базовий ЕЦП із визначеною політикою підпису" (Explicit Policy-based Electronic Signature - CAdES-EPES відповідно до ДСТУ ETSI TS 101 733:2009);
"ЕЦП з посиланням на повний набір даних перевірки" (ES with Complete validation data references (CAdES-C) відповідно до ДСТУ ETSI TS 101 733:2009);
"ЕЦП з повним набором даних перевірки" (CAdES-X Long відповідно до ДСТУ ETSI TS 101 733:2009).
2.2. Типи форматів ЕЦП наведено в порядку збільшення кількості додаткових даних.
2.3. Формат "Базовий ЕЦП":
2.3.1. Формат "Базовий ЕЦП" використовується для автентифікації підписувача та перевірки цілісності електронного документа в період чинності сертифіката (сертифікатів) відкритого ключа (далі - сертифікат). Формат "Базовий ЕЦП" може бути створений без доступу до on-line послуг акредитованого центру сертифікації ключів (далі - Центр). Формат "Базовий ЕЦП" не надає можливості встановити дійсність підпису у випадку, якщо ЕЦП перевіряється після закінчення строку чинності сертифіката або скасування сертифіката після формування ЕЦП.
2.3.2. Формат "Базовий ЕЦП" містить:
набір обов’язкових атрибутів, що підписуються;
цифровий підпис, обчислений за електронними даними та набором атрибутів, що підписуються;
електронні дані, стосовно яких здійснюється обчислення цифрового підпису (необов’язково).
Додатково формат "Базовий ЕЦП" може включати:
набір необов’язкових атрибутів, що підписуються;
набір необов’язкових атрибутів, що не підписуються, відповідно до CMS (RFC 5652).
2.3.3. Перелік обов’язкових атрибутів, що підписуються:
"Сontent-Type" - атрибут, що визначає тип структури "EncapsulatedContentInfo", за значенням якої обчислюється підпис;
"Message-digest" - атрибут, що містить геш-значення структури "eContent OCTET STRING" в "encapContentInfo", за значенням якої обчислюється цифровий підпис;
"ESS signing-certificate v2" - атрибут, що містить посилання на сертифікат підписувача.
2.3.4. Перелік необов’язкових атрибутів, що підписуються:
"Signing-time" - атрибут, що містить час обчислення цифрового підпису, який заявляється підписувачем;
"content-time-stamp" - атрибут, що містить позначку часу відносно даних, що підписуються. Зазначений атрибут дозволяє забезпечити доказ того, що дані, стосовно яких обчислюється підпис, існували до моменту формування підпису;
"signature-policy-identifier" - атрибут, що вказує на політику підпису, дотримання якої є обов’язковим під час формування та перевірки ЕЦП.
2.4. Формат "Базовий ЕЦП із визначеною політикою підпису" (CAdES-EPES) включає всі дані формату "Базовий ЕЦП" та додатково містить обов’язковий атрибут "signature-policy-identifier", що вказує на політику підпису, дотримання якої є обов’язковим під час формування та перевірки ЕЦП.
2.5. Формати "ЕЦП з посиланням на повний набір даних перевірки" (CAdES-C) та "ЕЦП з повним набором даних перевірки" (CAdES-X Long) забезпечують можливість встановлення дійсності ЕЦП у довгостроковому періоді (після закінчення строку чинності сертифіката).
Ці формати додатково містять дані, що забезпечують встановлення дійсності підпису у довгостроковому періоді:
позначку часу відносно цифрового підпису;
сертифікати або посилання на сертифікати;
інформацію про статус для кожного сертифіката або посилання на таку інформацію.
Зазначені дані включаються до формату підписувачем або верифікатором та визначаються атрибутами, що не підписуються. Такі атрибути додаються до формату "Базовий ЕЦП" або "Базовий ЕЦП із визначеною політикою підпису". Використання позначки часу забезпечує доказ того, що цифровий підпис був обчислений до певного часу, та дозволяє встановити дійсність сертифіката на момент обчислення цифрового підпису. Інформація про статус сертифікатів може бути представлена у формі списків відкликаних сертифікатів або відповідей на інтерактивну перевірку статусу сертифіката згідно з
Вимогами до протоколу визначення статусу сертифіката, затвердженими наказом Міністерства юстиції України, Адміністрації Державної служби спеціального зв’язку та захисту інформації України
від 20 серпня 2012 року № 1236/5/453, зареєстрованими у Міністерстві юстиції України 20 серпня 2012 року за № 1403/21715 (далі - Вимоги до протоколу визначення статусу сертифіката).
2.5.1. Формат "ЕЦП з посиланням на повний набір даних перевірки" формується шляхом додавання до формату "Базовий ЕЦП" таких атрибутів, що не підписуються:
"signature-time-stamp" - атрибут, що містить позначку часу відносно цифрового підпису;
"complete-certificate-references" - атрибут, що містить ідентифікаційні дані всіх сертифікатів, які використовуються для перевірки підпису, крім сертифіката підписувача;
"complete-revocation-references" - атрибут, що містить ідентифікаційні дані списків відкликаних сертифікатів або відповідей за протоколом OCSP щодо сертифікатів, які використовуються для перевірки підпису, крім сертифіката підписувача.
Дата та час, які вказані у позначці часу, не повинні перевищувати строку чинності сертифіката (сертифікатів) або дату та час його скасування.
У випадку, коли необхідні дані перевірки, які забезпечують встановлення дійсності підпису у довгостроковому періоді, доступні верифікатору, він може сформувати формат "ЕЦП з посиланням на повний набір даних перевірки" на основі отриманого від підписувача ЕЦП у форматі "Базовий ЕЦП" з дотриманням періоду відстрочки з моменту авторизації підписувача, що звертається до Центру з метою скасування сертифіката, до часу, коли оновлена інформація про статус сертифіката стає доступною для використання.
Якщо підписувач ініціює процедуру скасування сертифіката, інформація про статус сертифіката протягом періоду відстрочки може не відповідати інформації, що доступна для верифікатора.
2.5.2. Формат "Розширений довгостроковий підпис" формується шляхом додавання до формату "Базовий ЕЦП" таких атрибутів, що не підписуються:
"certificate-values" - атрибут містить всі сертифікати, крім сертифіката підписувача, необхідні для перевірки підпису;
"revocation-values" - атрибут містить списки відкликаних сертифікатів або відповіді за протоколом OCSP щодо сертифікатів, які використовуються для перевірки підпису (крім сертифіката підписувача).
III. Процедура перевірки ЕЦП
3.1. ЕЦП вважається таким, що пройшов перевірку, у випадку, якщо виконуються всі наведені умови:
формат ЕЦП відповідає положенням цих Вимог;
за результатами перевірки цифрового підпису встановлено, що цифровий підпис вірний;
ЕЦП підтверджено з використанням сертифіката (сертифікатів), чинного (чинних) на момент накладення ЕЦП;
тип даних, на які поставлено підпис, відповідає зазначеному в атрибуті "content-type";
геш-значення даних (інкапсульованих або зовнішніх) відповідає значенню, наведеному в атрибуті "message-digest".
Якщо під час перевірки у верифікатора відсутні необхідні дані перевірки, зокрема сертифікати, інформація про їх статус, або якщо період відстрочки не закінчився, він повинен утриматися від перевірки ЕЦП до отримання цих даних або закінчення періоду відстрочки.
3.2. ЕЦП вважається таким, що не пройшов перевірку, у випадку, якщо є хоча б одна з наведених умов:
формат ЕЦП не відповідає положенням цих Вимог;
за результатами перевірки цифрового підпису встановлено, що цифровий підпис невірний;
ЕЦП підтверджено з використанням сертифіката (сертифікатів), що на момент накладання ЕЦП не був чинним (був скасованим, блокованим або строк чинності його закінчився);
тип даних, на які поставлено підпис, не відповідає зазначеному в атрибуті "content-type";
геш-значення даних (інкапсульованих або зовнішніх) не відповідає значенню, наведеному в атрибуті "message-digest".
3.3. Якщо під час перевірки верифікатор не може встановити, чи пройшов ЕЦП перевірку, чи ні, то підпис вважається таким, що не пройшов перевірку на даний момент часу.
3.4. Перевірка декількох підписів здійснюється у випадку, коли підписаний документ містить декілька підписів, кожен підпис перевіряється окремо. Підписаний кількома ЕЦП електронний документ (електронні дані) вважається дійсним виключно у випадку, коли всі ЕЦП пройшли перевірку.
IV. Атрибути, що включаються у формат ЕЦП
4.1. Тип "ContentInfo".
Тип "ContentInfo" використовується для інкапсульованих даних разом з ідентифікатором типу даних.
ContentInfo ::= SEQUENCE (
contentType ContentType,
content [0]EXPLICIT ANY DEFINED BY contentType )
ContentType ::= OBJECT IDENTIFIER
4.1.1. Поле "contentType" містить об’єктний ідентифікатор, що ідентифікує тип даних, що містяться в полі "content". Цими Вимогами визначаються два типи даних: "дані" та "дані з ЕЦП".
Тип даних "дані" має об’єктний ідентифікатор:
id-data OBJECT IDENTIFIER ::= ( iso(1) member-body(2) us(840)
rsadsi(113549) pkcs(1) pkcs7(7) 1 )
Тип даних "дані з ЕЦП" має об’єктний ідентифікатор:
id-signedData OBJECT IDENTIFIER ::= ( iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2 )
4.1.2. Поле "content" містить дані, тип яких вказано в полі "contentType".
Якщо поле "contentType" типу "ContentInfo" містить об’єктний ідентифікатор "id-signedData", то поле "content" цього типу містить тип "SignedData", що визначає "дані з ЕЦП". Ця структура відповідає формату "Базовий ЕЦП".
4.2. Тип "SignedData":
SignedData ::= SEQUENCE (
version CMSVersion,
digestAlgorithms DigestAlgorithmIdentifiers,
encapContentInfo EncapsulatedContentInfo,
certificates [0]IMPLICIT CertificateSet OPTIONAL,
crls [1]IMPLICIT RevocationInfoChoices OPTIONAL
signerInfos SignerInfos )
4.2.1. Поле "version" містить версію формату підписаних даних. Якщо значення поля "eContentType" в полі "encapContentInfo" дорівнює "id-data", то значення поля "version" дорівнює "1". Якщо значення поля "eContentType" в полі "encapContentInfo" відрізняється від "id-data", то значення поля "version" дорівнює "3".
4.2.2. Поле "digestAlgorithms" містить алгоритми гешування, що були використані під час формування ЕЦП.
DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
DigestAlgorithmIdentifier ::= AlgorithmIdentifier
Поле "digestAlgorithms" може містити об’єктні ідентифікатори алгоритмів гешування, які визначаються ГОСТ 34.311-95 або ДСТУ 7564-2014.
4.2.3. Поле "encapContentInfo" містить інкапсульовані дані, що були підписані.
Тип "EncapsulatedContentInfo" використовується для зберігання даних, що підписані.
EncapsulatedContentInfo ::= SEQUENCE (
eContentType ContentType,
eContent [0]EXPLICIT OCTET STRING OPTIONAL )
Поле "eContentType" містить об’єктний ідентифікатор типу даних.
Поле "eContent" є необов’язковим та може містити дані, що підписуються. Якщо це поле відсутнє, то вважається, що дані зберігаються окремо від логічного блоку ЕЦП (зовнішні дані).
4.2.4. Поле "certificates" є необов’язковим та може містити перелік сертифікатів, необхідних для перевірки ЕЦП.
CertificateSet ::= SET OF Certificate
Для форматів CAdES-C та CAdES-X Long це поле повинно бути присутнє та містити сертифікат підписувача.
4.2.5. Поле "crls" є необов’язковим та може містити набір списків відкликаних сертифікатів, необхідних для визначення статусу сертифіката.
RevocationInfoChoices ::= SET OF CertificateList
Для формату CAdES-X Long це поле повинно бути відсутнім; усю необхідну інформацію для визначення статусу треба розміщувати в атрибуті "revocation-values".
4.2.6. Поле "signerInfos" містить інформацію про осіб, що підписали дані.
SignerInfos ::= SET OF SignerInfo
4.3. Тип "SignerInfo" використовується для зберігання даних про підписувача та додаткових даних:
SignerInfo ::= SEQUENCE (
version CMSVersion,
sid SignerIdentifier,
digestAlgorithm DigestAlgorithmIdentifier,
signedAttrs [0]IMPLICIT SignedAttributes OPTIONAL,
signatureAlgorithm SignatureAlgorithmIdentifier,
signature OCTET STRING,
unsignedAttrs [1]IMPLICIT UnsignedAttributes OPTIONAL )
4.3.1. Поле "version" містить версію формату типу "SignerInfo". Це поле повинно мати значення "1".
4.3.2. Поле "sid" містить ідентифікаційну інформацію про підписувача.
SignerIdentifier ::= CHOICE (
issuerAndSerialNumber IssuerAndSerialNumber,
subjectKeyIdentifier [0]SubjectKeyIdentifier )
"SignerIdentifier" надає два варіанти щодо визначення відкритого ключа підписувача.
"IssuerAndSerialNumber" визначає сертифікат підписувача за розпізнавальним ім’ям Центру ("distinguished name"), що сформував сертифікат, та серійним номером сертифіката ("CertificateSerialNumber").
"SubjectKeyIdentifier" визначає сертифікат підписувача за ідентифікатором ключа.
IssuerAndSerialNumber ::= SEQUENCE (
issuer Name,
serialNumber CertificateSerialNumber )
"Name" кодується відповідно до
Вимог до формату посиленого сертифіката відкритого ключа, затверджених наказом Міністерства юстиції України, Адміністрації Державної служби спеціального зв’язку та захисту інформації України від 20 серпня 2012 року № 1236/5/453, зареєстрованих у Міністерстві юстиції України 20 серпня 2012 року за № 1398/21710 (далі - Вимоги до формату посиленого сертифіката відкритого ключа).
CertificateSerialNumber ::= INTEGER
4.3.3. Поле "digestAlgorithm" містить дані алгоритму гешування. Цей алгоритм повинен бути включений до поля "digestAlgorithms" типу "SignedData".
4.3.4. Поле "signedAttrs" містить підписані атрибути з додатковими даними.
SignedAttributes ::= SET SIZE (1..MAX) OF Attribute
4.3.5. Поле "signatureAlgorithm" містить ідентифікатор алгоритму цифрового підпису.
Поле "algorithm" поля "signatureAlgorithm" для алгоритму цифрового підпису ДСТУ-4145:2002 з геш-функцією за ДСТУ 7564-2014 може мати такі значення:
Dstu4145WithDstu7564(256) OBJECT IDENTIFIER ::= ( iso(1) member-body(2)
Ukraine(804) root (2) security(1) cryptography(1) pki(1) alg(1)sym(3)
Dstu4145WithDstu7564(3) 1 )
Dstu4145WithDstu7564(384) OBJECT IDENTIFIER ::= ( iso(1) member-body(2)
Ukraine(804) root (2) security(1) cryptography(1) pki(1) alg(1)sym(3)
Dstu4145WithDstu7564(3) 2 )
................Перейти до повного тексту