Какое криптографическое решение можно использовать в автономном режиме для файла XML? - PullRequest
2 голосов
/ 01 апреля 2019

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

Если я использую метод с открытым / закрытым ключом, это бессмысленное усилие, потому что мне нужно сохранитьзакрытый ключ где-то с клиентом.Мой другой вопрос заключается в следующем: зачем мне нужно хранить открытый ключ на сервере?(особенно если этот файл генерируется очень часто с новой парой секретный / открытый ключ при повторном запросе файла с сервера).

Я мог бы использовать симметричный алгоритм, но снова мне нужно что-то хранить склиент.

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

В конце дня я ищу решение, которое просто не дает нашим пользователям видеть очевидное явление.

Я просмотрел все материалы по XMLEncryption в статьях Msdn и SO, все они требуют какого-то управления ключами, но есть ли другие решения для этого сценария?Или я застрял, храня закрытый ключ с клиентом, чтобы они могли расшифровать файл?

...