Je souhaite stocker des données dans mon application iPhone au niveau local; dans ce cas, les données seraient un score élevé dans un jeu. Je veux stocker le meilleur score dans la liste des propriétés de l'application, mais j'ai un problème. Est-ce qu'un appareil jailbreaké pourrait pirater la liste des propriétés et changer le meilleur score? Je ne veux pas que les gens changent leur meilleur score et que ce score soit synchronisé avec Game Center. Merci d'avance!Stocker des données en toute sécurité sur iOS
Répondre
Oui, puisqu'un jailbreak donne accès au système de fichiers, l'utilisateur peut facilement changer n'importe quoi. Une façon de résoudre ce problème est de crypter la partition, en utilisant quelque chose comme AES
, ou simplement de sécuriser les données avec une somme de contrôle.
Il y a un bel outil qui stocke de manière sécurisée vos données, Secure-NSUserDefaults, par Matthias Plappert, une bibliothèque qui enregistre les données à l'intérieur NSUserDefaults
(je suppose qu'il devrait être autorisé à y enregistrer un score élevé) interdisant à l'utilisateur de le modifier.
Il ne crypte pas les données, cependant il devrait suffire pour un score élevé.
À titre d'exemple (du README du projet, avec quelques modifications pour répondre aux questions):
// Configuring user defaults. It is recommended that you do this
// immediately after the app did launch.
[NSUserDefaults setSecret:@"My Game Secret Key"];
// Write secure user defaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setSecureInteger:4000 forKey:@"HighScore"];
// Read secure user defaults
BOOL valid = NO;
BOOL registered = [defaults secureBoolForKey:@"HighScore" valid:&valid];
if (!valid) {
// the property has been modified, handle this situation
} else {
// Valid property, do whatever you need to do
}
Juste pour dire. Vous pouvez en trouver plus sur la page du projet.
- 1. Stocker des données en toute sécurité en javascript (autosuggestions)
- 2. La meilleure façon de stocker des données en toute sécurité?
- 3. Comment stocker en toute sécurité des données dans iOS avec React Native?
- 4. Comment télécharger et stocker en toute sécurité des documents utilisateur?
- 5. comment stocker les données de connexion mysql en toute sécurité?
- 6. Où devrais-je persister et filer en toute sécurité stocker des valeurs uniques dans iOS?
- 7. Puis-je stocker en toute sécurité UInt32 sur NSUInteger?
- 8. Transmettre et stocker des mots de passe en toute sécurité
- 9. Pratique correcte pour stocker de grandes images en toute sécurité
- 10. Comment stocker des données de l'application iOS dans une base de données à distance en toute sécurité et Apple friendly?
- 11. Comment stocker en toute sécurité des informations d'identification de base de données pour une application Windows?
- 12. jqGrid avec un datpicker ne peut pas stocker des données en toute sécurité
- 13. Comment stocker les identifiants/clés d'application en toute sécurité?
- 14. Comment puis-je stocker en toute sécurité une clé secrète?
- 15. Puis-je stocker en toute sécurité UInt32 à NSInteger?
- 16. Comment demander des données en toute sécurité via Google OAuth?
- 17. Endianness copie en toute sécurité des données binaires
- 18. Transfert de données de la base de données MySQL vers un périphérique iOS en toute sécurité
- 19. Comment signer des données en toute sécurité avec un horodatage?
- 20. Comment stocker des mots de passe en toute sécurité sur un service Web tiers dans ma base de données?
- 21. Simulateur iOS: quels dossiers peuvent être supprimés en toute sécurité?
- 22. En écho en toute sécurité aux données MIDI en C#
- 23. Comment stocker en toute sécurité des informations d'enregistrement/de connexion comme un mot de passe?
- 24. CQRS: Stocker des événements et les publier - comment le faire en toute sécurité?
- 25. envoyer des données d'iphone dans la base de données sur le réseau en toute sécurité
- 26. Conserver en toute sécurité les codes d'affiliation des utilisateurs
- 27. Toute façon de stocker un mot de passe en toute sécurité dans une application
- 28. manipuler en toute sécurité des images "hotlinked" distantes
- 29. Comment faire en toute sécurité
- 30. Comment stocker en toute sécurité des informations d'identification par session dans Flask
En fin de compte il n'y a aucun moyen sécurisé de stocker des données sur un téléphone, sauf si vous avez besoin d'un mot de passe de l'utilisateur quand il ouvre l'application. Et bien sûr, s'il connaît le mot de passe, il peut obtenir des données, même si d'autres ne le peuvent pas. –