Me temo que no hay protección real posible, por múltiples razones:
- como usted ha dicho, todas las aplicaciones pueden leer en todas partes en la SDCard. Esto no requiere ningún permiso especial
- aplicaciones con el
INTERNET
el permiso no tiene ninguna restricción en el uso de la red, incluso pueden crear sus propios sockets e implementar sus propias formas de comunicación.
- Si bien el uso de un contenedor cifrado parecería prometedor a primera vista, la aplicación de la cámara tampoco podría acceder a este contenedor cuando no está abierto - y si el contenedor se abre, otras aplicaciones podrían acceder a él también. Así que incluso utilizando un contenedor de este tipo y que sustituya a
/sdcard/DCIM
no funciona para su propósito
Resumiendo: si quieres ese nivel de protección, o...
- no puede utilizar ninguna aplicación que requiera el
INTERNET
permiso (no hay forma de hacerlo, ya que varios de ellos ya vienen preinstalados con el dispositivo)
- tendrá que rootear el dispositivo y configurar un cortafuegos que prohíba a todas las aplicaciones acceder a Internet (lo que, fuera de la UE, anularía la garantía)
- es necesario tener desactivados los datos móviles y el WiFi en todo momento, y no conectar nunca el dispositivo a ninguna red
Como nada de lo anterior es realmente factible, tienes que llegar a un compromiso: cuando selecciones las aplicaciones que quieres instalar/utilizar, comprueba de antemano su fiabilidad -- y mantén los dedos alejados de las "aplicaciones sospechosas" así como de las "fuentes sospechosas".
Siempre que sólo te preocupen las fotos que haces: si encuentras una app de cámara que pueda usar un contenedor cifrado sólo por sí misma, podría ser una forma de hacerlo (nunca he oído hablar de ella, pero sería posible crearla, así que podría existir). Otra posibilidad sería una "aplicación contenedora" que te permitiera especificar qué aplicaciones pueden acceder a ella. Pero ten en cuenta que tu aplicación de galería (la que usas para ver las fotos) muy probablemente tendrá el INTERNET
permiso también...
EDITAR: En Compro01 señala en su comentario más abajo, con Android 4.1 y superiores se puede añadir cierta protección activando la opción "proteger tarjeta SD" en las opciones de desarrollador. Si está activada, las aplicaciones (incluida la aplicación de la cámara) deben tener la etiqueta READ_EXTERNAL_STORAGE
respectiva WRITE_EXTERNAL_STORAGE
permiso para acceder a la SDCard.
Además, PerennePinömpel encontró una aplicación llamada InformaCam :
InformaCam, que forma parte de la suite de aplicaciones móviles SecureSmartCam, es una herramienta que permite a los usuarios incorporar metadatos expansivos a vídeos o imágenes fijas, cifrar medios a destinos de confianza mediante PGP y cargar medios de forma segura a destinos de confianza capaces de aceptar medios InformaCam.
Lamentablemente, ni esa aplicación ni la suite completa están disponibles actualmente en Google Play. Tampoco he podido encontrar una .apk
en el sitio mencionado, por lo que habría que clonar su repositorio Git y compilar la aplicación.