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