криптопро csp по сети

криптопро csp по сети Электронная цифровая подпись

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

  • Введение
  • Задача
  • Тестовый стенд
  • 3.1. Linux
  • 3.2. Windows
  • Выводы

Введение

Для любого системного администратора или DevOps построить VPN или «пробросить» нестандартный метод инкапсуляции пакетов (туннелирование) — не очень сложная задача. Часто для этого применяют OpenVPN, если планируется постоянное использование, либо SSH-туннелирование, если защищённое соединение нужно на один-два раза. Однако есть предприятия и ведомства, которые должны соблюдать строгие условия передачи данных, установленные законодательством. Под такие требования подпадают, например, многие структуры, которые так или иначе имеют отношение к денежным операциям: банки, микрофинансовые организации и т. Персональные данные тоже являются «защищаемой информацией» во всех законах и положениях.

В результате оказывается, что при шифровании необходимо использовать СКЗИ со всеми необходимыми сертификатами и лицензиями, соответствующие нормативным требованиям. Одним из примеров таких программных средств является «КриптоПро CSP». В данной статье мы будем разбирать задачу о том, как «прокинуть» средствами stunnel сетевой туннель, который будет шифроваться «КриптоПро CSP», заодно получив хоть и тестовый (на 3 месяца), но полностью валидный сертификат по ГОСТ Р 34. 10-2012.

криптопро csp по сети

Из нашей статьи вы узнаете:

КриптоПро — это крупнейший отечественный разработчик криптографических утилит и программ для работы с электронной подписью. Компания выпускает продукты, которые работают с популярными ОС, такими как: Windows, macOS, Linux, iOS и Android. Это позволяет использовать их не только на персональных компьютерах, но и на мобильных устройствах. Одной из таких программ является средство для криптографической защиты информации (СКЗИ) КриптоПро CSP. Утилита формирует и проверяет электронную подпись. Шифрует информацию для обеспечения конфиденциальности и целостности. Использует протоколы TLS и IPsec для защиты данных в интернет-сети.

В статье расскажем, какие версии СКЗИ КриптоПро CSP выпускаются для операционной системы Андроид.

КриптоПро Android не является привычной для пользователя программой, которую используют для настольной операционной системы. Данная утилита представлена в виде фреймворка. Программная платформа предназначена для разработчиков и встраивается в мобильное приложение или его функционал.

КриптоПро CSP 5. 0 для Google Android выполняет следующие функции

  • работает с электронной подписью;
  • создаёт безопасную интернет-связь;
  • используется для разработки браузеров, которые создают и проверяют ЭП на веб-страницах.

CryptoPro Android взаимодействует с российскими криптографическими алгоритмами, работает на основе виртуальной машины Java 2 Runtime Environment v. 7 и 1. Более подробное описание функционала, примеры приложений и дополнительная информация представлена в руководстве разработчика компании КриптоПро.

Для клиентов ЛВС рекомендуется использовать отделяемые ключевые носители.

Для серверов при требуемом уровне защиты КС1 возможно использовать ключевой носитель “реестр” (согласно документации на “КриптоПро CSP”). При требуемом уровне защиты КС2 или выше рекомендуется использовать отделяемые ключевые носители.

Используя протокол КриптоПро IPSec, построенный на основе сертифицированного СКЗИ КриптоПро CSP, можно обеспечить конфиденциальность, целостность, подлинность и защиту данных от перехвата, подстановки пакетов при передаче в сети с использованием следующих режимов:

  • Транспортный режим IPSec обеспечивает защиту соединений в режиме: клиент-сервер, сервер-сервер и клиент-клиент (KC1, KC2, KC3).
  • Туннельный режим IPSec обеспечивает безопасный удаленный доступ клиенту через Интернет.

IPSec обеспечивает следующие типы защищенных соединений:

  • подключения типа шлюз-шлюз через глобальную сеть (WAN);
  • подключения через Интернет с использованием туннелей L2TP/IPSec;
  • подключения через Интернет с использованием туннельного режима IPSec
  • подключения в локальной сети в транспортном режиме.

Сценарии использования КриптоПро IPSec

Алексей_fpt
Оставлено
:
10 января 2022 г. 14:49:42(UTC)

Добрый день!Никак не найду полезной информации. Серверная лицензия по какому принципу работает ? Устанавливается на сервер а лицензию распространяет уже на любые ПК в сети ?Или ключ идет только для этого сервера и он будет действовать только на нем (как с обычной пользовательской на 1 ПК). Подойдет ли эта лицензия если мне необходимо использовать крипто про на нескольких ПК в одной локальной сети, а так же в других сетях подключенных по VPN к центральной сети ?Или этот вариант не подходит ?Если не подходит то какие есть варианты ? Прошу подсказать!

Андрей *
Оставлено
:
10 января 2022 г. 15:36:59(UTC)

Здравствуйте. Серверная лицензия – для установки на серверную ОС. Если CSP установлен на клиенте и требуется подписание – необходимо наличие лицензии (установленной или встроенной в сертификат).

Алексей_fpt
Оставлено
:
10 января 2022 г. 15:42:07(UTC)

Тогда серверная лицензия нужна только из-за ограничений для установки ?Тогда подскажите еще, если покупается лицензия и активируется на ПК, то что делать в случае если необходимо её перенести ?Например сотрудник уволился, или на этом ПК необходимо было выполнить переустановку ОС. Как в последствии выполняется активация ? Не возникнет проблем с переактивацией ?

Для работы на госпорталах и торговых площадках, сдачи электронной отчётности, работы c ЭДО необходима электронная подпись. ЭЦП – это реквизит официального документа электронного формата, такая подпись является программно-криптографическим средством и обеспечивает подлинность документа.

Напомним, c 01 января 2022 года Удостоверяющий Центр ФНС России бесплатно выпускает квалифицированные электронные цифровые подписи (ЭЦП).

КриптоПро CSP 5. 0– новое поколение криптопровайдера, имеющее ряд преимуществ: шире список поддерживаемых платформ и алгоритмов, выше быстродействие, удобнее пользовательский интерфейс. Рекомендуем устанавливать именно эту версию программы.

Для работы КриптоПро CSP необходима лицензия, без лицензии криптопровайдер будет работать ограниченное время (3 месяца) в тестовом режиме. Производитель программного обеспечения предоставляет бессрочные, годовые и встроенные лицензии.

Годовую, бессрочную и серверную лицензии можно приобрести у официальных представителей, a для их активации необходимо ввести вручную серийный номер после установки СКЗИ на компьютер.

А можно ли пользоваться КриптоПро бесплатно? Да, и тут два варианта использования ПО.

Использовать электронную подпись УЦ ФНС со встроенной лицензией КриптоПро CSP.

ФНС России проводит эксперимент по безвозмездному предоставлению пользователям Удостоверяющего центра ФНС России программного обеспечения (ПО) для работы с электронной подписью.

Разработчик программного обеспечения уже принимает участие в эксперименте. Для бесплатного использования КриптоПро CSP необходимо получить электронную подпись в налоговом органе.

В рамках данного эксперимента лицензия на использование программного обеспечения для работы с электронной подписью и российской криптографией «КриптоПро» включена в сертификаты, выдаваемые УЦ ФНС России с 12 апреля 2022 года.

Срок проведения эксперимента 6 месяцев.

Перечень адресов налоговых органов, принявших участие в эксперименте

Для работы с сертификатами, полученными ранее указанной даты, требуется перевыпуск квалифицированной электронной подписи в любом налоговом органе, оказывающем данную услугу.

Лицензия КриптоПро CSP встроенная в сертификат действует до окончания срока действия этого сертификата.

Вы получили на токене сертификат ЭЦП в УЦ ФНС. A как определить, встроена ли в него лицензия КриптоПРО? Расскажем далее.

криптопро csp по сети

криптопро csp по сети

криптопро csp по сети

криптопро csp по сети

криптопро csp по сети

Важно: При отсутствии лицензии на рабочее место в программе КриптоПро CSP будет отображено, что лицензия истекла. Это нормально! В программе отображается состояние именно лицензии на рабочее место. Сертификат со встроенной лицензией будет работать.

Ведущий менеджер по развитию ИТС партнёрской сети «ИнфоСофт»

Главный специалист направления «Сервисное обслуживание» партнёрской сети «ИнфоСофт»

Новости и статьи

  • Все статьи
  • Новости
  • Обзоры
  • Инструкции

Как установить КриптоПро CSP

Итак, вы купили лицензию на КриптоПро CSP. Что же делать дальше?

После покупки лицензии в нашем интернет-магазине, вы получите письмо по электронной почте, в котором вы найдете:

  • лицензионный ключ продукта
  • ссылку на дистрибутив продукта
  • ссылку на руководство пользователя
Читайте также:  Электронная подпись от ФНС. Как получить и настроить ЭЦП от налоговой

Поскольку руководство пользователя все равно никто читать не любит (и вы бы не читали эту статью, если бы прочитали руководство), то нам потребуется только лицензионный ключ продукта и ссылка на дистрибутив.

Шаг 1

Сначала следует выяснить, установлен ли был у вас Криптопро CSP ранее и если установлен, то какой версии?

Это можно сделать, внимательно изучив свое меню Пуск: там должен быть пункт КРИПТО-ПРО, в котором есть программа КриптоПро CSP.

Если нашли – запустите КриптоПро СSP. Там видим вкладку Общие, где указан срок действия лицензии и номер версии.

криптопро csp по сети

Шаг 2

Вы увидите что-то такое:

криптопро csp по сети

На момент публикации, страница с выбором дистрибутива выглядит так:

криптопро csp по сети

Если вы купили версию КриптоПро CSP 3. 6, то  вам будет нужно выбрать версию R4 – на сегодняшний день она наиболее функциональна.

Если приобретена лицензия на КриптоПро CSP 3. 9 будьте внимательны: КриптоПро CSP 3. 9 – сертифицированная версия, но не поддерживает Windows 10,  КриптоПро CSP 3. 9 R2 – поддерживает Windows 10, сертификация планируется в IV квартале 2015 года

Если же вы купили версию 4. 0, то соответственно выбирайте пункт КриптоПро CSP 4. 0 (рекомендована для работы с Windows 10, сертификация планируется в III квартале 2015 года).

криптопро csp по сети

Шаг 3

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

криптопро csp по сети

Инсталляция программы проходит автоматически в течение нескольких минут и не требует участия пользователя.

криптопро csp по сети

криптопро csp по сети

Все, установка завершена.

Шаг 4

Теперь нужно ввести лицензионный ключ в специальном окне. Добраться до него можно таким образом (путь можно немного разниться в зависимости от версии операционной системы):

Пуск – Программы – КриптоПро – КриптоПро CSP.

Затем нажимаем кнопку Ввод лицензии

криптопро csp по сети

В открывшемся окне заполняем поля, в соответствии с полученной лицензией.

криптопро csp по сети

Шаг 5

Радуемся! Мы с вами только что установили криптопровайдер. Не так уж сложно, правда?

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

Обычно, для осуществления электронной подписи используют КриптоАРМ или КриптоПро Office Signature – их можно приобрести у нас в интернет-магазине. Мы постарались сделать покупку макисмимально удобной: лицензии электронные, отправляются сразу же после оплаты (даже ночью), большой выбор способов оплаты.

Если инструкция показалась вам полезной – делитесь ей, кнопки для этого вы найдете прямо под статьей.

В следующих инструкциях я расскажу, как установить КриптоПро Office Signature, КриптоАРМ, как работать с токенами и так далее.

Тестовый стенд

Работает stunnel следующим образом: при запуске на локальной машине открывается определённый порт, указанный в конфигурационном файле, и в тот же момент приложение соединяется со своей копией на другой машине. Таким образом все пакеты, попавшие на порт localhost, шифруются, затем проксируются на другую систему и там расшифровываются. Удобство схемы состоит в том, что это — просто шлюз, которому неважно, какой протокол шифровать и передавать.

Рисунок 1. Схема работы stunnel

криптопро csp по сети

Изначально загружаем необходимый продукт «КриптоПро» отсюда. В скачанном архиве будет примерно такой набор файлов, как на скриншоте.

Рисунок 2. «КриптоПро CSP» на Linux

криптопро csp по сети

Для установки необходимо запустить install. Этот скрипт добавит нужные компоненты: certmgr, cpverify, cryptcp, csptest, csptestf, curl, der2xer, genkpim, inittst, wipefile. У каждой из этих программ — своя зона ответственности, свои ключи и задачи. Для нашего сценария нужны будут только certmgr и cryptcp.

Бинарные файлы попадают в /opt/cprocsp/bin/, а не в /bin, поэтому запустить их просто командой не удастся. Необходимо либо выполнить запуск напрямую оттуда, либо сделать символьные ссылки. Не стоит только создавать ссылку с помощью curl, так как работает он «криво»: не видит список удостоверяющих центров из операционной системы и, как следствие, завершает любой запрос с ошибкой, из-за чего приходится использовать ключ -k, который отменяет проверку сертификата на валидность.

Следующий шаг — ключи и сертификаты. Для сервера нам необходимо и то, и другое, причём все это — в контейнере «КриптоПро». Для клиента требуется только сертификат, нужный для того, чтобы к туннелю не мог подключиться любой желающий. Забегая немного вперёд, отметим, что в конфигурационном файле stunnel есть опция  verify, и вот её параметры:

Не проверять сертификат сервера

Проверять сертификат при его наличии

Проверять сертификат всегда

Начиная с параметра 1, собственно, и нужен сертификат клиента для защиты подключения.

Итак, чтобы сгенерировать контейнер для сервера, необходимо воспользоваться утилитой cryptcp:

Интересные моменты относительно ключей:

Рисунок 3. Вывод программы cpconfig

криптопро csp по сети

На скриншоте выше видно, что значение 75 устарело и соответствует ГОСТу версии 2001. ГОСТ версии 2012 на 256 и 512 бит задаётся значениями 80 и 81 соответственно.

  • certusage — идентификатор назначения. Для выполнения задачи необходимы два модуля: проверка подлинности клиента (1.3.6.1.5.5.7.3.2) и проверка подлинности сервера (1.3.6.1.5.5.7.3.1).
  • hashAlg — алгоритм, который будет применяться при шифровании. Список вариантов можно найти здесь.
  • ca — центр сертификации, который подпишет всё содержимое, чтобы оно было валидным. Важно, что сертификаты и ключи будут действовать только в течение 3 месяцев (точнее, данный конкретный УЦ, который указан в команде, выдаёт их именно на этот срок).
  • cont — контейнер, который будет создан; в нём сохранятся файлы. Если контейнер с таким именем уже есть, то, естественно, команда не отработает. Проверить можно командой certmgr -list; в её выводе отобразится исчерпывающая информация о контейнерах системы и пользователя.

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

Переходим к генерации сертификата для клиента. Команда аналогична, меняется только имя контейнера и идентификатор назначения сертификата.

Теперь с ключами и сертификатами всё готово. На всякий случай приведём команду экспорта из контейнера:

certmgr -export -provtype 81 -dest /куда экспортировать сертификат/имя сертификата -cont “\\. \HDIMAGE\имя контейнера”

Таким образом можно получить «на руки» сертификат в формате DER.

Далее нужно приниматься за настройку stunnel, а именно — его конфигурационного файла. Создаём в удобном месте файл stunnel. conf. Содержимое будет следующим:

setuid = root

setgid = root

pid = /var/opt/cprocsp/tmp/stunnel. pid

output = /home/bit/stunnel. log

client = yes

accept  = 0. 0:13501

connect = 172. 121:13500

cert = 0xb26305dgbhq47316f4fb80d4877383c4493b3g4d

Прокомментируем содержание секции TestStunnel:

  • Client — указатель на то, является ли программа сервером или клиентом;
  • Accept — локальный порт, к которому будет подключаться программа;
  • Verify — параметр, который мы уже описывали выше;
  • Cert — клиентский сертификат. На этом пункте необходимо задержаться.

Можно указать параметр двумя способами: либо импортировать сертификат из контейнера и прописать путь к файлу, либо воспользоваться отпечатком сертификата. Извлечь отпечаток можно всё той же командой certmgr -list. Идентификатор указан как SHA1 Hash.

Рисунок 4. Отпечаток в Linux

криптопро csp по сети

На этом настройка Linux закончена, можно запускать stunnel с указанием соответствующего файла конфигурации stunnel. conf.

Windows

После установки «КриптоПро CSP» необходимо скопировать контейнер с серверным ключом и сертификатом с nix-машины.

Рисунок 5. Псевдотокен

криптопро csp по сети

В итоге рядом с жёстким диском должен появиться ещё один носитель — это и есть токен. Туда понадобится скопировать папку с контейнером. После этих манипуляций сертификат нормально установится в «КриптоПро CSP».

Читайте также:  Токены JaCarta: что это такое и как пользоваться

Дополнительно стоит скопировать клиентский сертификат на сервер и тоже его установить.

Конфигурационный файл для stunnel-msspi:

output= C:stunnelstun. log

client = no

#cert =E:srv1. 000srv. cer

cert = 60e26867b649ec6401a42892fa9ab752e51c7e1f

CApath = TrustedPeople

Здесь всё устроено по аналогии с конфигурационным файлом клиента: accept — порт, к которому подключается клиентская копия stunnel (должен быть разблокирован в брандмауэре и «проброшен» во все места до наружного выхода), connect — порт для приложения (в данном случае — Netcat).

Повторяется история и в отношении сертификата: либо импорт из контейнера, что совсем не рекомендуется, либо указание отпечатка. Отпечаток можно найти в составе сертификата.

Рисунок 6. Отпечаток сертификата в Windows

криптопро csp по сети

Журнал для отладки можно будет отключить тогда, когда всё будет настроено как часы.

Следующий шаг — запустить сервер stunnel, заодно перезапустив и клиент. Для отладки и тестирования в Windows лучше делать это из командной строки.

nc 127. 1 13501

В командной строке сервера побежит протокол, который расскажет, что кто-то успешно подключился. Пишем в одном окне набор символов; он появляется в другом окне. Всё настроено верно.

Рисунок 7. Результат

криптопро csp по сети

Задача

Для начала необходимо разобраться в том, как всё описанное будет работать, и поставить конкретные задачи.

К примеру, есть две машины. Для демонстрации настройки двух операционных систем одна из них будет работать под управлением ОС семейства Linux (Ubuntu, версия не важна, но желательно — не ниже 16), вторая — под Windows 10. На win-системе будет запускаться Netcat на прослушивание какого-то определённого порта, а с nix-системы будут передаваться пакеты. Таким образом, Windows-машина будет сервером (в том числе — в отношении настроек stunnel).

Что должно получиться в итоге? При подключении с Linux к Windows через программу Netcat все пакеты будут шифроваться сертификатом GOST_2012 и сертифицированным программным обеспечением. Задача тривиальна и ставится для того, чтобы показать возможность такого манёвра. Поскольку stunnel передаёт любой протокол внутри себя, можно, к примеру, подписывать XML-файлы секретной подписью другой организации или передавать персональные данные в хранилище через интернет.

Внедрить TLS c ГОСТ? Легко!

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

Клиент-серверные решения

Предлагаем воспользоваться одним из двух подходов, позволяющих без дополнительной сертификации и разработки программного кода развернуть TLS-сервер, который будет одновременно работать как с российскими, так и с зарубежными криптонаборами:

  • Если вам необходимо настроить работу для конкретного серверного ПО (IIS, Apache, nginx), вы можете на компьютере с указанным серверным ПО установить КриптоПро CSP и, следуя соответствующим инструкциям по настройке, получить TLS-сервер, дополнительно поддерживающий алгоритмы ГОСТ.
  • Вы также можете воспользоваться решением КриптоПро NGate, представляющим собой самостоятельный TLS-шлюз (отдельная аппаратная или виртуальная платформа). Решение имеет большое количество преимуществ, одним из которых является удобство обеспечения классов защиты KC2-KC3: в отличие от предыдущего подхода, не требуется выполнение отдельных настроек, приобретение и конфигурирование электронных замков и прочих дополнительных мер защиты, все необходимое уже включено в аппаратные компоненты решения.

Ниже представлена сравнительная таблица характеристик каждого предлагаемого решения. В колонке “Cертификация” приведена информация о статусе сертификации решения: как самостоятельное СКЗИ или как решение, исследование которого было проведено в рамках сертификации КриптоПро CSP. Во втором случае указана соответствующая версия криптопровайдера.

Решение
Платформа
Сертификация
Класс защиты

CSP + IIS
Windows
любая поддерживаемая версия CSP
КС1, КС2*, КС3*

CSP + Apache
Linux
начиная с CSP 5. 0 R2
КС1, КС2*, КС3**

CSP + nginx
Linux
начиная с CSP 5. 0 R2
КС1, КС2*, КС3**

NGate
Усиленная ОС на базе Linux Debian
самостоятельное СКЗИ
КС1, КС2, КС3

 * – требуются дополнительные настройки и технические средства защиты ** – КС3 только под Astra Linux

TLS-клиент с ГОСТ

Одна из важнейших задач, стоящих перед командой КриптоПро, – создание для пользователя как можно более комфортных условий при работе с сервисами по TLS c ГОСТ. В настоящее время мы предлагаем несколько вариантов решений, включающих в себя как готовые клиентские решения для стационарных устройств, так и решения для разработки собственных мобильных приложений.

Решения для стационарных устройств

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

Кратко о решении:

  • На стороне клиента устанавливается КриптоПро CSP и один из поддерживаемых браузеров
  • Решение не требует никакой дополнительной разработки
  • Такое использование бесплатно для клиента (если с его стороны нет аутентификации по ключу и сертификату).

Ниже представлена сравнительная таблица характеристик поддерживаемых браузеров. Прочерк в колонке “Cертификация” означает необходимость проведения тематических исследований.

Браузер
Платформа
Сертификация
Класс защиты

Internet Explorer
Windows
любая поддерживаемая версия CSP
КС1, КС2*, КС3*

Спутник Браузер
Windows, Astra Linux, ALT Linux
самостоятельное СКЗИ
КС1, КС2*

Chromium-Gost
Astra Linux
начиная с CSP 5. 0 R2
КС1, КС2*, КС3*

Windows, Linux, MacOS

Яндекс. Браузер
Windows
начиная с CSP 5. 0 R2
КС1, КС2*, КС3*

 * – требуются дополнительные настройки и технические средства защиты

Решения для мобильных устройств

КриптоПро предоставляет возможность встраивания поддержки отечественных криптоалгоритмов в ваше мобильное приложение при помощи КриптоПро CSP для операционных систем iOS и Android.

  • CSP встраивается в мобильное приложение, пользователю не требуется устанавливать дополнительное ПО
  • Приложение может использовать как российские, так и иностранные криптонаборы

Ниже представлен список поддерживаемых операционных систем и соответствующих классов защиты:

Операционная система
Сертификация
Класс защиты

iOS
любая поддерживаемая версия CSP
КС1

Android
начиная с CSP 5. 0
КС1

В случае использования КриптоПро CSP версии 5. 0 R2 встраивание не требует проведения тематических исследований. Для CSP 5. 0 и более ранних версий требуются тематические исследования.

Другие решения

Протокол TLS позволяет обеспечивать защищенное соединение между любыми узлами в сети, что выводит область его применения за рамки представленных решений. TLS может обеспечивать защищенную передачу данных между узлами блокчейна, между пользователями VoIP, фактически между любыми двумя приложениями. Мы предлагаем продукт, позволяющий решить и такие задачи.

Приложение stunnel, входящее в дистрибутив КриптоПро CSP, позволяет устанавливать защищенный с помощью отечественных криптонаборов канал между любыми двумя незащищенными приложениями без дополнительной разработки.

Ниже представлен список наиболее популярных поддерживаемых операционных систем и соответствующих классов защиты:

Операционная система
Сертификация
Класс защиты

Windows
любая поддерживаемая версия CSP
КС1, КС2*, КС3*

Linux
КС1, КС2*, КС3**

MacOS
КС1

 * – требуются дополнительные настройки и технические средства защиты ** – КС3 только под Astra Linux

Как настроить доверие к сертификату?

Не секрет, что почти все механизмы аутентификации сторон в протоколе TLS построены на основе инфраструктуры открытых ключей (PKI), одной из основных компонент которой является сертификат открытого ключа сервера или клиента. С помощью сертификата происходит доверенное связывание идентифицирующей сторону информации (например, имени домена сервера) с открытым ключом, для этого используется указанная в сертификате информация о том, кому принадлежит открытый ключ. Данный ключ и соответствующий ему закрытый ключ используются для аутентификации стороны при выполнении протокола TLS, при этом сертификат пересылается по каналу в процессе взаимодействия.

Подробнее о том, что такое сертификат в TLS

Для того, чтобы механизм аутентификации функционировал корректно, необходимо, чтобы аутентифицирующая сторона могла убедиться, что информация, содержащаяся в переданном сертификате, является корректной и не была сформирована злоумышленником. Фактически, нам необходимо решить проблему доверия к открытым ключам. Это делается за счет наличия третьей стороны, которой доверяют все стороны информационного обмена – Удостоверяющего Центра (УЦ), выдающего сертификаты.

Читайте также:  Алгоритм цифровой подписи - Digital Signature Algorithm - qaz.wiki

Строго говоря, когда мы говорим о передаче сертификата, мы имеем в виду передачу целой цепочки сертификатов («цепочку доверия»), где каждый сертификат подписывается закрытым ключом, соответствующим тому сертификату, который находятся выше в иерархии.

Если мы хотим проверить полученный сертификат, нам необходимо проверить подписи всех сертификатов в цепочке, опираясь на ключ проверки подписи из следующего по рангу сертификата. Следуя такому принципу, рано или поздно мы встретим сертификат, на котором цепочка заканчивается (т. сертификат, для которого нет сертификата с открытым ключом, который можно было бы использовать для проверки подписи). Такие сертификаты называются корневыми (root certificate). Корневые сертификаты устанавливаются доверенным образом, и в них указана информация, ассоциированная с доверенным УЦ.

В протоколе TLS предусмотрена возможность аутентификации и сервера, и клиента (двухсторонняя аутентификация), однако обязательной является только аутентификация сервера. Наиболее распространенным сценарием использования протокола является взаимодействие браузера с сайтом, в рамках которого обычно необходима только односторонняя аутентификация. Поэтому далее мы поговорим о том, как правильно и безопасно настроить доверие к сертификату сервера в рамках работы TLS c ГОСТ.

При работе по протоколу TLS с ГОСТ клиент может доверять сертификату, если его корневым сертификатом является либо сертификат головного удостоверяющего центра Минцифры России (сертификат ГУЦ), либо сертификат любого доверенного удостоверяющего центра (сертификат TLS-CA). Сертификаты, имеющие в качестве корневого сертификат ГУЦ, выдаются только аккредитованными удостоверяющими центрами по 63-ФЗ «Об электронной подписи». Отметим, что сертификат, использующийся для аутентификации сервера по протоколу TLS, не обязан быть полученным в аккредитованном удостоверяющем центре, достаточно, чтобы сертификат был выдан доверенным в рамках системы удостоверяющим центром.

Сертификат, корневым сертификатом которого будет TLS-CA, можно получить в нашем удостоверяющем центре CryptoPro TLS-CA. Отдельно отметим, что сертификат можно получить полностью удаленно, не посещая офис компании, воспользовавшись распределенной схемой обслуживания. Подробно о процедуре получения сертификата можно узнать на странице нашего удостоверяющего центра.

Настроить в браузере доверие к сертификату сервера можно одним из следующих способов:

  • вручную:
    браузер клиента предупреждает пользователя о том, что сертификат не входит в список доверенных, клиент может “согласиться” доверять этому сертификату и продолжить устанавливать TLS соединение. Однако, очевидно, что возлагать ответственность за принятие такого решения на пользователя является не самым безопасным решением.администратор безопасности системы заносит сертификат сервера в доверенные в ручном режиме, что является достаточно безопасным, но не самым удобным решением.
  • браузер клиента предупреждает пользователя о том, что сертификат не входит в список доверенных, клиент может “согласиться” доверять этому сертификату и продолжить устанавливать TLS соединение. Однако, очевидно, что возлагать ответственность за принятие такого решения на пользователя является не самым безопасным решением.
  • администратор безопасности системы заносит сертификат сервера в доверенные в ручном режиме, что является достаточно безопасным, но не самым удобным решением.
  • автоматически без участия человека:

При установке КриптоПро CSP версии 4. 0 R3 и выше для работы браузера по ГОСТ сертификат ГУЦ и сертификат удостоверяющего центра CryptoPro TLS-CA добавятся в список доверенных автоматически. Таким образом, доверие распространится на любой сертификат, выданный аккредитованным УЦ или CryptoPro TLS-CA, причем после прохождения полноценной проверки, не требующей принятия решений от человека.

Тестирование ГОСТ TLS

КриптоПро TLS входит в состав КриптоПро CSP на всех ОС и не требует отдельной установки.

Для использования протокола TLS предварительно получите сертификат по шаблону “Сертификат пользователя УЦ”. Это можно сделать на тестовом Удостоверяющем центре КриптоПро.

Тестовая страница для установления защищенного соединения с сервером с двусторонней аутентификацией. Для работы тестовой страницы необходимо разрешить порт 4444 для исходящих соединений.

Дополнительные стенды для тестирования TLS.

Документация

Онлайн-версия руководства программиста доступна на нашем сайте.

Краткая справка

Протокол TLS (Transport Layer Security) является одним из наиболее популярных протоколов, предназначенных для установления защищенного канала связи в сети Интернет. Он основан на спецификации протокола SSL (Secure Sockets Layer) версии 3. 0, но за время своего существования претерпел довольно много изменений. Самой актуальной версией протокола на текущий момент является недавно вышедшая версия TLS 1. 3, однако версия TLS 1. 2 все еще остается наиболее распространенной.

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

Что такое TLS с ГОСТ?

В процессе работы над задачей разработки протокола TLS с поддержкой российских криптонаборов при активном участии специалистов КриптоПро было создано два ключевых документа, регламентирующих порядок работы протоколов TLS 1. 2 и TLS 1. 3 с ГОСТ Р 34. 12-2015 (с использованием алгоритмов Магма и Кузнечик) – рекомендации по стандартизации Р 1323565. 020-2018 для TLS 1. 2 и рекомендации по стандартизации Р 1323565. 030-2020 для TLS 1. Документы определяют криптонаборы с российскими алгоритмами хэширования, шифрования и электронной подписи с учетом наиболее современных и безопасных практик использования криптоалгоритмов. Для регламентации работы протокола с использованием криптонаборов на базе ГОСТ 28147-89 ранее были разработаны методические рекомендации МР 26. 001-2013. Отметим, что сами российские режимы и криптонаборы стандартизованы в международных организациях ISO и IETF, пройдя экспертизу ведущих мировых специалистов.

Подробнее о TLS c ГОСТ и поддерживаемых КриптоПро CSP криптонаборах

Процесс стандартизации TLS с российскими криптонаборами также активно идет и в рамках международных организаций IETF и IANA. Так, организация IANA, управляющая идентификаторами и параметрами протоколов сети Интернет, в том числе благодаря усилиям специалистов нашей компании, впервые зарегистрировала в своем реестре российские криптонаборы и другие сопутствующие параметры для протокола TLS 1. 2, а затем и TLS 1. Это крайне важное событие, которое имеет непосредственное отношение к стабильности работы протокола TLS с ГОСТ, ведь без наличия международно признаваемых идентификаторов все предыдущие годы существовала опасность блокировки TLS с ГОСТ из-за захвата номеров сторонними криптонаборами, а внесение поддержки российских криптонаборов в свободное ПО было затруднено.

КриптоПро CSP и TLS с ГОСТ

Ниже приведен список поддерживаемых различными версиями нашего криптопровайдера КриптоПро CSP криптонаборов и соответствующих регламентирующих документов. Отдельно отметим, что с версии 5. 0 R3 планируется реализация поддержки криптонаборов в соответствии с рекомендациями Р 1323565. 030-2020 для обеспечения поддержки протокола TLS версии 1. 3 с использованием отечественной криптографии.

Версия TLS
Поддерживаемые криптонаборы
Версия CSP
Регламентирующие документы

1. 0
28147_CNT_IMIT (0xFF,0x85)
любая поддерживаемая
МР 26. 001-2013

1. 1
28147_CNT_IMIT (0xFF,0x85)
любая поддерживаемая
МР 26. 001-2013

1. 2
28147_CNT_IMIT (0xFF,0x85)
любая поддерживаемая
МР 26. 001-2013

28147_CNT_IMIT (0xC1,0x02)
5. 0 R2 и выше
Р 1323565. 020-2018draft-smyshlyaev-tls12-gost-suites

KUZNYECHIK_CTR_OMAC (0xC1,0x00)

MAGMA_CTR_OMAC (0xC1,0x01)

1. 3
KUZNYECHIK_MGM_L (0xC1,0x03)
Планируется с 5. 0 R3
Р 1323565. 030-2020draft-smyshlyaev-tls13-gost-suites

MAGMA_MGM_L (0xC1,0x04)

KUZNYECHIK_MGM_S (0xC1,0x05)

MAGMA_MGM_S (0xC1,0x06)

Криптонаборы с номерами (0xC1, 0x00) – (0xC1, 0x06) являются наборами, зарегистрированными в реестре организации IANA.

Выводы

В статье мы разобрали задачу о том, как получить криптотуннель с валидным ключом, подписанным самим «КриптоПро», и с алгоритмом шифрования GOST_2012, 512 бит. Сделано это с минимальными затратами — две лицензии на «КриптоПро CSP».

Можно, конечно, написать что-то своё, но лицензии JСP, к примеру, стоят намного больше. Готовые решения тоже будут значительно дороже.

Оцените статью
ЭЦП Эксперт
Добавить комментарий