¿Debo cifrar los datos enviados a través de Android?

6

Quiero desarrollar dos aplicaciones Android que se comunicarán a través de intents (en el mismo dispositivo).

Cuando las dos aplicaciones transfieren datos confidenciales, ¿deberían cifrarlas?

¿O el sistema operativo Android garantiza (o al menos intenta garantizar) que los datos de intención no sean vistos por nadie más que el remitente y el destinatario?

Por supuesto, supongamos que el usuario siempre selecciona mi aplicación como el receptor de la intención.
Digamos también que ambas aplicaciones están instaladas, eso debería evitar el secuestro del espacio de nombres.

    
pregunta Nicolas Raoul 31.03.2014 - 07:06
fuente

1 respuesta

4

No, el sistema operativo Android no garantiza que nadie vea los datos de intención. Cualquier aplicación malintencionada que implemente el filtro de intención puede recibir el mensaje y, por lo tanto, obtener sus datos confidenciales. Cifrar datos es una buena idea, pero asegúrese de que:

  1. la clave utilizada para el cifrado no se almacena en la tarjeta SD.
  2. no estás codificando la clave en la aplicación, ya que es muy trivial obtener la fuente de la apk.

Además, asegúrese de que solo las aplicaciones que están destinadas a recibir el mensaje (a través de intenciones) estén recibiendo la intención y que ninguna otra aplicación pueda recibir esa intención. Si desea comunicar datos confidenciales y si conoce los nombres de clase de las aplicaciones que se estarían comunicando a través de intentos, puede asegurarse de que solo esa aplicación específica reciba el intento utilizando el método setClassname() de los intentos. Por ejemplo:

Intent i = new Intent(); 
i.setClassName(“your.pkg.name”, “your.pkg.name.Destination”);

o permitiendo que las aplicaciones que tienen solo permisos específicos reciban la intención. Por ejemplo:

Intent i = new Intent(); 
i.setAction(“your.own.action”); 
sendBroadcast(i, “your.own.permission”);

Fuente: " Siete maneras de ahorcarte con Google Android " (Defcon 19)

    
respondido por el TheRookierLearner 31.03.2014 - 10:29
fuente

Lea otras preguntas en las etiquetas