ЗАТВЕРДЖЕНО |
ВИМОГИ
до формату списку відкликаних сертифікатів
1.1. Ці Вимоги визначають формат списку відкликаних сертифікатів.
1.2. Формати даних представлено у нотації ASN.1, визначеній у міжнародному стандарті ISO/IEC 8824 “Information technology - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1)” / ДСТУ ISO/ІЕС 8824-3:2008 “Інформаційні технології. Нотація абстрактного синтаксису 1 (ASN.1)” - частина 3. Специфікація обмежень (ISO/IEC 8824-3:2002, IDT), затвердженому наказом Державного комітету України з питань технічного регулювання та споживчої політики від 26 грудня 2008 року № 508 (із змінами).
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. Ці Вимоги засновані на національному стандарті України ДСТУ ISO/IEC 9594-8:2006 “Інформаційні технології. Взаємозв’язок відкритих систем. Каталог. Частина 8. Основні положення щодо сертифікації відкритих ключів та атрибутів”, затвердженому наказом Державного комітету України з питань технічного регулювання та споживчої політики від 27 грудня 2006 року № 374 (із змінами), та RFC 5280 “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile”.
1.5. Ці Вимоги не дублюють стандарти ДСТУ ISO/IEC 9594-8:2006 та RFC 5280, а описують положення цих стандартів та формати полів. У разі виникнення розбіжностей між положеннями зазначених стандартів та положеннями цих Вимог застосовуються положення цих Вимог.
1.6. Положення цих Вимог є обов’язковими для програмно-технічних комплексів акредитованих центрів сертифікації ключів та надійних засобів електронного цифрового підпису. Правильність реалізації формату списку відкликаних сертифікатів у надійних засобах електронного цифрового підпису підтверджується сертифікатом відповідності або позитивним експертним висновком за результатами державної експертизи у сфері криптографічного захисту інформації.
1.7. Структура та формати кодування деяких полів наведені у Вимогах до формату посиленого сертифіката відкритого ключа, затверджених наказом Міністерства юстиції України, Адміністрації Державної служби спеціального зв’язку та захисту інформації України від 20 серпня 2012 року № 1236/5/453, зареєстрованих у Міністерстві юстиції України 20 серпня 2012 року за № 1398/21710 (далі - Вимоги до формату посиленого сертифіката відкритого ключа).
ІІ. Подання списку відкликаних сертифікатів
Список відкликаних сертифікатів (далі - CRL) має таку структуру:
CertificateList ::= SEQUENCE { | ||
tbsCertList | TBSCertList, | |
signatureAlgorithm | AlgorithmIdentifier, | |
signatureValue | BIT STRING } |
Поле “TBSCertList” є частиною CRL, що кодується за правилами DER та на яку за допомогою особистого ключа центрального засвідчувального органу, засвідчувального центру, акредитованого центру сертифікації ключів (далі - Центр) накладається електронний цифровий підпис (далі - ЕЦП).
Ідентифікатор криптоалгоритму ЕЦП міститься у полі “signatureAlgorithm”. Значення ЕЦП містить поле “signatureValue”.
Формат полів “signatureAlgorithm” та “signatureValue” відповідає форматам полів “signatureAlgorithm” та “signatureValue”, визначеним для сертифіката та наведеним у Вимогах до формату посиленого сертифіката відкритого ключа.
ІІІ. Структура TBSCertList списку відкликаних сертифікатів
3.1. Поле “TBSCertList ”має таку структуру:
TBSCertList ::= SEQUENCE { | ||||
Version | Version OPTIONAL, | |||
signature | AlgoritmIdentifier, | |||
issuer | Name, | |||
thisUpdate | Time, | |||
nextUpdate | Time, |
revokedCertificates | SEQUENCE OF SEQUENCE { | |
userCertificates | CertificatesSerialnumber, | |
revocationDate | Time, | |
crlEntryExtensions | Extensions OPTIONAL} OPTIONAL, | |
crlExtensions [0] EXPLICIT Extensions OPTIONAL} |
Опис структури наведено в таблиці 1.
Назва поля англійською мовою | Назва поля українською мовою |
Інформаційні поля CRL | |
Version | номер версії |
signature | алгоритм ЕЦП |
issuer | реквізити Центру |
thisUpdate | час формування CRL |
nextUpdate | час наступного формування CRL |
Елементи CRL, що містять інформацію про скасовані, блоковані та поновлені сертифікати (revokedCertificates) | |
revokedCertificates | елементи CRL |
userCertificate | унікальний реєстраційний номер сертифіката |
revocationDate | час відкликання сертифіката |
Розширення елементів CRL (crlEntryExtension) | |
ReasonCode | причина відкликання сертифіката |
InvalidityDate | час компрометації особистого ключа |
Розширення CRL (crlExtensions) | |
AuthorityKeyIdentifier | ідентифікатор відкритого ключа Центру |
CRLNumber | серійний номер CRL |
СRLDistributionPoints (CDP) | точки розповсюдження CRL |
AuthorityInformationAccess (AIA) | доступ до інформації Центру |
Додаткові розширення1 | |
Розширення повного CRL (CompleteCRL) | |
FreshestCRL | точка розповсюдження часткового CRL |
Розширення часткового CRL (DeltaCRL) | |
DeltaCRLIndicator | серійний номер повного CRL |
1 У разі використання повного та часткового CRL. |
3.2. Поле “Номер версії” (“Version”) містить значення 1 (1 байт), яке означає, що формат CRL відповідає версії 2 згідно із стандартом ДСТУ ISO/IEC 9594-8:2006.
3.3. Поле “Алгоритм електронного цифрового підпису” (“signature”) містить тільки ідентифікатор криптоалгоритму, що використовується Центром для накладення ЕЦП на CRL.
Формат та значення поля “signature” відповідають формату та значенню поля “signatureAlgorithm”, визначеному для сертифіката та наведеному у Вимогах до формату посиленого сертифіката відкритого ключа.
3.4. Поле “Реквізити Центру” (“issuer”) містить найменування та реквізити Центру, який сформував CRL.
Формат та значення поля “issuer” відповідають формату та значенню поля “subject” сертифіката Центру, що сформував CRL, наведеним у Вимогах до формату посиленого сертифіката відкритого ключа.
3.5. Поле “Час формування CRL” (“thisUpdate”) містить дату і час формування CRL Центром.
Формат поля “thisUpdate” відповідає формату поля “Time”, визначеному для сертифіката та наведеному у Вимогах до формату посиленого сертифіката відкритого ключа.
3.6. Поле “Час наступного формування CRL” (“nextUpdate”) містить дату і час наступного формування CRL Центром.
Формат поля “nextUpdate” відповідає формату поля “Time”, визначеному для сертифіката та наведеному у Вимогах до формату посиленого сертифіката відкритого ключа.
3.7.1. Поле “Елементи CRL” (“revokedCertificates”) містить інформацію про скасовані, блоковані та поновлені сертифікати.
3.7.2. Формат поля “Унікальний реєстраційний номер сертифіката” (“userCertificate”) повинен відповідати формату поля “serialNumber”, визначеному для сертифіката та наведеному у Вимогах до формату посиленого сертифіката відкритого ключа.
3.7.3. Поле “Час відкликання сертифіката” (“revocationDate”) містить дату і час відкликання (скасування, блокування та поновлення) сертифіката.
Формат поля “revocationDate” відповідає формату поля “Time”, визначеному для сертифіката та наведеному у Вимогах до формату посиленого сертифіката відкритого ключа.
3.8. Розширення елементів CRL.
Для уточнення відомостей про відкликані сертифікати Центр може включати до елементів CRL додаткові дані, що розташовуються у розширеннях (поле “crlEntryExtensions”).
Формат поля “crlEntryExtensions” відповідає типу “Extensions”, визначеному для сертифіката та наведеному у Вимогах до формату посиленого сертифіката відкритого ключа.
Об’єктні ідентифікатори розширень визначаються за допомогою ідентифікатора:
id-ce OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5) 29 }
Цими Вимогами визначаються такі розширення елементів списку:
“Причина відкликання сертифіката”;
“Час компрометації особистого ключа”.
3.8.1. Розширення “Причина відкликання сертифіката” (“reasonCode”) уточнює причину відкликання сертифіката і повинно бути визначене як некритичне.
Дане розширення є обов’язковим.
id-ce-crlReasons OBJECT IDENTIFIER ::= {id-ce 21}
Коди причин відкликання сертифіката:
CRLReason::= ENUMERATED { | |||
unspecified | (0), | причина не визначена | |
keyCompromise | (1), | компрометація особистого ключа | |
cACompromise | (2), | компрометація особистого ключа акредитованого центру | |
affiliationChanged | (3), | зміна даних про власника сертифіката | |
superseded | (4), | сертифікат ключа замінений | |
cessationOfOperation | (5), | припинення операцій1 | |
certificateHold | (6), | сертифікат ключа блоковано | |
removeFromCRL | (8), | сертифікат ключа поновлено | |
privilegeWithdrawn | (9) } | повноваження скасовано2 } |
1 cessationOfOperation - вказує, що сертифікат більше не потрібний для мети, для якої був виданий, але немає причин підозрювати, що особистий ключ був скомпрометований.
2 privilegeWithdrawn - вказує, що сертифікат був анульований, тому що було скасовано (відкликано) повноваження, що міститься в цьому сертифікаті.
3.8.2. Розширення “Час компрометації особистого ключа” (“іnvalidityDate”) містить час, коли стало відомо про компрометацію ключа або про втрату чинності сертифіката. Розширення визначається як некритичне.
Дане розширення є обов’язковим.
id-ce-invalidityDate OBJECT IDENTIFIER ::= { id-ce 24 }
invalidityDate ::= GeneralizedTime
Для уточнення відомостей про CRL Центр може включати додаткові дані, що розташовуються у розширеннях (поле “crlExtensions”).
Формат поля “crlExtensions” відповідає типу “Extensions”, визначеному для сертифіката та наведеному у Вимогах до формату посиленого сертифіката відкритого ключа.
Цими Вимогами визначаються такі розширення CRL:
“Ідентифікатор відкритого ключа Центру”;
“Доступ до інформації центру сертифікації”.
3.9.1. Розширення “Ідентифікатор відкритого ключа Центру” (“authorityKeyIdentifier”) використовується для ідентифікації відкритого ключа, що відповідає особистому ключу, за допомогою якого Центр здійснює накладання ЕЦП на CRL.
Дане розширення є обов’язковим та некритичним.
Формат розширення “authorityKeyIdentifier” відповідає формату розширення “authoritykeyidentifier”, визначеному для сертифіката та наведеному у Вимогах до формату посиленого сертифіката відкритого ключа.
3.9.2. Розширення “Серійний номер CRL” (“CRLNumber”) повинно бути визначено як некритичне, а його значення повинно бути додатним цілим числом, що не перевищує 20 байт (1 160
).Дане розширення є обов’язковим.
Центр забезпечує унікальні серійні номери для кожного опублікованого CRL у наростаючому порядку.
id-ce- OBJECT IDENTIFIER ::= { id-ce 20 }
CRLNumber ::= INTEGER (0…MAX).
3.9.3. Розширення “Точки розповсюдження CRL” (“cRLDistributionPoints”) визначає загальнодоступну точку розповсюдження даного CRL.
Дане розширення є необов’язковим та некритичним.
id-ce-cRLDistributionPoints OBJECT IDENTIFIER::= {id-ce 31} | |||
DistributionPoint::= SEQUENCE { | |||
distributionPoint | [0] | DistributionPointName OPTIONAL, | |
reasons | [1] | ReasonFlags OPTIONAL, | |
СRLIssuer | [2] | GeneralNames OPTIONAL} |
Поля “reasons” та “cRLIssuer” не використовуються.
Розширення “cRLDistributionPoints” описане у Вимогах до формату посиленого сертифіката відкритого ключа.
Значення поля “distributionPoint” повинно відповідати розширенню “cRLDistributionPoints” у сертифікатах даного Центру.
3.9.4. Розширення “Доступ до інформації Центру” (“AuthorityInfoAccess”) призначається для визначення місця розташування (доступу) для отримання сертифіката підпису CRL.
id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 } | |||
AuthorityInfoAccessSyntax ::= | |||
SEQUENCE SIZE (1..MAX) OF AccessDescription | |||
AccessDescription ::= SEQUENCE { | |||
accessMethod | OBJECT IDENTIFIER, | ||
accessLocation | GeneralName } | ||
id-pkix OBJECT IDENTIFIER ::= | |||
{ iso(1) identified-organization(3) dod(6) internet(1) | |||
security(5) mechanisms(5) pkix(7) } | |||
-- PKIX arcs | |||
id-pe OBJECT IDENTIFIER ::= { id-pkix 1 } | |||
id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 } |
Дане розширення є некритичним.
Це розширення є обов’язковим за умови використання для підпису CRL ключа, відмінного від ключа підпису сертифікатів, та повинно включати щонайменше одне поле “AccessDescription” із зазначенням методу доступу accessMethod = id-ad-caIssuers.
Об’єктний ідентифікатор “id-ad-caIssuers” використовується для отримання сертифіката, який можна використовувати для перевірки підпису на CRL.
Поле “AccessDescription” повинно мати значення accessLocation, яке відповідає точці доступу до сертифіката відкритого ключа, відповідного особистому ключу, за допомогою якого накладено ЕЦП на CRL, у вигляді HTTP або LDAP URI.
3.9.5. Розширення “Точка розповсюдження часткового CRL” (“freshestCRL”) визначає місце розташування часткового CRL.
Дане розширення є необов’язковим та некритичним.
freshestCRL EXTENSION ::= { | |||
SYNTAX CRLDistPointsSyntax | |||
id-ce-freshestCRL OBJECT IDENTIFIER ::= {id-ce 46} | |||
CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint | |||
DistributionPoint ::= SEQUENCE { | |||
distributionPoint | [0] | DistributionPointName, | |
reasons | [1] | ReasonFlags OPTIONAL, | |
СRLIssuer | [2] | GeneralNames OPTIONAL} |
Значення типу “DistributionPointName” визначено в розширенні “Точка розповсюдження CRL”.
Поля “reasons та “cRLIssuer” не використовуються.
4.1. Часткові CRL (DeltaCRL) використовуються для доповнення відомостей про зміни статусів сертифікатів, що відбулись після останньої публікації повного CRL.
Використання часткових CRL (DeltaCRL) Центрами є необов’язковим.
4.2. Структура та формат часткового CRL.
Структура та формат часткового CRL відповідають структурі та формату повного CRL, крім додаткових розширень елементів “CRL freshestCRL”, які в частковому CRL не використовуються, та розширення “deltaCRLIndicator”, яке у частковому CRL є обов’язковим.
4.3. Розширення часткового CRL.
Розширення “Серійний номер повного CRL” (“deltaCRLIndicator”) є ознакою часткового CRL і повинно бути визначене як критичне. Значенням цього розширення є серійний номер повного CRL, дані якого оновлюються у частковому CRL.
id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= { id-ce 27 }
4.4. Особливості використання часткового CRL.
Серійні номери часткових CRL повинні включатись у загальну послідовність серійних номерів CRL Центру.