2012-09-10 34 views
5

Tengo una aplicación iOS en la que descargo archivos en el almacenamiento local. He hecho lo siguiente para mantener estos archivos locales aseguran: - los almacena fuera de la carpeta de documentos (yo uso la carpeta de biblioteca) - Uso de cifrado de archivos completa¿Cómo puedo proteger mi aplicación iOS contra herramientas como iFunbox

Pero hoy me encontré con iFunbox. ¡Esta es una herramienta que le permite navegar por el sistema de archivos de su dispositivo iOS sin jailbreak! Lo que noté es que si el dispositivo está desbloqueado, puedo buscar todos los archivos en la caja de arena. Afortunadamente, cuando el dispositivo está bloqueado, los archivos se vuelven inaccesibles.

¿Qué me preguntaba si hay algo que pueda hacer para proteger aún más estos archivos cuando el dispositivo está desbloqueado? Entonces, ¿cómo puedo proteger mis archivos de herramientas como iFunbox?

+1

Si están encriptados, ¿qué importa si se acceda a ellos? El almacenamiento fuera de/Documents es motivo para ser rechazado por Apple también. – Jessedc

+0

Cuando el dispositivo está desbloqueado, se elimina el cifrado y los archivos son completamente accesibles para iFunbox. – Deddiekoel

+0

Aún puede usar el cifrado de iOs para encriptar los archivos encriptados por usted, esa es la idea principal. –

Respuesta

5

Estas utilidades de exploración del sistema de archivos solo funcionarán cuando su dispositivo esté desbloqueado, lo que puede hacer para mejorar la seguridad es requerir la protección de contraseña para los dispositivos que ejecutan la aplicación. Eso podría hacerse para aplicaciones corporativas internas donde los datos son extremadamente valiosos, creo que también debe ser aprobado por Apple.

Para encontrar si el código de acceso se establece va a comprobar los atributos de protección de un archivo ficticio creado por usted en lugar permitido: https://stackoverflow.com/a/6192536/792677

Entonces, si la clave no está configurada puede mostrar la notificación que la aplicación requiere eso. Estoy seguro de que podría configurar el dispositivo para que requiera ingresar el código de acceso mediante API privada con la ayuda de los ingenieros de Apple, pero de todos modos sería información privada, ¿no?

El consejo general será utilizar un cifrado fuerte y realizar la comprobación del código que muestre alguna alerta de seguridad que notifique al usuario que su información está en peligro si no está configurada.

+0

Mi aplicación es interna y el código de acceso se requiere a través de un perfil. Sin embargo, cuando el código de acceso está "roto" todo se vuelve accesible muy fácilmente, en mi opinión. Así que estoy buscando una mejor manera de proteger los datos. – Deddiekoel

+1

Eche un vistazo a CCCRypt http://developer.apple.com/library/ios/#DOCUMENTATION/System/Conceptual/ManPages_iPhoneOS/man3/CCCrypt.3cc.html y On-Disk Encryption http://developer.apple.com /library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html#//apple_ref/doc/uid/TP40007072-CH7-SW6 Y es posible que desee obtener más información acerca de Wipe remoto, no sé si eso ya es compatible con los dispositivos corporativos a los que le enviará la aplicación. –

+0

Sí, la eliminación remota está habilitada. Entonces, en caso de una violación conocida, deberíamos estar bien. Sin embargo, si el dispositivo se desconecta, esto tampoco funcionará. – Deddiekoel

1

No hay nada que pueda hacer para detener el acceso de aplicaciones como iFunBox. Están accediendo a cosas en el sistema de archivos iOS que no tiene nada que ver con su aplicación.

Si sus archivos están encriptados correctamente, eso es todo lo que puede hacer.

Fwiw que necesita para asegurarse de que está adherido a la Data Storage Guidelines cuando vaya a guardar documentos en lugares distintos a ~/Documentos, ~/Library/Caches y ~/tmp

+0

Por favor, cite la sección en los términos que especifica esto. Personalmente, sé que un buen número de aplicaciones almacenan documentos en otros lugares, incluidos Library y Caches. De hecho, Apple en realidad alienta esto en muchos casos. Por cierto

+0

Las líneas de guía de almacenamiento de datos indican dónde deberían ir las cosas. ~/La biblioteca no es uno de los lugares que estipulan. He actualizado la respuesta. – Jessedc

+0

OK, la respuesta editada coincide con mis expectativas (como si eso significara algo). –

0

segunda respuesta es almacenarlos en el nube.

  • iCloud
  • DropBox
  • Amazon S3
  • servicio remoto Inserte aquí.

Al no guardar los documentos en el dispositivo, usted resuelve su problema, sin embargo, puede ser menos seguro en la mente de algunas personas.

+0

Mi aplicación necesita funcionar sin conexión, es por eso que almaceno los documentos localmente ... Así que el almacenamiento en la nube no es una opción para mí. – Deddiekoel

+0

@Deddiekoel que no se especificó en la pregunta. – Jessedc

+0

Si bien no se dijo en la pregunta que los datos deberían almacenarse fuera de línea, ¿no es obvio que tales datos críticos nunca podrían enviarse a servidores de terceros sin toneladas de preparaciones o aprobaciones legales y técnicas? –

Cuestiones relacionadas