Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Наши способы организации безопасного удалённого доступа к рабочим местам и корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Табаков Матвей Сергеевич  
#1 Оставлено : 1 сентября 2019 г. 1:04:42(UTC)
Табаков Матвей Сергеевич

Статус: Новичок

Группы: Участники
Зарегистрирован: 24.07.2019(UTC)
Сообщений: 3

Сказал(а) «Спасибо»: 2 раз
Уважаемые форумчане и специалисты в области криптографии, ЭЦП.

Суть задачи: имеется CRM на языке PHP + mysql, нам необходимо внедрить авторизацию через ЭЦП, также чтобы при помощи ЭЦП можно было подписывать документы внутри CRM системы.

Проблема: не можем найти понятное решение и специалиста по оказанию данной услуги.

Если на форуме имеются специалисты кто может оказать услуги по данной задаче пишите готовы обсуждать детали:
Skype: live:6665747a243dbe26
Offline Табаков Матвей Сергеевич  
#2 Оставлено : 1 сентября 2019 г. 1:05:38(UTC)
Табаков Матвей Сергеевич

Статус: Новичок

Группы: Участники
Зарегистрирован: 24.07.2019(UTC)
Сообщений: 3

Сказал(а) «Спасибо»: 2 раз
Всегда открыты для обсуждения деталей задачи.
Offline Санчир Момолдаев  
#3 Оставлено : 1 сентября 2019 г. 8:46:09(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 435
Российская Федерация

Сказал(а) «Спасибо»: 51 раз
Поблагодарили: 64 раз в 63 постах
Добрый день!
для подписания используя сертификаты по ГОСТу в php предлагаю рассмотреть вариант использования phpcades (для php7 необходимо пропатчить исходники phpcades)
для аутентификации используя ГОСТовые сертификаты можно использовать stunnel https://www.cryptopro.ru/products/other/stunnel
или проксировать с помощью nginx и openssl

Отредактировано пользователем 1 сентября 2019 г. 8:54:12(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
Табаков Матвей Сергеевич оставлено 14.02.2020(UTC)
Offline two_oceans  
#4 Оставлено : 2 сентября 2019 г. 7:12:18(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,068
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 70 раз
Поблагодарили: 242 раз в 227 постах
Аутентификация через TLS - прекрасное решение, вот только половина стуннелов и подобных программ не сообщает вообще ничего о сертификате клиента прикладному приложению расположенному за туннелем.

Наверно надо уточнить - подписание или проверка будет на клиентских местах или на сервере? Если на сервере, то действительно phpCades самое очевидное решение. А если на клиентском месте, то проще через браузер плагин. Схему описывали в недавней теме, повторю своими словами:
Авторизация без механизма TLS (по сути в TLS примерно то же и куча переговоров о настройках):
1) сервер посылает уникальную строку (гуид, например) на странице клиенту и запоминает строку для конкретного клиента/сессии;
2) клиент подписывает строку плагином, оправляет серверу (детали могут быть всякие от голого значения подписи + сертификата в заголовках HTTP до обрамления строки в xml и подписания xmldsig);
3) сервер cверяет подписанную строку с запомненной для этого клиента/сессии, если верно - проверяет подпись, если подпись математически верна - проверяет сертификат, если сертификат действителен, то по отпечатку сертификата в БД находит пользователя и отправляет допустим сессионную куку пользователю для опознавания пользователя в пределах сессии. Если что-то пошло не так выдает пользователю ошибку и предложение попробовать еще раз. Для проверки в принципе тоже понадобится phpCades и криптопровайдер.

Подписание на клиентской стороне:
1) клиент через плагин вычисляет и подписывает хэш документа, потом каким-то образом отправляет серверу и подпись и документ (вариантов подписать документ или всю форму множество: например можно сформировать их формы xml, подписать xmldsig и отправить по MTOM - это минимально отличается от обычной загрузки файла. Другой вариант подписать документ в программе вроде криптоарма и загрузить документ и подпись одной операцией);
2) сервер проверяет подпись и сохраняет документ; можно потребовать что бы подпись документа была сделана тем же человеком, под которым произведен вход либо сертификатом с тем же огрн либо тем же сертификатом, которым произведен вход.

Подписание смешанное (документ создан на сервере или уже загружен на сервер без подписи):
1) сервер считает хэш документа и отправляет клиенту;
2) (клиент проверяет хэш по локальной копии документа, выводит документ на просмотр - этот шаг часто пропускают если документ большой)
клиент через плагин подписывает хэш, отправляет серверу голое значение подписи или собранную подпись;
3) сервер проверяет полученное (если пришло только значение, то собирает готовую подпись) и сохраняет подпись; можно потребовать что бы подпись документа была сделана тем же человеком/огрн/сертификатом.

thanks 1 пользователь поблагодарил two_oceans за этот пост.
Табаков Матвей Сергеевич оставлено 14.02.2020(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.