Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DS.doc
Скачиваний:
5
Добавлен:
23.02.2015
Размер:
231.42 Кб
Скачать

4. Процедура встановлення дійсності підпису

4.1. Під час перевірки ЕЦП встановлюється дійсність або недійсність підпису. Результатом перевірки ЕЦП може бути один з наступних:

підпис недійсний;

неможливість встановленні дійсності підпису;

підпис дійсний;

4.2. Підставами визнання підпису недійсним є наступні:

формат ЕЦП – некоректний;

за результатами перевірки цифрового підпису встановлено, що цифровий підпис невірний;

цифровий підпис у сертифікатах відкритих ключів за допомогою яких здійснюється перевірка ЕЦП невірний;

на час обчислення цифрового підпису сертифікати відкритих ключів за допомогою яких здійснюється перевірка ЕЦП були недійсними.

4.3. Висновок щодо неможливості встановлення дійсності підпису приймається у випадках, якщо на певний час його дійсність неможливо підтвердити, внаслідок, наприклад, відсутності у особи, що перевіряє підпис необхідних даних перевірки, зокрема сертифікатів відкритих ключів, інформація про їх статус або якщо період відстрочки не закінчився. П

ЕЦП з позначкою часу (CAdES-Т)

Електронні дані, що підписуються

Обов’язкові атрибути, що підписуються

Атрибут позначка часу

Посилання на сертифікати та інформацію про статус сертифікатів

сертифікати та інформація про статус сертифікатів

ри цьому, ЕЦП може бути визначений як дійсний або недійсний після отримання таких даних.

4.4. Підставами визнання підпису дійсним є наступні випадки:

формат ЕЦП – коректний;

за результатами перевірки цифрового підпису встановлено, що цифровий підпис вірний;

цифровий підпис у сертифікатах відкритих ключів за допомогою яких здійснюється перевірка ЕЦП вірний;

на час обчислення цифрового підпису сертифікати відкритих ключів, за допомогою яких здійснюється перевірка ЕЦП, були дійсними.

5. Подання атрибутів, що включаються до ецп

5.1 Подання структури ContentInfo

Формат „Базовий ЕЦП” заснований на типі даних (Content Type) „Signed-data” згідно з RFC 3852.

Формат „Базовий ЕЦП” подається у ASN.1 структурі ContentInfo

ContentInfo ::= SEQUENCE {

contentType ContentType,

content [0] EXPLICIT SignedData }

Поля структури ContentInfo мають наступні значення:

contentType

Об’єктний ідентифікатор, який вказує на те, що структура ContentInfo містить дані типу „SignedData” згідно з RFC 3852.

ContentType ::= OBJECT IDENTIFIER

Відповідно до RFC 3852 об’єктний ідентифікатор повинен містити наступне значення:

Id-signedData OBJECT IDENTIFIER ::= {iso(1)member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2 }

SignedData

ASN.1 структура, що містить електронні дані, у відношенні яких здійснювалося обчислення цифрового підпису (необов’язково), дані перевірки, а також один або декілька цифрових підписів.

5.2 Подання структури SignedData

ASN.1 структура SignedData

SignedData ::= SEQUENCE {

version CMSVersion,

digestAlgorithms DigestAlgorithmIdentifiers,

encapContentInfo EncapsulatedContentInfo,

certificates [0] IMPLICIT CertificateSet,

crls [1] IMPLICIT RevocationInfoChoices OPTIONAL,

signerInfos SignerInfos }

Поля структури SignedData мають наступні значення:

Version

Номер версії синтаксису.

Поле повинно містити значення 1.

CMSVersion ::= INTEGER { v1(1) }

digestAlgorithms

Послідовність, що містить набір об’єктних ідентифікаторів, які вказують на алгоритми гешування, що використовувалися під час обчислення цифрових підписів одним або кільками підписувачами.

DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier

DigestAlgorithmIdentifier ::= AlgorithmIdentifier

AlgorithmIdentifier ::= SEQUENCE {

algorithm OBJECT IDENTIFIER,

parameters ANY DEFINED BY algorithm OPTIONAL }

Кодування структури DigestAlgorithmIdentifier для алгоритму гешування за ГОСТ 34.311-95 наведено у розділі 5.2.1.

Порядок обчислення геш-значення визначено у п. 5.5.2.1.

encapContentInfo

Структура, яка містить об’єктний ідентифікатор типу даних (content type) та може містити безпосередньо електронні дані, у відношенні яких обчислюється цифровий підпис.

certificates

Структура, що повинна містити сертифікат(и) підписувача(ів), зазначених у полі SignerInfo.

CertificateSet ::= SET OF Certificate

Формат представлення структури Certificateвизначено у Технічних специфікаціях форматів представлення базових об’єктів (формат посиленого сертифікату відкритого ключа).

Crls

Структура, що може містити набір списків відкликаних сертифікатів, необхідних для визначення статусу сертифікатів.

RevocationInfoChoices ::= SET OF CertificateList

Формат представлення структури CertificateList визначено у Технічних специфікаціях форматів представлення базових об’єктів (формат списку відкликаних сертифікатів).

signerInfos

Набір структур, кожна з яких містить цифровий підпис кожного підписувача та інші додаткові атрибути, необхідні для перевірки цифрового підпису.

SignerInfos ::= SET OF SignerInfo

5.2.1. Кодування структури AlgorithmIdentifier для алгоритму гешування ГОСТ 34.311-95

Об’єктний ідентифікатор, який вказує на використання алгоритму гешування, що визначений ГОСТ 34.311-95:

iso(1) member-body(2) Ukraine(804 ) root (2) security(1) cryptography(1) pki(1) pki-alg(1) pki-alg-hash (2) Gost34311 (1)

Параметри криптоалгоритму ГОСТ 34.311-95

Gost34311Params ::= OCTET STRING OPTIONAL

Gost34311Paramsвикористовується в якості поляparameters структуриAlgorithmIdentifier.

Gost34311Params містить єдиний елемент - OCTET STRING що міститьДКЕ для функції гешування, що задані в упакованому форматі згідно розділу Таблиці заповнення вузлів заміни блоків підстановки (ДКЕ). Упакований формат документу «Національна система електронного цифрового підпису. Технічні специфікації форматів представлення базових об’єктів».

При обчисленні значення геш - функції (в т.ч. при обчисленні електронного цифрового підпису), значення стартового вектору H функції гешування за ГОСТ 34.311-95 встановлюється рівним 256-м нульовим бітам.

5.3 Подання структура EncapsulatedContentInfo

Електронні дані, у відношенні яких здійснюється обчислення цифрового підпису можуть бути представлені в структурі EncapsulatedContentInfo.

ASN.1 структура EncapsulatedContentInfo

EncapsulatedContentInfo ::= SEQUENCE {

eContentType ContentType,

eContent [0] EXPLICIT OCTET STRING OPTIONAL }

Поля структури EncapsulatedContentInfo мають наступні значення:

eContentType

ContentType ::= OBJECT IDENTIFIER

Об’єктний ідентифікатор, який визначає тип даних (Content Type), у відношенні яких обчислюється цифровий підпис.

Незалежно від того, чи присутнє необов’язкове поле eContent, об’єктний ідентифікатор повинен мати наступне значення:

id-data OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs7(7) 1 }

Зазначений об’єктний ідентифікатор вказує, що цифровий підпис обчислений за бінарними даними.

eContent

Поле, що представляється як рядок октетів та містить безпосередньо електронні дані, що підписуються.

eContent не потребує DER кодування.

Поле eContent визначене як необов’язкове(OPTIONAL).У випадку присутності поляeContent в структуріEncapsulatedContentInfo,електронні дані у відношенні яких було обчислено цифровий підпис можуть бути доступні тільки, якщо існує можливість декодуватиASN.1 код структуриSignedData.

В залежності від присутності зазначеного поля в структурі EncapsulatedContentInfo, DER – кодований блок формату ЕЦП визначається як:

„криптографічне повідомлення” - (eContent присутнє та містить дані, що підписуються);

„зовнішній підпис” (eContent відсутнє, цифровий підпис обчислюється за окремим файлом, незалежно від його типу або за даними представленими в іншому вигляді). У такому випадку, дані, у відношенні яких був обчислений цифровий підпис, повинні надаватися окремо.

5.4 Подання структури SignerInfo

ASN.1 структура SignerInfo

SignerInfo ::= SEQUENCE {

version CMSVersion,

sid SignerIdentifier,

digestAlgorithm DigestAlgorithmIdentifier,

signedAttrs [0] IMPLICIT SignedAttributes,

signatureAlgorithm SignatureAlgorithmIdentifier,

signature SignatureValue,

unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL}

Поля структури SignerInfoмають наступні значення:

Version

Номер версії синтаксису. Значення атрибуту залежить від варіанту вибору поля SignerIdentifier. У разі, якщо використовується структураIssuerAndSerialNumber, номер версії повинен мати значення 1. В іншому випадку, при використанні структуриSubjectKeyIdentifier, номер версії повинен мати значення 3.

Для формату ЕЦП, визначеного у цій Специфікації, номер версії повинен мати значення 1.

CMSVersion ::= INTEGER { v1(1)}

sid

Визначає сертифікат підписувача, та таким чином відкритий ключ, необхідний для перевірки ЕЦП.

SignerIdentifier ::= CHOICE {

issuerAndSerialNumber IssuerAndSerialNumber,

subjectKeyIdentifier [0] SubjectKeyIdentifier}

SignerIdentifier надає два варіанти щодо визначення відкритого ключа підписувача.IssuerAndSerialNumber визначає сертифікат підписувача за розпізнавальним ім’ям центру сертифікації ключів (distinguished name), що сформував сертифікат та серійним номером сертифікату(CertificateSerialNumber).

SubjectKeyIdentifierвизначає сертифікат підписувача по ідентифікатору ключа.

Для формату ЕЦП, визначеного у Специфікації, повинен використовуватися варіант щодо визначення відкритого ключа підписувача за структурою: IssuerAndSerialNumber

IssuerAndSerialNumber ::= SEQUENCE {

issuer Name,

serialNumber CertificateSerialNumber }

Name кодується відповідно до Технічних специфікаціях форматів представлення базових об’єктів (формат посиленого сертифікату відкритого ключа)

CertificateSerialNumber ::= INTEGER

digestAlgorithm

Об’єктний ідентифікатор, який вказує на алгоритм геш-функції, що використовувався при обчисленні цифрового підпису. Геш-значення обчислюється за електронними даними у відношенні яких формується підпис, а також за атрибутами, що підписуються (signedAttrs) відповідно до порядку, визначеному у Специфікації. Об’єктний ідентифікатор поляdigestAlgorithmповинен бути зазначений у спискуdigestAlgorithms.

DigestAlgorithmIdentifier ::= AlgorithmIdentifier

AlgorithmIdentifier ::= SEQUENCE {

algorithm OBJECT IDENTIFIER,

parameters ANY DEFINED BY algorithm OPTIONAL }

Кодування структури DigestAlgorithmIdentifier для алгоритму гешування ГОСТ 34.311-95 наведено у п. 5.2.1.

signedAttrs

Набір атрибутів, що підписуються.

signatureAlgorithm

Об’єктний ідентифікатор, який вказує на криптографічний алгоритм цифрового підпису.

SignatureAlgorithmIdentifier ::= AlgorithmIdentifier

AlgorithmIdentifier ::= SEQUENCE {

algorithm OBJECT IDENTIFIER,

parameters ANY DEFINED BY algorithm OPTIONAL }

Порядок кодування AlgorithmIdentifierдля алгоритмів за ДСТУ 4145-2002 та ГОСТ 34.310-95 наведений у відповідних розділах документу «Національна система електронного цифрового підпису. Технічні специфікації форматів представлення базових об’єктів».

Signature

Цифровий підпис

SignatureValue ::= OCTET STRING

unsignedAttrs

Набір атрибутів, що не підписуються.

5.5 Подання структури signedAttrs

ASN.1 структура SignedAttributes

SignedAttributes ::= SET SIZE (1..MAX) OF Attribute

Attribute ::= SEQUENCE {

attrType OBJECT IDENTIFIER,

attrValues SET OF AttributeValue }

AttributeValue ::= ANY

Структура signedAttrsповинна містити наступні обов’язкові атрибути:content-type, message-digest, ESS signing-certificate v2 та може містити необов’язкові атрибути:signature-policy-identifier, signing-time, content-time-stamp.

5.5.1. Подання атрибуту content-type

Атрибут, який визначає тип електронних даних(Content Type), що підписуються. Значення атрибутаcontent-type повинно співпадати із значеннямeContentType структуриencapContentInfo вsigned-data.

Об’єктний ідентифікатор, що визначає атрибут content-type:

id-contentType OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) 3 }

Значення атрибуту content-type має ASN.1 тип ContentType

ContentType ::= OBJECT IDENTIFIER

Незважаючи на те, що синтаксисом attrValues передбачено якSET OF AttributeValue, атрибутcontent-typeповинен мати єдине значення. Нульове або множинне значення AttributeValueне допускається.

5.5.2. Подання атрибуту message-digest

Атрибут, що містить геш-значення даних, які підписуються (encapContentInfo eContent OCTET STRING у signed-data – тип формату „криптографічне повідомлення”) або файлу, що підписується (тип формату „зовнішній підпис”).

Об’єктний ідентифікатор, що визначає атрибут message-digest:

id-messageDigest OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) 4 }

Значення атрибуту message-digestмає ASN.1 типMessageDigest

MessageDigest ::= OCTET STRING

Незважаючи на те, що синтаксисом attrValues визначено якSET OF AttributeValue, атрибутmessage-digestповинен мати єдине значення. Нульове або множинне значення AttributeValueне допускається.

5.5.2.1. Обчислення геш-значення.

Обчислення геш-значення здійснюється за даними, що підписуються (значення eContent структуриencapContentInfo вsigned-data або зовнішніми даними (файлом) та атрибутами, що підписуються(signedAttrs). Порядок обчислення геш-значення наступний.

1. Обчислюється геш-значення за даними, що підписуються, які розміщуються у eContent структуриencapContentInfo вsigned-data (тип формату – „криптографічне повідомлення”) або за зовнішнім файлом, у відношення якого формується підпис (тип формату – „зовнішній підпис”). При цьому у першому випадку вхідними даними для геш - алгоритму є тільки октети, що містять значенняeContent. Октети тега та довжини не використовуються.

2. Здійснюється DER кодування структури signedAttrs, в якій розміщується у поліmessage-digest, геш-значення, що було отримане на попередньому кроці.

3. Обчислюється геш-значення DER кодованої структури signedAttrs, включаючи октети тега та довжини. Отримане геш-значення є вхідним значенням для криптографічного алгоритму обчислення цифрового підпису.

5.5.3 Подання атрибуту ESS signing-certificate v2

Зазначений атрибут повинен містити посилання на сертифікат підписувача. Метою реалізації зазначеного атрибуту є попередження випадків підстановки (заміни) сертифіката підписувача, атак, пов’язаних з перевиданням сертифікату, та таким чином, чітко встановити відповідний сертифікат, який повинен використовуватися під час перевірки ЕЦП.

Об’єктний ідентифікатор, що визначає атрибут ESS signing-certificate v2:

id-aa-signingCertificateV2 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)smime(16) id-aa(2) 47 }

Значення атрибуту ESS signing-certificate v2 має ASN.1 тип

SigningCertificateV2 ::= SEQUENCE {

certs SEQUENCE OF ESSCertIDv2,

policies SEQUENCE OF PolicyInformation OPTIONAL }

Структура certs повинна містити посилання на сертифікат підписувача.

ESSCertIDv2 ::= SEQUENCE {

hashAlgorithm AlgorithmIdentifier

certHash Hash,

issuerSerial IssuerSerial

}

Hash ::= OCTET STRING

IssuerSerial ::= SEQUENCE {

issuer GeneralNames,

serialNumber CertificateSerialNumber

}

Значення поле issuerSerialповинневідповідати значеннюserialNumber структури issuerAndSerialNumber в SignerIdentifier (SignerInfo).

hashAlgorithm містить об’єктний ідентифікатор алгоритму, що використовується для обчислення геш-значення.

certHash повинна містити геш-значення сертифікату підписувача. У випадку, якщо геш-значення сертифікату не відповідає сертифікату, що використовується під час перевірки підпису, результат перевірки підпису повинен бути встановлений як недійсний.

5.5.4. Подання атрибуту signature-policy-identifier.

Об’єктний ідентифікатор, що визначає атрибут signature-policy-identifier:

id-aa-ets-sigPolicyId OBJECT IDENTIFIER ::= { iso(1)member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)smime(16) id-aa(2) 15 }

Значення атрибуту signature-policy-identifierмає ASN.1 тип SignaturePolicyIdentifier

SignaturePolicyIdentifier ::=CHOICE {

signaturePolicyId SignaturePolicyId,

}

SignaturePolicyId ::= SEQUENCE {

sigPolicyId SigPolicyId,

sigPolicyHash SigPolicyHash OPTIONAL,

sigPolicyQualifiers SEQUENCE SIZE (1..MAX) OF

SigPolicyQualifierInfo OPTIONAL}

SignaturePolicyImplied ::= NULL

Присутність типу NULLвказує, що політика підпису визначається семантикою підписаних даних або за іншими зовнішніми даними.

Поле SigPolicyId містить об’єктний ідентифікатор, який унікально ідентифікує конкретну версію політики підпису. Синтаксис цього поля такий:

SigPolicyId ::= OBJECT IDENTIFIER

Поле sigPolicyHash є опціональним та містить ідентифікатор геш – алгоритму та геш – начення політики підпису.

Якщо політика підпису визначена, використовуючи ASN.1 то геш – значення обчислюється із значення політики без зовнішніх даних щодо типу та довжини, і алгоритм хешування повинен бути таким, як вказано в поліsigPolicyHash.

Якщо політика підпису визначена, використовуючи іншу структуру, тип структури та алгоритм гешування повинен бути також вказаний як частина політики підпису, або вказаний, використовуючи спеціфікатор(особу, що розробляє специфікації) політики підпису.

SigPolicyHash ::= OtherHashAlgAndValue

OtherHashAlgAndValue ::= SEQUENCE {

hashAlgorithm AlgorithmIdentifier,

hashValue OtherHashValue }

OtherHashValue ::= OCTET STRING

Ідентифікатор політики підпису може бути пов’язаний з іншою інформацією щодо спеціфікатора. Семантика і синтаксис специфікатора пов’язані з об’єктним ідентифікатором в полі sigPolicyQualifierId.

Загальний синтаксис специфікатора наступний:

SigPolicyQualifierInfo ::= SEQUENCE {

sigPolicyQualifierId SigPolicyQualifierId,

sigQualifier ANY DEFINED BY sigPolicyQualifierId }

Цей документ визначає такі специфікатори:

spuri: містить web URI або URL посилання на політику підпису;

sp-user-notice: містить повідомлення для користувача, що повинно відображатися кожного разу, коли перевіряється підпис.

SigPolicyQualifierId ::= OBJECT IDENTIFIER

id-spq-ets-uri OBJECT IDENTIFIER ::= { iso(1)member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)smime(16) id-spq(5) 1 }

SPuri ::= IA5String

id-spq-ets-unotice OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) id-spq(5) 2}

SPUserNotice ::= SEQUENCE {

noticeRef NoticeReference OPTIONAL,

explicitText DisplayText OPTIONAL}

NoticeReference ::= SEQUENCE {

organization DisplayText,

noticeNumbers SEQUENCE OF INTEGER }

DisplayText ::= CHOICE {

visibleString VisibleString (SIZE (1..200)),

bmpString BMPString (SIZE (1..200)),

utf8String UTF8String (SIZE (1..200)) }

5.5.5. Подання атрибуту signing-time

Атрибут signing-time, містить час формування цифрового підпису, яке заявляється підписувачем.

Об’єктний ідентифікатор, що визначає атрибут signing-time:

id-signingTime OBJECT IDENTIFIER ::= { iso(1) member-body(2)

us(840) rsadsi(113549) pkcs(1) pkcs9(9) 5 }

Значення атрибуту signing-timeмає ASN.1 типSigningTime

SigningTime ::= Time

Time ::= CHOICE {

utcTime UTCTime,

generalizedTime GeneralizedTime }

В ЕЦП, що формується до 2049 року, поле SigningTimeкодується у форматі UTCTime. ЕЦП, що формується з 2050 року, полеSigningTime кодується у форматі GeneralizedTime.

UTCTime значення повинно бути представлено у формі „YYMMDDHHMMSSZ”. Наприклад, північ повинна бути представлена як "YYMMDD000000Z".

Століття представляється не явно та повинно визначатися за наступними правилами:

якщо YY більше або рівняється 50, рік повинен інтерпретуватися як 19YY;

якщо YY менше 50, рік повинен інтерпретуватися як 20YY;

Незважаючи на те, що синтаксисом attrValues визначено якSET OF AttributeValue, атрибутsigning-timeповинен мати єдине значення. Нульове або множинне значенняAttributeValueне допускається.

Слід зазначити, що час формування підпису може бути некоректним. У разі необхідності забезпечення доказу щодо існування даних на певний момент часу, необхідно використовувати послугу фіксування часу та її результат - позначку часу.

5.5.6. Подання атрибуту content-time-stamp

Атрибут, який містить позначку часу для даних, що підписуються. Позначка часу повинна існувати до початку формування блоку ЕЦП.

Об’єктний ідентифікатор, що визначає атрибут content-time-stamp:

id-aa-ets-ContentTimeStamp OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) id-aa(2) 20 }

Значення атрибуту content-time-stampмає ASN.1 типContentTimeStamp.

ContentTimeStamp ::= TimeStampToken

Формат представлення структури TimeStampToken визначається у RFC 3161 "Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)".

Значення messageImprint структуриTimeStampToken є геш-значення даних, атрибутуmessage-digest.

5.6. Подання структури unisignedAttrs

unsignedAttrs - набір атрибутів, що не підписуються.

ASN.1 структура UnsignedAttributes

UnsignedAttributes ::= SET SIZE (1..MAX) OF Attribute

Attribute ::= SEQUENCE {

attrType OBJECT IDENTIFIER,

attrValues SET OF AttributeValue }

AttributeValue ::= ANY

5.6.1. Додаткові дані перевірки, що забезпечують встановлення дійсності підпису у достроковомуперіоді.

Додаткові дані перевірки, що забезпечують встановлення дійсності підпису у достроковому періоді кодуються як атрибути, що не підписуються в структуріUnsignedAttributes. Використання таких даних забезпечує створення ЕЦП у форматах CAdES-С та CAdES-X Long.

Такими атрибутами є:

signature-time-stamp;

сomplete-certificate-references;

complete-revocation-references;

certificate-values;

revocation-values.

5.6.2. Подання атрибуту signature-time-stamp

Атрибут signature-time-stamp містить значення TimeStampToken, який обчислюється у відношенні цифрового підпису.

Об’єктний ідентифікатор, що визначає атрибут signature-time-stamp:

id-aa-signatureTimeStampToken OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 14}

Значення атрибуту signature-time-stampмає ASN.1 типSignatureTimeStampToken.

SignatureTimeStampToken ::= TimeStampToken

У складі unsignedAttributes може знаходитись довільна кількість атрибутів типу signature-time-stamp(наприклад, від різних центрів сертифікації ключів, що надають послугу фіксування часу).

Позначка часу може бути отримана після формування цифрового підпису.

Формат представлення структури TimeStampToken визначається у RFC 3161 "Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)".

Значення messageImprint структуриTimeStampToken є геш - значення даних поляsignature структуриSignerInfo цифрового підпису, до складу структуриunsignedAttributesякого він входить.

5.6.3. Подання атрибутуcomplete-certificate-references

Атрибут complete-certificate-references містить посилання на всі сертифікати центрів сертифікації ключів, що використовуються для перевіряння підпису. Посилання на сертифікат підписувача у зазначений атрибут не включається. Посилання на сертифікат підписувача включається до атрибуту ESS signing-certificate v2.

Об’єктний ідентифікатор, що визначає атрибут complete-certificate-references:

id-aa-ets-certificateRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 21}

Значення атрибуту complete-certificate-referencesмає ASN.1 типCompleteCertificateRefs.

CompleteCertificateRefs ::= SEQUENCE OF OtherCertID

OtherCertID ::= SEQUENCE {

otherCertHash OtherHash,

issuerSerial IssuerSerial OPTIONAL }

OtherHash ::= CHOICE {

sha1Hash OtherHashValue,

otherHash OtherHashAlgAndValue}

OtherHashValue ::= OCTET STRING

OtherHashAlgAndValue ::= SEQUENCE {

hashAlgorithm AlgorithmIdentifier,

hashValue OtherHashValue }

IssuerSerial повинен бути присутнім в структуріOtherCertID.

Зазначений атрибут може містити посилання на сертифікати, що використовуються для перевірки позначки часу. В цьому випадку, атрибут повинен включатися у поле signedData позначки часу якunsignedAttrs структуриsignerInfos.

5.6.3. Подання атрибуту complete-revocation-references

Атрибут complete-revocation-referencesмістить посилання на всі списки відкликаних сертифікатів або відповіді за протоколомOCSP, які використовуються для перевірки сертифікатів центрів сертифікації ключів.

Об’єктний ідентифікатор, що визначає атрибут complete-revocation-references

id-aa-ets-revocationRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 22}

Значення атрибуту complete-certificate-referencesмає ASN.1 синтаксисCompleteRevocationRefs.

CompleteRevocationRefs ::= SEQUENCE OF CrlOcspRef

CrlOcspRef ::= SEQUENCE {

crlids [0] CRLListID OPTIONAL,

ocspids [1] OcspListID OPTIONAL,

otherRev [2] OtherRevRefs OPTIONAL

}

CompleteRevocationRefs повинен містити одинCrlOcspRef для signing-certificate, таким чином для кожногоOtherCertID в атрибутіCompleteCertificateRefs.Другий та наступні атрибутCrlOcspRef повинні бути розміщені у послідовності у тому же порядку, як OtherCertIDз якими вони пов’язані.

CRLListID ::= SEQUENCE {

crls SEQUENCE OF CrlValidatedID}

CrlValidatedID ::= SEQUENCE {

crlHash OtherHash,

crlIdentifier CrlIdentifier OPTIONAL}

CrlIdentifier ::= SEQUENCE {

crlissuer Name,

crlIssuedTime UTCTime,

crlNumber INTEGER OPTIONAL

}

OcspListID ::= SEQUENCE {

ocspResponses SEQUENCE OF OcspResponsesID}

OcspResponsesID ::= SEQUENCE {

ocspIdentifier OcspIdentifier,

ocspRepHash OtherHash OPTIONAL

}

OcspIdentifier ::= SEQUENCE {

ocspResponderID ResponderID,

producedAt GeneralizedTime

}

OtherRevRefs ::= SEQUENCE {

otherRevRefType OtherRevRefType,

otherRevRefs ANY DEFINED BY otherRevRefType

}

OtherRevRefType ::= OBJECT IDENTIFIER

Під час створення crlValidatedID, значення атрибутуcrlHash обчислюється у відношенні повногоDERкодованого списку відкликаних сертифікатів (CRL), включає його підпис.

crlIdentifierпризначений для ідентифікації списку відкликаних сертифікатів (CRL), за реквізитами центру сертифікації ключів, що сформував цейCRL, а також за часом формуванняCRL, який повинен відповідати часу зазначеному в атрибутіthisUpdateсписку відкликаних сертифікатів та, якщо присутнє полеcrlNumber.

OcspIdentifier призначений для ідентифікаціїOCSPвідповіді за реквізитами центру сертифікації ключів, що сформував цюOCSPвідповідь, а також за часом формуванняOCSPвідповіді, який повинен відповідати часу зазначеному в атрибутіproducedAt OCSPвідповіді.

Зазначений атрибут може містити посилання на CRL, OCSP – відповіді, що використовуються для перевірки сертифікатів для позначки часу. В цьому випадку, атрибут, що не підписується повинен включатися у полеsignedData позначки часуяк unsignedAttrsструктуриsignerInfos.

5.6.4. Подання атрибуту certificate-values

Атрибут certificate-values атрибут містить значення сертифікатів, посилання на які знаходяться у атрибутіcomplete-certificate-references.

Об’єктний ідентифікатор, що визначає атрибут certificate-values

id-aa-ets-certValues OBJECT IDENTIFIER ::= { iso(1) member-body(2)us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 23}

Значення атрибуту certificate-values має ASN.1 синтаксисCertificateValues

CertificateValues ::= SEQUENCE OF Certificate

5.6.5 Подання атрибуту revocation-values

Атрибут revocation-values містить значенняCRLтаOCSPвідповідей, посилання на які знаходяться у атрибутіcomplete-revocation-references.

Об’єктний ідентифікатор, що визначає атрибут revocation-values:

id-aa-ets-revocationValues OBJECT IDENTIFIER ::= { iso(1) member-body(2)us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 24}

Значення атрибуту revocation-values має ASN.1 синтаксисRevocationValues

RevocationValues ::= SEQUENCE {

crlVals [0] SEQUENCE OF CertificateList OPTIONAL,

ocspVals [1] SEQUENCE OF BasicOCSPResponse OPTIONAL,

otherRevVals [2] OtherRevVals OPTIONAL}

OtherRevVals ::= SEQUENCE {

otherRevValType OtherRevValType,

otherRevVals ANY DEFINED BY OtherRevValType}

OtherRevValType ::= OBJECT IDENTIFIER

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]