Как безопасно подписать данные с помощью отметки времени?

Я хотел бы подписать записи в базе данных с безопасной отметкой времени, чтобы доказать, что они не были изменены кем-либо после этой даты.

Какие методы или протоколы я должен рассмотреть? RFC 3161? Большинство веб-сайтов, которые я нашел, которые предоставляют эту услугу, на самом деле не выглядят мне очень уважаемыми.

Можно ли накатить свой?

2 ответа

Решение

Если вы ищете работающий сервер RFC3161, то http://time.certum.pl/ был тем, который я знал и был рядом.

Если вы ищете более масштабное решение, которое не зависит от единственного секретного блока с отметками времени (в основном это что-то, что хорошо масштабируется), взгляните на http://www.guardtime.com/

Технически, отметка времени - это отметка времени UNIX:) Но свойства, которые вы, похоже, назначаете отметке времени, - это хеш и "подпись" (возможность проверить, что утверждение, что определенный хеш существовал в определенное время).

Все, что связано с "доверием", - это то, что вы можете использовать самостоятельно. Точно так же, как вы можете развернуть свой собственный CA, так же, как вы можете развернуть свой собственный стандартизированный сервис или придумать свою собственную схему. Но убедить другие стороны "доверять" тому, что вы сами сделали, может быть хитрее.

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

Простой способ - добавить значения, которые вы хотите, чтобы убедиться, что они не изменены, добавить к нему соль, а затем все md5 и сохранить хэш md5.

Так что если у вас есть таблица со столбцами: Имя пользователя, Имя, Фамилия, Хэш

Вы делаете md5(Имя пользователя + Имя + Фамилия +"MySuperSecretSalt") и сохраняете значение в Hash.

Но я должен сказать, это звучит как странная вещь.

Другие вопросы по тегам