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