Почему проверка подписи на удаленном сервере более безопасна, чем на устройстве?

Раздел Security Controls в обзоре In-app Billing предписывает выполнять "проверку подписи" на удаленном сервере, а не в приложении (запущенном локально на устройстве Android):

Выполняя проверку подписи, вы можете помочь обнаружить ответы... которые были подделаны или подменены. Вы можете выполнить этот шаг проверки подписи в своем приложении; однако, если ваше приложение подключается к защищенному удаленному серверу, то мы рекомендуем вам выполнить проверку подписи на этом сервере. сервере.

Но если я выполняю проверку подписи на удаленном сервере, ожидая только ответа да/нет или правда/ложь, разве это не легче для перехвата и модификации злоумышленником?

И если ответ с удаленного сервера - это еще одна подпись, то насколько проверка второй подписи локально на устройстве безопаснее, чем проверка первой (рыночной) подписи?

Что я упускаю?

Обновление: @alf правильно заметил, что если сервер также отвечает за доставку купленного контента и проверка подписи выполняется на сервере, то даже если злоумышленник скомпрометирует приложение, сервер не доставит контент, купленный через In-app billing. Это тривиально и хорошо понятно.

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

5
задан Bill The Ape 10 January 2012 в 01:41
поделиться