No, il sistema operativo Android non garantisce che i dati delle intenzioni non vengano visti da nessuno. Qualsiasi app dannosa che implementa il filtro intent è in grado di ricevere il messaggio e quindi acquisire i dati sensibili. La crittografia dei dati è una buona idea, ma assicurati che:
- la chiave utilizzata per la crittografia non è memorizzata sulla scheda SD.
- non stai codificando la chiave nell'app in quanto è molto banale ottenere la sorgente dall'apk.
Inoltre, assicurati che solo le app che sono destinate a ricevere il messaggio (tramite intenti) ricevano l'intento e che nessun'altra app sia in grado di ricevere tale intenzione. Se si desidera comunicare dati riservati e se si conoscono i nomi delle classi che le app comunicheranno tramite intenti, è possibile garantire che solo l'app specifica riceva l'intento utilizzando il metodo setClassname()
degli intent. Ad esempio:
Intent i = new Intent();
i.setClassName(“your.pkg.name”, “your.pkg.name.Destination”);
o lasciando che le app che hanno solo autorizzazioni specifiche ricevano l'intento. Ad esempio:
Intent i = new Intent();
i.setAction(“your.own.action”);
sendBroadcast(i, “your.own.permission”);
Fonte: " Seven Ways to Hang Yourself with Google Android " (Defcon 19)