Comment fonctionne la protection des données iOS?
J'ai une petite question:
J'ai téléchargé une application iOS qui utilise le NSFileProtectionComplete classe pour protéger un fichier sqlite qui contient des informations sensibles.
Selon l'iOS de sécurité de la documentation (http://images.apple.com/ipad/business/docs/iOS_Security_May12.pdf), quand un appareil (iPhone/iPad) est couplé avec le portable, l'ordinateur portable obtient le séquestre keybag à partir de l'appareil mobile . Le keybag contient l'ensemble de la classe les clés pour décrypter les informations sur le périphérique.
Cependant, j'ai remarqué que quand je le coupler l'appareil avec l'ordinateur portable et l'utiliser iExplorer pour parcourir le système de fichiers, le fichier sqlite est disponible uniquement lorsque l'appareil est déverrouillé. Lorsque le téléphone est verrouillé (paires) le fichier n'est pas lisible. Les fichiers qui ne sont pas à l'aide de NSFileProtectionComplete peut être affiché lorsque l'appareil est verrouillé.
Si le séquestre keybag contient l'ensemble de la classe des clés pour décrypter l'information, pourquoi dois-je déverrouiller l'appareil pour y accéder par le biais de iExplorer?
Je suis sous iOS 6.0 sur un iPad3 et utilisé le ios-dataprotection outil (https://github.com/ciso/ios-dataprotection) afin de déterminer les données de protection classe de protection utilisé par les fichiers.
Application iOS: AccountVault
Fichier: PointMinder.sqlite
Toute aide sera appréciée.
Grâce.
source d'informationauteur Sec
Vous devez vous connecter pour publier un commentaire.
À partir de la documentation du fichier que vous avez lié:
Si l'appareil doit être débloqué si vous souhaitez accéder à des fichiers. C'est la manière dont Apple a fait.
Edit: Trouvé dans "le Piratage et la Sécurisation des Applications iOS":
Donc des clés pour que les fichiers sont transférés, mais sont cryptées. Lorsque vous entrez votre code d'accès, OS décrypter cette clé, et il peut alors être utilisée pour déchiffrer les fichiers protégés avec elle.
Cela fonctionne pour moi, pour les bases de données SQLite dans mon app seulement, pas pour mes autres ressources que j'espérais. MAIS, j'ai eu les mêmes problèmes tout en étant capable d'accéder aux bases de données après le verrouillage de l'appareil et une attente de plusieurs minutes avec iExplore toujours ouvert et que l'appareil est toujours connecté. Si je déconnecte l'iPad et de connecter le droit de retour, iExplore a forcé à actualiser je crois, et puis je ne pouvais PAS accéder aux bases de données. Si vous ne savez pas si il a juste le vieux 'chiffré' données de base de données dans la mémoire ou quoi.