Detectar abuso repetido usando o recall do dispositivo (Beta)

Nesta página, descrevemos como usar o reconhecimento do dispositivo para armazenar e recuperar dados personalizados com dispositivos específicos. Você pode recuperar os dados personalizados de forma confiável mais tarde quando o app for instalado no mesmo dispositivo, mesmo após a redefinição dele. Isso permite detectar e impedir que um dispositivo seja reutilizado com base em uma ação ou comportamento especificado, preservando a privacidade do usuário.

Como funciona o reconhecimento do dispositivo?

O reconhecimento do dispositivo permite que os apps armazenem e recuperem dados personalizados associados a um dispositivo específico de uma forma que preserva a privacidade do usuário. Os dados são armazenados nos servidores do Google, permitindo que o app recupere de forma confiável seus dados personalizados, mesmo após a reinstalação do app ou a redefinição do dispositivo. Por exemplo, você pode usar o recurso para recuperar dados de dispositivos em que encontrou evidências de abuso grave, dispositivos que já resgataram itens de alto valor (como um teste sem custo financeiro) ou dispositivos que estão sendo usados repetidamente para criar novas contas com fins abusivos. O reconhecimento do dispositivo preserva a privacidade do usuário porque o app solicitante só pode recuperar os dados limitados associados aos dispositivos, sem acessar identificadores de dispositivo ou usuário. Depois de ativar o reconhecimento do dispositivo, você pode fazer o seguinte:

  • Ler dados por dispositivo: é possível ler três valores personalizados ou bits para cada dispositivo ao receber um veredito de integridade. Você pode definir seu próprio significado para esses valores. Por exemplo, é possível tratar os valores como três flags separadas ou combiná-los para representar oito rótulos personalizados.
  • Modificar dados por dispositivo: depois de receber um token de integridade, use-o para fazer uma chamada do lado do servidor para o servidor do Google Play e modificar um ou mais valores. Você tem até 14 dias para usar o token. Isso permite modificar um valor se, por exemplo, o abuso só ficar evidente no período de duas semanas após a primeira verificação de integridade. Quando você modifica um valor, o mês e o ano em que a modificação foi feita também são armazenados.

Pré-requisitos e considerações para o reconhecimento de dispositivos

O reconhecimento do dispositivo só pode ser usado para armazenar e recuperar informações para proteger a segurança do app e mitigar abusos, fraudes e acesso não autorizado. Não é permitido usar o reconhecimento do dispositivo para criar impressões digitais ou rastrear usuários ou dispositivos individuais, nem usar o reconhecimento do dispositivo para acompanhar características sensíveis de usuários ou dispositivos como gênero, idade ou dados de local.

O reconhecimento do dispositivo tem os seguintes pré-requisitos:

  • O reconhecimento do dispositivo pode ser usado em smartphones, tablets, dobráveis, TVs, Auto e Wear OS. No Wear, o reconhecimento do dispositivo só está disponível em dispositivos com o Wear OS 5 ou mais recente. O reconhecimento do dispositivo não é compatível com emuladores.
  • O recurso de reconhecimento do dispositivo exige que versões recentes da Google Play Store e do Google Play Services estejam instaladas e ativadas no dispositivo.
  • O reconhecimento do dispositivo exige que a conta de usuário seja licenciada pelo Google Play. Caso contrário, o veredito não será avaliado.

O reconhecimento do dispositivo tem as seguintes considerações de tempo:

  • Depois de verificar um token de integridade, você tem até 14 dias para usá-lo e armazenar dados personalizados de reconhecimento do dispositivo.
  • O reconhecimento do dispositivo inclui carimbos de data/hora para que você possa considerar dados modificados recentemente como de maior prioridade do que dados modificados há muito tempo. Considere ignorar ou redefinir os dados após um período longo o suficiente para levar em conta que os dispositivos podem mudar de mãos ou ser recondicionados e revendidos.
  • Os bits de recall de um dispositivo serão armazenados por três anos após o último acesso de leitura ou gravação.
  • Se você precisar excluir todos os dados associados a um dispositivo, seu app poderá redefinir todos os três valores nesse dispositivo como "false". Isso vai redefinir automaticamente os carimbos de data/hora.

Para desenvolvedores com vários apps e desenvolvedores que estão transferindo apps, a revogação de dispositivos funciona da seguinte maneira:

  • Todos os apps na sua conta de desenvolvedor do Google Play têm acesso aos mesmos três valores por dispositivo. Em outras palavras, se um dos seus apps modificar um dos valores, todos os apps vão ler o valor modificado quando forem instalados no mesmo dispositivo.
  • Se um app for transferido de uma conta de desenvolvedor para outra, a revogação de dispositivo vai refletir os dados por dispositivo da nova conta, não da antiga.

Ativar o reconhecimento do dispositivo

Quando estiver tudo pronto, ative o reconhecimento do dispositivo no Play Console:

  1. Faça login no Play Console.
  2. Selecione o app que vai usar o reconhecimento do dispositivo.
  3. Navegue até Protegido com o Google Play no menu à esquerda.
  4. Ao lado da API Play Integrity, clique em Gerenciar.
  5. Na seção "Respostas" da página, clique em Mudar respostas.
  6. Ative o Reconhecimento do dispositivo.
  7. Clique em "Salvar alterações".

Quando você ativa ou desativa o reconhecimento do dispositivo, todas as respostas do teste da API Play Integrity que você configurou no Play Console são excluídas, e é necessário criar essas respostas novamente.

Ler valores de reconhecimento do dispositivo

O reconhecimento do dispositivo funciona nas solicitações clássicas e padrão da API Play Integrity. Em solicitações padrão, o reconhecimento do dispositivo é atualizado na chamada de aquecimento. Em outras palavras, depois de modificar os dados por dispositivo, você precisará fazer outro aquecimento para ver o valor atualizado. Depois que o reconhecimento do dispositivo for ativado, você poderá ler os valores de reconhecimento do dispositivo nos veredictos de integridade.

Modificar valores de reconhecimento do dispositivo

É possível modificar os valores de reconhecimento do dispositivo fazendo uma chamada de API de servidor para servidor semelhante a decodificar o veredito de integridade. Definir um bit como true também atualiza a data de gravação dele, mesmo que já seja true. Definir um bit como false redefine a data de gravação como vazia. Os bits não especificados em uma solicitação permanecem inalterados. Há um pequeno atraso de propagação entre a gravação de bits e a leitura deles no veredicto. Esse atraso pode levar até 30 segundos, mas geralmente é muito menor. As solicitações de gravação de recall de dispositivo precisam ser menos frequentes do que as solicitações de token de integridade. Elas não são contabilizadas na sua cota de solicitações de token de integridade, mas estão sujeitas a limites de taxa defensivos e não públicos.

playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \
'{
  "integrityToken": "INTEGRITY_TOKEN",
  "newValues": {
    "bitFirst": true,
    "bitThird": false
  }
}'
newValues.BitFirst = true // ForceSendFields optional for value true
newValues.BitSecond = false // ForceSendFields required for value false
newValues.BitThird = nil // do not set ForceSendFields for unspecified bits
newValues.ForceSendFields = []string{"BitSecond"}