Есть ли способ подписать документы цифровой подписью, чтобы доказать, что они существовали в определенный момент времени?

Мне любопытно, есть ли способ цифровой подписи документов (технически любых данных), таких как контракты или фотографии, чтобы через 10 лет можно было доказать, что они сделаны с этого времени, а не подделаны через 9 лет. .

Например, я мог бы написать прогноз на будущее и подписать его обычными средствами, чтобы доказать, что я его написал, а затем поставить отметку времени, чтобы, когда оно сбудется, я смог доказать, что я его предсказал.

Один из способов, который я придумал, - это то, что может существовать орган, устанавливающий временные метки. Вы отправляете им данные, они создают хэш данных + метку времени и шифруют хеш с помощью RSA, используя свой закрытый ключ. Таким образом, подписанный документ состоит из: данных, отметки времени, зашифрованного хэша.

Через 10 лет я хеширую данные + предполагаемую временную метку и проверяю, совпадает ли она с зашифрованным хешем, который я расшифровываю с помощью открытого ключа RSA органа (которому я доверяю). Если это так, я знаю, что метка времени действительна.

Однако я вижу две проблемы:

  • Требуется внешний авторитет
  • Закрытый ключ органа власти необходимо держать в строжайшей тайне, поскольку в случае его раскрытия все подписанные им документы становятся недействительными.

Можете ли вы придумать решение без (одной из) этих проблем?


person Bart van Heukelom    schedule 17.07.2011    source источник
comment
Взгляните на любую подписанную DLL Windows. Большинство из них подписано продавцом и подписано органом, устанавливающим временные метки. Таким образом, когда срок действия сертификата поставщика истечет, вы все равно сможете проверить, был ли сертификат действительным на момент подписания DLL.   -  person President James K. Polk    schedule 18.07.2011
comment
Вот децентрализованная служба анонимных отметок времени, которая использует цепочку блоков биткойнов: proofofexistence.com - отказ от ответственности: я создал службу   -  person Manuel Araoz    schedule 30.11.2014


Ответы (11)


Это называется отметкой времени. Наиболее широко используемый механизм определен в спецификации TSP (RFC 3161) и некоторых других. Альтернативный метод используется в MS Authenticode, но он не документирован и несовместим с TSP.

TSP используется в качестве дополнительной функции в нескольких стандартах шифрования и цифровой подписи, таких как PDF, XAdES, CAdES, PAdES (AdES означает «Расширенный стандарт шифрования»). Стандарты PDF, XAdES и PAdES применяются к определенным типам данных. CAdES - универсальный формат (так как его можно применять для любых общих данных).

RFC 5544 предлагает способ применения TSP к любым общим данным без подписи этих данных.

Спецификация TSP широко использует сертификаты PKI и X.509.

Услуги по установке временных меток предоставляются центрами сертификации в качестве дополнительной услуги. Также существуют независимые службы отметок времени.

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

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

Идея о стороннем авторитете заключается в том, что он удостоверяет время. Если вы подписываете данные, вы можете поставить подпись в любое время, и нет возможности проверить, правильна ли она или вы ее подделали. Только доверенный сторонний орган может быть доказательством правильности метки времени.

person Eugene Mayevski 'Callback    schedule 17.07.2011
comment
Есть ли причина, по которой они используют постоянный закрытый ключ, который должен храниться в секрете? Кажется, что было бы идеально использовать новый закрытый ключ каждый час (или каждую минуту), хранить его только в энергозависимой памяти и публиковать полный список открытых ключей, но надежно удалять закрытые ключи. Таким образом, отсутствие хранения закрытого ключа будет более надежным доказательством того, когда была подписана подпись. - person R.. GitHub STOP HELPING ICE; 14.06.2014
comment
Срок действия сертификатов @R .. TSA действительно истекает, но проблема в том, что после истечения срока действия сертификата истекает и временная метка. Что касается уничтожения закрытых ключей и создания новых сертификатов - может быть, некоторые TSA делают именно это, кто знает. Я не припомню в стандартах никаких положений, которые бы препятствовали такому подходу. - person Eugene Mayevski 'Callback; 14.06.2014
comment
Я не говорил об истечении срока действия сертификатов. Я говорил об использовании сертификата, срок действия которого не истекает, но для которого закрытый ключ никогда не сохраняется и перестает существовать по истечении периода времени, в течение которого он использовался. - person R.. GitHub STOP HELPING ICE; 14.06.2014
comment
@R .. Истечение срока действия - единственный надежный способ гарантировать внешнему миру, что сертификат (и закрытый ключ) больше не используются. В описываемой вами схеме разрушение закрытого ключа не может быть гарантировано. Это будет лишь претензия держателя ключей, которая не может быть доказана. - person Eugene Mayevski 'Callback; 14.06.2014
comment
Истечение срока действия не гарантирует, что они больше не будут использоваться. Например, если у меня есть копия закрытого ключа, я могу сгенерировать поддельную подпись, используя ее, которая была действительна на момент метки времени. Если вы хотите игнорировать / не доверять таким подписям на основе ключей с истекшим сроком действия, тогда вы сделаете метки времени бесполезными. - person R.. GitHub STOP HELPING ICE; 15.06.2014
comment
@R .. Вы упускаете из виду. Когда срок действия сертификата с меткой времени истекает, метке времени больше нельзя доверять. Поэтому, если вы используете ключ для подделки подписи с меткой времени, вашей подписи не будут доверять. Это действительно проблема для целей долгосрочного архивирования, но так работает PKI. - person Eugene Mayevski 'Callback; 15.06.2014
comment
@ R..GitHubSTOPHELPINGICE Если вы не используете постоянный закрытый ключ, вам нужно как-то продолжить публикацию ваших открытых ключей. Как бы ты это сделал? Вы можете опубликовать их на веб-сайте HTTPS, и тогда вам понадобится закрытый ключ для этого сертификата HTTPS, и мы вернулись к исходной точке, верно? - person David Callanan; 27.02.2021

Да, вы можете сделать это с помощью ProofOfExistence.com, который помещает хэш вашего документа в Биткойн блокчейн.

(см. это)

person Geremia    schedule 07.05.2017

Да, есть коммерческие службы, которые надежно ставят метки времени для документов или программного обеспечения.

В Википедии есть статья, объясняющая это. Google быстро обнаружил одну такую ​​услугу (я не аффилирован), я уверен, что их гораздо больше. Раньше был и бесплатный, но все это вопрос доверия (т.е. доверят ли суды «кому-то в Интернете» или VeriSign).

person Omri Barel    schedule 17.07.2011

Вот служба меток времени, которая непрерывно работает с 1995 года.

http://www.itconsult.co.uk/stamper/stampinf.htm

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

person Nate Eldredge    schedule 02.05.2014

Раньше я бы сказал «поиск PublicTimeStamp.org», но это было несколько неоднозначное прошлое. Кажется, он все еще работает, но веб-сайт почти не работает. Если вы перешли на http://PublicTimeStamp.org/ptb, вы найдете последние значения (сегодня). Но другие части системы не видны.

person Jonathan Leffler    schedule 17.07.2011

RFC3161 - не единственный способ надежной привязки времени.

Текущая область исследований - разработка схем, в которых нужно меньше доверять стороннему органу, выпускающему временные метки. При использовании меток времени на основе RFC3161 от вас более или менее требуется полностью доверять авторитету. В этой презентации представлен обзор альтернатив, большинство из которых основано на схемах связывания. Идея весьма привлекательна, поскольку временные метки будут находиться под контролем общественности и не будет задействован секретный ключ, который, возможно, мог бы просочиться, тем самым обеспечивая лучшую безопасность, чем сегодняшние стандартные временные метки RFC 3161.

person emboss    schedule 18.07.2011

Посетите easytimestamping.com. Метки времени (на основе RFC3161) выпускаются квалифицированным центром сертификации, аккредитованным в Европейском союзе, поэтому в большинстве стран ЕС метка времени имеет гарантированную юридическую силу.

Закрытый ключ органа власти необходимо держать в строжайшей тайне, поскольку в случае его раскрытия все подписанные им документы становятся недействительными.

Квалифицированные центры сертификации сертифицированы на соответствие (по крайней мере) стандарту ETSI TS 102 023, который налагает различные физические и программные меры безопасности для гарантии защиты закрытого ключа.

PS: я связан с easytimestamping.com

person mrucci    schedule 30.08.2011
comment
Я не говорю, что ваш сайт сомнительный, но и там, и на securo.it трудно найти, какой квалифицированный центр сертификации, аккредитованный в ЕС, вы используете. Почему? - person Bart van Heukelom; 31.08.2011
comment
Мы не говорим это просто потому, что это не имеет значения. По крайней мере, в Италии, пока CA находится в доверенном список аккредитованных ЦС выданная временная метка имеет такую ​​же юридическую силу. То же должно быть и в других странах ЕС для обеспечения функциональной совместимости, как того требует директива ЕС по цифровым подписям (1999/93 / EC). В любом случае, мы ничего не скрываем, просто примените метку времени и узнайте! - person mrucci; 31.08.2011
comment
Что ж, если вам было любопытно, другие тоже. Поэтому я добавил имя нашего текущего квалифицированного поставщика CA сюда. Спасибо за ответ :) - person mrucci; 31.08.2011

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

person Jeremy Holovacs    schedule 17.07.2011
comment
Мне просто любопытно, у меня нет реального варианта использования. - person Bart van Heukelom; 18.07.2011

Раньше люди не открывали документы, отправленные заказным письмом, и называли это "авторским правом бедняков". Я полагаю, вы могли бы сделать то же самое с любым крупным уважаемым почтовым сайтом. Отправьте себе копию документа через Gmail или Hotmail или что-то еще, и сохраните копию в своей учетной записи - дата / отметка времени в электронном письме должны исходить от поставщика услуг (а не с вашего компьютера), так что это будет довольно веским доказательством Я представляю себе.

person Andrew Furdell    schedule 17.07.2011
comment
Уловка по почте сама себе - вот что заставило меня задуматься над этим вопросом :) - person Bart van Heukelom; 18.07.2011
comment
Мне действительно приходит в голову, что если, например, вы пытались выиграть вызов JREF на миллион долларов, делая прогнозы, они указали бы, что вы могли бы просто сделать миллион прогнозов и показать им только те, которые оказались верными. Не уверен, есть ли способ обойти это. - person Andrew Furdell; 18.07.2011
comment
-1 Метод не работал тогда, и ваш метод электронной почты не работает сегодня (если вы не хотите, чтобы кто-то мог войти в свою электронную почту). И то, и другое легко подделать. - person Quora Feans; 31.07.2015
comment
@QuoraFeans Я не могу говорить о физической почте, но электронная почта должна иметь заголовки DKIM и SPF, подтверждающие ее подлинность. Вы можете отправить людям необработанную копию сообщения электронной почты позже, включая заголовки аутентификации, не позволяя им получить доступ к вашей учетной записи электронной почты. - person Brian Drake; 15.11.2020

Если вы не ищете что-то действительно долгое:

Зашифруйте документ и отправьте его в одну из двоичных групп Usenet. Любой может проверить заголовки и узнать, когда он был получен, вы можете расшифровать файл (или предоставить ключ, в зависимости от обстоятельств) и доказать, что это действительно данные, о которых идет речь.

Поскольку вы не контролируете файл после того, как он был опубликован, такие игры, как раскрытие только сработавшего прогноза, невозможны.

person Loren Pechtel    schedule 14.06.2014

Можно использовать службу отметок времени, совместимую с RFC 3161, это стандарт и должен предоставить достаточно доказательств того, что конкретный документ существовал в определенное время. Лучшей идеей было бы преобразовать документ в PDF, а затем поставить цифровую подпись и поставить метку времени, в PDF-файле любой может четко видеть метку времени и другие свойства подписи или метки времени. Проверьте tecxoft tsa, вы также можете протестировать цифровые подписи pdf здесь.

person Swen    schedule 31.01.2016