Р 1323565.1.044-2022. Рекомендации по стандартизации. Информационная технология. Криптографическая защита информации. Использование российских криптографических алгоритмов в протоколе штампов времени (TSP)
Актуально на 01.11.2026.
Как цитировать: "Р 1323565.1.044-2022. Рекомендации по стандартизации. Информационная технология. Криптографическая защита информации. Использование российских криптографических алгоритмов в протоколе штампов времени (TSP)". Р 1323565.1.044-2022. https://bukva.ai/docs/r-1323565-1-044-2022
(утв. и введены в действие Приказом Росстандарта от 29.11.2022 № 1379-ст)
Примечание
Документ введен в действие с 01.01.2023.
по техническому регулированию
и метрологии
от 29 ноября 2022 г. № 1379-ст
РЕКОМЕНДАЦИИ ПО СТАНДАРТИЗАЦИИ
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
ИСПОЛЬЗОВАНИЕ РОССИЙСКИХ КРИПТОГРАФИЧЕСКИХ АЛГОРИТМОВ
В ПРОТОКОЛЕ ШТАМПОВ ВРЕМЕНИ (TSP)
Information technology. Cryptographic data security. The use
of the Russian cryptographic algorithms
in the Time-Stamp Protocol (TSP)
Дата введения 1 января 2023 года
1 РАЗРАБОТАНЫ Обществом с ограниченной ответственностью «КРИПТО-ПРО» (ООО «КРИПТО-ПРО»)
2 ВНЕСЕНЫ Техническим комитетом по стандартизации ТК 026 «Криптографическая защита информации»
3 УТВЕРЖДЕНЫ И ВВЕДЕНЫ В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 29 ноября 2022 г. № 1379-ст
Правила применения настоящих рекомендаций установлены в статье 26 Федерального закона от 29 июня 2015 г. № 162-ФЗ «О стандартизации в Российской Федерации». Информация об изменениях к настоящим рекомендациям публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящих рекомендаций соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)
В случае если необходимо подтвердить существование каких-либо данных до определенного момента времени, используется служба штампов времени. Служба штампов времени удостоверяет существование элемента данных при помощи предоставления соответствующих доказательств, называемых штампом времени.
Настоящие рекомендации описывают формат штампа времени и устанавливают правила использования в нем российских криптографических алгоритмов подписи и хэширования. Получение штампа в процессе взаимодействия со службой штампов времени проводится с использованием протокола TSP.
Настоящие рекомендации не устанавливают полный набор требований безопасности к службе штампов времени. При этом необходимо считать, что службы штампов времени доводят до своих потенциальных клиентов (запрашивающих сторон) информацию о том, что применяемые ими регламенты обеспечивают точное создание штампов, а клиенты будут прибегать к услугам служб, только если посчитают, что регламенты службы штампов времени полностью отвечают требованиям клиентов.
Примечание — Основная часть настоящих рекомендаций дополнена приложениями А - Г.
Служба штампов времени ставит штампы времени на данные для гарантии того, что эти данные существовали до определенного момента времени. Это требуется, например, чтобы проверить, что электронная подпись (подпись) сообщения была создана до того момента, когда соответствующий сертификат был аннулирован, что позволяет использовать аннулированный сертификат ключа проверки подписи для проверки подписей, созданных до момента аннулирования.
Служба штампов времени также может обозначать время подачи документа, когда крайний срок является критичным, или использоваться для обозначения времени транзакции для записей в журнале. Возможны и другие способы применения службы штампов времени, удовлетворяющие аналогичные потребности.
Штамп времени может являться или входить в состав метки доверенного времени, определенной в [1].
В настоящих рекомендациях использованы нормативные ссылки на следующие документы:
ГОСТ Р ИСО/МЭК 8824 Информационная технология. Взаимосвязь открытых систем. Спецификация абстрактно-синтаксической нотации версии один (АСН.1)
ГОСТ Р 34.10-2012 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи
ГОСТ Р 34.11-2012 Информационная технология. Криптографическая защита информации. Функция хэширования
Р 1323565.1.020 Информационная технология. Криптографическая защита информации. Использование криптографических алгоритмов в протоколе безопасности транспортного уровня (TLS 1.2)
Р 1323565.1.023-2018 Информационная технология. Криптографическая защита информации. Использование алгоритмов ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012 в сертификате, списке аннулированных сертификатов (CRL) и запросе на сертификат PKCS #10 инфраструктуры открытых ключей X.509
Р 1323565.1.025-2019 Информационная технология. Криптографическая защита информации. Форматы сообщений, защищенных криптографическими методами
Р 1323565.1.030 Информационная технология. Криптографическая защита информации. Использование криптографических алгоритмов в протоколе безопасности транспортного уровня (TLS 1.3)
Примечание - При пользовании настоящими рекомендациями целесообразно проверить действие ссылочных документов в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю «Национальные стандарты», который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя «Национальные стандарты» за текущий год. Если заменен ссылочный документ, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого документа с учетом всех внесенных в данную версию изменений. Если заменен ссылочный документ, на который дана датированная ссылка, то рекомендуется использовать версию этого документа с указанным выше годом утверждения (принятия). Если после утверждения настоящих рекомендаций в ссылочный документ, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный документ отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.
3 Термины, определения и сокращения
3.1 Термины и определения
В настоящих рекомендациях применены следующие термины с соответствующими определениями.
3.1.1 доверенная третья сторона: Организация или служба, предоставляющая одну или более услуг безопасности и которой доверяют все участники в процессе некоторого взаимодействия, требующего защиты.
3.1.2 служба штампов времени (Time Stamping Authority, TSA): Доверенная третья сторона, подтверждающая факт формирования некоторого элемента данных до определенного момента времени.
3.1.3 штамп времени: Элемент данных, служащий для доказательства того, что другой элемент данных существовал до определенного момента времени.
3.1.4 запрашивающая сторона: Организация, служба или субъект (пользователь), которым требуется подтверждение факта формирования некоторого элемента данных до определенного момента времени.
| электронная цифровая подпись (signature): Строка бит, полученная в результате процесса формирования подписи. Примечание — В настоящих рекомендациях в целях сохранения терминологической преемственности по отношению к действующим отечественным нормативным документам и опубликованным научно-техническим изданиям установлено, что термины «электронная подпись», «цифровая подпись» и «электронная цифровая подпись» являются синонимами. [ГОСТ Р 34.10-2012, статья 3.1.15] |
|---|
| ключ подписи (signature key): Элемент секретных данных, специфичный для субъекта и используемый только данным субъектом в процессе формирования цифровой подписи. [ГОСТ Р 34.10-2012, статья 3.1.2] |
|---|
| ключ проверки подписи (verification key): Элемент данных, математически связанный с ключом подписи и используемый проверяющей стороной в процессе проверки цифровой подписи. [ГОСТ Р 34.10-2012, статья 3.1.3] |
|---|
| хэш-функция (collision-resistant hash-function): Функция, отображающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам: 1) по данному значению функции сложно вычислить исходные данные, отображаемые в это значение; 2) для заданных исходных данных сложно вычислить другие исходные данные, отображаемые в то же значение функции; 3) сложно вычислить какую-либо пару исходных данных, отображаемых в одно и то же значение. Примечание — В настоящих рекомендациях в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями установлено, что термины «хэш-функция», «криптографическая хэш-функция», «функция хэширования» и «криптографическая функция хэширования» являются синонимами. [ГОСТ Р 34.11-2012, статья 3.1.6] |
|---|
хэш-код (hash-code): Строка бит, являющаяся выходным результатом хэш-функции.
Примечание - В настоящих рекомендациях в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями установлено, что термины «хэш-код», и «хэш-значение» являются синонимами.
[ГОСТ Р 34.11-2012, статья 3.1.5]
3.1.10 Всемирное координированное время; UTC: Временная шкала, основанная на секундах, определенная и рекомендованная Международным консультативным комитетом по радио и поддерживаемая Международным бюро мер и весов.
Примечание — По-другому называется «время зулу» и обозначается буквой Z.
3.2 Сокращения
В настоящих рекомендациях применены следующие сокращения:
MIME — многоцелевые расширения интернет-почты (Multipurpose Internet Mail Extensions);
OID — строка или последовательность десятичных цифр, однозначно идентифицирующая объект (Object Identifier);
TSA — служба штампов времени (Time Stamping Authority);
TSP — протокол штампов времени (Time Stamp Protocol);
TTP — доверенная третья сторона (Trusted third party);
URI — унифицированный (единообразный) идентификатор ресурса (Uniform Resource Identifier);
UTC — всемирное координированное время (Coordinated Universal Time).
Протокол штампов времени (TSP) предназначен для установления факта существования данных до определенного момента времени. Для этого в рамках данного протокола осуществляется взаимодействие службы штампов времени (TSA) и запрашивающей стороны (C). Взаимодействие перечисленных участников заключается в формировании запроса к TSA и проверке ее ответа (см. рисунок 1).
Рисунок 1 — Схема обмена сообщениями по протоколу TSP
В первом сообщении обмена в рамках протокола TSP запрашивающая сторона посылает к службе штампов времени запрос на штамп времени TimeStampReq (см. 7.1). Во втором сообщении служба штампов времени отправляет запрашивающей стороне ответ TimeStampResp (см. 7.2), который содержит штамп времени или информацию об ошибке.
Данные сообщения могут быть инкапсулированы в состав другого сообщения. Например, запрос к TSA может пересылаться в подписанном электронной подписью (подписанном) виде, для чего он помещается в сообщение формата CMS с типом содержимого signed-data, как это описано в Р 1323565.1.025-2019, раздел 7.
Порядок формирования запроса описан в 5.1. Порядок формирования ответа службой штампов времени описан в 5.2. Порядок обработки данного ответа запрашивающей стороной описан в 5.3.
Штамп времени содержит подпись службы штампов времени. Соответствующий ключ проверки подписи содержится в сертификате данной службы. Требования к указанному сертификату и особенности его аннулирования описаны в разделе 6.
Форматы запроса и ответа описаны в разделе 7.
Требования к содержимому запроса и ответа при использовании российских криптографических алгоритмов подписи и хэширования описаны в разделе 8.
Способы передачи запроса к TSA и получения ответа описаны в разделе 9.
5 Порядок формирования и проверки штампов времени
В данном разделе описан порядок формирования запрашивающей стороной запроса на штамп времени (см. 5.1), формирования штампа времени службой штампов времени (см. 5.2) и порядок обработки полученного штампа времени запрашивающей стороной (см. 5.3).
5.1 Порядок формирования запроса к службе штампов времени
Данные, для которых требуется получить штамп времени, хэшируются. Запрашивающая сторона помещает в запрос хэш-значение и идентификатор используемого алгоритма хэширования. Для последующей проверки актуальности ответа службы штампов времени в запрос может быть помещено число nonce (см. 7.1). Сформированный таким образом запрос отправляется в службу штампов времени.
5.2 Порядок формирования штампа времени
Служба штампов времени должна формировать штамп времени только при условии успешного завершения следующих проверок:
- полученный запрос на штамп времени корректен и соответствует политике безопасности (регламенту) службы;
- хэш-значение, для которого будет создан штамп времени, вычислено с использованием одной из возможных в соответствии с регламентом службы штампов времени хэш-функций;
- длина хэш-значения, для которого будет создан штамп времени, соответствует длине, ожидаемой для данного алгоритма хэширования;
- указанный в запросе идентификатор использованного алгоритма хэширования является одним из возможных в соответствии с регламентом службы штампов времени.
Примечание — Службе штампов времени не требуется выполнять какие-либо дополнительные проверки хэш-значения, для которого будет создан штамп времени (кроме проверки длины данного хэш-значения, как это указано в предыдущем пункте).
В случае если указанные проверки прошли успешно, служба штампов времени должна сформировать штамп времени в соответствии со следующими требованиями:
- использовать доверенный источник времени;
- включать достоверное значение времени в каждый штамп;
- включать уникальное целое число в каждый новый штамп;
- включать в каждый штамп времени идентификатор политики безопасности (регламента), согласно которой он был создан;
- не включать в штампы времени какую-либо информацию, идентифицирующую запрашивающую сторону;
- подписывать каждый штамп времени ключом подписи, предназначенным специально для этой цели;
- включать дополнительную информацию в штамп времени, если этого требует запрашивающая сторона, используя только те расширения, которые поддерживаются службой штампов времени. Если это невозможно, служба штампов времени должна ответить сообщением об ошибке.
5.3 Порядок проверки штампа времени
При получении ответа TimeStampResp (см. 7.2), запрашивающая сторона должна проверить содержание поля со статусом обращения. Если данное поле не сигнализирует об ошибке, запрашивающая сторона должна проверить различные поля в полученном ответе в соответствии с 7.2.2. В частности, запрашивающая сторона должна убедиться в следующем:
- штамп времени соответствует данным, для которых он был запрошен, а именно, содержит соответствующее хэш-значение и корректный идентификатор алгоритма хэширования;
- штамп времени содержит корректный идентификатор сертификата службы штампов времени (см. 6.1);
- электронная подпись штампа времени действительна;
- ответ службы штампов времени актуален. Запрашивающая сторона может проверить актуальность ответа, соотнеся его время с собственным доверенным источником времени, если источник существует, либо сравнив включенное в ответ случайное число со значением в запросе;
- сертификат службы штампов времени соответствует требованиям, указанным в 6.1;
- сертификат службы штампов времени не прекратил действие и не был аннулирован (см. 6.2);
- штамп времени содержит подходящий (применимый для целей запрашивающей стороны) идентификатор политики безопасности (регламента), согласно которой был выдан штамп времени.
Примечание - Настоящие рекомендации не устанавливают строгую последовательность проверок полученного от службы штампов времени ответа. Данные проверки могут быть выполнены в произвольном порядке.
Если любая из вышеперечисленных проверок завершилась неудачей, штамп времени следует отклонить.
6 Сертификат службы штампов времени
6.1 Требования к сертификату службы штампов времени
Служба штампов времени должна подписывать каждый штамп ключом подписи, предназначенным специально для этой цели. Служба штампов времени может иметь различные ключи подписи, например для соответствия разным регламентам, алгоритмам, различным размерам ключей подписи или для увеличения скорости обработки запросов.
Каждый сертификат TSA, соответствующий используемому ключу подписи, должен иметь одно расширение ExtendedKeyUsage, определенное в [2], подпункт 4.2.1.12, содержащее последовательность ExtKeyUsageSyntax с единственным элементом KeyPurposeID со значением id-kp-timeStamping. При этом настоящие рекомендации устанавливают, что данное расширение должно быть критичным.
Также расширение KeyUsage сертификата службы штампов времени должно содержать только флаги digitalSignature и/или nonRepudiation, описанные в [2], подпункт 4.2.1.3.
Примечание — Критичность расширения сертификата определяется наличием флага critical (см. [2], подраздел 4.1), указывающего на важность содержащейся в расширении информации. Если запрашивающая сторона не распознает расширение, помеченное как критичное, ей следует отклонить сертификат, содержащий данное расширение.
Следующий идентификатор определяет KeyPurposeID со значением id-kp-timeStamping.
id-kp-timeStamping OBJECT IDENTIFIER ::= {iso(1)
identified-organization(3) dod(6)
internet(1) security(5) mechanisms(5) pkix(7)
6.2 Аннулирование сертификата службы штампов времени
Настоящие рекомендации устанавливают необходимость аннулировать сертификат службы штампов времени в следующих случаях:
- если ключ подписи службы штампов времени был скомпрометирован;
- если ключ подписи службы штампов времени не был скомпрометирован, но служба штампов времени больше не используется.
Если ключ подписи службы штампов времени был скомпрометирован, соответствующий ему сертификат необходимо аннулировать.
В САС для аннулированного сертификата службы штампов времени может присутствовать расширение reasonCode, описанное в [2], пункт 5.3.1. При этом в нем должна быть указана следующая причина аннулирования сертификата CRLReason:
-- сертификат аннулирован в связи с компрометацией ключа }
Все штампы времени, созданные после указанного в САС момента аннулирования сертификата в связи с компрометацией ключа, следует считать недействительными.
Штампы времени, созданные до указанного момента аннулирования сертификата, могут быть признаны действительными при наличии возможности подтвердить подлинность данных. Например, если в журналах аудита службы штампов времени присутствуют сведения, достаточные для различения подлинных и фальсифицированных штампов. Другим способом избежать последствий компрометации ключа и подтвердить подлинность исходных данных является использование штампа времени, созданного для тех же данных другой службой, ключ подписи которой не был скомпрометирован.
Если ключ подписи службы штампов времени не был скомпрометирован, но служба штампов времени больше не используется, ее сертификат необходимо аннулировать. В этом случае в САС для аннулированного сертификата службы штампов времени может присутствовать расширение reasonCode, описанное в [2], пункт 5.3.1. При этом возможны следующие причины аннулирования сертификата CRLReason:
-- сертификат аннулирован без указания причины
-- сертификат аннулирован в связи с изменением принадлежности
-- сертификат аннулирован в связи с заменой
-- сертификат аннулирован в связи с прекращением работы -- службы
В случае присутствия в САС расширения reasonCode с одной из указанных причин аннулирования, следует считать все штампы времени, созданные до момента аннулирования данного сертификата, действительными, а все штампы времени, созданные после — недействительными.
В случае отсутствия расширения reasonCode необходимо считать ключ подписи службы штампов времени скомпрометированным и проверять штампы времени так, как это описано ранее в данном разделе.
В данном разделе приведено описание формата запроса к службе штампов времени (см. 7.1) и ее ответа (см. 7.2) при использовании российских криптографических алгоритмов подписи и хэширования.
Описание используемых структур представлено в абстрактно-синтаксической нотации версии 1 (АСН.1), определенной в ГОСТ Р ИСО/МЭК 8824.
7.1 Формат запроса
Запрос к службе штампов времени представляет собой структуру типа TimeStampReq и выглядит следующим образом.
version INTEGER { v1(1) }, messageImprint MessageImprint,
-- OID алгоритма хэширования и хэш-значение от данных, для -- которых требуется штамп времени
reqPolicy TSAPolicyId OPTIONAL, nonce INTEGER OPTIONAL, certReq BOOLEAN DEFAULT FALSE, extensions [0] IMPLICIT Extensions OPTIONAL }
Поля структуры TimeStampReq должны быть заполнены в соответствии со следующим описанием:
| version | - Поле version описывает версию запроса штампа времени. В соответствии с настоящими рекомендациями поле version должно иметь значение 1. |
|---|---|
| messageImprint | - Поле messageImprint представляет собой структуру типа MessageImprint. Структура MessageImprint выглядит следующим образом. MessageImprint ::= SEQUENCE { hashAlgorithm AlgorithmIdentifier, hashedMessage OCTET STRING } Поле hashAlgorithm структуры MessageImprint представляет собой структуру типа AlgorithmIdentifier, определенную в Р 1323565.1.023-2018, пункт 5.1.1 и содержащую идентификатор используемого алгоритма хэширования. Порядок включения в данную структуру идентификаторов российских криптографических алгоритмов хэширования описан в 8.2. Служба штампов времени должна проверить, что хэш-значение, для которого будет создан штамп времени, вычислено с использованием одной из возможных в соответствии с регламентом службы штампов времени хэш-функций. Если при проверке произошла ошибка, TSA должна отказать в выдаче штампа времени, вернув сообщение со значением badAlg в поле failInfo структуры PKIStatusInfo (см. 7.2.1.3). Поле hashedMessage структуры MessageImprint должно содержать хэш-значение от данных, для которых требуется штамп времени. Хэш-значение представляется в виде строки октетов (OCTET STRING). Его длина должна совпадать с длиной хэш-значения, установленной для используемого алгоритма хэширования. Если длина полученного хэш-значения не соответствует длине, определенной в алгоритме хэширования, идентификатор которого указан в поле AlgorithmIdentifier, служба штампов времени должна отказать в выдаче штампа времени, вернув сообщение со значением badDataFormat в поле failInfo структуры PKIStatusInfo (см. 7.2.1.3). |
| reqPolicy | - Поле reqPolicy, если оно присутствует, имеет тип TSAPolicyId и обозначает регламент службы штампов времени, согласно которому следует выдать TimeStampToken. TSAPolicyId определяется следующим образом. TSAPolicyId ::= OBJECT IDENTIFIER |
| nonce | - Поле nonce, если оно присутствует, имеет тип INTEGER и позволяет клиенту проверить актуальность ответа, когда локальное время недоступно. Значение nonce — это случайное число, выбранное из множества мощностью не менее 264 в соответствии с равновероятным распределением независимо от любых других параметров протокола. В случае его использования то же значение nonce должно быть включено в ответ, иначе ответ должен быть отклонен. Примечание — В случае отсутствия у запрашивающей стороны локального источника времени, а также отсутствия поля nonce в запросе TimeStampReq протокол TSP не обеспечивает защиту от атак повтора, в результате которых штамп времени, выданный ранее для одного запроса, может быть признан корректным для другого запроса. |
| certReq | - Поле certReq имеет тип BOOLEAN. Если поле certReq присутствует и имеет значение «true», сертификат ключа проверки подписи службы штампов времени должен быть помещен в поле certificates в структуре SignedData ответа TimeStampResp (см. 7.2.2). Данное поле может содержать и другие сертификаты. Если поле certReq отсутствует или присутствует и имеет значение «false», тогда поле certificates в ответе службы штампов времени должно отсутствовать. |
| extensions | - Поле extensions (расширения) имеет тип Extensions и позволяет добавить дополнительную информацию в запрос. Поле extensions описано в [3]. Если расширение используется запрашивающей стороной и не распознается службой штампов времени, то, вне зависимости от того, критично оно или нет, служба не должна выдавать штамп, а должна вернуть сообщение со значением unacceptedExtension в поле failInfo структуры PKIStatusInfo (см. 7.2.1.3). |
Запрос штампа времени не должен содержать информации, идентифицирующей запрашивающую сторону (см. 5.2), поскольку эта информация не проверяется службой штампов времени. В случае если требуется идентификация или аутентификация запрашивающей стороны, необходимо использовать иные способы идентификации или аутентификации (например, инкапсулирование запроса в структуру ContentInfo, как это описано в Р 1323565.1.025, или аутентификацию в рамках взаимодействия по протоколу TLS (см. Р 1323565.1.020, Р 1323565.1.030).
7.2 Формат ответа
Ответ службы штампов времени представляет собой структуру TimeStampResp и выглядит следующим образом.
status PKIStatusInfo, timeStampToken TimeStampToken OPTIONAL }
Поле status представляет собой структуру типа PKIStatusInfo, описанную в 7.2.1.
Поле timeStampToken представляет собой структуру типа TimeStampToken, описанную в 7.2.2.
7.2.1 Структура PKIStatusInfo
Структура PKIStatusInfo определена в [4], пункт 5.2.3 и содержит информацию о статусе запроса к службе штампов времени. Структура PKIStatusInfo выглядит следующим образом.
status PKIStatus, statusString PKIFreeText OPTIONAL, failInfo PKIFailureInfo OPTIONAL }
Поле status имеет тип PKIStatus, описанный в 7.2.1.1.
Поле statusString имеет тип PKIFreeText, описанный в 7.2.1.2.
Поле failInfo имеет тип PKIFailureInfo, описанный в 7.2.1.3.
7.2.1.1 Тип PKIStatus
Тип PKIStatus структуры PKIStatusInfo, определенный в [4], пункт 5.2.3, представляет собой числовое значение, определяющее статус службы штампов времени. Если значение равно 0 или 1, штамп времени TimeStampToken должен присутствовать. Если присутствует иное значение (кроме 0 или 1), штамп времени TimeStampToken не должен присутствовать.
Служба штампов времени должна поддерживать только следующие возможные статусы:
-- когда PKIStatus содержит значение 0, TimeStampToken -- присутствует, как и запрашивалось.
-- когда PKIStatus содержит значение 1, TimeStampToken -- присутствует с изменениями.
-- штамп времени не получен, причина указана в информационном -- сообщении
-- запрос штампа времени еще не обработан, дополнительная -- информация ожидается позже.
-- это сообщение предупреждает о том, что аннулирование -- неизбежно
-- уведомление о том, что аннулирование имело место }
7.2.1.2 Тип PKIFreeText
Поле statusString структуры PKIStatusInfo имеет тип PKIFreeText, определенный в [4], пункт 5.1.1. Данное поле является необязательным и содержит причину отклонения запроса штампа времени в виде текста, например «messageImprint field is not correctly formatted» (поле messageImprint отформатировано некорректно).
7.2.1.3 Тип PKIFailureInfo
Поле failInfo структуры PKIStatusInfo имеет тип PKIFailureInfo, определенный в [4], пункт 5.2.3. Данное поле является необязательным и представляет собой числовое значение, определяющее тип произошедшей ошибки. Если TimeStampToken отсутствует, PKIFailureInfo показывает причину отклонения запроса штампа времени.
Служба штампов времени должна поддерживать только следующие возможные значения:
PKIFailureInfo ::= BIT STRING {
-- нераспознанный или неподдерживаемый идентификатор -- алгоритма
-- запрос не разрешен или не поддерживается
-- отправленные данные имеют неверный формат
-- источник времени в службе штампов времени недоступен
-- служба штампов времени не поддерживает запрашиваемую -- политику безопасности
-- служба штампов времени не поддерживает запрашиваемое -- расширение
-- запрашиваемая дополнительная информация не распознается -- или недоступна
-- запрос не может быть обработан вследствие ошибки системы }
7.2.2 Структура TimeStampToken
Структура TimeStampToken содержит штамп времени и представляет собой структуру типа ContentInfo, определенную в Р 1323565.1.025-2019, раздел 5, где поле contentType должно содержать идентификатор типа содержимого «Подписанные данные» signed-data, а поле content должно содержать соответствующую структуру SignedData, процесс построения и поля которой описаны в Р 1323565.1.025-2019, раздел 7.
Штамп времени TimeStampToken выглядит следующим образом.
TimeStampToken ::= ContentInfo
--поле contentType содержит идентификатор id-signedData
--поле content является структурой SignedData --(см. Р 1323565.1.025-2019, раздел 5)
Настоящие рекомендации определяют дополнительные требования к содержимому следующих полей структуры SignedData:
поля encapContentInfo (см. 7.2.2.1);
поля signedAttrs (см. 7.2.2.2). Данное поле входит в структуру SignerInfo, описанную в Р 1323565.1.025-2019, подраздел 7.3, и включает в себя подписанный атрибут, содержащий идентификатор сертификата TSA;
поля signatureAlgorithm (см. 8.1). Настоящие рекомендации устанавливают требования к содержимому данного поля только при использовании российских криптографических алгоритмов подписи. Поле signatureAlgorithm входит в структуру SignerInfo, описанную в Р 1323565.1.025-2019, подраздел 7.3, и включает в себя идентификатор используемого алгоритма подписи.
7.2.2.1 Поле encapContentInfo структуры SignedData
Поле encapContentInfo структуры SignedData представляет собой структуру типа EncapsulatedContentInfo, описанную в Р 1323565.1.025-2019, подраздел 7.2. Для использования российских криптографических алгоритмов подписи и хэширования в него необходимо включать следующие значения:
id-ct-TSTInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 4};
- в поле eContent — штамп времени в виде строки октетов (OCTET STRING). Значение поля eContent должно быть результатом DER-кодирования структуры TSTInfo.
Структура TSTInfo содержит штамп времени и должна быть представлена следующим образом.
version INTEGER { v1(1) }, policy TSAPolicyId, messageImprint MessageImprint,
-- должно содержать то же значение, что и поле messageImprint -- в структуре TimeStampReq (см. 7.1)
-- сторона, запрашивающая штамп времени, должна принимать -- целые числа длиной до 160 бит.
genTime GeneralizedTime, accuracy Accuracy OPTIONAL, ordering BOOLEAN DEFAULT FALSE, nonce INTEGER OPTIONAL,
-- должно присутствовать, если аналогичное поле имеется в -- TimeStampReq. В этом случае поле должно иметь то же -- значение.
tsa [0] GeneralName OPTIONAL, extensions [1] IMPLICIT Extensions OPTIONAL
Поля структуры TSTInfo должны быть заполнены в соответствии со следующими требованиями:
| version | - Поле version имеет тип INTEGER и описывает версию штампа времени. В соответствии с настоящими рекомендациями поле version должно иметь значение 1. Запрашивающая сторона должна уметь распознавать штампы версии 1 со всеми присутствующими необязательными полями, но не обязана распознавать семантику любого присутствующего расширения (extensions). |
|---|---|
| policy | - Поле policy имеет тип TSAPolicyId и должно обозначать политику безопасности (регламент службы штампов времени, в рамках которой был дан ответ). Если в TimeStampReq (см. 7.1) присутствует поле reqPolicy, оно должно иметь то же значение, иначе должна быть возвращена ошибка unacceptedPolicy (см. 7.2.1.3). Политика может включать следующие типы информации: условия, на которых может использоваться штамп времени; доступность журнала штампов времени для последующей проверки подлинности штампа; другая информация. |
| messageImprint | - Поле messageImprint имеет тип MessageImprint и должно иметь то же значение, что и поле messageImprint в TimeStampReq (см. 7.1). |
| serialNumber | - Поле serialNumber имеет тип INTEGER и является целым числом, присвоенным службой штампов времени каждому штампу времени TimeStampToken. Оно должно быть уникальным для каждого штампа TimeStampToken, выданного указанной службой штампов (например, имя (см. поле tsa) и серийный номер штампа определяют уникальный TimeStampToken). Данное свойство должно быть сохранено даже после возможного прерывания работы службы (например, после сбоя). |
| genTime | - Поле genTime имеет тип GeneralizedTime и обозначает время создания штампа времени соответствующей службой, должно быть выражено в UTC. Для получения времени создания штампа TSA должна использовать доверенный источник времени. При получении времени от источника должна быть исключена возможность подмены данного времени. Значения GeneralizedTime должны включать секунды. Даже если нет необходимости, следует использовать GeneralizedTime с точностью до секунд (см. [2], подпункт 4.1.2.5.2). В отличие от ограничений, описанных в ([2], подпункт 4.1.2.5.2), поле GeneralizedTime может содержать и доли секунд. Используется следующий синтаксис: ГГГГММДДччммсс [.м]Z, где [.м] обозначает доли секунды, отделенные десятичной точкой, и может содержать любое количество цифр или отсутствовать. Например: 19990609001326.34352Z. Предусмотрены следующие ограничения к DER-кодированию. 1) Результат кодирования должен оканчиваться на Z (что означает «время зулу»). Десятичный знак, если он присутствует, должен быть представлен в виде точки. В части долей секунд, если они есть, все нули в конце должны быть опущены. Если доли секунды равны нулю, они должны быть полностью опущены вместе с десятичной точкой. 2) Полночь по GMT представляется в следующей форме: ГГГГММДД000000Z, где ГГГГММДД обозначает день, следующий после полуночи. Примеры правильного представления: «19920521000000Z» «19920622123421Z» «19920722132100.3Z» |
| accuracy | - Поле accuracy представляет собой структуру типа Accuracy и обозначает отклонение времени от времени UTC, значение которого содержится в поле genTime. Структура Accuracy выглядит следующим образом. Accuracy ::= SEQUENCE { seconds INTEGER OPTIONAL, millis [0] INTEGER (1..999) OPTIONAL, micros [1] INTEGER (1..999) OPTIONAL } Если поля seconds, millis или micros отсутствуют, то запрашивающая сторона должна считать их равными 0. Добавив значение точности (поле accuracy) к GeneralizedTime, можно получить верхний предел времени, когда можно получить штамп времени, созданный службой штампов времени. Точно так же, путем вычитания точности из GeneralizedTime, можно получить нижний предел времени, когда можно получить штамп времени, созданный службой штампов времени. Точность необходимо представить в секундах, миллисекундах (1-999) и микросекундах (1-999) в виде целого числа. Если необязательное поле accuracy отсутствует, то его значение можно получить другими способами, например с помощью TSAPolicyId. |
| ordering | - Поле ordering (упорядочивание) имеет тип BOOLEAN и используется для обозначения работы службы штампов времени в режиме, когда время создания двух штампов времени не может совпадать. Если поле ordering присутствует и имеет значение «true», каждый штамп времени от одной и той же службы штампов времени всегда может быть упорядочен по полю genTime вне зависимости от точности (поля accuracy). Если поле ordering отсутствует или присутствует и имеет значение «false», то упорядочивание штампов времени, выданных одной или разными службами штампов времени, возможно, только если разница между genTime первого штампа и genTime второго штампа больше суммы значений точности genTime для каждого штампа. |
| nonce | - Поле nonce имеет тип INTEGER и аналогично одноименному полю, описанному в 7.1. Несмотря на то, что поле nonce является необязательным, служба штампов должна распознавать его и включать в ответ, если в запросе TimeStampReq поле nonce присутствовало. При этом значение поля в ответе должно однозначно соответствовать значению nonce в запросе. |
| tsa | - Поле tsa имеет тип GeneralName и может содержать название службы штампов времени. Если поле присутствует, оно должно соответствовать одному из имен субъекта, включенных в сертификат, используемый для проверки подписи штампа времени. Поле tsa не является идентификатором службы штампов времени. Для этого должен быть использован идентификатор ее сертификата (атрибут ESSCertIDv2, см. 7.2.2.2). |
| extensions | - Поле extensions (расширения) имеет тип Extensions и позволяет добавить дополнительную информацию в запрос. Поле extensions описано в [3]. Настоящие рекомендации не определяют какие-либо расширения и допускают использование расширений, определенных в иных нормативных документах. |
7.2.2.2 Правила включения идентификатора сертификата TSA в ответ
Штамп времени не должен содержать иных подписей, кроме подписи службы штампов времени.
Идентификатор сертификата службы штампов времени ESSCertIDv2, определенный в [5], раздел 4, должен быть включен в атрибут SigningCertificateV2 так, как это описано в [5], раздел 3.
Атрибут SigningCertificateV2 является подписанным атрибутом и должен быть включен в поле signedAttrs структуры SignerInfo так, как это описано в Р 1323565.1.025-2019, подразделы 7.1 и 7.3.
8 Использование российских криптографических алгоритмов
В данном разделе установлены требования к содержимому запроса к службе штампов времени и ее ответа, описываемых в разделе 7, при использовании российских криптографических алгоритмов подписи и хэширования.
8.1 Использование российских алгоритмов подписи
При использовании российских криптографических алгоритмов подписи идентификатор используемого алгоритма подписи должен быть включен в штамп времени (см. 7.2.2) в структуру SignedData, описанную в Р 1323565.1.025-2019, подраздел 7.7.
Для алгоритма подписи, определенного в разделе 6 ГОСТ Р 34.10-2012, с длиной ключа подписи 256 бит должен использоваться следующий идентификатор, определенный в Р 1323565.1.023-2018, пункт 5.2.1.1:
id-tc26-gost3410-12-256, «1.2.643.7.1.1.1.1».
Для алгоритма подписи, определенного в разделе 6 ГОСТ Р 34.10-2012, с длиной ключа подписи 512 бит должен использоваться следующий идентификатор, определенный в Р 1323565.1.023-2018, пункт 5.2.1.1:
id-tc26-gost3410-12-512, «1.2.643.7.1.1.1.2».
Примечание - В настоящих рекомендациях для всех идентификаторов российских криптографических алгоритмов перенос строки внутри значения идентификатора, кавычки и точка в его конце не учитываются.
8.2 Использование российских алгоритмов хэширования
При использовании российских криптографических алгоритмов хэширования идентификатор используемого алгоритма хэширования должен быть включен в запрос TimeStampReq и ответ TimeStampResp в структуру messageImprint, как это описано в 7.1 и 7.2.2.1.
Для алгоритма хэширования, определенного в разделе 8 ГОСТ Р 34.11-2012, с длиной хэш-значения 256 бит должен использоваться следующий идентификатор, определенный в Р 1323565.1.025-2019, пункт 9.2.1:
id-tc26-gost3411-2012-256, «1.2.643.7.1.1.2.2».
Для алгоритма хэширования, определенного в разделе 8 ГОСТ Р 34.11-2012, с длиной хэш-значения 512 бит должен использоваться следующий идентификатор, определенный в Р 1323565.1.025-2019, пункт 9.2.2:
id-tc26-gost3411-2012-512, «1.2.643.7.1.1.2.3».
8.3 Особенности использования российских криптографических алгоритмов
Свойства безопасности протокола TSP основываются на свойствах используемых алгоритмов хэширования и подписи. Поэтому при использовании российских криптографических алгоритмов рекомендуется обеспечивать соответствие стойкости используемого алгоритма хэширования и алгоритма подписи. Таким образом, рекомендуется следующее:
- для алгоритма хэширования, определенного в разделе 8 ГОСТ Р 34.11-2012, с длиной хэш-значения 256 бит использовать алгоритм подписи, определенный в разделе 6 ГОСТ Р 34.10-2012, с длиной ключа подписи 256 бит;
- для алгоритма хэширования, определенного в разделе 8 ГОСТ Р 34.11-2012, с длиной хэш-значения 512 бит использовать алгоритм подписи, определенный в разделе 6 ГОСТ Р 34.10-2012, с длиной ключа подписи 512 бит.
В данном разделе описаны некоторые способы передачи запросов к службе штампов времени и ее ответов. Настоящие рекомендации допускают и другие способы передачи указанной информации.
9.1 Протокол TSP по HTTP
В данном разделе описан способ передачи запросов к службе штампов времени и ее ответов по протоколу HTTP. Для этого используются следующие объекты MIME.
-
Для передачи запроса: Content-Type: application/timestamp-query.
-
Для передачи ответа: Content-Type: application/timestamp-reply.
Каждый из описанных объектов MIME должен содержать данные, закодированные в DER.
При получении действительного запроса сервер должен вернуть действительный ответ с типом содержимого application/timestamp-reply или ошибку HTTP.
9.2 Протокол TSP на основе TCP
В данном разделе описан способ передачи запросов к службе штампов времени и ее ответов по протоколу TSP на основе TCP. Служба штампов времени ожидает сообщения от запрашивающей стороны и отправляет ответы на них, используя IP-порт 318. В общем виде взаимодействие выглядит следующим образом.
Запрашивающая сторона подключается к указанному порту и отправляет запрос к службе штампов времени. Служба штампов времени может отправить ответ со штампом времени и/или номер обращения, с которым запрашивающая сторона должна обратиться в следующем сообщении.
Запрашивающая сторона по истечении некоторого промежутка времени, называемого «время повторного запроса», должна отправить службе штампов времени номер обращения.
Служба штампов времени в зависимости от готовности ответа может вернуть сообщение, содержащее штамп времени, следующий номер обращения для повторного запроса или сообщение об ошибке.
Каждое из сообщений, отправляемых в рамках взаимодействия между запрашивающей стороной и службой штампов времени по протоколу TSP на основе TCP, имеет формат, представленный на рисунке 2.
Рисунок 2 — Сообщение в рамках взаимодействия по протоколу TSP на основе TCP
Поле «Длина» имеет длину 4 октета (32 бита) и должно содержать сведения о длине оставшейся части сообщения в октетах. Длина оставшейся части сообщения является суммой количества октетов поля «Значение» и единственного октета поля «Тип». Все значения с длиной 4 октета (поле «Длина») в данном протоколе должны быть представлены от старшего байта к младшему (big-endian).
Поле «Тип» имеет длину 1 октет (8 бит) и содержит значение в шестнадцатеричном виде, указывающее на тип передаваемого сообщения. Данное поле должно быть заполнено в соответствии с таблицей 1.
Поле «Значение» содержит сообщение службы штампов времени. Содержимое данного поля зависит от значения поля «Тип» и должно быть заполнено в соответствии с таблицей 1.
Примечание — Для удобства различения типов сообщений в таблице ниже введено поле «Имя сообщения», позволяющее в дальнейшем ссылаться на конкретный тип передаваемого сообщения при описании порядка возможных сообщений. Данное поле не нужно включать в передаваемые сообщения при взаимодействии со службой штампов времени по протоколу TSP на основе TCP.
Сообщения в рамках взаимодействия по протоколу TSP на основе TCP
-
Запрашивающая сторона посылает tsaMsg и получает в ответ pollRep, negPollRep, partialMsgRep или finalMsgRep.
-
Запрашивающая сторона отправляет сообщение pollReq и получает в ответ negPollRep, partialMsgRep, finalMsgRep или errorMsgRep.
Параметр «время повторного запроса» представляется беззнаковым 32-битным целым числом. Это время обозначает минимальный интервал, после которого клиенту следует проверить состояние еще раз. Оно выражается в секундах.
9.3 Протокол TSP через электронную почту
В данном разделе описан способ передачи запросов к службе штампов времени и ее ответов посредством электронной почты. Для этого используются следующие объекты MIME.
Content-Type: application/timestamp-query
Content-Transfer-Encoding: base64
Content-Type: application/timestamp-reply
Content-Transfer-Encoding: base64
Каждый из описанных объектов MIME должен содержать данные, закодированные в DER и в base64 [6].
Для MIME-типов application/timestamp-query и application/timestamp-reply реализация передачи может включать в себя дополнительные параметры name (имя) и filename (название файла) с целью сохранения информации об имени, когда запросы и ответы о штампах времени сохранены в виде файлов.
Если указанные дополнительные параметры включены, необходимо использовать соответствующие расширения файлов:
| MIME-тип | Расширение файла |
|---|---|
| application/timestamp-query | .TSQ |
| application/timestamp-reply | .TSR |
Настоящие рекомендации допускают использование произвольного названия файла длиной не более восьми символов без учета трехбуквенного расширения.
9.4 Протокол TSP на основе файлового протокола
В данном разделе описан способ передачи запросов к службе штампов времени и ее ответов посредством файлового протокола (например, FTP).
Файл с запросом к службе штампов времени или с ее ответом должен содержать только результат DER-кодирования запроса или ответа соответственно и не должен содержать посторонних заголовков или концевых меток.
Файл с запросом к службе штампов времени должен иметь расширение .tsq (time stamp query).
Файл с ответом службы штампов времени должен иметь расширение .tsr (time stamp reply).
В данном приложении описан способ включения штампа времени для электронной подписи в содержимое типа «подписанные данные» (SignedData) криптографического сообщения формата CMS (см. Р 1323565.1.025).
Штамп времени для электронной подписи используется как доказательство того, что подпись была создана до определенного момента времени. Если сертификат ключа проверки подписи был аннулирован или прекратил свое действие, штамп времени позволяет проверить дату создания подписи по отношению к дате аннулирования или прекращения действия.
Штамп времени для электронной подписи следует поместить в криптографическое сообщение формата CMS в виде неподписанного атрибута Attribute и включить в поле unsignedAttrs соответствующей структуры SignerInfo так, как это описано в Р 1323565.1.025-2019, подразделы 7.1 и 7.3. Структура Attribute описана в Р 1323565.1.025-2019, подраздел 14.9, и должна быть заполнена следующим образом.
- attrType — включает в себя объектный идентификатор типа атрибута, содержащего штамп времени для электронной подписи. Идентификатор выглядит следующим образом.
id-aa-timeStampToken OBJECT IDENTIFIER ::= { iso(1) member-body(2)us(840) rsadsi(113549)
- attrValues — включает в себя структуру SignatureTimeStampToken, содержащую штамп времени TimeStampToken, описанный в 7.2.2. Структура SignatureTimeStampToken выглядит следующим образом.
Поле hashedMessage структуры MessageImprint в штампе времени TimeStampToken должно содержать хэш-значение от поля signature в соответствующей структуре SignerInfo криптографического сообщения формата CMS типа «подписанные данные» (см. Р 1323565.1.025-2019, раздел 7).
В данном приложении приведена последовательность действий, необходимых для того, чтобы проверить, что электронная подпись была создана до того момента, когда соответствующий сертификат был аннулирован или закончился срок его действия, что позволяет использовать данный сертификат для проверки подписей, созданных ранее. Приведенные в данном приложении действия не являются достаточными для проверки электронной подписи, описание полного набора действий выходит за рамки настоящих рекомендаций.
Получение штампа времени для электронной подписи и ее последующая проверка могут быть осуществлены следующим способом.
-
Запрашивающая сторона посылает к службе штампов времени запрос (см. 7.1) на получение штампа времени для электронной подписи. В случае успеха обработки запроса служба штампов времени отправляет запрашивающей стороне ответ (см. 7.2), содержащий штамп времени для указанной подписи.
-
Запрашивающая сторона проверяет корректность штампа времени, как это описано в разделах 5 - 8.
Последующую проверку электронной подписи со штампом времени осуществляют следующим образом.
-
Проверяющая сторона проверяет математическую корректность электронной подписи.
-
Проверяющая сторона проверяет применимость штампа времени к подписи, для которой он был создан. В частности, проверяющая сторона должна убедиться в соответствии проверяемой подписи и подписи, для которой выдан штамп (подробнее см. 5.3).
-
Проверяющая сторона получает дату и время, указанные в полученном для подписи штампе времени, а также сроки действия сертификата, соответствующего проверяемой электронной подписи. Дата и время должны находиться в пределах срока действия данного сертификата.
-
Проверяющая сторона получает сведения об аннулировании сертификата ключа проверки электронной подписи на момент выдачи штампа времени для данной подписи. Дата и время аннулирования сертификата должны быть позже даты и времени, указанных в полученном для подписи штампе времени.
Если все данные условия соблюдены, электронная подпись объявляется действительной.
Данное приложение носит справочный характер. В нем содержится описание структур, необходимых для взаимодействия по протоколу TSP. Описание структур представлено в абстрактно-синтаксической нотации версии 1 (АСН.1), определенной в ГОСТ Р ИСО/МЭК 8824.
PKIXTSP {iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-tsp(13)}
Extensions, AlgorithmIdentifier
FROM PKIX1Explicit88 {iso(1) identified-organization(3)
dod(6) internet(1) security(5) mechanisms(5) pkix(7)
id-mod(0) id-pkix1-explicit-88(1)}
GeneralName FROM PKIX1Implicit88 {iso(1)
identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit-88(2)}
ContentInfo FROM CryptographicMessageSyntax {iso(1)
member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
PKIFreeText FROM PKIXCMP {iso(1) identified-organization(3)
dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
-- Локально определенные объектные идентификаторы --
-- Объектный идентификатор штампа времени в поле eContentType
id-ct-TSTInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 4}
-- Запрос к службе штампов времени TimeStampReq
TimeStampReq ::= SEQUENCE { version INTEGER { v1(1) }, messageImprint MessageImprint,
-- OID алгоритма хэширования и хэш-значение от данных, для которых -- требуется штамп времени
reqPolicy TSAPolicyId OPTIONAL, nonce INTEGER OPTIONAL, certReq BOOLEAN DEFAULT FALSE, extensions [0] IMPLICIT Extensions OPTIONAL } MessageImprint ::= SEQUENCE { hashAlgorithm AlgorithmIdentifier, hashedMessage OCTET STRING }
TSAPolicyId ::= OBJECT IDENTIFIER
-- Ответ службы штампов времени TimeStampResp
TimeStampResp ::= SEQUENCE { status PKIStatusInfo, timeStampToken TimeStampToken OPTIONAL }
-- Информация о состоянии заполняется, исходя из определения, приведенного -- в разделе 5.2.3 [4], следующим образом:
status PKIStatus, statusString PKIFreeText OPTIONAL, failInfo PKIFailureInfo OPTIONAL }
-- когда PKIStatus содержит значение 0, TimeStampToken присутствует, как -- и запрашивалось.
-- когда PKIStatus содержит значение 1, TimeStampToken -- присутствует с изменениями.
-- штамп времени не получен, причина указана в информационном сообщении
waiting (3), -- запрос штампа времени еще не обработан, дополнительная информация
-- ожидается позже.
-- сообщение предупреждает о том, что аннулирование неизбежно
-- уведомление о том, что аннулирование имело место. }
-- Если TimeStampToken отсутствует, PKIFailureInfo показывает причину -- отклонения запроса штампа времени. PKIFailureInfo может иметь одно из -- следующих значений.
PKIFailureInfo ::= BIT STRING {
-- нераспознанный или неподдерживаемый идентификатор алгоритма
-- транзакция не разрешена или не поддерживается
-- отправленные данные имеют неверный формат
-- источник времени в службе штампов времени недоступен
-- служба штампов времени не поддерживает запрашиваемую политику -- безопасности.
-- служба штампов времени не поддерживает запрашиваемое расширение.
-- запрашиваемая дополнительная информация не распознается -- или недоступна
-- запрос не может быть обработан вследствие ошибки системы }
-- Штамп времени TimeStampToken
TimeStampToken ::= ContentInfo
-- contentType имеет значение id-signedData, как определено в -- разделе 7.1 Р 1323565.1.025-2019
-- content имеет значение signedData, как определено в разделе 7.1 -- Р 1323565.1.0252019
-- eContentType в структуре EncapsulatedContentInfo имеет значение -- id-ct-TSTInfo
-- eContent в структуре EncapsulatedContentInfo представляет собой -- структуру TSTInfo
TSTInfo ::= SEQUENCE { version INTEGER { v1(1) }, policy TSAPolicyId, messageImprint MessageImprint,
-- должно содержать то же значение, что и поле TimeStampReq
-- Сторона, запрашивающая штамп времени, должна принимать целые -- числа длиной до 160 бит.
genTime GeneralizedTime, accuracy Accuracy OPTIONAL, ordering BOOLEAN DEFAULT FALSE, nonce INTEGER OPTIONAL,
-- должно присутствовать, если аналогичное поле имеется в -- TimeStampReq. В этом случае поле должно иметь то же значение.
tsa [0] GeneralName OPTIONAL, extensions [1] IMPLICIT Extensions OPTIONAL }
seconds INTEGER OPTIONAL, millis [0] INTEGER (1..999) OPTIONAL, micros [1] INTEGER (1..999) OPTIONAL }
В данном приложении содержатся примеры запросов к службе штампов времени и ее ответов при использовании российских криптографических алгоритмов.
При создании примеров был использован следующий сертификат службы штампов времени. Сертификат представлен в кодировке Base64 [6].
MIIDXjCCAUagAwIBAgIBATANBgkqhkiG9w0BAQUFADBCMQswCQYDVQQGEwJSVTEVMBMGA1UEBwwMRGVmYXVsdCBDa XR5MRwwGgYDVQQKDBNEZWZhdWx0IENvbXBhbnkgTHRkMB4XDTIwMTIyMzE5NDM0NloXDTI1MDYyMTE5NDM0NlowRT ELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx 0ZDBmMB8GCCqFAwcBAQEBMBMGByqFAwICIwEGCCqFAwcBAQICA0MABEBX73jAk8X+4zjYswEJllw3bfkZQ2zOaWVe4 xhhw569KVhCNjRrz9FFmd/6hEniZcWwKR0va5rA5b4QZjbvtpH1oxowGDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCD ANBgkqhkiG9w0BAQUFAAOCAgEAxrd16Qw9dzv+JImvEbUPHGx/H8EUiKg12JxxnrnjuRlz6Lw+KeGYJxgEx+XwP7u O8CwG4LcO+0vZio34UWYJ7luLzq53bneq4PCQ5Q/QWghfKNsreLrd6Ph7WaRPNKXMa9WvN7lPFuEuN8fNZDL6XXvQ OjtFf5xCopeyI4embrJvelDo5T++ekqz5Tof2Is6/4JQa5KZCu1duVmSPc4PpDNIQXYIPskktZEaCPkaVTpwhIvY/ qlu5bvTA9LWN3k/ub/gTPcY6GcEE274Qr4SIuFqoCNBZJcHUHZiEDdQDX3FiE3GLypl4otUstxshzGuMsaAEZ3vXVt YavY3aLW9RMqybS9hPF8gB6m+hU2uwYdqoF9Ma+fCdwc3jRq8qN0aeovPcT/i52BZ9muT/uwUpDTzinP91i56yOA85 7waIO4WbS7bgLLmBS1iXcpsoJSX5PEDBTGXYz24u+ERQtnSlfhw1L5OXJsNtBGgaamM4huzJWFmwn0rb7aKND/IcMH +u8w7hjdFJiFb1A8+0S9gH3u3ueCFzw+Xax/DcrKkeilERYdhxUqr6jfI/Tm6dU14qXnsax55nL4knf0FCRNQh9uzZ PkMDmSmGIs+88/ZL7wRV8hmFr81JZDuW1YSTlU2H0lxcuob5HYM5o68MPyQIWeymxBpzzT493XK+eVwFeE=
Г.1 Взаимодействие с TSA с запросом сертификата TSA, указанием nonce и использованием алгоритма, определенного в разделе 8 ГОСТ Р 34.11-2012, с длиной хэш-значения 256 бит
Запрос к службе штампов времени в абстрактно-синтаксической нотации версии 1 (АСН.1), определенной в ГОСТ Р ИСО/МЭК 8824.
8B 15 38 26 08 82 CE 63 0A E7 A6 64 B3 24 0E A2
EC 38 6F D1 67 8F 24 22 42 A1 16 C4 55 DA 55 A7
INTEGER 00 D1 61 AD 67 5B 17 F8 6D
Запрос к службе штампов времени в кодировке Base64 [6].
MEMCAQEwMDAMBggqhQMHAQECAgUABCCLFTgmCILOYwrnpmSzJA6i7Dhv0WePJCJCoRbEVdpVpwIJANFhrWdbF/htAQH/
Штамп времени в абстрактно-синтаксической нотации версии 1 (АСН.1), определенной в ГОСТ Р ИСО/МЭК 8824.
OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2)
OBJECT IDENTIFIER '1 2 643 7 1 1 2 2'
OBJECT IDENTIFIER tSTInfo (1 2 840 113549 1 9 16 1 4)
OBJECT IDENTIFIER '1 2 643 7 1 1 2 2'
8B 15 38 26 08 82 CE 63 0A E7 A6 64 B3 24 0E A2
EC 38 6F D1 67 8F 24 22 42 A1 16 C4 55 DA 55 A7
GeneralizedTime 28/12/2020 10:40:21 GMT
INTEGER 00 D1 61 AD 67 5B 17 F8 6D
OBJECT IDENTIFIER countryName (2 5 4 6)
UTF8String 'Internet Widgits Pty Ltd'
sha1WithRSAEncryption (1 2 840 113549 1 1 5)
OBJECT IDENTIFIER countryName (2 5 4 6)
OBJECT IDENTIFIER localityName (2 5 4 7)
OBJECT IDENTIFIER organizationName (2 5 4 10)
UTF8String 'Default Company Ltd'
UTCTime 23/12/2020 19:43:46 GMT
UTCTime 21/06/2025 19:43:46 GMT
OBJECT IDENTIFIER countryName (2 5 4 6)
OBJECT IDENTIFIER stateOrProvinceName (2 5 4 8)
OBJECT IDENTIFIER organizationName (2 5 4 10)
UTF8String 'Internet Widgits Pty Ltd'
OBJECT IDENTIFIER '1 2 643 7 1 1 1 1'
cryptoProSignA (1 2 643 2 2 35 1)
OBJECT IDENTIFIER '1 2 643 7 1 1 2 2'
57 EF 78 C0 93 C5 FE E3 38 D8 B3 01 09 96 5C 37
6D F9 19 43 6C CE 69 65 5E E3 18 61 C3 9E BD 29
58 42 36 34 6B CF D1 45 99 DF FA 84 49 E2 65 C5
B0 29 1D 2F 6B 9A C0 E5 BE 10 66 36 EF B6 91 F5
OBJECT IDENTIFIER extKeyUsage (2 5 29 37)
timeStamping (1 3 6 1 5 5 7 3 8)
sha1WithRSAEncryption (1 2 840 113549 1 1 5)
C6 B7 75 E9 0C 3D 77 3B FE 24 89 AF 11 B5 0F 1C
6C 7F 1F C1 14 88 A8 35 D8 9C 71 9E B9 E3 B9 19
73 E8 BC 3E 29 E1 98 27 18 04 C7 E5 F0 3F BB 8E
F0 2C 06 E0 B7 0E FB 4B D9 8A 8D F8 51 66 09 EE
5B 8B CE AE 77 6E 77 AA E0 F0 90 E5 0F D0 5A 08
5F 28 DB 2B 78 BA DD E8 F8 7B 59 A4 4F 34 A5 CC
6B D5 AF 37 B9 4F 16 E1 2E 37 C7 CD 64 32 FA 5D
7B D0 3A 3B 45 7F 9C 42 A2 97 B2 23 87 A6 6E B2
6F 7A 50 E8 E5 3F BE 7A 4A В3 E5 3A 1F D8 8B 3A
FF 82 50 6B 92 99 0A ED 5D B9 59 92 3D CE 0F A4
33 48 41 76 08 3E C9 24 B5 91 1A 08 F9 1A 55 3A
70 84 8B D8 FE A9 6E E5 BB D3 03 D2 D6 37 79 3F
B9 BF E0 4C F7 18 E8 67 04 13 6E F8 42 BE 12 22
E1 6A A0 23 41 64 97 07 50 76 62 10 37 50 0D 7D
C5 88 4D C6 2F 2A 65 E2 8B 54 B2 DC 6C 87 31 AE
32 C6 80 11 9D EF 5D 5B 58 6A F6 37 68 B5 BD 44
CA B2 6D 2F 61 3C 5F 20 07 A9 BE 85 4D AE C1 87
6A A0 5F 4C 6B E7 C2 77 07 37 8D 1A BC A8 DD 1A
7A 8B CF 71 3F E2 E7 60 59 F6 6B 93 FE EC 14 A4
34 F3 8A 73 FD D6 2E 7A C8 E0 3C E7 ВС 1A 20 EE
16 6D 2E DB 80 B2 E6 05 2D 62 5D CA 6C A0 94 97
E4 F1 03 05 31 97 63 3D B8 BB E1 11 42 D9 D2 95
F8 70 D4 BE 4E 5C 9B 0D B4 11 A0 69 A9 8C E2 1B
B3 25 61 66 C2 7D 2B 6F B6 8A 34 3F C8 70 C1 FE
BB CC 3B 86 37 45 26 21 5B D4 0F 3E D1 2F 60 1F
7B B7 B9 E0 85 CF 0F 97 6B 1F C3 72 B2 A4 7A 29
44 45 87 61 C5 4A AB EA 37 C8 FD 39 BA 75 4D 78
A9 79 EC 6B 1E 79 9C BE 24 9D FD 05 09 13 50 87
DB B3 64 F9 0C 0E 64 A6 18 8B 3E F3 CF D9 2F BC
11 57 C8 66 16 BF 35 25 90 EE 5B 56 12 4E 55 36
1F 49 71 72 EA 1B E4 76 0C E6 8E BC 30 FC 90 21
67 B2 9B 10 69 CF 34 F8 F7 75 CA F9 E5 70 15 E1
INTEGER 00 C6 92 54 8C 1F 90 52 23
sha1WithRSAEncryption (1 2 840 113549 1 1 5)
OBJECT IDENTIFIER countryName (2 5 4 6)
OBJECT IDENTIFIER localityName (2 5 4 7)
OBJECT IDENTIFIER organizationName (2 5 4 10)
UTF8String 'Default Company Ltd'
UTCTime 23/12/2020 19:42:07 GMT
UTCTime 23/12/2024 19:42:07 GMT
OBJECT IDENTIFIER countryName (2 5 4 6)
OBJECT IDENTIFIER localityName (2 5 4 7)
OBJECT IDENTIFIER organizationName (2 5 4 10)
UTF8String 'Default Company Ltd'
rsaEncryption (1 2 840 113549 1 1 1)
00 DB C8 31 44 45 EE 8D 7D E6 6F 40 BC 73 48 DE
76 F7 19 EB 4A 1B AF 99 68 CE B6 6E 64 9D 61 A2
51 6C 6E 70 D9 9F 13 06 B2 B9 09 A7 E5 08 BE 1A
65 D0 B7 CA C7 CC 9D 3F F5 C1 EC C8 F1 E8 E2 18
EE 02 8E A6 0B BD B4 87 82 00 87 25 0D 4D 96 40
19 4A 81 DF 19 E8 2B 9F F9 22 D6 52 CB 52 F5 37
5D 3C 3E E7 E1 30 90 1A AD B9 77 D6 B8 10 C9 8C
85 5E E6 AF 6F 26 89 47 02 2B 9F 9C 3B F4 EE E2
86 7A 0E 74 FD F9 90 58 30 74 DA ED 27 4E 0A 56
BA E9 03 27 FC E9 74 E1 AB 30 BA DB C3 DA 12 A7
48 5D 44 49 95 A1 9D 68 62 12 60 38 1E 76 3F D6
CB 56 B7 93 A3 8D 06 29 0B 45 СВ 8A 8F 56 2C 12
F5 78 F7 96 25 8F A4 09 FE 9B 5E F3 E5 A0 0F DF
7C 30 4A 1D A6 3B 01 00 06 11 5A EA 2C F9 13 A7
A3 9E DD 71 EF 1F B1 2C 37 9F 3E 2B AF BB 5C 96
B0 27 2C 94 28 22 8C 57 09 FD 00 09 DE 61 C8 3D
E2 6F 7F A0 03 AC BD FC A5 A1 1A 56 78 D0 62 86
A9 73 F6 C1 35 8A 18 DA F3 E8 40 38 99 D7 83 20
E1 0E 59 6F 04 AB C3 D9 F2 8E 5E 97 1B 5C 48 3D
6D 7C BA 43 D8 4E 4E 62 F4 3D BC 1E 2A AE 91 08
F3 8D D6 AB B8 2E 0E 12 0C A5 87 80 A4 48 11 99
E1 3D D1 21 D5 BE 02 52 A3 5F F9 68 34 88 86 F8
AA E6 F2 0C FD FD AE A4 97 02 56 75 35 B0 8E 38
37 F8 21 52 C3 72 31 34 76 81 EC B1 19 84 24 A4
06 11 4F B6 1F AD 0A 79 9E 3E 14 9A 55 2A A5 85
3D 3D DF 19 95 9E C6 8A B2 F4 6F 9F E6 55 E5 2F
55 3D 1D 41 7A 25 91 C5 BF 76 10 E7 8E 3D 81 3B
63 2D AC 2F F2 3D 88 EA 65 93 CB DF CD 1C 39 C3
A5 AB 9C 12 07 D3 C9 31 D1 B9 8B 93 BC 83 9B 27
66 D4 68 41 6A 8A 5E 71 0A B6 50 6A 0F 52 AD 47
BA DB 3E D0 51 CA 3D F5 80 24 EE 96 3A 96 CC C6
9A 83 81 01 DA 4D 13 66 46 DB D3 98 AB 1A 2D 39
sha1WithRSAEncryption (1 2 840 113549 1 1 5)
0A 42 BF 32 65 93 A1 94 CB 79 67 A8 B8 E0 77 FD
F4 B3 72 FA 90 D9 92 В0 6A EA 87 73 8A D9 64 FD
EB A3 D3 85 F4 AC 7B AA F7 9B BE 72 08 B3 8B 49
6C 43 12 DF 9C 72 BB 80 FE C3 96 56 E7 04 54 6A
13 0D EE 16 E1 88 C2 ED 58 0A 1A 81 FA DA BA 19
A2 7F FF 6E 66 7E 70 35 A0 D8 47 98 60 C5 4B 03
03 8E D1 7C F1 CD AE CE A8 80 61 DC AF C6 3E 74
C4 12 19 7D D2 47 9B 93 88 CC 7F 07 7A BF C8 A4
D8 2B DD 4D C8 5B 3D 11 55 BD 70 4D C5 19 4F 46
89 37 76 31 CB 34 F1 DB 55 C9 DF 94 30 3A 7F EF
96 FC 53 8E 3F 5B EA 36 57 9D 91 94 4C 85 94 70
15 0D 52 DF 96 05 ED B6 0C A1 3A 57 F6 DD BF 87
FE 25 E7 49 BD 55 74 CC C6 A7 7B DB D1 9E DA 47
0E F7 B6 8D 8D 68 70 2B 1C A4 45 8C 14 B5 3C 15
80 E4 A7 9D 22 06 67 5B 8E 75 F8 1B 6A 76 F8 3A
64 4B CA 13 FE 28 4F 02 62 4E E6 AB 89 B5 50 39
E1 99 C5 69 36 DA 41 F9 B7 EC 83 16 3D 4A A7 90
A3 08 39 7E 23 0B 55 CB 63 96 11 46 02 97 94 C7
2A D6 A6 2C 3C 20 B4 48 3B FE 8D EC 0E E0 A4 D8
FF 5F B2 94 52 BE 53 B7 C6 B8 89 E0 98 8C 53 C1
DE B0 2E 8B 5C 89 1E 66 67 F3 BD 68 56 86 FB 15
4A FC 43 17 33 4D E3 DF 91 19 2D 7D 7E 70 8B 5D
D3 81 A4 E9 5D 6A 1E DD 8B 8C 21 7B 7A 5C 8B F9
2F A1 DE 8C 8D 31 3D 40 00 40 80 98 32 CC B1 AC
05 42 D5 20 E5 02 F7 81 67 86 ED 11 51 64 4B 10
E2 DB C5 7B 71 B9 6A B3 C2 F5 5B E8 E8 0A FB EB
32 63 DF A2 2A 20 B6 EA 18 53 AA D6 65 14 9C 42
38 97 22 A5 09 26 B8 6E 47 9E 82 91 D0 C3 F5 2E
AD 95 85 48 2C 56 EA DC 3C BA DA D4 9A 69 0A 95
93 46 1F 91 66 56 25 21 CE 53 A5 1A AD C1 00 75
C8 26 64 52 2C A8 CA 04 05 AE 65 62 93 C3 28 D5
00 8F F0 A1 85 14 B0 A5 79 BC D3 4B 01 C4 E4 41
OBJECT IDENTIFIER countryName (2 5 4 6)
OBJECT IDENTIFIER localityName (2 5 4 7)
OBJECT IDENTIFIER organizationName (2 5 4 10)
UTF8String 'Default Company Ltd'
OBJECT IDENTIFIER '1 2 643 7 1 1 2 2'
OBJECT IDENTIFIER contentType (1 2 840 113549 1 9 3)
tSTInfo (1 2 840 113549 1 9 16 1 4)
OBJECT IDENTIFIER signingTime (1 2 840 113549 1 9 5)
UTCTime 28/12/2020 10:40:21 GMT
signingCertificate (1 2 840 113549 1 9 16 2 12)
FA B4 1E 53 D8 1A FF 02 36 5A 7D B6 75 D4 10 E0
messageDigest (1 2 840 113549 1 9 4)
D1 63 88 44 CF A6 74 B4 CA 16 98 F7 82 79 B3 DC
C0 CD AB 31 F0 39 97 BD D2 82 C5 45 E0 D6 32 D8
OBJECT IDENTIFIER '1 2 643 7 1 1 1 1'
C7 08 50 E4 87 03 E4 6C B0 5D C8 D8 94 C5 82 04
37 F3 EE 6B 55 06 4F 94 B7 0A 95 9F 68 5A 0F 6A
63 D2 2C 6C 43 18 BA 1F 7A FF 7C 73 01 CB A0 5F
D8 E2 EF B5 DA 79 07 66 0E 6C 62 85 96 49 71 03
Штамп времени в кодировке Base64 [6].
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 YObGKFlklxAw==
Г.2 Взаимодействие с TSA без запроса сертификата TSA, без указания nonce и с использованием алгоритма, определенного в разделе 8 ГОСТ Р 34.11-2012, с длиной хэш-значения 512 бит
Запрос к службе штампов времени в абстрактно-синтаксической нотации версии 1 (АСН.1), определенной в ГОСТ Р ИСО/МЭК 8824.
OBJECT IDENTIFIER '1 2 643 7 1 1 2 3'
FB 9C 70 31 84 23 43 8A 7C 7F 75 75 B5 B5 09 81
7C 05 72 D5 77 23 78 0D 69 72 97 35 1D 43 0D 9B
F0 7E 4A 20 E6 F6 4C CF 06 9B 9B 78 A8 DA 40 17
96 24 05 83 C9 1D EE CA 3C F1 4B 20 2B F0 EE A6
Запрос к службе штампов времени в кодировке Base64 [6].
MFUCAQEwUDAMBggqhQMHAQECAwUABED7nHAxhCNDinx/dXW1tQmBfAVy1XcjeA1pcpc1HUMNm/B+SiDm9kzPBpubeKjaQBeWJAWDyR3uyjzxSyAr8O6m
Штамп времени в абстрактно-синтаксической нотации версии 1 (АСН.1), определенной в ГОСТ Р ИСО/МЭК 8824.
OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2)
OBJECT IDENTIFIER '1 2 643 7 1 1 2 2'
OBJECT IDENTIFIER tSTInfo (1 2 840 113549 1 9 16 1 4)
OBJECT IDENTIFIER '1 2 643 7 1 1 2 3'
FB 9C 70 31 84 23 43 8A 7C 7F 75 75 B5 B5 09 81
7C 05 72 D5 77 23 78 0D 69 72 97 35 1D 43 0D 9B
F0 7E 4A 20 E6 F6 4C CF 06 9B 9B 78 A8 DA 40 17
96 24 05 83 C9 1D EE CA 3C F1 4B 20 2B F0 EE A6
GeneralizedTime 28/12/2020 10:40:06 GMT
OBJECT IDENTIFIER countryName (2 5 4 6)
OBJECT IDENTIFIER organizationName (2 5 4 10)
UTF8String 'Internet Widgits Pty Ltd'
OBJECT IDENTIFIER countryName (2 5 4 6)
OBJECT IDENTIFIER localityName (2 5 4 7)
OBJECT IDENTIFIER organizationName (2 5 4 10)
UTF8String 'Default Company Ltd'
OBJECT IDENTIFIER '1 2 643 7 1 1 2 2'
OBJECT IDENTIFIER contentType (1 2 840 113549 1 9 3)
OBJECT IDENTIFIER tSTInfo (1 2 840 113549 1 9 16 1 4)
OBJECT IDENTIFIER signingTime (1 2 840 113549 1 9 5)
UTCTime 28/12/2020 10:40:06 GMT
signingCertificate (1 2 840 113549 1 9 16 2 12)
FA B4 1E 53 D8 1A FF 02 36 5A 7D B6 75 D4 10 E0
OBJECT IDENTIFIER messageDigest (1 2 840 113549 1 9 4)
61 B0 FE 01 F6 E4 4F EC 21 A8 D3 A6 D3 55 0A 5B
A1 99 FE CD F7 CD 16 F1 8C 56 A9 F7 7A FF 34 87
OBJECT IDENTIFIER '1 2 643 7 1 1 1 1'
45 2C 78 42 9C 5A 73 12 25 3B BD 96 FA F0 13 DC
13 DC C8 25 67 AD 71 F6 CB BB F7 CA F9 6D C7 55
43 5C 7D 8A 5A 86 D8 D0 E9 47 72 2A 2E D0 47 2E
89 0A 34 7A E3 A3 58 E4 EE EB 31 2B 78 B6 8D C1
Штамп времени в кодировке Base64 [6].
MIICXjADAgEAMIICVQYJKoZIhvcNAQcCoIICRjCCAkICAQMxDjAMBggqhQMHAQECAgUAMIHfBgsqhkiG9w0BCR ABBKCBzwSBzDCByQIBAQYEKgMEATBQMAwGCCqFAwcBAQIDBQAEQPuccDGEI0OKfH91dbW1CYF8BXLVdyN4DWly lzUdQw2b8H5KIOb2TM8Gm5t4qNpAF5YkBYPJHe7KPPFLICvw7qYCAQQYDzIwMjAxMjI4MTA0MDA2WjAKAgEBgA IB9IEBZAEB/6BJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVy bmV0IFdpZGdpdHMgUHR5IEx0ZDGCAUkwggFFAgEBMEcwQjELMAkGA1UEBhMCUlUxFTATBgNVBAcMDERlZmF1bH QgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZAIBATAMBggqhQMHAQECAgUAoIGYMBoGCSqGSIb 3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjAxMjI4MTA0MDA2WjArBgsqhkiG9w0BCRAC- DDEcMBowGDAWBBT6tB5T2Br/AjZafbZ11BDg9HTHQDAvBgkqhkiG9w0BCQQxIgQgYbD+AfbkT+whqNOm01UKW6GZ/ s33zRbxjFap93r/NIcwDAYIKoUDBwEBAQEFAARARSx4QpxacxIlO72W+vAT3BPcyCVnrXH2y7v3yvltx1VDXH2KWo bY0OlHciou0EcuiQo0euOjWOTu6zEreLaNwQ==
Федеральный закон от 6 апреля 2011 г. № 63-ФЗ «Об электронной подписи»
Cooper D., Santesson S., Farrell S., Boeyen R., Housley R., Polk W. Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, IETF RFC 5280, 2008
Информационная технология. Взаимосвязь открытых систем. Справочник. Часть 8. Структуры сертификатов открытого ключа и атрибута (Information technology — Open systems interconnection — Part 8: The Directory: Public-key and attribute certificate frameworks)
Adams C. and Farrell S. Internet X.509 Public Key Infrastructure, Certificate Management Protocols, IETF RFC 4210, 1999
Schaad J. Enhanced Security Services (ESS) Update: Adding CertID Algorithm Agility, IETF RFC 5035, 2007
Josefsson S. The Base16, Base32, and Base64 Data Encodings, IETF RFC 4648, 2008
| УДК 681.3.06:006.354 | ОКС 35.030 |
| Ключевые слова: криптография, штамп времени, служба штампов времени, электронная подпись, протокол штампов времени | |

