Je veux créer une bibliothèque statique qui effectuera certaines opérations sensibles à la sécurité. Il est important pour moi que les autres applications qui utilisent ma bibliothèque statique ne puissent pas accéder aux données de la bibliothèque statique.Bac à sable séparé pour la bibliothèque statique ios cacao touch
En fait, il est important que les données que je sauvegarde sur le disque et aussi dans la mémoire au moment de l'exécution ne soient pas accessibles via l'application hôte. Donc, mes questions sont que comment puis-je fournir un sandbox séparé pour la bibliothèque statique afin que l'application hôte ne peut pas accéder à ces informations.
Je sais que certaines bibliothèques sensibles à la sécurité ont des fichiers .a
et je me demande comment elles assurent la sécurité de leur application. Voici un lien vers paypal
iOS SDK:
https://github.com/paypal/PayPal-iOS-SDK
Mise à jour
Selon lien ci-dessous de développeur, nous pouvons utiliser la touche-boxing sable au fichier droit pour permettre la boxe-sable. Il est dit que les applications iOS sont en sandbox par défaut. Mais qu'en est-il des bibliothèques statiques iOS? Soit ils sont en boîte de sable aussi? Si non, comment pouvons-nous le bac à sable?
Mise à jour
Dans OS Android lorsque vous développez une bibliothèque de projet, vous pouvez définir une balise dans le manifest
de ce projet pour forcer Android OS pour exécuter les codes de la bibliothèque dans le processus séparé (D'ailleurs, le processus hôte ne peut pas accéder à la mémoire d'exécution du processus de bibliothèque). Donc je pense que nous devrions avoir une option équivalente pour ce comportement sur iOS aussi.
Mise à jour
S'il vous plaît noter que nous voulons protéger les données agains l'application hôte, même lors de l'exécution. L'un des gros problèmes concerne l'accès aux données des éléments de l'interface via la réflexion. supposons que quelqu'un entre ses données de cartes dans Paypal SDK et l'hôte peut accéder aux données saisies par réflexion. Ensuite, les développeurs de l'application hôte peuvent accéder à toutes les informations de la carte et à ses données d'authentification et les utiliser pour leurs usages.
L'Enclave de sécurité iOS serait-elle utile? [article] (https://blog.trailofbits.com/2016/06/28/start-using-the-secure-enclave-crypto-api/), [guide] (https://www.apple.com/ business/docs/iOS_Security_Guide.pdf) –
Je ne comprends pas votre commentaire, pouvez-vous préciser plus? –
L'Enclave de sécurité iOS peut générer une paire de clés sécurisée pour vous, dont la partie privée ne peut jamais quitter l'Enclave de sécurité, mais comme je pense à travers cela, il n'est pas clair que cela aiderait votre situation. Vous pouvez envelopper votre bibliothèque dans une application distincte, qui serait bien sûr en bac à sable, et utiliser un [schéma d'URL personnalisé] (https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter- AppCommunication/Inter-AppCommunication.html # // apple_ref/doc/uid/TP40007072-CH6-SW1) pour la communication entre votre application et l'application de la bibliothèque. –