Recomendaciones de seguridad

A medida que diseñas tu implementación de la Facturación integrada, asegúrate de seguir las recomendaciones de seguridad que se incluyen en este documento. Estos lineamientos se recomiendan para cualquier usuario del servicio de Facturación integrada de Google Play.

Cómo validar los detalles de la compra

Es muy recomendable validar los detalles de la compra en un servidor de confianza. Sin embargo, si no usas un servidor, puedes validar estos detalles dentro de tu app en un dispositivo.

Cómo validar en un servidor

Cuando implementas tu lógica de verificación de firma en un servidor, haces que a los atacantes les resulte difícil aplicar ingeniería inversa en tu archivo APK. Esto preserva la integridad de las firmas que tu lógica verifica.

Para validar los detalles de la compra en un servidor de confianza, completa siguientes los pasos:

  1. Asegúrate de que el protocolo de enlace entre el dispositivo y el servidor sea seguro.
  2. Verifica la firma de datos que se muestra y el orderId, y comprueba que el orderId sea un valor único que no hayas procesado anteriormente.
  3. Verifica que la clave de tu app haya firmado los INAPP_PURCHASE_DATA que procesas.
  4. Valida las respuestas de compra mediante el recurso ProductPurchase (para los productos integrados en la aplicación) o el recurso SubscriptionPurchase (para las suscripciones) desde la API de Google Play Developer. Este paso es particularmente útil porque los atacantes no pueden crear respuestas ficticias para tus solicitudes de compra de Play Store.

Cómo proteger tu contenido desbloqueado

Para evitar que usuarios malintencionados redistribuyan tu contenido desbloqueado, no lo integres a tu archivo de APK. Como alternativa, toma una de estas medidas:

  • Usa un servicio en tiempo real para entregar tu contenido, como el canal de contenido. Entrega contenido mediante un servicio en tiempo real que te permita mantener tu contenido actualizado.
  • Usa un servidor remoto para entregar tu contenido.

Cuando entregas contenido desde un servidor remoto o un servicio en tiempo real, puedes almacenar el contenido desbloqueado en la memoria o en la tarjeta SD del dispositivo. Si almacenas contenido en una tarjeta SD, asegúrate de encriptarlo y usar una clave de encriptación específica del dispositivo.

Cómo tomar medidas contra incumplimientos de marca y derechos de autor

Si usas un servidor remoto para entregar contenido o administrarlo, haz que tu app verifique el estado de compra del contenido desbloqueado cada vez que un usuario acceda a él. Esto te permite revocar el uso cuando sea necesario y minimizar la piratería.

Si ves que tu contenido se redistribuye en Google Play, actúa rápidamente y con determinación. Para obtener más información, consulta la página de Preguntas frecuentes sobre los derechos de autor en el Centro de ayuda sobre derechos de autor.