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