Я пишу клиент автоматического обновления. Это очень простое приложение, которое:
1) Проверяет центральный сервер, существует ли обновление для некоторых приложений
2) загружает программу установки с сервера, если новая версия существует
3) Запуск программы установки
Какие проблемы с безопасностью следует беспокоиться при написании клиента автоматического обновления?
Помимо проблем с серверами (например, кто-то взломал наш сайт и разместил там «более новое» вредоносное приложение), какие проблемы безопасности на стороне клиента я должен учитывать при реализации этого?
Мои текущие идеи:
1) Контрольная сумма. Включите контрольную сумму в файл .xml и проверьте ее на загруженный файл. (Предварительное или пост шифрование?)
2) Шифровать файл. Зашифруйте файл с помощью частного ключа, и пусть эта программа расшифровывает его с помощью открытого ключа.
Эти или любые из этих необходимых и достаточных? Есть ли что-нибудь еще, что мне нужно рассмотреть?
Пожалуйста, помните, что это только для проблем на КЛИЕНТ-СТОРОНЕ. Я почти не контролирую сам сервер.
Я настоятельно рекомендую перебирать https (с действующим сертификатом) вместе с тем, что вы собираетесь делать. Вы могли бы подумать, что можете обойтись без него, но в значительной степени все его подправляют. –
Вы шифруете что-то с помощью открытого ключа и дешифруете его с помощью закрытого ключа. Люди часто получают это назад. –
@Tom: Да, похоже, это главный аргумент! Спасибо за комментарий. – DanTheMan