Это старая редакция страницы Черновики / Статьи / Сервисметоквремени / Формат Метки Времени за 23/12/2007 09:00.
Формат метки времени
Не хотелось бы изобретать велосипед, но видимо придется. Прошу высказаться по теме. Далее следует набросок требующий доработки.
Введение
Сертификат авторства – это сертификат, выдаваемый сервисом меток времени.
С помощью такого сертификата можно проверить время сертификации информации и клиента *, подавшего заявку.
«Сертификаты авторства» образуют цепочку меток времени, в которой каждый последующий сертификат содержит доказательство, что выдан именно после предыдущего.
Структура сертификата
Физически «Сертификат авторства» представляет из себя файл XML, следующей структуры:
<?xml version="1.0" encoding="utf-8" ?> <timestampcert> <service> <name>?мя сервиса</name> <url>Сетевой адрес</url> <publickey>Открытый ключ</publickey> </service> <author> <name>?мя автора</name> <publickey>Открытый ключ</publickey> <producthash>Хэш информации</producthash> <author> <timestamp> <number>Номер по порядку</number> <time>Время выдачи сертификата<time> <previoushash>Хэш предыдущей метки<previoushash> </timestamp> <signature> подпись на секретном ключе сервиса </signature> </timestampcert>
Вычисление подписи
signature – подпись (содержимое узла <signature>),
S_name – имя сервера,
S_url – сетевой адрес сервиса,
Serv_Kp – открытый ключ сервиса,
Serv_Ks – закрытый ключ сервиса,
EServ_Ks (...) – шифрование закрытым ключом сервиса,
hash(…) – подсчет хэша sha1 (или другая стойкая хэш-функция),
C_name – имя клиента,
С_ Kp – открытый ключ клиента,
product – байты сертифицируемой информации,
time – время сертификации,
t_number – номер метки времени по порядку,
t_previous – хэш предыдущей метки времени.
signature = EServ_Ks[hash(S_name + S_url + Serv_Kp + C_name + С_ Kp + hash(product) + time + t_number + t_previous)]
Вычисление хэша предыдущей метки
Для первого выданного сертификата, это значение следует приравнять к нулю.
Для всех последующих сертификатов следует хэшировать значение узла
<signature> предыдущего сертификата.
* Клиент — автор художественного материала, нуждающийся в доказательстве авторства, лицо или система, требующие точного заверенного времени для последующего аудита.