![]() | Эта статья может сбивать с толку или непонятна читателям . ( Январь 2009 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Интерфейс программирования криптографических приложений для платформы Microsoft Windows (также известный как CryptoAPI , Microsoft Cryptography API , MS-CAPI или просто CAPI ) - это интерфейс прикладного программирования, включенный в операционные системы Microsoft Windows, который предоставляет услуги, позволяющие разработчикам защищать приложения на базе Windows. с помощью криптографии . Это набор динамически подключаемых библиотек, который обеспечивает уровень абстракции, который изолирует программистов от кода, используемого для шифрования данных. Crypto API был впервые представлен вWindows NT 4.0 [1] и улучшенная в последующих версиях.
CryptoAPI поддерживает криптографию с открытым и симметричным ключом , хотя постоянные симметричные ключи не поддерживаются. Он включает в себя функции для шифрования и дешифрования данных, а также для аутентификации с использованием цифровых сертификатов . Он также включает криптографически безопасную функцию генератора псевдослучайных чисел CryptGenRandom .
CryptoAPI работает с рядом CSP ( провайдеров криптографических служб ), установленных на машине. CSP - это модули, которые выполняют фактическую работу по кодированию и декодированию данных, выполняя криптографические функции. Поставщики HSM могут поставлять CSP, который работает с их оборудованием.
API криптографии: новое поколение [ править ]
В Windows Vista есть обновление Crypto API, известное как Cryptography API: Next Generation ( CNG ). Он имеет улучшенный факторинг API, позволяющий тем же функциям работать с использованием широкого спектра криптографических алгоритмов, и включает в себя ряд более новых алгоритмов, которые являются частью пакета B Агентства национальной безопасности (NSA) . [2] Он также является гибким, поскольку поддерживает подключение пользовательских криптографических API-интерфейсов к среде выполнения CNG. Однако поставщики хранилища ключей CNG по-прежнему не поддерживают симметричные ключи. [3] CNG работает как в пользовательском режиме, так и в режиме ядра., а также поддерживает все алгоритмы из CryptoAPI. Поставщик Microsoft, реализующий CNG, находится в Bcrypt.dll.
CNG также поддерживает криптографию на основе эллиптических кривых, которая, поскольку использует более короткие ключи для того же ожидаемого уровня безопасности , более эффективна, чем RSA. [4] CNG API интегрируется с подсистемой смарт-карт за счет включения модуля поставщика базовых служб шифрования смарт-карт (Base CSP), который инкапсулирует API смарт-карт. Производители смарт-карт просто должны сделать свои устройства совместимыми с этим, а не предлагать решение с нуля.
CNG также добавляет поддержку Dual_EC_DRBG , [5] генератор псевдослучайных чисел определены в NIST SP 800-90A , что может подвергнуть пользователь к прослушиванию по Агентству национальной безопасности , так как он содержит kleptographic бэкдора, если разработчик не помнит , чтобы генерировать новые базовые точки с другой криптографически безопасный генератор псевдослучайных чисел или генератор истинных случайных чисел, а затем публикует сгенерированное начальное число, чтобы удалить бэкдор NSA. Это тоже очень медленно. [6] Он используется только при явном вызове.
CNG также заменяет PRNG по умолчанию на CTR_DRBG, используя AES в качестве блочного шифра, потому что более ранний RNG, который определен в теперь замененном FIPS 186-2, основан на DES или SHA-1 , оба из которых были повреждены. [7] CTR_DRBG - один из двух алгоритмов в NIST SP 800-90, одобренных Шнайером , второй - Hash_DRBG. [6]
См. Также [ править ]
- КАПИКОМ
- DPAPI
- Криптография с открытым ключом
- Поставщик криптографических услуг
- PKCS # 11
- Crypto API (Linux)
Ссылки [ править ]
- ^ Ковырять под капотом: взгляд программиста на Windows NT 4.0
- ^ Suite B Архивировано 07 февраля 2009 г. в Wayback Machine
- ^ Хранение и поиск ключей, Microsoft
- ^ Дело в пользу криптографии с эллиптическими кривыми, АНБ
- ↑ Шнайер, Брюс (17 декабря 2007 г.). «Dual_EC_DRBG добавлен в Windows Vista» . Шнайер о безопасности . Проверено 13 января 2010 года .
- ^ a b Шнайер, Брюс (15 ноября 2007 г.). «Странная история Dual_EC_DRBG» . Шнайер о безопасности . Проверено 12 января 2010 года .
- ^ "FIPS PUB 186-2" (PDF) . Федеральные стандарты обработки информации . Национальный институт стандартов и технологий . 27 января 2000 . Проверено 13 января 2010 года .
Внешние ссылки [ править ]
- Справочник по криптографии на MSDN
- Microsoft CAPI в CryptoDox