Есть ли в Windows своего рода безопасное локальное устройство хранения данных?

Используйте [spring] mvc поддержку для статических ресурсов , его атрибут location - это Spring Resource, поэтому вы можете использовать префикс file:


или

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**")
                .addResourceLocations("file:/my/external/directory/");
    }
}

@See Справочник по весне Глава 6.4 ResourceLoader для таблицы, в которой перечислены все префиксы для ресурсов

18
задан Paulius 14 January 2009 в 10:59
поделиться

7 ответов

там путь, чтобы зашифровать информацию об окнах и иметь окна надежно управляют паролями?

CryptProtectData: http://msdn.microsoft.com/en-us/library/windows/desktop/aa380261 (v=vs.85) .aspx

Используя от.NET: http://msdn.microsoft.com/en-us/library/aa302402.aspx

Исторически, Защищенное устройство хранения данных (доступный в XP, только для чтения в перспективе +): http://msdn.microsoft.com/en-us/library/bb432403%28VS.85%29.aspx

22
ответ дан 30 November 2019 в 08:43
поделиться

Необходимо рассмотреть использование DPAPI с этой целью. Это зашифрует Ваши данные со специальным (внутренним) симметричным ключом, который находится на основе в расчете на пользователя. Вы не должны даже просить пароли в этом случае, потому что различным пользователям в системе присвоят различные ключи им.

оборотная сторона его могла бы быть то, что Вы не можете восстановить данные, если пользователь удален/Windows переустановленный (я полагаю что дело обстоит так, не совсем уверенный хотя). В этом случае зашифруйте данные с "самосгенерированным" ключом, полученным из пароля, и сохраните пароль в реестре/файле, зашифрованном с помощью DPAPI.

5
ответ дан 30 November 2019 в 08:43
поделиться

Можно использовать собственное средство шифрования. Установите зашифровать атрибут на своей папке или файле (от страницы свойств, нажмите на "усовершенствованную" кнопку). Затем можно установить пользователей, которые могут получить доступ к файлу (по умолчанию, это только включает создателя файла). Большое преимущество этого решения состоит в том, что это полностью прозрачно из приложения и пользовательских точек зрения.

, Чтобы сделать это программно: использование API Win32, звоните EncryptFile() на каталоге, где Вы хотите хранить свои чувствительные данные в расчете на пользователя. С этого времени все недавно созданные файлы в этом dir будут зашифрованы и только читаемые их создателем (который был бы текущим пользователем Вашего приложения). Кроме того, можно использовать эти FILE_ATTRIBUTE_ENCRYPTED флаг на отдельных файлах во время создания. Можно проверить информацию о шифровании из проводника на странице свойств файла и видеть, что созданные из приложения файлы правильно шифруются и ограничиваются своими соответствующими пользователями. Нет никакого пароля, чтобы сохранить или использовать, все прозрачно.

, Если Вы хотите скрыть данные от всех пользователей затем, можно создать специального определенного для приложения пользователя и явиться олицетворением их из приложения. Это, наряду с ACLs, является счастливой техникой в Windows для системных служб.

3
ответ дан 30 November 2019 в 08:43
поделиться

Вы могли бы хотеть посмотреть на Изолированное устройство хранения данных, которое является способом сохранить настройки и другие данные по на данные приложения автоматически. Посмотрите пример и MSDN.

Это - альтернатива хранению нормальных настроек в реестре, лучшей в большом количестве случаев... Я не уверен, как данные хранятся в файл однако, таким образом, необходимо было бы проверить, Вы не захотите, чтобы это было доступно, даже зашифрованное другим пользователям. Из памяти только приложение. это создало устройство хранения данных, может открыть его - но этому нужна проверка.

Редактирование:

Из памяти, когда я в последний раз использовал это, хороший подход должен записать класс "Установки", который обрабатывает все настройки и т.д. в Вашем приложении. Этот класс затем имеет эквивалент, Сериализируют и Десериализовывают методы, которые позволяют ему писать все свои данные в файл IsolatedStorage или загружать их назад снова.

дополнительное преимущество реализации это таким образом - Вы, может использовать атрибуты для повышения битов источника и может затем использовать Сетку Свойства, чтобы быстро дать Вам пользовательские средства редактирования настроек (Сетка Свойства управляет свойствами класса во времени выполнения с помощью отражения).

2
ответ дан 30 November 2019 в 08:43
поделиться

Я рекомендую посмотреть на Блок приложений Криптографии Библиотеки Предприятия. Проверьте этот сообщение в блоге . Windows имеет созданный в Защите данных API для шифрования данных, но Блок приложений Crypto делает это более простым.

0
ответ дан 30 November 2019 в 08:43
поделиться

Erm хешируют пароль? Вы не должны хранить реальное соглашение нигде по машине просто хешированный пароль (возможно посоливший также). Затем, когда пользователь вводит их пароль, Вы выполняете ту же операцию на этом и сравниваете ее с хешированной, которую Вы сохранили на диске.

-5
ответ дан 30 November 2019 в 08:43
поделиться

Гм, то, чего Вы пытаетесь достигнуть, точно, чего DRM пыталось достигнуть. Зашифруйте что-то, затем дают пользователю ключи (однако запутываемый) и crypto. Они сделали это с DVD. Они сделали это с Blu-ray. Они сделали это с iTunes.

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

, Если все Вы делаете, шифрует пользовательские данные, затем просят у пользователя их пароль. При попытке защитить свои внутренние данные от пользователя, запускающего приложение, Вы - S.O.L.

-4
ответ дан 30 November 2019 в 08:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: