2012-08-16 18 views

Respuesta

0

Android utiliza los permisos de Unix caja de arena para proteger aplicación. Cada aplicación se ejecuta bajo un usuario único y solo ese usuario tiene permisos para operar en la carpeta /data/data/your.package.name. Sin embargo, si el dispositivo de destino está rooteado, los datos de su aplicación pueden verse comprometidos.

Algunos enlaces:

http://source.android.com/tech/security/index.html

http://www.amazon.co.uk/dp/1430240628

http://developer.android.com/guide/topics/security/permissions.html

+0

Gracias, el problema es que quiero proteger los archivos de este tipo de rooting pero también de que el usuario pueda abrirlos fuera de la aplicación –

1

Mirando a través de las respuestas de Mighter y dada su preocupación por teléfonos libres que parece su sido discutido aquí.

http://source.android.com/tech/encryption/android_crypto_implementation.html

(un enlace sub he encontrado en algún lugar de aquí http://source.android.com/tech/security/index.html)

Originalmente yo estaba pensando que podría utilizar el ContentProvider y almacenar los datos en una base de datos, creo que se pueden proteger, o al menos podría encriptar los datos dentro de él. Sin embargo, no estaba seguro de que eso respondiera tu problema. El enlace de implementación de Android Crypto espero que cubra tus requisitos. Aunque podría ser poco práctico debido a los requisitos de la versión.

+0

Ver la respuesta de CommonsWare. Él tiene razón, simplemente no puedes protegerlo. Entonces la respuesta es esencialmente NO. – Emile

1

dos notas:

En términos generales su aplicación podría ser tan segura como el sistema operativo. En caso de rootear el dispositivo, el sistema operativo ya no es seguro. Por lo tanto, su aplicación tampoco puede ser segura. Por ejemplo podría haber ajustes de sistema de operación que permitan:

  • entrada de teclado de registro
  • subvert cualquier llamadas (incluidas las llamadas a API crypto)
  • de registro de cualquier información que llega a través de HTTP (S).

La segunda observación es que en algún momento deberá proporcionar sus datos (archivos) en forma clara (no encriptada) a aplicaciones de terceros. Tan pronto como lo haya hecho, pueden copiarlo, enviarlo a algún servidor y no pueden hacer nada al respecto. Por lo tanto, incluso si proporciona acceso a estos archivos durante un tiempo limitado, aún pueden "perder".


Dicho esto, el enfoque más simple (como se señaló Emile) sería el uso de un conjunto de datos ContentProvider, cifrar dentro de ella y descifrar datos cuando es entregado a aplicaciones 3 ª parte.

Un enfoque con mayor complejidad sería utilizar DRM (http://developer.android.com/reference/android/drm/package-summary.html) en el caso de aplicaciones 3 ª parte apoyan.

0

No hay nada seguro acerca de poner cualquier tipo de datos en un dispositivo Android. Deben ser dispositivos abiertos. Si está buscando proteger sus datos de nuevo usuarios rooteados, entonces tendría que usar una forma de encriptación. Y dependiendo de la sensibilidad del artículo, es posible que ni siquiera funcione (a menos que utilice un cifrado real de gama alta que agota el rendimiento). No confíe en Android con información confidencial es lo único que puedo decir.

3

Mi requisito particular es proteger archivos de dispositivos arraigados

Por definición, esto es imposible.

En primer lugar, cualquier persona que tenga un dispositivo rooteado tiene acceso a cada archivo, en cualquier lugar del dispositivo.

En segundo lugar, la codificación sólo ayuda a que el usuario proteger sus datos de terceros. Usted, por otro lado, intenta atacar al usuario impidiéndole acceder a sus datos. La única manera en que puede intentar hacerlo a través del cifrado es que sea el único con la clave de descifrado, y dado que la clave de descifrado debe estar en el dispositivo para que el dispositivo pueda descifrar el archivo, cualquier usuario que desee para revolver su aplicación, encontrar la clave y descifrar los archivos. La noción de encriptar archivos de esta manera se llama DRM, y hay dos tipos de DRM: los que se han descifrado y los que nadie se ha molestado en intentar descifrar todavía.

Si no desea que el usuario acceda a estos datos, no lo coloque en su dispositivo.

+0

Doh, Mr CommonsWare tiene razón, puede hacerlo más difícil pero no imposible. Entonces sí, No es la respuesta correcta. – Emile

Cuestiones relacionadas