Как в цифровой форме "подписать" документ - PullRequest
10 голосов
/ 08 октября 2008

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

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

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

Ответы [ 12 ]

6 голосов
/ 23 октября 2008

Существуют правовые нормы, определяющие, что можно квалифицировать как цифровую подпись (электронная подпись или «электронная подпись»). В США существует закон под названием «Единый закон об электронных транзакциях» (UETA), описывающий, как цифровая подпись определяется и используется в правовом контексте.

В основном могут быть задействованы следующие компоненты:

  1. Электронный документ, представляющий форму с юридическими обязательствами при подписании.
  2. Цифровой сигнал (изображение, звук и т. Д.), Применяемый дополнительно к вышеуказанному документу и служащий в качестве подписи, то есть юридически принятого доказательства утверждения документа. (Самый простой пример - применение прозрачного изображения рукописной подписи человека в документе PDF.)
  3. Цифровая пара ключей сертификата (с проверкой утвержденными центрами сертификации) для «вскрытия» документа. Используя закрытый ключ для «подписи» документа, правоохранительные органы могут использовать открытый ключ для проверки целостности документа.
  4. Система "хранилища" для хранения запечатанного документа для последующих юридических запросов.

Можно утверждать, что не все шаги необходимы; однако в некоторых отраслях этапы 3 и 4 требуются законодательными актами, поскольку они предназначены для предотвращения подделки или подделки. В результате, шаг 3, скорее всего, выполняется нотариусом или вместе с ним, а иногда и вместе с шагом 2.

Для шагов 2 и 3 API и примеры доступны в Интернете. API Adobe PDF может работать с обоими шагами, а некоторые компоненты с открытым исходным кодом могут работать с отдельными шагами. Один из таких примеров использования компонента с открытым исходным кодом, iTextSharp, находится в CodeProject: Электронная подпись документов PDF с помощью iTextSharp . Для получения дополнительной информации об электронной подписи в целом, пожалуйста, смотрите на странице Википедии Электронная подпись .

2 голосов
/ 08 октября 2008

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

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

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

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

2 голосов
/ 08 октября 2008

Существует множество подходов, обсуждаемых в Прикладной криптографии Шнайера .

Многое из того, что вы ищете, сводится к алгоритму цифровой подписи (DSA), который есть у NIST, могут обеспечить алгоритмы асимметричного шифрования и т. Д.

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

1 голос
/ 29 января 2011

Я согласен, я тоже не техничный человек, но для подписания документа с использованием электронной подписи на самом деле не нужно быть человеком "технологичным". Я загрузил программное обеспечение от одного из авторизованных поставщиков цифровых подписей Adobe и прочитал руководство, в котором кратко сказано ... что юридически обязательная цифровая подпись должна иметь юридически обязательный идентификатор сертификата. Официальные поставщики упоминаются на сайте IBM, Misrosoft и Adobe (а также на сайтах других поставщиков услуг). Я использовал один, который нашел на сайте Adobe, для цифровой подписи , чтобы подписать документ PDF . Например, используйте поставщика Microsoft (хотя, я думаю, тот, который я использовал, также поддерживает программное обеспечение MS).

1 голос
/ 09 октября 2008

Теперь, когда вы уточнили, что вам нужно, я думаю, что лучшим решением будет:

  1. Сделать сайт
  2. Дайте людям уникальные логины с паролями
  3. Разрешить им просматривать документы
  4. Имейте форму, где они отмечают флажок "Я согласен на то-то и то-то"

Возможно, вы также захотите включить идею "групп", чтобы вы могли выставить определенные документы только в "Отдел доставки Акме" и разрешить любому члену этой группы подписать эти документы.

0 голосов
/ 07 ноября 2009

Когда я искал систему для этого, я только что нашел docshaker.com в killerstartups. Это в значительной степени позволяет вам делать, как вы только что описали Neall.

0 голосов
/ 08 октября 2008

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

0 голосов
/ 08 октября 2008

Одна вещь, которую мы изучали, это использование маленькой сенсорной панели на ноутбуках для получения подписей клиентов. Когда вы думаете об этом, это не сильно отличается от той мелочи, которую вы используете для подписи на поставки UPS. Мы нашли несколько API-интерфейсов без особых усилий.

0 голосов
/ 08 октября 2008

Вопрос, который вам нужно задать, заключается в том, «какой цели служит физическая подпись?» «Цифровая подпись» служит другим целям, чем физическая. А физическая подпись теряет почти все свое значение в отсканированном документе.

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

0 голосов
/ 08 октября 2008

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

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