Метки времени

Служба меток времени

Служба меток времени

Метка времени — это подтверждение от независимой службы, что документ существовал в определённый момент. Дату в самом документе поставить может кто угодно и какую угодно; метку времени — только служба, и она заверяет её своей подписью.

Зачем это нужно на практике

Представьте: сотрудник подписал приказ, а через месяц его сертификат отозвали. Без метки времени доказать, что подпись поставлена до отзыва, нечем — и документ придётся считать недействительным, хотя в момент подписания всё было честно.

Метка времени решает это: она доказывает, что подпись существовала уже тогда, когда сертификат ещё действовал. Поэтому наша система по умолчанию ставит метку на каждую подпись — это уровень PAdES B-T.

Служба видит только хэш документа — короткий отпечаток, по которому восстановить содержимое невозможно. Ни текста документа, ни имени автора она не получает и получить не может. Именно поэтому она открыта всем без аутентификации.

Сведения о службе

Работает
Адрес службы/api/tsa
Идентификатор политики (OID)1.3.6.1.4.1.53087.1.1
Точность времени± 1 с
Сертификат действует до07.09.2028, 17:06:39 UTC
Сертификат службыC=TJ,O=Government of the Republic of Tajikistan,CN=Tajikistan Time Stamping Authority
Серийный номер сертификата5604ce58af7d5fd688506fb6018d53d5e9e00491

Сертификат службы годен только для меток времени и ни для чего больше: в нём стоит единственное критичное назначение id-kp-timeStamping. Этого требует RFC 3161, и проверяющие программы это контролируют — им же ключом службы нельзя подписать ни документ, ни сертификат.

Как получить метку самому

Служба отвечает по стандартному протоколу RFC 3161, поэтому годится любой обычный клиент — например, входящий в OpenSSL.

# 1. запрос на метку для своего файла
openssl ts -query -data mydoc.pdf -sha256 -cert -out request.tsq

# 2. отправить его службе
curl -s -H "Content-Type: application/timestamp-query" \
     --data-binary @request.tsq \
     http://localhost:8081/api/tsa -o response.tsr

# 3. прочитать ответ
openssl ts -reply -in response.tsr -text

Адрес в примере указан для установки на этой же машине. Полный адрес службы смотрите в поле «Адрес службы» выше.

Метка времени доказывает момент, а не содержание: она говорит «этот документ существовал в такое-то время», но ничего не говорит о том, кто его составил и верно ли то, что в нём написано. За авторство отвечает подпись, за момент — метка.