Доверенная временная метка

Доверенная временна́я метка — процесс надёжного отслеживания времени создания и изменения документа. Надёжность подразумевает, что никто (включая владельца) не сможет внести изменение во временную метку после её создания при условии, что целостность метки не будет нарушена.

Административные требования к реализации включают развертывание общедоступной инфраструктуры управления надёжными временными метками для сбора, обработки и обновления меток.

История 
Идея временной маркировки имеет многовековую историю. К примеру, когда Роберт Гук открыл закон Гука в 1660 году, он не хотел сразу же публиковать её, но при этом желал сохранить право на авторство. Тогда он опубликовал анаграмму ceiiinosssttuv и позднее опубликовал её расшифровку ut tensio sic vis (лат.: «как растяжение, так и сила»). Аналогично, Галилей впервые опубликовал своё исследование фаз Венеры в виде анаграммы.
Исаак Ньютон, отвечая на вопрос Лейбница в письме 1677 года, скрыл детали своей «флюкционной техники» в виде анаграммы.

Классификация 
Существует ряд схем временной маркировки с различными задачами:
 Метка на основе PKI — временные метки, защищённые цифровой подписью с открытым ключом.
 Связная временная метка — метка, сгенерированная на основе других временных меток.
 Распределенные схемы — метки, созданные совместной работой множества сторон.
 Схемы с переходящим ключом — подвид PKI с кратковременными ключами подписи.
 Имитовставка — простая схема на основе секретного ключа, разработанная в ANSI ASC X9.95 Standard.
 База данных — схема, при котором хэши документов хранятся в надёжном доверенном архиве.
 Гибридные схемы — схемы, в которых преобладают методы связывания и подписи (см. X9.95)

Удовлетворение требованиям стандартов отражены в следующей таблице:

Доверенная цифровая подпись 
Согласно стандарту RFC 3161, доверенная цифровая метка выпускается доверенным третьим лицом (англ.: Trusted Third Party(TTP)), выступающим в качестве уполномоченного по выпуску временных меток (англ.: Time Stamping Authority (TSA)). Цифровая метка используется для доказательства существования определённых данных (контрактов, исследований, медицинских записей и т. д.) в какой-либо определённый момент времени без возможности для владельца создать метку задним числом. Множество доверенных третьих лиц может повысить надёжность и снизить уязвимость схемы.

Новый стандарт ANSI ASC X9.95 Standard для доверенной временной маркировки расширяет стандарт RFC 3161 требованием обеспечения целостности данных в отношении надёжности источника времени, которые могут быть проверены любой третьей стороной. Этот стандарт был принят для аутентификации данных с цифровой подписью для соблюдения нормативных актов, финансовых транзакций и юридических документов.

Создание временной метки на основе PKI 

Создание метки основано на технологиях цифровой подписи алгоритмами шифрования с открытым ключом и кэширования. В первую очередь, клиент вычисляет хэш документа/данных и полученное значение посылается в TSA. TSA добавляет к хэшу таймкод текущего момента времени и хэширует получившийся массив данных. Этот хэш затем шифруется закрытым ключом. Итоговая цифровая подпись в совокупности с таймкодом образуют сертификат, который возвращается клиенту и прикрепляется к документу в качестве временной метки.

Таким образом, полученная временная метка:
 гарантирует подлинность того, что была создана определённым TSA благодаря цифровой подписи асимметричным шифром.
 в случае надёжности TSA, гарантирует подлинность того, что документ существовал в определённый (указанный в таймкоде) момент времени.

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

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

Связные временные метки 
Другое семейство технологий создания временной метки — связные временные метки. Суть этой технологии заключается в том, что для вычислении хэша блока к нему добавляется хэш предыдущего и текущий момент времени (согласно времени UNIX систем). Таким образом, для внесения изменения в таймкод блока, необходимо внести изменения во все нижестоящие блоки, что по вычислительным затратам соразмерно с вычислением самой сети.
Также тот факт, что сеть блокчейна публична, позволяет любому участнику проверить подлинность временной метки.

Для примера, в 2017 году Питер Тодд объединил 750 миллионов хэшей файлов из интернета и объединил их в дерево хэшей, после чего поместил корень дерева в Bitcoin транзакцию.   Корень дерева был «законсервирован» в платёжной системе Bitcoin с фиксацией времени создания, вследствие чего изменить его не представляется возможным, что является гарантом существования любого из 750 миллионов файлов в момент создания блока.

Технология связной временной метки активно используется при создании криптовалют: вместо номера блока используется время её создания согласно UNIX системам (т.е. в секундах начиная с 1 января 1970 года).

Примечания

Ссылки 
 RFC 3161 Internet X.509 Public Key Infrastructure Time Stamp Protocol (TSP)
 RFC 3628 Policy Requirements for Time-Stamping Authorities (TSAs)
 Decentralized Trusted Timestamping (DTT) using the Crypto Currency Bitcoin
 ANSI ASC X9.95 Standard for Trusted Time Stamps
 ETSI TS 101 861 V1.4.1 Electronic Signatures and Infrastructures (ESI); Time stamping profile
 ETSI TS 102 023 V1.2.2 Electronic Signatures and Infrastructures (ESI); Policy requirements for time-stamping authorities
 Analysis of a Secure Time Stamp Device (2001) SANS Institute
 Implementation of TSP Protocol CMSC 681 Project Report, Youyong Zou

Компьютерная безопасность
Аутентификация