Что такое криптопровайдер
Перейти к содержимому

Что такое криптопровайдер

  • автор:

Криптопровайдер КриптоПро CSP

( англ. Cryptographic Service Provider) – провайдер криптографических услуг, криптопровайдер специализированный программный модуль или набор модулей, предоставляющих средства шифрования и дешифрования данных, цифровой подписи, а также генерации и хранения ключей. В ПО NGate используется криптопровайдер КриптоПро CSP.

Более подробную информация читайте на официальном сайте ООО «КРИПТО-ПРО»: https://www.cryptopro.ru/products/csp.

Поддерживаемые алгоритмы шифрования:

  • ГОСТ 2001 256 бит;
  • ГОСТ 2012 256 бит;
  • ГОСТ 2012 512 бит;
  • RSA 2048 бит;
  • RSA 4096 бит.

Криптопровайдер

Криптопровайдер (Cryptography Service Provider, CSP) — это независимый модуль, позволяющий осуществлять криптографические операции в операционных системах Microsoft, управление которым происходит с помощью функций CryptoAPI. Проще говоря, это посредник между операционной системой, которая может управлять им с помощью стандартных функций CryptoAPI, и исполнителем криптографических операций (это может быть как программа, так и аппаратный комплекс).

Архитектура криптопровайдера

CSP

Любой криптопровайдер должен экспортировать набор обязательных функций, которые формируют системный программный интерфейс CryptoSPI, при этом каждая из этих функций соответствует некоторой функции CryptoAPI. Также криптопровайдер должен обеспечивать:

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

Приложения не работают напрямую с криптопровайдером. Вместо этого они вызывают функции CryptoAPI из библиотек Advapi32.dll и Crypt32.dll. Операционная система фильтрует вызовы этих функций и вызывает соответствующие функции CryptoSPI, которые непосредственно работают с криптопровайдером.

Минимальный состав криптопровайдера — одна DLL. Обычно эта библиотека хранится в папке \WINDOWS\system32\. Обязательным является контроль целостности этой DLL.

Кроме стандартных функций CryptoAPI, криптопровайдер обычно поддерживает ряд собственных функций. Если собственные функции не реализованы, то DLL действует, по сути, как промежуточный слой между операционной системой и исполнителем криптографических операций.

Объекты криптопровайдера

Одним из основных объектов является ключевой контейнер. Контейнер имеет свое имя, создаётся (или запрашивается, если уже был создан) функцией CryptAcquireContext(…). В контейнере может существовать не более одной пары ключей подписи, одной пары ключей обмена и одного симметричного ключа. Если поддерживается несколько алгоритмов симметричного шифрования, то симметричных ключей может быть несколько, по одному ключу каждого алгоритма.

Пары ключей и симметричные ключи могут находиться только в контейнере. Только открытый ключ пары может находиться вне контейнера.

Закрытые (private) ключи пар ключей экспортируются только в зашифрованном виде. Некоторые криптопровайдеры принципиально не позволяют экспортировать закрытые ключи, даже в зашифрованном виде. Симметричные ключи при экспорте также обязательно шифруются на открытом ключе получателя или ключе согласования. Для вычисления хеш-функций создаются объекты хеширования. Для создания объектов хеширования создавать контейнер не нужно.

Типы криптопровайдеров

Тип криптопровайдера Алгоритмы ключевого обмена Алгоритмы цифровой подписи Алгоритмы шифрования Алгоритмы хеширования
PROV_RSA_FULL RSA RSA RC2, RC4 MD5, SHA
PROV_RSA_AES RSA RSA RC2, RC4, AES MD5, SHA
PROV_RSA_SIG нет RSA нет MD5, SHA
PROV_RSA_SCHANNEL RSA RSA RC4, DES, 3DES MD5, SHA
PROV_DSS нет DSS нет MD5, SHA
PROV_DH_SCHANNEL DH (ephemeral) DSS DES, 3DES MD5, SHA
PROV_DH_SCHANNEL DH (ephemeral) DSS DES, 3DES MD5, SHA
PROV_FORTEZZA KEA DSS Skipjack SHA
PROV_MS_EXCHANGE RSA RSA CAST MD5
PROV_SSL RSA RSA могут быть различными могут быть различными
PROV_GOST_94_DH ГОСТ Р 34.10-94 ГОСТ Р 34.10-94 ГОСТ 28147-89 ГОСТ Р 34.11-94
PROV_GOST_2001_DH ГОСТ Р 34.10-2001 ГОСТ Р 34.10-2001 ГОСТ 28147-89 ГОСТ Р 34.11-94

Криптопровайдеры Microsoft

Во все операционные системы Microsoft, начиная с Windows 2000 встроен криптопровайдер Microsoft Base Cryptographic Provider, который обладает набором основных криптографических функций. В Microsoft Base Cryptographic Provider длина ключей шифрования не превышает 40 бит. Так как до января 2000 года в США существовал запрет на экспорт программного обеспечения для шифрования с использованием ключей длиной более 40 бит, то в Windows 98 и ранних версиях Windows 2000 существовала поддержка только этого криптопровайдера. Microsoft Base Cryptographic Provider по сути является урезанным вариантом Microsoft Enhanced Cryptographic Provider. Но после отмены запрета на экспорт стало бессмысленно иметь 2 криптопровайдера, поэтому программисты Microsoft ввели еще одно название — Microsoft Strong Cryptographic Provider, который ничем не отличается от Microsoft Enhanced Cryptographic Provider. Этот криптопровайдер является криптопровайдером по умолчанию типа PROV_RSA_FULL в Windows 2000, Windows XP, Windows 2003.

Все криптопровайдеры Microsoft могут быть скачаны с сайта Microsoft.

Криптопровайдер Имя криптопровайдера Тип Комментарий
Microsoft Base Cryptographic Provider MS_DEF_PROV PROV_RSA_FULL Имеет широкий набор основных криптографических функций. Длина ключей шифрования не превышает 40 бит.
Microsoft Strong Cryptographic Provider MS_STRONG_PROV PROV_RSA_FULL Отличается от Microsoft Base Cryptographic Provider поддержкой больших длин ключей.
Microsoft Enhanced Cryptographic Provider MS_ENHANCED_PROV PROV_RSA_FULL Ничем не отличается от Microsoft Strong Cryptographic Provider. Является криптопровайдером по умолчанию.
Microsoft AES Cryptographic Provider MS_ENH_RSA_AES_PROV PROV_RSA_AES = Microsoft Enhanced Cryptographic Provider с поддержкой AES
Microsoft DSS Cryptographic Provider MS_DEF_DSS_PROV PROV_DSS Хеширование, подпись, проверка подписи с поддержкой алгоритма DSS.
Microsoft Base DSS and Diffie-Hellman Cryptographic Provider MS_DEF_DSS_DH_PROV PROV_DSS_DH Хеширование, подпись DSS, генерация и обмен ключами Диффи-Хеллмана. Поддерживает генерацию ключей для протоколов SSL3 и TLS1.
Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider MS_ENH_DSS_DH_PROV PROV_DSS_DH То же, что и Microsoft Base DSS and Diffie-Hellman Cryptographic Provider с поддержкой больших длин ключей.
Microsoft DSS and Diffie-Hellman/Schannel Cryptographic Provider MS_DEF_DH_SCHANNEL_PROV PROV_DH_SCHANNEL Хеширование, подпись DSS, генерация и обмен ключами Диффи-Хеллмана. Поддерживает генерацию ключей для протоколов SSL3 и TLS1.
Microsoft RSA/Schannel Cryptographic Provider MS_DEF_RSA_SCHANNEL_PROV PROV_RSA_SCHANNEL Хеширование, подпись, проверка подписи. Используется для аутентификации в протоколах SSL 3.0 and TLS 1.0.
Microsoft RSA Signature Cryptographic Provider MS_DEF_RSA_SIG_PROV PROV_RSA_SIG Минимальная функциональность, необходимая для электронной подписи и проверки ЭЦП.

Криптопровайдеры для ПСКЗИ ШИПКА

В криптопровайдерах для ПСКЗИ ШИПКА операции шифрования, хеширования, подписи, её проверки, генерации криптографических ключей и ключевых пар для иностранных и отечественных криптографических алгоритмов осуществляются аппаратно в ПСКЗИ ШИПКА. Ключевая база так же хранится в самом устройстве, при этом закрытые ключи ключевых пар не являются экспортируемыми и не могут быть переданы из него какому-либо приложению, использующему CryptoAPI.

Криптопровайдеры имеют цифровую подпись Microsoft.

Криптопровайдер Имя криптопровайдер Тип Комментарий
Shipka Base CSP ACCSP_NAME PROV_RSA_FULL Кроме алгоритмов, описанных для PROV_RSA_FULL, поддерживаются также DES и 3DES.
Shipka Base CSP GOST2001 ACCSP_GOST2001_NAME PROV_GOST_2001_DH Реализует российские алгоритмы шифрования аппаратно.

Shipka Base CSP GOST2001 соответствует стандарту RFC 4357 . Этот стандарт описывает параметры, необходимые для работы с российскими криптографическими алгоритмами ГОСТ 28147-89, ГОСТ Р 34.10-94, ГОСТ Р 34.11-94 и ГОСТ Р 34.10-2001, такие как параметры алгоритмов экспорта, импорта, деривации, усложнения, диверсификации ключей, объектные идентификаторы параметров алгоритмов. Также в стандарте RFC 4357 приведено описание дополнительного режима шифрования CBC (Cipher Block Chaining), не предусмотренного в ГОСТ 28147-89, и способов дополнения открытого текста при шифровании любым из режимов.

Симметричные ключи экспортируются только в зашифрованном виде. Шифруется симметричные ключи либо на ключе согласования, либо на открытом ключе получателя.

Как уже говорилось выше, криптопровайдеры реализуются в виде динамически загружаемых библиотек, при этом они имеют цифровую подпись и при работе с криптопровайдером в системных библиотеках проверяется целостность его DLL. Но проверка целостности DLL криптопровайдера осуществляется программно, что дает возможность влиять программным путем на процесс выполнения проверки, а, значит, и на ход алгоритмов. Так как в ПСКЗИ ШИПКА криптографические алгоритмы реализованы аппаратно, то, невозможно внести изменения в его код, то есть повлиять на реализацию какого-либо алгоритма

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

См. также

  • Криптопровайдер Tumar CSP
  • CryptoAPI
  • Криптография
  • Криптосервисы .NET Framework

Ссылки

  • Раздел, посвященный криптопровайдерам на MSDN
  • Интерфейс CryptoAPI
  • Encryption using CryptoAPI
  • Типы криптопровайдеров
  • ГОСТ Р 34.11-94
  • Windows API
  • Криптография
  • Технологии безопасности Microsoft Windows

Для чего нужен криптопровайдер «КриптоПро CSP»?

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

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

Криптопровайдер «КриптоПро CSP»

Программа «КриптоПро CSP» – это один из криптопровайдеров, который позволяет использовать электронную подпись со своего рабочего места.

С помощью «КриптоПро CSP» и специальных плагинов от компании «КриптоПро» пользователь может загрузить на компьютер сертификат проверки ключа электронной подписи и подписывать документы со своего компьютера.

Как скачать «КриптоПро CSP»

Скачать дистрибутив криптопровайдера «КриптоПро CSP» можно с официального сайта по ссылке: https://www.cryptopro.ru/products/csp.

Чтобы скачать программу, нужно на кнопку «Скачать КриптоПро CSP» на главной странице сайта и заполнить появившуюся форму. Далее нужно нажать на кнопку «Скачать для Windows» и запустить установщик из папки «Загрузки» на компьютере.

Сколько стоит лицензия на использование «КриптоПро CSP»

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

Уточнить стоимость лицензии можно в прайс-листе по ссылке: Прайс-лист>>.

В таблице ниже указаны стоимости некоторых видов лицензий на использование СКЗИ «КриптоПро CSP» версии 5.0:

Срок действия лицензии

(одно рабочее место)

(одно рабочее место)

Стоимость (руб.)

Что такое криптопровайдер

Электронные подписи (ЭП или ранее – ЭЦП) позволяют существенно упростить обмен документами. С помощью них можно получать различные госуслуги или обмениваться документами с партнерами без использования бумажных оригиналов. Но для корректной работы ЭП требуется установить программу – криптопровайдер. Однако далеко не каждый пользователь имеет представление о данном программном обеспечении.

Что такое криптопровайдер простыми словами?

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

Замечание. Криптопровайдер часто обозначается сокращенно буквами CSP от английского Cryptography Service Provider.

Простыми словами криптопровайдер – это программное обеспечение, то есть посредник, который позволяет операционной системе выполнять шифровальные функции. Еще проще можно сказать, что это специальная программа для работы с ЭП, обеспечивающая соблюдение стандартов (ГОСТ).

Для работы CPS в Windows компания Microsoft разработала специальный интерфейс – CryptoAPI 2.0.

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

Объекты криптопровайдера

Фактически основным объектом выступает ключевой контейнер. Он имеет собственное имя. Для создания или запроса используется специальная функция CryptAcquireContext(…), реализованная в интерфейсе CryptoAPI 2.0.

Каждый ключевой контейнер может содержать:

  • максимум 1 пару ключей ЭП;
  • максимум 1 пару ключей обмена;
  • максимум 1 симметричный ключ.

Вне контейнера может находиться исключительно открытый ключ. Для вычисления хеш-функций используются специальные объекты хеширования. Для их создания наличие контейнера не требуется.

Криптосервисы для устройств под управлением Windows

Начиная с версии Windows 2000, Microsoft встроила в операционную систему Microsoft Base Cryptographic Provider. Он имел существенное ограничение – длина ключа не больше 40 бит. После отмены ограничений на экспорт из США ПО с ключами шифрования большей длины на смену этому провайдеру пришел Microsoft Strong Cryptographic Provider.

К сожалению, стандартные средства MS Windows CSP использовать в РФ практически невозможно. С помощью них нельзя вести обмен с госорганами и т. д. Эти ограничения вызваны отсутствием сертификации у продуктов Майкрософт.

Наиболее распространены в России следующие сторонние криптосервисы:

  • КриптоПро. Наиболее популярный в РФ криптопровайдер. Он работает под всеми популярными системами – Windows, Linux, Mac OS. Существует также несертифицированная версия для Android. Но графический интерфейс предлагается исключительно в программе для Windows. КриптоПро
  • ViPNet CSP – бесплатный российский криптопровайдер от компании ИнфоТеКС, имеющий все необходимые сертификаты ФСБ. Он выпускается в вариантах для Windows и Linux. VipNet
  • Signal-COM CSP – российский сертифицированный криптопровайдер, работающий исключительно под Windows. Разработан компанией Сигнал-КОМ. Signal-COM CSP

Криптопровайдер – необходимая для корректной и полноценной работы с ЭП программа. Без нее воспользоваться основными преимуществами электронного документооборота не получится. Хорошо, что выбор криптопровайдеров довольно широк.

Это интересно:

  1. Электронная подпись для физических лиц
  2. Электронная подпись для торгов на электронных площадках
  3. Как сделать электронную подпись для налоговой
  4. Доступные виды электронной подписи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *