Как защитить апдейтер программы от компроментации сервера? Есть типичная задача, софт получает обновления с сервера обновлений. Сейчас все сделано просто - обновления загружаются по HTTP протоколу, запакованные ZIP-ом. Некоторые апдейты содержат исполняемые EXE/DLL файлы. Сейчас задумались, что в случае компроментации сервера обновлений , можно наделать бед всем нашим клиентам.
Каким образом правильно организовать работу апдейтера , чтобы он мог отличить свои апдейты от чужих?
Насколько я понимаю, здесь нужно или зашифровать файлы апдейта так, чтобы апдейтер мог их расшифровать неким ключом , при помощи которого нельзя обратно зашифровать другие данные, вытащив этот ключ из программы. Или использовать какую-то цифровую подпись, встраиваемую в файлы на сервере и проверяемые апдейтером.
Мне больше нравится первый вариант, но какой алгоритм выбрать. Мне нужно будет шифровать файлы открытым ключом, а закрытый вшить в апдейтер, но, насколько я понимаю, вытащив этот закрытый ключ из программы, можно сделать открытый и вся защита теряет смыл.
Второй вариант можно првоернуть с использованием gpg , но нам бы хотелось обойтись без сторонних утилит.
Подскажите, как правильнее организовать весь процесс? Решение должно быть встраиваемым , без использования сторонних утилит. Заранее спасибо за помощь.

21 Авг 2019 в 07:14
190 +1
0
Ответы
1

Для защиты апдейтера программы от компрометации сервера можно использовать следующий подход:

Цифровая подпись: перед отправкой апдейта на сервер его следует подписать цифровой подписью, которую сможет проверить апдейтер программы при получении обновлений. Это поможет убедиться в том, что обновление было создано и подписано именно вашей компанией.

Шифрование: перед отправкой апдейтов на сервер их можно зашифровать с использованием асимметричного шифрования. Таким образом, апдейтер сможет расшифровать обновления, используя свой закрытый ключ, который находится только внутри программы. Это защитит данные от прослушивания или изменения на пути к клиенту.

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

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

20 Апр в 13:05
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир