A purchase token is a string that represents a buyer's entitlement to a product on Google Play. It indicates that a Google user has paid for a specific product, represented by a SKU
а также
Product ID - A unique, human readable ID for your product. Product IDs are also called SKUs in the Google Play Billing Library.
Поскольку он удобочитаем, я считаю, что мы можем делиться SKU публично (например, в диплинках).
Стекаем ли мы что-нибудь для хакеров в таком случае или нужно хешировать SKU?
As it is human readable I believe we can share SKU publicly (ex. in deeplinks).
Да, вы можете использовать их где угодно, даже если продукт доступен только тем, кто его купил или имеет разрешение на просмотр.
Как вы говорите, он общедоступный, поэтому не секрет и не имеет возможности авторизации.
Do we leak anything for hackers in that case or should we hash SKU?
Нет необходимости хэшировать SKU, если это общедоступная информация, которая сама по себе не может позволить хакеру получить доступ к приобретенному продукту. Хакеру потребуется доступ к токену покупки и, возможно, другим учетным данным, чтобы иметь возможность получить доступ к продукту так же, как и тот, кто его купил.
Прежде чем я уйду, позвольте мне быстро предупредить ...
Это может показаться очевидным, но купить токен следует рассматривать как секрет, поэтому он должен постоянно храниться в безопасности, но это непростая задача.
Имейте в виду, что любые токены, которые есть в исходном коде вашего приложения, легко извлекаются с помощью методов обратного проектирования, как я указываю в это сообщение в блоге:
Oh and did I mention already that in the case of mobile apps their binaries may be reverse engineered with tools like the Mobile Security Framework despite some techniques you may have employed to protect the secrets in your mobile app at run-time or to hide them from being reverse engineered from your binary?
Как я указываю в этом сообщении в блоге, более продвинутые пользователи также могут использовать методы обратного проектирования для извлечения токенов во время выполнения с помощью таких инструментов, как Платформа мобильной безопасности. Дополнительные инструменты можно найти, выполнив поиск в Google по запросу dynamic instrumentation tools.