Метки времени
Служба меток времениСлужба меток времени
Метка времени — это подтверждение от независимой службы, что документ существовал в определённый момент. Дату в самом документе поставить может кто угодно и какую угодно; метку времени — только служба, и она заверяет её своей подписью.
Зачем это нужно на практике
Представьте: сотрудник подписал приказ, а через месяц его сертификат отозвали. Без метки времени доказать, что подпись поставлена до отзыва, нечем — и документ придётся считать недействительным, хотя в момент подписания всё было честно.
Метка времени решает это: она доказывает, что подпись существовала уже тогда, когда сертификат ещё действовал. Поэтому наша система по умолчанию ставит метку на каждую подпись — это уровень PAdES B-T.
Служба видит только хэш документа — короткий отпечаток, по которому восстановить содержимое невозможно. Ни текста документа, ни имени автора она не получает и получить не может. Именно поэтому она открыта всем без аутентификации.
Сведения о службе
РаботаетСертификат службы годен только для меток времени и ни для чего больше: в нём стоит единственное критичное назначение 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Адрес в примере указан для установки на этой же машине. Полный адрес службы смотрите в поле «Адрес службы» выше.
Метка времени доказывает момент, а не содержание: она говорит «этот документ существовал в такое-то время», но ничего не говорит о том, кто его составил и верно ли то, что в нём написано. За авторство отвечает подпись, за момент — метка.