Алгоритм шифрования / аппаратные средства, которые могут подписывать / проверять естественное время? - PullRequest
2 голосов
/ 10 октября 2011

Итак, вот мой глупый вопрос:

PGP / GPGP может использоваться для подписи текста, другие используют открытый ключ для их проверки.

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

Есть ли какой-нибудь алгоритм, который может иметь дело с временем ?

например. Подпишите документ в 2011-10-10 10:10:10, другие могут проверить, действительно ли этот документ действительно подписан в 2011-10-10 10-10-10.

Я знаю, что, возможно, есть решения, основанные на общем надежном источнике времени, но возможно ли, что существует решение с алгоритмом pure ?

Или, может быть, какой-то удивительный аппаратный компонент может сделать это? (Например, период полураспада определенного известного материала и т. Д.)

Ответы [ 2 ]

4 голосов
/ 10 октября 2011

Это выходит за рамки криптографического алгоритма, потому что не существует такого понятия, как абсолютное время (и, если оно существует, нет способа измерить его изнутри компьютера). Для того, что вы запрашиваете, требуется доверенная третья сторона - это описывается в статье в Википедии Доверенная отметка времени . Другой подход аналогичен тому, который используется в биткойнах, где для последовательности событий создается распределенное соглашение; порядок событий определяется тем порядком, в котором они стали частью консенсуса. Это обеспечивает относительную меру времени как последовательности событий, а не время настенного часа.

2 голосов
/ 10 октября 2011

OpenPGP подписывает данные (не текстовые), как и любой другой механизм подписи. Данные не имеют особого значения, кроме тех, которые в них вкладывают люди. «3.1415926» может рассматриваться как значение числа Пи, выраженное в десятичных числах, или как соль рандомизатора, или как пароль к вашему домашнему компьютеру, который вы выбираете.

Следовательно, время - это просто какое-то большое число относительно начальной точки, согласованной людьми (например, 30 декабря 1899 года в OLE-времени). Вы можете подписать время так же, как подписали бы любые другие данные. Вопрос в том, где вы получаете значение. Как указал Ник Джонсон, вам нужен надежный источник времени. Это может быть какой-нибудь сервер NTP (тогда вам нужно подписать значение) или сервер TSP (он выдает подписанные значения, если вы доверяете этому).

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

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