nous voulons utiliser des certificats sur l'iPhone pour s'authentifier pour MS Exchange Sync. Nous ne savons pas comment le concept de sécurité est mis en œuvre pour protéger ces certificats.
par exemple. est-il possible d'obtenir un accès "complet" au trousseau sur l'iPhone si aucun verrouillage de l'écran n'est activé? (ou avec un iPhone jailbreaké).
Quelqu'un at-il des liens à ce sujet?
Étude de Fraunhofer sur la sécurité des trousseaux iOS:
D'après ce que je peux dire, il existe deux niveaux de cryptage que le trousseau iOS utilise. Le premier niveau utilise le mot de passe de l'écran de verrouillage comme clé de cryptage. Le deuxième niveau utilise une clé générée par et stockée sur l'appareil.
Les chercheurs de Fraunhofer ont découvert comment contourner le deuxième niveau. Il s'agit du niveau "le plus facile" à contourner, car la clé de chiffrement est stockée sur l'appareil. Ainsi, sur iOS4, leur méthode ne fonctionne qu'avec les entrées de trousseau qui n'utilisent PAS kSecAttrAccessibleWhenUnlocked ou kSecAttrAccessibleWhenUnlockedThisDeviceOnly, car ces entrées résident en mémoire avec le premier niveau déchiffré - même lorsque le téléphone est verrouillé.
≈50 ms par essai de mot de passe; → ≈20 essais par seconde; → ≈1,7 ans pour un changement de 50% de deviner le mot de passe correct pour un code alphanumérique à 6 chiffres avec la base 36. Le code simple standard de 4 chiffres serait forcé brutalement en moins de 9 minutes. Basé sur l'hypothèse que le compteur des mauvais essais dans iOS peut être contourné, car il n'est pas basé sur le matériel
Apple Inc. WWDC 2010, Core OS, session 209 "Sécurisation des données d'application", diapositive 24
Conclusion: si vous devez stocker des données sensibles, utilisez mieux votre propre cryptage. Et ne stockez pas la clé sur l'appareil.
Edit: Il existe de nombreux articles de presse qui citent l'étude Fraunhofer et rassurent leurs lecteurs de ne pas s'inquiéter à moins que leurs appareils ne soient volés, car cette attaque ne peut se faire qu'avec un accès physique à l'appareil.
Je suis en quelque sorte douteux. Le fait que les chercheurs aient fait leurs tests avec un accès physique au téléphone semble avoir simplement été un moyen de simplifier le problème, plutôt qu'une limitation. Voici leur description de ce qu'ils ont fait pour décrypter les entrées du trousseau:
Après avoir utilisé un outil de jailbreak, pour avoir accès à un shell de commande, nous exécutons un petit script pour accéder et décrypter les mots de passe trouvés dans le trousseau. Le déchiffrement est effectué à l'aide des fonctions fournies par le système d'exploitation lui-même.
Comme le sait quiconque a utilisé jailbreak.me, le jailbreak ne nécessite pas d'accès physique à l'appareil. Théoriquement, il devrait être trivial de modifier le code jailbreak.me et de le faire automatiser les éléments suivants:
Encore une fois, soyez prudent sur ce que vous mettez dans le trousseau.
Normalement, le trousseau serait le moyen recommandé de stocker un tel certificat. Cependant, il a été découvert que le jailbreaking peut être utilisé pour contourner la sécurité du trousseau ( article ).
Franhofer a fait une étude sur la sécurité du porte-clés iPhone:
http://www.sit.fraunhofer.de/Images/sc_iPhone%20Passwords_tcm501-80443.pdf
Je peux répondre à une partie de votre question, mais comme l'autre partie est encore inconnue, je vote la question car je suis également impatient de connaître la réponse.
La partie à laquelle je peux répondre est: "une application peut-elle obtenir un accès complet au trousseau si aucun verrouillage d'écran n'est activé". Non, chaque application possède sa propre zone de trousseau sur l'iphone, ce qui signifie qu'une application ne peut accéder qu'à ses propres secrets. Ces secrets ne sont pas verrouillés pour l'application elle-même, il n'y a donc aucun moyen de masquer les entrées de trousseau de l'application elle-même. Donc, pour résumer: une application peut lire ses propres entrées, et aucune autre entrée.
Ce qui m'intéresse cependant, c'est ce qui se passe sur les appareils jailbreakés. Les trousseaux de toutes les applications sont-ils exposés une fois qu'un appareil a un jailbreak?