Dans le monde du développement mobile, la sécurité des données est une préoccupation majeure. MAUI (Multi-platform App UI), le successeur de Xamarin.Forms, offre une solution robuste pour le stockage sécurisé des données sur les appareils mobiles. Dans cet article, nous explorerons comment utiliser MAUI Secure Storage pour stocker des données de manière sécurisée sur différents systèmes d'exploitation mobiles.
Qu'est-ce que MAUI Secure Storage ?
Dans l'article précédent je vous ai présenté le stockage des préférences utilisateur. Mais ce dernier n'est pas sécurisé, ce qui convient le plus souvent. Mais parfois il faut plus de sécurité. MAUI Secure Storage est une implémentation qui permet de stocker des données sous forme de paires clé-valeur. Ces données sont chiffrées à l'aide d'une clé unique générée à partir de l'identifiant de l'appareil. Le stockage sécurisé est conçu pour stocker de petites quantités de texte et est idéal pour sauvegarder des données sensibles telles que des clés API, des jetons d'authentification, etc.
Bonnes pratiques et limitations
- Il n'y a pas de limitation de stockage en termes de taille, mais il est recommandé de ne pas stocker de grandes quantités de texte.
- Les données sont supprimées lorsque l'application est désinstallée.
- Il est possible de désactiver la sauvegarde automatique des données pour l'ensemble de l'application.
Ce qu'il ne faut pas faire
- Ne stockez pas de données qui devraient être chiffrées et cachées de l'utilisateur, comme les clés privées du serveur.
- Évitez de stocker plus de 1,42 Mo de données, car cela pourrait entraîner une exception de mémoire.
Comment démarrer avec MAUI Secure Storage
Pour utiliser MAUI Secure Storage, vous devez ajouter l'espace de noms Microsoft.Maui.Storage à votre projet.
Exemple de code
Pour sauvegarder une donnée :
await SecureStorage.SetAsync("UserPassword", "MSMAUI@%24");
Pour récupérer une donnée :
string securePassword = await SecureStorage.GetAsync("UserPassword");
Pour supprimer une donnée :
bool isRemoved = SecureStorage.Remove("UserPassword");
Spécificités par plateforme
- Android : Utilise EncryptedSharedPreference avec un chiffrement AES-256 GCM.
- iOS : Utilise Key Chain pour stocker les valeurs de manière sécurisée.
- Windows : Utilise DataProtectionProvider pour chiffrer les valeurs.
Configuration spécifique pour le simulateur iOS
Pour le développement sur le simulateur iOS, il est nécessaire de modifier la configuration dans entitlement.plist sinon cela ne fonctionne pas (le détail de la configuration d'iOS dépasse le cadre de cet article mais si vous développez pour iOS vous saurez trouver cette information j'en suis certain).
Conclusion
MAUI Secure Storage offre une solution robuste pour le stockage sécurisé de petites quantités de données sensibles. Cependant, il est crucial de suivre les meilleures pratiques et d'être conscient des limitations pour garantir la sécurité des données.
Stay Tuned !
Le Guide Complet de.NET MAUI ! Lien direct Amazon : https://amzn.eu/d/95wBULD
Près de 500 pages dédiées à l'univers .NET MAUI !
Existe aussi en version Kindle à prix réduit !