id: Гость   вход   регистрация
текущее время 09:15 29/03/2024
Владелец: Alex_B редакция от 23/12/2007 09:00 (автор: serzh) Печать
Категории: инфобезопасность, политика, разное
создать
просмотр
редакции
ссылки

Это старая редакция страницы Черновики / Статьи / Сервисметоквремени / Формат Метки Времени за 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> предыдущего сертификата.



* Клиент — автор художественного материала, нуждающийся в доказательстве авторства, лицо или система, требующие точного заверенного времени для последующего аудита.