Почему проверка подписи на удаленном сервере более безопасна, чем на устройстве?
Контроль безопасности В разделе «Обзор биллинга в приложении» указывается, что нужно выполнять «проверку подписи» на удаленном сервере, а не в приложении (запущенном локально на устройстве Android):
Выполняя проверку подписи, вы можете помочь обнаружить ответы, которые были подделаны или были подделаны. Вы можете выполнить этот шаг проверки подписи в своем приложении; однако, если ваше приложение подключается к безопасному удаленному серверу, мы рекомендуем вамвыполнить проверку подписи на этом сервере.
Но если я выполню проверку подписи на удаленном сервере, ожидаю толькоyes/no
или жеtrue/false
ответ, разве это не легче перехватить и изменить злоумышленнику?
И если ответ от удаленного сервера - еще одна подпись, то как безопаснее проверить вторую подпись локально на устройстве, чем сделать это для первой (рыночной) подписи?
Чего мне не хватает?
Обновить: @alf правильно заметил, что если сервер также отвечает за доставку приобретенного контента и проверка подписи выполняется на сервере, то даже если злоумышленник скомпрометирует приложение, сервер не будет доставлять контент, приобретенный с помощью биллинга в приложении. Это тривиально и хорошо понято.
Изначально я не упомянул о том, что я имею в виду сценарий, в котором серверне доставляет контент а только проверяет подпись, так что приложение может решить, следует лиразблокировать определенные функции, В таком случае, в чем преимущество проверки подписи удаленного сервера над встроенной в приложение?