Как PasswordVault защищает пароли?
Я экспериментировал с Windows.Security.Credentials.PasswordVault
как способ хранения паролей моих приложений.
Читая документацию по классам и документацию UWP, я предположил, что в хранилище есть некоторый метод идентификации приложений, так что конкретное приложение может получать только те учетные данные, которые оно сохранило в самом хранилище:
Приложения и службы не имеют доступа к учетным данным, связанным с другими приложениями или службами.
Я не смог подтвердить, что это работает, так как приложение, которое я написал, действительно могло получить доступ к учетным данным, сохраненным в моем хранилище другим приложением, включая пароли. Поскольку для механизма не требуются сертификаты или идентификаторы приложений, мне было любопытно, как он может обеспечить вышеуказанное свойство.
Глядя на SO, я обнаружил, что этот очень похожий вопрос остается без ответа. Это смущает меня еще больше, потому что его спрашивающий говорит:
Похоже, что хотя второе приложение использует тот же ключ, что и первое приложение, использованное для сохранения данных; второе приложение не может получить эти данные. Это хорошо.
В моем случае второе приложение может прочитать сохраненные первым учетные данные хранилища без проблем, пароль и все. Кроме того, я могу также прочитать все пароли, хранящиеся в Internet Explorer, для веб-сайтов, на которых сохранена информация об автозаполнении паролей. Комментарии к этому вопросу подтверждают, что не существует механизма, предотвращающего доступ одного приложения к сохраненным учетным данным другого, если оба они выполняются одним и тем же пользователем, что прямо противоречит моему пониманию документации API.
Я, должно быть, неправильно понимаю, как работает аспект безопасности PasswordVault. Как его можно использовать для защиты учетных данных, чтобы их могло использовать только приложение, которое их создало?
Информация о моей среде:
- Приложения работают на Windows 10
- Платформа API 10.0 (также протестирована с 8.0)
- Приложения выполняются без повышенных прав