La protection des données est vraiment simple !
Dans son application la plus basique (et c'est justement pour une telle application que le DPS a été principalement pensé), il suffit juste de trois étapes :
Créez un protecteur de données à partir d'un fournisseur de protection des données.
Appelez la méthode
Protect
avec les données à protéger.Appelez la méthode
Unprotect
avec les données à reconvertir en texte clair.
Et voilà !
L'exemple suivant est tiré de la documentation de Microsoft sur le DPS et illustre bien la simplicité de sa conception. Essayez de repérer les trois étapes que nous venons d'évoquer. Pour plus de clarté, la sortie de ce code est présentée à la fin de l'extrait.
using System;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.Extensions.DependencyInjection;
public class Programme
{
public static void Main(string[] args)
{
// Ajouter des services de protection des données
var collectionServices = new ServiceCollection();
collectionServices.AddDataProtection();
var services = collectionServices.BuildServiceProvider();
// Créer une instance de MaClasse à l'aide du fournisseur de services
var instance = ActivatorUtilities.CreateInstance<MaClasse>(services);
instance.RunSample();
}
public class MaClasse
{
IDataProtector _protecteur;
// Le paramètre « fournisseur » provient de l'injection de dépendance
public MaClasse(IDataProtectionProvider fournisseur)
{
_protecteur = fournisseur.CreateProtector("Contoso.MaClasse.v1");
}
public void VoirExemple()
{
Console.Write("Saisissez des données : ");
string entree = Console.ReadLine();
// Protéger les données utiles
string donneeUtileProtegee = _protecteur.Protect(saisie);
Console.WriteLine($"Protect a retourné : {donneeUtileProtegee}");
// Ôter la protection des données utiles
string donneeUtileNonProtegee = _protector.Unprotect(donneeUtileProtegee);
Console.WriteLine($"Unprotect a retourné : {donneeUtileNonProtegee}");
}
}
}
/*
* EXEMPLE DE SORTIE
*
* Saisissez des données : Hello world!
* Protect a retourné : CfDJ8ICcgQwZZhlAlTZT...OdfH66i1PnGmpCR5e441xQ
* Unprotect a retourné : Hello world!
*/
En résumé
Dans ce chapitre, nous avons vu à quel point il est facile d'implémenter la fonctionnalité de protection des données du système DPS de .NET Core. Nous avons découvert les trois principales étapes de protection des données, à savoir :
Créer un protecteur de données à partir d'un fournisseur.
Appeler la méthode
Protect
avec les données à protéger.Appeler la méthode
Unprotect
pour restaurer les données.
Dans le chapitre suivant, vous allez découvrir les protocoles SSL et HTTPS et vous verrez comment les utiliser pour renforcer encore davantage la sécurité de vos applications.