Открыть сервис

Cryptographic Service Provider

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

Архитектура и принцип работы

CSP функционирует как посредник между прикладным программным обеспечением и криптографическими функциями, реализованными либо в программном обеспечении, либо в аппаратном обеспечении (например, в смарт-картах или аппаратных модулях безопасности — HSM). Архитектура CryptoAPI предполагает, что приложения не взаимодействуют напрямую с криптографическими алгоритмами, а вызывают функции через единый интерфейс, который, в свою очередь, делегирует выполнение конкретному CSP.

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

  • CryptAcquireContext — получение дескриптора контекста CSP;
  • CryptGenKey — генерация ключей;
  • CryptEncrypt / CryptDecrypt — шифрование и дешифрование данных;
  • CryptHashData — вычисление хеша;
  • CryptSignHash / CryptVerifySignature — создание и проверка электронной подписи.

Типы CSP

В операционных системах Microsoft Windows определены несколько типов CSP, которые различаются набором поддерживаемых алгоритмов и областью применения. Основные типы включают:

  • PROV_RSA_FULL — наиболее распространённый тип, поддерживает алгоритмы RSA (шифрование и подпись), RC2, RC4 (симметричное шифрование), MD5, SHA-1 (хеширование). Используется в большинстве приложений общего назначения.
  • PROV_RSA_SIG — только для цифровых подписей на основе RSA, без поддержки шифрования.
  • PROV_DSS — для цифровых подписей на основе алгоритма DSA (Digital Signature Algorithm) и хеширования SHA-1.
  • PROV_DH_SCHANNEL — для протокола Schannel (SSL/TLS), поддерживает алгоритмы Диффи-Хеллмана (DH) для обмена ключами.
  • PROV_GOST_2001_DH — тип, определённый для российских криптографических стандартов (ГОСТ Р 34.10-2001, ГОСТ Р 34.11-94), используется в сертифицированных CSP, таких как «КриптоПро CSP».
  • PROV_GOST_2012_256 и PROV_GOST_2012_512 — типы для российских стандартов ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012 (Стрибог).

Встроенные CSP в Windows

Операционные системы Microsoft Windows поставляются с несколькими встроенными CSP, которые обеспечивают базовую криптографическую функциональность. К числу наиболее известных относятся:

  • Microsoft Base Cryptographic Provider v1.0 — базовый CSP, поддерживающий алгоритмы RSA, RC2, RC4, MD5, SHA-1. Входит в состав всех версий Windows.
  • Microsoft Enhanced Cryptographic Provider v1.0 — расширенная версия, поддерживающая более длинные ключи (до 128 бит для симметричных алгоритмов) и дополнительные алгоритмы.
  • Microsoft Strong Cryptographic Provider — улучшенная версия с поддержкой алгоритмов AES, 3DES, SHA-256, SHA-384, SHA-512. Доступен начиная с Windows XP SP2.
  • Microsoft Software Key Storage Provider — CSP, реализованный на основе технологии Key Storage Provider (KSP), введённой в Windows Vista и Windows Server 2008 для работы с криптографией нового поколения (Cryptography API: Next Generation, CNG).

Российские CSP

В Российской Федерации для обеспечения соответствия требованиям законодательства в области криптографической защиты информации (Федеральный закон № 63-ФЗ «Об электронной подписи», приказы ФСБ России) используются сертифицированные CSP, реализующие национальные стандарты ГОСТ. Наиболее распространённым является «КриптоПро CSP», разработанный компанией «КриптоПро». Этот CSP поддерживает алгоритмы ГОСТ Р 34.10-2001, ГОСТ Р 34.10-2012, ГОСТ Р 34.11-94, ГОСТ Р 34.11-2012, а также алгоритмы шифрования по ГОСТ 28147-89 (на смену которому пришёл ГОСТ Р 34.12-2015). «КриптоПро CSP» сертифицирован ФСБ России и используется в государственных информационных системах, для работы с электронной подписью, в системах электронного документооборота, в банковской сфере и других областях, где требуется юридическая значимость электронных документов.

Другие российские CSP включают:

  • «VipNet CSP» (ООО «ИнфоТеКС») — сертифицированный CSP, поддерживающий алгоритмы ГОСТ и используемый в продуктах семейства ViPNet.
  • «Signal-COM CSP» (ООО «Сигнал-КОМ») — CSP для работы с криптографическими стандартами ГОСТ, применяемый в системах защиты информации.
  • «CryptoPro CSP» (ООО «КриптоПро») — наиболее широко распространённый CSP в России, используется в более чем 90% государственных и корпоративных систем электронной подписи.

Применение

CSP находят применение в широком спектре задач, связанных с информационной безопасностью:

  • Электронная подпись — создание и проверка цифровых подписей для документов, программного обеспечения, электронных сообщений. В России CSP используются для работы с квалифицированной электронной подписью (КЭП) в соответствии с 63-ФЗ.
  • Шифрование данных — защита конфиденциальной информации при хранении и передаче, включая шифрование файлов, дисков (BitLocker использует CSP), электронной почты (S/MIME).
  • Аутентификация — проверка подлинности пользователей и устройств, например, при входе в систему с использованием смарт-карт или сертификатов.
  • Защита сетевых протоколов — обеспечение безопасности протоколов SSL/TLS, IPsec, Kerberos, которые используют CSP для выполнения криптографических операций.
  • Работа с сертификатами — управление цифровыми сертификатами X.509, включая их создание, хранение, проверку цепочек сертификации.

Безопасность и сертификация

В Российской Федерации CSP, используемые для защиты государственной тайны или в системах, обрабатывающих персональные данные, подлежат обязательной сертификации в соответствии с требованиями ФСБ России и ФСТЭК России. Сертификация подтверждает соответствие криптографического модуля требованиям к классам защиты (например, КС1, КС2, КС3) и возможность использования в конкретных информационных системах. Встроенные CSP Microsoft, как правило, не сертифицированы для использования в государственных информационных системах РФ, что делает обязательным применение российских сертифицированных CSP.

Ограничения и особенности

  • CSP работают только в экосистеме Microsoft Windows и несовместимы с другими операционными системами без дополнительных адаптеров.
  • Производительность CSP может быть ограничена при выполнении большого числа криптографических операций, особенно при использовании программной реализации алгоритмов. Для высоконагруженных систем применяются аппаратные CSP (например, на базе HSM).
  • Управление CSP осуществляется через оснастку «Управление компьютером» или программно через реестр Windows. Неправильная настройка может привести к уязвимостям.
  • С выходом Windows Vista и более поздних версий Microsoft начала переход на новую криптографическую архитектуру — Cryptography API: Next Generation (CNG), которая постепенно заменяет классическую CryptoAPI. CNG предоставляет более гибкую модульную архитектуру, поддержку новых алгоритмов и улучшенную производительность, однако CSP остаются совместимыми для обратной совместимости.

Источники

  • Microsoft Developer Network (MSDN) — документация по CryptoAPI и CSP.
  • Федеральный закон от 6 апреля 2011 г. № 63-ФЗ «Об электронной подписи».
  • Приказы ФСБ России о сертификации криптографических средств.
  • Документация компании «КриптоПро» — «КриптоПро CSP. Руководство разработчика».
  • Стандарты ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012, ГОСТ 28147-89.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →