Какой лучший способ для пользователя подписать / пометить данные с помощью своего закрытого ключа?

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

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

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

Существует ли шаблон для подписывания / отметки времени в Интернете и, в частности, в веб-приложении? Как это можно реализовать?

1 ответ

Решение

Итак, у вас есть сервер и пользователи. Пользователи выполняют цифровую подпись данных в своих системах. Отметка времени выполняется вместе с подписью (это подтверждает время подписания). Отметка времени выполняется доверенным сторонним TSA (Органы отметки времени). Код, который будет выполнять подпись, свяжется с TSA (обычно с использованием протокола HTTP или HTTPS), и отметка времени будет выполняться таким образом. Сертификат TSA включен в метку времени, чтобы его можно было проверить позже.

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

Наша компания предлагает готовое решение для этого, и я подробно описал его в этом ответе.

Конечно, вы можете позволить пользователю загрузить документ и подписать его с помощью материалов Acrobat или другого клиентского приложения, а затем загрузить документ обратно. Если вы решите написать такое приложение самостоятельно, вам понадобятся компоненты для подписи, например. IText или наш SecureBlackbox.

Другие вопросы по тегам