Windows эквивалент OS X брелок? - PullRequest
       19

Windows эквивалент OS X брелок?

53 голосов
/ 14 января 2009

Существует ли эквивалент Windows X Keychain, используемый для хранения пользовательских паролей, в Windows? Я бы использовал его, чтобы сохранить пароль пользователя для веб-службы, которую использует мое (настольное) программное обеспечение.

Из ответов на этот связанный вопрос ( Защита паролей пользователей в настольных приложениях (Rev 2) ) и из множества доступных инструментов хранения паролей сторонних производителей, я предполагаю, что такой ничего не существует ... Я застрял или спрашиваю пароль каждый раз, когда я получаю доступ к веб-сервису, или просто храню его запутанным?

Ответы [ 4 ]

16 голосов
/ 14 января 2009

«Традиционным» эквивалентом Windows будет подсистема защищенного хранилища, используемая IE (до IE 7), Outlook Express и несколькими другими программами. Я полагаю, что он зашифрован с помощью вашего пароля для входа, что предотвращает некоторые офлайновые атаки, но как только вы войдете в систему, любая программа, которая захочет, сможет его прочитать. (См., Например, NirSoft's Защищенное хранилище PassView .)

Windows также предоставляет CryptoAPI и API защиты данных, которые могут помочь. Опять же, я не думаю, что Windows делает что-то, чтобы процессы, работающие под одной учетной записью, не видели пароли друг друга.

Похоже, что книга Механика идентификации и аутентификации пользователя предоставляет более подробную информацию обо всех из них.

Eclipse (с помощью функции Secure Storage ) реализует нечто подобное, если вам интересно посмотреть, как это делает другое программное обеспечение.

15 голосов
/ 30 марта 2015

В Windows 8 есть понятие цепочки для ключей под названием Password Vault. Приложения Windows Runtime (Modern / Metro), а также приложения для управляемых настольных компьютеров могут использовать его. Согласно документации:

Приложения и службы не имеют доступа к учетным данным, связанным с другими приложениями или службами.

См. Как хранить учетные данные пользователя на MSDN.

Pre-Windows 8, API защиты данных (DPAPI) является наиболее близким эквивалентом цепочки для ключей. Произвольные данные могут быть зашифрованы с использованием этого API, хотя хранение зашифрованных данных остается за разработчиком. В конечном итоге данные шифруются с использованием пароля текущего пользователя, однако для дополнительной защиты данных от другого программного обеспечения или пользователей может быть включена «дополнительная энтропия», предоставленная пользователем или разработчиком. Данные также могут быть расшифрованы на разных компьютерах в домене.

DPAPI может быть доступен через собственные вызовы функций Crypt32.dll CryptProtectData и CryptUnprotectData или через класс ProtectedData .NET Framework, который является оболочкой с ограниченным набором функций для прежних функций.

Более подробная информация о DPAPI, чем вам когда-либо требовалось, доступна в статье Passcape Секреты DPAPI. Анализ безопасности и восстановление данных в DPAPI .

14 голосов
/ 05 декабря 2010

На самом деле, просматривая MSDN, функции, которые они рекомендуют использовать (вместо защищенного хранилища):

  • CryptProtectData
  • CryptUnprotectData

Ссылка для CryptProtectData находится на Функция CryptProtectData .

7 голосов
/ 16 октября 2018

Это 2018 год, и в Windows 10 есть «Диспетчер учетных данных», который можно найти в «Панели управления»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...