Ключевое слово в защите информации
ключевое слово
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

4 Страницы123>»
Опции
К последнему сообщению К первому непрочитанному
Offline dizel3d  
#1 Оставлено : 27 октября 2015 г. 23:14:01(UTC)
dizel3d

Статус: Участник

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

Сказал(а) «Спасибо»: 8 раз
Зачем вы до сих пор пишите плагины к браузерам? Возможно это было единственным решением 10 лет назад. Но сейчас гораздо проще и дешевле написать единственный HTTP-сервис, чем поддерживать множество постепенно отсыревающих плагинов.

Основные положения по HTTP-сервису:
1. Висит исключительно на одном из портов localhost (например, на порту 3999), т.е. НЕдоступен из сети.
2. Предоставляет доступ к КриптоПро ЭЦП SDK посредством HTTP-запросов. Например, отправив POST с файлом на http://localhost:3999/api/csp/sign?key=myKeyId, сервис подпишет его ключом myKeyId и вернет подпись в бинарном виде (application\octet-stream).
3. Хостит внутри себя сайт для настройки КриптоПро (http://localhost:3999/index.html). С его помощью, например, можно настроить CORS, т.е. список сайтов, которым доступен HTTP-сервис.

Стоит заметить, что такой HTTP-сервис не требует прав администратора, и настроек файервола.
Распространять сервис можно в виде локальной службы Windows.
От браузеров требуется лишь возможность выполнять AJAX-запросы из JavaScript. А это могут делать все, даже мертвый IE8. И никаких посторонних объектов в JS API, все чисто, надежно, красиво.
Offline lab  
#2 Оставлено : 28 октября 2015 г. 13:36:03(UTC)
lab

Статус: Активный участник

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

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 4 раз в 4 постах
Автор: dizel3d Перейти к цитате
проще и дешевле написать единственный HTTP-сервис, чем поддерживать множество постепенно отсыревающих плагинов.

были (звучали) такие мысли; основные доводы против были такие, что написать качественный http-сервис (сервер) не так просто, по крайней мере прикладные программисты не решились.


Offline Андрей Писарев  
#3 Оставлено : 28 октября 2015 г. 13:48:07(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 14,211
Мужчина
Российская Федерация

Сказал «Спасибо»: 622 раз
Поблагодарили: 2399 раз в 1888 постах
Автор: lab Перейти к цитате
Автор: dizel3d Перейти к цитате
проще и дешевле написать единственный HTTP-сервис, чем поддерживать множество постепенно отсыревающих плагинов.

были (звучали) такие мысли; основные доводы против были такие, что написать качественный http-сервис (сервер) не так просто, по крайней мере прикладные программисты не решились.




lab,
а Вы какую организацию предоставляете?



Мы выбрали путь - локальный http-сервис для криптографии и https-обмена с серверами.
(но даже не в виде службы, а простого клиентского приложения, с настройкой из области уведомлений).
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
dizel3d оставлено 29.10.2015(UTC)
Offline dizel3d  
#4 Оставлено : 28 октября 2015 г. 14:53:01(UTC)
dizel3d

Статус: Участник

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

Сказал(а) «Спасибо»: 8 раз
Автор: lab Перейти к цитате
Автор: dizel3d Перейти к цитате
проще и дешевле написать единственный HTTP-сервис, чем поддерживать множество постепенно отсыревающих плагинов.

были (звучали) такие мысли; основные доводы против были такие, что написать качественный http-сервис (сервер) не так просто, по крайней мере прикладные программисты не решились.




Компания http://itglobal.ru/ работает в банковском секторе. У нас есть WEB-сайты, требующие применения Валидата CSP. Решений для браузеров у Валидаты нет. Поэтому мы написали свою инфраструктуру плагинов. На деле все они оказались нестабильными: у одного клиента браузер виснет, у другого не работает, потом еще и Chrome отказался от NPAPI. Таким образом, мы тратим много времени на тех. поддержку.

Но недавно мы сделали на C# .NET всего за 15 человеко-часов рабочий вариант HTTP-сервиса в виде консольного приложения. Решение на наш взгляд довольно надежное. Собираемся завернуть его в локальную службу Windows.
Хочется услышать ваше мнение о безопасности приложения/службы в сравнении с плагинами. В свою очередь мы готовы поделиться своим опытом.

Отредактировано пользователем 29 октября 2015 г. 9:52:47(UTC)  | Причина: Не указана

Offline lab  
#5 Оставлено : 29 октября 2015 г. 14:18:40(UTC)
lab

Статус: Активный участник

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

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 4 раз в 4 постах
Андрей *
Мы эксплуатируем решения на базе криптопровайдера Validata CSP

Автор: dizel3d Перейти к цитате

Компания http://itglobal.ru/ работает в банковском секторе.

ну, с вашей компанией мы точно контактировали )

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

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

я был бы сторонником простого HTTP сервиса (сервера), не требующего сложной установки и необходимости административных прав для его установки.
Про безопасность плагина против локальный http-сервис .. пока нет мыслей, готов послушать.

thanks 1 пользователь поблагодарил lab за этот пост.
dizel3d оставлено 29.10.2015(UTC)
Offline Юрий  
#6 Оставлено : 29 октября 2015 г. 15:34:47(UTC)
Юрий

Статус: Активный участник

Группы: Участники
Зарегистрирован: 22.01.2008(UTC)
Сообщений: 675
Мужчина
Российская Федерация
Откуда: Йошкар-Ола

Сказал «Спасибо»: 3 раз
Поблагодарили: 95 раз в 68 постах
Автор: dizel3d Перейти к цитате
Зачем вы до сих пор пишите плагины к браузерам? Возможно это было единственным решением 10 лет назад. Но сейчас гораздо проще и дешевле написать единственный HTTP-сервис, чем поддерживать множество постепенно отсыревающих плагинов.

Основные положения по HTTP-сервису:
1. Висит исключительно на одном из портов localhost (например, на порту 3999), т.е. НЕдоступен из сети.
2. Предоставляет доступ к КриптоПро ЭЦП SDK посредством HTTP-запросов. Например, отправив POST с файлом на http://localhost:3999/api/csp/sign?key=myKeyId, сервис подпишет его ключом myKeyId и вернет подпись в бинарном виде (application\octet-stream).
3. Хостит внутри себя сайт для настройки КриптоПро (http://localhost:3999/index.html). С его помощью, например, можно настроить CORS, т.е. список сайтов, которым доступен HTTP-сервис.

Стоит заметить, что такой HTTP-сервис не требует прав администратора, и настроек файервола.
Распространять сервис можно в виде локальной службы Windows.
От браузеров требуется лишь возможность выполнять AJAX-запросы из JavaScript. А это могут делать все, даже мертвый IE8. И никаких посторонних объектов в JS API, все чисто, надежно, красиво.

Собственно такое решение даже предлагается самой компанией Крипто-ПРО: сервер электронной подписи DSS. Так что и они также идут в направлении развития Web Services.
С уважением,
Юрий Строжевский
thanks 1 пользователь поблагодарил Юрий за этот пост.
dizel3d оставлено 29.10.2015(UTC)
Offline dizel3d  
#7 Оставлено : 29 октября 2015 г. 16:08:44(UTC)
dizel3d

Статус: Участник

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

Сказал(а) «Спасибо»: 8 раз
Автор: Юрий Перейти к цитате
Собственно такое решение даже предлагается самой компанией Крипто-ПРО: сервер электронной подписи DSS. Так что и они также идут в направлении развития Web Services.

Интересно, спасибо. Это более глобальное решение с другим сценарием использования, всё таки. Мы же говорим об очень простом локальном сервисе, установленном на компьютере конечного пользователя и заменяющим собой плагин(ы) к браузеру.

Идея:
КриптоПро DSS работает по SOAP, который невозможно использовать непосредственно из браузера. Но DSS с JSON API запросто сможет стать полноценной заменой плагинов.

Отредактировано пользователем 30 октября 2015 г. 12:57:46(UTC)  | Причина: Не указана

Offline Павел Смирнов  
#8 Оставлено : 3 ноября 2015 г. 12:22:19(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Глубоко в данную тему мы не вдумывались. Однако, на поверхности лежит одна глобальная проблема с юзабилити. Если эту штуку сделать как системный сервис, то она не сможет ни понять ключами какого пользователя нужно подписывать, ни получить к ним доступ. Остаётся вариант простого приложения, работающего в фоне в сессии пользователя. Но тогда, если работает одновременно несколько пользователей, то их процессы не смогут слушать на одном порте, а значит JS-код в браузере должен как-то найти нужный процесс нужного пользователя. Как вы собираетесь решать эту задачу?
Техническую поддержку оказываем тут.
Наша база знаний.
Offline Павел Смирнов  
#9 Оставлено : 3 ноября 2015 г. 14:11:33(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Придумалась проблема и с безопасностью. Плагин к браузеру живёт в модели "Доверять ли данному сайту подписывать что угодно?". Локальное приложение должно работать в модели "Пришёл запрос на подписание. Возможно, от злоумышленника." Плагин может доверенным образом узнать адрес сайта, который к нему обращается. Локальное приложение не может. Поэтому плагину достаточно задать пользователю вопрос "Такой-то сайт пытается что-то подписать. Разрешить?" и продолжить в зависимости от ответа. Локальное приложение же должно показать пользователю документ и получить подтверждение на подписание именно этого документа именно этим сертификатом.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline dizel3d  
#10 Оставлено : 3 ноября 2015 г. 14:16:25(UTC)
dizel3d

Статус: Участник

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

Сказал(а) «Спасибо»: 8 раз
Автор: Смирнов Перейти к цитате
Придумалась проблема и с безопасностью. Плагин к браузеру живёт в модели "Доверять ли данному сайту подписывать что угодно?". Локальное приложение должно работать в модели "Пришёл запрос на подписание. Возможно, от злоумышленника." Плагин может доверенным образом узнать адрес сайта, который к нему обращается. Локальное приложение не может. Поэтому плагину достаточно задать пользователю вопрос "Такой-то сайт пытается что-то подписать. Разрешить?" и продолжить в зависимости от ответа. Локальное приложение же должно показать пользователю документ и получить подтверждение на подписание именно этого документа именно этим сертификатом.


Нет. Локальное приложение может узнать с какого сайта пришел запрос. Браузер передает эту информацию в заголовоке Origin, который из JS изменить нельзя.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
4 Страницы123>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.