Долговечна ли ЭП

Как сохранить электронную подпись на годы: метки времени и усовершенствованные форматы

Как сохранить электронную подпись на годы: метки времени и усовершенствованные форматы

Время подписи: верить часам на компьютере — себя не уважать

Представим договор, который подписали сегодня. Сейчас всё хорошо:

  • Документ не изменён

  • Подпись математически верна

  • Сертификат действует

  • Цепочка доверия строится

  • Сертификат не отозван

Но документ нужно хранить десять, двадцать или тридцать лет, а за это время может произойти всякое:

  • сертификат подписанта закончится;

  • сертификаты удостоверяющих центров тоже могут закончиться;

  • сервисы OCSP изменятся;

  • старые списки отзыва исчезнут из быстрого доступа;

  • криптографические алгоритмы могут устареть;

  • программное обеспечение будет обновлено;

  • ссылки из сертификатов перестанут открываться.

Возникает вопрос:

Как через много лет подтвердить, что подпись была создана и могла быть проверена в нужный момент?

Просто сохранить документ и файл .sig иногда недостаточно. Для долговременной проверки нужны дополнительные доказательства:

  • доверенное время;

  • сертификаты цепочки;

  • сведения о статусе;

  • данные, позволяющие повторить проверку;

  • в некоторых случаях — последующее архивное усиление.

Именно для этого существуют метки времени и усовершенствованные форматы электронной подписи.

Подпись есть. А когда она появилась?

Обычная криптографическая подпись подтверждает связь:

Документ + Подпись + Открытый ключ

Но сама по себе она не всегда содержит надёжное доказательство времени создания. В подписи можно записать в целом любое время: «01.01.0000 в 23:59», и что теперь, документ от сотворения мира? Откуда взялось такое время в подписи? Возможно, с часов компьютера. А пользователь может изменить системное время вообще-то вручную.

После этого программа честно прочитает неправильные часы. Поэтому обычная отметка времени внутри данных не обязательно является доверенным временем. Она может быть полезной служебной информацией. Но для сильного доказательства нужен независимый источник.

Часы на компьютере: точные до первого пользователя с правами администратора

Представим спор. Одна сторона говорит:

Документ был подписан 1 марта, когда сертификат ещё действовал.

Вторая отвечает:

А почему мы должны верить времени внутри файла?

Если время взято с компьютера подписанта, остаются вопросы:

  • были ли часы синхронизированы;

  • не менял ли пользователь дату;

  • не ошибалась ли система;

  • не было ли время добавлено позже.

Нужен независимый участник, который подтвердит:

Определённые данные уже существовали не позднее указанного момента.

Таким участником становится служба доверенного времени.

Метка времени: штамп «это уже существовало»

Метка доверенного времени создаётся специальной службой. В международной терминологии: Time Stamping Authority (TSA). Служба получает не обязательно сам документ. Обычно ей отправляется его хеш или хеш другого объекта. Упрощённо:

Документ ↓ Хеш ↓ Запрос в службу времени ↓ Доверенное время + Хеш + Подпись службы времени ↓ Метка времени

Служба формирует специальный подписанный объект — токен метки времени. Он связывает:

  • цифровой отпечаток данных;

  • доверенное время;

  • сведения о политике;

  • идентификаторы;

  • подпись службы времени.

Главная идея:

Служба подтверждает, что данные с таким хешем существовали к указанному времени.

Документ не нужно отправлять службе времени

Это важное свойство. Допустим, у нас есть секретный договор. Для получения метки можно вычислить цифровой отпечаток документа и только его отправить службе времени.

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

Хеш снова работает курьером. И снова не читает письмо.

Как создаётся метка времени

Разберём процесс по шагам.

Шаг 1. Вычисляется хеш

Например, хеш электронной подписи или подписываемых данных:

Объект ↓ Хеш-функция ↓ Отпечаток H

Шаг 2. Формируется запрос

В запрос могут входить:

  • алгоритм хеширования;

  • значение хеша;

  • идентификатор политики;

  • случайное значение для связывания запроса и ответа;

  • дополнительные параметры.

Шаг 3. Служба получает доверенное время

Источник и порядок обеспечения точности определяются правилами службы. Смысл в том, что время должно поступать из контролируемой доверенной системы, а не из часов браузера пользователя.

Шаг 4. Создаётся токен

В него включаются:

  • Хеш данных

  • Время

  • Серийный номер

  • Политика

  • Другие сведения

Шаг 5. Токен подписывается

Служба использует свой закрытый ключ:

Данные метки + Закрытый ключ TSA ↓ Подпись метки времени

Теперь проверяющий может использовать сертификат TSA и PKI для проверки самой метки.

Получается подпись поверх доказательства времени. Криптография любит слои. Как хороший торт. Только вместо крема — сертификаты.

Что доказывает метка времени

Корректно проверенная метка позволяет подтвердить:

Данные с указанным хешем существовали не позднее времени, зафиксированного службой.

Это важная формулировка. Метка не обязательно доказывает:

  • кто создал документ;

  • кто первым его увидел;

  • что документ был подписан ровно в эту секунду;

  • что все сведения в документе истинны.

Она связывает доверенное время с цифровым отпечатком. Если метка поставлена на электронную подпись, можно подтвердить, что конкретное значение подписи существовало к указанному моменту. Это помогает анализировать:

  • действовал ли тогда сертификат;

  • не был ли он отозван к этому моменту;

  • какие алгоритмы использовались;

  • какие правила проверки применимы.

Метка времени — свидетель времени. Но не очевидец всех событий вокруг документа.

Время подписания и время метки — не одно и то же

Допустим:

Пользователь создал подпись: 10:00 Служба поставила метку: 10:03

Метка подтверждает:

Подпись существовала не позднее 10:03

Она не обязана доказывать, что пользователь нажал кнопку ровно в 10:00. Поэтому нужно различать:

  • заявленное время подписания;

  • локальное время в атрибутах;

  • доверенное время метки.

В реальных форматах эти значения могут сосуществовать. Но уровень доверия у них разный. Часы подписанта говорят:

По-моему, было 10:00.

TSA говорит:

К 10:03 эти данные точно были у меня на проверке.

Почему срок сертификата не уничтожает старую подпись

Представим, что сертификат действует: с 01.01.2026 по 31.12.2026

  • Документ подписан 01.07.2026

  • Проверяем его в 2035 году

Сертификат давно просрочен. Но это ещё не означает, что подпись была неправильной. Нужно понять:

Была ли подпись создана, когда сертификат действовал?

Если есть доверенная метка времени и сохранены необходимые доказательства, можно проверять подпись относительно подтверждённого прошлого момента. Упрощённо:

2026 Сертификат действует. Подпись существует. Метка времени подтверждает момент. Статус проверен. 2035 Сертификат уже истёк. Но сохранились доказательствасостояния в 2026 году.

Поэтому:

Просроченный сегодня сертификат не обязательно делает недействительной подпись, корректно созданную раньше.

Но одной даты недостаточно. Нужно учитывать статус сертификата, цепочку, правила проверки и сохранённые данные.

А если сертификат отозвали позже

Здесь всё сложнее. Представим:

1 июля 2025: Документ подписан 10 июля 2025: Сертификат отозван

Вопрос:

Был ли закрытый ключ надёжным 1 июля?

Ответ зависит от:

  • причины отзыва;

  • даты и времени, связанного с компрометацией;

  • политики удостоверяющего центра;

  • применимых правовых правил;

  • наличия доверенной метки;

  • данных о статусе.

Если ключ был украден ещё до подписания, поздняя публикация отзыва не делает прошлую подпись автоматически надёжной. Поэтому нельзя использовать простое правило:

Отзыв позже метки = всё всегда хорошо

Долговременная проверка — это анализ доказательств, а не сравнение двух дат на глаз.

Почему проверки «сейчас» недостаточно для проверки «через десять лет»

Сегодня программа может обратиться по ссылкам из сертификата:

Скачать CRL Запросить OCSP Получить промежуточный сертификат

Через десять лет:

  • домен может измениться;

  • архивный CRL будет удалён;

  • OCSP не будет хранить исторические ответы;

  • сертификаты исчезнут из локального хранилища;

  • старый формат перестанет поддерживаться.

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

Сертификат подписанта Промежуточные сертификаты CRL Ответы OCSP Метки времени

Тогда важные доказательства путешествуют вместе с документом. Не нужно через двадцать лет искать старый CRL на сайте, который теперь продаёт садовые качели.

Усовершенствованная электронная подпись

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

  • подписанные атрибуты;

  • сертификаты;

  • метка времени;

  • сведения об отзыве;

  • данные цепочки;

  • архивные метки времени.

Для подписей на основе CMS используется семейство форматов CAdES.

  • Базовая подпись: подтверждает связь документа и ключа

  • Подпись с меткой времени: добавляет доверенное время

  • Долговременная подпись: добавляет данные, необходимые для будущей проверки

  • Архивная подпись: позволяет обновлять защиту на длительном горизонте

Не все системы используют одинаковые названия уровней. Можно встретить современные профили Baseline и более старую терминологию. Важно смотреть не только на название, но и на фактическое содержимое подписи.

Базовый уровень: подпись есть, будущее пока не упаковано

Базовая подпись содержит криптографическое значение и необходимые подписанные данные. Она позволяет проверить:

Документ не изменён Подпись соответствует открытому ключу

В контейнер может быть включён сертификат. Но базовая подпись не обязательно содержит:

  • доверенную метку времени;

  • полный набор данных о статусе;

  • архивные доказательства.

Для проверки сегодня этого может быть достаточно. Для хранения на десятилетия — не всегда.

Уровень с меткой времени: время присоединяется к подписи

Следующий шаг — добавить доверенную метку. Упрощённо:

Документ ↓ Электронная подпись ↓ Хеш подписи ↓ Метка доверенного времени

Теперь есть независимое подтверждение, что значение подписи существовало к определённому моменту. Это помогает проверять подпись относительно прошлого. В терминологии разных профилей можно встретить обозначения «CAdES-T». Конкретная структура зависит от стандарта и реализации.

Общая идея:

T = Time

Время вошло в чат. И принесло свой сертификат.

Долговременный уровень: берём доказательства с собой

Для проверки нужны не только время и сертификат подписанта. Нужны данные, позволяющие проверить цепочку и статус. Например:

Сертификат подписанта Промежуточные сертификаты CRL OCSP-ответы

Если они включены в структуру подписи, будущая проверка меньше зависит от внешних сервисов. Современные профили могут обозначать такой уровень как «CAdES-XLT1», где:

LT = Long Term

Смысл:

Сохранить материалы проверки вместе с подписью.

Это не гарантирует вечность. Но значительно повышает автономность и воспроизводимость проверки.

Архивный уровень: время защищает время

Даже сохранённые доказательства стареют. Проблемы будущего:

  • алгоритм хеширования может ослабнуть;

  • длина ключа перестанет считаться достаточной;

  • сертификат TSA закончится;

  • криптографические требования изменятся.

Тогда поверх существующей структуры можно создавать новые архивные метки времени. Упрощённо:

Документ + Подпись + Сертификаты + Данные отзыва + Старые метки ↓ Новый хеш всего набора ↓ Новая архивная метка времени

Теперь новая метка подтверждает существование всей накопленной доказательной структуры. Позже процесс можно повторить.

Доказательства 2026 ↓ Архивная метка 2030 ↓ Архивная метка 2040 ↓ Дальнейшее продление защиты

В современных профилях используется уровень «CAdES-A» и хранение эл. документов, где:

A = Archive (архивное хранение)

То есть долговременная доступность доказательств. Это уже не одноразовая операция. Скорее, обслуживание цифрового архива. Документу тоже иногда нужен техосмотр.

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

Метка времени сама основана на криптографии. У неё есть:

  • подпись TSA;

  • сертификат TSA;

  • алгоритм хеширования;

  • цепочка доверия;

  • срок действия и статус сертификата.

Через много лет эти элементы тоже могут устареть. Поэтому долговременное хранение требует стратегии:

  1. сохранить исходные данные;

  2. сохранить подпись;

  3. сохранить данные проверки;

  4. добавить доверенное время;

  5. до ослабления алгоритмов обновить архивное доказательство;

  6. повторять при необходимости.

Одна метка не выдаёт документу бессмертие. Она выдаёт ему хорошее свидетельство о прошлом. А бессмертие, как обычно, требует обслуживания и бюджета.

Что нужно сохранить вместе с подписанным документом

Минимальный набор зависит от формата, правил и срока хранения. Но полезно помнить о следующих объектах.

Исходный документ

Именно те байты, которые были подписаны.

Не:

Копия после повторного сохранения

Не:

Распечатали и заново отсканировали

А исходный электронный объект.

Электронная подпись

Если подпись отсоединённая:

document.pdf document.pdf.sig

нужно сохранить оба файла. Один без другого может быть бесполезен для проверки.

Сертификат подписанта

Он связывает открытый ключ с владельцем.

Сертификаты цепочки

Промежуточные сертификаты помогают восстановить путь доверия.

Данные статуса

Например:

  • CRL;

  • OCSP-ответы.

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

Они подтверждают существование данных к доверенному моменту.

Дополнительные данные формата

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

важное > очень важное > точно финал > финал 2 > не удалять!

не является стандартом долговременного архива.

Почему нельзя пересохранить подписанный PDF

Электронная подпись защищает конкретные байты. Если открыть документ и нажать «Сохранить» программа может изменить:

  • метаданные;

  • структуру объектов;

  • сжатие;

  • внутренние ссылки;

  • служебные поля.

Внешне документ останется тем же. Хеш может измениться. Для отсоединённой подписи результат:

Исходная подпись не соответствует новой версии файла

Поэтому архивная копия должна сохранять исходные данные без изменения. Можно сделать дополнительную копию для просмотра. Но оригинал нужно оставить нетронутым.

Электронная подпись не против редактирования. Она просто помнит, каким документ был раньше. И память у неё побайтовая.

Метка времени не заменяет электронную подпись

Метка подтверждает существование данных к определённому моменту. Электронная подпись связывает данные с закрытым ключом подписанта. Это разные функции.

Электронная подпись Кто владел соответствующим ключом и какие данные подписаны Метка времени Какие данные существовали к доверенному моменту

Можно поставить метку на неподписанный файл. Тогда будет подтверждено существование хеша файла к определённому времени. Но не появится подпись владельца.

И наоборот: можно создать подпись без доверенной метки. Тогда будет криптографическая связь с ключом, но доказательство времени может быть слабее. Вместе они дают более полную картину.

Что проверяется через много лет

Долговременная проверка может включать:

  1. Целостность документа. Совпадает ли хеш?

  2. Криптографическую подпись. Соответствует ли подпись открытому ключу?

  3. Сертификат подписанта. Кому принадлежал ключ?

  4. Цепочку доверия. Можно ли дойти до доверенного якоря?

  5. Доверенное время. Когда подпись уже существовала?

  6. Статус сертификатов. Что было известно об отзыве в значимый момент?

  7. Сохранённые доказательства. Достаточно ли данных для повторной проверки?

  8. Криптографическую актуальность. Можно ли по-прежнему доверять использованным алгоритмам?

  9. Архивные обновления. Продлевалась ли защита до ослабления старых механизмов?

Это намного больше, чем кнопка «Проверить подпись» Хороший сервис скрывает сложность. Но отчёт должен объяснять результат.

«Подпись действительна сегодня» и «подпись была действительна тогда»

Это разные режимы мышления.

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

Система смотрит:

Действует ли сертификат сейчас? Каков текущий статус? Доступна ли цепочка?

Проверка относительно прошлого момента

Система использует:

Доверенное время Архивные данные статуса Сохранённую цепочку Правила проверки прошлого состояния

Для долгосрочного документа второй вопрос часто важнее.

Не:

Действует ли сертификат в 2035 году?

А:

Можно ли подтвердить, что подпись была корректно создана и проверяема в 2026 году?

Это и есть одна из главных задач долговременной валидации.

Долговременная подпись не равна вечной подписи

Слово:

долговременная

не означает:

проверится через миллион лет без обслуживания

Долговременная проверяемость зависит от:

  • качества исходной подписи;

  • доверенного времени;

  • сохранности доказательств;

  • обновления архивных меток;

  • миграции систем хранения;

  • поддержки форматов;

  • своевременной реакции на ослабление алгоритмов.

Это процесс. Не волшебный флажок. Можно создать хороший архивный контейнер сегодня. Но если потерять файл завтра, криптография не восстановит его из астрала.

Практический сценарий

Представим договор.

В день подписания

1. Вычислен хеш документа 2. Создана электронная подпись 3. Проверен сертификат 4. Получена метка доверенного времени 5. Сохранены сертификаты цепочки 6. Сохранены данные статуса

Через пять лет

Сертификат подписанта истёк.

Но доступны:

Исходный документ Подпись Метка времени Цепочка Данные отзыва

Можно анализировать состояние на подтверждённый момент.

Перед устареванием алгоритмов

Создаётся архивное обновление:

Хеш всей доказательной структуры ↓ Новая метка времени

Через двадцать лет

Проверяющий использует накопленную последовательность доказательств. Так цифровой документ получает историю, которую можно проверять. Не просто:

Вот файл. Поверьте.

А вот так:

Вот подпись. Вот сертификат. Вот цепочка. Вот статус. Вот доверенное время. Вот архивное продление.

Доказательства путешествуют вместе.

Резюме

Обычная электронная подпись подтверждает связь:

Документ + Подпись + Открытый ключ

Для долговременной проверки этого может быть недостаточно. Нужны дополнительные элементы.

Метка доверенного времени

Подтверждает:

Данные с таким хешем существовали не позднее указанного доверенного момента

Данные проверки

Помогают восстановить:

Цепочку сертификатов Статус отзыва Условия доверия

Долговременные форматы

Сохраняют доказательства вместе с подписью.

Архивные метки

Позволяют продлевать криптографическую защиту при изменении требований и старении алгоритмов. Весь цикл теперь складывается в одну картину:

Случайность создаёт секрет Эллиптическая кривая связывает закрытый и открытый ключи Хеш создаёт отпечаток документа Электронная подпись связывает документ с закрытым ключом Сертификат связывает открытый ключ с владельцем PKI строит цепочку доверия Метка времени связывает доказательства с доверенным моментом Долговременный формат помогает сохранить всё это для будущей проверки

Кнопка «Подписать» осталась такой же маленькой.

Просто теперь мы знаем, сколько математики, инфраструктуры и доверия помещается за ней.