Приложения Для Windows 8-Безопасность Локального Хранилища
Насколько безопасны локальные данные
ApplicationData.Current.LocalSettings
Хранилище, используемое в приложениях Магазина Windows 8?
Эта прикладная статья хранения данных ничего не говорит о безопасности, как и Эта.
Можно ли манипулировать этими данными извне приложения?
Я посмотрел на расположение данных
C:Users[имя пользователя]AppDataLocalPackages[package_namespace]LocalState)
, но не нашел его. Где она сохранена - вот именно?
Я пытаюсь оценить безопасность этого механизма хранения, чтобы решить, могу ли я хранить там критически важную для безопасности информацию.3 ответа:
После еще одного исследования я нашел:
Http://lunarfrog.com/blog/2012/09/13/inspect-app-settings/
Данные хранятся в
C:\Users[пользователя]\AppData\местные\пакеты[package_namespace]\LocalState\Настройки\Настройки.dat
, который представляет собой файл реестра Windows NT (REGF), который может быть открыт с помощью редактора реестра, а также может быть изменен.
Это означает, что локальное хранение не безопасно.
Если нет другой способ, шифрование данных и запутывание ключей-это возможность.
Если вы хотите сохранить учетные данные пользователя, взгляните на
PasswordVault
класс. В противном случае используйте DPAPI , Как вы уже предлагали сами.
В этой статье о хранении данных приложений ничего не говорится о безопасности, как и в этой. Можно ли манипулировать этими данными извне приложения?
Это хранилище похоже наосновные данные iOS . Его существенно ненадежный вход, если хранилище не защищено (ниже уровня приложения). Даже если хранилище защищено шифрованием, оно, скорее всего, не аутентифицировано, поэтому его можно подделать.
Если нет другого способа шифрования данных и запутывание ключей-это возможность.
На платформах Windows стандартным способом защиты конфиденциальных данных является использование API защиты данных (DPAPI). Используйте DPAPI с предоставленным пользователем секретом (дополнительная энтропия в API) для лучшей защиты. Данные DPAPI'D хранятся вместе с профилем пользователя, в реестре или в файловой системе. См., например, защита данных Windows, Как использовать Data Protection и Data protection API (Магазин Windows приложения) . Майкл Говард и Дэвид Леблан имеют хорошее отношение к этому вопросу в написание защищенного кода, второе издание. См. Главу 9, защита секретных данных , начиная со страницы 299.
Если вам нужна база данных, похожая на шифрование, посмотрите на SQLCipher. Он использует аутентифицированное шифрование, поэтому обеспечивает конфиденциальность и целостность. Windows 8 поддерживает собственные библиотеки, в том числе на своих телефонах (см., например, собственный код на Windows Phone 8 ).