CSP ПОСТАВЩИКА КРИПТОГРАФИЧЕСКИХ УСЛУГ МАЙКРОСОФТ

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 16 марта 2019 года; проверки требуют 5 правок.

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

A common question I often get from customers and students is about Microsoft’s Cryptographic Service Providers (CSP). The CSPs are responsible for creating, storing and accessing cryptographic keys – the underpinnings of any certificate and PKI. These keys can be symmetric or asymmetric, RSA, Elliptical Key or a host of others such as DES, 3DES, and so forth. Selecting a cryptographic provider determines what type, size and storage of key will be used – in our case, for a certificate. There are also 3rd party providers for devices such as smart cards and hardware security modules. For the purposes of this article, I will be addressing the standard Microsoft CSPs and the newer Crypto-Next Generation KSPs, their capabilities and the primary purposes you may use them.

For the short answer, refer to ThePKIGuy Recommendations for each provider to see where and why you may use a specific provid

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 1 марта 2023 года; проверки требуют 2 правки.

КриптоПро — разработанная одноименной компанией линейка криптографических утилит (вспомогательных программ) — так называемых криптопровайдеров. Они используются в других программах для генерации электронной подписи (ЭП), работы с сертификатами, организации структуры PKI и т.д.

ЭЦП:  Как пользоваться электронной подписью

Для цифровой подписи электронных документов и обмена бланками необходим криптопровайдер. Он шифрует и защищает информацию, хранит секретные ключи — вот что такое КриптоПро. Вот для чего вам необходимо это ПО:

The CAPI/CSP architecture had its origins in the era of restrictive US government controls on the export of cryptography. Microsoft’s default or «base» CSP then included with Windows was limited to 512-bit RSA public-key cryptography and 40-bit symmetric cryptography, the maximum key lengths permitted in exportable mass market software at the time. CSPs implementing stronger cryptography were available only to U. S. residents, unless the CSPs themselves had received U. S. government export approval. The system of requiring CSPs to be signed only on presentation of completed paperwork was intended to prevent the easy spread of unauthorized CSPs implemented by anonymous or foreign developers. As such, it was presented as a concession made by Microsoft to the government, in order to get export approval for the CAPI itself.

After the Bernstein v. United States court decision establishing computer source code as protected free speech and the transfer of cryptographic regulatory authority from the U. S. State Department to the more pro-export Commerce Department, the restrictions on key lengths were dropped, and the CSPs shipped with Windows now include full-strength cryptography. The main use of third-party CSPs is to interface with external cryptography hardware such as hardware security modules (HSM) or smart cards.

The CAPI/CSP architecture had its origins in the era of restrictive US government controls on the export of cryptography. Microsoft’s default or «base» CSP then included with Windows was limited to 512 bit RSA public-key cryptography and 40-bit symmetric cryptography, the maximum key lengths permitted in exportable mass market software at the time. CSPs implementing stronger cryptography were available only to U. S. residents, unless the CSPs themselves had received U. S. government export approval. The system of requiring CSPs to be signed only on presentation of completed paperwork was intended to prevent the easy spread of unauthorized CSPs implemented by anonymous or foreign developers. As such, it was presented as a concession made by Microsoft to the government, in order to get export approval for the CAPI itself.

After the Bernstein v. United States court decision establishing computer source code as protected and the transfer of cryptographic regulatory authority from the U. S. to the more pro-export , the restrictions on key lengths were dropped, and the CSPs shipped with Windows now include full-strength cryptography. The main use of 3rd party CSPs is to interface with external cryptography hardware such as host security modules or .

These cryptographic functions can be realised by a , thus the Smart Card CSP is the Microsoft way of a . Microsoft Windows is identifying the correct Smart Card CSP, which have to be used, analysing the answer to reset (ATR) of the , which is registered in the Windows Registry. Installing a new CSP, all ATRs of the supported are enlisted in the registry.

de:Cryptographic Service Provider
fr:Cryptographic Service Provider

Содержание
  1. More Information
  2. Назначение КриптоПро CSP
  3. Поддерживаемые технологии хранения ключей
  4. Носители с неизвлекаемыми ключами и защищенным обменом сообщениями
  5. Классические пассивные USB-токены и смарт-карты
  6. Инструменты КриптоПро
  7. Поддерживаемое программное обеспечение
  8. Интеграция с платформой КриптоПро
  9. Операционные системы и аппаратные платформы
  10. Интерфейсы для встраивания
  11. Производительность на любой вкус
  12. Регулирующие документы
  13. Deprecated Microsoft cryptography providers
  14. Use of CSP in MS Office password protection
  15. Smart Card CSP
  16. Product Description
  17. Certificates
  18. Integration
  19. Портативность
  20. Средства криптографической защиты информации
  21. Инфраструктурные открытые ключи
  22. Внедрение КриптоПро CSP
  23. Реализация на уровне Crypto API 2.0
  24. Реализация на уровне CSP
  25. Использование Com-интерфейсов
  26. Контроль регистрации сертификатов
  27. КАПИКОМ 2
  28. Сертификационные услуги
  29. Примеры применения средств криптографической безопасности

More Information

Community content is available under CC-BY-SA unless otherwise noted.

КриптоПро CSP 5.0 — новое поколение криптопровайдера, развивающее три основные продуктовые линейки компании КриптоПро: КриптоПро CSP (классические токены и другие пассивные хранилища секретных ключей), КриптоПро ФКН CSP/Рутокен CSP (неизвлекаемыe ключи на токенах с защищенным обменом сообщениями) и КриптоПро DSS (ключи в облаке).

Все преимущества продуктов этих линеек не только сохраняются, но и приумножаются в КриптоПро CSP 5.0: шире список поддерживаемых платформ и алгоритмов, выше быстродействие, удобнее пользовательский интерфейс. Но главное — работа со всеми ключевыми носителями, включая ключи в облаке, теперь единообразна. Для перевода прикладной системы, в которой работал КриптоПро CSP любой из версий, на поддержку ключей в облаке или на новые носители с неизвлекаемыми ключами, не потребуется какая-либо переработка ПО — интерфейс доступа остаётся единым, и работа с ключом в облаке будет происходить точно таким же образом, как и с классическим ключевым носителем.

Назначение КриптоПро CSP

В КриптоПро CSP 5.0 наряду с российскими реализованы зарубежные криптографические алгоритмы. Теперь пользователи имеют возможность использовать привычные носители ключей для хранения секретных ключей RSA и ECDSA.

Таблица алгоритмов, поддерживаемых разными версиями КриптоПро CSP.

Поддерживаемые технологии хранения ключей

В криптопровайдере КриптоПро CSP 5.0 впервые появилась возможность использования ключей, хранящихся на облачном сервисе КриптоПро DSS, через интерфейс CryptoAPI. Теперь ключи, хранимые в облаке, могут быть легко использованы как любыми пользовательскими приложениями, так и большинством приложений компании Microsoft.

Носители с неизвлекаемыми ключами и защищенным обменом сообщениями

В КриптоПро CSP 5.0 добавлена поддержка носителей с неизвлекаемыми ключами, реализующих протокол SESPAKE, позволяющий провести аутентификацию, не передавая в отрытом виде пароль пользователя, и установить шифрованный канал для обмена сообщений между криптопровайдером и носителем. Нарушитель, находящийся в канале между носителем и приложением пользователя, не может ни украсть пароль при аутентификации, ни подменить подписываемые данные. При использовании подобных носителей полностью решается проблема безопасной работы с неизвлекаемыми ключами.

Компании Актив, ИнфоКрипт и СмартПарк разработали новые защищенные токены, которые поддерживают данный протокол.

Многие пользователи хотят иметь возможность работать с неизвлекаемыми ключами, но при этом не обновлять токены до уровня ФКН. Специально для них в провайдер добавлена поддержка популярных ключевых носителей Рутокен ЭЦП 2.0, JaCarta-2 ГОСТ и InfoCrypt VPN-Key-TLS.

Классические пассивные USB-токены и смарт-карты

Большинство пользователей предпочитает быстрые, дешевые и удобные решения для хранения ключей. Как правило, предпочтение отдаётся токенам и смарт-картам без криптографических сопроцессоров. Как и в предыдущих версиях провайдера, в КриптоПро CSP 5.0 сохранена поддержка всех совместимых носителей производства компаний Актив, Аладдин Р. Д., Gemalto/SafeNet, Multisoft, NovaCard, Rosan, Alioth, MorphoKST и СмартПарк.

Кроме того, конечно, как и раньше поддерживаются способы хранения ключей в реестре Windows, на жестком диске, на флеш-накопителях на всех платформах.

Список производителей и моделей поддерживаемых КриптоПро CSP 5.0 R2

Инструменты КриптоПро

В составе КриптоПро CSP 5.0 появилось кроссплатформенное (Windows/Linux/macOS) графическое приложение — «Инструменты КриптоПро» («CryptoPro Tools»).

Основная идея — предоставить возможность пользователям удобно решать типичные задачи. Все основные функции доступны в простом интерфейсе — при этом мы реализовали и режим для опытных пользователей, открывающий дополнительные возможности.

С помощью Инструментов КриптоПро решаются задачи управления контейнерами, смарт-картами и настройками криптопровайдеров, а также мы добавили возможность создания и проверки электронной подписи PKCS#7.

Поддерживаемое программное обеспечение

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

Интеграция с платформой КриптоПро

С первого же релиза обеспечивается поддержка и совместимость со всеми нашими продуктами:

Операционные системы и аппаратные платформы

Традиционно мы работаем в непревзойдённо широком спектре систем:

Таблица операционных систем, поддерживаемых разными версиями КриптоПро CSP.

Классификация операционных систем для использования КриптоПро CSP c лицензией на рабочее место и сервер.

Интерфейсы для встраивания

Для встраивания в приложения на всех платформах КриптоПро CSP доступен через стандартные интерфейсы для криптографических средств:

Производительность на любой вкус

Многолетний опыт разработки позволяет нам охватить все решения от миниатюрных ARM-плат, таких как Raspberry PI, до многопроцессорных серверов на базе Intel Xeon, AMD EPYC и PowerPC, отлично масштабируя производительность.

Регулирующие документы

Comparison of modern Microsoft providers

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

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

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

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

Deprecated Microsoft cryptography providers

Deprecated providers that are seldom used and should be avoided unless compatibility or business requirements define otherwise

Have a specific scenario where one of these providers was needed for another purpose? Have you been explicitly told to use a provider to support an application? If so, let me know so we can sort through the data and get it added to the list!

Use of CSP in MS Office password protection

Cryptographic service providers can be used for encryption of Word, Excel, and PowerPoint documents starting from Microsoft Office XP. A standard encryption algorithm with a 40-bit key is used by default, but enabling a CSP enhances key length and thus makes decryption process more continuous. This only applies to passwords that are required to open document because this password type is the only one that encrypts a password-protected document.

Smart Card CSP

These cryptographic functions can be realised by a smart card, thus the Smart Card CSP is the Microsoft way of a PKCS#11. Microsoft Windows is identifying the correct Smart Card CSP, which have to be used, analysing the answer to reset (ATR) of the smart card, which is registered in the Windows Registry. Installing a new CSP, all ATRs of the supported smart cards are enlisted in the registry.

Product Description

CryptoPro CSP is a cryptographic software package which implements the Russian cryptographic algorithms developed in accordance with the Microsoft — Cryptographic Service Provider (CSP) interface.

Certificates

CryptoPro CSP has a Federal Security Service certificate of conformance.

Integration

The integration of the CryptoPro CSP with MS Windows operating system allows the use of standard products.

The accordance with the Microsoft CSP interface allows for easy integration into applications by different vendors, which support this interface.

Поддержка XML-документов с цифровой подписью с помощью XMLdsig для Windows (MSXML5, MSXML6) позволяет использовать российские криптографические алгоритмы в Microsoft Office InfoPath — компонентной системе Microsoft Office.

Портативность

Для простой и портативной интеграции криптографических функций на платформах Unix предусмотрен программный интерфейс, аналогичный спецификациям Microsoft CryptoAPI 2.0. Этот интерфейс позволяет использовать функции высокого уровня для создания криптографических сообщений (шифрование, цифровая подпись), построения и проверки цепочки сертификатов, генерации ключей и обработки сообщений и сертификатов.

Средства криптографической защиты информации

  • КриптоПро CSP 1.1
  • КриптоПро CSP 3.6
  • КриптоПро CSP 3.9

Средства криптографической защиты информации со смарт-картами и USB-ключами

Инфраструктурные открытые ключи

Провайдеры по-прежнему используются «из коробки», но их возможности ограничены и обычно не используются

Внедрение КриптоПро CSP

Иерархическая архитектура Криптографических Функций в Операционной системе Windows позволяет использовать российские криптографические алгоритмы, реализованные в КриптоПро CSP, на всех возможных уровнях.

Реализация на уровне Crypto API 2.0

Реализация на уровне Crypto API 2.0 обеспечивает возможность использования широкого спектра функций, которые решают большинство проблем, связанных с представлением (форматами) различных криптографических сообщений (подписанных, зашифрованных) посредством представления открытых ключей в виде цифровых сертификатов, а также посредством хранения и поиска сертификатов в различных каталогах, включая LDAP.

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

Реализация на уровне CSP

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

Использование Com-интерфейсов

КриптоПро можно использовать с COM-интерфейсами, разработанными Microsoft.

Контроль регистрации сертификатов

COM-интерфейс Certificate Enrollment Control (реализован в файле xenroll.dll) предназначен для использования ограниченного количества функций Crypto API 2.0, связанных с генерацией ключей, запросами сертификатов и обработкой сертификатов, полученных от Удостоверяющего центра. с использованием языков программирования Visual Basic, C++, Java Script, VBScript и среды разработки Delphi.

КАПИКОМ 2

CAPICOM (реализованный в файле capicom.dll) предлагает COM-интерфейс, который использует основные функции CryptoAPI 2.0. Этот компонент является расширением существующего интерфейса управления регистрацией сертификатов COM (xenroll.dll), который реализуется клиентскими функциями, отвечающими за генерацию ключей, запросы сертификатов и обмен данными с центром сертификации.

С выпуском этого компонента стало возможным использование функций генерации и проверки цифровой подписи, функций, отвечающих за построение и проверку последовательностей сертификатов, и функций, отвечающих за взаимодействие с различными каталогами (включая Active Directory) с помощью Visual Basic, C++, JavaScript, VBScript и среда разработки Delphi стали возможными. С помощью CAPICOM можно реализовать работу «тонкого» клиента в интерфейсе браузера Internet Explorer.

Компонент CAPICOM является бесплатным и входит в состав распространяемого набора инструментов разработчика Micrsoft Platform SDK.

Более подробная информация об интерфейсе CAPICOM доступна на сервере https://www.cryptopro.ru/products/csp/usage. Дистрибутив интерфейса и примеры приложений доступны на компакт-диске в каталоге «REDISTRCAPICOM 2.0»

.

Сертификационные услуги

Помимо использования в интерфейсе Internet Explorer, протокол TLS также может использоваться прикладным программным обеспечением вместе с КриптоПро CSP для аутентификации и защиты данных, передаваемых по собственным частным протоколам на основе TCP/IP и HTTPS.

Для реализации протокола TLS примеры реализаций WebClient и WebServer включены в набор примеров, поставляемых с SDK платформы.

Примеры применения средств криптографической безопасности

Тестовое программное обеспечение, включая примеры вызовов основных функций Crypto API 2.0, предоставляется вместе с CryptoPro CSP. Эти образцы находятся в каталоге («SAMPLEScsptest»). Большое количество примеров приложений функций Crypto API 2.0, CAPICOM и служб сертификации предлагается в документации Microsoft и в наборе инструментов разработчика Platform SDK.

На сервере КриптоПро (https://www.cryptopro.ru/forum2/) проводится конференция по вопросам использования криптографических функций и сертификатов открытых ключей.

КриптоПро CSP делает возможным использование надежных, сертифицированных криптографических средств защиты информации в составе широкого спектра средств и программного обеспечения корпорации Microsoft для реализации безопасного документооборота и электронной коммерции на основе Public-Key. инфраструктуры и в соответствии с международными рекомендациями X.509.

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

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

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

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

Оцените статью
ЭЦП64