1

Я разрабатываю веб-приложение, и я хотел бы сделать цифровой подписи определенного этапа в процессе.стратегия для цифровой подписи процесса?

То есть пользователь приложения выполняет определенное действие, и я хотел бы, чтобы это событие было с цифровой подписью.

Пользователь должен использовать и токен usb при выдаче действия для цифровой подписи.

Я хотел бы знать, какой подход вы рекомендуете делать.

Например: (? Как вы acomplish его)

знаковой запись базы данных (минусы: вы должны проверить его с самого, я думаю, приложения)

создать PDF с указанием события и пользователь и цифровая подпись в формате PDF (про: Ф не зависят от приложения) (? как acomplish там, где это цифровой знак хранится)

создать и подписать и XML Documento

любых другой? ??

Saludos

SAS

ответ

0

Есть хорошие introductions в Public Key Cryptography, что вы должны прочитать и понять, до даже начала думать о реализации.

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

1

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

Вы получаете подписанную запись базы данных (подписанную строку и т. Д.), Подписанный документ PDF или XML.

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

Для библиотеки, чтобы сделать подписание, вы можете использовать AES, здесь вы идете с внедренной библиотекой различного языка: http://en.wikipedia.org/wiki/AES_implementations

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

2

В настоящее время я работаю над проектом, который имеет почти те же требования, что и в вашем вопросе.

Мы используем устройство USB для генерации подписей. Устройство принадлежит компании IronKey, она чрезвычайно безопасна и соответствует многим стандартам безопасности. Устройство имеет пару сгенерированных аппаратными средствами, которые могут использоваться для подписи и проверки.

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

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

Надеюсь, что это поможет, я пропустил много деталей, если у вас есть другие вопросы, дайте мне знать!

+0

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

+0

@opensas: Наши данные, включая подпись, хранятся в локальной клиентской базе данных в виде XML-документа, не имеющего ничего общего с документами PDF. Наше приложение также создает PDF-документы из клиентских данных, это не подписывается, мы используем iTextSharp для создания pdf-документов, их можно подписать с помощью программного обеспечения Bouncy Castle API. –

Смежные вопросы