Содержание
- Для чего нужны штампы времени
- Краткое описание протокола TSP
- Как хранить штампы совместно с документами
- Как использовать КриптоПро TSP
Для чего нужны штампы времени
Удостоверение времени создания документа
Штамп времени на документ удостоверяет время создания документа для последующего разрешения конфликтов, связанных с использованием электронного документа. Эта возможность способствует обеспечению неотказуемости от подписи.
Продление срока действия ЭЦП
Наличие штампа времени в подписанном документе позволяет продлевать срок действия ЭЦП. Такой штамп удостоверяет, например, что подпись была создана до того как сертификат ключа подписи был аннулирован (отозван). Таким образом, сохраняется возможность использования отозванного сертификата для проверки ЭЦП, созданных до момента отзыва. Эта проблема актуальна для всех систем электронного документооборота.
Цепочка штампов времени позволяет создавать системы архивного хранения электронных документов, сохраняющие актуальность ЭЦП в документах. В противном случае, актуальность документа с ЭЦП ограничена сроком действия сертификата ключа подписи и сроком действия сертификата на СКЗИ, использованное для создания оригинальной подписи документа.
Другие варианты использования
Область других возможных вариантов применения штампов времени очень широка. Например, штамп времени может использоваться для удостоверения времени поступления или получения документа в тех случаях, когда это необходимо, или для указания времени проведения операции по записи в журнале и др.
Краткое описание протокола TSP
Протокол TSP (Time-Stamp Protocol) является протоколом типа запрос-ответ. Весь обмен заключается в двух сообщениях. Клиент инициирует протокол, посылая серверу запрос на штамп времени, на что сервер возвращает ответ, содержащий выпущенный штамп, или не содержащий его в случае ошибки.
Запрос на штамп времени
Запрос на штамп времени включает следующие поля:
- Значение хэш-функции от документа, на который запрашивается штамп. Здесь обязательно указывается, какой именно алгоритм хэширования используется.
- Идентификатор OID политики запрашиваемого штампа (необязательно).
- Nonce - случайное число, идентифицирующее данную транзакцию протокола TSP (необязательно).
- Дополнения (extensions) (необязательно).
Идентификатор политики определяет, по какой политике должен быть выдан штамп времени. Политики штампов времени задаются сервером штампов времени и устанавливают набор правил, по которым выдаются штампы времени, а также области их применения.
Например, в системе может быть определено несколько политик с разными идентификаторами и следующим описанием:
- Политика для тестовых штампов. Штампы по этой политике выдаются всем пользователям, но могут использоваться только для тестовых целей, а система документооборота не будет принимать такие штампы.
- Основная политика штампов. Штампы по этой политике выдаются всем зарегистрированным пользователям системы, стоимость одного штампа составляет 5 копеек, точность времени в штампе составляет 10 секунд, а система документооборота будет принимать такие штампы для документов, не являющихся важными.
- Точная политика штампов. Штампы по этой политике выдаются пользователям, допущенным к работе с важными документами, стоимость одного штампа составляет 25 копеек, точность времени в штампе составляет 1 секунду, а система документооборота будет принимать такие штампы для любых документов.
Поле nonce позволяет клиенту проверить своевременность полученного ответа, в котором сервер штампов времени должен разместить то же самое значение nonce, которое было в запросе.
Ответ сервера штампов времени
Ответ сервера штампов времени содержит следующие поля:
- Статус операции и информация об ошибке.
- Штамп времени (если статус успешный).
Штамп времени представляет собой CMS-сообщение (PKCS#7) типа SignedData (см. RFC 3369 "Cryptographic Message Syntax (CMS)"). Содержимым этого сообщения является структура со следующими полями:
- Значение хэш-функции от документа, на который выдан штамп. Здесь обязательно указывается, какой именно алгоритм хэширования используется.
- Идентификатор OID политики штампа.
- Время выдачи штампа.
- Точность времени.
- Признак строгой упорядоченности штампов (ordering).
- Nonce - случайное число, идентифицирующее данную транзакцию протокола TSP. Совпадает с соответствующим полем запроса.
- Дополнения (extensions) (необязательно).
Сервер штампов указывает признак ordering, если он работает в режиме строгой упорядоченности штампов, т.е. сравнение времён двух выданных этим серверов штампов даже без учёта точности времени определяет порядок их выдачи.
Как хранить штампы совместно с документами
В RFC 3161 "Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)" описан вариант хранения штампа времени на документ с ЭЦП формата CMS SignedData в неподписанном атрибуте этого CMS-сообщения. Для этого атрибута определён идентификатор OID.
Для организации долговременного архивного хранения документов с ЭЦП недостаточно одного штампа времени. При проверке этой подписи спустя долгое время понадобится проверить следующие сертификаты:
- Сертификат ключа подписи, использованного для создания оригинальной ЭЦП.
- Сертификат УЦ, издавшего сертификат ключа подписи. Если цепочка сертификатов содержит другие УЦ, то их сертификаты также необходимо проверить.
- Сертификат сервера штампов времени.
- Цепочка сертификатов для проверки сертификата сервера штампов времени.
Сроки действия этих сертификатов к моменту проверки могут истечь. Для обеспечения актуальности ЭЦП при долговременном хранении необходимо периодически получать новые штампы времени и сохранять всю необходимую для проверки информацию: цепочки сертификатов и информацию об их статусах - СОС или OCSP-ответы.
Возможный вариант форматов данных и идентификаторы атрибутов для долговременного хранения документов с ЭЦП на основе CMS-сообщений описаны в европейском стандарте CAdES (ETSI TS 101 733). Версия этого стандарта опубликована в виде RFC 5126 "CMS Advanced Electronic Signatures (CAdES)".
Как использовать КриптоПро TSP
Линейка продуктов КриптоПро TSP позволяет организовать сервер штампов времени для обслуживания клиентов, и встроить функциональности работы со штампами времени в различные приложения.
Пример использования продуктов КриптоПро TSP представлен на рисунке. Групповые политики в домене Windows могут использоваться для установки и настройки КриптоПро TSP Client, но необязательно.


