Документ, подписанный и проставленный локально, а затем загруженный на сервер, имеет ли он такие же характеристики?

Представьте себе веб-приложение, которое позволяет вам ставить цифровую подпись (с персональными цифровыми сертификатами pkcs12, выпущенными доверенными центрами сертификации) и отмечать время PDF-документов с помощью апплета Java или Active X. Очевидно, что это должно происходить на компьютере пользователя, поскольку закрытый ключ сертификата хранится локально.

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

Я немного смущен этим.

Исправление: я имею в виду цифровую подпись документа с закрытым ключом личного цифрового сертификата (должен быть pkcs7, pkcs12), чтобы убедиться, что он действительно был подписан кем-то, а не кем-то другим.


person nemesisdesign    schedule 04.11.2011    source источник
comment
Юридический вопрос, безусловно, зависит от законов вашей юрисдикции. И я не уверен, что это хорошая тема, чтобы спрашивать здесь.   -  person Paŭlo Ebermann    schedule 04.11.2011
comment
Дело не только в юридической силе: имеет ли загруженный файл те же характеристики, что и файл, созданный локально? и есть ли смысл говорить об оригинальной версии файла? вопросы, которые меня больше интересуют, отредактирую заголовок.   -  person nemesisdesign    schedule 04.11.2011
comment
@nemesisdesign Будет ли загруженный документ считаться оригиналом для юридических целей, зависит от местного законодательства. Вам следует проконсультироваться с юристом: Stack Exchange не заменяет юридическую консультацию, подобную этой.   -  person    schedule 04.11.2011
comment
заголовок отредактирован. Вопрос сейчас не в юридической силе. Пожалуйста, предложите что-нибудь, если вы знаете ответ.   -  person nemesisdesign    schedule 04.11.2011
comment
@nemesisdesign, считается ли что-то исходным файлом, полностью зависит от контекста. Вы можете скрыть тот факт, что у вас есть юридическая мотивация, но вы просите людей интерпретировать это слово без какой-либо системы отсчета. Это совершенно неопровержимо.   -  person    schedule 04.11.2011
comment
эй, я просто пытаюсь кое-что понять, потому что информация по его теме сложна, не то чтобы у меня проблемы с законом, я просто ищу предложения по теме, в которой я не эксперт, поэтому я здесь в первую очередь , если мой вопрос не ясен, извините, я его поправлю, я не думаю, что на него нельзя ответить.   -  person nemesisdesign    schedule 04.11.2011
comment
Вы можете спросить, будет ли файл, подписанный таким образом, выглядеть так, как если бы он выглядел подписанным другим способом, но на него нельзя ответить, поскольку вы не указываете, как вы подписываете его в обоих случаях.   -  person Paŭlo Ebermann    schedule 04.11.2011
comment
хорошо, позвольте мне исправить вопрос: я имею в виду цифровую подпись документа с закрытым ключом личного цифрового сертификата (должен быть pkcs7, pkcs12), чтобы убедиться, что он действительно был подписан кем-то, а не кем-то другим.   -  person nemesisdesign    schedule 04.11.2011
comment
@nemesisdesign, если вам нужно исправить вопрос, под ним есть ссылка для редактирования, которая позволяет вам изменить или изменить вопрос в любой момент. Я бы добавил туда дополнительную информацию, чтобы новые посетители вашего вопроса могли ее увидеть :)   -  person    schedule 04.11.2011
comment
Вы можете сделать это, да. Но что вы на самом деле хотите знать?   -  person Paŭlo Ebermann    schedule 04.11.2011
comment
@Ninefingers спасибо, надеюсь, я сделал это правильно.   -  person nemesisdesign    schedule 04.11.2011
comment
@PaŭloEbermann Я хочу знать, подписываю ли я цифровую подпись и отмечаю время PDF-документа, а затем загружаю его куда-то еще, доказывает ли он, что он действительно был подписан мной в определенное время без каких-либо разумных сомнений?   -  person nemesisdesign    schedule 04.11.2011
comment
@PaŭloEbermann Я знаю, что это может звучать глупо, но кто-то, с кем я работаю, утверждает, что это нужно исследовать, поэтому я думаю, что первое место, с которого я бы начал искать, это здесь .. извините, если это была не лучшая идея, но предмет сложный   -  person nemesisdesign    schedule 04.11.2011


Ответы (2)


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

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

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

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

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

  • Создайте PDF на сервере
  • Создайте хэш документа (тот же алгоритм, который будет использоваться апплетом подписи)
  • Отправить PDF клиенту
  • Пусть клиент подпишет его и отправит обратно
  • Сравните хэш клиента с ранее вычисленным на сервере.
  • Подтвердить подпись

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

Что касается временных меток с использованием местных часов: они бесполезны, их очень легко обмануть. На самом деле вам следует использовать совместимые с RFC 3161 криптографически защищенные временные метки, третья сторона. В настоящее время это единственный надежный способ включить понятие времени в подписи PDF. Например, для этого есть встроенная поддержка в Adobe Reader. Поскольку эти услуги, как правило, не предоставляются бесплатно, имеет смысл добавить такую ​​метку времени на сервер после получения подписанного документа. Они добавляются как неподписанный атрибут к подписи CMS (Adobe по-прежнему говорит о PKCS7), поэтому он не нарушает подпись и может быть безопасно добавлен после создания подписи.

person emboss    schedule 06.11.2011

Хорошо, попробуем ответить на ваш вопрос (как я его понимаю).

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

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

Загрузка подписанного файла куда угодно здесь ничего не меняет.

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

О том, имеет ли это юридическое значение, вам придется спросить своего адвоката. Это может зависеть от

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

Если вы используете какой-либо апплет или элемент управления ActiveX в браузере пользователя, я не был бы полностью уверен, что последние два пункта действительно выполняются.

person Paŭlo Ebermann    schedule 04.11.2011