Открыть сервис

Time Stamp Protocol

Time Stamp Protocol (TSP, протокол временной метки) — это криптографический протокол, предназначенный для доказательства существования определённого набора данных (цифрового документа, файла, сообщения) в конкретный момент времени. Протокол позволяет получить от доверенной третьей стороны (службы временных меток, TSA) цифровое подтверждение того, что данные были созданы или зафиксированы не позднее указанного времени. TSP стандартизирован в рекомендации IETF RFC 3161 (Internet X.509 Public Key Infrastructure Time-Stamp Protocol).

История

Необходимость в надёжном механизме фиксации времени возникла с развитием электронного документооборота и цифровых подписей. В традиционном бумажном документообороте дата и время подтверждались подписью и печатью, а также физическими свидетельствами (например, почтовым штемпелем). В цифровой среде требуется криптографически верифицируемое доказательство, которое не может быть подделано ни одной из сторон.

Первые практические реализации протоколов временных меток появились в 1990-х годах. В 1999 году был опубликован RFC 3161, который стал основой для большинства современных систем TSP. Протокол был разработан для использования в инфраструктуре открытых ключей (PKI) и тесно связан с форматами сертификатов X.509 и цифровыми подписями.

Принцип работы

Протокол TSP основан на криптографических хеш-функциях и асимметричном шифровании. Процесс получения временной метки включает следующие шаги:

  1. Вычисление хеша: Владелец данных (клиент) вычисляет криптографический хеш (например, SHA-256) от своего документа или файла. Хеш — это строка фиксированной длины, уникальная для исходных данных.
  2. Формирование запроса: Клиент отправляет службе временных меток (TSA) запрос, содержащий только этот хеш. Исходный документ не передаётся, что обеспечивает конфиденциальность.
  3. Формирование ответа: TSA получает запрос, добавляет к нему текущее время (с точностью до секунды или долей секунды) и уникальный идентификатор последовательности. Затем TSA подписывает эту комбинацию (хеш + время + идентификатор) своим закрытым ключом, создавая токен временной метки (Time Stamp Token, TST).
  4. Возврат токена: TSA отправляет клиенту TST, который содержит:
  • Исходный хеш документа.
  • Метку времени (дату и время).
  • Идентификатор политики временных меток.
  • Цифровую подпись TSA.
  • Сертификат открытого ключа TSA (обычно в цепочке до корневого центра сертификации).
  1. Верификация: В любой момент в будущем любой проверяющий может:
  • Вычислить хеш исходного документа.
  • Извлечь хеш из TST.
  • Сравнить их. Если они совпадают, это доказывает, что документ не изменялся после создания метки.
  • Проверить цифровую подпись TSA с помощью сертификата TSA, чтобы убедиться, что метка не подделана.
  • Проверить срок действия сертификата TSA на момент создания метки.

Структура токена временной метки

Токен временной метки (TST) — это структура данных, определённая в RFC 3161. Она включает следующие основные поля:

  • version: Версия протокола (обычно 1).
  • policy: Идентификатор политики временных меток, определяющей правила работы TSA (например, точность времени, требования к архивированию).
  • messageImprint: Хеш исходного документа, который был отправлен в запросе.
  • serialNumber: Уникальный порядковый номер, присвоенный TSA данному токену.
  • genTime: Время создания метки (обычно в формате GeneralizedTime).
  • accuracy: Точность времени (опционально).
  • nonce: Случайное число, переданное клиентом в запросе для защиты от повторной атаки (опционально).
  • tsa: Идентификатор TSA (опционально).
  • signature: Цифровая подпись TSA, охватывающая все вышеперечисленные поля.

Применение

Протокол временных меток широко используется в различных областях, где требуется доказательство времени создания или существования данных:

  • Электронный документооборот: Подтверждение даты подписания договоров, счетов, актов. В России, согласно Федеральному закону № 63-ФЗ «Об электронной подписи», временные метки могут использоваться для подтверждения момента подписания документа.
  • Цифровые подписи: Временная метка, добавленная к цифровой подписи, позволяет проверить, что подпись была действительна на момент её создания, даже если сертификат подписанта позже был отозван.
  • Архивирование и долговременное хранение: Для доказательства того, что архивные данные не были изменены после даты архивирования.
  • Интеллектуальная собственность: Фиксация времени создания патентных заявок, авторских прав, научных работ.
  • Блокчейн и криптовалюты: Некоторые блокчейны (например, Bitcoin) используют временные метки для подтверждения времени транзакций, хотя их механизм отличается от TSP.
  • Судебная экспертиза: Доказательство времени создания цифровых доказательств (фотографий, видеозаписей, логов).

Службы временных меток (TSA)

Служба временных меток (TSA) — это доверенная третья сторона, которая предоставляет услуги по созданию и верификации токенов TSP. TSA должна быть надёжной и безопасной, так как от её работы зависит целостность всей системы. Основные требования к TSA:

  • Точность времени: TSA должна синхронизировать свои часы с эталонными источниками времени (например, GPS, атомные часы).
  • Безопасность ключей: Закрытый ключ TSA должен храниться в защищённом оборудовании (HSM) и быть недоступным для несанкционированного доступа.
  • Прозрачность: TSA должна публиковать свою политику временных меток и сертификаты открытых ключей.
  • Архивирование: TSA должна хранить все созданные токены и журналы операций для возможности последующей проверки.

В России существуют аккредитованные удостоверяющие центры, которые предоставляют услуги TSP в соответствии с законодательством об электронной подписи.

Критика и ограничения

  • Зависимость от доверенной третьей стороны: TSA является центральным элементом системы. Если TSA скомпрометирована (например, её закрытый ключ украден), все созданные ею метки становятся недействительными.
  • Стоимость: Услуги профессиональных TSA могут быть платными, особенно при большом объёме запросов.
  • Сложность управления: Необходимость управления сертификатами и цепочками доверия может быть сложной для конечных пользователей.
  • Проблемы с долговременным хранением: Сертификаты TSA имеют ограниченный срок действия. Для долговременного хранения токенов требуется механизм продления доверия (например, повторное подписание токенов новым сертификатом).
  • Атаки на время: Если TSA использует ненадёжный источник времени, злоумышленник может попытаться манипулировать временем метки.

Альтернативы

  • Блокчейн-метки: Использование распределённых реестров (например, Bitcoin, Ethereum) для фиксации времени. В этом случае хеш документа записывается в транзакцию, которая включается в блок с временной меткой. Это децентрализованный подход, не требующий доверенной третьей стороны.
  • Linked Timestamps: Метод, при котором метки связываются в цепочку с помощью хешей, что позволяет проверять их без доверенной стороны.
  • Сертификаты времени с атрибутами: Расширения стандартных сертификатов X.509, которые могут содержать временную метку.

Источники

  • RFC 3161: Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)
  • Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи»
  • ISO 18014: Information technology — Security techniques — Time-stamping services
  • Стандарт X.509 ITU-T
Загружаем BFOmetr…