- Правова система ipLex360
- Законодавство
- Наказ
ДЕРЖАВНИЙ КОМІТЕТ УКРАЇНИ
З ПИТАНЬ НАУКИ, ІННОВАЦІЙ ТА ІНФОРМАТИЗАЦІЇ
АДМІНІСТРАЦІЯ ДЕРЖАВНОЇ СЛУЖБИ СПЕЦІАЛЬНОГО ЗВ'ЯЗКУ
ТА ЗАХИСТУ ІНФОРМАЦІЇ УКРАЇНИ
ЗАТВЕРДЖЕНО
Наказ Державного комітету
України з питань науки,
інновацій та інформатизації,
Адміністрації Державної
служби спеціального зв'язку
та захисту інформації
України
13.08.2010 N 8/229
( z1052-10 )
Зареєстровано в Міністерстві
юстиції України
9 листопада 2010 р.
за N 1053/18348
ТЕХНІЧНІ СПЕЦИФІКАЦІЇ
форматів представлення базових об'єктів національної системи електронного цифрового підпису (протокол фіксування часу)
( Рішення про державну реєстрацію документу скасовано
на підставі Наказу Міністерства юстиції
N 1304/5 від 10.05.2011
Висновку Міністерства юстиції
N 2/105 від 10.05.2011 )
( Виключено з державного реєстру нормативно-правових актів
01.06.2011 )
I. Загальні положення
1.1. Ці Технічні специфікації визначають процедури формування та перевірки позначки часу, формати даних та протоколи взаємодії органів державної влади та органів місцевого самоврядування у сфері послуг електронного цифрового підпису під час надання послуги фіксування часу.
1.2. Формати даних представлено у нотації ASN.1, визначеній у міжнародному стандарті ISO/IEC 8824 "Information technology - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1)".
1.3. Усі структури даних кодують за правилами 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)".
1.4. Ці Технічні специфікації розороблено відповідно до міжнародних стандартів RFC 3852 "Cryptographic Message Syntax (CMS)", RFC 3161 "Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)" та ISO/IEC 18014 "Information technology - Security techniques - Time-stamping services".
1.5. Вимоги цих Технічних специфікацій є обов'язковими для надійних засобів електронного цифрового підпису, програмно-технічних комплексів акредитованих центрів сертифікації ключів. Правильність реалізації протоколу та наведених форматів у засобах ЕЦП повинна бути підтверджена сертифікатом відповідності або позитивним експертним висновком за результатами державної експертизи у сфері криптографічного захисту інформації.
Формати даних у нотації ASN.1, що застосовуються при реалізації протоколу фіксування часу, наведено у додатку 1.
1.6. У цих Технічних специфікаціях терміни вживаються у такому значенні:
послуга фіксування часу - процедура засвідчення наявності електронного документа (електронних даних) на певний момент часу шляхом додання до нього або логічного поєднання з ним позначки часу;
позначка часу - сукупність електронних даних, створена за допомогою технічних засобів та засвідчена електронним цифровим підписом центру сертифікації ключів, яка підтверджує наявність електронного документа (електронних даних) на певний момент часу.
Інші терміни застосовуються у значеннях, наведених у Законі України
"Про електронний цифровий підпис", Порядку засвідчення наявності електронного документа (електронних даних) на певний момент часу, затвердженому постановою Кабінету Міністрів України від 26.05.2004
N 680, Порядку акредитації центру сертифікації ключів, затвердженому постановою Кабінету Міністрів України від 13.07.2004
N 903, Правилах посиленої сертифікації, затверджених наказом Департаменту спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України від 13.01.2005
N 3 (у редакції наказу Департаменту спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України від 10.05.2006
N 50) , зареєстрованих у Міністерстві юстиції України 27.01.2005 за N 104/10384, інших нормативно-правових актах з питань криптографічного та технічного захисту інформації.
1.7. Для визначення алгоритму гешування поле "algorithm" повинно мати значення
Gost34311 OBJECT IDENTIFIER ::= {iso(1) member-body(2)
Ukraine(804) root(2) security(1) cryptography(1) pki(1) pki-alg(1)
pki-alg-hash (2) 1}
Поле "parameters" повинно бути відсутнє, але для сумісності з попередніми рішеннями також може бути закодоване як ASN.1 NULL.
1.8. В операціях формування та перевіряння підпису при обчисленні значення геш-функції згідно з ГОСТ 34.311-95 повинен використовуватися довгостроковий ключовий елемент (далі - ДКЕ), зазначений в параметрах ключа підпису.
В усіх інших операціях обчислення значення геш-функції згідно з ГОСТ 34.311-95 повинен використовуватися ДКЕ N 1, наведений у додатку 1 до Інструкції про порядок постачання і використання ключів до засобів криптографічного захисту інформації, затвердженої наказом Адміністрації Державної служби спеціального зв'язку та захисту інформації України від 12.06.2007
N 114, зареєстрованої в Міністерстві юстиції України від 25.06.2007 N 729/13996 (далі - ДКЕ N 1).
ДКЕ
N 1 використовується як ДКЕ "за умовчанням".
II. Процедура формування позначки часу
2.1. Під час формування позначки часу користувач та центр сертифікації ключів виконують такі дії:
2.1.1 користувач обчислює геш-значення від електронного документа (електронних даних), на який необхідно сформувати позначку часу;
2.1.2 користувач формує запит на формування позначки часу, який містить:
обчислене геш-значення;
об'єктний ідентифікатор політики формування позначки часу (необов'язково);
ідентифікатор алгоритму гешування, що використовувався;
унікальний ідентифікатор запиту (необов'язково);
необов'язкові розширення;
2.1.3 користувач передає сформований запит до центру сертифікації ключів;
2.1.4 центр сертифікації ключів перевіряє правильність формату запиту та виконує його обробку, формує позначку часу та відповідь, що містить цю позначку, чи відповідь з інформацією про відмову у формуванні позначки часу;
2.1.5 позначка часу містить такі дані:
об'єктний ідентифікатор політики формування позначки часу, що була використана;
геш-значення даних, для яких було сформовано позначку;
серійний номер позначки часу;
час формування позначки;
додаткову інформацію про позначку часу;
ЕЦП, сформований за допомогою особистого ключа центру сертифікації ключів, накладений на позначку часу;
2.1.6 центр сертифікації ключів пересилає відповідь, що містить позначку часу, користувачеві;
2.1.7 користувач після отримання відповіді від центру сертифікації ключів виконує такі дії:
перевіряє результат обробки у відповіді;
перевіряє, чи відповідає ім'я суб'єкта, що підписав позначку часу, імені центру сертифікації ключів;
перевіряє, чи має центр сертифікації ключів право формувати позначки часу;
перевіряє чинність сертифіката відкритого ключа центру сертифікації ключів;
перевіряє ЕЦП, що був накладений на позначку часу;
перевіряє відповідність даних електронного документа та даних, для яких була сформована позначка часу (шляхом порівняння обчисленого геш-значення електронного документа та геш-значення, що записане у позначці часу);
додає позначку часу до електронного документа.
III. Процедура перевірки позначки часу
3.1. Перевірка позначки часу виконується верифікатором за допомогою сертифіката відкритого ключа центру сертифікації ключів автономно, без взаємодії з центром сертифікації ключів.
3.2. Перевірка виконується таким чином:
3.2.1 верифікатор витягує позначку часу з електронного документа, до якого вона була прикріплена;
3.2.2 верифікатор здійснює перевірку позначки часу, виконуючи при цьому такі дії:
отримує ідентифікаційну інформацію з позначки часу про центр сертифікації ключів (інформацію, що однозначно ідентифікує сертифікат центру сертифікації ключів);
за допомогою чинного (на момент формування позначки) сертифіката відкритого ключа центру сертифікації ключів перевіряє ЕЦП, що був накладений на позначку часу;
перевіряє відповідність позначки часу та документа, до якого вона була прикріплена (шляхом порівняння обчисленого геш-значення електронного документа та геш-значення, що зберігається у позначці часу).
IV. Формати даних
4.1. Запит на формування позначки часу має такий формат:
TimeStampReq ::= SEQUENCE {
version INTEGER ( v1(1) ),
messageImprint MessageImprint,
reqPolicy TSAPolicyId OPTIONAL,
nonce INTEGER OPTIONAL,
certReq BOOLEAN DEFAULT FALSE,
extensions [0] IMPLICIT Extensions OPTIONAL}
4.1.1. Поле "version" визначає версію формату запиту на формування позначки часу. Значення цього поля дорівнює 1.
4.1.2. Поле "messageImprint" містить геш-значення від даних, на які отримується позначка часу, та ідентифікатор алгоритму гешування.
Геш-значення даних, на які отримується позначка часу, має такий формат:
MessageImprint ::= SEQUENCE {
hashAlgorithm AlgorithmIdentifier,
hashedMessage OCTET STRING )
Поле "hashAlgorithm" визначає ідентифікатор алгоритму, за допомогою якого було отримано геш-значення.
Поле "algorithm" типу поля "hashAlgorithm" повинно мати значення:
Gost34311 OBJECT IDENTIFIER ::= {iso(1) member-body(2)
Ukraine(804) root(2) security(1) cryptography(1) pki(1) pki-alg(1)
pki-alg-hash (2) 1}
Поле "parameters" повинно бути відсутнє, але для сумісності з попередніми рішеннями може також бути закодоване як ASN.1 NULL.
При обчисленні значення геш-функції значення стартового вектора H функції гешування за ГОСТ 34.311-95 встановлюється рівним 256 нульовим бітам. ДКЕ використовується як ДКЕ "за умовчанням" згідно з пунктом 1.8 розділу I цих Технічних специфікацій.
Поле "hashedMessage" містить безпосередньо байти обчисленого гешу.
4.1.3. Поле "reqPolicy" містить об'єктний ідентифікатор політики формування позначок часу.
TSAPolicyId ::= OBJECT IDENTIFIER
Можливі ідентифікатори для TSAPolicyId щодо застосування криптографічних алгоритмів підпису у відповіді на запит позначки часу:
ua-PKI-TSP-policy-DSTU-PB ::= OBJECT IDENTIFIER
{root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 1} -
для формування відповіді з цифровим підписом згідно з
ДСТУ 4145-2002 (ПБ);
ua-PKI-TSP-policy-GOST ::= OBJECT IDENTIFIER
{root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 2} -
для формування відповіді з цифровим підписом згідно з
ГОСТ 34.310-95;
ua-PKI-TSP-policy-DSTU-ONB ::= OBJECT IDENTIFIER
{root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 3} -
для формування відповіді з цифровим підписом згідно з
ДСТУ 4145-2002 (ОНБ);
ua-PKI-TSP-policy-SHA1withRSA ::= OBJECT IDENTIFIER {root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 4} - для формування відповіді з цифровим підписом SHA1withRSA;
ua-PKI-TSP-policy-SHA224withRSA ::= OBJECT IDENTIFIER {root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 5} - для цифрового підпису SHA224withRSA;
ua-PKI-TSP-policy-SHA256withRSA ::= OBJECT IDENTIFIER {root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 6} - для цифрового підпису SHA256withRSA;
ua-PKI-TSP-policy-SHA384withRSA ::= OBJECT IDENTIFIER {root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 7} - для цифрового підпису SHA384withRSA;
ua-PKI-TSP-policy-SHA512withRSA ::= OBJECT IDENTIFIER {root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) 8} - для цифрового підпису SHA512withRSA.
"За умовчанням" використовується політика "ua-PKI-TSP-policy-DSTU-PB".
При обробці запиту позначки часу TSP-служба визначає можливість застосування вказаного у запиті алгоритму та формує відповідь, якщо зазначений алгоритм (політика) підтримується, або помилку, якщо алгоритм не підтримується.
Якщо у запиті алгоритм не вказано або відсутнє поле "reqPolicy", то відповідь формується за алгоритмом, який визначений як алгоритм "за умовчанням", тобто "ua-PKI-TSP-policy-DSTU-PB".
4.1.4. Поле "nonce" містить унікальний ідентифікатор запиту.
4.1.5. Якщо в запиті на формування позначки часу присутнє поле "certReq", сервер у відповіді повинен розмістити з позначкою часу сертифікат, яким було підписано позначку часу.
4.1.6. Поле "extensions" може містити розширення з додатковою інформацією про запит.
4.2. Формат відповіді на запит на формування позначки часу має такий вигляд:
TimeStampResp ::= SEQUENCE {
status PKIStatusInfo,
timeStampToken TimeStampToken OPTIONAL )
4.2.1. Поле "status" містить результат обробки запиту на формування позначки часу.
PKIStatusInfo ::= SEQUENCE {
status PKIStatus,
statusString PKIFreeText OPTIONAL,
failInfo PKIFailureInfo OPTIONAL}
Тип "PKIStatusInfo" містить поля, що визначають результат формування (чи відмови у формуванні) позначки часу.
Поле "status" містить код операції формування позначки часу.
PKIStatus ::= INTEGER {
granted (0),
grantedWithMods (1),
rejection (2),
waiting (3),
revocationWarning (4),
revocationNotification (5)}
Можливі значення для типу "PKIStatus" наведені у додатку 2.
Необов'язкове поле "statusString" може містити текстовий опис статусу.
Необов'язкове поле "failInfo" може містити код помилки.
PKIFailureInfo ::= BIT STRING {
badAlg (0),
badRequest (2),
badDataFormat (5),
timeNotAvailable (14),
unacceptedPolicy (15),
unacceptedExtension (16),
addInfoNotAvailable (17),
systemFailure (25)}
Можливі значення для типу "PKIFailureInfo" наведено у додатку 3.
4.2.2. Поле "timeStampToken" містить сформовану позначку часу або є відсутнім (у разі відмови у формуванні позначки часу).
Позначка часу зберігається у форматі "CMS ContentInfo" (відповідно до RFC 3852):
TimeStampToken::= ContentInfo
Поля типу "ContentInfo" для зберігання позначки часу мають такі значення:
поле "contentType" містить об'єктний ідентифікатор:
id-signedData OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2},
що визначає зміст поля "content" як поля, що містить дані з ЕЦП (тип "CMS SignedData").
Поля типу "EncapsulatedContentInfo", що містяться в типі "SignedData", мають такі значення:
поле "eContentType" містить об'єктний ідентифікатор даних, що міститься в полі "content". Для позначки часу це поле повинно мати таке значення:
id-ct-TSTInfo OBJECT IDENTIFIER ::= {iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 4}
Поле "content" містить строку байтів, у якій міститься така структура (у DER-кодуванні):
TSTInfo::= SEQUENCE {
version INTEGER ( v1(1)},
policy TSAPolicyId,
messageImprint MessageImprint,
serialNumber INTEGER,
genTime GeneralizedTime,
accuracy Accuracy OPTIONAL,
nonce INTEGER OPTIONAL,
tsa [0] GeneralName OPTIONAL
extensions [1] IMPLICIT Extensions OPTIONAL}
Поле "version" містить номер версії формату позначки часу (завжди дорівнює 1).
Поле "policy" містить об'єктний ідентифікатор політики формування позначок часу.
Поле "messageImprint" містить геш-значення даних, на які була отримана позначка часу.
Поле "serialNumber" містить серійний номер позначки часу.
Поле "genTime" містить час формування позначки часу у форматі GMT.
................Перейти до повного тексту