Многие современные системы ДБО предоставляют для обслуживания клиентов Web-интерфейс. Преимущества «тонкого клиента» перед «толстым клиентом» очевидны. В то же время существуют федеральные законы, приказы регуляторов и требования к системам ДБО от Банка России, многие из которых касаются именно защиты информации в системах ДБО. Как-то их нужно исполнять и обычно применяются криптосредства, реализующие российские криптоалгоритмы (ГОСТы). Эти криптосредства закрывают часть «дыр», но при их внедрении может существенно возрасти сложность пользования системой ДБО для клиента.
В данной статье мы из «кирпичиков» соберем и испытаем на демонстрационном интернет-банке комплексное решение — по сути специальный защищенный браузер — в котором будут реализованы закрытие канала (TLS), строгая двухфакторная аутентификация на WEB-ресурсе и элетронная подпись платежных поручений посредством USB-токена Рутокен ЭЦП или trustscreen-устройства Рутокен PINPad. Фишка решения в том, что оно абсолютно необременительно для конечного пользователя — подключил токен, запустил браузер и сразу же можно начинать тратить деньги.
TLS, аутентификация и подпись реализуются с использованием российской криптографии.
Дальше пойдет мануал с пояснениями.
Итак, «кирпичики» решения (для Windows):
- Браузер Mozilla FireFox Portable Edition
- TLS-прокси sTunnel
- Рутокен Плагин
- USB-токен Рутокен ЭЦП Flash
1. Загружаем браузер Mozilla FireFox Portable Edition, распаковываем его на flash-память Рутокен ЭЦП Flash. В качестве стартовой страницы указываем ему demo.rutoken.ru
2. Загружаем sTunnel, собранный с поддержкой ГОСТов. А архиве все необходимые файлы, в том числе openssl с поддержкой российской криптографии. Распаковываем на flash-память Рутокен ЭЦП Flash в папку sTunnel. Обратите внимание, что папка sTunnel с файлами должна лежать в корне flash-памяти устройства.
Конфиг:
; проверять сертификат сервера verify=2 ; прокси работает в режиме клиента client=yes ; версия протокола SSL sslVersion=TLSv1 ; показывать значок в в трее taskbar=yes ; уровень логирования DEBUG=7 [https-demobank] ; при загрузке openssl подгружать engine gost engine=gost ; корневой сертификат, до которого строится цепочка при проверке сертификата сервера CAFile=ca.crt ; прокси принимает незащищенные соединения на 1443 порту localhost accept = 127.0.0.1:1443 ; прокси устанавливает защищенные соединения с demo.rutoken.ru:443 connect = demo.rutoken.ru:443 ; используемый в протоколе TLS шифрсьют ciphers = GOST2001-GOST89-GOST89 TIMEOUTclose = 1
sTunnel при запуске будет на 127.0.0.1:1443 принимать незащищенное соединение, устанавливать защищенное соединение с demo.rutoken.ru:443 и передавать по нему принятые на вход данные.
Если вы работаете в интернете через прокси-сервер (например, корпоративный), то требуется дополнительное конфигурирование sTunnel.
При установке защищенного соединения производится строгая аутентификация сервера и шифрование передаваемых данных.
3. Прописываем в браузер Mozilla FireFox Portable Edition прокси 127.0.0.1:1443, для всех протоколов. Таким образом все данные пойдет через sTunnel. Прокси прописывается так: Настройки->Дополнительные->Сеть->Настроить->Ручная настройка прокси. Установить галочку «Использовать этот прокси-сервер для всех протоколов»
4. Добавляем в браузер Рутокен Плагин. Для этого файлы npCryptoPlugin.dll и rtPKCS11ECP.dll из архива кладем в папку FirefoxPortable\Data\plugins
5. Пишем скрипт автозапуска на vbscript. Скрипт сначала запускает sTunnel, а затем Mozilla FireFox Portable Edition.
Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") Set wshSystemEnv = wshShell.Environment( "PROCESS" ) currentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName))) wshSystemEnv( "OPENSSL_ENGINES" ) = currentDirectory + "\stunnel" Set oExec = WshShell.Exec("stunnel\stunnel.exe") Do While oExec.Status = 1 WScript.Sleep 100 Loop Set oExec = WshShell.Exec( "FirefoxPortable\FirefoxPortable.exe")
Сохраняем его в файл DemoBank.vbs и кладем в корень flash-памяти устройства Рутокен ЭЦП Flash.
Все.
Теперь запускаем DemoBank.vbs и попадаем на демо-площадку Рутокен по защищенному соединению. Если произошла ошибка при запуске скрипта, то еще раз обратите внимание на иерархию папок.
Далее производим регистрацию, двухфакторную аутентификацию клиента и подпись платежа с помощью Рутокен Плагина и USB-токена, как это описано в статьях habrahabr.ru/company/aktiv-company/blog/155835/ и habrahabr.ru/company/aktiv-company/blog/165887/.
Для работы на другом рабочем месте просто подключаем Рутокен ЭЦП Flash и запускаем DemoBank.vbs.
Что мы получили? Переносное и простое для конечного пользователя решение, отвечающее современным представлениям о безопасности cистем с Web-интерфейсом и полностью построенное на использовании российских криптоалгоритмов.
ссылка на оригинал статьи http://habrahabr.ru/post/135599/
Добавить комментарий