Лучшие вопросы
Таймлайн
Чат
Перспективы

Data Protection API

Из Википедии, свободной энциклопедии

Remove ads

Data Protection API (DPAPI) — криптографический интерфейс программирования приложений в ОС семейства Windows, обеспечивающий защиту (конфиденциальность) данных путём их шифрования.

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

Remove ads

История

В 2005 году Passcape Software выпустила первое коммерческое приложение, полностью эмулирующее работу DPAPI в офлайн-режиме, т. е. без входа пользователя в учетную запись.

В 2010 на Black Hat DC 2010 году Elie Bursztein и Jean-Michel Picod представили анализ DPAPI под названием Reversing DPAPI and Stealing Windows Secrets Offline. В дополнение к их брифингу Bursztein и Picod выпустили DPAPIck (недоступная ссылка) - утилиту с открытым исходным кодом, которая также расшифровывает данные DPAPI в офлайн-режиме.

В Windows 8 Microsoft изменила способ работы логики DPAPI. Теперь несколько пользовательских ключей можно использовать для расшифровки мастер-ключа DPAPI.

В 2012 году Passcape Software опубликовала в своем блоге подробную статью[1] о внутренней логике DPAPI и представила набор инструментов для полной автономной расшифровки и анализа DPAPI. Набор утилит эксплуатирует старые ошибки и уязвимости и полностью совместим с Windows 8.

В Windows 10 Microsoft добавила поддержку облачных ключей шифрования для учетных записей Microsoft.

Remove ads

Архитектура

DPAPI включает в себя функции: шифрования и расшифровки данных (CryptProtectData и CryptUnprotectData), а также шифрования и расшифровки памяти. Например, для предотвращения просмотра хранимых в памяти паролей при нахождении их в файле подкачки. Функции DPAPI выполняют локальный RPC-вызов сервера проверки подлинности локальной системы безопасности, который в свою очередь вызывает библиотеку CryptoAPI для выполнения операции в своём контексте безопасности. Для защиты данных может использоваться пароль пользователя для входа в систему или запрашиваться другой пароль.

Remove ads

Уязвимости

Первая реализация DPAPI содержала критическую ошибку в логике, с помощью которой можно было расшифровать все зашифрованные объекты DPAPI без знания пароля владельца.

Windows 10 имеет критический недостаток в реализации DPAPI[2], который позволяет расшифровывать dpapi-зашифрованные данные последней активной учетной записи пользователя.

Применение

DPAPI получил очень широкое распространение и применяется во многих приложениях и подсистемах Windows: в системе шифрования файлов, для хранения беспроводных паролей сети, в диспетчере учетных записей, Internet Explorer, Google Chrome, Microsoft Outlook, Skype, Windows Vault, для защиты RSA ключей и т.д.

Примечания

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads