24 votos

Google no permite que las aplicaciones lean los mensajes SMS, pero ¿por qué pueden leer directamente los SMS OTP?

La aplicación Termux:API tiene un comando termux-sms-list para listar los mensajes SMS en el terminal Termux. Sin embargo, la wiki dice que ya no es compatible debido a Google.

El uso de esta API ya no está permitido por Google y hemos tenido que desactivarla para evitar que la aplicación Termux:API sea eliminada de Google Play.

Pero aún así, las aplicaciones bancarias que utilizan la autenticación OTP mediante SMS pueden leer automáticamente el SMS entrante e introducir la contraseña sin la interacción del usuario.

¿Qué es lo que las diferencia en cuanto a la API?

4 votos

26voto

Andrew T. Puntos 2107

Google bloquea las aplicaciones para que no utilicen (erróneamente) los permisos de Registro de llamadas y/o SMS si no son las funcionalidades principales de las aplicaciones, con algunas excepciones y alternativas.

SMS ( termux-sms-list y termux-sms-send ) y el registro de llamadas ( termux-call-log ) no son el objetivo principal de la app Termux:API, por lo que el desarrollador ha tenido que eliminar los permisos para evitar que la app sea eliminada en la Play Store.

Desde Ayuda de la consola de juegos ,

Si tu aplicación no requiere acceso a los permisos de registro de llamadas o de SMS, debes eliminar estos permisos del manifiesto de tu aplicación. A continuación se detallan los detalles de la implementación alternativa que cumple con la política.

Cuándo debe acceder a estos permisos

Sólo debes acceder a los permisos de registro de llamadas o de SMS cuando tu aplicación esté dentro de los usos permitidos y sólo para habilitar la funcionalidad principal de tu aplicación.

La funcionalidad principal se define como el propósito principal de la aplicación. Puede consistir en un conjunto de características básicas, que deben estar documentadas de forma destacada y promocionadas en la descripción de la aplicación. Sin la(s) característica(s) principal(es), la aplicación está "rota" o es inutilizable.

Hay algunas excepciones temporales que el desarrollador puede solicitar (se detallan en la misma página de ayuda), pero al final, queda a criterio de Google permitirlo o no.

Por otro lado, Google también ofrece una alternativa exclusivo para leer los SMS OTP, llamado API de verificación de SMS que utiliza Google Play Services . Esto no requiere que una aplicación solicite permiso para los SMS, pero el dispositivo debe tener Play Services funcionando.

Aunque, la restricción se limita principalmente a la política de Google Play Store . Las aplicaciones alojadas en mercados alternativos o autoalojadas pueden ignorar esto y utilizar los permisos de Android como antes sin preocuparse por la eliminación de la lista, aunque los usuarios pueden sentirse incómodos con estos permisos que invaden la privacidad.


En resumen, en cuanto a la API, la diferencia es:

  1. Termux:API utilizada El sistema de permisos de Android , que está restringido por la política de Google Play Store ahora.
  2. Las aplicaciones bancarias (y otras) utilizan API de verificación de SMS del servicio Google Play , exclusivamente para la lectura de SMS OTP dirigidos sólo a sus propias aplicaciones.

17 votos

Quizás valga la pena señalar que, en el caso de la verificación por SMS, la aplicación no lee ni puede leer ninguno de los mensajes SMS: el servicio de Play Services busca la cadena OTP, la analiza y sólo pasa el código OTP a la aplicación. No envía ningún otro contenido de los SMS a la aplicación.

0 votos

TL;DR Google lee el SMS y analiza la OTP. La aplicación sólo se comunica con el servicio de Google que sólo proporciona el token OTP analizado. Esto también significa que la API de Google se fallan con los SMS OTP extraños, aunque estoy bastante seguro de que funciona el 99,9% de las veces y si falla significa que tu SMS tiene datos extra en un formato extraño que no debería estar ahí en un mensaje SMS OTP simple en primer lugar.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X