Android отправляет проверку лицензии на доверенный сервер

#java #php #android #license-key

#java #php #Android #лицензионный ключ

Вопрос:

Я читал о LVL и ранее внедрил его в свое приложение с помощью заставки, проверяющей лицензию .. но я уверен, вы могли догадаться, что его легко взломать. Я не пытаюсь обезопасить свое приложение и быть на 100% защищенным от ошибок, а просто хочу, чтобы это не поощряло попытки взломщиков.

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

Я прочитал это сообщение в блоге здесь:

«Если в вашем приложении есть сетевой компонент, очень эффективным методом предотвращения пиратства является отправка копии ответа сервера лицензий, содержащегося внутри класса responseData, вместе с его подписью, на ваш сетевой сервер. Затем ваш сервер может проверить, что у пользователя есть лицензия, и, если нет, отказаться от предоставления любого онлайн-контента.

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

При выполнении проверки на стороне сервера вам потребуется проверить все следующее:

Что подпись ответа действительна. Что служба лицензирования вернула ЛИЦЕНЗИОННЫЙ ответ. Имя пакета и код версии соответствуют правильному приложению. Срок действия ответа лицензии не истек (дополнительно проверьте ответ лицензии VT). Вы также должны зарегистрировать поле userId, чтобы убедиться, что взломанное приложение не воспроизводит лицензионный ответ от другого лицензированного пользователя. (Это было бы видно по аномально большому количеству проверок лицензии, поступающих от одного идентификатора пользователя.)»

Мне просто нужна помощь, чтобы начать с того, как выполнять проверку на стороне сервера. Да, я могу получить подпись ответа, ЛИЦЕНЗИОННЫЙ или НЕЛИЦЕНЗИОННЫЙ ответ, имя пакета, срок действия лицензии, но как мне выполнить регистрацию на моем сервере?

Буду признателен за любую помощь для начала. Спасибо за ваше время.

Ответ №1:

Это может помочь вам начать: android-market-php project-проверка лицензии

Ответ №2:

Это должно помочь вам начать:

http://php.net/manual/en/function.openssl-verify.php

Я не могу проверить, насколько хорошо это работает, хотя наш PHP-специалист все еще работает над этим.