Значення "keyIdentifier" в розширеннях "subjectKeyIdentifier" та "authorityKeyIdentifier" обчислюються відповідно засобами ЕЦП підписувача та Центром під час генерації та обробки запиту на формування сертифіката таким чином.
Із кодованого як BIT STRING зображення відкритого ключа вилучаються байт, що містить ознаку типу даних, байти, що містять довжину блоку даних, та байт, що містить число невикористаних бітів.
Обчислюється значення геш-функції за ГОСТ 34.311-95 від отриманої на попередньому етапі послідовності байтів. Як стартовий вектор геш-функції використовується нульовий вектор.
Якщо параметри криптоалгоритму у полі "Інформація про відкритий ключ підписувача" ("subjectPublicKeyInfo") містять таблицю заповнення вузлів заміни блоку підстановки (ДКЕ), то при обчисленні геш-функції використовується саме цей ДКЕ, інакше використовується ДКЕ № 1, що наведений у додатку 1 до Інструкції № 114 .
4.6. Розширення "Призначення відкритого ключа" ("keyUsage") визначає призначення відкритого ключа, що міститься в сертифікаті та повинно визначатися як критичне.
Об’єктний ідентифікатор даного розширення має такий вигляд:
id-ce-keyUsage OBJECT IDENTIFIER::= {id-ce 15}
keyUsage::= BIT STRING {
digitalSignature (0), електронний цифровий підпис
nonRepudiation (1), неспростовність
keyEncipherment (2), шифрування з метою транспортування ключа
dataEncipherment (3), шифрування даних
keyAgreement (4), відкритий ключ використовується в протоколах
узгодження ключа
keyCertSign (5), електронний цифровий підпис у сертифікаті
crlSign (6), електронний цифровий підпис у списку відкликаних
сертифікатів
encipherOnly (7), якщо біт "keyAgreement" встановлено, відкритий ключ
може використовуватися тільки для шифрування даних
decipherOnly (8)} якщо біт "keyAgreement" встановлено, відкритий ключ
може використовуватися тільки для розшифрування даних
Для сертифіката, що формується підписувачу, повинні бути встановлені біти "digitalSignature" (0) та "nonRepudiation" (1).
Для сертифіката Центру повинні бути встановлені біти "keyCertSign" (5) та "crlSign" (6).
4.7. Розширення "Уточнене призначення відкритого ключа" ("extendedKeyUsage") може бути визначено як критичне.
Об’єктний ідентифікатор даного розширення має такий вигляд:
id-ce-extKeyUsage OBJECT IDENTIFIER::= {id-ce 37}
ExtKeyUsageSyntax ::= SEQUENCE SIZE (1.. MAX) OF KeyPurposeId
KeyPurposeId ::= OBJECT IDENTIFIER
id-kp OBJECT IDENTIFIER ::= {iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) 3}
Для сертифіката Центру, що використовується для перевірки підпису OCSP-відповідей та позначок часу, повинні бути зазначені об’єктні ідентифікатори {id-kp 8} або {id-kp 9}.
id-kp-timeStamping Перевірка позначки часу. Застосовується із
OBJECT IDENTIFIER::= {id-kp 8} встановленим бітом "nonRepudiation" (1) розширення
"Призначення відкритого ключа" ("keyUsage")
id-kp-OCSPSigning Перевірка підпису на відповіді протоколу визначення
OBJECT IDENTIFIER::= {id-kp 9} статусу сертифіката (OCSP-відповіді)
Для сертифіката підписувача, якщо ЕЦП застосовується як електронна печатка, розширення "Уточнене призначення відкритого ключа" ("extendedKeyUsage") повинно містити об’єктний ідентифікатор 1.2.804.2.1.1.1.3.9.
Для сертифікатів підписувача, які використовуються для перевірки ЕЦП у визначених інформаційно-телекомунікаційних системах, в розширенні "Уточнене призначення відкритого ключа" ("extendedKeyUsage") можуть використовуватись відповідні об’єктні ідентифікатори за умови, що ці об’єктні ідентифікатори зареєстровані у встановленому порядку.
4.8. Розширення "Політика сертифікації" ("certificatePolicies") містить посилання на політику сертифікації, відповідно до якої Центр сформував сертифікат. Розширення повинно визначатися як критичне.
Об’єктний ідентифікатор даного розширення має такий вигляд:
id-ce-certificatePolicies OBJECT IDENTIFIER ::= {id-ce 32}
anyPolicy OBJECT IDENTIFIER ::= {id-ce-certificatePolicies 0}
CertificatePolicies::= SEQUENCE SIZE (1.. MAX) OF PolicyInformation
PolicyInformation ::= SEQUENCE {
policyIdentifier CertPolicyId,
policyQualifiers SEQUENCE SIZE (1.. MAX) OF PolicyQualifierInfo OPTIONAL}
CertPolicyId ::= OBJECT IDENTIFIER
4.9. Розширення "Додаткові дані підписувача" ("subjectAlternativeName") використовується для розширення межі ідентифікації підписувача (адреса електронної пошти, DNS, IP-адреса, URL).
Об’єктний ідентифікатор даного розширення має такий вигляд:
id-ce-subjectAltName OBJECT IDENTIFIER::= {id-ce 17}
SubjectAltName ::= GeneralNames
GeneralNames ::= SEQUENCE SIZE (1.. MAX) OF GeneralName
GeneralName ::= CHOICE {
otherName [0] OtherName,
rfc822Name [1] IA5String,
dNSName [2] IA5String,
x400Address [3] ORAddress,
directoryName [4] Name,
ediPartyName [5] EDIPartyName,
uniformResourceIdentifier [6] IA5String,
iPAddress [7] OCTET STRING,
registeredID [8] OBJECT IDENTIFIER}
OtherName ::= SEQUENCE {
type-id OBJECT IDENTIFIER,
value [0] EXPLICIT ANY DEFINED BY type-id}
EDIPartyName ::= SEQUENCE {
nameAssigner [0] DirectoryString OPTIONAL,
partyName [1] DirectoryString}
4.10. Розширення "Додаткові дані Центру" ("issuerAlternativeName") дозволяє розширити межі ідентифікації Центру (адреса електронної пошти, DNS, IP-адреса, URL). Розширення повинно бути визначено як некритичне.
Об’єктний ідентифікатор даного розширення має такий вигляд:
id-ce-issuerAltName OBJECT IDENTIFIER::= {id-ce 18}
IssuerAltName::= GeneralNames
4.11. Розширення "Основні обмеження" ("basicConstraints") дозволяє визначити, що сертифікат сформований для Центру або підписувача. Розширення повинно визначатися як критичне.
Об’єктний ідентифікатор даного розширення має такий вигляд:
id-ce-basicConstraints OBJECT IDENTIFIER::={idce 19}
BasicConstraints ::= SEQUENCE {
cA BOOLEAN DEFAULT FALSE, сA=TRUE указує, що сертифікат сформований для
Центру
сA=FALSE указує, що сертифікат сформований для
підписувача
pathLenConstraint INTEGER (0.. MAX) OPTIONAL}
Поле "pathLenConstraint" використовується, якщо поле сA встановлено в TRUE. У цьому разі воно визначає максимально допустиму кількість проміжних сертифікатів, що знаходяться між цим сертифікатом та сертифікатом підписувача.
У сертифікаті акредитованого центру сертифікації ключів розширення "pathLenConstraint" повинно мати значення "0".
У сертифікаті засвідчувального центру розширення "pathLenConstraint" повинно мати значення "1".
У сертифікаті центрального засвідчувального органу розширення "pathLenConstraint" повинно мати значення "2".
4.12. Розширення "Персональні дані підписувача" ("subjectDirectoryAttributes") може містити додаткові персональні дані підписувача та повинно бути визначено як некритичне. Поле не повинно використовуватись для зберігання даних про підписувача, що визначені в полі "subject".
Об’єктний ідентифікатор даного розширення має такий вигляд:
id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER::= {id-ce 9}
SubjectDirectoryAttributes ::= SEQUENCE SIZE (1.. MAX) OF Attribute
Attribute ::= SEQUENCE {
Type Attributetype,
Values SET OF AttributeValue}
Кодування національних реквізитів у розширенні "Персональні дані підписувача" ("subjectDirectoryAttributes") виконуються за такими правилами:
1) реквізит коду за ЄДРПОУ юридичної особи (код за ДРФО фізичної особи - суб’єкта підприємницької діяльності) використовується для сертифікатів електронних печаток юридичних осіб та для сертифікатів ключів посадових осіб. Для сертифікатів посадових осіб в цьому реквізиті вказується код юридичної особи (суб’єкта підприємницької діяльності), представником якого (в межах своїх повноважень) є посадова особа. Для кодування цього реквізиту використовується об’єктний ідентифікатор 1.2.804.2.1.1.1.11.1.4.2.1. Формат реквізиту - "PrintableString", що містить 8, 9 або 10 цифр;
2) реквізит коду за ДРФО фізичної особи - підписувача використовується для сертифікатів ключів, підписувачем у яких є фізичні особи (зокрема для сертифікатів ключів посадових осіб). У цьому реквізиті вказується код за ДРФО підписувача. Для кодування цього реквізиту використовується об’єктний ідентифікатор 1.2.804.2.1.1.1.11.1.4.1.1. Формат реквізиту - "PrintableString", що містить 10 цифр. Реквізит вказується за бажанням підписувача.
4.13. У розширенні "Точки доступу до списків відкликаних сертифікатів" ("CRL Distribution Points") повинна зазначатися принаймні одна загальнодоступна точка розповсюдження списків відкликаних сертифікатів (CRL), яка визначається http (http://) або ldap (ldap://). Розширення не повинно визначатися як критичне.
Об’єктний ідентифікатор даного розширення має такий вигляд:
id-ce-СRLDistributionPoints OBJECT IDENTIFIER::= {id-ce 31}
CRLDistributionPoints ::= SEQUENCE SIZE (1.. MAX) OF DistributionPoint
DistributionPoint ::= SEQUENCE {
distributionPoint [0] DistributionPointName OPTIONAL,
reasons [1] ReasonFlags OPTIONAL,
crlIssuer [2] GeneralNames OPTIONAL}
DistributionPointName::= CHOICE {
fullName [0] GeneralNames,
nameRelativeToCRLIssuer [1] RelativeDistinguishedName}
ReasonFlags::= BIT STRING {
unused (0),
keyCompromise (1),
cACompromise (2),
affiliationChanged (3),
superseded (4),
cessationOfOperation (5),
certificateHold (6),
privilegeWithdrawn (7)}
Дозволяється використання лише атрибута "distributionPoint" і тільки у форматі URI, який вказує на відповідний CRL.
4.14. Якщо Центр разом із базовим CRL формує і частковий CRL, то посилання на нього вказується у розширенні "Точка доступу до часткового списку відкликаних сертифікатів" ("Freshest CRL"). Розширення не повинно визначатися як критичне.
Об’єктний ідентифікатор даного розширення має такий вигляд:
id-ce-freshestCRL OBJECT IDENTIFIER ::= {id-ce 46}
FreshestCRL ::= CRLDistributionPoints
Формування цього розширення здійснюється за правилами формування розширення "Точки доступу до списків відкликаних сертифікатів" ("CRL Distribution Points").
Це розширення не є обов’язковим. Якщо посилання на частковий CRL не вказується в сертифікаті, то воно обов’язково вказується у відповідному розширенні в структурі базового CRL.
Вимоги щодо формату CRL визначені у Вимогах до формату списку відкликаних сертифікатів , затверджених наказом Міністерства юстиції України, Адміністрації Державної служби спеціального зв’язку та захисту інформації України від 20 серпня 2012 року № 1236/5/453, зареєстрованих у Міністерстві юстиції України 20 серпня 2012 року за № 1400/21712.
4.15. Розширення "Ознаки посиленого сертифіката" ("qualified certificate statement") повинно бути визначено як критичне.
Об’єктний ідентифікатор даного розширення має такий вигляд:
id-pe OBJECT IDENTIFIER::= {iso(1) identified-organization(3)dod(6)internet(1) security(5)
mechanisms(5) pkix(7) pe(1)}
id-pe-qcStatements OBJECT IDENTIFIER::= {id-pe 3}
QCStatements ::= SEQUENCE OF QCStatement
QCStatement ::= SEQUENCE {
statementId OBJECT IDENTIFIER,
statementInfo ANY DEFINED BY statementId OPTIONAL}
4.15.1. Ознака того, що сертифікат сформований як посилений:
ua-qcStatement-1 QC-STATEMENT ::= {IDENTIFIED BY id_ua-diglow-qcs-QcCompliance}
id-ua-diglaw-qcs-QcCompliance OBJECT IDENTIFIER ::= {1.2.804.2.1.1.1.2.1}
Для зазначення того, що сертифікат є посиленим, використовується таке заповнення реквізитів сертифіката підписувача:
обов’язково: в розширенні "Політика сертифікації" ("certificate policies") вказується об’єктний ідентифікатор політики посиленої сертифікації 1.2.804.2.1.1.1.2.2, який визначає, що сертифікат сформовано як посилений згідно із Законом України "Про електронний цифровий підпис" . Якщо сертифікат підписувача відповідає вимогам додаткових політик сертифікації Центру, у ньому можуть бути вказані додатково об’єктні ідентифікатори цих політик сертифікації;
додатково: може бути присутнім розширення "qualified certificate statement", у якому за допомогою стандартного об’єктного ідентифікатора 1.2.804.2.1.1.1.2.1 ("Qualified certificate statement id-ua-diglow-qcs-QcCompliance") позначено відповідність Закону України "Про електронний цифровий підпис" .
14.15.2. Ознака наявності обмеження максимальної суми, на яку вчиняється правочин з використанням електронного цифрового підпису органу державної влади, органу місцевого самоврядування, підприємства, установи та організації державної форми власності:
esi4-qcStatement-2 QC-STATEMENT::= {SYNTAX
QcEuLimitValue IDENTIFIED BY id-etsi-qcs-QcLimitValue}
id-etsi-qcs-QcLimitValue OBJECT IDENTIFIER::= {id-etsi-qcs 2}
QcEuLimitValue::= MonetaryValue
MonetaryValue::= SEQUENCE {
сurrency Iso4217CurrencyCode,
amount INTEGER,
exponent INTEGER}
Iso4217CurrencyCode::= CHOICE {
alphabetic PrintableString (SIZE 3)}
Директор Департаменту нотаріату, банкрутства та функціонування центрального засвідчувального органу Міністерства юстиції України | К.І. Чижмарь |
Директор Департаменту криптографічного захисту інформації Адміністрації Державної служби спеціального зв’язку та захисту інформації України | А.І. Пушкарьов |