Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Интерфейс программирования криптографических приложений для платформы 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)

Ссылки [ править ]

  1. ^ Ковырять под капотом: взгляд программиста на Windows NT 4.0
  2. ^ Suite B Архивировано 07 февраля 2009 г. в Wayback Machine
  3. ^ Хранение и поиск ключей, Microsoft
  4. ^ Дело в пользу криптографии с эллиптическими кривыми, АНБ
  5. Шнайер, Брюс (17 декабря 2007 г.). «Dual_EC_DRBG добавлен в Windows Vista» . Шнайер о безопасности . Проверено 13 января 2010 года .
  6. ^ a b Шнайер, Брюс (15 ноября 2007 г.). «Странная история Dual_EC_DRBG» . Шнайер о безопасности . Проверено 12 января 2010 года .
  7. ^ "FIPS PUB 186-2" (PDF) . Федеральные стандарты обработки информации . Национальный институт стандартов и технологий . 27 января 2000 . Проверено 13 января 2010 года .

Внешние ссылки [ править ]

  • Справочник по криптографии на MSDN
  • Microsoft CAPI в CryptoDox